说明
通过STEP7Basic的断线功能,您可以检测到模拟量电流输出的断线事件。您可以使用诊断中断组织块(OB82)评估断线事件。
1、S7-1200PLC中添加模拟量电流输出的信号模块并使能断线诊断
1.1S7-1200PLC添加信号模块
您可以在在S7-1200系统手册第二章“安装”找到如何安装信号模块或信号板的说明。

图.01
2.2在设备组态中添加信号模块
浏览硬件目录。在硬件组态中拖拽并释放设备到S7-1200机架上。
图.02
3.3配置模拟量输出通道,使能断线检测功能
在“项目树”中打开“设备组态”。
在“设备视图”中选择模拟量信号模块。
浏览模拟量信号模块的“属性”,“模拟量输出”“通道0”。
选择“电流”作为模拟量输出类型。
图.03
注意
替换值的范围是[032511]。对于20mA的电流输出,对应的值是27648。
2、使用“诊断中断”OB评估断线事件
当模块检测到错误时调用“诊断中断”OB。
如果有诊断功能的模块使能了诊断中断,当检测到错误时,“诊断中断”OB中断循环程序。
信号模块的诊断灯“DIAG”会闪烁,相关的通道将点亮。
2.1增加“诊断中断”组织块OB82
浏览项目树的“添加新块”条目。
选择“诊断中断”OB。
注意
在程序中只可以使用一个诊断中断OB。
图.04
2.2读取“诊断中断”OB启动信息
浏览指令窗格,选择“指令”“传送”。
拖拽传送指令到“诊断中断”OB网络中。
将“IOstate”标签移动到全局标签(例如“DB1:w_IOstate”)。
编写需要监控的其他标签,请参考图.05中的例子。
图.05
2.3评估“诊断中断”OB启动信息
“诊断中断”OB有如下启动信息:
“IOstate”(WORD)
“IOstate”包含有诊断功能模块的I/O状态。
“laddr”(HW-ANY)
这是硬件标识:
硬件标识(HW-ID)鉴别模块或者模块功能单元(例如输出和高速计数)。硬件标识由完整的数字组成并且由系统连同诊断报警一起报告,来定位故障模块或者功能单元。(更多细节请参考图.7)
通过浏览“项目树”中的“PLC变量”,您可以确定功能单元的硬件标识(HW-ID)。选择“PLC变量”窗口的“常量”标签。表格列“值”中列举了所有已使用的硬件标识(图.06)。
“Channel”(UINT)
“Channel”包含使用于信号模块的输出通道的数量。
“multierror”(BOOL)
“multierror”位表示超过一个错误发生。
图.06
STEP7Basic在线诊断
当使用STEP7Basic在线访问S7-1200PLC,可以使用诊断功能。
在线S7-1200PLC。PLC的弯曲信号表示诊断错误。(图.07,蓝色环)。
浏览“项目树”的“在线和诊断”。
浏览“在线访问”窗口的导航区域,进入“诊断缓冲区”。
在“事件”表里选择断线事件。
在“事件”表下,将显示选定事件的详细内容。您可以找到HW-ID,通道号,事件类型。
注意
“事件到来”表示事件的开始,在该例子中为断线。
“事件离开”表示事件的结束。
信号模块“DIAG”灯和相关通道的指示灯会闪烁。
图.07
“IOstate”标识
下面的表格显示“IOstate”标识可能的“I/O”状态。