文/李豐 信光成 張建成 賴智華
基于EtherCAT實(shí)時(shí)以太網(wǎng)技術(shù)的轉(zhuǎn)臺(tái)控制系統(tǒng)設(shè)計(jì)研究
文/李豐 信光成 張建成 賴智華
文章介紹了EtherCAT實(shí)時(shí)以太網(wǎng)技術(shù),包括其工作原理與相關(guān)協(xié)議,分析了其技術(shù)上的先進(jìn)性和優(yōu)勢(shì)。針對(duì)傳統(tǒng)轉(zhuǎn)臺(tái)控制系統(tǒng)內(nèi)部線纜連接繁雜,控制信號(hào)易受干擾,故障診斷能力差等缺陷,提出了一種基于EtherCAT總線技術(shù)的轉(zhuǎn)臺(tái)控制系統(tǒng)設(shè)計(jì)方案,設(shè)計(jì)采用PC機(jī)和EtherCAT主站通訊卡作為硬件平臺(tái),以VxWorks實(shí)時(shí)操作系統(tǒng)作為軟件平臺(tái),以工業(yè)以太網(wǎng)網(wǎng)線作為控制器和驅(qū)動(dòng)器間數(shù)據(jù)交互的媒介,簡(jiǎn)化了系統(tǒng)拓?fù)浣Y(jié)構(gòu),實(shí)現(xiàn)了通訊的全數(shù)字化,提高了控制系統(tǒng)抗干擾能力和可靠性。
EtherCAT VxWorks
圖2:EtherCAT實(shí)時(shí)以太網(wǎng)協(xié)議
EtherCAT (Ethernet for Control Automation Technology)是由德國(guó)自動(dòng)控制公司Beckhoff開(kāi)發(fā)的一種工業(yè)以太網(wǎng)技術(shù),該技術(shù)以其高速、簡(jiǎn)單、易于實(shí)現(xiàn)正在獲得越來(lái)越多的產(chǎn)品研發(fā)人員的關(guān)注。2003年底ETG(Ethernet Technology Group)組織成立,2007年ETG組織成立中國(guó)代表處負(fù)責(zé)EtherCAT技術(shù)的推廣和宣傳。截止2017年6月份ETG組織目前全球會(huì)員數(shù)已經(jīng)超過(guò)4336家,其中,中國(guó)大陸會(huì)員600多家。
EtherCAT采用主從站的工作模式,主站采用配有標(biāo)準(zhǔn)以太網(wǎng)卡或者兼容EtherCAT協(xié) 議 網(wǎng) 卡 的PC機(jī),ESC(Ether CAT slave controller,從站控制器)采用專門的從站芯片。主從站通信過(guò)程示意圖如圖1所示,在整個(gè)EtherCAT工作流程中,主站連接n個(gè)從站,按照連接順序,將從站命名為從站1,從站2,…,從站n,由主站發(fā)起通訊,發(fā)送數(shù)據(jù)包,數(shù)據(jù)按照從站的連接順序,依次通過(guò)各個(gè)從站,從站根據(jù)指令在幀的相應(yīng)位置插入或提取數(shù)據(jù),當(dāng)幀到達(dá)最后一個(gè)從站n后,再由從站n將處理過(guò)的完整的數(shù)據(jù)幀發(fā)回。
EtherCAT數(shù)據(jù)幀結(jié)構(gòu)如圖2所示,符合IEEE802.3標(biāo)準(zhǔn)以太網(wǎng)協(xié)議,幀類型為0x88A4,IP數(shù)據(jù)段由EtherCAT頭和EtherCAT數(shù)據(jù)組成,而若干子報(bào)文又組成了EtherCAT數(shù)據(jù)。子報(bào)文又由子報(bào)文頭、子報(bào)文數(shù)據(jù)和工作計(jì)數(shù)器WKC組成。子報(bào)文頭又決定了該子報(bào)文傳輸?shù)降膶?duì)應(yīng)從站,以及該從站對(duì)子報(bào)文進(jìn)行讀或?qū)懖僮?,在主從站通訊的過(guò)程中,16位工作計(jì)數(shù)器(WKC)的值顯得尤為重要。主站發(fā)起周期控制的時(shí)候預(yù)先給定WKC一個(gè)值,當(dāng)數(shù)據(jù)幀遍歷完整個(gè)設(shè)備的時(shí)候,通過(guò)對(duì)比返回的WKC值,可以驗(yàn)證數(shù)據(jù)報(bào)文是否被EtherCAT從站節(jié)點(diǎn)正確處理。
整個(gè)轉(zhuǎn)臺(tái)控制系統(tǒng)由基于VxWorks的X86計(jì)算機(jī)和EtherCAT主站控制卡組成。內(nèi)部板卡數(shù)據(jù)交互形式為CPCI總線,主控單元和驅(qū)動(dòng)器間通過(guò)EtherCAT總線進(jìn)行數(shù)據(jù)傳輸。整個(gè)控制系統(tǒng)對(duì)外連接形式更簡(jiǎn)潔,控制系統(tǒng)對(duì)外可實(shí)現(xiàn)“一網(wǎng)到底”的互聯(lián)。
如圖3所示,系統(tǒng)以x86 CPU作為運(yùn)算處理單元,運(yùn)動(dòng)控制算法及軌跡規(guī)劃命令都通過(guò)此單元完成。系統(tǒng)設(shè)置EtherCAT主站控制卡的刷新周期為1ms,每個(gè)伺服周期EtherCAT主站卡可遍歷各個(gè)驅(qū)動(dòng)器獲取實(shí)際角位置信息及驅(qū)動(dòng)器工作狀態(tài)參數(shù),然后通過(guò)中斷的形式通知CPU讀取,CPU獲取參數(shù)后進(jìn)行下一周期的控制計(jì)算,然后通過(guò)CPCI總線將命令發(fā)送給EtherCAT主站卡,主站再將數(shù)據(jù)對(duì)各從站驅(qū)動(dòng)器進(jìn)行依次的數(shù)據(jù)刷新。
圖3:基于EtherCAT技術(shù)的轉(zhuǎn)臺(tái)電控系統(tǒng)框圖
圖4:CIFX 80-RE/RTEM主站控制卡初始化步驟
EtherCAT主站控制卡選用德國(guó)赫優(yōu)信的CIFX 80-RE/RTEM板卡,通過(guò)CPCI總線與x86主控CPU進(jìn)行數(shù)據(jù)通訊。用戶只需調(diào)用特定的API函數(shù)即可實(shí)現(xiàn)對(duì)主站控制卡的數(shù)據(jù)收發(fā)操作,初始化主站控制卡流程如圖4所示。
首先調(diào)用API函數(shù)cifXInitDriver(),此函數(shù)會(huì)掃描系統(tǒng)中的cifX PCI設(shè)備,若有該類型設(shè)備將下載固件和配置文件。若設(shè)備驅(qū)動(dòng)初始化成功,將返回CIFX_NO_ERROR標(biāo)志。然后可執(zhí)行cifX驅(qū)動(dòng)打開(kāi)函數(shù)xDriverOpen()和通道打開(kāi)函數(shù)xChannelOpen(),整個(gè)驅(qū)動(dòng)初始化過(guò)程完畢。
赫優(yōu)信主站控制卡和用戶應(yīng)用程序通過(guò)DPM(雙端口RAM)的形式進(jìn)行數(shù)據(jù)交換,默認(rèn)情況下數(shù)據(jù)交換與總線周期是分離的,為了實(shí)現(xiàn)同步數(shù)據(jù)交換功能,主站控制卡提供了一種同步握手機(jī)制。在總線周期的起始時(shí)刻主站控制卡會(huì)將上一周期計(jì)算完畢數(shù)據(jù)同步更新到各從站驅(qū)動(dòng)器,同時(shí)從驅(qū)動(dòng)器返回?cái)?shù)據(jù),然后采用發(fā)中斷信號(hào)給主控CPU,主控CPU從DPM中讀取數(shù)據(jù)進(jìn)行計(jì)算,計(jì)算完畢后通知主站控制卡進(jìn)行數(shù)據(jù)讀取,整個(gè)數(shù)據(jù)交互過(guò)程和實(shí)際測(cè)試波形如圖5所示。
圖5:EtherCAT主站控制卡與主控CPU數(shù)據(jù)交換過(guò)程示意圖
傳統(tǒng)轉(zhuǎn)臺(tái)控制系統(tǒng)多采用PC機(jī)+運(yùn)動(dòng)控制卡形式,如圖6(a)所示,驅(qū)動(dòng)器一般工作于力矩環(huán)模式,控制器每個(gè)伺服周期發(fā)送電流調(diào)節(jié)指令(一般為模擬電壓或者PWM+脈沖),系統(tǒng)和驅(qū)動(dòng)器間只是單向通訊,控制器無(wú)法獲取驅(qū)動(dòng)器完整的狀態(tài)信息,只能通過(guò)簡(jiǎn)單的IO判斷驅(qū)動(dòng)器是否工作正常,且控制器到驅(qū)動(dòng)器的連線較多,造成調(diào)試中諸多不便。
圖6
基于EtherCAT技術(shù)的轉(zhuǎn)臺(tái)控制系統(tǒng)采用分布式控制方式,如圖6(b)所示,控制器到驅(qū)動(dòng)器均已數(shù)字指令完成傳輸,且通訊為雙向的,可實(shí)時(shí)獲取驅(qū)動(dòng)器工作狀態(tài),驅(qū)動(dòng)器工作于位置/速度/力矩模式,主控制器通過(guò)一根網(wǎng)線完成對(duì)多個(gè)驅(qū)動(dòng)器的調(diào)節(jié)和控制工作,大大減少了導(dǎo)線互聯(lián)導(dǎo)致的系統(tǒng)不穩(wěn)定現(xiàn)象,提高了系統(tǒng)的可靠性。同時(shí),由于驅(qū)動(dòng)器大量信息的獲取,可更準(zhǔn)確的對(duì)各種故障進(jìn)行定位,對(duì)系統(tǒng)故障自診斷能力有很大的提升。
EtherCAT實(shí)時(shí)以太網(wǎng)技術(shù)提高了工業(yè)以太網(wǎng)的帶寬利用效率,減小了堆棧延遲,使得通訊速度更快,完全能適應(yīng)轉(zhuǎn)臺(tái)高速伺服系統(tǒng)要求。此外,EtherCAT總線還具有很強(qiáng)的網(wǎng)絡(luò)的診斷能力、靈活的拓?fù)浣Y(jié)構(gòu)和精確的時(shí)鐘同步性能,可大大簡(jiǎn)化轉(zhuǎn)臺(tái)電控系統(tǒng)的外部接線,縮短整個(gè)系統(tǒng)調(diào)試時(shí)間,提高整個(gè)控制系統(tǒng)的可靠性。
[1]王維建.工業(yè)以太網(wǎng)EtherCAT技術(shù)的原理及其實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(5-1):51-52.
[2]魏慶福.現(xiàn)場(chǎng)總線技術(shù)的發(fā)展與工業(yè)以太網(wǎng)綜述[J].工業(yè)控制計(jì)算機(jī),2002,15(01):1-5.
[3]謝香林.EtherCAT網(wǎng)絡(luò)及其伺服運(yùn)動(dòng)控制系統(tǒng)研究[D].大連:大連理工大學(xué),2008:17.
[4]楊昊佐.工業(yè)以太網(wǎng)EtherCAT從站設(shè)計(jì)[D].西安:西安電子科技大學(xué),2013:21-23.
作者單位九江精密測(cè)試技術(shù)研究所 江西省九江市332000
李豐男(1986-),碩士研究生。工程師。研究方向?yàn)楣I(yè)自動(dòng)化控制。