使用ET2000和Wireshak分析Ethercat主站的实时性

在DC同步模式下,Ethercat主站能否在规定的时间内发送过程数据帧,是影响整个系统性能的关键因素,本文介绍如何使用Wireshark抓取总线上的Ethercat数据包,并将主站发过程数据帧的时间间隔以曲线的形式显示出来。

1、连接ET2000

将ET2000串接在网络中:

使用ET2000和Wireshak分析Ethercat主站的实时性_第1张图片

2、启用ESL协议

打开Wireshark -> 分析 ->启用的协议对话框,勾选esl_eth:

使用ET2000和Wireshak分析Ethercat主站的实时性_第2张图片

3、抓取数据

抓取的数据如下,其中EtherCAT Switch Link下的timestamp是ET2000添加到数据包末尾的时间戳,单位为ns。而Time下的时间为运行Wireshark的Windows系统添加的时间戳。

使用ET2000和Wireshak分析Ethercat主站的实时性_第3张图片

4、筛选数据

由于只分析主站发送数据的时间,即working counter 为0的数据,使用过滤规则
(eth.type == 0x88a4) && (ecat.cnt == 0)
过滤数据,并导出为另一个文件,例如导出到D:\test.pcap

使用ET2000和Wireshak分析Ethercat主站的实时性_第4张图片

5、使用tshark导出时间戳

使用tshark命令将ET2000的时间戳导出为csv文件:

使用ET2000和Wireshak分析Ethercat主站的实时性_第5张图片

导出结果为:
使用ET2000和Wireshak分析Ethercat主站的实时性_第6张图片

6、绘图

将csv中的发送时间间隔绘制成曲线图,可看出该主站的时间抖动在60us左右。

作为对比,Windows的时间戳抖动达到200us。

可见,ET2000的时间戳才能反映真实的主站实时性。

你可能感兴趣的:(EtherCAT)