如何读取 20 个 INT 数组的标记以查看它是否等于 Studio 5000 Logix Designer 中 Compact Logix 的梯形逻辑值

问题描述

我有一位客户通过 Modbus TCP 向我发送未分配的整数故障代码。我正在读取这些寄存器并使用消息指令将它们带入我的 CompactLogix PLC。

代码可以填充到 20 个元素的整数数组中的任何位置。如何在数组中搜索故障代码

例如 如果故障 [0] 或故障 [1] 或故障 [2]......或故障 [20] == 2005 通电 OTE Engine_coolant_low。

解决方法

您可以使用文件搜索和比较 (FSC) 指令。 FSC 指令逐个元素比较数组中的值。

当 .POS 值等于或超过 .LEN 值或当表达式计算为真时,操作停止。如果搜索成功,则“找到”位 (.FD) 将被设置,并且 .POS 指示找到它的位置。

这是您的用例的示例。

enter image description here