工业自动化中的 AI

文章指南

如何为间歇性信号丢失编程锁存和首出报警

学习如何利用锁存逻辑捕获瞬态 PLC 故障,并通过首出(First-Out)报警保留初始触发原因,随后在 OLLA Lab 中使用方波输入测试验证该序列。

直接回答

为了诊断 PLC 系统中的间歇性信号丢失,工程师通常需要两样东西:一种能够捕获瞬态故障的锁存机制,以及一种在级联故障中保留初始触发原因的首出(First-Out)报警逻辑。在 OLLA Lab 中,可以使用方波输入测试在现场调试前安全地验证该行为。

本文回答的问题

文章摘要

为了诊断 PLC 系统中的间歇性信号丢失,工程师通常需要两样东西:一种能够捕获瞬态故障的锁存机制,以及一种在级联故障中保留初始触发原因的首出(First-Out)报警逻辑。在 OLLA Lab 中,可以使用方波输入测试在现场调试前安全地验证该行为。

间歇性故障通常不是“神秘跳闸”,而是快速跳闸。松动的传感器引线、微动磨损的端子或弹跳的触点,其状态改变速度足以让 PLC 做出反应并关闭流程,而 HMI 却无法显示稳定的激活报警。

在 OLLA Lab 的内部压力测试中,对未锁存的电机允许信号施加 10 Hz 的方波干扰,每分钟产生了 600 次状态改变。[方法论:1 个数字量输入测试用例 / 未锁存允许信号基准 / 单次 60 秒运行] 这支持了一个狭窄的观点:瞬态故障的循环速度远快于操作员在屏幕上可靠观察到的速度。这并不能证明现场故障率或全厂报警性能。

一名“仿真就绪”(Simulation-Ready)的工程师不仅仅是能绘制梯形图语法的人,更是能在逻辑到达实际流程之前,证明、观察、诊断并强化逻辑以应对现实异常行为的人。这种区别至关重要。语法很廉价,但调试错误却代价高昂。

工业控制系统中的“振动故障”是由什么引起的?

“振动故障”通常是间歇性的电气不连续,而不是软件幽灵。常见原因包括触点微动磨损、端子松动、电缆退化、连接器磨损,以及在冲击或振动下的机械开关弹跳。

控制后果很直接。一个本应保持稳定的数字量输入开始在 `True` 和 `False` 之间抖动。如果该输入是允许、跳闸、证明或运行反馈链的一部分,即使干扰时间短到 HMI 刷新或操作员观察窗口无法清晰捕捉,PLC 也能在其扫描周期内做出反应。

这种时序不匹配才是真正的问题所在。PLC 扫描时间通常在毫秒级,而 HMI 更新行为较慢,且通常受到通信、轮询间隔和显示逻辑的过滤。机器停止了,报警清除了。操作人员称之为随机故障,但通常并非如此。

间歇性信号丢失的常见来源

  • 接线端子或继电器触点的微动腐蚀
  • 配线柜或设备端子处的现场接线松动
  • 高振动设备上 M12 或类似连接器的退化
  • 冲击期间的限位开关弹跳或机械对齐不良
  • 靠近移动设备、铰链或拖链处的电缆疲劳
  • 由于电源边缘化或接地故障导致的传感器电源中断

这里有一个有用的修正:并非每个闪烁的输入都需要先进行去抖动。如果信号代表了真正的允许或证明丢失,过早地屏蔽它可能会掩盖初始故障。噪声过滤和故障捕获是相关的问题,但它们不是同一个问题。

如何使用方波来模拟松动的电线?

方波是离散间歇性故障注入的正确测试模式,因为它强制执行确定性的布尔值切换。实际上,它的行为就像电线或触点反复接通和断开连接。

在 OLLA Lab 中,方波信号可以绑定到数字量输入,并用于对依赖该输入的逻辑路径施加压力。这就是该平台在操作上变得有用的地方:你不再是询问梯形图看起来是否合理,而是询问控制序列是否真正捕获了瞬态故障、保留了初始触发原因,并将流程驱动到了安全状态。

故障测试中的波形应用

| 波形 | 最佳用途 | 工程目的 | |---|---|---| | 正弦波 | 模拟漂移或周期性过程变化 | 观察渐进式数值变化和阈值行为 | | 锯齿波 | 指令斜坡或跟踪行为 | 测试模拟量跟随和复位模式 | | 方波 | 离散布尔值切换 | 模拟松动的电线、弹跳的触点或间歇性的证明信号 |

重点不在于为了波形多样性而使用波形,而在于将故障模型与失效模式相匹配。松动的电线不是正弦波。

如何编程一个基本的锁存电路来捕获瞬态故障?

锁存电路用于在初始条件消失后保留故障证据。如果没有这种保留,PLC 可能会正确跳闸,但不会留下任何关于发生了什么的持久指示。

有两种常见的梯形图方法:自保持(Seal-in)模式和显式的锁存/取消锁存(Latch/Unlatch)指令。两者都是有效的,但不能互换。

自保持 vs. OTL/OTU

使用输出自身的触点在并联分支中,在初始条件发生后保持状态。

  • 标准自保持(自锁)
  • 通常适用于非保持性控制行为
  • 通常在断电时丢失状态
  • 常用于电机控制和简单的报警保持电路

使用显式的保持性内存行为。

  • 锁存/取消锁存(OTL/OTU 或等效保持指令)
  • 位保持 `True` 直到执行明确的复位
  • 比简单的自保持分支更明确地跨越逻辑转换
  • 需要严谨的复位设计和操作员确认逻辑

工程选择取决于必须记住什么、记住多久,以及跨越什么样的系统状态变化。保持性是有用的;意外的保持性则是一个附带文书工作的麻烦。

示例:基本的锁存故障捕获

目标: 捕获 `Motor_Run_Proof` 的短暂丢失,以便在信号恢复后报警依然可见。

| Motor_Commanded_On | /Motor_Run_Proof |--------------------(OTL Fault_Motor_Run_Proof_Latched) |

| Reset_Faults_PB |-----------------------------------------(OTU Fault_Motor_Run_Proof_Latched) |

操作含义:

  • 如果电机被指令开启且运行证明丢失,则锁存故障位。
  • 即使运行证明恢复,故障依然保持激活。
  • 诊断后需要进行明确的复位。

这是捕获瞬态所需的最小结构。它还不是首出逻辑。

什么是首出(First-Out)报警逻辑,为什么 ISA-18.2 要求它?

首出报警逻辑在单个故障触发一系列二次报警时,保留初始报警。实际上,它回答了操作员和技术人员最需要首先知道的问题:到底是什么先发生的?

ISA-18.2 是过程工业的报警管理标准。虽然实现方式因系统和理念而异,但该标准的报警合理化原则强烈支持那些能够防止报警泛滥并保留有意义的操作员响应的报警设计。首出逻辑是处理级联故障时常用且合理的方法。

以下是故障模式。振动引起的间歇性跳闸导致主电机停止。一旦电机停止:

  • 流量可能下降,
  • 压力可能崩溃,
  • 温度控制可能漂移,
  • 下游允许信号可能丢失。

如果每个产生的结果都产生同等程度的报警,初始原因就会被后果掩盖。这并不能提高可见性,只会增加混乱。

为什么首出逻辑在级联故障中很重要

  • 它保留了初始事件以供诊断
  • 它抑制了误导性的报警泛滥
  • 它提高了操作员的响应质量
  • 它支持事后故障排除和报警审查
  • 它符合 ISA-18.2 风格治理下的合理报警设计原则

标准首出梯形图概念

一种常见的模式是:当第一个合格的报警发生时,设置一个全局的 `First_Out_Active` 位,然后阻止后续的候选者声明“第一”的位置。

// 候选 1:振动 / 间歇性证明故障 | /First_Out_Active | Fault_Vibration_Latched |---------(OTL FirstOut_Vibration) | | /First_Out_Active | Fault_Vibration_Latched |---------(OTL First_Out_Active) |

// 候选 2:低流量后果 | /First_Out_Active | Alarm_Low_Flow |-----------------(OTL FirstOut_Low_Flow) | | /First_Out_Active | Alarm_Low_Flow |-----------------(OTL First_Out_Active) |

// 候选 3:低压力后果 | /First_Out_Active | Alarm_Low_Pressure |-------------(OTL FirstOut_Low_Pressure) | | /First_Out_Active | Alarm_Low_Pressure |-------------(OTL First_Out_Active) |

// 复位 | Reset_First_Out_PB |----------------------------------(OTU First_Out_Active) | | Reset_First_Out_PB |----------------------------------(OTU FirstOut_Vibration) | | Reset_First_Out_PB |----------------------------------(OTU FirstOut_Low_Flow) | | Reset_First_Out_PB |----------------------------------(OTU FirstOut_Low_Pressure) |

工程意图:

  1. 第一个有效的报警设置其自身的首出位。
  2. 同一事件设置 `First_Out_Active`。
  3. 一旦 `First_Out_Active` 被设置,后续的报警将无法覆盖初始原因。
  4. 复位仅通过明确的诊断工作流程进行。

图片替代文本:OLLA Lab 变量面板的截图,显示了首出报警序列。振动传感器位被锁存为真,而随后的低流量和低压力报警被阻止激活主要的 HMI 警报。

实用提示:首出逻辑应设计有明确的合格规则。如果你允许滋扰报警、陈旧位或未正确复位的状态进入候选池,该序列将忠实地保留错误的答案。

Ampergon Vallis 如何验证首出序列?

Ampergon Vallis 通过将受控的间歇性故障注入模拟输入路径,并观察逻辑是否捕获了初始事件、抑制了下游报警杂波,并将流程置于安全状态,来验证首出行为。这就是其界定的范围。

在 OLLA Lab 中,“数字孪生验证”应从操作层面而非浪漫层面来理解。这意味着在定义好的故障案例下比较梯形图状态、I/O 状态和模拟设备响应,以验证控制理念在实际部署前是否按预期运行。

用于间歇性故障验证的典型 OLLA Lab 工作流程

  1. 绑定信号源 将 OLLA Lab 方波发生器分配给目标数字量输入,例如 `DI_03_Vibration_Sw` 或 `Motor_Run_Proof`。
  2. 运行模拟流程 启动相关的 3D 或基于 Web 的设备场景,并建立正常运行状态。
  3. 注入间歇性故障 以选定的频率触发方波,产生可重复的 `True/False` 切换。
  4. 观察变量面板 确认初始故障位已锁存,首出位声明正确,且二次报警被阻止占据第一位置。
  5. 验证安全状态行为 检查输出、允许信号和序列状态是否移动到预期的安全条件。
  6. 复位并重新测试 明确清除序列,然后重新运行干扰以确认可重复性。

这个工作流程很有用,因为它预演了一类在真实设备上难以重现、风险较高或具有物理破坏性的调试任务。故意让现场设备频繁抖动,并不是与维护人员建立良好关系的明智方式。

在间歇性故障测试期间,“正确”的行为应该是什么样的?

必须在测试开始前定义“正确”的行为。否则,工程师最终只会欣赏动画,却学不到什么东西。

对于锁存首出设计,“正确”通常意味着:

  • 即使信号恢复,初始故障也能被捕获,
  • 流程转换到定义好的安全状态,
  • 二次报警在内部可能仍然存在,但不会覆盖首出指示,
  • 复位是明确且受控的,
  • 该序列在多次测试运行中是可重复的。

这就是控制背景下“仿真就绪”的实际含义:工程师可以陈述预期行为、注入故障、观察结果,并在行为与控制理念不符时修改逻辑。

一份紧凑的工程证据包

在记录这项工作时,要构建证据,而不是截图画廊。使用以下结构:

  1. 系统描述 定义机器或流程段、相关的 I/O 以及控制目标。
  2. “正确”的操作定义 明确说明逻辑在故障、报警、安全状态转换和复位期间应该做什么。
  3. 梯形图逻辑和模拟设备状态 展示梯形图逻辑及其所控制的设备状态或序列状态。
  4. 注入的故障案例 记录受干扰的输入、使用的波形、频率、持续时间和预期的后果链。
  5. 所做的修订 记录测试后发生了什么变化:锁存位置、复位条件、报警合格性或首出阻塞逻辑。
  6. 经验教训 捕捉工程心得,特别是在原始逻辑失败或产生模糊操作员信息的地方。

这种格式比精美的仪表盘图像更具说服力,因为它展示了推理、故障处理和修订纪律。雇主和审查人员通常更喜欢判断力的证据,而不是鼠标点击的证据。

何时应该使用去抖动逻辑而不是锁存加首出逻辑?

当信号有噪声但并不代表必须立即捕获的有意义的异常情况时,去抖动逻辑是合适的。当瞬态表示必须为诊断保留的真实故障、跳闸或证明丢失时,锁存加首出逻辑是合适的。

区别很简单:

  • 去抖动 问的是:“我应该忽略这种短暂的不稳定性吗?”
  • 锁存 + 首出 问的是:“如果这种不稳定性是真实的,我该如何保留初始触发原因?”

许多系统两者都需要,但必须按正确的顺序并带有正确的意图。过滤掉滋扰输入可以提高鲁棒性。过滤掉危险或生产关键事件的唯一证据则是另一回事。

有哪些标准和技术文献支持这种方法?

该方法得到了既定的报警管理、功能安全和仿真文献的支持,尽管每个来源管理的问题部分不同。

相关标准和文献

  • ISA-18.2 支持过程环境中的严谨报警理念、合理化、优先级排序和报警泛滥管理。
  • IEC 61508 为安全相关的电气、电子和可编程系统提供了更广泛的功能安全框架。它没有规定你的具体首出梯形图,但它确实加强了对确定性行为、验证和生命周期纪律的需求。
  • exida 指导和行业实践 一贯强调行为证明、异常条件处理以及在安全相关背景下部署前的验证。
  • 数字孪生和仿真文献 在工业工程和控制领域支持将仿真作为测试控制响应、操作员交互和故障场景的有效环境。

这里的狭窄主张是站得住脚的:仿真是在调试前验证报警和故障处理逻辑的可信场所。如果主张仅凭仿真就能赋予现场能力,那是不严肃的。

结论

间歇性信号丢失很难诊断,因为故障可能在操作员看到之前就消失了。工程上的答案不是猜测。而是用锁存器捕获瞬态,用首出逻辑保留初始原因,并在代码到达实际设备之前,针对现实的故障注入验证该序列。

这就是 OLLA Lab 可信的地方。它是一个基于 Web 的梯形图和数字孪生模拟器,让工程师能够构建逻辑、运行仿真、监控 I/O 和变量,并注入可重复的故障行为(如方波布尔值切换),以测试序列是否真正经得起考验。如果使用得当,它是调试判断力的预演环境,而不是替代品。

继续探索

Interlinking

References

编辑透明度

本博客文章由人类作者撰写,核心结构、内容和原创观点均由作者本人创建。但本文部分文本在 ChatGPT 和 Gemini 的协助下进行了润色。AI 仅用于语法与句法修正,以及将英文原文翻译为西班牙语、法语、爱沙尼亚语、中文、俄语、葡萄牙语、德语和意大利语。最终内容已由作者进行严格审阅、编辑与验证,作者对其准确性承担全部责任。

作者简介:PhD. Jose NERI, Lead Engineer at Ampergon Vallis

事实核验: 技术有效性已于 2026-03-23 由 Ampergon Vallis 实验室 QA 团队确认。

可直接实施

使用仿真支撑的工作流,将这些洞见转化为可衡量的工厂成果。

© 2026 Ampergon Vallis. All rights reserved.
|