FSoE白通道详解:EtherCAT安全通信原理、应用与实战指南
干自动化这些年最让我头疼的一类现场问题不是电机带不动也不是程序跑飞而是安全回路的接线。传统安全回路把急停、安全门、光幕一个个用硬线串起来再拉到安全继电器或安全PLC线路长、端子多哪个触点接触不好整条线就不通。现场查线查到怀疑人生。后来接触了带FSoEFail Safe over EtherCAT的EtherCAT网络情况才真正改观。FSoE在普通EtherCAT物理网络上建立了一条专门运输安全数据的逻辑通道业内习惯叫它“白通道”。这条白通道能把急停、安全门、STO安全转矩关断这些安全信号和普通运动控制数据放在同一根网线里还能达到SIL3等级这解决了以前“安全信号必须单独拉线”的很大一部分痛点。这篇文章我打算把白通道是什么、凭什么敢当安全回路、到底能用在哪些现场以及我做过的几个项目里踩过的坑一次性说清楚。不管你是做设备调试的电气工程师还是正在选型的项目负责人这篇应该都能给你点实打实的参考。1. 先说清楚FSoE白通道到底是什么1.1 从安全接线痛点到FSoE的出现如果你没接触过功能安全可能觉得“安全回路”就是接个急停按钮那么简单。但实际上工业现场的安全联锁不是只靠一个开关它涉及信号采集、逻辑判断、执行机构动作而且整个过程要满足IEC 61508、ISO 13849这类标准所定义的可靠性要求。以前的做法很粗暴所有安全输入急停、门锁、光幕硬接线到安全继电器安全继电器输出再硬接线到接触器或驱动器使能端。优点是简单直接缺点是线缆太多尤其是一台设备上有十几个安全门的时候控制柜里全是线。而且端子松动、线缆破损这类故障很难主动发现往往是出了事故或者设备停机了才暴露。FSoE就是把安全通信搬到EtherCAT网络上的一种方案。EtherCAT本身是用于运动控制和IO采集的高速实时总线而FSoE在它之上叠加了一层安全协议。也就是说同一根网线里既有普通的过程数据又有安全相关的数据包。FSoE这个“安全数据包”走的路就是白通道。你可以这么理解EtherCAT网络是一栋写字楼普通数据在公共走廊里跑来跑去而FSoE数据坐着专用的装甲押运车走一条独立通道。通道本身不隔离物理线缆但在逻辑上是严格分离并且带多重防伪机制的。这里顺便说个术语为什么叫“白通道”因为在一些EtherCAT资料里普通非安全的周期过程数据有时被叫“黄通道”而FSoE对应的安全通道就叫“白通道”。这个叫法虽然不是官方规范里的硬性术语但在工程交流中很常见一说白通道都知道是在讲FSoE安全通信。1.2 白通道和普通EtherCAT数据通道的关系FSoE和普通EtherCAT数据走同一个物理网络、同一个EtherCAT帧这是它最值钱的地方。布线成本和普通总线完全一样却多了一条安全通道这对于改造老设备和做紧凑型新设备来说是很大的优势。但要注意白通道并不是一个独立的、带宽独占的物理链路。它和普通数据之间的隔离靠的是协议层的机制普通过程数据比如伺服的位置指令、IO状态走周期性的过程数据对象讲究一个扫描周期内完成刷新。FSoE报文则通过EtherCAT的邮箱机制传输安全数据被封装成FSoE帧放在邮箱数据区里。这两种数据混在同一根网线上意味着安全通信可以随时插入也可能被其他通信挤占。所以FSoE协议里设计了严格的超时监控和握手机制如果安全数据没有在规定时间内到达接收端会直接进入安全状态比如切断驱动器的使能而不是继续运行。我刚开始接触FSoE的时候也有个困惑既然和普通数据混在一起怎么保证安全数据的实时性后来搞明白了FSoE并不追求像运动控制那样微秒级的同步它的可靠性核心在于“超时即停”和“数据防篡改”而不是“极速到达”。在安全逻辑里晚到10毫秒可能还能接受但数据被篡改或者丢了没发现那是致命的。这正是FSoE协议重点解决的问题。2. FSoE白通道凭什么敢承担安全功能——协议机制拆解2.1 FSoE数据帧如何保证不被篡改和丢失很多第一次接触FSoE的同事会问安全数据走普通网线别人把网线拔了、数据被干扰了怎么办这正是FSoE协议栈要处理的。每个FSoE帧无论主站发给从站还是从站发回主站都带有连接ID、序列号、CRC校验、看门狗状态这类信息我用一个表格整理下常见字段的作用字段作用类比连接ID标识主站和从站之间唯一的逻辑连接运钞车的固定车牌号序列号通信双方各自维护的递增计数器每次帧递增防止数据包重放或丢失每辆车的发车序号CRC32对整帧计算循环冗余校验码防止位翻转和错误帧防拆封条看门狗要求在指定时间窗口内收到正确的下一帧超时则判定通信失败并触发安全动作押运公司的定时报到机制连接ID和序列号这两样东西解决的是“数据里有没有、是不是重复发过来的”问题。CRC解决的是“数据有没有被篡改”的问题。再加上每个FSoE从站在启动时会和主站协商一个密钥这个密钥参与CRC的计算过程。也就是说就算有人伪造了一个帧没有正确的密钥也过不了CRC校验这一关。实际项目中我最常见到的是CRC错误计数。有些设备上电后如果CRC错误一直在涨十有八九是现场电磁干扰严重或者网线/水晶头质量不行。FSoE看的是CRC错误次数一旦超过一定阈值或连续错误就会触发安全停机。这个机制在查现场问题时特别好用它能直接告诉你通信链路“脏”了。2.2 状态机和看门狗连接是怎么管理的FSoE的连接管理不是简单的“通了就传数据”它有明确的连接建立流程。主站和从站在建立连接后会经历一个握手过程我按自己的理解简化一下从站上电处于OFF状态安全输出被禁止。主站开始启动序列依次发送带特定参数的启动帧从站响应后双方逐步确认CRC密钥、连接ID、看门狗时间等参数。握手完成后进入连接建立状态。再进入正常数据交换状态双方周期性互发安全数据。任何异常CRC错、看门狗超时、对方发出中止命令都会让状态机跳转到中止状态同时安全输出回到“预置安全状态”。这个状态机其实是安全通信的骨架。我在调项目时经常看状态机卡在哪个阶段来判断问题卡在握手阶段多半是FSoE地址没配对或者密钥配置不一致卡在数据交换阶段出现频繁中止那就要查通信质量和周期设置。看门狗参数是FSoE里最关键的一个参数。以通信周期1ms为例我习惯把看门狗设成5ms左右也就是允许连续丢4帧第5帧还没收到就判定通信失败。设得太小网络稍微抖动一下就误停机设得太大安全响应速度变慢。尤其在混有大量非周期通信的网段里这个值要平衡。2.3 关于“黑通道”原则的理解FSoE背后有一个很核心的原则叫“黑通道”Black Channel意思是在安全通信设计中底层的通信系统也就是EtherCAT网络本身被视为不可信的所有安全性都在应用层的FSoE协议中实现。这个原则听起来有点极端但逻辑上很自洽如果通信链路本身不可靠那就不要指望它可靠而是在两端通过FSoE自身机制序列号、CRC、看门狗、密钥来保障安全性。这样做的好处是FSoE可以跑在任何标准的EtherCAT网络上不需要对物理层做特殊改造。换句话说白通道不是一条专门预留的物理线路而是一个逻辑上自洽的安全信封无论底层的“驿路”多颠簸信封本身有防伪和防丢机制。3. FSoE白通道的典型应用领域3.1 工业机器人安全门、光幕、STO一网打通工业机器人工作站是FSoE白通道最典型的落地场景。传统方案里机器人控制柜旁边要单独串一个安全继电器回路安全门开关、安全光幕、急停按钮通通硬接到这个回路里再由它去切断机器人的安全使能。线缆又多又长而且安全门那个活动部位的线特别容易折坏。用了FSoE之后安全门上的安全I/O从站、光幕的安全输出、安全PLC、机器人控制柜里的FSoE从站全部挂到同一根EtherCAT网线上。安全门开关一断信号通过白通道瞬间传到安全PLC安全PLC发一个安全停机指令给机器人控制柜里的FSoE节点触发STO功能把伺服电机的转矩输出安全切断。这里有个细节机器人控制柜的STO功能是本地硬安全回路FSoE并没有把STO本身“虚拟化”掉而是把“谁触发STO”这个信号来源网络化了。STO作为最终执行手段驱动器的硬件安全电路仍然在线。这也是我后来才理解的一点——FSoE替代的往往是安全信号传输环节而不是安全执行环节。方案设计时不要搞混否则容易埋雷。协作机器人现在也大量用白通道。协作机器人有安全限速、安全区域监控这些功能安全激光扫描仪通过FSoE把现场人员位置数据发给安全PLC安全PLC根据人员进入的区域决定机器人的运行模式是正常速度还是安全限速。这在共享工作岛、人机协作单元里特别常见。3.2 伺服驱动安全功能STO、SS1、SLS在运动控制领域FSoE最常见的安全功能需求是STO安全转矩关断、SS1安全停止1先减速再断电、SLS安全限速和SOS安全运行停止。这些功能以前要靠驱动器上的硬接线端子来实现比如给一个STO端子送高电平驱动器才允许输出转矩。现在安全PLC可以通过白通道直接把STO指令发给驱动器内部的FSoE节点驱动器的安全逻辑执行该指令并反馈状态。我调试过的一个印刷设备项目里操作员需要进到机器内部清理滚筒要求在开门的同时所有相关驱动必须在200ms内进入安全停止状态。安全PLC通过FSoE同时给四台伺服驱动发安全停机指令每台驱动器执行STO后反馈确认信号。因为白通道走的是环形或线型网络四台驱动器的指令延迟基本一致实测停机同步性远好于以前用继电器逐个断使能。这种应用里FSoE最大的价值在于“可诊断性”。传统继电器回路断线了设备停机你还要拿表去量哪里断了。FSoE的白通道会直接上报“哪个从站看门狗超时”或“哪个CRC键值错误”故障点具体到节点维修时间缩短很多。3.3 AGV与移动设备安全激光扫描仪上总线AGV和移动机器人这两年发展很快安全方案也必须跟上。AGV上的安全激光扫描仪俗称安全雷达负责检测路径上的障碍物和人员输出信号需要以安全、可靠的方式传给AGV的控制器。以前这个信号是硬接线到安全控制器的线束在车体内绕来绕去不仅装配繁琐而且AGV长期运行振动后接插件松动导致安全信号丢失的情况很常见。在AGV上应用FSoE白通道后安全激光扫描仪本身支持FSoE通信接口的话可以直接把安全状态数据通过总线发给安全控制器省去了多路硬线。同时AGV的速度传感器、急停按钮、安全接触器反馈这些信号也都可以通过白通道整合。安全和导航这两个功能在同一拓扑中并行传输互不干扰。移动设备还有一个特殊点频繁运动和充电。网络拓扑可能会有短暂的波动比如无线连接的断连、电池电压波动这些都可能影响通信质量。我在这种项目里会特别关注看门狗时间设置不能用一个固定的桌面设备参数直接搬到AGV上一般要给看门狗留出比车载工况更大的余量同时通过冗余机制避免误停机。3.4 包装、印刷等通用机械分布式安全I/O包装机械、印刷机械、食品加工设备这类机器有一个共同特点工位多、安全器件多、安全门和安全光幕分布在整个机台各处。如果每个安全器件都拉硬线控制柜和线槽的工程量非常大。所以很多机型已经开始把安全I/O模块直接装在靠现场的位置用FSoE接到安全PLC。这其实就是分布式安全I/O的概念。安全门开关、双手按钮、安全光幕这些信号接入就近的FSoE安全I/O从站从站再把状态通过白通道发给中央安全PLC。安全PLC执行完安全逻辑后输出命令通过白通道回到安全I/O模块再由模块上的安全输出点去控制接触器或安全继电器。实际选型时要注意安全I/O模块的通道数、输出类型源型/漏型以及响应时间都要提前确认。我遇到过一个问题安全I/O从站的响应时间标称是8ms但整机安全回路总的响应时间要求是80ms中间还有安全PLC的扫描周期、通信周期、接触器动作时间最后加起来一算余量很小。所以做系统方案时就应该留出充足的响应时间裕量别只在PLC程序里抠那几毫秒。3.5 过程和物流自动化中的应急停车在过程工业化工、制药和大型物流分拣系统里FSoE通常扮演紧急停车的通信骨干。一条分拣线的输送段可能有几十个急停按钮分布在几百米范围内。用白通道将这些急停信号接到安全控制器控制器再判断是否需要停掉全线驱动。这里我特别提醒一点过程工业中很多场合对安全仪表功能SIF有更高的要求不一定所有安全功能都适合用FSoE来承载。传统继电器硬接线在抗单点故障上有其优势而FSoE的通信链路一旦被物理损坏受影响的是整个网段的通信。因此在涉及高风险的紧急停车系统时我倾向于采用“网络化安全通信必要的硬备份回路”的组合方式。FSoE适合做功能联动和分布式监测但不是说所有安全功能都必须依赖它。4. 实操把一个安全PLC和驱动接进白通道4.1 项目硬件和网络拓扑我以一个典型的伺服输送设备为例设备包含一台安全PLC、一个安全I/O从站、一个伺服驱动器支持FSoE以及一台标准EtherCAT运动控制器非安全。网络拓扑是线型从运动控制器第一端口引出网线依次连安全PLC、伺服驱动器、安全I/O从站最后回到运动控制器第二端口形成环网如果硬件支持。FSoE设备混在同一网络里运动控制器的任务只是托管网络通信FSoE的安全数据交换由安全PLC和各设备内部的FSoE节点之间自行完成二者互不干扰。接线时我会坚持这样的顺序先断电把网线接好确认从站地址拨码没冲突再上电。FSoE设备的地址非常重要主站靠FSoE地址也叫做安全地址识别从站而不是靠网络节点位置。这个地址一旦重复连接建立就会失败。地址通常通过设备上的拨码或者配置工具设置建议做成一个表格贴在控制柜门上方便后期维护。4.2 关键参数设置在安全PLC的配置软件里我要给每个FSoE从站分配一个唯一的连接ID和CRC密钥同时设置看门狗时间。最核心的参数我列在下面参数项推荐值/说明我的实际设定经验FSoE从站地址拨码或软件设置全局唯一与图纸一致最好不要EIP接线等设随机连接ID主站分配的16位逻辑标识一个项目里从1递增CRC密钥主站与从站握手时使用的32位密钥以配置工具自动生成手动填写时别用全0看门狗时间在通信周期基础上留出足够裕量1ms周期我给5msAGV类项目我给20ms安全数据组长度取决于设备类型我看到的安全I/O一般为2-12字节设置完成后不要急着让设备跑起来先把“安全配置检查”这一步做扎实。多数安全PLC软件都有在线仿真模式可以在不上电的情况下预检查连接配置。把从站的FSoE地址、CRC密钥、看门狗参数填入后软件会报出哪些参数不一致。这一步能拦截掉大半的“连接建立失败”问题。4.3 安全功能测试方法配置完成后我习惯分三步做测试。第一步通信级测试在安全PLC里监控每个FSoE从站的状态确认全部进入“数据交换”状态并且安全输入信号实时刷新。第二步功能级测试挨个按下急停按钮、打开安全门、遮挡光幕观察对应的安全输出和驱动器STO状态是否按程序设定动作测量动作时间是否满足需求。第三步故障注入测试拔掉某一段网线确认对应的从站在看门狗时间内上报通信故障并进入安全状态重新插上网线确认从站能自动恢复并重新建立连接。这第三步的拔线测试如果设备实在不方便断电也要在安全状态下做。FSoE的容错能力在这里看得最直观拔线后本网段所有从站都会进入安全状态而不是只有某一个出问题。如果你只希望某个区域停机那就需要在设计阶段就要考虑网络分段和拓扑规划。网络分段不能事后补只能重新布线。5. 常见问题与排查技巧5.1 FSoE连接建立失败的排查我调试时遇到最多的问题就是“FSoE连接建立失败”。现场表现是安全PLC报某个从站连接超时状态机一直停在启动阶段。排查的时候我会按下面几步走先确认从站地址是否唯一、是否和配置一致。地址重复是最常见的原因特别是多个从站用了出厂默认地址。再检查CRC密钥和连接ID。如果两个设备都是从别的项目复制过来的配置这个最容易出错。再确认看门狗时间是否小于PLC的通信周期还没有余量。如果PLC扫描周期是2ms看门狗设了1ms那基本是连不上。最后查网络拓扑排除接线错误和从站在线情况。5.2 看门狗超时和CRC异常设备在运行中偶发停机一查从站报警记录全是“看门狗超时”或“CRC错误”。这类问题大部分是物理链路的问题。网线质量差、水晶头接触不良、航空插头针脚虚焊都会导致数据帧在传输中出错。我的排查习惯是先看统计计数从站的FSoE协议栈一般会有CRC错误计数、超时计数。如果数字涨得很快那就是硬件信号质量的问题如果只是偶尔一两个可能要考虑是否有电磁干扰。变频器、伺服驱动器本身都会产生很强的干扰网线一定要远离动力电缆最好用带屏蔽的工业网线并确保屏蔽层可靠接地。我见过一个现场FSoE频出故障最后发现是和几十根动力线一起走同一个线槽分开走线下故障就消失了。5.3 白通道与普通数据通道互相干扰有人担心FSoE和运动控制数据混在一起会互相拖累。理论上EtherCAT的邮箱通信对周期数据影响很小但如果从站的邮箱缓冲配置不当或者网络负载太高确实可能出现安全报文被延迟的情况。我处理过一台设备原本FSoE通信周期2ms后来给一个非安全从站加了大量诊断数据导致FSoE偶尔超时。解决办法是调整网络周期和邮箱处理优先级把诊断数据放到非周期通信的间隔里。要记住一点FSoE有自己的看门狗不会要求总线每次都优先传它。但它需要总线保证“约定的最长时间内能传一次”。所以网络容量规划时要给FSoE留出明确带宽预算不要满打满算。多条EtherCAT网段共享一个CPU时尤其要小心。6. 选型建议和几个值得借鉴的实施心得6.1 选型时看什么设备选型上我会先确认目标设备的FSoE认证等级一般至少要符合SIL3IEC 61508或PLeISO 13849标准。安全等级不够的设备不管功能多炫都不能用在对应的安全功能里。其次看从站是否支持我要的安全功能类型。同样是驱动器有些只支持STO有些还支持SS1、SLS需要根据设备安全风险评估结果来选。安全PLC的FSoE主站数量也要提前算清楚。有的PLC只支持一个FSoE主站网段有的支持多个如果你的设备有多个独立区域需要决定是用一个网段还是划分多个逻辑连接。同一个网段里从站数量越多通信周期和看门狗设置越要保守因为整个网段共享同样的网络资源。6.2 布线、接地和现场管理经验最后分享几个我总结出来的土办法不算高深但很管用。第一每个FSoE从站都贴一个带二维码的标签里面记录从站地址、连接ID、安装日期、固件版本维护人员一扫就能看到基础信息不用每次打开软件去查。第二网线两端的水晶头或者航空插头一律打标号标号和图纸一致。第三控制柜内FSoE相关网线的屏蔽层必须单端接地在PLC侧的端子板或EMC板上做等电位连接。不要两头都接地也不要浮空。第四凡是支持FSoE的设备我建议在上电前先把配置文件的CRC备份好换备件时可直接恢复省得现场手工重设一堆参数。关于FSoE白通道的应用市面上很多资料把注意力放在协议格式上但我个人觉得真正决定项目成败的是前期对安全功能需求的梳理和对网络拓扑的规划。白通道能在一个网络上同时承载安全和非安全数据这个特性既带来了便利也带来了新的约束。在线缆布局、看门狗设置、网段划分这些细节上多花一点时间后面调试就能少很多麻烦。如果你正准备在项目里引入FSoE我建议先用一个小实验平台把连接建立、看门狗、拔线恢复这些基本动作跑一遍再去做正式的设备集成会顺手得多。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →