3. EtherCAT网络组成:从站控制器(ESC)、从站信息接口(SII)、EtherCAT端子

3.1 核心原理:一个从站的三层解剖

EtherCAT从站设备在物理上看似一个整体,但在协议栈内部却由三个逻辑层次构成:通信接口层(ESC)、配置信息层(SII)和应用功能层(EtherCAT端子)。理解这三者的分工,是进行网络配置、故障诊断和性能优化的前提。

  • ESC(EtherCAT Slave Controller):从站的“心脏”,负责处理EtherCAT数据帧的转发、提取与插入。它是一颗专用ASIC芯片(如Beckhoff ET1100、ET1200)或集成在FPGA中的IP核。ESC内部包含FMMU(现场总线存储管理单元)、SM(同步管理器)以及DPRAM(双口RAM),所有过程数据都通过DPRAM与上层应用交换。
  • SII(Slave Information Interface):从站的“身份证”,通常是一颗EEPROM(如93C66),通过I²C或SPI接口与ESC相连。SII中存储了从站的厂商ID、产品代码、版本号、对象字典映射、PDO配置、FMMU/SM初始值等关键信息。主站启动时通过ESC的SII访问寄存器读取这些数据,从而自动识别从站类型并建立过程映像。
  • EtherCAT端子(Terminal):从站的“手脚”,即实际执行I/O、测量或控制功能的电路模块。端子通过背板总线与ESC的DPRAM连接,将物理信号(如24V数字量、模拟量、编码器信号)转换为过程数据,或反向执行输出。

关键理解:ESC负责“通信”,SII负责“身份”,端子负责“功能”。三者通过内部地址总线和数据总线协同工作。在配置工具(如TwinCAT、CODESYS)中,你看到的“从站名称”和“设备图标”实际上是SII信息与ESC能力的综合呈现,而你在过程映像中映射的输入/输出变量,最终由端子电路驱动。

EtherCAT从站内部结构:ESC + SII + 端子 ESC 从站控制器 (ET1100 / ET1200 / FPGA IP) FMMU 单元 逻辑地址→物理地址映射 SM 同步管理器 输入/输出数据同步控制 DPRAM 双口RAM 过程数据缓存区 (4KB ~ 64KB) SII 从站信息接口 (EEPROM 93C66) 存储内容: 厂商ID / 产品码 / 对象字典 PDO映射 / SM&FMMU初始值 EtherCAT 端子 (数字量/模拟量/编码器) 功能: 物理信号 ↔ 过程数据 I/O / 测量 / 驱动 I²C / SPI 总线 上电时读取SII配置 背板总线 DPRAM ↔ 端子寄存器 EtherCAT IN EtherCAT OUT 主站通过ESC的寄存器访问SII,获取从站描述;通过FMMU/SM将过程数据映射到DPRAM;端子电路最终驱动物理I/O

3.2 方法流程:从站上电与SII加载过程

当EtherCAT从站首次接入网络时,主站会执行一系列自动化的初始化步骤。理解这一流程有助于排查“从站无法识别”或“PDO映射错误”等问题。

  1. 链路层扫描:主站发送广播读命令,读取每个从站ESC的AL Status寄存器(地址0x0130),确认从站是否处于INIT状态。
  2. SII读取:主站通过ESC的SII Access寄存器(地址0x0500-0x0503)逐字节读取EEPROM内容。关键信息包括:
    • 偏移0x000A:厂商ID(如Beckhoff为0x00000002)
    • 偏移0x000E:产品代码
    • 偏移0x0012:版本号
    • 偏移0x0030起:对象字典描述区(含PDO映射)
  3. 状态机推进:主站将从站状态从INIT→PRE-OP→SAFE-OP→OP逐步切换。在PRE-OP阶段,主站根据SII中的SM配置初始化SM通道;在SAFE-OP阶段,主站开始周期性发送过程数据,但端子输出仍被禁止;进入OP后,端子正常输出。
  4. 过程数据映射:主站根据SII中的PDO映射信息,将端子的输入/输出数据映射到FMMU对应的逻辑地址范围。例如,一个4通道数字量输入端子(EL1004)的输入PDO映射为0x6000:01(通道1)至0x6000:04(通道4)。

实操提示:在TwinCAT中,双击扫描到的从站设备,打开“EtherCAT”选项卡下的“SII”页面,可以查看EEPROM的原始内容。如果从站无法进入OP状态,优先检查SII中的SM配置是否与主站期望一致,特别是SM2(输出)和SM3(输入)的起始地址和长度。

3.3 案例/场景:EL1004/EL2008端子组的配置

以一个典型的数字量I/O从站(Beckhoff EL1004 + EL2008)为例,展示ESC、SII与端子的协同工作。

组件 型号 功能 SII关键参数
ESC ET1100 通信控制,支持4个FMMU、8个SM SM2起始地址0x1000,长度8字节(输出)
SM3起始地址0x1080,长度8字节(输入)
SII 93C66 (2KB) 存储从站描述与映射 厂商ID=0x00000002,产品码=0x03EC(EL1004)
端子 EL1004 4通道数字量输入,24V DC PDO映射:0x6000:01~04,每个通道1位
端子 EL2008 8通道数字量输出,24V DC PDO映射:0x7000:01~08,每个通道1位

在配置工具中,主站读取SII后自动生成过程映像。对于上述组合,输入数据长度为1字节(EL1004的4位有效),输出数据长度为1字节(EL2008的8位有效)。实际配置时,主站会将EL1004的输入映射到IB0的第0~3位,将EL2008的输出映射到QB0的第0~7位。

// TwinCAT 中自动生成的变量映射示例
// EL1004 输入
bInput_Ch1 : BOOL AT %I* : BOOL;  // 对应 IB0.0
bInput_Ch2 : BOOL AT %I* : BOOL;  // 对应 IB0.1
// EL2008 输出
bOutput_Ch1 : BOOL AT %Q* : BOOL; // 对应 QB0.0
bOutput_Ch8 : BOOL AT %Q* : BOOL; // 对应 QB0.7

3.4 误区/复盘:常见配置错误与排查

误区1:混淆ESC与端子的地址空间。ESC的DPRAM地址(如0x1000)是内部物理地址,而FMMU映射的是主站逻辑地址。若SII中的SM起始地址设置错误,会导致主站写入的数据无法到达端子电路。例如,将SM2起始地址误设为0x1100,而端子实际从0x1000读取,则输出完全无效。

误区2:忽略SII的CRC校验。EEPROM末尾的CRC(循环冗余校验)用于验证SII数据完整性。若使用非官方工具修改SII内容而未重新计算CRC,主站会拒绝加载配置并报告“SII CRC错误”。此时从站停留在INIT状态,无法进入PRE-OP。

复盘案例:某现场使用第三方从站,上电后主站扫描不到设备。排查步骤:

  1. 用示波器测量ESC的LINK/ACT引脚,确认物理链路正常。
  2. 读取ESC的AL Status寄存器,发现值为0x0011(INIT状态),但主站期望PRE-OP。
  3. 进一步读取SII的厂商ID,发现为0x00000000,说明EEPROM未正确烧录或I²C总线接触不良。
  4. 重新烧录SII并校验CRC后,从站恢复正常。

最佳实践:在批量调试前,使用主站工具的“EEPROM Update”功能备份所有从站的SII内容。当从站故障时,可通过对比SII备份快速定位是硬件损坏还是配置丢失。同时,务必在OP状态下观察DC(分布式时钟)同步误差,若端子响应延迟过大,需检查SM的同步模式设置(如SM2 Event Mode是否配置为DC Sync)。

通过以上分析可以看出,ESC、SII与EtherCAT端子构成了从站设备的完整数据通路。在实际工程中,三者必须协同工作:ESC保证通信实时性,SII提供即插即用的身份识别,端子实现物理信号转换。掌握它们的内部机制,是进行高级诊断和性能调优的基础。