FAQ-S7-1200如何对SM877-PNT做故障诊断_V1.0
发布时间:2021-12-17 17:22:48 来源:SM877-PNT耦合器若与西门子S7-1200/1500发生通讯故障时,可通过耦合器本体的指示灯直观的定位问题。指示灯说明如下:
当通讯发生异常时,还可以通过诊断指令来对故障进行准确定位。本FAQ使用S7-1200控制器作为Profinet主站,介绍如何通过诊断指令来获取耦合器的连接状态,从而获取SM877-PNT当前所接扩展模块的个数为例说明。
(本文对于控制器如何连接SM877-PNT不做介绍,使用详情请参考SM877-PNT产品使用手册)
定位发生故障的耦合器
具体定位到是哪个PN从站发生故障,使用DeviceStates 指令对分布式 IO 子站进行诊断;
1、在全局数据块中创建数据类型为 Array of BOOL 数组,共计1024个元素,以及添加一个返回值的变量(uint数据类型):
2、在OB1中调用DeviceStates指令,双击LADDR引脚,点击小书本,选择需要诊断的PN IO系统硬件标识符:
3、将MODE设置为2,STATE填写上述定义的全局数据块数组。
DeviceStates指令引脚说明
对分布式IO子模块进行诊断
使用 ModuleStates 指令对分布式IO子模块进行诊断。
1、在全局数据块中创建数据类型为 Array of BOOL 数组,共计34个元素,以及添加一个返回值的变量(uint数据类型):
(之所以添加34个元素是因为耦合器可扩展32个模块,再加上2个状态位)
2、在 OB1 中调用 ModuleStates 指令,双击 LADDR 引脚,点击小书本,选择需要诊断的PN IO设备硬件标识符。
选择的PN设备与网络视图中组态的保持一致:
3、将MODE设置为2,STATE填写上述定义的全局数据块数组。
ModuleStates指令引脚说明
测试结果
1、通讯正常时,所有故障信息均为false:
2、人为将连接877-PNT掉电或网线拔除导致丢站之后,站点1报错,且此时PN耦合器的子模块也存在报错:
3、人为将SM877-PNT扩展的第11、12个模块移除后,对应的SM877_State[12]和SM877_State[13]变为TRUE,即存在报错:
注:SM877_State[2]为877-PNT扩展的第一个槽位扩展的IO模块,依次类推。
- 上一篇:一招教你,如何修改/复位AU7-200 PLC的IP2021-12-25
- 下一篇:FAQ-如何通过串口给PLC上/下载程序2021-12-11