我的PLC梯形图逻辑规范

我热爱工业PLC、工业自动化,尤其是梯形图逻辑——今天硅谷的每个人都在从事Web、SaaS、移动和云计算工程,但PLC仍然是我对编程和技术的初恋。

自1990年起,我就一直从事与PLC相关的工作,20多年后,我开发了一套结构化的梯形图逻辑标准,这些标准至今仍然适用于高质量的梯形图工作。因此,我想与大家分享这些标准。

1、梯形图逻辑

梯形图逻辑是一种用于工业控制系统的图形化编程语言,用于控制机器和过程。它的名字来源于程序结构类似于梯子的横档。

虽然与现代软件语言和工具相比,梯形图逻辑可能显得过时,但它实际上是自第二次工业革命以来用于控制机械的物理继电器逻辑的100多年历史的直接延续。

这意味着如今的工程师在设计和实施控制系统时,其思维方式和工作方式仍然与一个世纪前的工程师相似。虽然梯形图逻辑可能不是最先进的编程语言,但它仍然被广泛使用,是工业自动化的重要工具。它也非常直观且强大(包括在运行时可更改)。

梯形图逻辑通过使用输入(如按钮和传感器)和逻辑来控制输出,如实际驱动机器和过程的电机、泵和灯。

梯形图逻辑使用输入来决定哪些输出应该打开或关闭。梯形图程序的结构类似于继电器逻辑图,输入在左侧,输出在右侧。两条垂直线代表继电器图中使用的电力的虚拟版本。

虽然梯形图逻辑的基本概念看起来很简单,但它是工业自动化的重要工具。其图形结构使其易于理解和修改,而对简单输入和输出的依赖使其成为控制机器和过程的可靠且高效的编程语言。

梯形图逻辑的可视化表示允许工程师基于简单的AND、OR和NOT逻辑构建逻辑。程序的结构通常与连接到各种机架中PLC I/O卡的物理设备紧密相关。

这意味着梯形图程序的设计旨在紧密匹配被控的实际物理设备和过程。这使得理解和故障排除变得更加容易,因为程序的结构与系统的物理布局紧密对应。

2、标准横档

最基本的梯形图逻辑模块之一是电机的启停锁定逻辑。这个简单的例子包含了梯形图逻辑标准的所有关键元素,应适用于简单和复杂的系统。

简单的标准帮助工程师避免试图创建复杂的组合逻辑的诱惑,他们试图将不断增加的复杂性塞进一两个大横档中。这类程序难以跟踪、理解和安全地修改。

相反,通过遵循梯形图逻辑标准,工程师可以创建易于理解和修改的程序。这使得故障排除和维护变得更加容易,并有助于确保系统可靠和安全地运行。

我的标准横档如下所示:

注意以下关键标准功能,几乎每个重要的开/关梯形图部分都应具备:

2.1 权限逻辑

在梯形图逻辑中,将权限逻辑分离到一个单独的地方非常重要,这样可以清楚地了解电机运行所需的条件。这是保护机器和人员免受危险条件或损坏的逻辑,因此应优先考虑并使其非常清晰。

权限输入可能包括防护装置到位、液压泵运行、气压等。由于这些输入经常变化,因此必须将它们全部放在一个清晰的地方,以避免因混淆权限和保护逻辑而造成危及生命的错误。

添加更多横档(未显示)来检测哪个权限未满足也很有帮助。这使操作员能够快速了解机器无法启动的原因,例如门打开或泵未运行(因为没有什么比尝试启动某物,什么都没发生,而你却不知道原因更令人沮丧的了)。这在复杂的机器上尤其重要,因为故障排除可能既耗时又令人沮丧。

总的来说,在梯形图逻辑中分离权限逻辑并使其清晰对于保护机器和人员以及确保系统安全可靠地运行至关重要。

2.2 启动逻辑

将启动逻辑分离到一个单独的横档中非常重要,以确保清楚地了解是什么在启动电机。随着系统随时间变得越来越复杂,必须有一个地方来管理所有启动输入,如启动按钮或由其他过程触发的信号。

启动系统中使用单次触发逻辑(许多PLC上可用),确保启动信号是瞬时的,模拟启动按钮。这有助于保持机器安全,要求所有启动输入断开或打开,然后重新关闭才能启动某物。这有助于防止在电源恢复或紧急停止重置时机器突然启动。

通过分离启动逻辑并使用单次触发逻辑,操作员需要执行某些操作才能重新启动机器,这可以防止事故并确保更安全的操作。

2.3 停止逻辑

梯形图逻辑中的停止逻辑相当简单——它中断主横档并使锁定断开,从而关闭输出。与启动逻辑不同,停止逻辑不使用单次触发逻辑,因此任何持续的停止条件都会阻止系统意外重新启动。

2.4 保持逻辑

由于启动逻辑是单次触发的,因此系统中需要保持逻辑。这通常以其自身输出的形式出现,并且应该非常简单。它的唯一工作是保持输出打开,而不必担心停止或权限,这些有自己的逻辑——这意味着您应该抵制将停止或权限逻辑放入保持电路的诱惑。

2.5 紧急逻辑

需要注意的是,紧急停止输入应该出现在每个横档中,以确保在紧急情况下停止所有机器功能和相关逻辑。

即使外部硬连线的紧急停止电路会切断所有输出电源,但重要的是要有办法取消或停止所有锁定的输出,这样它们就不会在紧急停止重置时重新启动。因此,在重置时,机器应该完全关闭或停止,并需要标准流程才能重新启动。

3、扩展标准

当然,上述简单标准可以扩展到更复杂的逻辑,包括定时器、自动模式、数值逻辑(如电源控制)。它们通常都符合此结构,以保持一致性、清晰性和安全性。

4、数字输入

关于数字输入标准的简要说明,通常来自与PLC数字连接的MMI或SCADA系统。与硬连线输入不同,这些数字或虚拟输入通过网络进入,可能具有异常或未指定的行为,特别是在它们开启多长时间方面——它们可能开启指定的时间,如250ms,或者根据该系统的逻辑无限期地保持开启——例如,许多系统会设置一个位为开,但永远不会将其关闭,而无需在MMI/SCADA系统中采取单独的操作,这就像一个卡住的按钮,在我们的逻辑中很少有用。

挑战在于以统一的方式将这些输入呈现给PLC,并使它们尽可能像传统输入一样工作,从而简化涉及的逻辑。

我发现最好的方法是用两个独立但相同大小的二进制内存块(即虚拟输入或数据块,由开/位组成)来配置PLC。

然后配置MMI或SCADA系统将输入发送到第一个区域,因此如果您在触摸屏上按下启动按钮,您将在输入区域(启动)中得到1。如果您按下停止按钮,您将在不同的输入区域(停止)中得到一个单独的1。这些1通常被MMI/SCADA系统永远保持开启,即它们永远不会关闭,这使得使用它们有点混乱。

在您的梯形图逻辑中,在每次扫描的顶部(在使用任何输入之前),将整个第一个输入块复制到第二个输入块,并将第一个块清除回全0。这将清除MMI/SCADA的先前输入,并使所有输入对逻辑来说都像单次触发输入一样,就像按钮一样。

这需要一点时间来理解,但它为所有类型的数字输入创建了一个非常简单且易于使用的输入系统。它还允许您在相同的逻辑中以相同的方式轻松混合和使用数字和物理输入,提高安全性和可理解性。

5、结束语

将逻辑分解为标准的单独横档不仅使理解和修改系统变得更加容易,而且使故障排除和调试变得更加简单。通过清楚地定义每个横档的目的和功能,工程师可以快速识别和隔离可能出现的任何问题。

梯形图逻辑很棒,但在机器的多年或数十年的使用寿命中可能会变得越来越复杂。作为工程师,我们希望确保逻辑干净、简单,并且易于长期理解和修改。希望这个标准有所帮助。

我是Steve Mushero,早期创业公司的兼职CTO,但我最初从事重工业,制造机械和工厂,因此我对PLC情有独钟——如今我与硅谷的初创公司合作,这些公司需要扩展其产品、流程和人员。更多信息请访问SteveMushero.com和我的LinkedIn个人资料。


原文链接:My PLC Ladder Logic Standard

汇智网翻译整理,转载请标明出处