龐廣富
(廣西工業(yè)職業(yè)技術(shù)學(xué)院 廣西南寧 530001)
要想保證電機(jī)之間的同步準(zhǔn)確性,對(duì)控制系統(tǒng)的實(shí)時(shí)性和同步性要求非常高,控制方式要更加靈活。傳統(tǒng)的現(xiàn)場(chǎng)總線(xiàn)具有一定的局限性,通信的帶寬較低,并且是串口通信,會(huì)給數(shù)據(jù)傳輸帶來(lái)一定的延遲,因此傳統(tǒng)的現(xiàn)場(chǎng)總線(xiàn)技術(shù)在工業(yè)自動(dòng)化的快速發(fā)展的背景下已經(jīng)無(wú)法滿(mǎn)足控制領(lǐng)域的要求。工業(yè)以太網(wǎng)傳輸速度快,性?xún)r(jià)比較高,是當(dāng)前工業(yè)現(xiàn)場(chǎng)總線(xiàn)技術(shù)的重要發(fā)展方向,以德國(guó)公司BECKHOFF公司開(kāi)發(fā)的EtherCAT實(shí)時(shí)工業(yè)以太網(wǎng)為主要發(fā)展潮流,因其具有較高的實(shí)時(shí)性與同步精度的功能,能夠更好地對(duì)電機(jī)驅(qū)動(dòng)控制系統(tǒng)進(jìn)行同步,對(duì)EtherCAT技術(shù)進(jìn)行深入的研究,并將其應(yīng)用到電機(jī)驅(qū)動(dòng)控制系統(tǒng)中具有較強(qiáng)的研究?jī)r(jià)值。
EtherCAT系統(tǒng)一般采用主從式通信的結(jié)構(gòu)方式進(jìn)行搭建,進(jìn)行數(shù)據(jù)通行時(shí),都是通過(guò)主站進(jìn)行發(fā)起,利用以太網(wǎng)的通信技術(shù)進(jìn)行報(bào)文的發(fā)出和數(shù)據(jù)的返回,這種數(shù)據(jù)通信的方式能夠有效地避免數(shù)據(jù)在傳輸過(guò)程中產(chǎn)生沖突,能夠提高數(shù)據(jù)通信的穩(wěn)定性。網(wǎng)絡(luò)在進(jìn)行數(shù)據(jù)通信時(shí)會(huì)分成幾個(gè)步驟進(jìn)行:(1)主站發(fā)出報(bào)文;(2)從站接收主站發(fā)出的報(bào)文進(jìn)行解析,然后尋找到與自身相關(guān)聯(lián)的數(shù)據(jù),根據(jù)相關(guān)的命令從報(bào)文中將數(shù)據(jù)進(jìn)行抽取,然后將信息轉(zhuǎn)導(dǎo)下一個(gè)報(bào)文中,以此重復(fù),直到完成數(shù)據(jù)通信的整個(gè)過(guò)程為止;(3)報(bào)文經(jīng)過(guò)所有的從站之后,在到達(dá)最后的從站之前,會(huì)對(duì)數(shù)據(jù)進(jìn)行處理,然后這個(gè)主站的下行報(bào)文會(huì)從各個(gè)從站進(jìn)行轉(zhuǎn)發(fā),主站接到返回的報(bào)文之后并對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的處理。
在整個(gè)傳輸?shù)倪^(guò)程中需要特別注意,從站對(duì)報(bào)文進(jìn)行處理時(shí)有專(zhuān)門(mén)的硬件,有傳輸延遲但是只有幾百納秒而已。
1.主站結(jié)構(gòu)
以太網(wǎng)控制器的作用主要對(duì)EtherCAT主站在硬件上的功能進(jìn)行控制,通過(guò)以太網(wǎng)控制器完成相應(yīng)的功能。
其中,物理層中有一個(gè)MII接口,主要的功能就是與上層的數(shù)據(jù)進(jìn)行交互,與傳輸介質(zhì)沒(méi)有太大的關(guān)聯(lián),能夠隔離物理層與以太網(wǎng)數(shù)據(jù)鏈路層,從而讓以太網(wǎng)能夠更加順利的選擇傳輸介質(zhì);隔離變壓器主要是隔離信號(hào)之間的干擾,以提高信號(hào)的穩(wěn)定性與可靠性。
2.從站結(jié)構(gòu)
EtherCAT從站中有物理層器件、從站控制微處理器、從站控制器以及其他的應(yīng)用層器件組成。
從站的物理層接口的類(lèi)型有EBUS和MII兩種,EBUS需要借助低壓差分信號(hào)進(jìn)行定義,在傳輸?shù)臅r(shí)候容易受到距離的限制;MII接口的延遲約為500ns,與外接隔離變壓器相連;從站控制器ESC主要是對(duì)EtherCAT進(jìn)行數(shù)據(jù)幀的處理,并與主站進(jìn)行數(shù)據(jù)交互;其他相應(yīng)的應(yīng)用層器件會(huì)與從站控制微處理器進(jìn)行連接,從而實(shí)現(xiàn)不同的任務(wù)需求。
3.拓?fù)浣Y(jié)構(gòu)
根據(jù)EtherCAT的通信原理可知,所搭建的網(wǎng)絡(luò)是從主站發(fā)出的數(shù)據(jù),最后又回到主站的環(huán)形結(jié)構(gòu),而且數(shù)據(jù)回環(huán)ESC的機(jī)制,可由多個(gè)端口的相互連接形成多種分支結(jié)構(gòu)。因此,EtherCAT的拓?fù)浣Y(jié)構(gòu)這種包含了很多中組合形式,極大地優(yōu)化了設(shè)備的接線(xiàn)方式,在設(shè)計(jì)網(wǎng)絡(luò)系統(tǒng)時(shí)會(huì)更加方便靈活。如果網(wǎng)絡(luò)系統(tǒng)較為龐大,線(xiàn)路上一般都會(huì)掛接很多個(gè)從站,如果線(xiàn)路的中間發(fā)生了故障,將會(huì)對(duì)故障點(diǎn)后的所有從站都會(huì)造成相應(yīng)的影響。EtherCAT的拓?fù)浣Y(jié)構(gòu)中支持多種冗余技術(shù),可以起到更好的解決效果。EtherCAT網(wǎng)絡(luò)的冗余方案,主要是將系統(tǒng)中的最后一個(gè)從站連接到主站的端口,將其形成一個(gè)具有雙邏輯環(huán)的網(wǎng)絡(luò)結(jié)構(gòu),這樣當(dāng)網(wǎng)絡(luò)發(fā)生故障后,只需要利用從站的ESC的回傳機(jī)制與以太網(wǎng)的全雙工特性,就可以實(shí)現(xiàn)數(shù)據(jù)的回傳,從而保證主從站之間的可靠通信。
通過(guò)分析EtherCAT的原理,能夠得到EtherCAT具有良好的實(shí)時(shí)性與高同步精度,能夠更好地應(yīng)用在伺服的控制系統(tǒng)中。因此,對(duì)電機(jī)驅(qū)動(dòng)控制系統(tǒng)進(jìn)行方案設(shè)計(jì)非常有必要。
基于EtherCAT實(shí)時(shí)通信的電機(jī)驅(qū)動(dòng)控制系統(tǒng)。
工控機(jī)(EtherCAT主站)接受位置與速度等信息,并進(jìn)行相應(yīng)的閉環(huán)與計(jì)算,然后將電流與轉(zhuǎn)矩傳到從站中;伺服驅(qū)動(dòng)器(EtherCAT從站)主要接收來(lái)自編碼器中的參數(shù)信息,然后與主站進(jìn)行數(shù)據(jù)交互,然后將相應(yīng)的數(shù)據(jù)通過(guò)EtherCAT傳到主站,驅(qū)動(dòng)伺服電機(jī);EtherCAT總線(xiàn)會(huì)連接主控機(jī)(EtherCAT主站)與伺服驅(qū)動(dòng)器(EtherCAT從站),將其作為數(shù)據(jù)通道進(jìn)行數(shù)據(jù)的傳輸;編碼器能夠周期并快速地采集電機(jī)的位置以及速度參數(shù),并將信息反饋到伺服驅(qū)動(dòng)器中,讓主站進(jìn)行數(shù)據(jù)的讀取;伺服電機(jī)采用的是矢量控制的方式,對(duì)伺服驅(qū)動(dòng)器進(jìn)行控制以實(shí)現(xiàn)軸系的運(yùn)轉(zhuǎn)功能。
基于EtherCAT實(shí)時(shí)通信的電機(jī)驅(qū)動(dòng)控制系統(tǒng)采用的是三閉環(huán)控制模式,其中伺服驅(qū)動(dòng)器只能進(jìn)行電流閉環(huán)的運(yùn)算;速度與位置等需要在工控機(jī)(EtherCAT主站)進(jìn)行實(shí)現(xiàn)。這樣的運(yùn)行方式更加有利于編寫(xiě)復(fù)雜的算法,有較高的靈活度。
使用KingStarMotion軟件進(jìn)行主站的配置以實(shí)現(xiàn)相應(yīng)的功能。
1.搭建實(shí)時(shí)子系統(tǒng)RTSS
Windows是非實(shí)時(shí)性的操作系統(tǒng),無(wú)法滿(mǎn)足EtherCAT的高實(shí)時(shí)性要求。因此,要想滿(mǎn)足電機(jī)驅(qū)動(dòng)控制系統(tǒng)實(shí)時(shí)性的要求,需要將Windows轉(zhuǎn)換成實(shí)時(shí)性的操作系統(tǒng)方可。使用RTX軟件將HAL構(gòu)建成實(shí)時(shí)的子系統(tǒng)RTSS,隔斷Windows和RTX之間的傳輸,通過(guò)獨(dú)立的RTSS調(diào)度器提高實(shí)時(shí)性的功能。
2.EtherCAT主站代碼的二次開(kāi)發(fā)
主站代碼的二次開(kāi)發(fā)主要是采用KingStarMotion軟件進(jìn)行實(shí)現(xiàn),通過(guò)動(dòng)態(tài)和靜態(tài)鏈接庫(kù)的方式進(jìn)行開(kāi)發(fā),設(shè)置主站的參數(shù),便于二次程序的開(kāi)發(fā)與應(yīng)用,同時(shí)該軟件還支持CoE協(xié)議,能夠更好地控制伺服驅(qū)動(dòng)器。良好的編程環(huán)境更加有利于程序的編寫(xiě),EtherCAT主站在RTSS系統(tǒng)的支持下能夠保證通信的實(shí)時(shí)性。
3.編寫(xiě)電機(jī)實(shí)時(shí)控制程序
基于EtherCAT實(shí)時(shí)通信的電機(jī)驅(qū)動(dòng)控制系統(tǒng)在RTSS下,利用高精度實(shí)時(shí)器實(shí)現(xiàn)閉環(huán)控制運(yùn)算,保證數(shù)據(jù)的準(zhǔn)確性。EtherCAT主站與從站要遵循一定的循環(huán)周期進(jìn)行通信,每一個(gè)周期會(huì)接受并處理從站中反饋的數(shù)據(jù),以實(shí)現(xiàn)閉環(huán)運(yùn)算,計(jì)算過(guò)后會(huì)向從站發(fā)送相應(yīng)的控制命令。電機(jī)實(shí)施控制程序會(huì)與伺服驅(qū)動(dòng)器進(jìn)行交互,從而完成伺服電機(jī)的運(yùn)行。
4.人機(jī)交互界面設(shè)計(jì)
為了方便系統(tǒng)進(jìn)行參數(shù)的測(cè)試,可以利用MFC進(jìn)行程序的編寫(xiě),通過(guò)進(jìn)程間通信能夠?qū)崿F(xiàn)與電機(jī)實(shí)時(shí)控制程序的交互,從而完成相關(guān)參數(shù)的設(shè)定。在Windows系統(tǒng)的狀態(tài)下與RESS實(shí)時(shí)程序進(jìn)行數(shù)據(jù)通信,對(duì)于內(nèi)存之間的通信可以引入同步事件的方式減少延遲。
主從站架構(gòu)的設(shè)計(jì)分別由工控機(jī)與伺服驅(qū)動(dòng)器組成,本系統(tǒng)采用的伺服驅(qū)動(dòng)器從站使用的是AxN型的驅(qū)動(dòng)器,該驅(qū)動(dòng)器集成了ESC與微處理器,同時(shí)還支持CoE協(xié)議,能夠?qū)崿F(xiàn)主站通行的功能。支持100Base-TX協(xié)議,接口為RJ45,位置傳感器還支持多種類(lèi)型的編碼器,并配備相應(yīng)的編程軟件。AxN驅(qū)動(dòng)器在驅(qū)動(dòng)交流電機(jī)中運(yùn)行時(shí)能夠完成電流閉環(huán)的運(yùn)算,同時(shí)還支持多種運(yùn)行模式,功能較為完整。EtherCAT從站配置只需要打開(kāi)EtherCAT接口并設(shè)置相關(guān)的電機(jī)參數(shù)即可連接主站,實(shí)現(xiàn)主站與從站之間的通信功能。
搭建電機(jī)驅(qū)動(dòng)控制實(shí)驗(yàn)平臺(tái),主站操作系統(tǒng)為Windows7,工控機(jī)為多核雙網(wǎng)口,由Beckhoff提供,并安裝主站測(cè)試軟件,為該平臺(tái)至少分配一個(gè)RTSS處理器,并為其配置實(shí)時(shí)網(wǎng)口;從站采用AxN驅(qū)動(dòng)器,并集成相關(guān)的芯片與接口,簡(jiǎn)單地進(jìn)行EtherCAT配置即可;同步電機(jī)中設(shè)置額定扭矩、額定轉(zhuǎn)速、額定電流等參數(shù);編碼器采用具有較高位分辨率的ECA4000編碼器,通過(guò)接口配置相應(yīng)的軟接線(xiàn),以實(shí)現(xiàn)與伺服驅(qū)動(dòng)器的連接。
工控機(jī)主要是通過(guò)網(wǎng)線(xiàn)與伺服驅(qū)動(dòng)器進(jìn)行連接的,通過(guò)實(shí)時(shí)網(wǎng)口發(fā)送相應(yīng)的控制命令,將控制命令傳送給驅(qū)動(dòng)器,通過(guò)驅(qū)動(dòng)器對(duì)電機(jī)進(jìn)行控制。在可視化界面中編寫(xiě)程序,對(duì)相關(guān)參數(shù)進(jìn)行設(shè)置,并保存數(shù)據(jù)??梢暬缑娉绦蛑械腅therCAT、伺服控制器能夠完成相應(yīng)的參數(shù)功能,伺服控制模塊可以對(duì)實(shí)驗(yàn)的數(shù)據(jù)進(jìn)行保存。
速度閉環(huán)控制測(cè)試實(shí)驗(yàn)中,在主站完成速度閉環(huán)運(yùn)算,采用PI控制器完成速度調(diào)節(jié)的功能。其中給定電機(jī)的速度為1°,單位“s”,橫坐標(biāo)和縱坐標(biāo)分別表示為時(shí)間和速度,對(duì)數(shù)據(jù)進(jìn)行分析可以得到,當(dāng)給定電機(jī)的速度為1°/s時(shí),RMS為0.0037°/s,跟蹤誤差越小也能夠滿(mǎn)足其跟蹤功能。
位置閉環(huán)控制測(cè)試實(shí)驗(yàn)中,主站會(huì)完成相應(yīng)的閉環(huán)運(yùn)算,速度與位置調(diào)節(jié)器均會(huì)采用PI控制器進(jìn)行運(yùn)算。當(dāng)位置的定點(diǎn)跟蹤頂點(diǎn)為1°時(shí),橫坐標(biāo)與縱坐標(biāo)分別表示時(shí)間與位置,縱坐標(biāo)單位為“″”,當(dāng)位置的定點(diǎn)跟蹤在1°時(shí),RMS為0.13″,說(shuō)明位置定點(diǎn)的跟蹤精度較好。
本文重點(diǎn)根據(jù)EtherCAT技術(shù)對(duì)電機(jī)驅(qū)動(dòng)控制系統(tǒng)進(jìn)行了設(shè)計(jì),對(duì)EtherCAT的工作原理進(jìn)行了分析,并使用KingStarMotion軟件配置了EtherCAT主站,將工控機(jī)配置成EtherCAT主站,并為其編寫(xiě)了相應(yīng)的界面程序,為其搭建了實(shí)驗(yàn)平臺(tái),隨后使用該平臺(tái)對(duì)系統(tǒng)進(jìn)行了位置與速度的閉環(huán)實(shí)驗(yàn)。通過(guò)實(shí)驗(yàn)證明,電機(jī)驅(qū)動(dòng)控制系統(tǒng)的可靠性越高說(shuō)明精度越好,越能夠滿(mǎn)足先相關(guān)的性能要求。