安全回路这块,我在现场见过太多“看着能转就以为安全”的接法。有人把急停直接串进接触器线圈,有人拿普通PLC输入点去读安全光幕,还有人把伺服STO当普通输出口去驱动中间继电器。表面上看设备确实能停下来,可真到了关键故障,触点粘连、短路检测、冗余判断这些能力一个都没有,安全功能实际是失效的。要搞清楚安全回路该怎样划分,最核心的就是把输入、逻辑、输出这三段彻底切开,每段单独设计、单独评估、单独测试。这篇东西就围绕这个划分思路写,适合搞非标设备、机器人工作站、自动化产线改造的电气工程师和PLC程序员看,也适合刚接触安全标准的朋友建立一个正确框架。
1. 先搞清楚:为什么安全回路非得按“输入—逻辑—输出”来划分
1.1 安全功能的链路本质
任何一条安全功能,无论它看起来是简单还是复杂,本质上都能拆成三个环节:检测危险事件,这个是“输入”;根据检测结果做判断,决定要不要触发保护动作,这个是“逻辑”;最后把判断结果变成真实物理动作,切断危险能量,这个是“输出”。
这条链路不是我随便编出来的,ISO 13849-1评估安全功能时,就是按这个功能块顺序来做可靠性分析的。每个环节都会贡献一部分故障率,也都有自己独立的可靠性参数,比如失效率PFH、诊断覆盖率DC、平均无故障时间MTTFd。如果从一开始就把输入、逻辑、输出混为一谈,后期PL等级计算、SIL评级、故障树分析根本无从下手,因为三个环节的可靠性参数全被揉在一起了,算出来也没有参考意义。
从物理接线的角度也一样。一条安全回路如果只靠“把若干触点串在一起”来实现,那个回路里就没有清晰的输入、逻辑、输出边界。万一现场需要增加一个安全门连锁,或调整复位方式,你得把整条串好的线路重新破线,既容易出错又难以验证改动的安全性。而按三段划分后,输入端的变化只影响输入段,逻辑段做相应调整,输出段基本不动,边界非常清楚。
1.2 划分的核心原则:功能独立、诊断配合
我自己在这些年做安全回路设计时,总结下来有几个划分原则很值得固定下来。
第一,输入环节只负责感知,不负责直接断电。急停按钮、门锁开关、光幕、安全地毯这些器件,它们的作用是输出一个状态信号,告诉逻辑环节发生了危险工况。它们不应该直接串接在主接触器线圈回路里承担切断任务。直接串接看似省了个安全模块,但其实丢掉了自动诊断能力,触点粘连、线缆短路、器件失效这些故障完全无法察觉。
第二,逻辑环节只负责决策,不承担大电流驱动。安全继电器模块和安全PLC的输出点本质上是干接点或半导体开关,设计上允许的负载电流很小,通常就是几百毫安到2A的级别。它们在逻辑上决定“该不该断开”,真正切断主回路大电流的是输出环节里的接触器、伺服STO端子或气动安全阀。
第三,输出环节必须把自己的状态反馈给逻辑环节。这个反馈在行业里叫EDM,也译作外部设备监控。它的作用是确认输出器件真的按指令动作了。接触器有没有吸合、有没有焊死、触点有没有卡滞,逻辑模块是看不见的,必须依赖额外反馈触点。这一步是划分三段时最容易漏掉的,漏掉之后的直接后果是接触器即使已经焊接住了,安全模块依然认为输出正常,下一次急停可能根本切不断电机。
第四,各环节之间要明确接口定义。输入端给逻辑端传的是24V干接点信号还是OSSD脉冲信号,逻辑端给输出端发的是允许放电信号还是主动切断信号,这些接口必须在图纸上固定下来,不能出现“我在现场随便找个端子借一下”的做法。
2. 输入端怎么划分:检测元件选型与接线细节
2.1 常见输入器件和信号类型划分
按下实际应用场景,输入器件的信号类型大体分两种。一种是触点型,急停按钮、安全门锁、限位开关、安全地毯都属于这类,输出的是纯粹的导通/断开状态。这类信号本身不具备自检测能力,触点和线缆的故障需要逻辑环节通过周期测试来发现。
另一种是半导体输出型,典型代表是安全光幕和部分安全扫描仪。它们的输出口叫OSSD,全称是Output Signal Switching Device,工作方式是二通道PNP输出,并且带周期性测试脉冲。OSSD口内部会在短时间内主动拉低再恢复,以此检测外部线路是否发生对地短路或通道间短路。正是因为有这个自检测过程,OSSD信号不能拿来直接驱动普通PLC输入点,除非那个PLC输入点明确支持OSSD信号诊断,否则那些测试脉冲会被PLC误判成信号掉落,系统会报出莫名其妙的输入错误。
输入端还有一个经典问题:为什么要做双通道?单通道触点串联是最原始的接法,它有一个致命弱点,就是无法检测触点本身是否发生粘连。一个急停按钮如果触点焊死了,单通道回路看起来永远导通,急停按下后设备根本不会停。而双通道结构利用的是两个触点机械上互相联动的特点,N/C和N/O逻辑上必须相反,逻辑模块通过比较两路信号是否一致就能发现触点粘连或线间短路。正因为这样,绝大多数安全模块的输入端子都成对出现,S11/S12、S21/S22就是两路独立检测回路。
2.2 输入端实操要点和避坑
输入接线这里有不少细节,我从现场经验里挑几个容易踩的坑讲。
第一,不要在安全输入回路上并联指示灯或其他负载。很多人调试时喜欢在急停信号线上并联一个小灯泡来指示状态,这个习惯很危险。安全模块的检测回路通常只有大约10mA级别的电流,并联指示灯后分压,逻辑端的输入检测可能无法正确识别高低电平,而且并接的导线一旦发生短路,会把整个检测回路拉低,模块报故障甚至直接切断输出。想看状态,用模块的指示灯或上位机诊断就行,那才是设计上预留的观察点。
第二,输入线缆的长度和布线位置需要注意。OSSD输出口是有测试脉冲的,线缆存在分布电容和电感,线路拉太长时波形容易畸变,可能导致光幕频繁误报。一般建议安全输入信号线使用屏蔽双绞线,并且和动力线缆分开走线槽,至少保持几十厘米的距离。动力线缆通大电流时会在相邻线缆上耦合出干扰电压,那点干扰对普通信号可能无所谓,但对安全逻辑来说足以造成误触发。
第三,双通道两个触点的接线次序别搞反。一个急停按钮上有两对触点,接线时应该把其中一对接到S11-S12,另一对接到S21-S22。如果你把同一个端子侧的两个触点都接到了同一通道,逻辑模块会看到两路信号完全相同,找不到差分关系,报“输入短路”或“输入不合理”错误。我碰到过一次现场,维修工把门锁的两组触点全部接到了S11和S31这两个正侧端子上,逻辑模块直接拒绝运行。正确做法是每组触点各占据一个独立检测通道的输入和公共端之间。
2.3 输入端检测机制的现场验证
很多工程师不太理解为什么安全模块的输入端电压会在量的时候跳来跳去。其实这正是逻辑环节在对输入回路做等时性测试,行业里也常叫循环测试。逻辑模块会周期性送出短暂的测试脉冲,如果脉冲能顺利回到检测端子,说明线缆没有对地短路、没有通道间短路、触点也确实在正常切换。
所以在现场用万用表量安全输入通道时,看到电压在微小幅度跳动,不是表接触不良,而是测试脉冲正在工作。这个时候不要急着怀疑模块坏了,这恰恰说明输入回路基本正常。这个测试机制的另一个实际意义是,你不能把安全输入接到普通继电器触点上再转接,中间继电器动作时间如果超出了模块的测试窗口,模块会判定输入线路异常。安转接点在安全回路里的位置,从原理上就说不通。
3. 逻辑端怎么划分:从安全继电器、安全PLC到冗余结构
3.1 安全继电器模块与安全PLC的本质区别
逻辑端是整条安全回路里真正做“决策”的环节,它当前的实现形式主要有两类:安全继电器模块和安全可编程控制器。
安全继电器模块内部是经过认证的硬件逻辑结构,输入检测、逻辑判断、输出驱动这几个子功能都固化在电路里,没有软件参与。它的好处是简单、可靠、响应快,几乎不存在程序跑飞或配置出错的可能,适合控制单一路或多路独立的安全功能。比如一个急停+一个门锁组合,用单个安全继电器模块就能实现,而且接线清晰,调试快。
安全PLC的区别在于内部的逻辑运算由双通道CPU同步完成。两条CPU通过两个独立的通道读取输入,各自独立执行安全程序,运算结果再通过比较器互相校验,只有结果一致时才允许输出动作。这种冗余结构的好处是复杂逻辑也能实现,比如多台设备互锁、区域权限管理、跨工位联动。坏处是配置复杂、程序需要经过安全认证工具链验证,而且价格比继电器模块高不少。
这里必须强调,普通通用PLC是不能承担安全逻辑的,哪怕你程序里加了再多三重互锁也不行。通用PLC没有经过故障注入测试,它的CPU、内存、通讯链路都可能发生未检测出来的错误,程序里即便写出“万一出错我也能刹住”的套路,硬件层本身就存在未知失效路径。安全PLC从芯片选型、供电监控、指令集设计到诊断覆盖率,整套是按安全标准来做的,不是软件层面补一个功能就行。
3.2 Category等级决定逻辑端的冗余架构
逻辑端选择什么样的冗余结构,直接由目标性能等级或安全完整性等级决定。ISO 13849-1把安全相关控制系统的结构分成五个类别,每个类别对应不同的架构方式和故障表现。
Category B和1属于单通道结构,如果通道内任何一个元件失效,安全功能就丢失。Category 2是单通道加循环测试,测试可以发现一些故障,但在两次测试之间出现的故障不会马上被察觉。Category 3是双通道结构,任意一个通道故障时,另一个通道仍然能完成安全功能,同时测试机制能把这个故障检测出来。Category 4要求更高,不仅双通道冗余,还要求干净利落地处理累积故障,哪怕一个通道失效后另一个通道随后也发生故障,安全功能依然完整。
我在实际项目里,机器人工作站的围栏门和急停回路基本都按Category 3设计,目标PL通常到d级。冲压机、压力机这类真正称得上高风险设备的回路,才会考虑Category 4。这也是为什么我们经常看到安全模块标称“PL d Cat 3”或者“SIL 3”,就是这个架构等级在起作用。
逻辑端还有一个细节是复位方式。安全模块或安全PLC一般支持自动复位、手动复位和监控复位。自动复位在输入退回到安全状态后自动恢复输出,操作简便但不适合有人在危险区内的场景。手动复位需要按一个专门的按钮,优先推荐用于门锁、围栏这种入口控制。监控复位要求按钮本身必须接在安全模块的专用复位输入端子上,模块只有在检测到复位按钮从断开到闭合的边沿时才会解除锁定。如果现场把复位按钮接成一个普通常开点串在别的地方,模块收不到合格边沿,永远无法复位。
3.3 逻辑端反应时间怎么算
逻辑端自身的处理时间是安全回路总反应时间的一部分。安全继电器模块从收到输入变化到输出触点动作,通常需要20毫秒到50毫秒,个别模块还标称响应时间,比如“every channel 30ms”。安全PLC受扫描周期影响,处理时间会更大一些,配置时需要把典型扫描时间和输入滤波器时间都算进去。
这里必须特别小心输入滤波器。普通PLC通常为了抗干扰,会加10毫秒甚至几十毫秒的输入滤波,但安全PLC的输入滤波时间往往必须在安全参数里明确配置。如果滤波时间设置过大,一个急停信号需要等待很长时间才能进入逻辑判断,整个系统的反应时间就可能超标,PL计算中的时间因素也就被破坏了。无论用继电器模块还是安全PLC,总反应时间都应该在实际设备上用示波器或者高速计时来实测,而不是只在纸面上粗算。
4. 输出端怎么划分:执行器件选型、STO与反馈监控
4.1 安全输出的器件类型与选型要求
输出端是整个安全回路里最后一个能“拦住危险”的关口,器件选型要比输入端更严苛。
最常见的安全输出器件是接触器,用在主回路里切断电机或加热器电源。和安全回路配套使用的接触器,必须是具有强制导向结构的接触器,有些厂商称其为“镜面触点接触器”。所谓强制导向是指接触器内部各个触点组通过机械结构硬性连锁,N/O触点和N/C触点永远不可能同时处于闭合状态。这个特性非常重要,它保证如果主触点发生了焊接粘连,辅助触点组会物理上保持断开,让逻辑模块能够通过EDM检测发现异常。普通C型继电器或普通交流接触器没有这个机械强制特性,触点焊死时辅助触点可能依然保持闭合,反馈信号依然是“正常”,设备就在危险状态下继续运行了。
伺服驱动器的STO端子是另一个常见安全输出。STO就是Safe Torque Off,静止转矩关闭,驱动器收到STO信号后封锁功率管,不再输出转矩电流,电机依靠惯性滑停。将安全输出点接到STO端子,要注意两点。第一,必须接到驱动器上明确标注STO功能的输入端子,不能通过普通中间继电器转接后再送进去。第二,STO端子内部供电方式和接口电平各不相同,有些需要24V供电,有些需要短路到GND,具体以驱动手册为准。如果供电方式搞错了,STO信号会一直保持无效状态,驱动器正常运转,安全功能形同虚设。
气动回路里的安全阀则会选择双联阀或双阀组结构,两个阀串联安装,任何一个阀动作都能切断气源,同时通过磁性开关或阀座传感器反馈状态。这个和电器回路的双通道设计是一个思路,只不过把物理形态换成气动元件。
4.2 输出端短路防护和感性负载处理
输出端有两个很实际的问题,处理不好会让安全回路在故障时出现“该切没切断”的后果。
第一个问题是输出回路本身的短路监控。安全模块的输出端子通常内置限流和脉冲检测,当输出回路发生短路时,模块要能检测到并进入安全状态。这就要求现场接线时不能随便把几个安全输出点并在一起,不能随意增加负载。如果负载过大,模块限流保护动作,输出可能无法达到需要的电压水平,负载实际不动作,但模块没有报错,这就是典型的安全功能失效模式。
第二个问题是感性负载的抑制。接触器线圈、继电器线圈、电磁阀线圈都有电感,断电瞬间会产生很高的反电动势。如果不加浪涌抑制器,频繁地通断会让安全输出触点快速烧蚀,甚至造成触点间拉弧粘连,这样接触器的机械失效率会显著上升。常见的做法是在线圈两端并一个续流二极管或RC吸收网络。但要注意,加装浪涌抑制器不能影响EDM反馈的判断时机,也不能让断电后的线圈维持时间过长,否则逻辑模块可能检测不到明确的“输出已断开”信号。
4.3 EDM反馈到底怎么接
EDM这个东西太多人接错了,我单独拿出来讲。模块上的EDM输入,实际上是用来监控外部接触器是否真的正常切换的。外部接触器的辅助触点中,有一对N/C触点和一个N/O触点,通过接线把它接回模块的输出端与EDM输入端之间。模块内部会以特定逻辑判断:输出闭合时,N/O触点应该闭合;输出断开时,N/C触点应该闭合。
如果接触器焊接粘连,N/O触点一直闭合,模块检测到输出已经断开但反馈依然显示闭合,就会判定外部设备故障,进入安全锁定状态并报错。如果不接EDM,模块默认不做这个检查,设备也能跑,但接触器焊死的问题它永远发现不了,这是很多设备“看似安全,实际已失效”的根因。
EDM接线还分触点间监控和接地监控两种模式,具体看模块手册。有些模块支持两种模式但需要跳线或软件配置,配置错了模块会报EDM错误或者反复复位不了。我见过好几个案例,最后查出来都是配置类型选错了,而不是接触器坏了。
4.4 输出端和输入端一样,也要验证动作
输出端不是接完线就完事,要专门做动作验证。最直接的办法是控制逻辑模块产生一次切断信号,观察接触器是否在模块规定的切断时间内断开,观察驱动器是否报“STO激活”状态。有条件的话,用示波器同时采集输入信号和输出信号,可以测出真正的总反应时间。
另外,输出端接触器在带电状态下断开会产生拉弧,频繁操作会减少触点寿命。在要求频繁启停的场合,可以考虑用半导体输出模块来无弧切换,可以大幅延长系统寿命。半导体安全输出的特点是无机械磨损,但导通压降和短路保护特性不同,需要按负载特性选型,不是单纯替换接触器就行的,这一点在设备选型时要提前算好。
5. 现场调试与故障排查实录
5.1 故障案例一:门锁双通道相位接反
有一台设备围栏门安全锁,用的是安全PLC的DI通道读取门锁双触点。现场保安报告,每次关门后设备偶尔能启动,偶尔报“输入通道1和通道2信号不一致”。查下来发现,门锁上两个触点一组是门完全锁定时闭合的N/O,一组是未锁定时闭合的N/C。维修工图省事,把两对触点都接到了同一个正极侧,又因为现场线号标错,第一组接成了S11-S12,第二组也接到了S11-S21,结果模块在两个通道上看到的信号完全一样,根本没法判断门锁状态。这个问题后来把两路信号按规范分别接到S11-S12、S21-S22才解决。排查工具就是看模块的状态页面,显示两个通道的实时信号值,一对比就发现问题在接线顺序上。
5.2 故障案例二:STO被中间继电器中转
另一个项目里,伺服驱动器在设备调试阶段频繁报STO故障,但驱动器功能手册上写的是STO输入正常。到现场看才发现,电气设计图里把安全PLC的输出点接到中间继电器K1,再由K1的触点去控制驱动器STO端子。继电器动作需要时间,而且继电器没有强制导向结构,STO信号在故障瞬间被延迟甚至掉落之后又恢复,驱动器捕获到这一点后报错。这个设计本质上是把安全输出环节的设备选型选错了。后来直接把安全PLC输出点接到驱动器STO端子,继电器那一段去掉,故障就消失了。这里面还有个教训:看安全图纸时,任何“经过中间继电器转接”的安全信号都不应该出现,哪怕它看起来能工作。
5.3 故障案例三:EDM反馈一直“正常”导致复位失败
有一台设备的安全模块,每次按复位按钮都没反应,面板一直显示“外部设备错误”。查下来发现,模块的EDM输入被接到了接触器主触点的接线端子上,而不是辅助触点。主触点上没有信号返回到模块,模块一直认为外部设备没动作,于是拒绝复位。真实原因是接线员把接触器的辅助触点编号搞混了,选了一个空闲但没接负载的辅助触点,触点状态不能反映主触点真实位置。这类问题用万用表量接触器主触点辅助触点的通断状态就能快速定位。
5.4 排查思路与工具选择
调试安全回路时,我的习惯是先从输出端开始确认,再回头看输入。输出端如果没有24V信号,说明问题大概率在输入或逻辑段。然后看逻辑模块面板的故障码和状态指示,大多数安全模块都有LED状态灯,对应不同的故障类型。最后才是用万用表或示波器去实测中间信号,不要一开始就逐根线量。
用万用表量安全输入信号时要注意,安全输入测试脉冲的频率不高,但万用表切换档位不同响应速度也不一样。如果想看测试脉冲,必须用示波器,普通数字万用表看到的就是平均值,可能掩盖掉脉冲细节。示波器探头接在输入端子两端,如果能看到规律的脉冲信号,说明模块正在做等时性测试,输入回路基本正常。
5.5 一个简化PL评估示例
最后给一个简化版评估示例,大家以后可以套用。假设一个紧急停止回路,采用双通道急停按钮、安全PLC逻辑、两个带EDM反馈的强制导向接触器输出,那么这个结构按ISO 13849-1来评估,Category可以算到3。双通道急停按钮和接触器的MTTFd按高范围考虑,也就是10年到30年区间;诊断覆盖率按中,90%左右;加上Category 3的结构,查标准里的表,这个回路能达到性能等级PL d。
PL d意味着什么?直观理解就是:单次安全功能失效的概率,每小时的量级在10的负6次方到10的负5次方之间,也就是平均百万小时级别才会出现一次危险失效。当然这是设计数据的理论值,实际调试必须有正确接线和完整测试来支撑。
我这几年做安全回路改造之后,最大的体会就是画图纸的时候第一件事永远是先画三个框,输入框、逻辑框、输出框,然后才在里面填元器件和接线。所有跨框的连线全部做好线号标注,接口类型写清楚,是干接点还是OSSD,是24V还是PNP。这个习惯看着多花了半小时,实际到现场调试和故障排查时,能省下至少半天的茫然找线时间。安全回路不是装个急停、串个接触器就完事,它是一条完整的、可以被验证、可以被诊断、可以被故障通报的链路,只有把链路拆对了,安全才真正落到了接线上。