EtherCAT全网络Init的问题分析

[复制链接]
查看59455 | 回复0 | 2024-6-18 07:40:00 | 显示全部楼层 |阅读模式
内容摘要

现场设备偶尔出现生产过程中EtherCAT网络全部Init的情况,需要掉电重启或者重新激活配置才能恢复。如何诊断是哪个从站导致了网络崩溃,会是哪些原因呢?本文描述了:


    EtherCAT主站自动退回Init的原因以及参数设置

    查看从站连接丢失次数

    从站丢失连接的可能原因

关键词

EtherCAT,主站Init,连续丢帧,网络中断

历史版本

本文参考了现有技术文档“EtherCAT连续丢帧引起网络中断问题排查方法.docx”,并将部分内容添加到了正文,以使用户尽可能读一篇文档了解足够的信息。文中所述方法听取了ETG技术专家的指导,在此整理发布供用户工程师收藏转发。最新版本请到倍福虚拟学院“EtherCAT诊断案例”中查找:
https://tr.beckhoff.com.cn/course/view.php?id=40#section-4。

正文

1      EtherCAT主站退回Init的原因

在TwinCAT设置中,只有一种可能性主站会自己进入Init——发出去的数据包,连续10次无法返回。根据TwinCAT主站的默认配置,主站就会进入Init并且不再尝试重新进入OP,需要重启或者激活配置才能重新OP。如果是这个原因,通常在TwinCAT的Log中可以看到提示丢包10次的信息。1.1     主站的ReInit设置


注意:这个设置是为了保证安全,因为在发出的数据包无法返回的情况下,其实主站已经无法无法确定输出给所有从站的数据是否真正被接受,也无法接收任何从站送来的数据。这种时候更加安全的做法是自己进入Init,等待人工干预,排查故障后再重新启动。仅当为了排查故障,才取消主站ReInit的选项。这样即使数据包收不回来,主站还会继续维持OP状态,继续发数据包。但是这样有潜在风险,所以正常生产时不建议这样设置。顺便说一句,某些第三方主站不会报这个错误,不一定是它的主站更稳定,有可能是它们没有做这个保护功能。 1.2     从站的ReInit设置

假如是个别从站发生闪断,以致数据包无法返回,后面主站继续发数据包的时候,这个从站又重新连接上了,那么它是否恢复通讯取决于从站的ReInit设置:

默认也是勾选中的。如果取消,那么即使主站再发数据来这个从站就不会恢复。这样当然可以立即查出来此前是哪个从站导致丢包。为了使系统更强壮,克服短暂的(比如小于10次)的闪断仍能恢复工作,通常这个地方推荐默认配置,即故障点恢复后重新初始化自动进入OP通讯。2       如何查看哪个从站曾经连接中断
有两个办法可以查看哪个从站曾经中断连接:一个是在EtherCAT Online界面,一个是用PLC程序读从站的Register。2.1     在EtherCAT Online界面显示Slave连接丢失次数

EtherCAT从站都能自行记录每个端口的连接丢失次数。在主站的Online View中,把0310‘Link Lost A/B’选中。因为伺服、步进或者EL模块,都只有AB口。0310的低字节表示Port A即入口的连接丢失次数,高字表示PortB即出口的次数。

然后在Online页面可以看到Reg:0310的值:

上图中地址1008 Term9(EK1100)的Reg:0310的当前值为5,这是因为测试时5次拔插网线。另外有几点需要注意:
(1)拔网线只影响后面的从站Port A

如果拔掉一个EK1100的入口网线,只有EK1100本身的0310低字节才加1,而后面的EL模块显示正常;如果拔掉与之相连的EK1110的网线,仍然显示为EK1100的0310低字节才加1,而被拔网线EK1110却显示正常。 (2)从站的Reg字仅在掉电时清零

在CX5130+TC3的平台上测试,结果显示EK1100从站掉电重启并不会导至该值增加,因为每次掉电这个值都会清零。而TC3主站重启或者TC3开发环境关闭再打开,Reg:0310值不变。 (3)诊断数据可导出.csv文件

虽然直接截图也可以分析,但是如果从站数量较多,就需要多次截屏。EtherCAT Online界面提供导出功能。在上图的右键菜单选择Export List,可以导出诊断信息至.csv文件。在Excel中打开.csv文件,然后在Excel主菜单“数据”下选择“分列”,设置以“分号”为分隔符,然后就可以看到每一列的数据:

2.2用FB_EcPhysicalReadCmd读取如果现场没有工程师用电脑查看EtherCATOnline界面,可以编写PLC程序调用功能块FB_EcPhysicalReadCmd来读取从站的Register,例如:

因为注册字不能配置到ProcessData,所以只能用FB来读。不要每个周期去读,这样会耗费太多CPU和EtherCAT资源,建议在WcState为Invalid的时候去触发读的指令。如果从站数量超过较多,最好分组来读。 2.3 看从站的Run灯

有数据通讯的从站,连接灯和运行灯都会亮。而没有数据通讯的从站,Run灯是不亮的。但是这个方法在现场如果电柜分散就很难一个一个查看。并且,如果主站在10次丢包后停止通讯,或者有问题的从站在10次以内就恢复了通讯,那么人工就几乎看不到指示灯的变化了。如果设置了主/从站都不自动ReInit,那有问题的从站指示灯就会和其它正常的从站不同。
3  为什么EtherCAT连接会丢失

可能的原因有:EMC干扰、网线质量问题、网口虚接、网络接口松动、滑环接触不良、从站模块自身损坏等多种原因。最常见的是网线质量和网口连接问题,先要排查这两个问题。
3.1 网线质量

如果是预制网线,通常是机器批量制作的,压线质量会更加稳定。如果是手工制作,剪线压线的预留长度、用力、屏蔽层和金属片接触是否牢靠,这些都有变数。可以试着打开几个接头再检视。
3.2 网口连接

可以试着用手轻摇某个从站的网线,同时监视EtherCAT Online,看Lost Frame是否有增加。如果有增加,说明机器生产过程中的振动有可能引起丢包。如果定位到是这个节点发生故障,那就要检查RJ45接头、RJ45网口是否松动、损坏、锈蚀等,条件允许的话,最简单的当然是更换组件。

END


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则