张立文,方江龙,周耀纲,梁德春
(1.上海理工大学 机械工程学院,上海 200093;2.上海电气集团中央研究院,上海 200070;3.德国倍福自动化有限公司,上海200436)
基于TwinCAT软件的EtherCAT诊断应用
张立文1,方江龙2,周耀纲3,梁德春3
(1.上海理工大学 机械工程学院,上海 200093;2.上海电气集团中央研究院,上海 200070;3.德国倍福自动化有限公司,上海200436)
针对EtherCAT现场总线中临时从站关机插拔带来的低效问题,基于TwinCAT软件提出一种支持实时检测和反馈的可靠解决方案。在分析EtherCAT报文的基础上,采用设置同步单元和分配工作状态字的方法,以不影响其他设备EtherCAT通讯为前提,最大化地降低关机插拔对生产过程的影响,缩减EtherCAT的整体诊断时间,提高生产效率,在现场生产中具有较好的推广应用价值。
EtherCAT;TwinCAT;实时检测;同步单元
针对自动化系统通讯发展的需求,传统的现场总线已不能满足现阶段高速、高精度、远距离传输的要求。为了应对这种情况,各大自动化厂商提出了不同的解决方案,包括SERCOS3通讯协议、PROFINET通讯协议、EtherCAT通讯协议[1]等。这些都符合实时以太网协议标准[2-3],因此,实时以太网技术是控制网络未来发展的趋势。
作为上述解决方案之一的EtherCAT是一种基于以太网的实时工业现场总线通信协议和国际标准,它摒弃原有以太网交换机的带宽利用率低、堆栈延迟等诸多缺点,同时提高传输过程响应速度、降低自动化传输组件的成本,另一方面,支持多种物理拓扑结构。基于这些特点,EtherCAT技术被工业自动化系统广泛接受,并进入了高速发展期,大量符合EtherCAT通讯协议的产品正在接受考验,EtherCAT通讯诊断能力[4-5]对保障产品的正常运行起着至关重要的作用。原因在于:一方面,诊断特性直接影响产品的可靠性;另一方面,可靠的诊断能力有利于增强网络可用性,并缩短调试时间。而可靠的诊断能力主要包括错误检测和错误定位。只有及时发现错误,并且快速精确地定位错误原因和位置,才能够在最短的时间内将其排除。
在一些特殊的生产过程中,部分从站会被应用在检测局部控制网络的环境,这需要对这一部分的从站进行频繁插拔,而直接插拔对EtherCAT协议来说,会认为是设备出现故障,进而导致从站无法接收新的指令。针对上述问题,本文基于TwinCAT软件设计一种EtherCAT通讯诊断的解决方案,在准确识别通讯出错原因的基础上,满足从站设备的热插拔[6-7]要求。
EtherCAT通讯技术突破了其他以太网解决方案[8]的系统限制,即不需要接收以太网数据包并将其解码之后,再将过程数据复制到各个设备。它具有主从数据交换特性,由主站和从站配合完成工作,因而,EtherCAT非常适合拓扑结构复杂的主从控制器之间的通讯。
EtherCAT的通讯原理示意如图1所示,EtherCAT总线网段是一个可接收和发送以太网帧的大型以太网设备。但是,该“设备”不包含带下游微处理器的单个以太网控制器,而只包含大量的EtherCAT从站。与其它任何以太网一样,EtherCAT不需要通过交换机就可以建立通讯,因而产生一个纯粹的EtherCAT系统。EtherCAT主站传递的数据帧包含了所有的I/O从站数据,每一个从站接收报文,并在报文中提取命令或者插入反馈状态字,然后将报文传送给下一个从站设备,最后一个EtherCAT从站将经过充分处理的报文返回,这样该报文就作为一个响应报文由第一个从站返回到主站。整个通讯过程在全双工模式下,利用了以太网设备独立处理双向传输的特点,报文只有几纳秒的时间延迟。
图1 EtherCAT通讯原理
EtherCAT数据[9-10]是直接使用以太网数据帧传输,其中数据部分包括2 Byte的数据头和44~1 498字节的数据区。数据区由一个或多个EtherCAT子报文组成,每个子报文对应独立的设备或从站存储区域,EtherCAT数据帧结构如图2所示,表1给出了EtherCAT数据帧结构定义。
图2 EtherCAT数据帧结构
名称含义备注Ethernet.H以太网帧头包含目的地址、源地址、帧类型接收方MAC地址,发送方MAC地址,0x88A4Len数据长度EtherCAT数据区长度1类型表示与从站通信FCS帧校验序列WKC工作计数器记录子报文被从站操作的次数Cmd命令寻址方式及读写方式Idx索引帧编码续表Address地址区从站地址R保留位M后续报文标志IRQ状态位中断到来标志
一般设备启动时,EtherCAT报文会按照顺序寻址的方式发送一个周期性的报文,报文在经过每一个从站设备时,从站将通过EtherCAT.H子报文头中Address地址区为自身更新设定地址。TwinCAT软件通过使用以太网数据帧头的MAC地址寻址到网段,然后使用EtherCAT子报文头中的32位地址寻址到段内设备,继而得到硬件拓扑图。
每一个EtherCAT子报文由子报文头、数据域和相应的工作计数器(WKC)组成。WKC记录了子报文被从站操作的次数,主站为每个通讯服务子报文设置了预期的WKC。其中WKC对不同通讯服务的计数方式也是不同的,关于EtherCAT通信命令与WKC计数对方关系如表2所示。
表2 EtherCAT通信命令与WKC计数对方关系
子报文经过某一个从站时,如果是单独的读或写操作,WKC加1,如果是读写操作,读成功WKC加1,写成功时WKC加2,读写全部完成WKC加3;子报文由多个从站处理时,WKC是各个从站处理结果的累加。发送子报文的WKC初值为0,子报文被正确处理后,WKC的值将累加;同时,主站在发送子报文时,预先分析得出一个WKC的理论预期值,通过比较返回子报文中的WKC和理论预期值来判定子报文是否被正确处理,进而判断错误原因并定位错误源头。
本文研究的EtherCAT诊断就是利用TwinCAT软件处理返回主站的报文,检查数据帧子报文中的各项数值来诊断EtherCAT是否报错,具体数值包括WKC、关键状态字等。
本实验是利用TwinCAT2软件实现对EtherCAT通讯过程的诊断。该TwinCAT2软件是一款基于Windows系统,带有实时核,同时集成硬件配置和软件编写的软件,实验中使用该软件对EtherCAT设备做实时监测,并且做硬件配置。
实验设备包括:型号为CP6201的面板式工业PC,EK1100耦合器,I块(两个EL1004,两个EL2024,两个EL7041),AX5203伺服驱动器。
硬件连接的拓扑结构如图3所示。
图3 拓扑结构
系统软件设计中是按照在EtherCAT网络中,主站发出的报文按照拓扑顺序完成一轮处理并返回给主站后,TwinCAT软件读取并分析返回主站的报文这一过程进行设计的,通过对比预期理论反馈值和实际结果,完成对整个EtherCAT通讯过程的诊断[11-12],如图4所示。
图4 系统软件设计流程图
在TwinCAT软件中按照系统软件设计流程图,根据不同CMD命令对应的WC计数预期值,编写程序并创建HMI可视化界面。当出现通讯报错,如图5所示。
图5 通讯报错HMI界面显示
分析:从图5得知,WcState值为120,转化成为八进制为0x78,CMD命令为8,即为全部丢失,这意味着报文发送过程的每一个CMD命令都没有被成功接收。分析原因,当主站识别从站缺失后,主站主动抛弃这些报文数据,只反馈报错信息。同时可以看出,从站可正常通讯个数为4。根据设备拓扑结构,如图3所示,本次设备为串行拓扑机构,可以分析出仅有分站1中模块处于正常通讯状态,但因为主站识别到从站缺失后会主动抛弃反馈回来的所有报文数据,在子报文中的从站WcState返回信息也认定为无效数据。所以TwinCAT软件通过拓扑结构逐个检测从站的WcState,除EK1100耦合器不具有诊断功能外,其他带有诊断功能的IO模块全部都报错。分析结果:产生报错的原因——通讯线缆2出现故障,或者通讯线缆2接入分站2的EK1100端子耦合器的1口出现故障。
现场生产当中部分从站作为检测分站,需要随时插拔接入到控制网络中的任何一个连接点上,它们不需要保持常连接的状态。但是普通从站在设备运行状态下,热插拔会使EtherCAT通讯报错,如图6所示,如果停止整台设备后插拔,需再次启动检查,则会大幅影响工作效率[13]。
前述实验结果显示,普通从站的热插拔造成EtherCAT通讯报错,整台设备无法继续正常运行。现场生产中,第二排的IO模块以及第三排的伺服驱动器作为临时分站,需要在运行状态下进行插拔,同时不能影响其他设备的正常运行。
针对这一要求,这里给出一种解决方案:将需热插拔的分站模块设置为同步单元Sync unit。
首先,划分同步单元[14-15]。将分站1放在同步单元1内,分站2以及AX5000伺服驱动器放在同步单元 2内。为了后续实验方便,这里设定同步单元2为临时分站。设置同步单元成功后,CMD命令的WC预期值发生改变,并被分成两组。
其次,对临时分站(分站2)进行热插拔。TwinCAT软件分析主站收到的报文给出的HMI界面如图6所示,其中WcState值为960,转化成为八进制为0x03C0,即同步单元2中的数据帧全部被丢弃,同步单元1中的数据帧均正常反馈,换句话说,分站1依然处于正常工作状态。因此,临时分站(分站2)的热插拔未影响其他设备(分站1)的正常运行。
第三步,再次接入临时分站(分站2)。经过一个PLC扫描周期后,所有从站的状态字在HMI界面上显示如图10所示,热插拔的临时分站(分站2)再次正常运行。
图6 分站2热插拔后的HMI界面
至此,临时从站的热插拔解决方案验证完毕。此方案尤其适用于现场网络规模庞大、设备模块数量繁多、拓扑结构复杂的场合,不仅最大化地降低了关机插拔对生产过程的影响,而且大幅缩减了EtherCAT诊断的时间。
工业以太网因其具有高可靠性、高时效性、高扩展性以及低成本等特点,必将成为未来工业网络的主流,在工业以太网实际运用中,EtherCAT诊断是不可以缺少的一部分。
本文在描述EtherCAT通讯原理和数据帧结构的基础上,基于TwinCAT软件构建了完整的EtherCAT诊断机制,主站仅需少量命令即可实现对从站的诊断;同时,根据EtherCAT的诊断特性,给出一种临时从站的热插拔解决方案,既能够不影响其他设备的EtherCAT通讯,又避免了因关机插拔从站而引起的时间浪费,一定程度上提高了现场生产的生产效率。
[1] 德国倍福公司.实时以太网:I/O层超高速以太网[J].自动化博览,2004,2004(4):48-50.
[2] 全国工业过程测量和控制标准化技术委员会.GB/T 31230.1-2014 工业以太网现场总线EtherCAT[S].北京:中国标准出版社,2014.
[3] EtherCAT Technology Group. EtherCAT-the ethernet fieldbus [EB/OL]. (2011-05-18)[2016-04-05]http://www.ethercat.org.
[4] 崔巍,朱迎春,孙亚蕾.现场总线系统抗干扰的实现与应用[J]. 中国仪器仪表,2006(10):67-69.
[5] EtherCAT技术协会. EtherCAT的诊断和错误定位[J]. 国内外机电一体化技术,2014,2014(4):27-28.
[6] 郇极,肖文磊,刘艳强. 工业以太网EtherCAT冗余和热插拔技术[J]. 北京航空航天大学学报, 2009, 35(2):158-161.
[7] 匡昌武,方厚辉,冗余链路技术在工业以太网中的应用分析[J] .工业控制计算机,2007,20(3):18-19.
[8] 修建竹.基于EtherCAT网络的实时控制技术研究[D].大连:大连理工大学,2010.
[9] 范振军.基于EtherCAT协议的多从站实时数据传输系统设计[D].西安:西安电子科技大学,2012.
[10] 杨昊佐.工业以太网EtherCAT从站设计[D].西安:西安电子科技大学,2013.
[11] EtherCAT Technology Group. EtherCAT diagnosis for developers [EB/OL]. (2015-07-14)[2016-4-13]http://www. ethercat. org.cn.
[12] EtherCAT技术组.EtherCAT——技术介绍及发展概貌[J]. 国内外机电一体化技术, 2006(6):17-24.
[13] Yoon G,Kwon D H,Kwon S C, et al. Ringtopology-based redundancy Ethernet for industrial network[C].Japan: 2006 SICE-ICASE International Joint Conference,2006.
[14] 王常力,罗安.分布式控制系统(DCS)设计与应用实例[M]. 北京:电子工业出版社, 2004.
[15] Madren Frank. Redundancy with standards in industrial Ethernet LANs[J].PC Control,2005(7):14-19.
EtherCAT Diagnois Base on TwinCAT
ZHANG Liwen1,FANG Jianglong2,ZHOU Yaogang3,LIANG Dechun3
(1.School of Mechanical Engineering, University of Shanghai for Science and Technology,Shanghai 200093, China; 2. Shanghai Electric Central Research Institute, Shanghai 200070, China;3. Beckhoff Automation (Shanghai) Co., Ltd., Shanghai 200436, China)
Interim stations need to turn them off and plug on EtherCAT fieldbus, leading to poor efficiency. A reliable solution based on TwinCAT software that supports real-time detection and feedback is proposed. The frames of the EtherCAT are analyzed. The impact of shutdown and plug on the process of production is reduced by setting a synchronization unit and assigning working counter without affecting the communication of other EtherCAT equipment, thus faster EtherCAT diagnosis and higher efficiency of production.
EtherCAT; TwinCAT; real-time diagnosis; synchronization unit
2016- 04- 06
张立文(1991-),女,硕士研究生。研究方向:数控 EtherCAT 自动化。
10.16180/j.cnki.issn1007-7820.2017.02.036
TP393.11
A
1007-7820(2017)02-138-04