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

已锁定

冯学卫

官方工程师 西门子1847工业学习平台

  • 帖子

    176
  • 精华

    42
  • 被关注

    256

论坛等级:侠圣

注册时间:2007-08-03

普通 普通 如何晋级?

发布于 2023-11-19 11:25:23

3楼

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设备的诊断。



------------来自西门子工程师

精华帖版主置评:描述得够详细的。对认知底层操作很有用。 -yming

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

Profinet技术开发专区

共有257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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