用梯形图实现 PLC 状态机

在本教程中,我们将学习如何在梯形图中构建状态机。我们将使用 Siemens TIA Portal 和 S7-1200 PLC,但这种方法可以应用于任何支持梯形图的 PLC 和软件。

用梯形图实现 PLC 状态机
梯形图转SCL | 博途AI辅助编程文档 | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

状态机是对机器的一种抽象,它在任意时刻只能处于有限数量的状态之一,每个状态中都有动作转换。动作是机器与系统交互的方式,而转换则是从一个步骤移动到另一个步骤需要满足的条件。

状态机是编程过程控制工业系统的强大工具。这种方法可以覆盖整个机器程序,甚至可以将复杂的过程拆分为多个更小、更简单的状态机。诊断和故障排除也变得更容易,因为根据当前步骤的状态,可以轻松发现缺少转换和动作信号的情况。

在本教程中,我们将学习如何在梯形图中构建状态机。我们将使用 Siemens TIA Portal 和 S7-1200 PLC,但这种方法可以应用于任何支持梯形图的 PLC 和软件。

你知道吗,可以使用LAD2SCL 插件将TIA Portal梯形图转换为SCL。

1、理解梯形图中状态机的通用模板

此模板涵盖了状态机梯形图中每个步骤的所有指令和通用结构。首先,网络检查当前步骤编号是否等于特定步骤。一些程序员使用布尔内存来存储每个步骤,但就我个人而言,我喜欢使用整数内存,因为更容易在单个内存中与多个步骤进行交互。

如果当前步骤处于活动状态,程序将继续检查此步骤动作所需的互锁和条件。在并行分支中,我们检查从此处移动到其他步骤的所有条件。由于我们使用整数内存来保存实际步骤值,因此通过在每次转换时将其值递增一,可以轻松标准化逐步逻辑。此外,将任何整数值移动到实际步骤内存也有助于将状态机移动到特定步骤。

接下来,让我们将概念付诸实践,构建一个简单的混合器机器。

2、理解混合器机器

混合器机器由两个产品阀(阀 A 和阀 B)、一个搅拌器(电机 A)和一个排水阀(阀 C)组成。操作应通过按下启动按钮开始,该按钮将打开两个产品阀,直到高位传感器指示水箱已满。注满水箱后,搅拌器将运行 10 秒,之后排水阀应打开,直到低位传感器信号消失。

3、构建状态机图

构建状态机图对于制定步骤和转换以及预见可能出现的任何不一致至关重要。混合器状态机应涵盖初始状态、水箱注水、混合和混合物排出。每个转换条件都应该是机器前进所需的条件,而每个单独步骤的动作则涵盖与系统交互的输出和逻辑命令。

4、在梯形图中编程状态机

现在是时候利用状态机的通用模板,在梯形图中编写每个步骤、其动作和转换了。对于初始步骤(步骤 0),我们没有动作(机器处于空闲状态),只有一个条件,即启动命令。

启动命令将机器引导至注水步骤(步骤 1),该步骤负责命令两个产品阀(动作)打开,直到从传感器接收到高位信号,从而转换到下一步(步骤 2)。

由于内存中的实际步骤值不再等于一,阀门不再打开(打开命令已关闭),在新步骤中,搅拌电机输出应在预定时间内保持开启。然后,十秒的计时器是将机器状态从步骤 2 移动到步骤 3 的转换条件。

最后一步是打开排水阀(动作),直到其转换条件(低位传感器信号消失)满足。此转换导致过程完成,并将机器带回空闲状态,直到按下启动按钮,换句话说,我们将机器移动到初始步骤(步骤 0)。

5、结束语

在本教程中,我们以简单的混合器为例,介绍了在梯形图中构建状态机的策略。这种方法可以扩展到编程具有任意步骤数量的复杂机器。这种梯形图结构还便于报警开发以及机器与同一代码中其他功能之间的交互,这是我们将在下一个教程中介绍的主题。


原文链接: Programming a State Machine in Ladder Logic

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