2024年1月5日发(作者:)
S71500PROFINETIO或DP从站故障诊断
S71500PROFINETIO或DP从站故障诊断
•
•
•
•
要输出所有 IO 设备/DP 从站的状态信息,请使用下列长度的 Array of
BOOL:
o
对于 PROFINET IO 系统:1024 位
o
对于 DP 主站系统:128 位
参数 RET_VAL
错误代码*
说明
(W#16#...)
0
8091
8092
8093
80B1
80B2
8452
无错误
LADDR 参数的硬件标识符不存在。 请检查(例如,在系统常量中)项目中是否有 LADDR 值。
LADDR 不会寻址 PROFINET IO 或 DP 主站系统。
STATE 参数中的数据类型无效。
CPU 不支持“DeviceStates”指令。
LADDR 参数中指定的 IO 系统所用的 CPU 不支持所选的 MODE 参数。
完整的状态信息,不适用于 STATE 参数中组态的变量。
* 在程序编辑器中,错误代码可显示为整数或十六进制值。有关切换显示格式的信息,请参见“另请参见”。
示例 - 读取 PROFINET IO 主站系统中是否存在 IO 设备
在以下示例中,将在 IO 系统中查询是否存在 IO 设备。IO 系统将包含两个
S7-1500 系列的 CPU。“PLC_14”CPU 将包含程序,其中包括“DeviceStates”指令。“PLC_13”CPU 将组态为一个 IO 设备。
在“PLC_14”CPU 中:在全局数据块中创建三个变量和一个“STATE”结构(数据类型为 Array of BOOL),用于存储数据。
在“PLC_14”CPU 中:在循环 OB 中调用指令。如下所示互连指令的参数。
在“PLC_13”CPU 中:使用 CPU 属性将此 CPU“PLC_13”设为 IO 设备。IO 设备接收设备编号 1。
IO 系统显示在网络视图中。
在“PLC_14”CPU 中:通过参数 LADDR(“LADDR”)使“DeviceStates”指令了解 IO 系统的硬件标识符。根据参数 MODE(“MODE”)的值“4”,在 IO 系统中搜索 IO 设备。
在参数 STATE(“STATE”)中,输出 IO 设备是否存在(基于参数 MODE)的值。位 0 作为组值,指示 IO 设备存在。位 1 指示存在设备编号为 1 的 IO 设备。
输出参数 RET_VAL(“returnValue”)指示处理无错误。
示例 - 读取 PROFINET IO 主站系统中发生故障的站
PROFINET IO 系统包含设备编号为 1、2、3 和 4 的 4 个 IO 设备,其中编号为 2 的 IO 设备发生了故障。
对于 MODE = 2(故障/无故障)的 PROFINET IO 系统,执行“DeviceStates”指令。
在 STATE 参数中设置了下列位:
•
•
•
•
•
•
•
•
位 0 = 1: 至少有一个 IO 设备发生了故障。
位 1 = 0: 设备编号为 1 的 IO 设备未发生故障。
位 2 = 1: 设备编号为 2 的 IO 设备发生了故障。
位 3 = 0: 设备编号为 3 的 IO 设备未发生故障。
位 4 = 0: 设备编号为 4 的 IO 设备未发生故障。
位 5 = 0: 无关
位 6 = 0: 无关
...
示例 - 读取 PROFIBUS DP 主站系统中发生故障的站
DP 主站系统包含 PROFIBUS 地址为 3、4、5 和 6 的 4 个 DP 从站,其中地址为 4 的 DP 从站发生了故障。
对于 MODE = 2(故障/无故障)的 DP 主站系统,执行“DeviceStates”指令。
在 STATE 参数中设置了下列位:
•
•
•
•
•
•
•
•
•
位 0 = 1: 至少有一个 DP 从站发生了故障。
位 1 = 0: 无关
位 2 = 0: 无关
位 3 = 0: 地址为 3 的 DP 从站未发生故障。
位 4 = 1: 地址为 4 的 DP 从站发生了故障。
位 5 = 0: 地址为 5 的 DP 从站未发生故障。
位 6 = 0: 地址为 6 的 DP 从站未发生故障。
位 7 = 0: 无关
位 8 = 0:无关
•
...


发布评论