FBD 顺序控制:状态机编程教程

一位学员曾问,为什么他的灌装机程序有时会跳过一个步骤,在瓶子未定位之前就灌满瓶子。答案并不是缺少定时器,而是缺少状态。他的程序是一堆独立条件;真正的顺序机器是状态机,区别在于一个在纸上能工作的程序和一个在周一能工作的程序之间的区别。

顺序控制在自动化中无处不在:灌装线、转盘、冲压机、喷漆间。经典错误是将每个输出写成松散条件——“当传感器 A 和定时器 B 时,打开阀 C”——然后在凌晨 2 点调试不可能的组合。解决方法是停止从输出思考,开始从状态思考。

状态机实际上是什么

状态机是一组命名步骤及其之间移动的规则。机器始终处于一个确切的步骤中:等待、定位、灌装、封口、排出。每个步骤都有进入动作、退出条件和保护措施。瓶子仅在灌装步骤中灌满,灌装步骤仅在瓶子传感器确认位置时从定位步骤可达。这听起来像官僚主义;它的行为像工程。

在 xLogicSoft 的 FBD 中,状态机与经典的移位寄存器模式或用作步骤位的 F 标志清晰地映射。模式:每个步骤一个 F 标志,一组过渡条件,以及一个单次过渡块,以便机器每个事件仅前进一步。由于当前步骤始终可见——LCD 显示哪个 F 标志处于活动状态——操作员和维修人员可以一目了然地看到机器认为自己在哪里。这个单一特性比任何诊断手册都能减少故障排除时间。

构建它:三个灌装站

以一个简单的三站示例为例:一个瓶子到达,灌装,封口。步骤:

  • 步骤0 空闲:所有输出关闭。转换:瓶子存在传感器,启动按钮。
  • 步骤1 定位:输送带运行,直到瓶子停在灌装头下。转换:位置传感器。
  • 步骤2 灌装:灌装阀在定时持续时间内打开或直到液位传感器触发。转换:定时器完成。
  • 步骤3 封盖:封盖器下降并按压。转换:压力确认,定时器完成。
  • 步骤4 弹出:输送带运行以将瓶子移出。转换:出口传感器清除。

每个过渡使用一个延时或擦拭继电器(单次)块,以便推进恰好发生一次。每个过渡的保护是步骤本身——步骤 2 不能开始,除非机器处于步骤 1,完毕。瓶子不能提前灌装,因为“提前”作为条件并不存在;它不在步骤表中,瓶子在机器离开定位之前不会被定位。

在给操作员提供其他任何功能之前,先给他们一个手动步骤模式。选择输入让机器一次通过序列推进一步,这样设置技术人员可以在观察执行器的同时,单独地将生产线逐步推进到定位、灌装和封口。状态机使这变得简单——推进一步只是强制下一个过渡——它将调试从一个谜团变成一个检查清单。无法手动逐步操作的机器是需要用螺丝刀调试的机器。

故障模式测试

这是揭示你是构建了状态机还是条件堆的练习:列出紧急情况。瓶子卡在灌装头下?机器应该保持在灌装状态,停止泵并报警——而不是游荡到排出状态并将产品倾倒在地上。传感器故障并永远报告“瓶子存在”?机器应该超时定位步骤并报警,而不是整晚灌装同一个不可见的瓶子。传感器反向故障,“从未存在”?机器耐心等待——这没问题,这正是机器应该做的。

在程序中写入看门狗:如果机器在任何非空闲步骤中停留超过步骤的最大时间,则降至故障状态,切断输出并闪烁报警。最大时间是你已经知道的周期时间——你不是在猜测,而是在强制执行物理规律。

在故障发生之前决定故障后会发生什么。常见选择:机器停在原地,操作员清除原因,按下重置,序列返回到空闲状态——或者如果产品仍然安全,则返回到中断步骤的开始。返回到空闲状态对于小型机器来说更简单、更安全;中途恢复更快,但要求每个输出状态都是已知且经过验证的。对于灌装机来说,空闲是诚实的答案——无论如何半灌的瓶子都是废品。

为什么 FBD 在这方面胜过梯形逻辑

一个调试习惯立即就能带来回报:在前面 LCD 上将当前步骤显示为一个普通数字。操作员的第一次报告变成了“它卡在步骤 4 上”,而不是“它做了一些奇怪的事情”,而步骤 4 直接指向其过渡条件。在 xLogicSoft 中,标志位就在监视窗口中,因此笔记本电脑会话显示与 LCD 相同的画面。将操作员的话与程序的状态匹配,每次都能将两小时的搜索缩短到二十分钟。

梯形逻辑可以表达状态机,但需要一百个梯级和一个没人看的图表。在 FBD 中,步骤结构就在你面前:移位寄存器或标志块显示当前步骤,过渡块是可见的,序列从上到下读取。xLogicSoft 环境包含大约七十个功能块,一个带有联锁的五步机器可以舒适地放在一个程序页面中。当机器发生变化——新站点、新传感器——你只需添加一个步骤和两个过渡,而不是重新布线逻辑。

先在纸上写出步骤表,然后是标志,再是过渡。程序将是无聊的正确,而无聊的正确是自动化程序能获得的最高赞誉。机器不需要聪明;它们需要可预测。