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能力的综合呈现,而你在过程映像中映射的输入/输出变量,最终由端子电路驱动。
3.2 方法流程:从站上电与SII加载过程
当EtherCAT从站首次接入网络时,主站会执行一系列自动化的初始化步骤。理解这一流程有助于排查“从站无法识别”或“PDO映射错误”等问题。
- 链路层扫描:主站发送广播读命令,读取每个从站ESC的
AL Status寄存器(地址0x0130),确认从站是否处于INIT状态。 - SII读取:主站通过ESC的
SII Access寄存器(地址0x0500-0x0503)逐字节读取EEPROM内容。关键信息包括:- 偏移0x000A:厂商ID(如Beckhoff为0x00000002)
- 偏移0x000E:产品代码
- 偏移0x0012:版本号
- 偏移0x0030起:对象字典描述区(含PDO映射)
- 状态机推进:主站将从站状态从
INIT→PRE-OP→SAFE-OP→OP逐步切换。在PRE-OP阶段,主站根据SII中的SM配置初始化SM通道;在SAFE-OP阶段,主站开始周期性发送过程数据,但端子输出仍被禁止;进入OP后,端子正常输出。 - 过程数据映射:主站根据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。
复盘案例:某现场使用第三方从站,上电后主站扫描不到设备。排查步骤:
- 用示波器测量ESC的
LINK/ACT引脚,确认物理链路正常。 - 读取ESC的
AL Status寄存器,发现值为0x0011(INIT状态),但主站期望PRE-OP。 - 进一步读取SII的厂商ID,发现为0x00000000,说明EEPROM未正确烧录或I²C总线接触不良。
- 重新烧录SII并校验CRC后,从站恢复正常。
最佳实践:在批量调试前,使用主站工具的“EEPROM Update”功能备份所有从站的SII内容。当从站故障时,可通过对比SII备份快速定位是硬件损坏还是配置丢失。同时,务必在OP状态下观察DC(分布式时钟)同步误差,若端子响应延迟过大,需检查SM的同步模式设置(如SM2 Event Mode是否配置为DC Sync)。
通过以上分析可以看出,ESC、SII与EtherCAT端子构成了从站设备的完整数据通路。在实际工程中,三者必须协同工作:ESC保证通信实时性,SII提供即插即用的身份识别,端子实现物理信号转换。掌握它们的内部机制,是进行高级诊断和性能调优的基础。