n
说明
在本文档中,描述在 CPU 的用户程序中,如何使用 diagnostics-compatible 模块来判断诊断状态的改变?若已经使能诊断报警,如果 diagnostics-compatible 模块检测到诊断信息变化,就可以发送一个诊断报警请求给CPU。n
- 一个故障或者一个组件必须被维修或两者都被维修(事件进入)n
- 不再维修任何错误或者组件(事件离去)
CPU 的操作系统将调用诊断 OB (OB82)。如果一个诊断报警被触发,diagnostics-compatible 这个故障模块自动地将 4 个字节的诊断数据和它的起始地址放到诊断 OB (OB82)的开始信息和诊断缓冲区里。通过这种方法,就可以知道是故障什么时候,在哪个模块发生的。通过在诊断功能块 OB 82 里编写适当的程序来评估 diagnostics-compatible 故障模块的其他诊断数据 (故障发生在哪个通道和故障的类型)。使用 “RDSYSST” 指令读出模块诊断数据和 “WR_USMSG” 指令将这些数据写入诊断缓冲区。n
注意
在模块的技术参数里包含以下信息:这个模块是否支持诊断功能,诊断信息能否被读出。n例如在下面的文档描述了,一个 S7-300 CPU 的用户程序中,如何读出并进一步处理一个数字输入模块的诊断数据,从而来检测一个数字输入通道的断线故障。n
NET_S7-300_S7-400_DI_DO_Drahtbruch_en.pdf ( 2852 KB ) n
下载
下载文件中包含 "DIAG_OB82.zip" 项目。
复制 "DIAG_OB82.zip" 文件到一个空文件夹并且双击打开该文件。使用 STEP 7 打开并处理这个项目数据。n
DIAG_OB82.zip ( 6963 KB ) n
更多信息
关于 STEP 7 Professional V13 (TIA Portal) 的更多信息请参考手册其文档编号:89515142.n
关于 S7-300 的数字量模块的更多信息请参考手册其文档编号:8859629.n
创建环境
此常问问题中的图片和下载文件均是在 STEP 7 Professional V13 (TIA Portal) 环境下创建的。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc325474.html