1. 课程导入

在工业自动化、轨道交通、医疗设备、机器人以及新能源控制系统中,安全输入输出(Safety I/O)并不是普通 I/O 的简单“加固版”,而是一套围绕故障可检测、故障可容忍、失效可预期目标构建的完整设计方法。所谓双通道安全输入输出设计,是指对同一安全功能采用两条相互独立的信号采集或输出驱动通道,通过比较、交叉监视、诊断与表决机制,使系统在单点故障发生时仍能进入安全状态,而不是继续输出危险动作。

本课程面向已经具备基础数字电路、PLC 或嵌入式开发经验的工程师,目标是让学习者能够从“会接线”提升到“会设计安全链路”。学习完成后,你应当能够:

  • 理解安全完整性等级(SIL)、性能等级(PL)与双通道结构之间的对应关系;
  • 掌握安全输入通道的冗余采集、测试脉冲、交叉比较与诊断覆盖率计算方法;
  • 掌握安全输出通道的双路驱动、回读检测、动态测试与安全关断路径设计;
  • 能够根据应用场景选择 1oo2、2oo2、2oo3 等表决结构,并评估共因失效风险;
  • 能够阅读并编写安全 I/O 模块的配置参数、诊断日志与验证测试用例。
核心思想:双通道不是“两个通道同时工作”这么简单,而是让两个通道在物理层、供电层、时钟层、逻辑层尽可能独立,并通过持续诊断证明“如果其中一个通道失效,另一个通道仍能安全地暴露问题或执行安全动作”。

整体知识框架

本课程的知识框架可以概括为“一条主线、三层结构、四类机制”。一条主线是安全功能从输入到输出的完整信号链;三层结构分别是器件层、通道层、系统层;四类机制包括冗余、诊断、表决与安全状态管理。下图展示了双通道安全 I/O 的典型信号链与关键诊断点,后续章节将围绕这些节点逐一展开。

双通道安全 I/O 信号链与诊断点 安全传感器 急停 / 光幕 / 门锁 双触点 / 双输出 输入通道 A 滤波 + 测试脉冲 输入通道 B 独立参考 + 诊断 交叉比较 / 表决 1oo2 / 2oo2 差异检测 安全逻辑单元 安全功能运算 看门狗 / 自检 输出通道 A 高边驱动 + 回读 输出通道 B 低边驱动 + 回读 安全执行器 接触器 / 阀 / 制动 串联双路断电 诊断点 D1 诊断点 D2 诊断点 D3 诊断点 D4 D1 输入测试脉冲 · D2 通道差异比较 · D3 输出回读 · D4 执行器状态反馈

核心原理:冗余、诊断与安全状态

双通道安全 I/O 的第一性原理是用可检测的冗余对抗不可预期的失效。普通 I/O 追求“信号正确”,安全 I/O 追求“即使信号错误,也能被检测并导向安全”。因此,设计时通常遵循以下顺序:

  1. 定义安全功能与安全状态:例如“急停按下后 100 ms 内切断电机动力”,安全状态是“断电”。
  2. 确定所需性能等级:根据风险图或 SIL 评估,确定 PLd、SIL2 或 SIL3 目标。
  3. 选择冗余结构:输入常用 1oo2(任一通道报警即安全),输出常用 2oo2 串联(两通道同时导通才输出)。
  4. 设计诊断覆盖:测试脉冲、回读、交叉比较、看门狗、电源监测等,目标是提高 DC(诊断覆盖率)。
  5. 评估共因失效:两通道若共用电源、时钟、连接器或软件,需通过分离、隔离、多样性降低 CCF。
  6. 验证与确认:通过故障注入、FMEA、MTTFd 计算和现场测试证明安全功能有效。
记忆口诀:输入看“差异”,输出看“回读”,系统看“共因”。输入双通道最怕两路同时“骗”成安全;输出双通道最怕一路短路后另一路仍能导通;系统层面最怕两通道因同一个原因一起失效。

典型应用场景与结构选择

不同场景对双通道的要求差异很大。下表给出常见应用与推荐结构,便于在课程后续章节中对照学习。

应用场景 典型安全功能 推荐输入结构 推荐输出结构 关键诊断
急停回路 切断动力 1oo2 双触点 2oo2 串联接触器 触点差异、回读、粘连检测
安全光幕 进入危险区停机 双 OSSD 输入 双路安全输出 脉冲同步、短路检测
机器人安全门 门开即停 双通道门锁开关 双路制动控制 门锁状态、制动反馈
医疗设备 剂量超限停止 2oo3 传感器表决 双路独立关断 传感器漂移、电源监测
轨道交通 紧急制动 1oo2 冗余采集 2oo2 安全输出 通道同步、看门狗

案例:一个急停回路的双通道设计

假设某包装机需要达到 PLd 等级。急停按钮采用双触点结构,两路信号分别进入安全 I/O 模块的通道 A 和通道 B。模块内部对两路信号进行交叉比较,若差异超过设定时间窗口,则判定为故障并进入安全状态。输出侧采用两个串联的安全继电器,只有两路输出同时导通,电机才能得电。

安全功能配置示例:
输入通道 A:DI0,测试脉冲 1 ms,滤波 3 ms
输入通道 B:DI1,测试脉冲 1 ms,滤波 3 ms
差异容忍时间:50 ms
输出通道 A:DO0,高边驱动,回读 DI2
输出通道 B:DO1,低边驱动,回读 DI3
安全状态:DO0 = 0,DO1 = 0
诊断周期:10 ms
目标:PLd,SIL2,DC ≥ 90%

在这个案例中,如果通道 A 的触点粘连,通道 B 仍能检测到急停按下,系统会在差异容忍时间内切断输出;如果输出通道 A 短路,回读信号会与期望值不符,系统会关闭通道 B 并报警。这就是双通道设计“故障可检测、动作可安全”的具体体现。

常见误区与复盘

误区一:“双通道就是接两根线”。如果两根线共用同一个电源、同一个参考地或同一段软件,共因失效会让冗余失效。
误区二:“有诊断就等于安全”。诊断覆盖率必须量化,且诊断本身也要有足够的可信度。
误区三:“输出双通道就是并联”。安全输出通常采用串联或“与”逻辑,并联会降低安全关断能力。
误区四:“忽略安全状态定义”。如果安全状态定义错误,再好的冗余也会把系统导向危险侧。

复盘方法:针对每一个安全功能,画出“传感器—输入通道—逻辑—输出通道—执行器”的完整链路,标出每个节点的故障模式、诊断手段和共因风险。只要链路上存在一个未被覆盖的单点故障,双通道设计就还没有闭环。