工业自动化领域解决方案 利用Profishark工具捕获EtherCAT报文
随着工业自动化技术的不断进步,对于实时数据捕获和分析的需求也在增加。尤其在EtherCAT这样的高性能工业网络中,精准的报文捕获和分析工具显得尤为重要。在这篇文章中,我们将深入探讨如何利用ProfiShark工具捕获EtherCAT报文,并展示其在实际应用中的强大功能。
一、为什么要使用profishark捕获报文
使用方便:profishark作为专用的抓包硬件,在性能、稳定性、精确度上都比普通的抓包工具好很多,并且有一些PLC或者其它无法直接运行wireshark软件的专用控制器作为EtherCAT主站,这种情况下使用专用的抓包工具会省事很多,并且profishark串联在网络中带来的延迟和抖动很低,可以适用于大多数对于时间敏感的工业协议。
高分辨率时间戳:ProfiShark 提供分辨率为 8 ns 的硬件时间戳。ProfiShark 1G+ 和 10G+ 提供多种高级时间戳功能。 GPS芯片可以检索UTC时间,并将其与内部PPS同步,典型精度为±32 ns。 ProfiShark 1G+和10G+还可以通过SNTP(使用ProfiShark Manager或CLI工具)检索时间,或使用内部RTC(实时时钟),并通过外部PPS信号同步。可以提供 PPS 输出,以便与另一个 ProfiShark 设备或任何其他接受 PPS 输入的设备同步。这些功能可以以不同的方式组合,为数据包的准确和精确的时间戳提供多种可能的选项。
100%高保真流量捕获:为所有监控源安装 TAP 可保证 100% 的网络流量被复制并传输到监控工具,实现实时网络监控。
TSN支持,低抖动:ProfiShark能够捕获和分析支持Time-Sensitive Networking(TSN)技术的网络流量,并且能够准确地测量和记录数据传输的时序性,以便进行分析和故障排除。ProfiShark 与协议无关,并且对所有帧、标签和封装进行 L1 直通。这包括抢占帧 (IEEE 802.1Qbu/802.3br)、分段帧和 CRC 无效帧。Profishark 100M、1Gv5、1Gv6 和 1G+ 支持 TSN(IEEE 802.1Qbu/802.3br 帧)。
PoE直通功能:ProfiShark 1G 可以配置为串联模式或带外模式。串联模式具有故障安全功能,具有 PoE 直通功能,一旦 TAP 在网络中就位,监控端口就可以随意连接和断开,而不会中断网络链路。而带外模式则允许监控来自 SPAN/镜像端口或外部 TAP 的流量。
二、Profishark使用场景
抓取以太网报文
搜索报文CRC error
比较输入数据帧和输出数据帧
测量网络帧的抖动和延迟
分析主控端发送数据的过程和原理
分析处理设备处理网络帧处理流程及原理
主控设备实时测量
测量和处理设备的响应性能
工业以太网数据的监控与备份
三、技术参数
四、连接方式
必须在现有的 EtherCAT 网络中插入一个测试接入点(TAP),以捕获 EtherCAT 帧。建议将 TAP 安装在主站和第一个从站之间,但也可以安装在任意两个从站设备之间。不过,只有当 TAP 紧跟在主站之后安装时,才能完全分析所有输入和输出数据,因为有些数据(LRW 命令)会被下游从站的后续输入数据覆盖。所选的 TAP 设备(如 profishark 100M)应具有较小的传播延迟,以避免干扰整个网络定时。
TAP 的 “监控 ”端口通过标准以太网电缆与运行主站检查软件的计算机相连。
ProfiShark 100M 是一款袖珍型设备,一侧有两个 RJ45 连接器,另一侧有一个 USB 3.0 端口(还有一个可选的 5 V 直流外部电源接口)。
(1)将 ProfiShark 放在需要监控流量的站点(如 PLC 的以太网端口、CPU 的以太网模块、计算机、服务器等)前方。
(2)断开EtherCAT主站上的以太网电缆,将其连接到 ProfiShark 的一个以太网端口。然后,使用适配器附带的以太网电缆将ProfiShark 的另一个以太网端口连接到第一个从站。
(3)现在,ProfiShark处于要分析的数据包的线路中,所有流量都通过该 TAP 适配器。
(4)确认两端通信正常之后,将电源端口(USB端口)连接至装有profishark manager的电脑上,并通过profishark manager或者Wireshark 软件进行捕获和分析数据包。
五、如何使用wireshark分析EtherCAT报文
在使用ProfiShark成功捕获EtherCAT报文后,我们可以利用Wireshark来进行详细的分析。Wireshark是一款功能强大的网络协议分析工具,它可以帮助我们对捕获到的EtherCAT报文进行深入的检查和分析。以下是详细步骤和技巧:
1. 设置EtherCAT过滤器
EtherCAT报文在Wireshark中有特定的过滤器可以使用。我们可以通过设置这些过滤器来筛选出我们感兴趣的报文。例如,要过滤出特定类型的从站进入OP状态的报文,可以使用以下命令:
ecat.ado == 0x130
这个命令可以帮助我们快速找到并分析目标报文。
2. 捕获报文的详细信息
一旦捕获到EtherCAT报文,我们可以查看它们的详细信息。点击报文,可以展开查看其结构和内容,包括EtherCAT报文的头部信息、数据区、以及各个字段的具体值。这些信息可以帮助我们了解报文的具体内容和意义。
3. 分析周期性报文
在EtherCAT通信中,每个周期性报文通常包含三个子报文。这些子报文包括逻辑寻址、物理寻址等信息。通过分析这些子报文,我们可以了解主站与从站之间的数据交换过程。例如,查看LRW(Logical Read/Write)命令,可以看到从站的响应和主站的请求数据。
4. 分析时间间隔
时间间隔分析是评估EtherCAT系统性能的重要手段。通过Wireshark,我们可以测量报文之间的时间间隔,以评估系统的实时性和稳定性。具体操作是查看两个报文之间的时间差异,通过Wireshark的“时间显示格式”功能,可以更直观地看到这些时间差。
5. 常见错误分析
在EtherCAT系统中,常见的错误类型包括CRC错误、丢包、报文延迟过长等。通过Wireshark,我们可以检测并分析这些错误。例如,通过设置CRC错误过滤器,可以快速定位并分析存在问题的报文。分析这些错误需要我们熟悉EtherCAT的工作原理和流程,能够识别和诊断常见的通信问题。
6. 数据积累与学习
分析EtherCAT报文是一个需要不断积累和学习的过程。了解和掌握EtherCAT协议的细节是关键,这样才能在实际分析中得心应手。建议多阅读相关文献和技术文档,参与技术交流,不断提升自己的技能和知识水平。
六、总结
通过使用ProfiShark和Wireshark,我们可以高效地捕获和分析EtherCAT报文,满足工业网络系统对实时数据监控和故障排除的需求。ProfiShark凭借其高分辨率时间戳、100%高保真流量捕获、TSN支持及PoE直通功能,为工业自动化网络提供了强有力的支持。结合Wireshark的强大分析功能,我们能够详细查看报文结构、分析周期性报文的时间间隔、检测并诊断常见的通信错误,从而提高系统的性能和可靠性。随着对EtherCAT工作原理和分析技巧的不断积累和学习,我们可以更有效地进行网络监控和问题解决,为工业自动化的发展提供坚实的技术保障。
审核编辑 黄宇