本节摘要:启保停是PLC逻辑的原子操作——启动触发、自锁保持、停止释放;互锁在它之上禁止危险组合;顺序控制把多台设备的启停编排成链。本节从三行逻辑讲到青线输送段的顺序启停设计,所有手法都围绕一个核心:让设备只在安全组合下运行。
本章五套手法从最朴素的开始。它朴素到第1章已经见过两次,但正因为它无处不在——青线全线一百多台设备的启停都建立在这几行逻辑的变体上——值得用一节的篇幅把它连同它的两个伙伴(互锁、顺序)一次讲透。
启保停的名字就是口诀:启动、保持、停止。2.2节展示过它的布尔表达式,这里把行为拆开:按下启动按钮的瞬间置位输出;输出自己的触点并联进启动回路,于是手松开后电流(或逻辑真值)经由自锁触点继续供给——这就是"保持";停止按钮或保护条件把回路断开——这就是"停止"。三行之内,一台设备的生杀大权完备。
// 青线电机功能块内部的核心三行 IF Start AND Stop_Health AND NOT Fault THEN Run := TRUE; // 启动并自锁 ELSIF (NOT Stop_Health) OR Fault OR Stop THEN Run := FALSE; // 保护与停止无条件优先 END_IF;
这段代码里藏着一个纪律:停止与保护是"或"关系,任何一路都能独立停车。初学者容易写成嵌套条件让停止被启动分支屏蔽——逻辑上看似等价,实际上把"谁能让设备停下来"变成了需要推理的问题。安全逻辑的铁律是停车路径永远最短:条件一断,当拍停车,不经过任何附加判断。
互锁处理的是"有些组合绝不允许同时发生"。最经典的是电机正反转:两个接触器同时吸合意味着主电路相间短路,必须从逻辑上保证两者互斥。互锁有两道防线,缺一不可:

双重防线的分工说到底还是1.1节那个命题:程序是逻辑载体,但程序会坏。接在接触器上的辅助常闭触点是纯机械的——正转接触器吸合的瞬间,机械动作直接顶开反转回路的触点,与CPU是否清醒毫无关系。青线把这条写进了图纸评审清单:正反转、星三角、快慢速,凡主电路危险组合,必查电气互锁是否在图上。
单设备听话了,接下来是队列。输送线有一条铁律般的时序:启动逆物流方向逐台进行,停止顺物流方向逐台进行。道理在物料上:启动时先开下游,上游来的瓶子落地就有地方去;停止时先停上游,线上的瓶子能被逐段送空,不留一线存货。
青线四段输送链的启动时序设计成每段间隔两秒:四号段先起,两秒后三号……一号线段最后起动。间隔两秒不是拍脑袋,是给每段的启动浪涌与速度建立留窗口,也让操作员在HMI上看到逐段点亮的"启动进行中"动画。实现上用一个步序计数器加定时器,本质是一个微缩状态机——完整的状态机方法论下一节展开,这里先体会"顺序即延时状态机"的味道。
// 顺序启动链(节选):Step 由启动按钮置位后逐拍推进 CASE Start_Step OF 0: IF Start_Cond_OK THEN Start_Step := 1; END_IF; 1: Conv4.Cmd_Run := TRUE; // 先开最下游 IF Conv4.FB_Run THEN T_Start(IN := TRUE, PT := T#2S); IF T_Start.Q THEN Start_Step := 2; END_IF; 2: Conv3.Cmd_Run := TRUE; IF Conv3.FB_Run THEN T_Start(IN := TRUE, PT := T#2S); IF T_Start.Q THEN Start_Step := 3; END_IF; // ……三号、二号、一号依次推进,步序与物流方向相反 END_CASE;
设计顺序链时要为每个环节问一句"如果它没起来"。任一段运行反馈两秒内没回来,启动链立即冻结、已启动段保持运行(它们本身是安全的)、HMI报出具体段号。把"下游未起上游不起"做成硬条件而非提示,是顺序控制与提示文案的分界线:提示靠人,条件靠逻辑,安全相关的一律做成条件。链式启动还有个对称的收尾问题——停止链要不要也留缓冲?青线的答案是流程停止时顺物流逐段延时停(让瓶走空),急停或故障时则全线同时停、瓶留在原地——分清"流程停止"与"安全停止"两种语义,时序设计就不会自相矛盾。
顺序链与互锁写完,最后一道工序是失效演习:对每个关键反馈问一句"它断了会怎样"。运行反馈断线——设备实际停了,程序却以为在跑,下游联锁全部建立在假象上;青线的对策是"指令与反馈不一致超时判故障":输出运行指令三秒内收不到反馈,设备类故障置位,联锁按故障路径走。选择开关断线——自动模式信号消失,全线按预设策略进入"保持与报警"而非继续跑。急停回路健康信号断线——这是安全项,直接走6.2节的安全路径。
演习的方法是纸上推演加仿真验证各走一遍:纸上画出每个反馈失效后的信号流,仿真里逐个注入失效看响应。青线的四十七个仿真用例里,失效类占了十九个——比正常流程用例还多,这个比例本身就是设计态度。
手动不是法外之地,青线给手动模式立了三条规矩。规矩一:手动走同一套设备类,只是指令来源不同——手动绕过设备类直接操作输出,是很多事故的第一步;正确做法是模式字只切换指令来源,联锁与保护在设备类内部对两种模式一体生效。规矩二:手动到自动的切换必须经过"条件满足"检查——自动启动的条件不齐备时,切换按钮无效并提示缺什么,禁止"切过去再说"。规矩三:手动操作全程进日志——谁、何时、对哪台设备做了什么,追溯链与自动模式同一套。这三条让手动模式成为调试与维护的利器,而不是联锁体系的旁路后门。
设备启停还有个常被遗忘的形态:点动。调试与维护时需要"按住才走、松手就停"的动作,它的实现比启保停更简单——输出直接等于按钮与安全条件的与——但它的边界纪律不少。青线的点动规矩三条:只在维护模式下使能,自动模式下点动回路物理断开(不只是逻辑判断);点动速度限值进参数并受配方保护,防止有人为图快改高;点动操作走全程日志。三条的用意一致:点动是给专业人员的利器,必须让它无法被误当常态使用。
点动与自动之间的切换还要防"状态残留":自动运行中切到维护,设备的自锁状态要不要保留?青线的答案是停止优先——切换动作本身触发受控停车,维护人员面对的永远是静止设备。多花几秒钟的停车时间,买"人面对的机器永远从静止开始"的确定性,是全节最划算的一笔交换。
单设备与队列都有章法了。设备一旦有了"心思"——多步工艺动作——就需要下一节的地图工具:状态机。