首页知识分享实点科技远程I/O模块XB6S PROFINET协议耦合器通过程序内变量读取模块状态方法

实点科技远程I/O模块XB6S PROFINET协议耦合器通过程序内变量读取模块状态方法

2025-07-28

西门子博图软件提供DeviceStates和ModuleStates指令对远程I/O模块状态进行诊断。本文使用西门子1212C V4.5 PLC和PROFINET协议耦合器XB6S-PN2002通信为例进行说明。

 

新建程序,并成功和耦合器XB6S-PN2002通讯,准备工作完成。

 

 

一、通过DeviceStates指令读取网络中耦合器XB6S-PN2002的状态

 

 

1、建立全局数据块,并建立Device数组,用来查看模块状态

 

2、调用程序块并添加数组

 

单击LADDR选择需要诊断的系统,本例是检测PN网络系统,MODE参数如图所示,本案例使用2做说明,STATE添加上述建立的Device数组。

 

3、测试功能

下载程序,并监控Device数组。

 

根据设备编号查看模块的通讯状态,当设备1出现通讯不上,故障或网线接线不佳时,Decice[1]为TURE。

 

 

二、通过ModuleStates指令读取耦合器及子模块的状态

 

 

1、建立全局数据块,并建立Module数组用来监控耦合器和子模块状态

 

2、调用程序块并添加数组

 

单击LADDR选择要监控的耦合器,本案例选择设备名称为“pnio”的耦合器,MODE参数如图所示,本案例使用5做说明,STATE添加上述建立的Module数组。

 

3、测试功能

下载程序,并监控Module数组。

 

当前模块及子模块正常,当出现模块通讯不上,或子模块出现需要维护等告警信息均可通过监控数组查看。

 

 

 在一个 I/O系统中包含5个模块,分别位于插槽1到5中。其中,插槽1和插槽3中的模块存在需要维护的告警。 对于MODE=5(维护要求或建议/不可访问/不可用/出错)的I/O系统,执行“ModuleStates”指令。

 

在 STATE 参数中设置了下列位——

位 0 = 1:至少有一个模块发生了故障。

位 1 = 0:插槽编号 0(由 IO 设备使用)

位 2 = 1:插槽编号 1 中的模块有告警。

位 3 = 0:插槽编号 2 中的模块未发生故障。

位 4 = 1:插槽编号 3 中的模块有告警。

位 5 = 0:插槽编号 4 中的模块未发生故障。

位 6 = 0:插槽编号 5 中的模块未发生故障。

位 7 = 0:不相关

 

 

 

以上就是实点科技远程I/O模块XB6S PROFINET协议耦合器通过程序内变量读取模块状态方法,感谢您的观看!