介绍

EtherCAT,英文全称Ethernet Control Automation Technology,言外之意,就是利用以太网总线的自动化控制技术;它是一种用在高速、要求实时性的工业场景的通信总线,比如工业机器臂控制、半导体阀门和传感器、伺服电机应用等;EtherCAT使用标准以太网的物理层(PHY)和MAC层(帧结构),通信介质跟标准以太网无异,但它在数据链路层(Layer 2)实现了独特的实时帧处理机制,构建了一套专用于工业控制的实时通信子层和数据报文

img

EtherNet VS EtherCAT

层级 EtherNet EtherCAT
物理层 相同 相同
数据链路层 MAC帧(如IPv4: 0x0800) 专属MAC帧(0x88A4)+ 实时帧处理逻辑
网络层 IP路由(如IPv4/IPv6),IMGP,RAP
传输层 TCP/UDP
应用层 HTTP/FTP CoE、FoE、EoE

EtherCAT数据帧结构

img

主站

控制端(master),应用场景下一般是PLC居多,但PC Windows也能够做主站,但是实时性不强,需要依赖TwinCAT环境;Linux系统打补丁可以做主站,如IGH EtherCAT主站

从站

EtherCAT网络拓扑的从节点,slave负责接收指令、反馈设备状态,应用场景下有:工业蝶阀、机器臂、伺服电机等,这些均可以用作从站点

网口

EtherCAT从站点一般都会有IN && OUT两个端口(相当于标配),IN表示数据流入、OUT表示数据流出,从主站出发,每个从站点的IN && OUT依次连接成一个闭合网络拓扑结构(类似手拉手);但实际情形会有3个网口,另外一个就是普通以太网,可以用作web、ota等功能

答疑

问题一

问:EtherCAT需要配置IP地址吗?

答:EtherCAT使用MAC地址进行通信,不需要配置IP地址进行

问题二

问:从设备只有一个EtherCAT网口怎么办?

答:EtherCAT从设备原则上只要有一个OUT口就够了,OUT口也能双向通信,IN && OUT通常是工业设计中的硬件冗余

问题三

问:COE是运行在CAN接口协议之上的EtherCAT通信标准吗?

答:不是的,它的物理接口还是EtherCAT网口,只不过采用了CANOpen协议,跟EtherCAT通信标准很像(SDO、PDO)

问题四

问:可以用WireShark抓取EtherCAT数据包吗?

答:不建议,EtherCAT数据帧的以太网类型为 0x88A4,但Windows下大概率抓不到准确的数据包(需要严苛的条件)

问题五

问:从设备可以主动发起通信吗?

答:不能,从设备之间没有通信的能力,从设备也没有主动和主站通信的能力,需要主站发起(主从设计)

问题六

问:EtherCAT芯片的通信协议栈是开源的吗?比如从站点的协议栈、主站协议栈

答:倍福官网提供了一个SSC Tool的工具,可以用于生成Slave的协议栈,主站有IGH EtherCAT主站(Linux)

问题七

问:EtherCAT可以免费使用吗?

答:目前看来官方有给硬件通信demo(使用专用芯片),可以借鉴参考使用,从站协议栈工具要加入会员才能下载使用,主站代码是开源的

术语

几种EtherCAT模式:

ecat_cia402:CANOpen over EtherCAT,基于EtherCAT的CANOpen协议

ecat_eoe:Ethernet over EtherNet,基于EtherNet的EtherCAT协议,也就是将以太网帧拆分成EhterCAT通信数据包

ecat_foe:File over EtherCAT,基于EtherCAT的文件传输协议

ecat_io:IO over EtherCAt,基于EtherCAT的IO访问协议

数据结构:

PDO:Process Data Object,通过广播机制分发数据,用于实时性场合,比如Senor的姿态读取、Motor的运动数据读取

SDO:Service Data Object,通过请求-应答机制通信,用于非实时性、可靠性场景,如配置Slave设备的内部参数


下里巴人
海纳百川,文以载道
hywing技术自留地
总访问 113701 次 | 本页访问 326