设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
EtherCAT诊断和配置优化
返回列表
发新帖
EtherCAT诊断和配置优化
[复制链接]
16385
|
0
|
2024-3-13 09:52:18
|
显示全部楼层
|
阅读模式
在工作中实践总结,在朋友圈分享讨论,做最接地气的公众号.
倍福用户大量使用EtherCAT,通常对EtherCAT不必作太过深入的了解,因为大多数项目只要使用自动扫描、默认设置。但是一旦发生通讯错误,需要故障诊断时,工程师就需要了解一些EtherCAT常识,并学会如何优化配置。
本文力求以简单的方式,介绍TwinCAT自带的EtherCAT诊断功能和几个最常见的优化措施。
诊断功能包括:
EtherCAT Online界面诊断网络硬件错误
EtherCAT Topology页面查看图形化的EtherCAT状态
Adapter页面查看Ebus电流
PLC诊断EtherCAT状态的程序代码
优化措施包括:
Sync Unit(同步单元)设置
伺服驱动的WcState禁用
检查EtherCAT网络接地
修改从站Shift Time
Hot Connect(热连接)设置
EL模块的布局原则
ETG及倍福官方关于EtherCAT诊断和原理介绍的技术文档更加详细和完整,有兴趣的用户可以下载:
《EtherCAT基本原理》
《EtherCAT诊断》
《EtherCAT 同步》
1 EtherCAT诊断功能
最简易的EtherCAT诊断工具是TwinCAT,其中最常用的诊断界面依次为:EtherCAT Online界面、EtherCAT Topology界面、Adapter界面,下面分别介绍。
1.1 Online界面诊断网络硬件错误
在这个界面最常用的功能是:
查看和切换主站和从站状态,查看主站Lost Frame的情况。
查看所有从站的状态,和每个端口的CRC校验情况
查看每个从站的状态改变次数
查看从站的状态机错误
如果此界面中,主站和从站都在OP
状态,而个别从站信号仍然不正常,软件报错,则很有可能是由于WcState
报告数据无效。请跳转至下一节:Sync Unit
的使用
主站状态监视已经很直观,无须解释。以下只解释后面三种情况:
1.1.1 查看从站状态和端口CRC校验情况
从站状态为OP,CRC校验值都为0时,为正常状态。如果某个从站状态不为OP,就要定位到该从站的InfoData|State,如图所示:
在上图的Variable页面上可以显示状态Word的4个节取值的含义,而切换到其Online页面则可以显示状态Word的当前值。
CRC的值与模块类型有关,所有EL模块都只有两个Port。CRC校验的左边值,表示与前一个模块的接口状态,而右边的CRC值表示与后一个模块的接口状态。
1.1.2 从站状态改变次数
查看从站状态改变次数,是为了追踪个别从站状态错误后又自动恢复的情况。因为状态恢复后,在Online界面就显示正常,但是出错的一瞬间人工未必能监视到:
如果个别模块的Change次数明显比其它模块多,那么这个模块出错的概率较大。
1.1.3 状态机错误
可以在上一步的窗体中勾选上0134“AL Status Code”,以查看错误代码:
- 0x0003 : Invalid Device Setup (BK1xxx上配置的KL模块顺序不正确)
- 0x001D : Invalid OutputConfiguration (配置的输出过程数据无效)
- 0x001E : Invalid Input Configuration(配置的输入过程数据无效)
- 0x0035 : Invalid Sync Cycle Time (在 DC模式中设置的CycleTime不支持)
- 0x001A : Synchronization error (网络的抖动导致从站的同步丢失)
- 0x001B : Sync manager watchdog (从站未接收到周期性数据的时间,持续超过了watchdog时间)
- 0x002C : Fatal SYNC error (ESC 再未收到SYNC 硬件中断)
如果是其它值,则参考ETG官方手册中关于AL StatusCode的定义。
1.2 EtherCAT Topology界面
在主站的EtherCAT | Topology窗休,可以在线或者离线查看EtherCAT网络拓朴图:
如果说前面说的Online页面是文字版,这里就是Online页面的图形版。光标悬停于模块时,可以显示模块的名称。在线显示时,每个从站上方的标记表示CRC状态,都为绿色即正常。
1.3 Adapter页面,查看可用Ebus电流
根据经验,可用Ebus电流不应该用到0,而是保留300mA左右的余量。比如上图中,在第1个EL4112之前,就应该补充一个Ebus电源模块EL9410。
1.4 PLC诊断EtherCAT状态的Demo程序
具体实现方式见文档:
Http://www.baclizzy.com.cn/20180422EtherCAT优化设置/
2 Sync Unit与WcState
2.1 Sync Unit的原理
TwinCAT 在配置EtherCAT主站时,按Task配置Frame。比如PLC Task0的周期为10ms,相应有一个发送周期为10ms的Frame。而NC周期为2ms,相应就有一个发送周期为2ms的Frame。每个Task计算阶段结束进入Output阶段,就会发送相应的Frame。
每个Frame通过3种命令LRW(读写)、LWR(写)、LRD(读)来刷新从站的IO数据。每个命令(Cmd)刷新哪些从站的数据,就确定了Working Counter(WC)的理论值。如图所示:
根据主站的配置,每个Frame中包括若干个SyncUnit,每个SyncUnit包括若干个Slave,Frame经过Slave并读写成功后,Slave所属的SyncUnit的Cmd的Working Counter就会相应增加。Frame经过所有从站后回到主站时,主站根据每个SyncUnit的Cmd实际WorkingCounter与理论值是否一致就能判断这个Cmd操作的所有Slave是否成功。如果不成功,这个Cmd操作的所有Slave的WcState状态就会为True,表示Data Invalid(数据无效)。
假定PLC任务要控制下图中的所有IO模块,要用LRD命令刷新所有EL1004的数据,Working Counter的累加过程如下:
在上图中,红色!标记的EL1004未能成功交换数据,所以Frame经过了4个EL1004模块,但返回的WKC却为3。主站判断这些数据无效,TwinCAT会丢弃这些数据,这4个EL1004的数据在这个周期都没有刷新。
2.2 Sync Unit的优化配置原则
每个Frame中包括了Task控制的所有IO从站的数据,这些从站默认放到同一个Sync Unit。但实际上,EtherCAT允许一个Frame最多可以有15个同Sync Unit。为了避免1个从站的错误影响到整个SyncUnit的数据无效,是否可以把每个从站都设置为独立的同步单元呢?如果从站在15个以内,当然是没有问题的。但是通常的TwinCAT项目,从站数量都会远远超过15个,如果每个都设置为独立同步单元,结果就会需要多个Frame,而每个Frame都很短,这样会大大降低通讯的效率。所以有必要平衡需求,合理配置同步单元。
根据经验,优化同步单元的设置,可采用以下原则:
EL模块,每个Station(耦合器和相连的EL模块)为一个Sync Unit
EtherCAT伺服,每个驱动器都设置为独立的SyncUnit。
2.3 Sync Unit的设置
查看和设置同步单元的方法:
假设有4个驱动器,都链接到2MS周期的NC轴。默认的同步单元设置时,以太网帧为两个,Cycle分别为2MS和10MS。在2ms的Frame中,LRW指令(Cmd)有1个,Len为56.
点击Sync UnitAssignment,可见默认设置为:
b. 修改Sync Unit.
选中一个AX5203,在Sync Unit Name栏直接输入字符,即指定的同步单元名称。
c.点击OK,退回主界面。
把4个驱动器指定为不同的同步单元时,以太网帧为两个,Cycle分别为2MS和10MS。在2ms的Frame中,LRW指令(Cmd)有4个,Len分别为20,12,12,12,总长度还是56字节.
2.4 伺服驱动的WcState禁用
经常用客户反馈现场的NC轴报故障0x4655(18005),提示信息是:Data Invalid Exceed 3 Cycles,即连续3个周期数据无效。此处的数据无效就是由于同步单元的Working Counter错误,表示同步单元中至少有一个从站没有成功读写数据。如果分配了独立的同步单元,某个轴还是报这个错误,那么通常是由于EtherCAT通讯闪断引起的。
运动控制对通讯的敏感性较高,默认设置ETHERCAT类型的NC轴,一旦有3个NC周期数据无效(Data invalid),NC轴就会报错。如果网络质量差,现场干扰大,用户希望控制系统忽略这种偶尔的通讯异常,那么,可以把该变量Clear Link。如图所示:
取消这个链接后,如果WcState仍然持续无效,那么驱动器或者NC轴会报告更高级别的故障,比如跟随误差过大。
3 检查EtherCAT网络的接地
诊断EtherCAT故障是一个方面,有时可以采取一些权宜之计,比如断开NC轴与伺服驱动的WcState链接,但这只是治标不治本的临时做法,根本解决办法还是要查清楚问题来源,包括检查接地、屏蔽以及其它EMC问题。
其中首先要检查的是:确保EtherCAT网络设备是共用同一个接地,因为不同接地之间的环流可能导致数据损坏。
4 设置驱动器的Shift Time
伺服驱动器的常见错误,除了0x4655 Invalid Data之外,就是Sync Lost(同步丢失)。这是由于个别周期的EtherCAT数据包,未能在同步脉冲的指定偏移时间内到达。这种报错通常出现在网络末端的从站上。
为了降低ETHERCAT通讯中同步信号报错的敏感程度,可以延长伺服驱动器的同步偏移时间。如图所示:
实际应用中,绝大多数情况下,默认的Shfit Time已经满足要求。仅当周期特别短(小于1ms)节点数又多(大于10个)的时候,才需要人工调整Shift Time。调整时可以主站周期的20%为基数递增。
设置方法:
在从站的EtherCAT页面,点击Advanced Settings,在DistributedClock页面,设置Sync 1的Shift Time。
5 Hot Connect的设置
如果使用CU2008或者EK1122构成了星形网络,可以设置Hot Connet Group,以便连接任意一个驱动器的网线拔掉,都不会影响其它驱动器的工作。
在线性拓朴中,如果用户个别站点需要随时退出和加入,比如要跨接部分站点而不影响其它从站的工作,也可以考虑用Hot Connect功能。
具体实现方式见文档:
Http://www.baclizzy.com.cn/20180320EtherCAT热连接/
EtherCAT网络的热连接(HotConnect)设置.pdf
6 EL模块的布局原则
作为DC参考时钟的EL模块,应安装在尽量靠近主站的位置。
消耗Ebus电流较多的EL模块,在IO站中应尽量分散安装,以免集中发热。
典型的高耗电模块是EL6xxx通讯模块,典型的低耗电模块是EL1xxx及EL2xxx等数字量模块。
(未完待续,LizzyChen 2018)
(******************************)
喜欢本文?识别二维码,可关注公众号
本公众号配套文档:ftp://baclizzy.com.cn:21
支持IE访问:http://www.baclizzy.com.cn
-往期回顾
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
阿蚊在线
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』