前面第18讲,我们把防抖、滤波、延时确认讲透了。
那一讲解决的是一个“现场信号本身不完美,程序怎么把判断做得更可靠”的问题:
按钮为什么会抖
传感器为什么会晃
模拟量为什么会跳
为什么很多现场问题不是逻辑错,而是信号没处理好
什么时候该防抖
什么时候该滤波
什么时候该做延时确认和回差
但 PLC 真正到了现场,程序就算已经把信号处理得比较稳了,后面还会马上遇到另一个特别关键、特别有工程味、也特别能拉开程序水平差距的问题:
一个异常被判断出来以后,设备到底该怎么反应?
也就是说:
这个问题只是提醒操作员看一眼,还是应该发出报警
这个报警只是亮灯提示,还是应该蜂鸣
这个异常是不是允许设备先继续跑完当前动作,再停
这个故障是不是要立刻切断输出
这个状态是普通提示,还是必须联锁停机
这个报警消失后能不能自动恢复
这个故障是不是一定要人工复位
为什么有些设备一有点小问题就全部停死,特别难用
为什么有些设备明明问题已经不轻了,却还在硬撑着运行
为什么有些报警让操作员觉得“老吓人但没意义”
为什么有些程序里所有异常都叫“报警”,最后谁也看不出轻重缓急
这些问题背后,本质上都不是“会不会写报警灯”,
而是:
你有没有把异常分层。
所以这一讲,我们就把 PLC 特别实用、特别现场的一块内容真正讲透:
提示
预警
报警
联锁停机
保护停机
锁存
复位
恢复策略
如果说前面第18讲讲的是:
一个异常判断怎么更可靠地成立
那么这一讲讲的就是:
这个异常一旦成立,设备到底应该怎么对待它。
这一步非常关键。
因为设备不是只需要“看见问题”,
更重要的是“对不同级别的问题做出不同级别的反应”。
一个真正成熟的程序,不是所有异常都一刀切,
而是会分层、分级、分策略处理。
这就是报警分级与停机策略的核心。
一 先把最根上的问题讲清楚:为什么“有异常就报警,有报警就停机”并不是好程序
很多初学者刚开始写 PLC 时,容易有一种很直接的思路:
有问题了,就报警
报警了,就停机
表面上看,这种思路似乎很安全。
可一旦放到真实现场,问题就出来了。
因为现场的“异常”并不全是一个等级。
例如:
门没关好
气压略低
油温偏高
液位有点低
某次动作稍微慢了一点
某工件没有来
某通讯偶尔丢一帧
某个辅助风扇停了
某个关键电机过载
某个安全回路断开
某个急停被拍下
某个气缸长时间不到位
某个温度已经严重超限
你会发现,这些异常的性质完全不同。
有些只是提示一下,操作员知道就行。
有些要尽快处理,但设备不一定非得立刻停。
有些必须禁止继续自动运行。
有些则必须立即切断危险动作。
还有些问题,不只是停机那么简单,而是要保留故障痕迹,要求人工确认后才能恢复。
所以真正成熟的设备,不会把所有异常都当成同一类。
它会回答下面这些问题:
这个问题严重吗
它会立刻伤设备吗
它会立刻伤人吗
它会导致动作冲突吗
它能不能允许当前动作先结束
它是工艺问题,还是安全问题
它消失后能不能自动恢复
它是不是必须人工复位
也就是说:
异常判断只是第一步,异常分级和处理策略才是真正体现工程水平的地方。
二 什么叫提示、预警、报警、联锁停机、保护停机
先把这些常见词讲清楚。
很多现场程序之所以让人觉得乱,一个很大原因就是词没分清,结果所有东西都堆成一个“报警”。
1 提示
提示是最轻的一层。
它通常表示:
系统发现了某个状态变化、某个普通异常、某个需要注意的信息,
但这个问题暂时不影响设备继续运行,也不需要立刻停机。
例如:
物料快用完
过滤网接近保养周期
某个门长时间未关闭但当前不在运行
某个参数被修改过
配方未保存
某个工位空闲等待中
班产达到目标
辅助设备未启动
提示的核心味道是:
告诉你一声,但不强制你立刻处理。
2 预警
预警比提示更重一些。
它通常表示:
某个状态已经开始接近不正常,或者如果继续发展,后面可能会进入真正报警甚至停机。
例如:
油温偏高但还没到停机温度
压力偏低但还没掉到联锁值
液位偏低但还没到干转保护
某动作时间变长但还没真正超时
某电机电流偏高但还没过载
某冷却效果下降但系统还勉强可运行
预警的核心味道是:
现在还不一定停,但你不能不管。
它通常很适合让操作员提前介入,避免后面升级成真正故障。
3 报警
报警一般表示:
当前已经出现明确异常,需要操作员关注并处理。
它比提示和预警都更严肃。
但报警不一定马上停机。
要看这个报警的性质。
例如:
某一路传感器异常
某个工位缺料
某动作超时
某通讯中断
某温度超上限
某电机反馈异常
某门在自动过程中被打开
某个工艺条件明显越界
报警的核心味道是:
问题已经成立,必须处理。
但这还不等于一定是“立刻切全机”。
4 联锁停机
联锁停机表示:
当前异常已经严重到不能继续运行,
程序必须撤销运行资格,禁止后续流程继续。
例如:
安全门打开
气压不足导致关键动作失效
关键机构不到位
主轴未就绪
伺服报警
关键阀门未到位
自动流程的必要条件丢失
联锁停机的核心味道是:
不给你继续往下跑。
它不一定意味着所有输出都要像急停那样瞬间砍光,
但至少意味着自动运行命令或关键动作资格要被撤销。
5 保护停机
保护停机往往比普通联锁停机更重一些。
它强调的是:
为了保护设备、人身、工艺安全,程序必须快速甚至立即中断相关动作。
例如:
超温保护
超压保护
电机严重过流
液位过低导致干转风险
机械冲突风险
关键安全链断开
润滑丢失但主轴仍可能继续转
加热失控
运动轴超限
保护停机的核心不是“流程不让继续”,
而是:
再不立刻处理,后果会很严重。
所以它通常动作更快、优先级更高、恢复条件也更严格。
三 为什么“报警”和“停机”不是一个概念
这是这一讲最重要的基础观念之一。
很多初学者一说报警,就下意识觉得:
报警 = 停机
其实在工程现场里,这两者不是一个概念。
报警
表示程序发现异常,并把这个异常呈现出来。
停机
表示程序决定当前不能再继续运行,或者必须停止某些动作。
两者的关系是:
有些报警只提示,不停机
有些报警会联锁停机
有些报警先提示,升级后才停机
有些停机不只是报警,还伴随保护动作、锁存和复位要求
比如:
料位低,可以先报警提示补料,不一定马上停
油温偏高,可以先预警,不一定停
安全门打开,通常就不能只是报警,必须联锁停机
超温保护,则不仅报警,还要立刻切断加热输出
所以你以后写程序时,一定要把这两个问题分开问:
这个异常要不要报警
这个异常要不要停机
不要把它们混成一句话。
四 报警分级到底在分什么
很多人以为报警分级就是:
一级报警
二级报警
三级报警
然后编号一下就算完了。
其实真正要分的,不是编号,而是策略。
报警分级真正要分的是这些东西:
第一,严重程度
这个问题是小问题、可观察问题、一般故障、严重故障,还是保护级故障。
第二,处理方式
只是显示
显示加蜂鸣
限制某些动作
停某个单元
停整机
切保护输出
第三,优先级
如果多个异常同时出现,哪个更重要,哪个先处理。
第四,恢复方式
自动恢复
条件消失即恢复
条件消失后延时恢复
必须人工复位
必须人工检查后复位
第五,锁存策略
是否要记住
掉电后要不要保留
是否要记录故障历史
所以报警分级不是“给故障穿不同颜色衣服”,
而是:
给不同异常配不同处理策略。
五 一个特别实用的分类方法:把异常先分成“信息类、工艺类、设备类、安全类”
这个方法很适合做工程思路整理。
1 信息类
这类更偏提示或状态信息。
例如:
班产达标
当前等待来料
当前处于待复位
当前处于手动模式
某配方已切换
维护周期提醒
这类通常不属于真正意义上的故障。
它们的作用更多是告诉人当前状态。
2 工艺类
这类表示工艺条件异常,但不一定立刻威胁安全。
例如:
温度偏高
压力偏低
液位偏低
流量偏小
某工序超时
某参数超推荐范围
来料不足
产品不到位
这类常常适合做预警、报警、联锁停机的分层。
3 设备类
这类表示设备本身出了问题。
例如:
电机热继动作
伺服报警
变频器故障
气压异常
传感器异常
通讯中断
电磁阀故障
风机反馈丢失
这类往往比工艺类更容易走到联锁停机。
4 安全类
这类通常优先级最高。
例如:
急停按下
安全门打开
安全光幕触发
关键防护失效
超温保护
超压保护
润滑丢失导致危险
机械超限
这类往往不能只是“报警看看”,
而必须考虑联锁停机甚至保护停机。
所以你一旦先把异常分成这几类,
后面“到底该怎么处理”就容易想很多。
六 为什么一个好的程序,常常会把“提示”“预警”“故障”“保护”分开显示
这不仅仅是为了好看,
更是为了帮助现场人员快速判断问题性质。
想象一下,如果所有异常都只是统一显示成:
报警 01
报警 02
报警 03
操作员往往会麻木。
因为他根本不知道:
哪个只是提醒
哪个需要马上处理
哪个会导致停机
哪个是保护动作
更好的做法通常是:
提示类一组
预警类一组
故障类一组
保护停机类一组
哪怕画面没有做得非常复杂,
至少在程序层面你也应该先把这几类分清。
因为这会直接影响:
灯怎么亮
蜂鸣怎么响
是否停机
如何恢复
如何记录
所以报警分级不仅影响程序,
也影响 HMI 呈现和现场体验。
七 一个特别常见的问题:为什么有些设备“老报警但不停机”,最后操作员根本不当回事
这叫报警疲劳。
在现场特别常见。
如果程序里很多异常都只是不断报警、不断响、不断闪,
但操作员发现:
这些报警很多时候并不影响设备
也没什么后果
停不下来也不严重
或者总是误报
久而久之,大家就会习惯性忽略。
这非常危险。
因为等真正严重故障来了,
它也会淹没在那堆“平时就老响”的报警里。
所以成熟一点的程序会尽量避免:
把一堆轻微状态也做成高强度报警
把一些经常发生但影响不大的状态和严重故障混在一个层级
让蜂鸣器为每一个小问题都大张旗鼓
这说明报警分级不仅是逻辑问题,
也是“人会不会认真对待报警”的问题。
八 一个特别常见的反面问题:为什么有些设备已经很危险了,程序却只是“轻描淡写报个警”
这和前面相反。
有些程序把所有异常都做轻了,
现场就会出现:
门打开了,只是画面弹个提示
温度严重超了,只是报警灯亮
关键风机停了,主加热还在继续
液位已经掉到保护区,泵还在跑
润滑没了,主轴还勉强运行
这种就不是“太敏感”,
而是“太迟钝”。
所以报警分级的难点正好就在这里:
不能什么都太重
也不能什么都太轻
真正好的程序,要做到:
轻的问题别大惊小怪
重的问题别轻描淡写
这就是工程判断。
九 一个很实用的判断方法:一个异常到底该不该停机,先问这四个问题
以后你碰到一个异常,不知道要不要停机,可以先问自己四个问题。
第一问
它会不会马上造成危险动作或人身风险?
如果会,优先级通常很高,往往要保护停机。
第二问
它会不会很快损伤设备或工艺?
如果会,也很可能要联锁停机甚至保护停机。
第三问
它会不会导致后续动作逻辑失真或机构冲突?
如果会,至少要禁止流程继续。
第四问
它是不是允许当前动作先安全结束,再停?
如果允许,就不一定非得瞬间硬切。
可以做成当前步结束后停,或者撤销自动运行命令。
你会发现,这四个问题其实是在帮你判断:
是提示
是报警
是联锁停机
还是保护停机
这个判断方法非常实用。
十 什么叫“当前动作先结束,再停”,为什么这也是一种停机策略
很多人一说停机,就默认是:
立刻全部断掉
但现场其实不是所有问题都适合这样处理。
例如:
来料不足
下游满料
某个辅助条件丢失
某工步不适合中途硬停
某机构停在中间反而更危险
这时候更合理的策略可能是:
当前动作先收完
当前步骤先安全结束
然后不再进入下一步
或者撤销自动运行命令,转入停机等待
这也是停机策略的一种。
它比“立刻全切”更柔和,但并不等于忽视问题。
所以停机策略不只是“停或不停”,
还包括:
立刻停
延后停
单元停
整机停
撤销自动
禁止重启
保留当前状态待复位
这就是为什么一讲到报警分级,后面一定要连着讲停机策略。
十一 故障锁存为什么通常和停机策略绑在一起
前面第13讲我们讲过锁存,
这一讲要把它和报警分级连起来。
很多严重故障为什么不适合“条件一消失就自动恢复”?
因为如果它一消失就没了,
操作员可能根本不知道刚才发生过什么。
而且系统可能立刻又继续运行,存在风险。
例如:
热继动作
伺服报警
超温保护
气压严重不足
安全门打开导致停机
动作超时
关键阀门不到位
这些问题往往更适合:
故障成立 → 报警/停机 → 锁存
原始条件恢复后 → 仍保留故障状态
操作员确认后按复位 → 才允许系统重新运行
这就说明:
严重异常不只是要不要停机的问题,
还涉及停完以后是不是要记住这件事。
所以锁存通常更常见于:
联锁停机
保护停机
关键设备故障
而提示、一般预警则不一定需要锁存。
十二 提示、预警、报警、停机,为什么经常要和蜂鸣策略分开设计
这也是一个特别有现场体验感的点。
有些程序喜欢这样写:
只要有任何报警,蜂鸣器就响
结果就是:
一个小提示也响
一个轻微预警也响
一个普通工艺报警也响
一个严重保护停机也响
最后操作员就会觉得:
这个蜂鸣器天天乱叫
更成熟的做法通常是:
提示类
一般不蜂鸣,只显示
预警类
可选短时提示音,或只弹画面
普通报警类
蜂鸣,但允许消音
联锁停机/保护停机类
蜂鸣优先级更高,画面突出显示,且通常要求明确处理
这样蜂鸣器才有“分量”。
不然就会变成背景噪声。
所以报警分级不仅影响停机策略,
还直接影响声光提醒策略。
十三 一个完整小例子:液位低、液位极低,为什么不能算一个层级
咱们用一个很典型的例子来讲透。
场景
某储液箱给系统供液。
液位开始变低时,希望提醒操作员补液。
但如果液位继续下降到危险区,就必须停泵,防止干转。
如果程序只写成一个“低液位报警”
那就会出现两个问题:
第一,操作员不知道现在只是提醒,还是已经危险
第二,程序没法区分“只是补液提醒”和“必须保护停机”
更合理的分层
液位低:预警
液位极低:保护停机
例如:
低于 30% 持续 3 秒,发低液位预警
低于 10% 持续 2 秒,发极低液位报警并停止水泵
恢复时也可以分层:
恢复到 35% 以上并稳定,低液位预警恢复
恢复到 20% 以上并人工复位,极低液位保护解除
你看,这里同样是液位异常,
但因为分了层级,程序立刻就更像工程程序了。
十四 一个完整小例子:油温偏高和超温保护,为什么绝不能一个处理方式
再举一个特别典型的设备类例子。
场景
某设备有润滑油温度监测。
油温略高时,说明散热变差,需要注意。
但如果油温继续升高,可能伤设备。
如果只写一个“温度高报警”
那操作员只能看到“高了”,
却不知道:
现在只是注意一下
还是已经必须停机
更合理的分层
油温偏高:预警
油温过高:报警
油温超高:保护停机
例如:
高于 60℃,预警
高于 70℃,报警
高于 80℃,停止设备并锁存超温保护
你看,这样同一个测点,就被分成了三层策略。
这就是报警分级真正的意义。
十五 为什么“动作不到位”有时只是报警,有时却必须联锁停机
这个场景在自动化设备里非常多。
比如某个气缸动作超时。
是不是所有气缸不到位都必须全机保护停机?
不一定。
要看它的角色。
如果是普通辅助机构
比如某个非关键导料挡块动作慢了一次,
可能先报警并暂停该步骤,不一定非要全机强停。
如果是关键安全相关机构
比如夹紧不到位却还可能进入加工,
那就不能只是报个警,必须联锁禁止下一步,甚至停机。
如果是关键流程必需机构
比如原点机构不到位、门锁不到位、真空未建立,
后续动作继续跑可能导致工件损坏或机构冲突,
那通常也要联锁停机。
所以“动作不到位”不是一刀切。
还是那句话:
先看后果,再定层级。
十六 一个特别关键的判断:停哪儿,是停一个动作、停一个单元,还是停整机
很多人一说停机,就默认整机停。
可现场有时并不一定需要这样。
例如一台设备有:
上料单元
加工单元
下料单元
如果下料单元某个辅助传感器异常,
是不是一定要整机立刻全停?
未必。
有些场景更合理的做法可能是:
只停下料单元
上游不再放新料
当前加工完成后整线逐步停下
又比如某条多段输送线:
某段堵料
这一段及上游停
下游视情况还能继续清空
你会发现,停机策略还有一个很重要的维度:
停机范围。
所以一个成熟程序,往往不仅要决定“停不停”,
还要决定:
停哪个动作
停哪个单元
停到什么程度
其他单元能不能先收尾
这也是很有工程味的地方。
十七 “条件消失就自动恢复”和“必须人工复位”到底怎么选
这又是现场非常常见的设计点。
不是所有报警都该人工复位。
也不是所有故障都能自动恢复。
你可以这样简单判断。
更适合自动恢复的
轻提示
一般预警
短暂工艺波动
不影响安全、也不需要追责的异常
例如:
物料不足提示
液位偏低预警
油温偏高预警
下游忙信号恢复
某个辅助状态恢复正常
这类很多时候条件没了,就可以自动恢复。
更适合人工复位的
联锁停机
保护停机
关键设备故障
动作超时
安全相关异常
需要人工确认现场状态的情况
例如:
热继动作
伺服报警
超温保护
安全门异常导致停机
关键动作不到位
急停退出后的恢复
所以恢复策略不是统一的,
它本身就是报警分级的一部分。
十八 一个特别实用的思路:把报警处理拆成“检测、分级、动作、恢复”四层
以后你设计报警,可以按这四层来想。
第一层 检测
异常到底成立没有。
这里会用到比较、防抖、滤波、延时确认。
第二层 分级
它是提示、预警、报警、联锁停机,还是保护停机。
第三层 动作
亮灯
弹窗
蜂鸣
停某单元
撤销自动运行命令
切断某输出
锁存故障
第四层 恢复
自动恢复
延时恢复
条件恢复后人工复位
记录历史后再恢复
掉电是否保留
你一旦按这四层想,
报警逻辑就不会只是“条件到了就亮个灯”那么浅。
十九 一个完整小案例:包装机缺料、堵料、安全门打开,该怎么分级
咱们用一个小型自动设备来串起来。
场景一 缺料
设备当前没有来料。
这通常更适合:
报警或提示
自动流程暂停等待
不一定当成故障停机
来料恢复后可自动继续或允许重新启动,视工艺而定
场景二 下游堵料
下游满位,产品送不出去。
这通常比缺料更重一些。
因为继续运行可能会堆积卡料。
可以做成:
堵料报警
停止上游送料
必要时当前动作收尾后停机
堵料解除后可恢复,但可能需要人工确认
场景三 安全门打开
这通常就是更高优先级的异常。
一般会做成:
安全门打开报警
撤销自动运行命令
禁止后续动作
视设备危险程度,必要时切断相关输出
恢复后通常要人工复位
你看,
同样是“异常”,
三个场景的处理味道完全不同。
这就是分级的意义。
二十 一个完整小案例:温度控制系统,怎么把提示、预警、报警、停机分清楚
再看一个模拟量系统。
场景
某加热箱有温度监控。
可以这样分层
温度接近上限:预警
温度超过上限:报警
温度超过危险上限:保护停机
传感器断线:联锁停机或保护停机,视工艺而定
更完整一点
高于 75℃ 持续 5 秒:高温预警
高于 85℃ 持续 5 秒:高温报警
高于 95℃ 持续 2 秒:超温保护,切断加热输出并锁存
温度恢复正常后:
预警和一般报警可自动恢复
超温保护需人工复位
这样一来,操作员就很清楚:
现在只是偏高
已经超了
还是已经危险
程序策略也就更合理。
二十一 初学者最容易踩的几个坑
这一段你后面做现场时会特别有感觉。
1 所有异常都叫报警
结果没有轻重缓急,操作员也分不清哪个更严重。
2 一报警就整机停
设备很难用,轻微问题也把整机搞死。
3 所有问题都只提示不联锁
真正严重问题也没被拦住。
4 没区分预警和保护
导致要么太敏感,要么太迟钝。
5 故障恢复策略没设计
条件一没就消失,操作员根本不知道刚才发生过什么。
6 该人工复位的让它自动恢复
设备可能反复自己起停,风险很大。
7 该自动恢复的却都要人工复位
操作员会被复位按钮烦死,设备体验很差。
8 报警逻辑有了,但停机范围没想清楚
到底停一个动作、停一个单元、停整机,程序里没层次。
9 蜂鸣器策略没分级
所有问题都一样响,最后谁也不重视。
10 只管程序处理,不管画面表达
程序里分了级,画面却都显示成同一种“故障”,效果大打折扣。
二十二 给你一个特别实用的判断顺序:一个异常到底该怎么定级
以后你碰到一个异常,可以按这个顺序问自己。
第一步
它影响的是信息、工艺、设备,还是安全?
第二步
如果不处理,会不会立刻造成危险、人机冲突、设备损伤?
第三步
它是允许当前动作先结束,还是必须立刻中断?
第四步
它解除后能自动恢复,还是必须人工确认?
第五步
它要不要锁存、要不要记历史、要不要掉电保留?
你按这个顺序想,基本就能把提示、预警、联锁停机、保护停机分得比较清楚。
二十三 本课小结
这一课你最少要真正吃透下面这些点。
第一,异常判断成立以后,程序真正要解决的不只是“报不报警”,而是“按什么级别处理、要不要停机、怎么恢复”。
第二,提示、预警、报警、联锁停机、保护停机,不是同一个概念,它们的区别在于严重程度、处理方式、恢复策略和锁存要求。
第三,报警和停机不是一回事。有些报警只提示,有些报警会联锁停机,有些则属于更高优先级的保护停机。
第四,报警分级真正分的不是编号,而是策略,包括严重程度、停机范围、蜂鸣策略、恢复方式、是否锁存等。
第五,严重异常不一定都要“立刻全切”,停机策略还要区分当前动作先结束再停、停某单元、停整机、撤销自动运行命令等不同层级。
第六,自动恢复和人工复位要分清。轻微状态更适合自动恢复,联锁停机和保护类故障通常更适合人工复位。
第七,成熟的报警设计通常会按“检测、分级、动作、恢复”四层来处理,而不是条件成立就直接亮灯。
第八,真正好的程序不会什么都太重,也不会什么都太轻,而是做到轻的问题别大惊小怪,重的问题别轻描淡写。
二十四 学完这一课后,你应该能做到什么
学完这一课,你至少应该能做到这些事情:
知道为什么所有异常都统一叫“报警”会让程序越来越难用
知道提示、预警、报警、联锁停机、保护停机之间到底差在哪
知道一个异常要不要停机,不能只凭感觉,要看风险、后果和恢复方式
知道为什么同样是液位低、温度高、动作不到位,也可能分成不同层级处理
知道为什么锁存、蜂鸣、人工复位、自动恢复都应该跟异常等级对应起来
知道程序稳不稳,不只是逻辑能不能跑,还看你会不会把异常分层对待
到这里,PLC 基础课已经非常接近真实工程现场的味道了。
二十五 下节预告
下一课如果继续往下接,我建议可以顺着这一讲继续讲:
PLC 基础课 第20讲
PLC 与触摸屏配合:参数设定、按钮控制、状态显示、报警页面的基本思路
因为前面这一讲已经把报警分级和处理策略搭起来了,
下一讲正好可以继续讲:
这些参数、模式、状态、报警,到了触摸屏上,应该怎么配合 PLC 才不会乱,才好用、好查、好操作。
推荐阅读:
PLC 基础课 第24讲 模拟量闭环控制入门:恒压供水、恒温控制里 PID 到底在干什么
PLC 基础课 第23讲 Modbus RTU 实战:PLC 读变频器、读仪表、读温控器到底怎么看地址
PLC 基础课 第22讲 串口通讯入门:RS-232、RS-485、波特率、校验位、站号一次搞懂
PLC 基础课 第17讲 联锁逻辑专题:电机互锁、阀门互锁、前后动作联锁怎么写
PLC 基础课 第18讲 防抖、滤波、延时确认:现场信号不稳时,PLC 程序怎么处理
PLC 基础课 第19讲 报警分级与停机策略:提示、预警、联锁停机,到底该怎么分