用于伺服驱动器的 EtherCAT:实用指南
什么是 EtherCAT?
EtherCAT(用于控制自动化技术的以太网)是一种实时以太网现场总线协议,由 Beckhoff 开发,自 2005 年起成为 IEC 标准(IEC 61158)。 其核心理念是:以太网帧不会像通常那样在每个节点上进行缓冲和转发,而是“即时”处理——每个从属设备在帧以线路速度传输时读取和写入其数据。
为什么这很重要?
对于伺服驱动器而言,确定性通信不是可选项,而是必备条件。控制回路必须在精确定义的时间间隔内交换设定值和实际值——微秒级抖动可能会破坏控制质量。
EtherCAT 提供以下功能:
- 循环时间从 62.5 µs 起——对于 4 kHz 及以上的高动态控制回路而言,速度足够快
- 纳秒级抖动——在实际机器应用中测得的数值为 30-70 ns
- 多轴同步——分布式时钟将所有轴同步到低于 100 纳秒的精度
- 高带宽——100 Mbit/s,没有像原生 CANopen 那样 8 字节的限制;每个周期都包含位置、速度、扭矩和附加数据
- 灵活的拓扑结构——线型、环型、星型或混合型;使用标准 Cat5e 电缆时,节点间距可达 100 米
它是如何运作的?
即时处理:单个以太网帧流经网络中的所有从站。 每个 EtherCAT 从属控制器 (ESC) 都会读取其输入数据,并将输出数据写入帧中——在硬件中,无需缓冲帧。每个节点的延迟约为 1 µs。经过最后一个从属设备后,帧返回主设备。一个帧循环即可更新整个网络中的所有 I/O 数据。
分布式时钟(DC):将一个从属设备定义为参考时钟(通常是第一个支持 DC 的从属设备)。所有其他从属设备将根据该参考时钟同步其本地时钟,同时自动补偿运行时间延迟。结果:所有从属设备同时触发 SYNC0 信号——所有驱动器同时扫描传感器并转换输出。
PDO 和 SDO——周期性和非周期性数据:
- PDO(过程数据对象)——每个通信周期中的周期性实时数据:目标位置、实际位置、目标速度、状态字等。PDO 分配通过映射对象(RxPDO 为 0x1600–0x17FF,TxPDO 为 0x1A00–0x1BFF)进行配置。
- SDO(服务数据对象)——通过邮箱机制进行非周期性参数访问:配置、诊断、固件更新。SDO 协议与 CANopen 完全相同。
CANopen over EtherCAT (CoE):CoE 将整个 CANopen 配置文件系列映射到 EtherCAT 上——包括 CiA 301(通信配置文件)和 CiA 402(带状态机和操作模式的驱动配置文件)。现有的 CANopen 对象和配置文件完全保留,原生 CANopen 的 8 字节有效负载限制已取消。
SOMANET 如何实现这一点?
所有 SOMANET 伺服驱动器(Node 和 Circulo)都使用 EtherCAT 与 CoE 作为主要通信接口。内部采样时间为250 µs(4 kHz),在高速配置下为62.5 µs。带SYNC0的分布式时钟将多从属系统同步到低于 100 ns。
每个 PDO 映射最多可包含20 个 对象,每个方向最多可包含 4 个 PDO 映射,从而实现灵活的数据分配——每个方向最多可循环传输 80 个对象。用于集成到 EtherCAT 主站(如 Beckhoff TwinCAT)中的 ESI 文件(EtherCAT 从站信息)可在 bundles.synapticon.com 上获得。
更多相关链接: