2. 机器安全法规与标准体系

机器安全工程不是“加几个急停按钮”这么简单,它是一套由法规、标准、风险评估、安全功能设计与验证共同构成的闭环体系。在TwinCAT项目中,这套体系最终会落到具体的PLC变量、安全任务周期、FSoE连接和验证报告上。理解标准之间的分工,是避免“设计合规但实现不合规”的前提。

标准体系的分层逻辑

机器安全标准通常分为三层:A类基础安全标准、B类群体安全标准、C类机器安全标准。A类给出通用原则,例如ISO 12100(风险评估与风险减小)、IEC 61508(功能安全基础);B类针对某类安全装置或技术,例如ISO 13849-1(控制系统安全相关部件)、IEC 62061(机械安全功能安全);C类则针对具体机器,如注塑机、包装机、机器人。C类标准优先于B类,B类优先于A类,这是标准引用的基本优先级。

ISO 12100是整套体系的起点。它要求先做风险评估,再通过“本质安全设计—安全防护—补充保护措施—使用信息”的顺序减小风险。风险评估不是一次性文档,而是贯穿设计、制造、调试、改造全生命周期。对于TwinCAT项目,风险评估的输出直接决定安全功能的种类、所需性能等级以及安全回路的架构。

ISO 13849-1与性能等级PL

ISO 13849-1用性能等级PL(Performance Level)描述安全功能在预期条件下的可靠性,分为PL a到PL e。PL由五个参数共同决定:架构类别(Category B、1、2、3、4)、MTTFd(平均危险失效时间)、DC(诊断覆盖率)、CCF(共因失效)以及软件层面的SRP/CS。Category 3和4要求冗余结构,Category 4还要求高诊断覆盖率。

在TwinCAT中,PL的实现不是靠软件“算”出来的,而是由硬件架构、接线方式、诊断信号和软件逻辑共同决定。例如一个Category 3的急停回路,需要双通道输入、交叉监控、以及对外部接触器反馈触点的读取。TwinCAT Safety PLC中的安全逻辑必须与硬件架构一致,否则PL声明无效。

IEC 62061与SIL

IEC 62061使用安全完整性等级SIL(SIL 1~SIL 3)描述安全功能。它与ISO 13849-1的关系是:两者都可以用于机械安全功能,但方法论不同。ISO 13849-1更偏向“架构+可靠性”的定性/半定量方法,IEC 62061则基于IEC 61508的功能安全框架,使用PFHd(每小时危险失效概率)进行定量计算。SIL 2对应的PFHd范围是10⁻⁷到10⁻⁶ h⁻¹,SIL 3是10⁻⁸到10⁻⁷ h⁻¹。

在TwinCAT项目中,如果采用IEC 62061路线,需要为每个安全功能建立安全需求规格(SRS),计算子系统的PFHd并求和,再与目标SIL对比。TwinCAT Safety的FSoE通信、安全任务周期、看门狗时间都会影响PFHd的取值,这些参数必须在验证报告中体现。

IEC 61508:功能安全的基础

IEC 61508是功能安全的“母标准”,它定义了安全生命周期、安全完整性、硬件故障裕度、系统能力等概念。ISO 13849-1和IEC 62061都从它派生。IEC 61508强调:安全功能必须独立于标准控制功能,安全相关软件必须经过验证,安全回路必须考虑系统性失效和随机硬件失效。

在TwinCAT中,这意味着安全程序不能与标准程序混在同一个任务中,安全变量不能由标准逻辑直接写入,安全通信必须使用FSoE而非普通EtherCAT过程数据。TwinCAT Safety PLC通过独立的Safety Task、安全签名和强制校验机制来满足这些约束。

机器安全标准体系与TwinCAT落地映射 A类 · 基础安全标准 ISO 12100 风险评估与风险减小 | IEC 61508 功能安全基础(安全生命周期、SIL、硬件故障裕度) B类 · 群体安全标准 ISO 13849-1 性能等级PL(Category / MTTFd / DC / CCF) | IEC 62061 SIL(PFHd定量计算) C类 · 机器安全标准 注塑机、包装机、机器人、机床等专用标准(优先于B类,B类优先于A类) TwinCAT 项目落地约束 安全任务独立 Safety Task 与标准任务分离 安全变量不可被标准逻辑写入 FSoE 安全通信 安全数据走FSoE通道 看门狗与连接超时监控 验证与签名 安全程序签名校验 PL/SIL验证报告归档 标准→实现

从标准到TwinCAT:关键落地约束

第一,安全功能必须独立。TwinCAT Safety PLC中的安全程序运行在独立的Safety Task中,标准PLC程序不能直接写安全输出。安全输入通过FSoE从安全I/O模块读取,安全输出同样通过FSoE下发。标准逻辑只能读取安全状态用于显示,不能反向控制。

第二,安全通信必须可监控。FSoE连接需要配置看门狗时间,通常取安全任务周期的3~5倍。如果看门狗超时,安全输出必须进入安全状态。在TwinCAT中,这通过FSoE主站和从站的连接参数配置,并在安全程序中处理连接状态位。

第三,安全程序必须可验证。TwinCAT Safety支持安全程序签名,任何修改都会改变签名值。验证报告需要记录签名、安全任务周期、FSoE配置参数、以及每个安全功能的PL或SIL计算结果。这些内容不能只存在于工程师的电脑里,必须形成可追溯的文档。

示例:一个急停安全功能的PL验证路径

假设某设备急停功能要求达到PL d。安全回路包括:双通道急停按钮(Category 3)、安全输入模块、TwinCAT Safety PLC、安全输出模块、双接触器。MTTFd取30年,DC取90%,CCF取65分。按照ISO 13849-1的简化方法,Category 3、MTTFd高、DC高,可达到PL d。在TwinCAT中,需要确认安全输入模块的诊断覆盖率、安全任务周期是否满足响应时间要求、以及接触器反馈触点是否接入安全输入。

响应时间计算示例:急停按钮动作到安全输出断开的总响应时间 = 输入滤波时间 + FSoE通信时间 + 安全任务周期×2 + 输出模块响应时间。假设输入滤波10ms、FSoE通信5ms、安全任务周期4ms、输出响应10ms,则总响应时间约为10+5+8+10=33ms。这个值必须小于风险评估中确定的允许响应时间,否则需要调整任务周期或更换更快模块。

在TwinCAT项目中,安全任务周期不是越短越好。周期过短会增加CPU负载,也可能导致FSoE看门狗频繁触发。通常建议安全任务周期为4~10ms,具体取决于安全功能的响应时间要求和FSoE从站的处理能力。

常见误区与检查要点

误区一:认为用了安全PLC就自动满足PL或SIL。实际上,PL/SIL取决于整个安全回路,包括传感器、逻辑、执行器和通信。TwinCAT Safety只是逻辑部分,必须与外部硬件架构匹配。

误区二:把标准程序和安全程序写在同一个任务中。这违反IEC 61508的独立性要求,也会导致安全签名失效。TwinCAT Safety强制安全程序独立编译和下载。

误区三:忽略FSoE通信的诊断。FSoE连接状态、看门狗计数、CRC错误都应该在安全程序或诊断程序中被监控。如果只看“通信正常”灯,可能掩盖间歇性故障。

检查要点可以归纳为:安全功能清单是否与风险评估一致;每个安全功能的PL/SIL目标是否明确;安全回路架构是否与Category或SIL要求匹配;TwinCAT安全任务周期和FSoE参数是否记录在验证报告中;安全程序签名是否与发布版本一致。

标准体系的价值不在于背诵条款,而在于把“风险—功能—架构—参数—验证”串成一条可追溯的链。在TwinCAT项目中,这条链最终体现为安全任务、FSoE连接、安全签名和验证报告。只有每一环都对齐,机器安全才是可证明的,而不是可声称的。