设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
EtherCAT全网络Init的问题分析
返回列表
发新帖
EtherCAT全网络Init的问题分析
[复制链接]
59441
|
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
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
fengxue
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』