S7-1200 plc 能够对有诊断能力的设备进行错误检测和报告。这些错误称之为诊断错误。系统能够检测以下诊断错误:
- 无用户电源(信号模块/信号模板)
- 超过高限位 (模拟量输入或输出)
- 超过低限位 (模拟量输入或输出)
- 断线(电流输出)
- 短路(电压输出)
所有诊断错误将会触发"Diagnostic error interrupt"(OB82)。"Diagnostic error interrupt"(OB82)包含启动信息,可帮助用户定义错误发生的情况:
- 哪个设备与通道发生错误
- 当前事件是到来事件还是离去事件
用户可以在 OB82 中编写指令用于确定这些信息并可采取相应的措施。
使用 "Diagnostic error interrupt"组织块(OB82)评估诊断错误事件
当下列条件满足时,几个不同诊断错误中的任何一个产生或离去都将触发诊断错误事件:
- OB82 已被添加到 S7-1200 PLC 中。
- 模块已使能诊断错误事件。
假如 OB82 不存在,CPU 将忽略错误。 假如有诊断能力的模块发现错误时,"Diagnostic error interrupt" OB82 将会中断循环程序的正常执行。
说明 当创建一个新的项目时将不会自动添加 "Diagnostic error interrupt"(OB82)。
序号 |
使用“诊断错误中断”组织块(OB82)评估诊断错误事件 |
1 |
添加使用"Diagnostic error interrupt"组织块(OB82)评估诊断错误事件
- 浏览项目树,找到“添加新块” 。
- 在“添加新块”窗口,点击“组织块”按钮。
- 在列表中选择“诊断错误中断”。
- 点击“OK”按钮。
说明
程序中只能有一个“诊断错误中断”组织块。
图 01
|
2 |
从"Diagnostic error interrupt"OB82 中读出启动信息
- 双击项目树中的“诊断错误中断”OB82。
- 浏览指令面板。
- 拖拽“MOVE”指令到 OB82 中的网络。
- 将“IOstate”变量中的值传送到全局变量(例如 DB1.w_IOstate)。
- 按照此方式编写其它要监控的变量,如下图所示。
图 02
|
3 |
评估诊"Diagnostic error interrupt"OB82 的启动信息
“诊断错误中断”OB82 有如下错误信息:
"IOstate" (WORD) "IOstate"包含带有诊断能力的模板的 I/O 状态。 详细信息见表 3。
"laddr" (HW-ANY) 硬件识别号。 硬件识别号用于识别模块或模块的功能单元(例如输出和高速计数器)。 硬件识别号由数字组成,在系统的诊断报警中会显示此数字用于定位出错的模块。可在 "Device configuration" 中的 "Properties" 选项中找到功能单元的HW-ID 。浏览 "IO addresses/HW identifier" 项目的导航区域(如下图)
"Channel" (UINT) "Channel" 包含了信号模块/信号模板中被使用的输出通道号。
"multierror" (BOOL) The "multierror" 位指示了不止一次发生过错误。
图 03
|
表 01
使能并理解不同的诊断错误事件
操作系统会监视带有诊断能力的模板是否发生上面提及的诊断错误。诊断错误事件将会被闪烁的红色LED灯指示。下面的地表格中列出了不同诊断错误事件的额外信息,如何使能它们,已经LED灯是如何指示的。
序号 |
理解不同的诊断错误事件 |
1 |
"No encoder or load power" “无传感器或负载电压。”
如下的 S7-1200 PLC LED 灯将会闪烁(闪烁的 LED 灯颜色:红色):
- CPU的“ERROR”灯。
- 所有信号模块/信号模板的 LED 灯
"Enable power diagnostics"
“启用电源诊断”
- 浏览"项目树"中的"设备组态"。
- 点击"设备组态"窗口中的信号模块。
- 选择"属性"标签,点击“常规”目录下的“AI4/AO2”条目。
- 点击选中“启用电源诊断”。
图 04
|
2 |
"超过上限"
超过模拟量输入/输出的最高限制(输出值大于 32511)。
如下的 S7-1200 PLC LED 灯会闪烁(闪烁的LED灯颜色:红色):
- CPU的“ERROR”灯。
- 信号模块的“DIAG”灯。
- 相关的通道指示灯。
“启用溢出诊断”
- 浏览"项目树" ,找到"设备组态" 。
- 点击"设备组图"窗口中的信号模块。
- 选择"属性"标签,点击“常规”目录下的“AI4/AO2”条目。
- 选择需要监控的通道。
- 点击选中"启用溢出诊断"。
图 05
|
3 |
"超过下限" 超过模拟量输入/输出的下限(电流输出值小于“0”,电压值小于“-32512”)。
如下的 S7-1200 PLC LED 灯将会闪烁(闪烁的 LED 灯颜色:红色):
- CPU的"ERROR"灯。
- 信号模块的"DIAG"灯。
- 相关的通道指示灯。
“启用下溢诊断”
- 浏览"项目树" ,找到"设备组态" 。
- 点击"设备组态"窗口中的信号模块。
- 选择"属性"标签,点击“常规”目录下的“AI4/AO2”条目。
- 选择需要监控的通道。
- 点击选中"启用下溢诊断"。
请查看上面的图以获得详细信息。 |
4 |
"Wire break" 模拟量电流输出断线。
如下的 S7-1200 PLC LED 灯将会闪烁(闪烁的 LED 灯颜色:红色):
- CPU 的 "ERROR" 灯。
- 信号模块的 "DIAG" 灯。
- 相关的通道指示灯。
“启用断线诊断”
- 浏览 "项目树" ,找到 "设备组态"。
- 点击 "设备组态" 窗口中的信号模块。
- 选择"属性"标签,点击“常规”目录下的“AI4/AO2”条目。
- 选择需要监控的通道。
- 选择模拟量输出类型为 "电流""。
- 点击选中 "启用断线诊断"。
图 06
|
5 |
"Short circuit" 模拟量电压输出短路。
如下的 S7-1200 PLC LED 灯将会闪烁(闪烁的LED灯颜色:红色):
- CPU 的"ERROR"灯。
- 信号模块的"DIAG"灯。
- 相关的通道指示灯。
“启用短路诊断”
- 浏览 "项目树" ,找到 "设备组态"。
- 点击 "设备组态" 窗口中的信号模块。
- 选择"属性"标签,点击“常规”目录下的“AI4/AO2”条目。
- 选择需要监控的通道。
- 选择模拟量输出类型为 "电压""。
- 点击选中 "启用短路诊断" 。
图 07
|
表 02
使用 STEP 7 Basic 在线诊断。
当使用 STEP 7 Basic 在线连接 S7-1200 PLC 时,可以使用"Online & diagnostics"功能:
- 在线连接 S7-1200 PLC。
- 浏览"项目树"找到"在线和诊断"。
- 浏览"在线访问" 窗口的导航区域找到"诊断缓冲区"。
- 从 "事件"列表中选择一个诊断错误事件。
- 在 "事件" 列表下面,显示有所选事件的详细信息,在这里可以看到硬件标识(HW-ID),通道号和事件类型。
说明 "Incoming event" 表明一个事件的开始。 "Outgoing event" 表明一个事件的结束。
图 08
"IOstate" tag 如下的表格中显示了 "IOstate" 变量可能的 I/O 的状态。
IO state |
描述 |
Bit 0 |
组态正确:
|
Bit 4 |
错误:
- 1, 存在一个错误(例如断线)
- 0, 错误不再存在
|
Bit 5 |
组态不正确:
|
Bit 6 |
I/O无法被访问:
在这种情况下, "laddr"变量包含了访问错误 I/O 的硬件识别号
|
表 03
创建环境:
该文档中的截屏来自 STEP 7 Basic V11 。
需求:
- S7-1200 PLC
- 以太网电缆
- PG / PC
- STEP 7 (TIA Portal)
- 带诊断能力的信号模块/信号模板
|