EtherCAT故障排查手册.docx
- 文档编号:6866628
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:37
- 大小:2.63MB
EtherCAT故障排查手册.docx
《EtherCAT故障排查手册.docx》由会员分享,可在线阅读,更多相关《EtherCAT故障排查手册.docx(37页珍藏版)》请在冰豆网上搜索。
EtherCAT故障排查手册
EtherCAT故障排查手册
一、EtherCAT及TwinCAT概述
1.1EtherCAT介绍
EtherCAT技术突破了其他以太网解决方案的系统限制:
通过该项技术,无需接收以太网数据包,将其解码,之后再将过程数据复制到各个设备。
EtherCAT从站设备在报文经过其节点时处理以太网帧:
嵌入在每个从站中的FMMU(现场总线存储管理单元)在帧经过该节点时读取相应的编址数据,并同时将报文传输到下一个设备。
同样,输入数据也是在报文经过时插入至报文中。
整个过程中,报文只有几纳秒的时间延迟。
主站方面也非常经济,商用的标准网卡(NIC)或任何主板集成的以太网控制器可以用作硬件接口。
这些接口的共性就是数据通过DMA(直接内存读取)传输至PC,即网络读取时无需占用CPU资源。
EtherCAT协议在以太网帧内采用官方指定的以太类型。
采用这种以太类型即可允许在以太网帧内直接传输控制数据,而无需重新定义标准以太网帧。
该以太网帧可由多种子报文组成,每个子报文服务于逻辑过程映像区的特定内存区,该区域最大可达4GB。
数据序列是独立于物理顺序的,所以以太网端子模块的编址可以随意排序。
从站之间的广播,多播和通讯也可得以实现。
EtherCAT拥有杰出的通讯性能,接线非常简单,并对其它协议开放。
传统的现场总线系统已达到了极限,而EtherCAT则突破建立了新的技术标准——30µs内可以更新1000个I/O数据,可选择双绞线或光纤,并利用以太网和因特网技术实现垂直优化集成。
使用EtherCAT,可以用简单的线型拓扑结构替代昂贵的星型以太网拓扑结构,无需昂贵的基础组件。
EtherCAT还可以使用传统的交换机连接方式,以集成其它的以太网设备。
其它的实时以太网方案需要与控制器进行特殊连接,而EtherCAT只需要价格低廉的标准以太网卡(NIC)便可实现。
EtherCAT特点:
(1)EtherCAT是直达IO的实时通讯系统
(2)没有子系统
(3)无网关延时
(4)输入、输出、传感器、驱动、显示等所有的设备集成于一个系统中
1.2EtherCAT通讯机制介绍
组成一个基本的EtherCAT通讯网络所包含的组件有:
嵌入式控制器、EtherCAT总线耦合器、EtherCAT端子模块、CAT5电缆(标准五类网线)、光纤等。
EtherCAT通讯在CAT5电缆上使用标准的100BASE-TX模式进行数据传输,在光纤上使用标准的100BASE-FX模式进行数据传输。
EtherCAT总线耦合器后端可连接任何数目的EtherCAT端子和一个总线末端端子,EtherCAT耦合器将以太网100BaseTX的电报转换为E-bus信号在EtherCAT端子模块间传输。
每个EtherCAT从站设备都有4个EtherCAT的通讯口,分别是Port0(A口),Port1(B口),Port2(C口)和Port3(D口)。
如图1.1所示。
掌握通讯口概念后,可以结合Onlinestate和CRC校验对故障进行排查(详见3.5章)。
图1.1EtherCAT从站通讯口
如果某个port口没有连接其他的EtherCAT从站,信号在经过该port口时,该port口自动锁闭,信号会接着往下传输(对应图1.1中紫色线路)。
EtherCAT从站使用通讯口的个数不同时,EtherCAT帧的通讯顺序也不同。
如表1.1所示。
通讯口个数
EtherCAT数据帧顺序
2
0EtherCATProcessingUnit1/10
3
0EtherCATProcessingUnit1/12/20(使用port0,1,2)
0EtherCATProcessingUnit3/31/10(使用port0,1,3)
4
0EtherCATProcessingUnit3/31/12/20
表1.1EtherCAT帧的通讯顺序
如果从站只有2个通讯口,结合图1.1和表1.1,信号从左到右经过该模块时的过程如下:
EtherCAT帧通过从站时,先从port0(即A口)进入该模块;然后经过EtherCATProcessingUnit;port3(D口)因为没有连接设备,所以该口在通讯时自动锁闭;信号从port1(B口)离开该从站模块。
信号从右到左经过该模块时的过程如下:
先从port1(即B口)进入该模块;port2(C口)因为没有连接设备,所以该口在通讯时自动锁闭;信号从port0(A口)离开该从站模块。
图1.2:
各类EtherCAT端子模块的端口标示(从左到右分别是一般IO模块,EK1110,EK1100,EK1521)
如果在通讯的过程中,模块通讯有问题,有问题模块的前面一个EtherCAT模块会自动闭锁通讯口B,使EtherCAT报文返回。
见图1.3。
如果在通讯的过程中,网线或者其他原因导致Tx和Rx线通讯均中断,这时,EtherCAT通讯的向右传输通道都是不正常的,EtherCAT报文会在Tx和Rx线通讯中断前面的模块处返回。
见图1.3。
图1.3有问题时,EtherCAT报文的返回
如果在通讯的过程中,网线或者其他原因导致Tx线通讯正常,但是Rx线通讯断,这时,EtherCAT通讯的向右传输通道都是正常的,即EtherCAT主站可以发出报文,而且报文能一直发送到拓扑结构的最后一个模块;然后EtherCAT报文从最后一个模块往回返,即开始使用Rx通讯线,如果Rx通讯线有地方中断,EtherCAT通信就会中断,不能返回到EtherCAT主站。
EtherCAT主站在10个周期接收不到发出的Frames的回复时,就会把自身的State值设定为INIT。
见图1.4。
图1.4Tx线通讯正常,但是Rx线通讯断时,EtherCAT报文无法返回到主站处
1.3TwinCAT介绍
TwinCAT系统软件可通过多PLC系统、NC轴控制系统、编程环境和操作站,将任何兼容PC“改造”成为一台实时控制器,而无需PC外的其他硬件。
TwinCATSystemManager(TSM)负责管理TwinCAT系统,是TwinCAT系统的配置中心。
TwinCATPLCControl作为一种纯粹的软PLC,TwinCATPLC允许在一个PC上实现4个虚拟“PLCCPU”,4套PLC可以独立启动和停止,储存区也相互独立,每个PLC最多可运行4个用户任务。
PLC程序可使用多种语言编程,符合IEC61131-3标准。
TwinCAT系统服务是在本机上作为WindowsNT的一个服务来运行的。
在用户登录系统前,WindowsNT就启动了TwinCATSystem服务,并在任务栏上生成作为TwinCAT活动标识的图标:
红
——————表示TwinCAT处在停止模式
蓝
——————表示TwinCAT处在配置模式
黄
——————表示TwinCAT正在启动
绿
——————表示TwinCAT处在运行模式。
图1.5TwinCATSystemMangaer界面介绍
System-Configuration中可设置Autoboot,Autoboot项为RUNMODE时,目标机器的TwinCAT服务一启动,TwinCAT就处于Running模式。
Autoboot项为ConfigMODE时,目标机器的TwinCAT服务一启动,TwinCAT就处于Configmode模式。
System-Configuration中Basetime(最低可设为50uS)是一个时间片的概念,将Windows操作系统的运行时间切成1ms一片,在1ms中运行plc的程序以及运动控制,由此保证了TwinCAT软件的实时性。
CPULimit设置的是CPU的使用率,默认为80%,意味着1ms的时间中80%用做TwinCAT处理,20%用做Windows的进程。
所有的TwinCAT任务周期,比如PLC任务周期,都是BaseTime的倍数。
假如要实现PLC周期500微秒,可以在上图中将Basetime设置为500微秒,而PLC任务周期设为1倍。
或者Basetime设为250微秒,而PLC任务周期设为2倍,依此类推。
如图1.6。
图1.6BaseTime与CPULimit设置
I/O-configuration中可通过点击I/ODevices–AppendDevice进行手动配置硬件设备,也可以在ConfigurationMode下,通过ScanDevices自动扫描目标系统的I/O。
如图1.7
图1.7I/ODevice硬件扫描
扫描成功后,展开I/ODevice树形结构,在最底层,可以看到所有本地和远程的I/O模块以及设备。
Freerun模式是调试模式,可以自动给I/O一个4ms的Task,这样就可以诊断I/O模块的输入输出状态,Freerun模式中,右下角图标会在config与freerun两个状态闪烁。
二、EtherCAT模块硬件诊断
本章节主要介绍风电项目中EtherCAT模块的硬件诊断方法。
现场设备发生故障后,可通过模块的指示灯状态快速地对故障进行初步排查及诊断,也可在软件诊断后再检查硬件指示灯状态,对故障信息再确认。
本章中未列举模块的硬件诊断资料可在InformationSystem手册中进行检索获取。
2.1
CX5020模块介绍及硬件诊断
CX5020模块如右图所示,内含1.6HzIntel®Atom™处理器带K-bus/E-BUS自动识别接口,WINCE系统,带TWINCAT2PLCrun-time的控制器。
其中状态LED:
PWRLED亮绿灯表示电源供应正常。
TCLED亮绿灯:
表示TwinCAT在运行模式。
TCLED亮红灯:
表示TwinCAT在停止模式。
TCLED亮蓝灯:
表示TwinCAT在配置模式。
HDDLED闪红灯:
表示在读/写闪存。
FB1和FB2亮红灯:
表示现场总线状态。
CX5020有2个独立的LAN接口,2个LAN接口都可以以10/100/1000Mbit的速度运行。
上部的LINK/ACT指示灯表明该网口是否连接到了网络。
如果该网口连接到了网络并且有数据交换,则LED绿光闪烁。
下部的SPEED指示灯表明连接速度。
如果连接速度为10/100Mbit则该LED为绿色,如果连接速度为1000Mbit则该LED为红色。
E-bus电源装置指示灯定义:
Us
24V
CPU模块电源供电如果电源正常,LED指示灯显示绿色。
Up24V
端子模块电源供电如果电源正常,LED指示灯显示绿色。
L/A
暗
E-bus没有连接
亮
E-bus连接但没有数据通信
闪
E-bus连接并且有数据通信
2.2EK1100模块介绍及硬件诊断
K1100耦合器用于将EtherCAT网线与EtherCAT端子(ELxxxx)相连。
一个站由一个EK1100耦合器、任意多个EtherCAT端子端子组成。
该耦合器将来自100baseTX以太网的传递报文转换为E-BUS总线信号。
耦合器通过上面的以太网接口与网络相连。
下面的RJ45接口可用于在同一条电缆上连接其它EtherCAT设备。
指示灯定义:
LED
显示
状态
含义
Us
绿色
灭
未上电
耦合器以及E-bus未供电
亮
已上电
耦合器以及E-bus已供电
Up
绿色
灭
未上电
I/O触点未供电
亮
已上电
I/O触点已供电
RUN
绿色
灭
初始化
EtherCAT状态机状态:
INIT=初始化
慢闪
预操作
EtherCAT状态机状态:
PREOP=预操作
闪一次
安全操作
EtherCAT状态机状态:
SAFEOP=安全操作
亮
运行
Ethercat状态机状态:
OP=运行
快闪
启动
EtherCAT状态机状态:
BOOT=启动(耦合器固件更新)
LINK/ACT
E-Bus
绿色
灭
未连接
与E-bus总线没有连接
常亮
已连接
与E-bus总线已连接但没有通讯数据交换
闪烁
已通讯
与E-bus总线已连接并且有通讯数据交换
LINK/ACT
X1
绿色
灭
未连接
与前一个EtherCAT设备没有连接
常亮
已连接
已经与前一个EtherCAT设备连接
闪烁
已通讯
与前一个EtherCAT设备连接并通信
LINK/ACT
X2
绿色
灭
未连接
与后一个EtherCAT设备没有连接
常亮
已连接
已经与后一个EtherCAT设备连接
闪烁
已通讯
与后一个EtherCAT设备连接并通信
2.3BK1250模块介绍及硬件诊断
BK1250是一种安装在端子模块间的总线耦合器,用于总线站中EtherCAT端子模块(Elxxxx)与标准总线端子模块(KLxxxx)的混合应用。
BK1250有ERROR和I/O-ERRORK-bus2个故障诊断灯,通过观察指示灯的不同闪烁方式,可区分不同故障类型,详见下表格。
指示灯定义:
LED
显示
状态
含义
Us
绿色
灭
未上电
耦合器以及E-bus未供电
亮
已上电
耦合器以及E-bus已供电
Up
绿色
灭
未上电
I/O触点未供电
亮
已上电
I/O触点已供电
RUN
绿色
灭
初始化
EtherCAT状态机状态:
INIT=初始化
慢闪
预操作
EtherCAT状态机状态:
PREOP=预操作
闪一次
安全操作
EtherCAT状态机状态:
SAFEOP=安全操作
亮
运行
EtherCAT状态机状态:
OP=运行
快闪
启动
EtherCAT状态机状态:
BOOT=启动(耦合器固件更新)
LINK/ACT
E-Bus
绿色
灭
未连接
与E-bus总线没有连接
常亮
已连接
与E-bus总线已连接但没有通讯数据交换
闪烁
已通讯
与E-bus总线已连接并且有通讯数据交换
I/ORUN
K-bus
绿色
灭
未激活
K总线未激活
常亮
激活
K总线已激活
ERROR
红色
灭
正常
无错误
慢闪
报错
PLC错误/丢帧
I/OERRORK-bus
红色
连续的慢闪
EMC问题
闪烁1次
0
EEPROM校验错误
1
代码缓冲区溢出
2
未知数据类型
闪烁2次
0
编程的配置有一个不正确的表项
n(n>0)
表对照(总线端子模块n)
闪烁3次
0
K总线命令错误
闪烁4次
0
K数据错误,超出了总线耦合器
n
超出了总线端子模块n
闪烁5次
n
总线端子模块n寄存器通信的K总线错误
闪烁14次
n
第n个总线端子模块的格式错误
闪烁15次
n
总线端子模块的个数不正确
闪烁16次
n
K总线数据的长度不正确
举例说明如何发现BK1250后端的问题模块:
现象:
BK1250上电后,I/OERRORK-bus红灯闪烁,具体闪烁情况如下,先闪烁14次,1秒左右间隔后,再闪烁5次,然后红灯高速闪烁,之后红灯一直重复上述三种闪烁状态。
分析:
发现I/OERRORK-bus红灯闪烁规律后,查找上面表格中的I/OerrorK-bus一栏,发现故障原因为第5个总线端子模块的格式错误(n=5),即BK1250后端的第5个模块存在问题。
然后可以拆除这个问题模块,重新上电观察BK1250的I/OERRORK-bus是否还有故障。
三、EtherCAT软件诊断方法
本章内容介绍了EtherCAT软件诊断的一些方法,包含:
WorkingCounter的作用与Syncunit同步单元设置;EtherCAT主站状态字诊断;EtherCAT从站状态字诊断;TcSyslog故障排查;CRC、changecounter和OnlineState诊断、EtherCAT拓扑图以及EmergencyScan。
3.1WorkingCounter的作用和Syncunit同步单元设置
3.1.1WorkingCounter的作用
对于一个EtherCAT系统,一般情况下是默认一个同步单元组,即所有的从站数据的读、写等信息都包含在一个WorkingCounter里,例如:
读一次+1,写一次+2,读写一次+3等。
主站会对比接收到的信息的WKC和“ShouldBe”值进行对比,如果值相同,则认为通讯正常,WcState=0,如果值不相等,则认为通讯有问题,WcState=1。
报文示意图如图3.1所示。
图3.1WorkingCounter示意图
为了能更加明确地得到通讯问题的所在,一般情况下,建议划分几个不同的“同步单元”。
这样,每个同步单元都有自己的WorkingCounter值。
多个同步单元的WorkingCounter,如图3.2所示。
图3.2多个同步单元的WorkingCounter
3.1.2同步单元设置原则
1).按照柜子的物理地址,分别单独设置同步单元;
2).通讯模块单独设置同步单元;
3).特殊的模拟量模块单独设置同步单元(例如:
编码器模块);
4).客户需要单独监测的模块,可以单独设置同步单元。
3.1.3同步单元的监测
1).EtherCAT通讯有问题时,该同步单元WcState=1;
2).每个模块都有state位,state值为8时,模块在正常的运行状态,同时如果EtherCAT的通讯没有问题,WcState=0;state值不为8时,模块不在正常的运行状态,该模块所在同步单元WcState=1;
3).FrmnWcState的每一个bit,代表一个同步单元的WcState值;
如果一个同步单元的WcState值=0,则这个同步单元的所有模块状态都为OP,并且同步单元的通讯也没有问题。
如果一个同步单元的WcState值=1,则这个同步单元的通讯有可能有问题,或者有模块的状态不在OP。
4).当一个同步单元的WcState值=1时,DI/AI值保持上个周期的值不变;DO/AO值,当模块本身的state值为8时,该模块可以按照PLC程序,正常的输出,模块本身的state值不为8时,该模块输出被设置为0。
以远景能源主控系统为例,主控系统中一共设置了6个同步单元(如图3.3所示),包括8个EtherCAT命令,每个命令都可通过WcState来监控其是否执行成功:
WcState=1表示命令失败,数据无效。
图3.3主控系统的6个同步单元
6个同步单元的8个命令在1个EtherCATFrame中传输(1个EtherCATFrame中最大可传输16个命令),所有命令的WcState都包括在Frm0WcState中,如图3.4所示:
图3.4Frm0WcState
在PLC程序中可以通过判断Frm0WcState每一位的状态来判断每个同步单元中每个命令是否执行成功。
如表3.1所示。
Bit
Meaning
0 (0x0001)
wrongworkingcounterof1.EtherCATcommandreceived
1 (0x0002)
wrongworkingcounterof2.EtherCATcommandreceived
2 (0x0004)
wrongworkingcounterof3.EtherCATcommandreceived
…
…
14(0x4000)
wrongworkingcounterof15.EtherCATcommandreceived
15(0x8000)
completeframemissing
表3.1Frm0WcState每一位的状态
3.2EtherCAT主站的状态字诊断
EtherCAT主站需要诊断的信息有:
1)FrameState
2)FrameWorkingCounterState
3)SlaveCount和CfgSlaveCount
4)DeviceStateMaster
图3.5主站诊断状态字
3.2.1FrameState
FrameState为UINT变量,它的每一位表示1个EtherCAT命令是否执行成功(0为成功,1为失败)。
例如:
Frm0State值为0004(16进制),则表示数据帧0的第3个EtherCAT命令执行失败。
3.2.2FrameWorkingCounterState
详细内容见3.1。
如果一个同步单元的WcState值=0,则这个同步单元的所有模块状态都为OP,并且同步单元的通讯也没有问题。
如果一个同步单元的WcState值=1,则这个同步单元的通讯有可能有问题,或者有模块的状态不在OP。
3.2.3SlaveCount和CfgSlaveCount
CfgSlaveCount:
配置的EtherCAT从站数量(CountofconfiguredEtherCATslaves);
SlaveCount:
实际接收到的EtherCAT从站数量(ActualcountofEtherCATslavesreceived);
可以进行比较,一旦出现SlaveCount与CfgSlaveCount值不相同时,就证明有从站已经在通讯中丢失。
3.2.4DeviceStateMaster
通过这个UINT值,可以快速发现从站中有不为OP的站,但是只是一个报警值,不能帮助你快速定位。
Bit
Meaning
0 (0x0001)
Linkerrordetected.
1 (0x0002)
I/Olockedafterlinkerror(I/Oresetrequired)
2 (0x0004)
Linkerror(redundancyadapter)
3 (0x0008)
Missingoneframe(redundancymode)
4 (0x0010)
Outofsendresources(I/Oresetrequired)
5 (0x0020)
Watchdogtriggered
6 (0x0040)
Ethernetdriver(miniport)notfound
7 (0x0080)
I/Oresetactive
8 (0x0100)
Atleastonedevicein'INIT'state
9 (0x0200)
Atleastonedevicein'PRE-OP'state
10(0x0400)
Atleastonedevicein'SAFE-OP'state
11(0x0800)
Atleastonedeviceindicate
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EtherCAT 故障 排查 手册