文/李豐 信光成 張建成 賴智華
基于EtherCAT實時以太網技術的轉臺控制系統設計研究
文/李豐 信光成 張建成 賴智華
文章介紹了EtherCAT實時以太網技術,包括其工作原理與相關協議,分析了其技術上的先進性和優勢。針對傳統轉臺控制系統內部線纜連接繁雜,控制信號易受干擾,故障診斷能力差等缺陷,提出了一種基于EtherCAT總線技術的轉臺控制系統設計方案,設計采用PC機和EtherCAT主站通訊卡作為硬件平臺,以VxWorks實時操作系統作為軟件平臺,以工業以太網網線作為控制器和驅動器間數據交互的媒介,簡化了系統拓撲結構,實現了通訊的全數字化,提高了控制系統抗干擾能力和可靠性。
EtherCAT VxWorks

圖2:EtherCAT實時以太網協議
EtherCAT (Ethernet for Control Automation Technology)是由德國自動控制公司Beckhoff開發的一種工業以太網技術,該技術以其高速、簡單、易于實現正在獲得越來越多的產品研發人員的關注。2003年底ETG(Ethernet Technology Group)組織成立,2007年ETG組織成立中國代表處負責EtherCAT技術的推廣和宣傳。截止2017年6月份ETG組織目前全球會員數已經超過4336家,其中,中國大陸會員600多家。
EtherCAT采用主從站的工作模式,主站采用配有標準以太網卡或者兼容EtherCAT協 議 網 卡 的PC機,ESC(Ether CAT slave controller,從站控制器)采用專門的從站芯片。主從站通信過程示意圖如圖1所示,在整個EtherCAT工作流程中,主站連接n個從站,按照連接順序,將從站命名為從站1,從站2,…,從站n,由主站發起通訊,發送數據包,數據按照從站的連接順序,依次通過各個從站,從站根據指令在幀的相應位置插入或提取數據,當幀到達最后一個從站n后,再由從站n將處理過的完整的數據幀發回。
EtherCAT數據幀結構如圖2所示,符合IEEE802.3標準以太網協議,幀類型為0x88A4,IP數據段由EtherCAT頭和EtherCAT數據組成,而若干子報文又組成了EtherCAT數據。子報文又由子報文頭、子報文數據和工作計數器WKC組成。子報文頭又決定了該子報文傳輸到的對應從站,以及該從站對子報文進行讀或寫操作,在主從站通訊的過程中,16位工作計數器(WKC)的值顯得尤為重要。主站發起周期控制的時候預先給定WKC一個值,當數據幀遍歷完整個設備的時候,通過對比返回的WKC值,可以驗證數據報文是否被EtherCAT從站節點正確處理。
整個轉臺控制系統由基于VxWorks的X86計算機和EtherCAT主站控制卡組成。內部板卡數據交互形式為CPCI總線,主控單元和驅動器間通過EtherCAT總線進行數據傳輸。整個控制系統對外連接形式更簡潔,控制系統對外可實現“一網到底”的互聯。
如圖3所示,系統以x86 CPU作為運算處理單元,運動控制算法及軌跡規劃命令都通過此單元完成。系統設置EtherCAT主站控制卡的刷新周期為1ms,每個伺服周期EtherCAT主站卡可遍歷各個驅動器獲取實際角位置信息及驅動器工作狀態參數,然后通過中斷的形式通知CPU讀取,CPU獲取參數后進行下一周期的控制計算,然后通過CPCI總線將命令發送給EtherCAT主站卡,主站再將數據對各從站驅動器進行依次的數據刷新。

圖3:基于EtherCAT技術的轉臺電控系統框圖

圖4:CIFX 80-RE/RTEM主站控制卡初始化步驟
EtherCAT主站控制卡選用德國赫優信的CIFX 80-RE/RTEM板卡,通過CPCI總線與x86主控CPU進行數據通訊。用戶只需調用特定的API函數即可實現對主站控制卡的數據收發操作,初始化主站控制卡流程如圖4所示。
首先調用API函數cifXInitDriver(),此函數會掃描系統中的cifX PCI設備,若有該類型設備將下載固件和配置文件。若設備驅動初始化成功,將返回CIFX_NO_ERROR標志。然后可執行cifX驅動打開函數xDriverOpen()和通道打開函數xChannelOpen(),整個驅動初始化過程完畢。
赫優信主站控制卡和用戶應用程序通過DPM(雙端口RAM)的形式進行數據交換,默認情況下數據交換與總線周期是分離的,為了實現同步數據交換功能,主站控制卡提供了一種同步握手機制。在總線周期的起始時刻主站控制卡會將上一周期計算完畢數據同步更新到各從站驅動器,同時從驅動器返回數據,然后采用發中斷信號給主控CPU,主控CPU從DPM中讀取數據進行計算,計算完畢后通知主站控制卡進行數據讀取,整個數據交互過程和實際測試波形如圖5所示。

圖5:EtherCAT主站控制卡與主控CPU數據交換過程示意圖
傳統轉臺控制系統多采用PC機+運動控制卡形式,如圖6(a)所示,驅動器一般工作于力矩環模式,控制器每個伺服周期發送電流調節指令(一般為模擬電壓或者PWM+脈沖),系統和驅動器間只是單向通訊,控制器無法獲取驅動器完整的狀態信息,只能通過簡單的IO判斷驅動器是否工作正常,且控制器到驅動器的連線較多,造成調試中諸多不便。

圖6
基于EtherCAT技術的轉臺控制系統采用分布式控制方式,如圖6(b)所示,控制器到驅動器均已數字指令完成傳輸,且通訊為雙向的,可實時獲取驅動器工作狀態,驅動器工作于位置/速度/力矩模式,主控制器通過一根網線完成對多個驅動器的調節和控制工作,大大減少了導線互聯導致的系統不穩定現象,提高了系統的可靠性。同時,由于驅動器大量信息的獲取,可更準確的對各種故障進行定位,對系統故障自診斷能力有很大的提升。
EtherCAT實時以太網技術提高了工業以太網的帶寬利用效率,減小了堆棧延遲,使得通訊速度更快,完全能適應轉臺高速伺服系統要求。此外,EtherCAT總線還具有很強的網絡的診斷能力、靈活的拓撲結構和精確的時鐘同步性能,可大大簡化轉臺電控系統的外部接線,縮短整個系統調試時間,提高整個控制系統的可靠性。
[1]王維建.工業以太網EtherCAT技術的原理及其實現[J].微計算機信息,2010,26(5-1):51-52.
[2]魏慶福.現場總線技術的發展與工業以太網綜述[J].工業控制計算機,2002,15(01):1-5.
[3]謝香林.EtherCAT網絡及其伺服運動控制系統研究[D].大連:大連理工大學,2008:17.
[4]楊昊佐.工業以太網EtherCAT從站設計[D].西安:西安電子科技大學,2013:21-23.
作者單位九江精密測試技術研究所 江西省九江市332000
李豐男(1986-),碩士研究生。工程師。研究方向為工業自動化控制。