EtherCAT故障排查手册.docx

上传人:b****6 文档编号:6866628 上传时间:2023-01-11 格式:DOCX 页数:37 大小:2.63MB
下载 相关 举报
EtherCAT故障排查手册.docx_第1页
第1页 / 共37页
EtherCAT故障排查手册.docx_第2页
第2页 / 共37页
EtherCAT故障排查手册.docx_第3页
第3页 / 共37页
EtherCAT故障排查手册.docx_第4页
第4页 / 共37页
EtherCAT故障排查手册.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

EtherCAT故障排查手册.docx

《EtherCAT故障排查手册.docx》由会员分享,可在线阅读,更多相关《EtherCAT故障排查手册.docx(37页珍藏版)》请在冰豆网上搜索。

EtherCAT故障排查手册.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1