林夢云,馬文禮,熊 皚,錢俊璋
(1.中國科學院光電技術研究所,四川 成都 610209;2.中國科學院大學,北京 100190;3.成都信息工程大學,四川 成都 610225)
基于EtherCAT實時通信的電機驅動控制
林夢云1,2,馬文禮1,熊 皚3,錢俊璋1,2
(1.中國科學院光電技術研究所,四川 成都 610209;2.中國科學院大學,北京 100190;3.成都信息工程大學,四川 成都 610225)
實時工業(yè)以太網(wǎng)EtherCAT憑借著高性能、低成本、應用簡易等優(yōu)點在現(xiàn)代控制領域得到了廣泛的應用和迅速的發(fā)展。為了將EtherCAT快速應用到電機驅動控制系統(tǒng)中,采用IntervalZero公司的KingStar Motion軟件,設計了一種基于EtherCAT實時通信的電機驅動控制方案,并搭建相應實驗平臺。系統(tǒng)采用經典的位置、速度、電流三閉環(huán)控制,分別對速度跟蹤、位置定點與正弦跟蹤進行了實驗測試與分析。實驗結果表明,該控制系統(tǒng)可靠性高,跟蹤精度良好。
EtherCAT;KingStar Motion軟件;電機驅動控制
隨著工業(yè)自動化不斷發(fā)展,傳統(tǒng)的現(xiàn)場總線技術已經逐漸無法滿足控制領域的要求。工業(yè)以太網(wǎng)憑借其傳輸速度快、數(shù)據(jù)包容量大、傳輸距離長、性價比高等優(yōu)點,成為當今工業(yè)現(xiàn)場總線技術的重要發(fā)展方向[1]。其中由德國BECKHOFF公司開發(fā)的實時工業(yè)以太網(wǎng)EtherCAT(Ethernet for Control Automation Technology),以高性能、低成本、應用簡易等優(yōu)點在現(xiàn)代控制領域得到了廣泛的應用和迅速的發(fā)展。
國內外均有EtherCAT應用于高精度電機驅動控制的實例,市面上的伺服驅動器也大多已集成EtherCAT通信接口,可直接配置作為EtherCAT從站。要實現(xiàn)基于EtherCAT的電機驅動系統(tǒng),可將重點放在EtherCAT主站設計上??紤]到由樣本代碼開發(fā)主站周期較長,故一般多采用商業(yè)主站軟件進行二次編程開發(fā)。其中IntervalZero公司的KingStar Motion軟件,以軟件形式取代昂貴的運動控制板,并包含相應EtherCAT主站代碼,用EtherCAT標準取代專用網(wǎng)絡協(xié)議和IO硬件,還支持在EtherCAT的基礎上使用CANopen,從而可以搭建更低成本的基于EtherCAT的伺服控制系統(tǒng)[2]。
本文結合EtherCAT總線技術、KingStar Motion軟件和商業(yè)驅動器,設計一種基于EtherCAT通信的電機驅動控制方案,實現(xiàn)對電機的實時驅動控制。
EtherCAT系統(tǒng)采用主從式結構,所有通信均由主站發(fā)起。利用以太網(wǎng)設備獨立處理雙向傳輸(Tx和Rx)的特性,運行在全雙工模式下,主站發(fā)出的報文可通過Rx線返回主站控制單元。這種通信機制使整個網(wǎng)絡中不會出現(xiàn)通信沖突,從而使網(wǎng)絡具有很好的確定性。
整個網(wǎng)絡通信結構如圖1所示。EtherCAT主站發(fā)出下行報文,報文包含各個從站所需數(shù)據(jù),并經過所有從站。EtherCAT從站在報文經過時,分析尋址到本站數(shù)據(jù),根據(jù)相應命令從數(shù)據(jù)幀中抽取或插入數(shù)據(jù),然后更新相應的工作計數(shù)器(Working Counter,WKC),以標識出該數(shù)據(jù)幀被從站處理過,并將數(shù)據(jù)幀轉發(fā)到下一個相鄰的從站。該過程由從站硬件來完成,這使得EtherCAT數(shù)據(jù)幀經過每個從站的時間極小,延遲約為100~500 ns,保證了網(wǎng)絡的高度實時性。遍歷完所有從站后,經過從站處理后的數(shù)據(jù)幀作為上行報文,從最后一個從站返回主站。主站收到上行數(shù)據(jù)報文后,處理返回的數(shù)據(jù),一次通信結束[3]。
圖1 EtherCAT運行原理
2.1 系統(tǒng)整體方案設計
基于EtherCAT通信的電機驅動控制系統(tǒng)主要由工控機、EtherCAT總線、伺服驅動器、伺服電機和反饋編碼器五部分組成,系統(tǒng)結構如圖2所示。
圖2 系統(tǒng)結構圖
工控機配置為基于PC的EtherCAT主站,周期性地接收從站上傳的位置、速度數(shù)據(jù),并做相應的運算,然后下發(fā)相應參考電流或轉矩;伺服驅動器作為EtherCAT從站,接收編碼器所采集的電機參數(shù),將相應數(shù)據(jù)由EtherCAT總線周期性地傳給主站,并接收主站下發(fā)數(shù)據(jù)和控制命令,驅動伺服電機。控制系統(tǒng)設計為典型的三閉環(huán)(位置環(huán)、速度環(huán)、電流環(huán))模式,伺服驅動器只做電流閉環(huán)運算;速度、位置閉環(huán)運算在工控機上完成。
工控機與伺服驅動器構成EtherCAT主從站結構。其中由伺服驅動器作EtherCAT從站,選用寧波Phase公司AxN型驅動器,已集成相應的EtherCAT從站控制器ESC和微處理器芯片,支持CoE(CANopen over EtherCAT)應用層協(xié)議,相關配置較簡單,可同時實現(xiàn)與主站通信和驅動電機兩部分功能。故整個系統(tǒng)的重點和難點在于工控機實現(xiàn)EtherCAT主站和主從站通信軟件的設計。
2.2 工控機作EtherCAT主站
基于PC的主站,硬件只需普通的網(wǎng)絡接口卡NIC(Network Interface Card)即可,主站功能完全由軟件來實現(xiàn)。選用Beckhoff公司的多核雙網(wǎng)口工控機C6640-0030。工控機實現(xiàn)EtherCAT主站功能主要包括以下幾個部分:搭建實時子系統(tǒng)(Real-Time SubSystem,RTSS);EtherCAT主站代碼的二次開發(fā);編寫電機實時控制程序;人機交互界面設計。系統(tǒng)架構如圖3所示。
(1)搭建實時子系統(tǒng)RTSS。首先考慮到PC上為非實時的Windows操作系統(tǒng),要保證控制系統(tǒng)中EtherCAT通信的實時性,需將其轉變?yōu)閷崟r操作系統(tǒng)(Real-time Operating System,RTOS)。IntervalZero公司的KingStar Motion中已包含相應的RTX(Real-Time Extension)軟件,它修改并擴展Windows的硬件抽象層HAL(Hardware Abstraction Layer),實現(xiàn)獨立的內核驅動模式,形成與Windows操作系統(tǒng)并列的實時子系統(tǒng)RTSS[4]。通過在Windows和RTX線程之間增加獨立的中斷間隔,提供獨立的RTSS調度器,從而保證系統(tǒng)的實時性。RTX提供了多種動態(tài)庫與靜態(tài)庫,用于實現(xiàn)相應的實時程序開發(fā),而且支持友好的編程環(huán)境。
圖3 工控機實現(xiàn)主站功能的系統(tǒng)架構
(2) EtherCAT主站代碼的二次開發(fā)。主站代碼采用KingStar Motion所包含的商業(yè)代碼來實現(xiàn),以靜態(tài)和動態(tài)鏈接庫的形式提供相關應用程序接口(Application Programming Interface,API),包括主站參數(shù)配置、主從站數(shù)據(jù)通信等函數(shù),易于二次編程開發(fā);支持CoE應用層協(xié)議;提供十分友好的編程環(huán)境,程序代碼均可在Microsoft Visual Studio中編寫。EtherCAT主站運行在RTSS下以保證EtherCAT通信的實時性。
(3)編寫電機實時控制程序?;贓therCAT的實時控制程序主要是利用RTSS下的高精度定時器和高速的周期性EtherCAT通信來實現(xiàn)相應的閉環(huán)控制運算。程序通過運行在RTSS下的EtherCAT主站代碼與從站通信,實時接收處理從站反饋數(shù)據(jù),并向從站發(fā)送相應控制命令。
(4)人機交互界面設計。為方便控制系統(tǒng)參數(shù)調試,可由MFC編寫相應的人機交互界面程序,通過進程間通信與電機實時控制程序進行數(shù)據(jù)交互,調試設定相關參數(shù),周期性地顯示系統(tǒng)相應狀態(tài),并保存實驗數(shù)據(jù)。上位機界面程序可運行在非實時的Windows系統(tǒng)下,由共享內存實現(xiàn)與RTSS實時程序之間的數(shù)據(jù)通信。
2.3 主從站通信軟件設計
EtherCAT主從站通信采用CoE應用層協(xié)議,包括非周期郵箱通信和周期性過程通信。其中郵箱通信為主從站間的非周期通信,用于非實時應用場合,對應著KingStar Motion所提供的SDO函數(shù)ReadSdoObject和WriteSdoObject;過程數(shù)據(jù)通信為主從站間周期性通信,用于實時應用場合。
由于從站為伺服驅動器,要實現(xiàn)對電機的驅動控制,參考CANopen伺服和運動控制行規(guī)CiA402,選擇驅動器的運行模式為周期性同步扭矩控制模式(Cyclic Synchronous Torque,CST)。該運行模式結構如圖4所示??刂浦髡局芷谛缘叵蝌寗釉O備發(fā)送目標扭矩指令,驅動設備運行扭矩控制。驅動設備向控制主站提供實際位置值、實際速度值和實際扭矩值[1]。
主從站通信開始時,主站會依據(jù)網(wǎng)絡信息文件 (EtherCAT Network Information,ENI)初始化網(wǎng)絡。通過分析其ENI文件可以看到主站對應過程數(shù)據(jù)對象字典(Process Data Object,PDO)映射配置。其中RxPDO包含的對象字典6071h代表著電機目標轉矩值,TxPDO包含的對象字典6064h代表著電機當前位置值,結合CiA402協(xié)議可以實現(xiàn)對電機的驅動控制。
圖4 周期性同步扭矩控制運行模式結構圖
在CST模式下,控制主站向驅動器下發(fā)目標轉矩,伺服電機為永磁同步電機采用id=0矢量控制,q軸電流與轉矩成正比,驅動器實現(xiàn)電流閉環(huán)運算,并反饋當前位置值,在控制主站實現(xiàn)位置、速度閉環(huán)運算。下發(fā)目標轉矩和反饋當前位置分別對應著KingStar Motion所提供的函數(shù)SetServoTorque和GetServoPosition。
綜上所述,在Visual Studio 2013下編寫EtherCAT主從站通信程序,程序流程如圖5所示。實時任務運行在RTSS子系統(tǒng)下,負責實現(xiàn)EtherCAT主站配置、主從數(shù)據(jù)實時通信、高精度實時定時器與閉環(huán)運算;非實時任務是在Windows系統(tǒng)下設計的,主要完成人機交互界面的設計,包括參數(shù)設定和狀態(tài)顯示。
圖5 主從站通信程序流程圖
本文根據(jù)設計的系統(tǒng)整體方案,搭建了基于EtherCAT實時通信的電機驅動控制實驗平臺。主站為Beckhoff公司的多核雙網(wǎng)口工控機,操作系統(tǒng)為Windows7,安裝IntervalZero公司的KingStar Motion軟件,進行相應配置;從站采用的是寧波Phase公司的AxN型驅動器,已集成相關芯片和EtherCAT通信接口,通過網(wǎng)線直接與工控機實時網(wǎng)口相連;所用電機參數(shù),額定扭矩為35 Nm,最大轉速1150°/s;編碼器采用27位分辨率海德漢絕對式編碼器ECA4000,通信接口為Endat2.2,由接口定義配置相應轉接線,直接與伺服驅動器相連。
為進行相關實驗測試,首先配置好AxN型驅動器作EtherCAT從站,由于主站已適配支持該類型驅動器,無需配置從站信息文件,可直接由網(wǎng)線連接工控機。運行所編寫的人機界面程序和電機實時控制程序,進行相應閉環(huán)實驗測試,并保存實驗數(shù)據(jù)以便分析。由于實驗條件有限,本文僅對伺服電機在未接負載的情況下進行了測試。
4.1 速度閉環(huán)測試
給定電機參考速度為1°/s,測得其速度跟蹤誤差曲線如圖6所示。橫坐標為時間,單位為秒(s),縱坐標為速度跟蹤誤差,單位為角秒(″/s)。分析數(shù)據(jù)可知,系統(tǒng)在1°/s時速度跟蹤均方根誤差(Root Mean Square,RMS)為8.602 1″/s,最大速度跟蹤誤差絕對值為30.510 4″/s??梢娫撓到y(tǒng)速度跟蹤誤差較小,滿足跟蹤性能要求。
圖6 速度跟蹤誤差曲線
圖7 位置定點跟蹤誤差曲線
4.2 位置閉環(huán)測試
位置定點跟蹤:給定參考位置定點為1°,測得其位置定點跟蹤誤差曲線如圖7所示。分析數(shù)據(jù)可知,系統(tǒng)在1°位置定點跟蹤誤差RMS為0.076 5″,最大位置跟蹤誤差絕對值為0.272 5″??梢娤到y(tǒng)位置定點跟蹤性能良好。
位置正弦跟蹤:給點參考位置正弦為20°sin(0.1t),測得其位置正弦跟蹤誤差曲線如圖8所示。采集兩個周期的位置正弦跟蹤誤差數(shù)據(jù),分析可知,系統(tǒng)位置正弦跟蹤誤差RMS為0.702 1″,最大位置跟蹤誤差絕對值為1.407 1″??梢娫撓到y(tǒng)位置正弦跟蹤誤差很小,正弦跟蹤性能良好。
圖8 位置正弦跟蹤誤差曲線
本文設計了一種基于EtherCAT實時通信的電機驅動控制系統(tǒng)。簡要介紹了EtherCAT的工作原理;采用KingStar Motion軟件將工控機配置為EtherCAT主站,編寫主從站實時通信程序和上位機界面程序;根據(jù)系統(tǒng)方案搭建相應實驗平臺,進行了閉環(huán)控制實驗。結果表明,該控制系統(tǒng)可靠性高,跟蹤精度良好,滿足相應性能要求。而且該系統(tǒng)結構簡單,拓撲靈活,在EtherCAT總線上增加多個伺服驅動器作從站,即可實現(xiàn)多電機的實時驅動控制;系統(tǒng)所有代碼均在Visual Studio 2013下編寫,維護方便,可以自定義編寫人機交互界面和復雜閉環(huán)算法。本文由于條件限制,沒有對系統(tǒng)在帶載或復雜工況下進行分析,也沒有研究轉到多電機驅動控制時的問題,這些都有待進一步研究。
[1] 郇極,劉艷強.工業(yè)以太網(wǎng)現(xiàn)場總線EtherCAT驅動程序設計及應用[M].北京:北京航空航天大學出版社,2010.
[2] IntervalZero.KingStar product brief simple chinese[EB/OL].(2014-xx-xx)[2016-12-30]http://www.kingstar.com.
[3] 任計羽.EtherCAT從站軟件的設計與實現(xiàn)[D].成都:中科院光電技術研究所,2014.
[4] 田昊,潘清.RTX實時效果測試及應用[J].計算機系統(tǒng)應用,2007,16(2):103-106.
Motor drive control based on real-time communication of EtherCAT
Lin Mengyun1,2,Ma Wenli1,Xiong Ai3,Qian Junzhang1,2
(1.Institute of Optics and Electronics,Chinese Academy of Sciences,Chengdu 610209,China; 2.University of Chinese Academy of Sciences,Beijing 100190,China; 3.Chengdu University of Information Technology,Chengdu 610225,China)
AS a real-time industrial Ethernet technology,EtherCAT is widely used and developed rapidly in the field of modern control with the advantages of high performance,low cost and simple application.In order to apply EtherCAT to the motor drive control system rapidly,a new scheme of motor drive control based on EtherCAT real-time communication is designed by using KingStar Motion software of IntervalZero Company,and the corresponding experimental platform is set up.The system adopts classical closed-loop control of position,speed and current,and carries on experimental test and analysis to speed tracking,position fixed point and sinusoidal tracking.The experimental results show that the control system has high reliability and good tracking precision.
EtherCAT; KingStar Motion software; motor drive control
TP29
A
10.19358/j.issn.1674- 7720.2017.10.001
林夢云,馬文禮,熊皚,等.基于EtherCAT實時通信的電機驅動控制[J].微型機與應用,2017,36(10):1-4.
2016-12-30)
林夢云(1992-),男,碩士研究生,主要研究方向:伺服控制技術。
馬文禮(1962-),男,研究員,博士生導師,主要研究方向:光電探測、大型光電望遠鏡研制。
熊 皚(1980-),男,博士研究生,副教授,主要研究方向:伺服控制技術。