安全控制器(Safety Controller)与我们日常用的普通PLC(可编程逻辑控制器)有本质区别。它的核心使命是:即使自身发生故障,也必须导向安全状态,绝不能输出错误的危险指令。
因此,其软硬件要求主要围绕"容错、诊断、冗余"来构建,由 GB/T 20438(IEC 61508) 等标准严格定义。
一、硬件要求:冗余、诊断与高鲁棒性
硬件设计的重点是确保可靠性,即使单个元件损坏也能保证安全。
· 核心架构:普遍采用 1oo1D(一取一加诊断,如YPS系列)或 1oo2D(二取一)架构。这是硬件实现 SIL 2(如艾默生CPS400)到 SIL 3(如欧姆龙NX系列)安全等级的基础。
· 处理器与内存:多采用带锁步(Lockstep)功能的双核/多核ARM(如Cortex-R系列),实时对比运算结果以防计算错误。同时,内存(如64MB)需配ECC纠错码功能。
· 安全I/O:输入需支持双通道冗余检测;输出必须能回采(检测实际输出值),并有钳位电路,确保故障时输出安全关断。
· 通信冗余:安全通信(如FSoE、PROFIsafe)基于"黑通道"原则,通常配双路CAN或以太网,靠协议软件(而非硬件)保证数据完整性。
· 物理隔离与防护:内部电路设计严格的隔离与保护,达到 IP20~IP67 防护等级,且能耐受高震动、-30℃ 等恶劣工况。
二、软件要求:模块化、V型流程与文档
软件要求围绕 系统性能力,重点是流程和文档必须完整、可追溯。
· 开发生命周期(V模型):软件开发必须严格按照 V型开发模型进行:从需求设计、架构设计、详设编码,到单元测试、集成测试和最终确认,每一步都需严格追溯。
· 模块化与安全编码:软件必须模块化,避免无限循环导致程序锁死,并能过滤无效数据。常使用经认证的安全功能块(Safe Function Blocks)简化开发。
· 工具与平台认证:集成开发环境(IDE)本身也需要认证,比如 CODESYS 有专门的安全版。
· 详尽的文档记录:这是审核的重点,至少需要提供:
· 功能描述:模块划分、交互方式、流程图。
· 内存映射:程序和数据的完整存储器地址分配。
· 存储保护:预置数据存于不易失存储器,修改需密码;现场设置数据断电需保存14天以上。
· 版本控制:所有软件版本的唯一标识符。
三、关键安全指标
产品最终会通过TÜV等机构认证,参数表通常标出以下等级:
指标 说明 示例
SIL (IEC 61508) 安全完整性等级,分1/2/3/4级,SIL 2(用于单机)和 SIL 3(用于复杂系统)最常见。 艾默生CPS400:SIL 2
PL (ISO 13849) 性能等级,分a/b/c/d/e级,PL d(对应SIL 2)和 PL e(对应SIL 3)常见。 ESC210:PL e
Cat. (ISO 13849) 类别,指架构冗余等级(B,1-4)。Cat.3/4 指需要硬件冗余。 恒立C3:Cat.3
关于具体的硬件选型,你目前规划的应用场景需要达到哪个安全等级(如SIL 2还是SIL 3)?