技术论坛

作者 主题
手机用户20231108871604
新手

经验值: 15
发帖数: 1
精华帖: 0
楼主    2023-11-18 23:15:29
主题:在博图上实现Profinet设备诊断,是博图有按键主动的获取诊断,还是有诊断告警发生,主动上报?

在博图上实现Profinet设备诊断,是主动的获取诊断,还是有诊断告警发生,主动上报?

冯学卫
侠圣

经验值: 4648
发帖数: 180
精华帖: 42
3楼    2023-11-19 11:25:23
主题:回复:在博图上实现Profinet设备诊断,是博图有按键主动的获取诊断,还是有诊断告警发生,主动上报?

1、PROFINET的诊断概念描述了I/O模块到单一模块/子模块的“映射”,进而根据映射关系生成诊断缓冲区相应的条目。PROFINET根据诊断条目生成相应的报警,诊断buffer表示现场设备的连接I/O的映像。


2、报警来自连接到现场设备的过程(过程报警)或现场设备本身(诊断报警)。

过程报警:如果消息来自连接的进程,例如超过温度限制,则必须使用进程警报。在这种情况下,设备仍然可以正常工作。数据不会本地保存在子模块中。 

诊断报警:如果错误或事件发生在设备内(或与连接的部件不配合,如断线),则必须使用诊断警报。诊断和处理报警的优先级可根据用户的不同而定。与过程报警不同,诊断报警被识别为incomming或outcoming。

通过报警ASE向更高级别控制器的高优先级传输。PROFINET将信号警报保存在诊断缓冲区中。根据警报类型,提供者可以指定如何显示传输警报的重要性(严重性),以便推断出适当的响应(例如,维护工作或备件订单)。该分类如下图所示。

3、报警信息有两种方式,一是通过Alarm ASE 传输高优先级的实时报警给IO控制器(PLC);二是通过非循环的诊断查询直接到报警数据库查询报警,如下图:

Alarm ASE:报警ASE提供一组服务来传送IO设备发出的警报。警报仅通过已建立的AR传输,其中子模块归IO控制器AR所有。报警从不发送给关联方(使用子模块作为共享输入)或通过AR状态备份(系统冗余、配置运行)。如果没有子模块的所有者,则不发送警报。IO设备维护两个报警队列,一个用于优先级报警“高”,另一个用于优先级报警“低”。IO控制器可通过报警CR请求IO设备只使用优先级报警低的报警队列。只要来自IO控制器的确认未完成,就阻止具有相同优先级的新警报。这将在IO设备的警报队列中对后续警报进行排队。

Acyclic read诊断查询:可以使用非循环服务(RecordDataRead)通过诊断数据记录查询诊断信息。只能读取整个子模块的诊断信息,显示所有通道的诊断信息。诊断查询适用于所有客户,如维护站、人机界面、PLC用户应用程序、系统诊断、独立工具、工程系统…

其实,你提到的博途上实现对Profinet设备诊断包括了上面这两种方式,一些信息是博途通过非循环服务直接读取IO设备模块中的诊断数据库,另一些诊断信息是来源于IO控制器通过Alarm CR的实时通道获取到的IO设备的诊断。



------------来自西门子工程师
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。