S7-1200 CPU V2.1 开始支持分布式 IO 设备的诊断功能,可使用 DeviceStates 和 ModuleStates 指令对分布式 IO 设备的站状态和子模块进行诊断。本文使用 1214C V4.0 CPU 和 ET200SP 的 PN 通信为例进行说明(DP通信同样适用)。

硬件:

  1. CPU 1214C DC/DC/DC,V4.0,一台
  2. ET200SP 分布式 IO 站,PN 接口,两套

软件:

  1. TIA Portal V13 SP1 UPD2

使用 TIA Portal 创建项目

使用 TIA Portal 创建一个新项目,正确配置,下载后,进入网络视图,所有站点状态正常。如图 1 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(1)

图 1 网络视图

注意:分布式 IO 为 PN 子站时,可在“网络概览”中可以查看分布式 IO 的设备编号。

1 使用 DeviceStates 指令对分布式 IO 子站进行诊断

1-1 创建全局数据块,用于存储状态数据

在全局数据块中创建数据类型为 Array of BOOL 数组,共计1024个元素。 如图 2 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(2)

图 2 创建全局数据块

1-2 编程

在 OB1 中调用 DeviceStates 指令,双击 LADDR 引脚,选择需要诊断的 IO 系统。如图 3 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(3)

图 3 调用 DeviceStates 指令

本例中将 MODE 设置为2,STATE 填写上述定义的全局数据块数组。如图 4 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(4)

图 4 填写相应的引脚

指令引脚说明:

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(5)

1-3 测试

将程序下载到 PLC 中。

监控全局数据块 devicestate。如图 5 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(6)

图 5 IO 系统正常

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

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(7)

图 6 IO device_2 故障

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

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(8)

图 7 IO device_1 和 IO device_2 故障

2 使用 ModuleStates 指令对分布式 IO 子模块进行诊断

2-1 创建全局数据块,用于存储状态数据

在全局数据块中创建数据类型为 Array of BOOL 数组,共计128个元素。 如图 8 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(9)

图 8 创建全局数据块

2-2 编程

在 OB1 中调用 ModuleStates 指令,双击 LADDR 引脚,选择需要诊断的分布式 IO 站。如图 9 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(10)

图 9 调用 ModuleStates 指令

本例中将 MODE 设置为2,STATE 填写上述定义的全局数据块数组。如图 10 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(11)

图 10 填写相应的引脚

指令引脚说明:

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(12)

1-3 测试

将程序下载到 PLC 中。

监控全局数据块 modulestate。如图 11 所示。

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(13)

图 11 分布式 IO 站所有子模块正常

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

s7-1200硬件主要由哪些部分组成(S7-1200与分布式IO设备的诊断功能)(14)

图 12 插槽编号1子模块故障

,