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

转自 https://blog.csdn.net/ethercat_i7/article/details/77479316

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

1、连接ET2000


2、启用ESL协议

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


3、抓取数据

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


4、筛选数据

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


5、使用tshark导出时间戳

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

导出结果为:

6、绘图

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

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

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

扫描二维码关注公众号,回复: 6013896 查看本文章

猜你喜欢

转载自blog.csdn.net/wofreeo/article/details/89450713
今日推荐