蔣勁峰, 張 力, 呂 燕
上海電氣集團股份有限公司 中央研究院 上海 200070
基于EtherCAT的多軸運動控制器
蔣勁峰, 張 力, 呂 燕
上海電氣集團股份有限公司 中央研究院 上海 200070
針對工業(yè)運動控制中的實時性、穩(wěn)定性等問題,提出了基于EtherCAT總線的多軸運動控制器。介紹了EtherCAT的技術原理和通信協(xié)議,并對多軸運動控制器的硬件構(gòu)成、軟件架構(gòu)進行了詳細說明,最后對該控制器在多軸控制平臺上進行了驗證,對時間抖動誤差進行了測試。測試結(jié)果表明,該控制器具有良好的實時性和穩(wěn)定性。
多軸運動; 運動控制; EtherCAT總線; 性能
隨著計算機技術和網(wǎng)絡技術的快速發(fā)展,運動控制系統(tǒng)對實時性和網(wǎng)絡化的要求越來越高,實時以太網(wǎng)通信技術因兼容性好、數(shù)據(jù)傳輸速度快、可靠性高等特點在工業(yè)控制領域得到了廣泛的應用[1-5]。
目前,各大自動化廠商紛紛推出自己的實時以太網(wǎng)協(xié)議標準,如博世力士樂系統(tǒng)支持的SERCOS Ⅲ(串行實時)通信協(xié)議、倍福系統(tǒng)支持的EtherCAT(以太網(wǎng)控制自動化技術)通信協(xié)議、西門子系統(tǒng)支持的PROFINET(由PROFIBUS國際組織推出的總線標準)通信協(xié)議和貝加萊系統(tǒng)支持的Powerlink(開源實時通信技術)通信協(xié)議[6]等。實時以太網(wǎng)技術已經(jīng)成為控制網(wǎng)絡發(fā)展的主要方向,被工業(yè)自動化系統(tǒng)廣泛接受。EtherCAT總線技術是德國倍福公司提出的實時工業(yè)以太網(wǎng)技術,在運動控制領域使用EtherCAT,在拓撲結(jié)構(gòu)、時鐘同步、數(shù)據(jù)傳輸速度和構(gòu)建成本方面具有很大的優(yōu)勢。
筆者基于EtherCAT總線的通信原理,以計算機+赫優(yōu)訊CIF-50通信板卡為控制器架構(gòu),介紹了多軸運動控制器軟硬件的總體設計方案,并在實際運動控制中進行了性能驗證。
1.1 EtherCAT原理
EtherCAT技術采用專門的實時以太網(wǎng)硬件控制器,在MAC(介質(zhì)訪問控制)層采用實時MAC接管通信控制,能獲得響應時間短于1ms的硬實時[7]。EtherCAT使用標準的以太網(wǎng)物理層和普通的以太網(wǎng)控制卡,以雙絞線或光纖作為傳輸媒介,利用以太網(wǎng)全雙工特性,采用主從模式介質(zhì)訪問方式,通過一個固定的報文實現(xiàn)主-從-主之間的循環(huán)通信。
EtherCAT的運行原理如圖1所示。圖中i表示從站個數(shù),i=1,2,…,n。主站發(fā)出下行電報,數(shù)據(jù)幀遍訪所有從站,在數(shù)據(jù)幀到達每個從站時,從站解析出本機報文,并對報文數(shù)據(jù)進行處理,然后將該數(shù)據(jù)幀傳輸?shù)较乱粋€從站,從站再進行類似的處理,直至傳輸完整個回路,得到一個處理完整的EtherCAT數(shù)據(jù)幀,并由緊挨著主站的從站作出響應,將數(shù)據(jù)幀發(fā)送給主站,完成一個周期的數(shù)據(jù)處理。
圖1 EtherCAT運行原理圖
1.2 EtherCAT通信協(xié)議
EtherCAT如同普通以太網(wǎng),完全遵循電氣和電子工程師協(xié)會IEEE802.3以太網(wǎng)協(xié)議[8],任何帶商用以太網(wǎng)控制器的微處理器都可以用作主站控制器。EtherCAT有一種不同于其它以太網(wǎng)的幀類型0x88A4[9],使其可以并行運行在其它以太網(wǎng)協(xié)議中。EtherCAT的數(shù)據(jù)幀結(jié)構(gòu)如圖2所示。從圖中可以分析出,數(shù)據(jù)包由EtherCAT頭和EtherCAT數(shù)據(jù)組成,若干個子報文又組成了數(shù)據(jù)區(qū)。子報文由數(shù)據(jù)域、子報文頭、工作計數(shù)器組成。子報文頭決定子報文自身應傳輸?shù)降膶獜恼?,以及該從站對子報文進行讀或?qū)懖僮?。報文頭中8位命令決定了報文的尋址方式和讀寫操作,索引指幀編碼,32位地址區(qū)用于表示所要通信的從站地址,標志位M是后續(xù)報文標志,如果EtherCAT數(shù)據(jù)幀有多個子報文,需要置位除最后一個子報文外的所有子報文的此標志位。子報文的數(shù)據(jù)部分由用戶自定義,長度最大為1486Byte。工作計數(shù)器記錄了子報文被從站操作的次數(shù),可用于判斷子報文是否被正確處理。
圖2 EtherCAT協(xié)議棧
整個控制系統(tǒng)分為主控制器模塊、伺服驅(qū)動模塊、電源轉(zhuǎn)換模塊和人機顯示模塊等。主控制器包括基于視窗系統(tǒng)的計算機及通信板卡。計算機采用研華E3825/J1900四核處理器,具有微型外部設備互連標準(PCI)卡槽、雙高清多媒體接口(HDMI)、雙串行通信(COM)接口、通用輸入輸出(GPIO)接口,能夠滿足工業(yè)現(xiàn)場的應用要求。圖3為主控制器的硬件結(jié)構(gòu)。
圖3 主控器硬件結(jié)構(gòu)
在運動控制中,為了保證系統(tǒng)的實時性,對于硬實時要求比較高的場合,如運動控制及安全應用等,通信板卡一般采用基于視窗系統(tǒng)的實時內(nèi)核擴展系統(tǒng)。系統(tǒng)中的主站采用赫優(yōu)訊EtherCAT硬主站板卡CIF-50。與主機的數(shù)據(jù)交換過程通過雙端口存儲器、直接內(nèi)存存取(DMA)完成。圖4為CIF-50通信接口卡。
圖4 赫優(yōu)訊CIF-50通信接口卡
伺服驅(qū)動系統(tǒng)采用三洋R系列驅(qū)動器,帶有EtherCAT總線接口,支持同步時鐘功能,采用絕對值編碼器接口,作為控制系統(tǒng)的從站使用,完成運動指令的接收和狀態(tài)信息的反饋。人機顯示模塊主要實現(xiàn)對控制器數(shù)據(jù)的監(jiān)控、示教等功能。電源轉(zhuǎn)換模塊用于向控制系統(tǒng)供電。
多軸運動控制器軟件建立在標準視窗操作系統(tǒng)平臺之上,具有功能強大的EtherCAT實時應用環(huán)境。圖5為控制系統(tǒng)的軟件架構(gòu),分為三層: 應用層、控制層、驅(qū)動層。
圖5 控制器軟件結(jié)構(gòu)圖
(1) 應用層。主要進行示教盒端的軟件實施,通過人機接口實現(xiàn)用戶和控制系統(tǒng)之間的交互,用戶可以選擇不同的運行模式(監(jiān)控模式、自由運行模式)和通信方式,完成對伺服電機的控制。
(2) 控制層。包含了控制系統(tǒng)所有的基礎功能組件和系統(tǒng)任務組件,在實時操作系統(tǒng)的環(huán)境下導入設備描述文件(XML文件),完成EtherCAT主站的配置??刂茖又饕撠熆刂破飨到y(tǒng)內(nèi)部的通信、任務調(diào)度、時鐘管理、通信協(xié)議解析和通信故障分析等。
(3) 驅(qū)動層。通過以太網(wǎng)通信的底層驅(qū)動程序,實現(xiàn)EtherCAT數(shù)據(jù)鏈路層對數(shù)據(jù)進行封裝。
EtherCAT在通信過程中,從站內(nèi)部存在一個有限狀態(tài)機,主站可通過發(fā)送報文切換從站的通信狀態(tài),如圖6所示。在初始化階段,主站可通過非周期性數(shù)據(jù)(SDO)通信對設備進行讀寫操作,完成配置。在運行模式狀態(tài),通過周期性數(shù)據(jù)(PDO)通信完成對從站的應用數(shù)據(jù)通信。
圖6 通信狀態(tài)切換圖
多軸運動控制系統(tǒng)測試平臺由控制器電源轉(zhuǎn)換模塊、4個帶有EtherCAT接口的伺服驅(qū)動系統(tǒng)等組成。圖7為控制系統(tǒng)的整體結(jié)構(gòu)圖。
在EtherCAT總線通信中,主站發(fā)起周期控制,到數(shù)據(jù)幀遍歷所有從站,最后返回主站所需的實際時間與設置的總線周期之間的差值稱為時間抖動誤差[10]。時間抖動誤差直接影響系統(tǒng)的實時性和穩(wěn)定性。為了驗證控制器的性能,表1給出了控制器帶2~4個伺服從站,在不同總線周期下主站時間
圖7 控制系統(tǒng)測試平臺
從站個數(shù)總線周期/μs最大抖動誤差/μs21002.02003.05003.510005.020006.431002.52003.15006.210007.020007.041004.02005.95008.710008.7
抖動誤差出現(xiàn)的最大值。經(jīng)分析,在給定的總線周期內(nèi),最大時間抖動誤差均可控制在10μs以內(nèi),能夠滿足系統(tǒng)實時性的要求。
提出了基于EtherCAT總線的多軸運動控制器的設計,介紹了多軸運動控制系統(tǒng)的軟硬件架構(gòu),在多軸運動控制平臺上完成對多個伺服軸的分布式控制,測試不同總線周期下的時間抖動誤差,通過數(shù)據(jù)對比分析,驗證了多軸運動器的實時性和穩(wěn)定性。
[1] 樊留群.實時以太網(wǎng)及運動控制總線技術[M].上海: 同濟大學出版社,2009.
[2] 劉冬,閔華松,楊杰.基于EtherCAT的機器人控制總線方案研究[J].計算機工程與設計,2013,34(4): 1238-1243.
[3] 顧陽,尚群立,余善恩,等.工業(yè)以太網(wǎng)的技術特性及關鍵技術研究[J].機械制造,2010,48(3): 1-4.
[4] 謝香林.EtherCAT網(wǎng)絡及其伺服運動控制系統(tǒng)的研究[D].大連: 大連理工大學,2008.
[5] 梁德春,方江龍,陶益民.數(shù)控系統(tǒng)以太網(wǎng)通訊的設計[J].機械制造,2008,46(1): 33-35.
[6] 段彬賢,方江龍,湯季安,等.Powerlink實時以太網(wǎng)總線在多軸數(shù)控系統(tǒng)中的應用[J],機械制造,2010,48(12): 31-33.
[7] 劉鑫.基于EtherCAT的工業(yè)機器人控制器研究與設計[D].武漢: 武漢科技大學,2012.
[8] 李木國,尹永潔,劉于之,等.基于PCIe總線接口的EtherCAT從站網(wǎng)卡設計[J].計算機測量與控制,2015,23(3): 921-923.
[9] 呂燕,沈玉玲,蔣勁峰.基于EtherCAT的雙機器人協(xié)作系統(tǒng)設計[J].制造業(yè)自動化,2015,37(11): 61-63,67.
[10] 鄒玉鞋.利用德國赫優(yōu)訊netANALYZER分析儀研究實時以太網(wǎng)的時間抖動[J].國內(nèi)外機電一體化技術,2008,11(5): 14-16.
Aiming at the issues of real-time performance and stability in industrial motion control, the multi-axis motion controller based on EtherCAT bus was proposed. Presented an introduction on the technical principle and communication protocols of EtherCAT and a detailed description of the multi-axis motion controller including its hardware configuration and software architecture. Finally, the controller was validated on the multi-axis control platform while testing the time jitter error. The test results show that the controller has sound real-time performance and stability.
Multi-axis Motion; Motion Control; EtherCAT Bus; Performance
2016年4月
蔣勁峰(1989— ),男,碩士,工程師,主要從事機器人運動控制研究工作, E-mail: jiangjinfeng918@163.com
TM921.02
A
1674-540X(2016)03-044-04