張立文,方江龍,周耀綱,梁德春
(1.上海理工大學 機械工程學院,上海 200093;2.上海電氣集團中央研究院,上海 200070;3.德國倍福自動化有限公司,上海200436)
基于TwinCAT軟件的EtherCAT診斷應用
張立文1,方江龍2,周耀綱3,梁德春3
(1.上海理工大學 機械工程學院,上海 200093;2.上海電氣集團中央研究院,上海 200070;3.德國倍福自動化有限公司,上海200436)
針對EtherCAT現(xiàn)場總線中臨時從站關(guān)機插拔帶來的低效問題,基于TwinCAT軟件提出一種支持實時檢測和反饋的可靠解決方案。在分析EtherCAT報文的基礎(chǔ)上,采用設(shè)置同步單元和分配工作狀態(tài)字的方法,以不影響其他設(shè)備EtherCAT通訊為前提,最大化地降低關(guān)機插拔對生產(chǎn)過程的影響,縮減EtherCAT的整體診斷時間,提高生產(chǎn)效率,在現(xiàn)場生產(chǎn)中具有較好的推廣應用價值。
EtherCAT;TwinCAT;實時檢測;同步單元
針對自動化系統(tǒng)通訊發(fā)展的需求,傳統(tǒng)的現(xiàn)場總線已不能滿足現(xiàn)階段高速、高精度、遠距離傳輸?shù)囊?。為了應對這種情況,各大自動化廠商提出了不同的解決方案,包括SERCOS3通訊協(xié)議、PROFINET通訊協(xié)議、EtherCAT通訊協(xié)議[1]等。這些都符合實時以太網(wǎng)協(xié)議標準[2-3],因此,實時以太網(wǎng)技術(shù)是控制網(wǎng)絡(luò)未來發(fā)展的趨勢。
作為上述解決方案之一的EtherCAT是一種基于以太網(wǎng)的實時工業(yè)現(xiàn)場總線通信協(xié)議和國際標準,它摒棄原有以太網(wǎng)交換機的帶寬利用率低、堆棧延遲等諸多缺點,同時提高傳輸過程響應速度、降低自動化傳輸組件的成本,另一方面,支持多種物理拓撲結(jié)構(gòu)?;谶@些特點,EtherCAT技術(shù)被工業(yè)自動化系統(tǒng)廣泛接受,并進入了高速發(fā)展期,大量符合EtherCAT通訊協(xié)議的產(chǎn)品正在接受考驗,EtherCAT通訊診斷能力[4-5]對保障產(chǎn)品的正常運行起著至關(guān)重要的作用。原因在于:一方面,診斷特性直接影響產(chǎn)品的可靠性;另一方面,可靠的診斷能力有利于增強網(wǎng)絡(luò)可用性,并縮短調(diào)試時間。而可靠的診斷能力主要包括錯誤檢測和錯誤定位。只有及時發(fā)現(xiàn)錯誤,并且快速精確地定位錯誤原因和位置,才能夠在最短的時間內(nèi)將其排除。
在一些特殊的生產(chǎn)過程中,部分從站會被應用在檢測局部控制網(wǎng)絡(luò)的環(huán)境,這需要對這一部分的從站進行頻繁插拔,而直接插拔對EtherCAT協(xié)議來說,會認為是設(shè)備出現(xiàn)故障,進而導致從站無法接收新的指令。針對上述問題,本文基于TwinCAT軟件設(shè)計一種EtherCAT通訊診斷的解決方案,在準確識別通訊出錯原因的基礎(chǔ)上,滿足從站設(shè)備的熱插拔[6-7]要求。
EtherCAT通訊技術(shù)突破了其他以太網(wǎng)解決方案[8]的系統(tǒng)限制,即不需要接收以太網(wǎng)數(shù)據(jù)包并將其解碼之后,再將過程數(shù)據(jù)復制到各個設(shè)備。它具有主從數(shù)據(jù)交換特性,由主站和從站配合完成工作,因而,EtherCAT非常適合拓撲結(jié)構(gòu)復雜的主從控制器之間的通訊。
EtherCAT的通訊原理示意如圖1所示,EtherCAT總線網(wǎng)段是一個可接收和發(fā)送以太網(wǎng)幀的大型以太網(wǎng)設(shè)備。但是,該“設(shè)備”不包含帶下游微處理器的單個以太網(wǎng)控制器,而只包含大量的EtherCAT從站。與其它任何以太網(wǎng)一樣,EtherCAT不需要通過交換機就可以建立通訊,因而產(chǎn)生一個純粹的EtherCAT系統(tǒng)。EtherCAT主站傳遞的數(shù)據(jù)幀包含了所有的I/O從站數(shù)據(jù),每一個從站接收報文,并在報文中提取命令或者插入反饋狀態(tài)字,然后將報文傳送給下一個從站設(shè)備,最后一個EtherCAT從站將經(jīng)過充分處理的報文返回,這樣該報文就作為一個響應報文由第一個從站返回到主站。整個通訊過程在全雙工模式下,利用了以太網(wǎng)設(shè)備獨立處理雙向傳輸?shù)奶攸c,報文只有幾納秒的時間延遲。
圖1 EtherCAT通訊原理
EtherCAT數(shù)據(jù)[9-10]是直接使用以太網(wǎng)數(shù)據(jù)幀傳輸,其中數(shù)據(jù)部分包括2 Byte的數(shù)據(jù)頭和44~1 498字節(jié)的數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)由一個或多個EtherCAT子報文組成,每個子報文對應獨立的設(shè)備或從站存儲區(qū)域,EtherCAT數(shù)據(jù)幀結(jié)構(gòu)如圖2所示,表1給出了EtherCAT數(shù)據(jù)幀結(jié)構(gòu)定義。
圖2 EtherCAT數(shù)據(jù)幀結(jié)構(gòu)
名稱含義備注Ethernet.H以太網(wǎng)幀頭包含目的地址、源地址、幀類型接收方MAC地址,發(fā)送方MAC地址,0x88A4Len數(shù)據(jù)長度EtherCAT數(shù)據(jù)區(qū)長度1類型表示與從站通信FCS幀校驗序列WKC工作計數(shù)器記錄子報文被從站操作的次數(shù)Cmd命令尋址方式及讀寫方式Idx索引幀編碼續(xù)表Address地址區(qū)從站地址R保留位M后續(xù)報文標志IRQ狀態(tài)位中斷到來標志
一般設(shè)備啟動時,EtherCAT報文會按照順序?qū)ぶ返姆绞桨l(fā)送一個周期性的報文,報文在經(jīng)過每一個從站設(shè)備時,從站將通過EtherCAT.H子報文頭中Address地址區(qū)為自身更新設(shè)定地址。TwinCAT軟件通過使用以太網(wǎng)數(shù)據(jù)幀頭的MAC地址尋址到網(wǎng)段,然后使用EtherCAT子報文頭中的32位地址尋址到段內(nèi)設(shè)備,繼而得到硬件拓撲圖。
每一個EtherCAT子報文由子報文頭、數(shù)據(jù)域和相應的工作計數(shù)器(WKC)組成。WKC記錄了子報文被從站操作的次數(shù),主站為每個通訊服務子報文設(shè)置了預期的WKC。其中WKC對不同通訊服務的計數(shù)方式也是不同的,關(guān)于EtherCAT通信命令與WKC計數(shù)對方關(guān)系如表2所示。
表2 EtherCAT通信命令與WKC計數(shù)對方關(guān)系
子報文經(jīng)過某一個從站時,如果是單獨的讀或?qū)懖僮鳎琖KC加1,如果是讀寫操作,讀成功WKC加1,寫成功時WKC加2,讀寫全部完成WKC加3;子報文由多個從站處理時,WKC是各個從站處理結(jié)果的累加。發(fā)送子報文的WKC初值為0,子報文被正確處理后,WKC的值將累加;同時,主站在發(fā)送子報文時,預先分析得出一個WKC的理論預期值,通過比較返回子報文中的WKC和理論預期值來判定子報文是否被正確處理,進而判斷錯誤原因并定位錯誤源頭。
本文研究的EtherCAT診斷就是利用TwinCAT軟件處理返回主站的報文,檢查數(shù)據(jù)幀子報文中的各項數(shù)值來診斷EtherCAT是否報錯,具體數(shù)值包括WKC、關(guān)鍵狀態(tài)字等。
本實驗是利用TwinCAT2軟件實現(xiàn)對EtherCAT通訊過程的診斷。該TwinCAT2軟件是一款基于Windows系統(tǒng),帶有實時核,同時集成硬件配置和軟件編寫的軟件,實驗中使用該軟件對EtherCAT設(shè)備做實時監(jiān)測,并且做硬件配置。
實驗設(shè)備包括:型號為CP6201的面板式工業(yè)PC,EK1100耦合器,I塊(兩個EL1004,兩個EL2024,兩個EL7041),AX5203伺服驅(qū)動器。
硬件連接的拓撲結(jié)構(gòu)如圖3所示。
圖3 拓撲結(jié)構(gòu)
系統(tǒng)軟件設(shè)計中是按照在EtherCAT網(wǎng)絡(luò)中,主站發(fā)出的報文按照拓撲順序完成一輪處理并返回給主站后,TwinCAT軟件讀取并分析返回主站的報文這一過程進行設(shè)計的,通過對比預期理論反饋值和實際結(jié)果,完成對整個EtherCAT通訊過程的診斷[11-12],如圖4所示。
圖4 系統(tǒng)軟件設(shè)計流程圖
在TwinCAT軟件中按照系統(tǒng)軟件設(shè)計流程圖,根據(jù)不同CMD命令對應的WC計數(shù)預期值,編寫程序并創(chuàng)建HMI可視化界面。當出現(xiàn)通訊報錯,如圖5所示。
圖5 通訊報錯HMI界面顯示
分析:從圖5得知,WcState值為120,轉(zhuǎn)化成為八進制為0x78,CMD命令為8,即為全部丟失,這意味著報文發(fā)送過程的每一個CMD命令都沒有被成功接收。分析原因,當主站識別從站缺失后,主站主動拋棄這些報文數(shù)據(jù),只反饋報錯信息。同時可以看出,從站可正常通訊個數(shù)為4。根據(jù)設(shè)備拓撲結(jié)構(gòu),如圖3所示,本次設(shè)備為串行拓撲機構(gòu),可以分析出僅有分站1中模塊處于正常通訊狀態(tài),但因為主站識別到從站缺失后會主動拋棄反饋回來的所有報文數(shù)據(jù),在子報文中的從站W(wǎng)cState返回信息也認定為無效數(shù)據(jù)。所以TwinCAT軟件通過拓撲結(jié)構(gòu)逐個檢測從站的WcState,除EK1100耦合器不具有診斷功能外,其他帶有診斷功能的IO模塊全部都報錯。分析結(jié)果:產(chǎn)生報錯的原因——通訊線纜2出現(xiàn)故障,或者通訊線纜2接入分站2的EK1100端子耦合器的1口出現(xiàn)故障。
現(xiàn)場生產(chǎn)當中部分從站作為檢測分站,需要隨時插拔接入到控制網(wǎng)絡(luò)中的任何一個連接點上,它們不需要保持常連接的狀態(tài)。但是普通從站在設(shè)備運行狀態(tài)下,熱插拔會使EtherCAT通訊報錯,如圖6所示,如果停止整臺設(shè)備后插拔,需再次啟動檢查,則會大幅影響工作效率[13]。
前述實驗結(jié)果顯示,普通從站的熱插拔造成EtherCAT通訊報錯,整臺設(shè)備無法繼續(xù)正常運行?,F(xiàn)場生產(chǎn)中,第二排的IO模塊以及第三排的伺服驅(qū)動器作為臨時分站,需要在運行狀態(tài)下進行插拔,同時不能影響其他設(shè)備的正常運行。
針對這一要求,這里給出一種解決方案:將需熱插拔的分站模塊設(shè)置為同步單元Sync unit。
首先,劃分同步單元[14-15]。將分站1放在同步單元1內(nèi),分站2以及AX5000伺服驅(qū)動器放在同步單元 2內(nèi)。為了后續(xù)實驗方便,這里設(shè)定同步單元2為臨時分站。設(shè)置同步單元成功后,CMD命令的WC預期值發(fā)生改變,并被分成兩組。
其次,對臨時分站(分站2)進行熱插拔。TwinCAT軟件分析主站收到的報文給出的HMI界面如圖6所示,其中WcState值為960,轉(zhuǎn)化成為八進制為0x03C0,即同步單元2中的數(shù)據(jù)幀全部被丟棄,同步單元1中的數(shù)據(jù)幀均正常反饋,換句話說,分站1依然處于正常工作狀態(tài)。因此,臨時分站(分站2)的熱插拔未影響其他設(shè)備(分站1)的正常運行。
第三步,再次接入臨時分站(分站2)。經(jīng)過一個PLC掃描周期后,所有從站的狀態(tài)字在HMI界面上顯示如圖10所示,熱插拔的臨時分站(分站2)再次正常運行。
圖6 分站2熱插拔后的HMI界面
至此,臨時從站的熱插拔解決方案驗證完畢。此方案尤其適用于現(xiàn)場網(wǎng)絡(luò)規(guī)模龐大、設(shè)備模塊數(shù)量繁多、拓撲結(jié)構(gòu)復雜的場合,不僅最大化地降低了關(guān)機插拔對生產(chǎn)過程的影響,而且大幅縮減了EtherCAT診斷的時間。
工業(yè)以太網(wǎng)因其具有高可靠性、高時效性、高擴展性以及低成本等特點,必將成為未來工業(yè)網(wǎng)絡(luò)的主流,在工業(yè)以太網(wǎng)實際運用中,EtherCAT診斷是不可以缺少的一部分。
本文在描述EtherCAT通訊原理和數(shù)據(jù)幀結(jié)構(gòu)的基礎(chǔ)上,基于TwinCAT軟件構(gòu)建了完整的EtherCAT診斷機制,主站僅需少量命令即可實現(xiàn)對從站的診斷;同時,根據(jù)EtherCAT的診斷特性,給出一種臨時從站的熱插拔解決方案,既能夠不影響其他設(shè)備的EtherCAT通訊,又避免了因關(guān)機插拔從站而引起的時間浪費,一定程度上提高了現(xiàn)場生產(chǎn)的生產(chǎn)效率。
[1] 德國倍福公司.實時以太網(wǎng):I/O層超高速以太網(wǎng)[J].自動化博覽,2004,2004(4):48-50.
[2] 全國工業(yè)過程測量和控制標準化技術(shù)委員會.GB/T 31230.1-2014 工業(yè)以太網(wǎng)現(xiàn)場總線EtherCAT[S].北京:中國標準出版社,2014.
[3] EtherCAT Technology Group. EtherCAT-the ethernet fieldbus [EB/OL]. (2011-05-18)[2016-04-05]http://www.ethercat.org.
[4] 崔巍,朱迎春,孫亞蕾.現(xiàn)場總線系統(tǒng)抗干擾的實現(xiàn)與應用[J]. 中國儀器儀表,2006(10):67-69.
[5] EtherCAT技術(shù)協(xié)會. EtherCAT的診斷和錯誤定位[J]. 國內(nèi)外機電一體化技術(shù),2014,2014(4):27-28.
[6] 郇極,肖文磊,劉艷強. 工業(yè)以太網(wǎng)EtherCAT冗余和熱插拔技術(shù)[J]. 北京航空航天大學學報, 2009, 35(2):158-161.
[7] 匡昌武,方厚輝,冗余鏈路技術(shù)在工業(yè)以太網(wǎng)中的應用分析[J] .工業(yè)控制計算機,2007,20(3):18-19.
[8] 修建竹.基于EtherCAT網(wǎng)絡(luò)的實時控制技術(shù)研究[D].大連:大連理工大學,2010.
[9] 范振軍.基于EtherCAT協(xié)議的多從站實時數(shù)據(jù)傳輸系統(tǒng)設(shè)計[D].西安:西安電子科技大學,2012.
[10] 楊昊佐.工業(yè)以太網(wǎng)EtherCAT從站設(shè)計[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技術(shù)組.EtherCAT——技術(shù)介紹及發(fā)展概貌[J]. 國內(nèi)外機電一體化技術(shù), 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] 王常力,羅安.分布式控制系統(tǒng)(DCS)設(shè)計與應用實例[M]. 北京:電子工業(yè)出版社, 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,F(xiàn)ANG 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-),女,碩士研究生。研究方向:數(shù)控 EtherCAT 自動化。
10.16180/j.cnki.issn1007-7820.2017.02.036
TP393.11
A
1007-7820(2017)02-138-04