EtherCAT 这几年火得不行,做 CNC 设备、机器人、多轴联动设备的工程师基本都接触过。它本质上是基于以太网的实时通信协议,但跟普通的 TCP/IP 以太网完全是两码事。今天不讲太深的协议栈,就聊聊它为什么能做到快、准、稳,还有用的时候容易踩的坑。
普通的以太网(TCP/IP)是"轮流发包"的协议——主站发一个请求,从站回复,再发下一个。一来一回几十毫秒过去了,还不算网络协议栈的处理时间。这种延迟对于发个网页、看个视频无所谓,但对于控制多台伺服电机同步运动,那是灾难——主站发出位置 1 的时候,从站 2 还在等。
EtherCAT 的玩法完全不一样。它用的是"飞读"(fly-by)技术——主站发一帧数据下去,这帧数据"飞过"所有从站,每个从站边飞边读自己的那部分、边改自己的那部分,最后一站再把数据帧返回主站。整轮通信一帧搞定,理论延迟在微秒级别。
这种"飞"的方式带来的好处很直接。第一是速度快——1000 个 I/O 点的通信周期可以做到 30 微秒以下,比传统现场总线快十倍以上。第二是同步精度高——所有从站共享同一帧数据,时间戳一致,多轴联动的同步精度能到 1 微秒级。第三是带宽利用率高——不需要每个 from站都发独立帧,省带宽。
CNC 设备为啥爱用它?因为 CNC 对多轴同步的要求极高。一台五轴机床,五个伺服轴要严格按轨迹联动,差几微秒就可能在曲面上看出刀痕。传统的脉冲控制方式精度差、布线麻烦(每个轴要单独拉线),而 EtherCAT 一根网线带 32 个轴甚至更多,简洁又精确。
机器人也是受益者。六轴机械臂每个轴的同步延迟必须短,EtherCAT 能把六个伺服电机的控制周期统一到 1 毫秒以内,而且每个电机的扭矩、位置、速度反馈都能在一个通信周期内上传。现在几乎所有主流机器人厂家(库卡、ABB、安川、发那科新机型)都用 EtherCAT 作为内部通信协议。
EtherCAT 的硬件成本不高。它用的是标准的 100BASE-TX 以太网物理线网卡,网卡芯片、变压器、网线都是现成的工业级元器件,比单贵的网关便宜得多。专用从站控制器 ESC(EtherCAT Slave Controller)芯片也就几美元到几十美元一颗,对设备成本影响不大。
但 EtherCAT 不是免费的午餐。它有几个使用上的限制:第一,主站必须用专门的协议栈(很多免费的,比如 SOEM、IgH EtherCAT,但稳定性和实时性都不如商业版)。第二,从站必须集成 ESC(比如 ISP 的 Bastler、ISP 的 ISP 等),不能像普通以太网设备那样随便接个网卡就上。第三,调试比传统现场总线复杂,需要专门的工具和经验。
调试 EtherCAT 网络有个神器叫 TwinCAT,是倍福(Beckhoff)开发的开源工具。它既能当 PC 主站(用普通电脑+网卡做主站),又有完整的诊断、配置、监控功能。很多刚开始用 EtherCAT 的工程师就是靠 TwinCAT 入门、调试、验证项目的。
国内这几年也有不少 EtherCAT 主站方案。深圳有几家做 EtherCAT 主站卡的厂商,价格比倍福便宜不少,兼容主流伺服品牌。还有一些国产 PLC(汇川、信捷、和利时部分型号)开始支持 EtherCAT 主站功能,让用户在不用进口 PLC 的情况下也能享受 EtherCAT 的性能优势。
常见坑说一下。第一,动态延时模块要靠近电机——EtherCAT 的同步性能受线缆长度影响,虽然一帧数据走完整个网络只要几微秒,但线缆质量太差(比如非标网线、用错双绞线)会导致通信错误。第二,从站电路板上的 ESC 芯片要求 PCB 阻抗严格控制 100Ω 差分,不然信号完整性出问题,丝印会断断续续或者直接不上网。第三,浪涌保护要做好,工业现场的静电和浪涌可能把 ESC 芯片直接打死。
总的来说,EtherCAT 是当下多轴同步控制的最优解之一。如果你的项目对实时性要求高(多轴同步、机器人、CNC、高速数据采集),用 EtherCAT 准没错。如果只是几个 I/O 点的开关量控制,传统 Modbus RTU 或者 CANopen 也够用,没必要上 EtherCAT。选型的时候匹配实际需求,不要为了高端而高端。
上一篇:Protel 99 SE原理图符号自制技巧:从零画出标准元件库
下一篇:没有了