S7-1200 作为 IO 控制器进行分布式 IO 设备的通信诊断功能
本部分使用 CPU 1214C V4.4 和 ET200SP 的 PN 通信为例进行说明(DP通信同样适用)。
硬件:
软件:
-
TIA Portal V16
1. 使用 TIA Portal 创建项目
使用 TIA Portal 创建一个新项目,正确配置,下载后,进入网络视图,所有站点状态正常。如图 1 所示。

图 1 网络视图
注意:分布式 IO 为 PN 子站时,可在“网络概览”中可以查看分布式 IO 的设备编号。
2. 使用 DeviceStates 指令对分布式 IO 子站进行诊断
2.1 创建全局数据块,用于存储状态数据
在全局数据块中创建数据类型为 Array of BOOL 数组,共计1024个元素,如图 2 所示。
『注意』对于DP主站系统,相关的诊断功能与PROFINET系统类似。只是需要使用DP系统兼容的变量,例如创建128个元素的 Array of BOOL 数组,用于存储DP站的状态,类似情况下文不再赘述。

图 2 创建全局数据块
2.2 编程
在 OB1 中调用 DeviceStates 指令,双击 LADDR 引脚,选择需要诊断的 IO 系统,如图 3 所示。

图 3 调用 DeviceStates 指令
本例中选择PN IO系统硬件标识符,并将 MODE 设置为2,STATE 填写上述定义的全局数据块数组。如图 4 所示。

图 4 填写相应的引脚
表 1 DeviceStates 指令引脚说明
| 参数 LADDR |
使用 LADDR 参数通过硬件标识符选择 PROFINET IO 或 DP 主站系统。 硬件标识符位于: |
| 参数 MODE |
使用 MODE 参数可读取状态信息。可读取整个 PROFINET IO 或 DP 主站系统的下列一条状态信息:
|
| 参数 STATE |
通过 STATE 参数,输出由 MODE 参数选择的 IO 设备/DP 从站的状态。
使用“BOOL”或“Array of BOOL”作为数据类型:
|
2.3 测试
将程序下载到 PLC 中。
监控全局数据块 devicestate。如图 5 所示。

图 5 IO 系统正常
当 IO device_2 故障时(掉电或网线拔除导致丢站),state[2]=1。如图 6 所示。

图 6 IO device_2 故障
当 IO device_1 和 IO device_2 故障时(掉电或网线拔除导致丢站),state[1]=1 和 state[2]=1。如图 7 所示。

图 7 IO device_1 和 IO device_2 故障
3. 使用 ModuleStates 指令对分布式 IO 子模块进行诊断
3.1 创建全局数据块,用于存储状态数据
在全局数据块中创建数据类型为 Array of BOOL 数组,共计128个元素。如图 8 所示。

图 8 创建全局数据块
3.2 编程
在 OB1 中调用 ModuleStates 指令,双击 LADDR 引脚,选择需要诊断的分布式 IO 站。如图 9 所示。

图 9 调用 ModuleStates 指令
本例中选择PN IO设备硬件标识符,并将 MODE 设置为2,STATE 填写上述定义的全局数据块数组。如图 10 所示。

图 10 填写相应的引脚
表 2 ModuleStates指令引脚说明
| 参数 LADDR |
使用 LADDR 参数通过站硬件标识符选择 IO 设备或 DP 从站。
|
| 参数 MODE |
使用 MODE 参数可读取状态信息。可读取模块的下列一条状态信息:
|
| 参数 STATE |
STATE 参数输出使用 MODE 参数选择的模块状态。
使用“BOOL”或“Array of BOOL”作为数据类型:
|
3.3 测试
将程序下载到 PLC 中。
监控全局数据块 modulestate。如图 11 所示。

图 11 分布式 IO 站所有子模块正常
当 IO device_1 站插槽编号1的子模块故障时(损坏或被拔除),state[2]=1。如图 12 所示。

图 12 插槽编号1子模块故障
-
控制器
+关注
关注
114文章
17638浏览量
190250 -
cpu
+关注
关注
68文章
11216浏览量
222936 -
S7-1200
+关注
关注
11文章
334浏览量
19231
原文标题:S7-1200 作为 IO 控制器进行分布式 IO 设备的通信诊断功能
文章出处:【微信号:cqspkjrobot,微信公众号:重庆机器人】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
profinet远程分布式IO模块国产型与西门子1200通讯方法
S7-1200和CP343-1的Profinet通信方法
S7-400作为PROFINET IO控制器(STEP7)
S7-1200与IO控制器的通信诊断功能
基于S7-300和S7-1200 CPU的Profinet通信
远程IO与分布式IO的区别
分布式IO模块与S7-1200 PLC:打造高效分拣系统的新引擎

S7-1200作为IO控制器进行分布式IO设备的通信诊断功能
评论