4. FSoE协议概述

FSoE(Fail Safe over EtherCAT,IEC 61784-3-12)是建立在 EtherCAT 之上的功能安全通信协议。它并不改变 EtherCAT 的物理层与数据链路层,而是在标准 EtherCAT 报文中“借用”一段载荷,用黑色通道(Black Channel)原理传输安全相关数据。理解 FSoE 的关键,是把它看作叠加在标准通信层之上的安全通信层:标准层负责“把数据送到”,安全层负责“证明数据可信”。

一、FSoE 的定义与核心思想

FSoE 定义了一套安全数据交换机制,使安全控制器(如安全 PLC、FSoE Master)与安全从站(如安全 I/O、安全驱动器、安全编码器)之间能够以 SIL3 / PLe 等级交换安全数据。其核心思想包括三点:

  • 黑色通道:安全数据与标准数据共用同一根网线、同一个 EtherCAT 网络,不要求传输通道本身安全,只要求两端的安全层能检测出通道引入的差错。
  • 安全报文封装:安全数据被封装为 FSoE 帧,作为 EtherCAT 过程数据(PDO)的一部分周期传输。
  • 端到端校验:通过连接 ID、序列号、CRC、看门狗时间等机制,实现端到端的数据完整性、真实性、时效性保护。
FSoE 不是“更安全的 EtherCAT”,而是“在 EtherCAT 上运行的安全协议”。EtherCAT 提供实时通道,FSoE 提供安全语义。

二、发展背景:为什么需要 FSoE

传统安全控制多采用独立的安全回路或专用安全总线,布线复杂、成本高、与标准自动化系统割裂。随着 EtherCAT 成为主流实时以太网,业界希望在同一网络上同时传输标准数据与安全数据。2010 年前后,EtherCAT Technology Group 推出 FSoE,并纳入 IEC 61784-3-12 标准,成为功能安全通信的国际规范之一。

FSoE 的出现解决了三个工程痛点:一是共网传输,安全与标准数据不再各拉一根线;二是实时性,安全响应周期可做到毫秒级,满足运动控制安全停机需求;三是开放性,不同厂商的安全从站只要符合 FSoE 即可互操作。

三、FSoE 在 EtherCAT 中的位置

从协议栈看,EtherCAT 位于物理层与数据链路层,FSoE 位于应用层附近,但并非独立的应用层协议,而是嵌入在过程数据中。下图展示了 FSoE 与 EtherCAT 标准通信层的层次关系与数据流向。

FSoE 与 EtherCAT 标准通信层的层次关系 安全控制器 / FSoE Master 安全应用层 安全逻辑 / 安全任务 FSoE 安全通信层 连接ID / 序列号 / CRC 看门狗 / 安全数据 EtherCAT 标准通信层 PDO / 邮箱 / 主站栈 物理层 / 以太网 100BASE-TX / E-Bus 安全从站 / FSoE Slave 安全执行 / 传感 安全 I/O / 驱动 / 编码器 FSoE 安全通信层 校验 / 应答 / 超时 安全状态机 EtherCAT 标准通信层 ESC / PDO 映射 物理层 / 以太网 100BASE-TX / E-Bus FSoE 安全帧(封装于 PDO) 安全应答 / 状态反馈 EtherCAT 标准过程数据 黑色通道:安全数据与标准数据共用同一物理通道,安全层独立完成端到端校验

四、安全通信层与标准通信层的关系

两者是叠加与承载的关系,而非替代关系。标准通信层提供周期性的过程数据通道,FSoE 安全层把安全帧“塞进”这些通道中。具体表现为:

对比维度 标准通信层(EtherCAT) 安全通信层(FSoE)
主要职责 实时传输过程数据与邮箱数据 保证安全数据的完整性、真实性、时效性
数据单元 PDO / SDO / 邮箱报文 FSoE 安全帧(含连接ID、序列号、CRC)
安全等级 不承担功能安全职责 可达 SIL3 / PLe
故障处理 重传、丢包由上层处理 看门狗超时、CRC 错误触发安全状态
配置方式 ESI / ENI 描述 PDO 映射 安全地址、连接ID、看门狗时间

工程上,安全从站通常同时具备标准 PDO 与安全 PDO。标准 PDO 用于非安全诊断与状态,安全 PDO 用于安全输入输出。主站安全任务与标准任务可以运行在同一控制器中,但安全任务必须独立校验、独立超时。

五、典型场景与配置片段

以一个安全驱动器为例:标准层周期发送速度给定,安全层周期发送 STO(安全转矩关断)命令与安全状态反馈。若 FSoE 看门狗超时,驱动器立即进入安全状态,而不是等待标准层重传。

# FSoE 从站关键参数示例(ENI / 安全配置)
FSoE_Slave_Address   = 0x1001
FSoE_Connection_ID   = 0x5A3C
FSoE_Watchdog_Time   = 100 ms
FSoE_Safe_Inputs     = 2 bytes   # 安全状态反馈
FSoE_Safe_Outputs    = 2 bytes   # STO / SS1 命令
FSoE_CRC_Polynomial  = 0x1021    # CRC-16 校验
调试建议:先用标准 EtherCAT 工具确认 PDO 映射正确,再启用 FSoE 安全连接。若安全层报 CRC 或看门狗错误,优先检查周期抖动与 PDO 映射是否被标准数据挤占。

六、常见误区与复盘

  • 误区一:用了 FSoE 就自动安全。FSoE 只保证通信安全,安全逻辑、安全传感器、安全执行器仍需满足相应安全等级。
  • 误区二:FSoE 可以替代标准通信。FSoE 依赖标准 EtherCAT 通道,标准层配置错误会直接导致安全层失效。
  • 误区三:看门狗时间越长越稳。看门狗时间过长会延长安全响应时间,必须根据安全功能所需响应时间反推。
  • 复盘要点:安全通信层与标准通信层必须分别验证——先验证标准层实时性与映射,再验证安全层连接建立、CRC、序列号与超时行为。

综上,FSoE 是 EtherCAT 之上的安全通信层,通过黑色通道与端到端校验,在同一网络上实现标准数据与安全数据的共网传输。掌握其层次位置与两层关系,是后续安全从站配置、FSoE 主站编程与故障排查的基础。