?。?.中國(guó)科學(xué)院光電技術(shù)研究所,四川 成都 610209;2.中國(guó)科學(xué)院大學(xué),北京 100190;3.成都信息工程大學(xué),四川 成都 610225)
摘要:實(shí)時(shí)工業(yè)以太網(wǎng)EtherCAT憑借著高性能、低成本、應(yīng)用簡(jiǎn)易等優(yōu)點(diǎn)在現(xiàn)代控制領(lǐng)域得到了廣泛的應(yīng)用和迅速的發(fā)展。為了將EtherCAT快速應(yīng)用到電機(jī)驅(qū)動(dòng)控制系統(tǒng)中,采用IntervalZero公司的KingStar Motion軟件,設(shè)計(jì)了一種基于EtherCAT實(shí)時(shí)通信的電機(jī)驅(qū)動(dòng)控制方案,并搭建相應(yīng)實(shí)驗(yàn)平臺(tái)。系統(tǒng)采用經(jīng)典的位置、速度、電流三閉環(huán)控制,分別對(duì)速度跟蹤、位置定點(diǎn)與正弦跟蹤進(jìn)行了實(shí)驗(yàn)測(cè)試與分析。實(shí)驗(yàn)結(jié)果表明,該控制系統(tǒng)可靠性高,跟蹤精度良好。
關(guān)鍵詞:EtherCAT;KingStar Motion軟件;電機(jī)驅(qū)動(dòng)控制
中圖分類號(hào):TP29文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.10.001
引用格式:林夢(mèng)云,馬文禮,熊皚,等.基于EtherCAT實(shí)時(shí)通信的電機(jī)驅(qū)動(dòng)控制[J].微型機(jī)與應(yīng)用,2017,36(10):1-4.
0引言
隨著工業(yè)自動(dòng)化不斷發(fā)展,傳統(tǒng)的現(xiàn)場(chǎng)總線技術(shù)已經(jīng)逐漸無法滿足控制領(lǐng)域的要求。工業(yè)以太網(wǎng)憑借其傳輸速度快、數(shù)據(jù)包容量大、傳輸距離長(zhǎng)、性價(jià)比高等優(yōu)點(diǎn),成為當(dāng)今工業(yè)現(xiàn)場(chǎng)總線技術(shù)的重要發(fā)展方向[1]。其中由德國(guó)BECKHOFF公司開發(fā)的實(shí)時(shí)工業(yè)以太網(wǎng)EtherCAT(Ethernet for Control Automation Technology),以高性能、低成本、應(yīng)用簡(jiǎn)易等優(yōu)點(diǎn)在現(xiàn)代控制領(lǐng)域得到了廣泛的應(yīng)用和迅速的發(fā)展。
國(guó)內(nèi)外均有EtherCAT應(yīng)用于高精度電機(jī)驅(qū)動(dòng)控制的實(shí)例,市面上的伺服驅(qū)動(dòng)器也大多已集成EtherCAT通信接口,可直接配置作為EtherCAT從站。要實(shí)現(xiàn)基于EtherCAT的電機(jī)驅(qū)動(dòng)系統(tǒng),可將重點(diǎn)放在EtherCAT主站設(shè)計(jì)上??紤]到由樣本代碼開發(fā)主站周期較長(zhǎng),故一般多采用商業(yè)主站軟件進(jìn)行二次編程開發(fā)。其中IntervalZero公司的KingStar Motion軟件,以軟件形式取代昂貴的運(yùn)動(dòng)控制板,并包含相應(yīng)EtherCAT主站代碼,用EtherCAT標(biāo)準(zhǔn)取代專用網(wǎng)絡(luò)協(xié)議和IO硬件,還支持在EtherCAT的基礎(chǔ)上使用CANopen,從而可以搭建更低成本的基于EtherCAT的伺服控制系統(tǒng)[2]。
本文結(jié)合EtherCAT總線技術(shù)、KingStar Motion軟件和商業(yè)驅(qū)動(dòng)器,設(shè)計(jì)一種基于EtherCAT通信的電機(jī)驅(qū)動(dòng)控制方案,實(shí)現(xiàn)對(duì)電機(jī)的實(shí)時(shí)驅(qū)動(dòng)控制。
1EtherCAT通信原理
EtherCAT系統(tǒng)采用主從式結(jié)構(gòu),所有通信均由主站發(fā)起。利用以太網(wǎng)設(shè)備獨(dú)立處理雙向傳輸(Tx和Rx)的特性,運(yùn)行在全雙工模式下,主站發(fā)出的報(bào)文可通過Rx線返回主站控制單元。這種通信機(jī)制使整個(gè)網(wǎng)絡(luò)中不會(huì)出現(xiàn)通信沖突,從而使網(wǎng)絡(luò)具有很好的確定性。
整個(gè)網(wǎng)絡(luò)通信結(jié)構(gòu)如圖1所示。EtherCAT主站發(fā)出下行報(bào)文,報(bào)文包含各個(gè)從站所需數(shù)據(jù),并經(jīng)過所有從站。EtherCAT從站在報(bào)文經(jīng)過時(shí),分析尋址到本站數(shù)據(jù),根據(jù)相應(yīng)命令從數(shù)據(jù)幀中抽取或插入數(shù)據(jù),然后更新相應(yīng)的工作計(jì)數(shù)器(Working Counter, WKC),以標(biāo)識(shí)出該數(shù)據(jù)幀被從站處理過,并將數(shù)據(jù)幀轉(zhuǎn)發(fā)到下一個(gè)相鄰的從站。該過程由從站硬件來完成,這使得EtherCAT數(shù)據(jù)幀經(jīng)過每個(gè)從站的時(shí)間極小,延遲約為100~500 ns,保證了網(wǎng)絡(luò)的高度實(shí)時(shí)性。遍歷完所有從站后,經(jīng)過從站處理后的數(shù)據(jù)幀作為上行報(bào)文,從最后一個(gè)從站返回主站。主站收到上行數(shù)據(jù)報(bào)文后,處理返回的數(shù)據(jù),一次通信結(jié)束[3]。
2電機(jī)驅(qū)動(dòng)控制系統(tǒng)設(shè)計(jì)
2.1系統(tǒng)整體方案設(shè)計(jì)
基于EtherCAT通信的電機(jī)驅(qū)動(dòng)控制系統(tǒng)主要由工控機(jī)、EtherCAT總線、伺服驅(qū)動(dòng)器、伺服電機(jī)和反饋編碼器五部分組成,系統(tǒng)結(jié)構(gòu)如圖2所示。
工控機(jī)配置為基于PC的EtherCAT主站,周期性地接收從站上傳的位置、速度數(shù)據(jù),并做相應(yīng)的運(yùn)算,然后下發(fā)相應(yīng)參考電流或轉(zhuǎn)矩;伺服驅(qū)動(dòng)器作為EtherCAT從站,接收編碼器所采集的電機(jī)參數(shù),將相應(yīng)數(shù)據(jù)由EtherCAT總線周期性地傳給主站,并接收主站下發(fā)數(shù)據(jù)和控制命令,驅(qū)動(dòng)伺服電機(jī)??刂葡到y(tǒng)設(shè)計(jì)為典型的三閉環(huán)(位置環(huán)、速度環(huán)、電流環(huán))模式,伺服驅(qū)動(dòng)器只做電流閉環(huán)運(yùn)算;速度、位置閉環(huán)運(yùn)算在工控機(jī)上完成。
工控機(jī)與伺服驅(qū)動(dòng)器構(gòu)成EtherCAT主從站結(jié)構(gòu)。其中由伺服驅(qū)動(dòng)器作EtherCAT從站,選用寧波Phase公司AxN型驅(qū)動(dòng)器,已集成相應(yīng)的EtherCAT從站控制器ESC和微處理器芯片,支持CoE(CANopen over EtherCAT)應(yīng)用層協(xié)議,相關(guān)配置較簡(jiǎn)單,可同時(shí)實(shí)現(xiàn)與主站通信和驅(qū)動(dòng)電機(jī)兩部分功能。故整個(gè)系統(tǒng)的重點(diǎn)和難點(diǎn)在于工控機(jī)實(shí)現(xiàn)EtherCAT主站和主從站通信軟件的設(shè)計(jì)。
2.2工控機(jī)作EtherCAT主站
基于PC的主站,硬件只需普通的網(wǎng)絡(luò)接口卡NIC(Network Interface Card)即可,主站功能完全由軟件來實(shí)現(xiàn)。選用Beckhoff公司的多核雙網(wǎng)口工控機(jī)C6640-0030。工控機(jī)實(shí)現(xiàn)EtherCAT主站功能主要包括以下幾個(gè)部分:搭建實(shí)時(shí)子系統(tǒng)(Real-Time SubSystem, RTSS);EtherCAT主站代碼的二次開發(fā);編寫電機(jī)實(shí)時(shí)控制程序;人機(jī)交互界面設(shè)計(jì)。系統(tǒng)架構(gòu)如圖3所示。
(1)搭建實(shí)時(shí)子系統(tǒng)RTSS。首先考慮到PC上為非實(shí)時(shí)的Windows操作系統(tǒng),要保證控制系統(tǒng)中EtherCAT通信的實(shí)時(shí)性,需將其轉(zhuǎn)變?yōu)閷?shí)時(shí)操作系統(tǒng)(Realtime Operating System, RTOS)。IntervalZero公司的KingStar Motion中已包含相應(yīng)的RTX(RealTime Extension)軟件,它修改并擴(kuò)展Windows的硬件抽象層HAL(Hardware Abstraction Layer),實(shí)現(xiàn)獨(dú)立的內(nèi)核驅(qū)動(dòng)模式,形成與Windows操作系統(tǒng)并列的實(shí)時(shí)子系統(tǒng)RTSS[4]。通過在Windows和RTX線程之間增加獨(dú)立的中斷間隔,提供獨(dú)立的RTSS調(diào)度器,從而保證系統(tǒng)的實(shí)時(shí)性。RTX提供了多種動(dòng)態(tài)庫與靜態(tài)庫,用于實(shí)現(xiàn)相應(yīng)的實(shí)時(shí)程序開發(fā),而且支持友好的編程環(huán)境。
(2) EtherCAT主站代碼的二次開發(fā)。主站代碼采用KingStar Motion所包含的商業(yè)代碼來實(shí)現(xiàn),以靜態(tài)和動(dòng)態(tài)鏈接庫的形式提供相關(guān)應(yīng)用程序接口(Application Programming Interface,API),包括主站參數(shù)配置、主從站數(shù)據(jù)通信等函數(shù),易于二次編程開發(fā);支持CoE應(yīng)用層協(xié)議;提供十分友好的編程環(huán)境,程序代碼均可在Microsoft Visual Studio中編寫。EtherCAT主站運(yùn)行在RTSS下以保證EtherCAT通信的實(shí)時(shí)性。
(3)編寫電機(jī)實(shí)時(shí)控制程序?;贓therCAT的實(shí)時(shí)控制程序主要是利用RTSS下的高精度定時(shí)器和高速的周期性EtherCAT通信來實(shí)現(xiàn)相應(yīng)的閉環(huán)控制運(yùn)算。程序通過運(yùn)行在RTSS下的EtherCAT主站代碼與從站通信,實(shí)時(shí)接收處理從站反饋數(shù)據(jù),并向從站發(fā)送相應(yīng)控制命令。
(4)人機(jī)交互界面設(shè)計(jì)。為方便控制系統(tǒng)參數(shù)調(diào)試,可由MFC編寫相應(yīng)的人機(jī)交互界面程序,通過進(jìn)程間通信與電機(jī)實(shí)時(shí)控制程序進(jìn)行數(shù)據(jù)交互,調(diào)試設(shè)定相關(guān)參數(shù),周期性地顯示系統(tǒng)相應(yīng)狀態(tài),并保存實(shí)驗(yàn)數(shù)據(jù)。上位機(jī)界面程序可運(yùn)行在非實(shí)時(shí)的Windows系統(tǒng)下,由共享內(nèi)存實(shí)現(xiàn)與RTSS實(shí)時(shí)程序之間的數(shù)據(jù)通信。
2.3主從站通信軟件設(shè)計(jì)
EtherCAT主從站通信采用CoE應(yīng)用層協(xié)議,包括非周期郵箱通信和周期性過程通信。其中郵箱通信為主從站間的非周期通信,用于非實(shí)時(shí)應(yīng)用場(chǎng)合,對(duì)應(yīng)著KingStar Motion所提供的SDO函數(shù)ReadSdoObject和WriteSdoObject;過程數(shù)據(jù)通信為主從站間周期性通信,用于實(shí)時(shí)應(yīng)用場(chǎng)合。
由于從站為伺服驅(qū)動(dòng)器,要實(shí)現(xiàn)對(duì)電機(jī)的驅(qū)動(dòng)控制,參考CANopen伺服和運(yùn)動(dòng)控制行規(guī)CiA402,選擇驅(qū)動(dòng)器的運(yùn)行模式為周期性同步扭矩控制模式(Cyclic Synchronous Torque,CST)。該運(yùn)行模式結(jié)構(gòu)如圖4所示。控制主站周期性地向驅(qū)動(dòng)設(shè)備發(fā)送目標(biāo)扭矩指令,驅(qū)動(dòng)設(shè)備運(yùn)行扭矩控制。驅(qū)動(dòng)設(shè)備向控制主站提供實(shí)際位置值、實(shí)際速度值和實(shí)際扭矩值[1]。
主從站通信開始時(shí),主站會(huì)依據(jù)網(wǎng)絡(luò)信息文件 (EtherCAT Network Information, ENI)初始化網(wǎng)絡(luò)。通過分析其ENI文件可以看到主站對(duì)應(yīng)過程數(shù)據(jù)對(duì)象字典(Process Data Object, PDO)映射配置。其中RxPDO包含的對(duì)象字典6071h代表著電機(jī)目標(biāo)轉(zhuǎn)矩值,TxPDO包含的對(duì)象字典6064h代表著電機(jī)當(dāng)前位置值,結(jié)合CiA402協(xié)議可以實(shí)現(xiàn)對(duì)電機(jī)的驅(qū)動(dòng)控制。
在CST模式下,控制主站向驅(qū)動(dòng)器下發(fā)目標(biāo)轉(zhuǎn)矩,伺服電機(jī)為永磁同步電機(jī)采用id=0矢量控制,q軸電流與轉(zhuǎn)矩成正比,驅(qū)動(dòng)器實(shí)現(xiàn)電流閉環(huán)運(yùn)算,并反饋當(dāng)前位置值,在控制主站實(shí)現(xiàn)位置、速度閉環(huán)運(yùn)算。下發(fā)目標(biāo)轉(zhuǎn)矩和反饋當(dāng)前位置分別對(duì)應(yīng)著KingStar Motion所提供的函數(shù)SetServoTorque和GetServoPosition。
綜上所述,在Visual Studio 2013下編寫EtherCAT主從站通信程序,程序流程如圖5所示。實(shí)時(shí)任務(wù)運(yùn)行在RTSS子系統(tǒng)下,負(fù)責(zé)實(shí)現(xiàn)EtherCAT主站配置、主從數(shù)據(jù)實(shí)時(shí)通信、高精度實(shí)時(shí)定時(shí)器與閉環(huán)運(yùn)算;非實(shí)時(shí)任務(wù)是在Windows系統(tǒng)下設(shè)計(jì)的,主要完成人機(jī)交互界面的設(shè)計(jì),包括參數(shù)設(shè)定和狀態(tài)顯示。
3實(shí)驗(yàn)平臺(tái)搭建
本文根據(jù)設(shè)計(jì)的系統(tǒng)整體方案,搭建了基于EtherCAT實(shí)時(shí)通信的電機(jī)驅(qū)動(dòng)控制實(shí)驗(yàn)平臺(tái)。主站為Beckhoff公司的多核雙網(wǎng)口工控機(jī),操作系統(tǒng)為Windows7,安裝IntervalZero公司的KingStar Motion軟件,進(jìn)行相應(yīng)配置;從站采用的是寧波Phase公司的AxN型驅(qū)動(dòng)器,已集成相關(guān)芯片和EtherCAT通信接口,通過網(wǎng)線直接與工控機(jī)實(shí)時(shí)網(wǎng)口相連;所用電機(jī)參數(shù),額定扭矩為35 Nm,最大轉(zhuǎn)速1150°/s;編碼器采用27位分辨率海德漢絕對(duì)式編碼器ECA4000,通信接口為Endat2.2,由接口定義配置相應(yīng)轉(zhuǎn)接線,直接與伺服驅(qū)動(dòng)器相連。
4實(shí)驗(yàn)測(cè)試與分析
為進(jìn)行相關(guān)實(shí)驗(yàn)測(cè)試,首先配置好AxN型驅(qū)動(dòng)器作EtherCAT從站,由于主站已適配支持該類型驅(qū)動(dòng)器,無需配置從站信息文件,可直接由網(wǎng)線連接工控機(jī)。運(yùn)行所編寫的人機(jī)界面程序和電機(jī)實(shí)時(shí)控制程序,進(jìn)行相應(yīng)閉環(huán)實(shí)驗(yàn)測(cè)試,并保存實(shí)驗(yàn)數(shù)據(jù)以便分析。由于實(shí)驗(yàn)條件有限,本文僅對(duì)伺服電機(jī)在未接負(fù)載的情況下進(jìn)行了測(cè)試。
4.1速度閉環(huán)測(cè)試
給定電機(jī)參考速度為1°/s,測(cè)得其速度跟蹤誤差曲線如圖6所示。橫坐標(biāo)為時(shí)間,單位為秒(s),縱坐標(biāo)為速度跟蹤誤差,單位為角秒(″/s)。分析數(shù)據(jù)可知,系統(tǒng)在1°/s時(shí)速度跟蹤均方根誤差(Root Mean Square, RMS)為8.602 1″/s,最大速度跟蹤誤差絕對(duì)值為30.510 4″/s??梢娫撓到y(tǒng)速度跟蹤誤差較小,滿足跟蹤性能要求。
4.2位置閉環(huán)測(cè)試
位置定點(diǎn)跟蹤:給定參考位置定點(diǎn)為1°,測(cè)得其位置定點(diǎn)跟蹤誤差曲線如圖7所示。分析數(shù)據(jù)可知,系統(tǒng)在1°位置定點(diǎn)跟蹤誤差RMS為0.076 5″,最大位置跟蹤誤差絕對(duì)值為0.272 5″??梢娤到y(tǒng)位置定點(diǎn)跟蹤性能良好。
位置正弦跟蹤:給點(diǎn)參考位置正弦為20°sin(0.1t),測(cè)得其位置正弦跟蹤誤差曲線如圖8所示。采集兩個(gè)周期的位置正弦跟蹤誤差數(shù)據(jù),分析可知,系統(tǒng)位置正弦跟蹤誤差RMS為0.702 1″,最大位置跟蹤誤差絕對(duì)值為1.407 1″??梢娫撓到y(tǒng)位置正弦跟蹤誤差很小,正弦跟蹤性能良好。
5結(jié)論
本文設(shè)計(jì)了一種基于EtherCAT實(shí)時(shí)通信的電機(jī)驅(qū)動(dòng)控制系統(tǒng)。簡(jiǎn)要介紹了EtherCAT的工作原理;采用KingStar Motion軟件將工控機(jī)配置為EtherCAT主站,編寫主從站實(shí)時(shí)通信程序和上位機(jī)界面程序;根據(jù)系統(tǒng)方案搭建相應(yīng)實(shí)驗(yàn)平臺(tái),進(jìn)行了閉環(huán)控制實(shí)驗(yàn)。結(jié)果表明,該控制系統(tǒng)可靠性高,跟蹤精度良好,滿足相應(yīng)性能要求。而且該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,拓?fù)潇`活,在EtherCAT總線上增加多個(gè)伺服驅(qū)動(dòng)器作從站,即可實(shí)現(xiàn)多電機(jī)的實(shí)時(shí)驅(qū)動(dòng)控制;系統(tǒng)所有代碼均在Visual Studio 2013下編寫,維護(hù)方便,可以自定義編寫人機(jī)交互界面和復(fù)雜閉環(huán)算法。本文由于條件限制,沒有對(duì)系統(tǒng)在帶載或復(fù)雜工況下進(jìn)行分析,也沒有研究轉(zhuǎn)到多電機(jī)驅(qū)動(dòng)控制時(shí)的問題,這些都有待進(jìn)一步研究。
參考文獻(xiàn)
?。?] 郇極,劉艷強(qiáng). 工業(yè)以太網(wǎng)現(xiàn)場(chǎng)總線EtherCAT驅(qū)動(dòng)程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.
?。?] IntervalZero. KingStar product brief simple chinese[EB/OL].(2014-xx-xx)[2016-12-30]http://www.kingstar.com.
?。?] 任計(jì)羽. EtherCAT從站軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:中科院光電技術(shù)研究所,2014.
?。?] 田昊,潘清. RTX實(shí)時(shí)效果測(cè)試及應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007,16(2):103106.