本部分使用 CPU 1214C V4.4 和 ET200SP 的 PN 通信为例进行说明(DP通信同样适用)。
硬件:
CPU 1214C DC/DC/DC,V4.4,一台
ET200SP 分布式 IO 站,PN 接口,两套
软件:
TIA Portal V16
使用 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 主站系统。 硬件标识符位于: PROFINET IO 或 DP 主站系统属性的网络视图中。 或数据类型为 HW_IOSYSTEM 的所列系统常量的 PLC 变量表中。 |
参数 MODE | 使用 MODE 参数可读取状态信息。可读取整个 PROFINET IO 或 DP 主站系统的下列一条状态信息: 1: IO 设备/DP 从站已组态 2: IO 设备/DP 从站故障 3: IO 设备/DP 从站已禁用 4: IO 设备/DP 从站存在 5: 出现问题的 IO 设备/DP 从站。 |
参数 STATE | 通过 STATE 参数,输出由 MODE 参数选择的 IO 设备/DP 从站的状态。 位 0 = 1:组显示。至少有一个 IO 设备/DP 从站的第 n 位设置为“1”。 位 n = 1:通过 MODE 选择的状态将应用到 IO 设备/DP 从站。 对于 PROFINET IO 系统,第 n 位对应于相应 IO 设备的设备编号(请参见设备视图和网络视图中的 PROFINET 接口属性)。 对于 PROFINET DP 系统,第 n 位对应于 DP 从站的 PROFIBUS 地址(请参见设备视图和网络视图中的 DP 从站属性)。 使用“BOOL”或“Array of BOOL”作为数据类型: 要仅输出状态信息的组显示位,可在 STATE 参数中使用 BOOL 数据类型。 要输出所有 IO 设备/DP 从站的状态信息,请使用下列长度的 Array of BOOL: 对于 PROFINET IO 系统:1024 位 对于 DP 主站系统:128 位 |
将程序下载到 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 从站。 IO 设备站或 DP 从站属性的网络视图中。 或数据类型为 HW_DEVICE(对于 IO 设备)或 HW_DPSLAVE(对于 DP 从站)的所列系统常量的 PLC 变量表中。 |
参数 MODE | 使用 MODE 参数可读取状态信息。可读取模块的下列一条状态信息: 1: 模块已组态 2: 模块故障 3: 模块禁用 4: 模块存在 5: 模块中存在故障。 |
参数 STATE | STATE 参数输出使用 MODE 参数选择的模块状态。 位 0 = 1:组显示。至少一个模块的第 n 位设置为“1”。 位 n = 1:使用 MODE 选择的状态将应用到插槽 n-1(例如:位 3 对应插槽 2)中的模块。 使用“BOOL”或“Array of BOOL”作为数据类型: 要仅输出状态信息的组显示位,可在 STATE 参数中使用 BOOL 数据类型。 要输出所有模块的状态信息,请使用长度为 128 位的 Array of BOOL。 |
将程序下载到 PLC 中。
监控全局数据块 modulestate。如图 11 所示。
图 11 分布式 IO 站所有子模块正常
当 IO device_1 站插槽编号1的子模块故障时(损坏或被拔除),state[2]=1。如图 12 所示。
- S7-200 SMART 通过PROFINET 连接V90实现速度控制的两种方法和基本定位控制(三) 2024-11-26
- S7-200 SMART 通过PROFINET 连接V90实现速度控制的两种方法和基本定位控制(二) 2024-11-26
- S7-200 SMART 通过PROFINET 连接V90实现速度控制的两种方法和基本定位控制(一) 2024-11-26
- S7-1500T 同步功能介绍 2024-11-26
- 西门子触摸屏程序下载步骤,十分详细,一看就会(二) 2024-11-26
- 西门子触摸屏程序下载步骤,十分详细,一看就会(一) 2024-11-26
- CPU1513与西克RFID的PROFINET通讯以及使用方法 2024-11-26
- 变频器集成安全 STO SS1 SS2 SLS 是什么含义? 2024-11-26
- 使用S7-1200和1500 轻松连接物联网MQTT 消息服务器 2024-11-26
- 西门子S7-200SMART间接寻址应用—模拟量滤波程序 2024-11-26
- 西门子S7-200SMART编码器转速测量程序 2024-11-26
- S7-200 SMART 案例应用之中位值平均滤波算法程序分享 2024-11-26
- 博途S7-1500SCL实现斜坡线性平滑算法程序 2024-11-26
- MES、SCADA下的数据采集— 西门子S7comm协议分析 2024-11-26
- 西门子TIA博途SCL实现带有不固定位数空格的字符串截取处理 2024-11-26