阶梯逻辑403:消息滚动和多个错误

在阶梯逻辑中同时发生两个错误是极不可能的,但是用户需要认识到不同的情况和场景,并相应地进行计划。

通过Frank Lamb,自动化入门 2018年3月21日

当谈到阶梯逻辑时,出现的一个问题是两个错误是否可以同时发生。通常,一个错误会引起另一个错误;例如,一个故障可能会导致“空气倾倒”,从而阻止另一个气缸到达行程的终点。逻辑(右)显示,如果将常闭系统故障位与单个故障的故障逻辑串联在一起,则可以防止多个故障的发生。

即使在同一扫描过程中发生了两个错误(不太可能,扫描通常最多在30到50毫秒之间),第一个错误也会阻止第二个错误的发生。因此,适当的编程可以很容易地分离出最初的原因。

然而,在有多个故障寄存器的较大的“分区”机器上,机器或系统的各个部分可能彼此独立运行。如果只有一个人机界面(HMI),仍然需要记录和阐明所有的故障。在这种情况下,每个单元或站都需要一个故障寄存器。在典型HMI的“故障历史”屏幕上,每个寄存器都有一个单独的触发器,因此列表中会出现多个故障。

如果只有一个信息横幅,想在屏幕上显示多条消息,该怎么办?这需要设计用于搜索故障和信息寄存器的代码,然后在横幅或消息显示中滚动它们。下面的逻辑展示了这样做的方法。

这段代码来自一个模板,该模板使用电子表格生成“单元格”,其中填充了标准代码,作为程序的起点。每个单元生成自己的错误、信息和警告。在HMI的每个屏幕上的三个不同横幅上搜索和滚动三个独立的消息类别。

在大型机器或系统上通常有20到40个单元,因此对消息的搜索涉及60到120个不同的寄存器,每个寄存器可能包含10个或更多消息,按双整数的位进行分类。这允许在三个横幅上搜索和显示数千条可能的消息。

这个模板是针对Allen-Bradley ControlLogix的,但是它很容易在大多数主要的可编程逻辑控制器(PLC)平台上重现。使用任何结构化文本语言都更容易。Do-while和for-next循环在这些语言中很常见,这在阶梯逻辑中有点困难。另一种方法是使用文件搜索和比较(FSC)指令。

弗兰克羊肉他是自动化咨询有限责任公司的创始人,也是控制工程编辑顾问委员会。本文最初发表于自动化入门博客自动化底漆是CFE Media的内容合作伙伴。由制作编辑克里斯·瓦夫拉编辑,控制工程cvavra@cfemedia.com

原始内容可以在automationprimer.com