随着工业自动化技术的不断进步,对于实时数据捕获和分析的需求也在增加。尤其在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
- 比较输入数据帧和输出数据帧
- 测量网络帧的抖动和延迟
- 分析主控端发送数据的过程和原理
- 分析处理设备处理网络帧处理流程及原理
- 主控设备实时测量
- 测量和处理设备的响应性能
- 工业以太网数据的监控与备份
三、技术参数
ProfiShark 100M | ProfiShark 1G | |
捕获接口 | 2 个 RJ45 以太网 10/100M | 2 个 RJ45 以太网 10/100/1000M |
管理接口 | 1 个 USB 3.0 | 1 个 USB 3.0 |
In-Line模式 | 支持 | 支持 |
SPAN模式 | 不支持 | 支持 |
In-Line引起的延迟 | 2 ns | 1G: 380 ± 8 ns |
In-Line引起的抖动 | 无 | 1G: 20 ns 100M: 20 ns 10M: 80 ns |
故障安全 | 网络连接采用电隔离 | 主动旁路和快速故障切换电路 |
支持的捕获速度 | 10M / 100M | 10M / 100M / 1G |
捕获性能 | 3.2 Gbps / 3.2 Mpps | 3.2 Gbps / 3.2 Mpps |
PoE 直通 | 支持 | 支持 |
硬件时间戳 | 有:8 ns,NTP 同步 | 有:8 ns,NTP 同步 |
四、连接方式
必须在现有的 EtherCAT 网络中插入一个测试接入点(TAP),以捕获 EtherCAT 帧。建议将 TAP 安装在主站和第一个从站之间,但也可以安装在任意两个从站设备之间。不过,只有当 TAP 紧跟在主站之后安装时,才能完全分析所有输入和输出数据,因为有些数据(LRW 命令)会被下游从站的后续输入数据覆盖。所选的 TAP 设备(如 profishark 100M)应具有较小的传播延迟,以避免干扰整个网络定时。
TAP 的 “监控 ”端口通过标准以太网电缆与运行主站检查软件的计算机相连。
ProfiShark 100M 是一款袖珍型设备,一侧有两个 RJ45 连接器,另一侧有一个 USB 3.0 端口(还有一个可选的 5 V 直流外部电源接口)。
- 将 ProfiShark 放在需要监控流量的站点(如 PLC 的以太网端口、CPU 的以太网模块、计算机、服务器等)前方。
- 断开EtherCAT主站上的以太网电缆,将其连接到 ProfiShark 的一个以太网端口。然后,使用适配器附带的以太网电缆将ProfiShark 的另一个以太网端口连接到第一个从站。
- 现在,ProfiShark处于要分析的数据包的线路中,所有流量都通过该 TAP 适配器。
- 确认两端通信正常之后,将电源端口(USB端口)连接至装有profishark manager的电脑上,并通过profishark manager或者Wireshark 软件进行捕获和分析数据包。
五、如何使用wireshark分析EtherCAT报文
在使用ProfiShark成功捕获EtherCAT报文后,我们可以利用Wireshark来进行详细的分析。Wireshark是一款功能强大的网络协议分析工具,它可以帮助我们对捕获到的EtherCAT报文进行深入的检查和分析。以下是详细步骤和技巧:
- 设置EtherCAT过滤器
EtherCAT报文在Wireshark中有特定的过滤器可以使用。我们可以通过设置这些过滤器来筛选出我们感兴趣的报文。例如,要过滤出特定类型的从站进入OP状态的报文,可以使用以下命令:
ecat.ado == 0x130
这个命令可以帮助我们快速找到并分析目标报文。
- 捕获报文的详细信息
一旦捕获到EtherCAT报文,我们可以查看它们的详细信息。点击报文,可以展开查看其结构和内容,包括EtherCAT报文的头部信息、数据区、以及各个字段的具体值。这些信息可以帮助我们了解报文的具体内容和意义。
- 分析周期性报文
在EtherCAT通信中,每个周期性报文通常包含三个子报文。这些子报文包括逻辑寻址、物理寻址等信息。通过分析这些子报文,我们可以了解主站与从站之间的数据交换过程。例如,查看LRW(Logical Read/Write)命令,可以看到从站的响应和主站的请求数据。
- 分析时间间隔
时间间隔分析是评估EtherCAT系统性能的重要手段。通过Wireshark,我们可以测量报文之间的时间间隔,以评估系统的实时性和稳定性。具体操作是查看两个报文之间的时间差异,通过Wireshark的“时间显示格式”功能,可以更直观地看到这些时间差。
- 常见错误分析
在EtherCAT系统中,常见的错误类型包括CRC错误、丢包、报文延迟过长等。通过Wireshark,我们可以检测并分析这些错误。例如,通过设置CRC错误过滤器,可以快速定位并分析存在问题的报文。分析这些错误需要我们熟悉EtherCAT的工作原理和流程,能够识别和诊断常见的通信问题。
- 数据积累与学习
分析EtherCAT报文是一个需要不断积累和学习的过程。了解和掌握EtherCAT协议的细节是关键,这样才能在实际分析中得心应手。建议多阅读相关文献和技术文档,参与技术交流,不断提升自己的技能和知识水平。
六、总结
通过使用ProfiShark和Wireshark,我们可以高效地捕获和分析EtherCAT报文,满足工业网络系统对实时数据监控和故障排除的需求。ProfiShark凭借其高分辨率时间戳、100%高保真流量捕获、TSN支持及PoE直通功能,为工业自动化网络提供了强有力的支持。结合Wireshark的强大分析功能,我们能够详细查看报文结构、分析周期性报文的时间间隔、检测并诊断常见的通信错误,从而提高系统的性能和可靠性。随着对EtherCAT工作原理和分析技巧的不断积累和学习,我们可以更有效地进行网络监控和问题解决,为工业自动化的发展提供坚实的技术保障。
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022