EtherCAT抓包分析及故障排除示例

通信网络

634人已加入

描述

概述    

在EtherCAT网络通讯过程中,网络分析和故障排除是开发中必要的一环,但EthaerCAT网络数据包十分复杂,且数据包数量多,数据实时性强。由于这些特性的存在,使得对EtherCAT网络进行分析诊断变得不是件容易的事情。今天,本文就从网络分析和故障排除的角度,演示如何通过软硬件搭配的形式完成对EtherCAT网络的分析。

借助专业的硬件进行数据帧分析    

EtherCAT网络是一个实时性非常强的网络,网络中的数据帧往往在微秒级,通过抓包分析某个周期的数据。然而如果采用不具备单独时钟的硬件对数据进行抓包,数据包的时间戳将是抓到上位机的系统时间,这就使得数据包的时间戳并不是真实的时间,在对网络进行实时分析是就存在了诸多不便。我们建议客户采用专业的,具有独立时钟的TAP硬件来为数据帧实时的打上时间戳,便于客户对EtherCAT网络进行精确的分析。

具体的操作流程如下:

我们需要在网络拓扑中,将TAP插入主站和第一个从站之间来抓取数据。TAP也可以插入从站和从站之间,当前版本的EC-Inspector只支持在主从之间插入TAP。

将网络数据帧写入PCAP文件。其中,离线分析支持PcapNg文件。

抓取时可以设置触发条件,例如:

在检测到任何错误的情况下停止

在特定的输入/输出被改变的情况下停止

在检测循环过程数据交换中的WKC错误停止

基于网络配置文件(ENI)的EtherCAT协议的分析和解码      

如果您想要更快的了解我们的EC-Inspector软件使用方式,您可以直接观看我们的视频,更快的了解EC-Inspector的工作方式。

EC-Inspector可以通过导入已知的网络拓扑文件(ENI文件)来解析网络中实时的数据包信息。该方式可以使用户无需指导快速上手分析EtherCAT网络中的各种信息。

ethercat

为什么EC-Inspector可以通过ENI文件来解析数据包呢?因为ENI文件是EtherCAT技术规范的一部分 (ETG.2100)。ENI文件中记录了所有从站的定义,如:循环周期、PDO变量、PDO映射等信息。所有的EtherCAT主站都依据ENI文件作为网络拓扑进行通讯,因此,在ENI文件中可以说集成了整个EtherCAT网络的所有配置信息。有了这些配置信息EC-Inspector基于这些信息对数据包进行解析,就可以快速、准确、无误的为用户提供每个从站的数据帧信息了。

ethercat

只知道了网络中设备的信息,仍然不足以解析数据包。EC-Inspector中集成了EtherCAT网络数据包的组包方式,完全按照协议标准进行数据解析。在用户界面上无需查看繁琐的数据帧软件会自行解析。EC-Inspector对网络数据均已经解析完毕。

ethercat

如何在线监控分析网络中数据变量      

在EC-Inspector中添加变量至Watch List中,即可在watch list标签页下的Chart窗口查看数据的变化。支持所有数据类型、符号、偏移。并且支持对每个从站数据的过滤,在一个图表中最多支持显示500个变量。并且支持这些将据和图表保存为文件。

ethercat

我们可以设置一个或几个变量,当变量的值满足某一条件时停止图表的活动。这种场景可以在长时间运行中抓取EtherCAT网络中错误的表现,并通过这些冻结的图表分析成因。

ethercat

如何分析从站的运行状态      

基于寄存器AL状态我们可以对从站状态进行评估(0x0130)。同样,可以根据每个从站的错误计数器(ESC将0x300寄存器寄存器到0x313)来检查从站运行是否正常。(注意:只有当主服务器请求寄存器时,寄存器的值才能被捕获。从控制器错误寄存器中读取值后即可进行数据的分析。可能发生以下错误情况:当两个设备之间的物理连接中断时,对应的链路丢失计数器将会增加。

ethercat

数据帧发生错误将导致无效帧计数器包括CRC错误计数器和RX错误计数器增加。

ethercat

其中,硬件错误可以分为两种类型:

CRC错误=帧问题:

循环冗余检查整个以太网帧的错误。

只能在帧内出现(校验和只对以太网帧进行验证)。

CRC错误计数器(无效帧计数器的低字节)

RX错误=传输问题:

个别符号错误(特定硬件编码无效)。

可以发生在帧内部和帧外部(每个物理接口在帧之间传输空闲符号)

RX错误计数器(无效帧计数器的高字节)

对于整个从站网络运行状态的辨别和分析    

ethercat

EC-Inspector具备全网络拓扑的图形化视图,我们可以从端口颜色反映连接质量:灰色=好/黄色=警告/红色=错误。右侧是整个EtherCAT网络的数据的记录和统计,所有从站的错误计数器和端口信息都在这里展示。

快照留存和数据处理步骤      

如果您想要对从站进行历史数据的分析,也可以按照快照形式来对数据进行留存和回溯分析。快照操作方式如下图:

步骤1:定义捕获设置

ethercat

步骤2:拍摄快照

ethercat

步骤3:选择“Capture File for diagnostic”

ethercat

步骤4:评估数据

ethercat

每个网络周期数据的分步处理      

有些情况下,我们需要对整个EtherCAT网络下,某些特定的周期进行逐一的分析。EC-Inspector具备这样的功能,只需要你导入在网络运行时留存的数据包文件(完整的数据文件)和ENI文件。即可精确到某一周期来复现从站的状态。

ethercat

当然,我们可以利用这样的回溯机制,来进行过去某段时间的从站数据帧变化的统计和检测。精确到周期;精确到某一从站的某一变量的详细变化。

ethercat

关于盟通:

北京盟通科技有限公司成立于2013年,是工业自动化领域的高新技术企业。公司专注于实时现场总线技术及工业通讯技术的研发、推广及技术支持服务。依托于核心团队多年的海外和行业经验,我们与欧洲多家自动化领域的佼佼者达成战略合作关系,是德国Unified Automation公司、德国Acontis Technologies公司、德国Dina Elektronik公司在中国区域的唯一授权合作伙伴,瑞典HMS工业网络有限公司FSoE协议软件(Ixxat@品牌)、CANopen协议栈(emotas)等产品的正式授权分销商。为客户提供EtherCAT主站协议栈、OPC UA SDK软件开发包、CANopen协议栈、FSoE协议软件、CAN总线硬件、DINA安全模块等工业协议的标准和定制化产品。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分