[西门子] S7-1200 外设故障检测方法

[复制链接]
查看135 | 回复0 | 2024-5-25 08:22:45 | 显示全部楼层 |阅读模式




目录⊙综述
⊙使用组织块OB82评估诊断错误事件
⊙使用STEP7 Basic在线诊断
(一)综述
S7-1200 PLC 能够对有诊断能力的设备进行错误检测和报告。这些错误称之为诊断错误。系统能够检测以下诊断错误:
  • 无用户电源(信号模块/信号模板)
  • 超过高限位 (模拟量输入或输出)
  • 超过低限位 (模拟量输入或输出)
  • 断线(电流输出)
  • 短路(电压输出)
【OB82】:Diagnostic error  interrupt
所有诊断错误将会触发OB82,OB82包含启动信息,可帮助用户定义错误发生的情况:
  • 哪个设备与通道发生错误
  • 当前事件是到来事件还是离去事件
用户可以在OB82中编写指令用于确定这些信息并可采取相应的措施
(二)使用OB82评估诊断错误事件
当下列条件满足时,几个不同诊断错误中的任何一个产生或离去都将触发诊断错误事件:
  • OB82 已被添加到 S7-1200 PLC中
  • 模块已使能诊断错误事件
假如OB82不存在,CPU将忽略错误,假如有诊断能力的模块发现错误时,OB82将会中断循环程序的正常执行,当创建一个新的项目时将不会自动添加OB82。


(1)使用OB82评估诊断错误事件步骤:


1)添加使用组织块OB82评估诊断错误事件
  • 浏览项目树,找到“添加新块”
  • 在“添加新块”窗口,点击“组织块”按钮
  • 在列表中选择“诊断错误中断”
  • 点击“OK”按钮
说明:程序中只能有一个“诊断错误中断”组织块

图一
2)从OB82中读出启动信息
  • 双击项目树中的“诊断错误中断”OB82
  • 浏览指令面板
  • 拖拽“MOVE”指令到 OB82 中的网络
  • 将“IOstate”变量中的值传送到全局变量(例如  DB1.w_IOstate)
  • 按照此方式编写其它要监控的变量,如下图所示

图二
3)评估诊OB82的启动信息
【OB82有如下错误信息:】
"IOstate"(WORD)
"IOstate"包含带有诊断能力的模板的I/O状态。 详细信息见表一
"laddr"(HW-ANY):硬件识别号
硬件识别号用于识别模块或模块的功能单元(例如输出和高速计数器), 硬件识别号由数字组成,在系统的诊断报警中会显示此数字用于定位出错的模块。可在 "Device configuration" 中的 "Properties"  选项中找到功能单元的HW-ID 。浏览 "IO addresses/HW identifier" 项目的导航区域(如图3)
"Channel"(UINT)
"Channel" 包含了信号模块/信号模板中被使用的输出通道号
"multierror"(BOOL)
The "multierror" 位指示了不止一次发生过错误

图三
(2)使能并理解不同的诊断错误事件
1)"No user  power"
电源供电不足或丢失
如下的 S7-1200PLC LED灯将会闪烁(闪烁的LED灯颜色:红色):
  • CPU的“ERROR”灯
  • 所有信号模块/信号模板的 LED 灯
"Enable power  diagnostics"
  • 浏览"Project  tree"中的"Device  configuration"
  • 点击"Device  configuration"窗口中的信号模块
  • 选择"Properties"并点击“AI4/AO2”
  • 点击选中“Enable power  diagnostics”

图四
2)"High limit  exceeded"
超过模拟量输入/输出的最高限制(输出值大于 +32511)
如下的 S7-1200 PLC LED 灯会闪烁(闪烁的LED灯颜色:红色):
  • CPU的“ERROR”灯
  • 信号模块的“DIAG”灯
  • 相关的通道指示灯
"Enable overflow  diagnostics"
  • 浏览"Project tree"  ,找到"Device configuration"
  • 点击"Device  configuration"窗口中的信号模块
  • 选择"Properties"并点击"AI4/AO2"
  • 选择需要监控的通道
  • 点击选中"Enable overflow  diagnostics"


图五
3)"Low limit  exceeded"
超过模拟量输入/输出的下限(电流输出值小于“0”,电压值小于“-32512”)。
如下的 S7-1200PLC LED灯将会闪烁(闪烁的LED灯颜色:红色):
  • CPU的"ERROR"灯
  • 信号模块的"DIAG"灯
  • 相关的通道指示灯
"Enable underflow  diagnostics"
  • 浏览"Project tree"  ,找到"Device configuration"
  • 点击"Device  configuration"窗口中的信号模块
  • 选择"Properties"并点击"AI4/AO2"
  • 选择需要监控的通道
  • 点击选中"Enable underflow  diagnostics"
请查看上面的图以获得详细信息

4)"Wire  break"
模拟量电流输出断线
如下的 S7-1200 PLC LED 灯将会闪烁(闪烁的 LED 灯颜色:红色):
  • CPU 的 "ERROR" 灯
  • 信号模块的 "DIAG" 灯
  • 相关的通道指示灯
"Enable wire break  diagnostics"
  • 浏览 "Project tree"  ,找到 "Device  configuration"
  • 点击 "Device configuration"  窗口中的信号模块
  • 选择 "Properties"  并点击 "AI4/AO2
  • 选择需要监控的通道
  • 选择模拟量输出类型为 "Current"Choose the "
  • 点击选中 "Enable wire break  diagnostics"


图六
5)"Short  circuit"
模拟量电压输出短路。
如下的 S7-1200 PLC LED 灯将会闪烁(闪烁的LED灯颜色:红色):
  • CPU 的"ERROR"灯
  • 信号模块的"DIAG"灯
  • 相关的通道指示灯
"Enable short circuit  diagnostics"
  • 浏览"Project tree"  ,找到"Device  configuration"
  • 点击"Device  configuration"窗口中的信号模块
  • 选择"Properties"并点击"AI4/AO2
  • 选择需要监控的通道
  • 选择模拟量输出类型为 "Voltage"
  • 点击选中 "Enable short circuit  diagnostics"

图七
(三)使用STEP7 Basic在线诊断
当使用 STEP 7 Basic在线连接S7-1200 PLC 时,可以使用"Online & diagnostics"功能:
  • 在线连接 S7-1200  PLC
  • 浏览"Project  tree"找到"Online &  diagnostics"
  • 浏览"Online Access"  窗口的导航区域找到"Diagnostics  buffer"
  • 从 "Events"列表中选择一个诊断错误事件
  • 在 "Events" 列表下面,显示有所选事件的详细信息,在这里可以看到 HW-ID,通道号和事件类型
说明:
"Incoming event" 表明一个事件的开始
"Outgoing event" 表明一个事件的结束

图八
"IOstate"tag
下表显示了  "IOstate" 变量可能的 I/O 的状态

表一


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则