[EtherCAT]EOE通信速率分析和改善

EoE简介和使用场景

EoE(Ethernet over EtherCAT)是在一种将标准以太网数据帧封装在EtherCAT报文帧(邮箱报文Mailbox Protocol)中进行传输的技术,可以把它理解为一种“隧道”技术。它允许将基于以太网的设备或协议,无缝地集成到EtherCAT主干网络中,而无需为它们铺设独立的网络线缆。

例如:

  1. EtherCAT伺服驱动器的配置、诊断、监控通过EoE实现。
    传统方式工程师使用上位机通过额外的网线、USB或串口接口连接到驱动器,对伺服驱动器进行参数设置、优化和调试,可以通过EoE复用EtherCAT网口实现相同功能。又比如驱动器内置web服务器,通过EtherCAT总线连接到主站,可以通过EoE通信,无须增加线缆,主站即可访问驱动器网页,实现监控和配置功能。

  2. 现有以太网设备接入EtherCAT网络,比如工厂搭建好了基于EtherCAT的主干控制网络,希望将现有以太网接口的设备接入进EtherCAT网络。可以通过一个支持EOE功能的从站桥接进入EtherCAT网络。

EtherCAT邮箱通信机制

EtherCAT邮箱通信用于在EtherCAT主站和从站之间传输非周期性、非实时数据。主从站通过问答的“锁步”模式,确保数据交换的可靠性和一致性。根据数据方向分为发送邮箱和接收邮箱。

主站向发送邮箱写入数据,从站从发送邮箱读取数据,如果从站未读取数据,则邮箱为满,主站不能再次写入。
主站从接收邮箱读取数据,从站向接收邮箱写入数据,如果从站未写入取数据,则邮箱为空,主站读不到数据。

按照默认的SSC协议栈做法,邮箱通信不产生中断,主从站均是采用轮询邮箱状态的方式进行通信,在效率上会低。

此外对于EtherCAT通信,只有主站才能发出数据帧,从站不能主动发出数据帧,从站只能等主站发出来数据帧到来时被动进行通信,这也影响通信速率。

以上因素共同决定了EoE的实际通信速率是远小于100M带宽的标准以太网通信速率。

EOE速率限制和改善

目前EOE通信速率限制主要在主站上。比如:从站处理了主站发来的EOE数据,主站没有及时发来新的数据,从站想发给主站EOE数据时,主站没有及时发出数据帧来读,导致主站之间的邮箱数据(EOE)交互的慢。

以下是应用中可以提高EOE通信速率的一些办法。

  1. 调整EtherCAT从站邮箱大小,使邮箱单次能收发更多的EoE数据。
    在EtherCAT从站开发中事先规定了从站的邮箱地址和大小,可以调整邮箱大小,最大可以设置1486字节,单次传输的EOE数据最大长度 = 邮箱大小 - 相应的协议头大小(EOE协议头和以太网协议头,最大占用86字节)。

    默认设置的邮箱大小是512字节,可以最大设置到1486字节,根据使用场景中一次EOE报文的最大长度合理设置。

    修改邮箱地址和大小之后,需要注意对于调整PDO的地址,避免地址冲突。

  2. 主站更频繁的查询从站的邮箱状态,更频繁的发送邮箱数据报文。
    如下使用典型场景下的EtherCAT从站的SM和FMMU分配,SM0和SM1用于邮箱Mbx Out和Mbx In通信,除此之外还能通过通过FMMU监控Mbx In的状态,当监控到从站想发数据给主站时,主站及时发出数据帧读取从站的邮箱数据。监控Mbx In的报文是和其他PDO通信报文合成一个数据帧按照周期进行发送的,可以减小监控邮箱状态报文的周期,进而提高EOE通信速率。
    对于可自主开发控制报文的主站,应设计主站更快的查询邮箱状态和发送邮箱数据报文。

当前已实现的邮箱通信速率

目前客户运行SOEM主站,从站运行SDK eoe_tcp_echo程序,可以测得1223KB/s的通信速率。

0
0

订阅

发表回复 0

Your email address will not be published. Required fields are marked *

captcha
Enter the characters shown in the image:
Reload

This CAPTCHA helps ensure that you are human. Please enter the requested characters.