首页 / 驱动算法 / EtherCAT专题

主机(主站):配置、状态机与同步

整个网络只有一个"大脑"——主站。它用一张普通网卡,按周期发帧、管状态机、配 FMMU/SM/DC,还要跑邮箱协议。本文讲清主站怎么工作、选什么栈、如何把一台台从站"安全地送进运行态"。

1. 主站的角色:唯一的"总调度"

EtherCAT 网络里只有主站会主动发帧,所有从站只被动响应。主站负责三件事:

1.1 为什么普通网卡就够

EtherCAT 主站不需要专用实时以太网控制器。实时性的关键在两点:网卡驱动要快且可预测(最好支持直接访问 DMA、时间戳),控制任务的调度要确定(RTOS / 实时补丁)。一张普通的 Intel/瑞昱千兆或百兆网卡就能跑通 100 Mbps 的 EtherCAT。

✅ 一句话

EtherCAT = 协议实时 + 软主站;不像 PROFINET IRT 那样"硬件绑死"。这也是它在机器人和中小自动化领域流行的原因——一颗 Linux 工控板就能当主站。

2. 主站软件栈怎么选

主站栈类型平台特点
SOEM(Simple Open EtherCAT Master)开源库Windows / Linux / 嵌入式(用户态)轻量、跨平台、易集成,机器人/创客项目首选,很多开源机械臂用它
IgH EtherCAT Master(EtherLab)开源Linux(内核模块)内核态直操网卡,实时性上限高;配 PREEMPT_RT 后抖动可到个位数 µs;功能全面
TwinCAT(倍福)商业 IDEWindows把 PC 变成 PLC+主站,工程工具链最完整,自动化产线事实标准
EC-Master(Acontis/盟通)商业Windows RTX / Linux / VxWorks / QNX高性能软主站标杆,最小周期可到 125 µs,支持冗余/拓扑扫描,汽车产线常见
CODESYS / KPA 等商业/开源多平台CODESYS 把主站做进 PLC 运行时;KPA 有开源与非开源版本

选型要点:数量少、想省钱、要灵活 → SOEM;Linux 高性能 → IgH;要完整工程环境、快速交付 → TwinCAT;硬实时、商用认证 → EC-Master。

3. 主站启动流程:从"一片空白"到"全网运行"

  1. 扫描拓扑:用位置寻址(APRD)逐站读 ESC 寄存器/类型,识别出"链路里有几个站、分别是什么"
  2. 读 SII:用 FPRD 读每个从站 EEPROM 里的从站信息(厂商 ID、产品码、PDO 默认映射、DC 能力…)
  3. 下发配置:写 PDO 映射、SM 配置、FMMU 映射、DC 参数到每个从站
  4. 推进状态机:逐个把从站从 INIT 推进到 OP
  5. 周期运行:每个周期发 LRW 交换过程数据,同时按需发邮箱/诊断

4. EtherCAT 状态机:从站的"安全启动链路"

每个从站都有四态,由主站驱动迁移,每次迁移都要主站确认成功后才会继续(请求→等从站状态回显→确认):

状态可用功能说明
INIT仅数据链路层刚上电;只能做 DL 级操作(读寄存器)
PRE-OP+ 邮箱可以 CoE/Sdo 读写对象字典(配置参数),但不交换过程数据
SAFE-OP+ 过程数据输入从站开始上报实际值(输入有效),但输出被钳制在安全值,不驱动执行器
OP+ 过程数据输出全速运行,输入输出全部激活,驱动器开始接受目标值

还有两个辅助态:BOOT(用于 FoE 固件下载)和 错误(故障时从站自动退态)。任何一步迁移失败,主站都要诊断并回退,绝不强推——这是 EtherCAT 安全性的体现。

⚠️ 工程铁律

从 OP 退到 INIT 会清空所有配置,下次要重新走一遍配置流程;现场"每次重启都要重新下载配置"通常是 SII 没存好或主站在用内存态配置。

5. 邮箱通信:EoE / CoE / SoE / FoE

过程数据是"周期快件",配置/诊断是"非周期挂号信",走邮箱:

协议全称用途
CoECANopen over EtherCAT对象字典 + SDO/PDO;支持 CiA 402 驱动行规——上一专题学的 CANopen 知识直接复用
EoEEthernet over EtherCAT在 EtherCAT 里"隧道"普通以太网/IP,给从站配置 IP、走 Modbus TCP 等
SoEServo over EtherCAT源自 SERCOS III,伺服专有参数体系,老式伺服设备常见
FoEFile over EtherCAT文件传输,最常用于从站固件升级(BOOT 态下下载 .bin)

对伺服应用,CoE + CiA 402 是最主流组合:周期用 CSP/CSV/CST 模式交换目标/实际值,非周期用 SDO 读写参数(如 607Ah 目标位置、6060h 操作模式——索引和 CANopen 一模一样)。

6. 主站侧的 DC 同步

DC 是"主站定策略、从站执行":主站在启动时测量传播延迟、配置参考时钟,运行中每个周期读取各从站时钟差值并下发校正。主站自身通常也用网卡时间戳把主站时钟对齐到参考时钟,实现主从一体化同步

7. 交互式演示:EtherCAT 状态机

点击命令按钮,驱动从站在四个状态间安全迁移。注意迁移必须"逐步进行"——不允许跳级。

EtherCAT 从站状态机迁移演示
当前状态:INIT(数据链路层)→ 可迁移到 PRE-OP(邮箱可用)。

观察要点:每个状态开放的功能不同(INIT→PRE-OP 打开邮箱、SAFE-OP 打开输入、OP 打开输出);迁移是单向推进、逐步完成的,故障时回退也是逐级。

8. 主站小结

  1. 主站是唯一主动发帧者,一张标准网卡 + 软件调度即可
  2. 选型:SOEM 轻量灵活 / IgH 高性能 / TwinCAT 工程化 / EC-Master 硬实时
  3. 启动流程:扫描 → 读SII → 配SM/FMMU/DC → 状态机推进 → 周期运行
  4. 状态机四态:INIT → PRE-OP → SAFE-OP → OP,逐步开放邮箱/输入/输出
  5. 邮箱:CoE(CiA 402)、EoE、SoE、FoE,伺服主用 CoE
  6. DC 同步让所有轴对齐动作,多轴系统必须开

下一篇把镜头切到从站:ESC 芯片怎么选、从站固件怎么写、SII 里存了什么、过程数据在从站里怎么走。