由于操作过于频繁,请点击下方按钮进行验证!

工业以太网EtherCAT冗余和热插拔技术

        工业以太网是改进的标准以太网 ,其中冗余技术是提高以太网系统可靠性和可维护性最有效的手段之一 . EtherCAT(Ethernet for Control andAutomation Technology)是工业以太网的一种 ,它很好解决了以太网的实时性问题,其从站控制芯片ESC(EtherCAT Slave Controller)提供了环回通信机制.本文研究了工业以太网EtherCAT的冗余控制、热插拔技术及故障点快速诊断方法 ,设计并实现了环型拓扑下的链路冗余控制系统. 开发了EtherCAT链路冗余主站驱动程序 ,并通过实验分析和验证了EtherCAT冗余后系统的性能.

  1 EtherCAT工作原理

  EtherCAT是一种实时工业以太网技术 ,已成为国际标准IEC 61158212, IEC 6178422 以及ISO1574524的一部分 .

  图1为 EtherCAT的基本工作原理.介质访问控制 (MAC,Media Access Control)使用主从模式.


  主站发送以太网帧给各从站 ,从站从数据帧中抽取数据或将数据插入数据帧 ,然后将该数据帧传输到下一个EtherCAT从站. 最后一个 EtherCAT从站发回经过完全处理的报文 ,并由第1个从站作为响应报文发送给主站. 主站使用标准的以太网接口卡或具有以太网接口的嵌入式工业控制计算机, EtherCAT从站使用专用的从站控制芯片ESC.

  ESC采取接收转发机制 ,以太网帧可以双向通行 ,但只有以太网帧由下行电报方向进入时 ,相应的报文才能得到处理. 如果指定转发的网口未连接, ESC自动将以太网帧沿原入口径返回.

  EtherCAT数据帧使用以太网V2 格式的MAC帧 ,以太类型为 0x88A4.图2为EtherCAT数据链路层帧结构.一个EtherCAT以太网数据帧包含一个或多个EtherCAT子报文 ,每个子报文寻址独立的设备或存储区域.

  每个EtherCAT子报文包括子报文头、数据域和相应的工作计数器 (WKC,Working Counter) ,子报文寻址到从站节点并交换数据后 ,工作计数器将被增加 ,用以记录该子报文的处理状态.子报文头中 ,8bit命令字节 ,指定了子报文类型 (读写类型 ,寻址类型 ); 8 bit索引号给出子报文编码; 32bit的子报文地址指定了对从站的操作地址 ,寻址类型定义了寻址方式; 8bit长度用以指示报文数据区的字节数;R为4 bit的保留位; 4 bitM表示本报文是否为最后一个报文; 16bit中断目前保留.


  2EtherCAT冗余和热插拔技术要求

  2. 1拓扑结构

  冗余以太网的拓扑结构包括网络型拓扑、环型拓扑以及混合型拓扑 . 对于一般的工业以太网系统 ,网络型和混合型拓扑过于复杂 ,环型拓扑非常有效而且实用. 本文研究环型拓扑的冗余技术 ,消除单点故障对系统产生的影响.

  环型结构的信息流在网中是沿固定方向流动的.由于环型结构中出现一个节点故障将会影响全网 ,要提高可靠性 ,需采用双向环结构 ,使环具有自愈功能 ,即在断点处自动环回, ESC从站控制器具有这种自动环回功能.

  EtherCAT冗余技术采用环型冗余结构 ,也就是将最后一个ESC节点连接到主站.要实现这个功能 ,需要主站具有2个以太网接口 ,见图 3.


  2. 2单点故障

  环形冗余链路仅具备双重冗余 ,因此只能应对单点故障.单点故障主要有以下几种可能情况:

  1) 网口故障 ,包括主站网卡本身故障和连接在网卡上的链路故障;

  2) 链路故障 ,指从站节点之间的链路存在断线;

  3) 节点故障 ,指环路中某节点出现故障 ,导致帧转发功能失效.在此情况下 ,发生故障的节点的失效不认为是整个系统的失效. 这种情况也可能发生在需要不断电情况下更换一个从站节点的场合 ,通常也称为“热插拔 ”.

  2. 3EtherCAT链路冗余主站

  EtherCAT主站结构如图 4所示 ,其中 Ether-CAT主站驱动实现了网卡驱动与上层控制任务的交互.冗余机制不应影响应用层控制任务的性能和功能. 在本文系统设计中,将常规 EtherCAT主站驱动程序做了修改 ,加入链路冗余机制 ,对上层应用屏蔽了冗余信息和操作.

  在EtherCAT主站驱动程序中 ,向上层应用的接口主要为 1个发送队列 (用于存放控制任务要发送的 EtherCAT帧)和1个接收队列(用于存放处理过后返回的EtherCAT帧).本文设计的冗余机制旨在实现当系统处于任何正常或容错运行状态下这2个帧队列都与网口和网络状态无关.

[DividePage:NextPage]

  3冗余系统设计

  3. 1冗余帧传播机制

  冗余主站设计如图4所示 ,主站具有A和B2个网口,每个网口均具备发送和接收以太网帧的功能.

  根据故障情况 ,图5中列出了冗余系统正常工作和出现各种单点故障时的帧传播策略:

  1) 正常情况时,发送帧交由A网口发送,经过从站节点的遍历,经B网口接收,进接收队列;

  2) A网口故障时,发送帧交由B 网口发送,反向到达第1个从站节点,以原链路环回,经B网口接收后,进接收队列;

  3) B 网口故障时,发送帧交由A网口发送,到达最后一个从站节点,以原链路环回,经A网口接收后,进接收队列;

  4) 出现链路故障 (或热插拔 )时,发送帧交由A网口发送,遍历至故障点处环回,经A网口接收,交由B 网口发送,从另一个方向遍历至故障点处环回,经 B网口接收后,进接收队列;

  5) 出现节点故障时,发送帧交由A 网口发送,遍历至故障点处环回,经A网口接收,交由B网口发送,从另一个方向遍历至故障点处环回,经B网口接收后,进接收队列.

  3. 2故障点诊断

  发生网口故障时,能够确定故障点在主站接口上;而在发生链路故障和节点故障时,则需侦听A网口和B 网口的接收帧,结合数据帧中子报文的工作计数器实现.

  每个子报文最后具有一个WKC,在通过从站节点时,如果为该从站的子报文,WKC将加1(也有一些类型的报文增加值大于1).故障点诊断规则如下:

  首先 ,根据读取网口状态判断是否出现故障及故障类型.如果 A网口或B 网口状态为未连接或连接出错,则表明出现了网口故障;如果A网口接收到了环回的帧,则表明为链路故障或节点故障;否则,表明系统正常.

  然后,对A网口和B 网口的接收帧进行侦听和WKC分析.根据子报文的报文指令类型 ,以及子报文的WKC值,可以判断出该子报文是否得以执行.从而,检测出A网口和故障点之间离故障点最近的有效节点及B 网口和故障点之间离故障点最近的有效节点.

  最后 ,可以判断出 ,故障点出现在2个有效节点之间的链路或节点上.

  4冗余主站的实现

  冗余EtherCAT主站驱动程序采用WinPcap软件开发包 ,实现EtherCAT帧的收发. WinPcap是Windows平台下一个免费、公共的网络访问系统 ,为Win32应用程序提供访问网络底层的能力.

  在程序底层定义了一个设备类 ,用于与硬件接*互.在该设备类中定义了一个网络设备结构体指针链表 ,用以指向系统中所用到的网卡设备.在该类中定义了一个先入先出的队列 ,用以存储接收环回的EtherCAT帧 ,并提供了一个发送原始帧的接口函数 (发送队列在上层定义 ).

  程序启动时 ,该设备类根据主站描述文件中提供的冗余网卡的MAC地址信息初始化网络设备结构体指针链表.并启动一个接收线程 ,以捕获接收到以太网帧 ,并对接收到的帧进行相应处理.

  发送EtherCAT帧时 ,首先读取并记录各网口的连接状态 ,根据网络状态选择相应网口发送该帧.接收线程接收到以太网数据帧后 ,判断是否为Ether2CAT帧 (0x88A4帧 ).若是则按图5规则选择相应网口进行转发或进接收队列;若否则丢弃

  该帧.这样可以省去在转发时判断网口状态 ,缩短转发时间 ,减少传播延时.

  5 实验验证系统

  图6为冗余系统的实验验证系统 ,由1个主站 (PC)、2个EtherCAT2IO从站和1个测试从站(PC)组成.主站向从站发送周期读写数据. 分别在 PC主站程序和测试从站程序的应用层中设置发送计数器SendCounter和接收计数器Recv2 Counter,记录发送和接收的周期帧数量. 在一段时间内,接收计数器和发送计数器的差值即为该时间段内的总丢帧数.

  实验过程如下: ①设置通讯周期为30ms,发送和接收计数器清零; ②启动主站的周期发送,在一定的时间内 (1min左右) ,对系统进行拔线、节点断电以及移除和插入节点等操作 ,模拟单点故障和热插拔的发生; ③关闭主站的周期发送 ,获取和比较发送计数器和接收计数器的数值 确认未,发生丢帧 ,能够在1个通讯周期内恢复正常控制 ,表示系统运行正确 ,满足冗余和热插拔任务要求.

  6结束语

  EtherCAT提供了一种双向数据传输机制.论文研究和实验结果表明,采用具有双Ethernet网口的PC计算机作为控制主站控制EtherCAT从站芯片,可以非常方便地实现高性能工业控制系统线路故障冗余和热插拔任务要求,性能优越,运行可靠,无需复杂的主站控制程序.


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:

分享到