,,,
(1.蘇州大學(xué) 智能結(jié)構(gòu)與系統(tǒng)研究所,蘇州 215131;2.蘇州大學(xué) 機(jī)電工程學(xué)院)
運(yùn)動(dòng)控制系統(tǒng)廣泛應(yīng)用于數(shù)控機(jī)床、機(jī)器人、工業(yè)自動(dòng)化等工控領(lǐng)域,隨著技術(shù)發(fā)展與市場需求,運(yùn)動(dòng)控制系統(tǒng)必須向高穩(wěn)定性、互聯(lián)性、高可靠性的方向發(fā)展,特別是網(wǎng)絡(luò)型伺服、總線型伺服系統(tǒng)得到了快速發(fā)展。EtherCAT是一種將以太網(wǎng)與現(xiàn)場總線技術(shù)相結(jié)合的工業(yè)總線,其完全符合以太網(wǎng)標(biāo)準(zhǔn),具有帶寬利用率高、實(shí)時(shí)性能強(qiáng)、靈活的拓?fù)浣Y(jié)構(gòu)、簡潔的配置、傳輸速率高、成本低等優(yōu)勢。因此,將EtherCAT網(wǎng)絡(luò)通信技術(shù)引入傳統(tǒng)運(yùn)動(dòng)控制系統(tǒng)來實(shí)現(xiàn)運(yùn)動(dòng)控制系統(tǒng)的網(wǎng)絡(luò)化、分布化具有重要的研究意義和使用價(jià)值。
本文結(jié)合EtherCAT總線技術(shù)、Beckhoff主站TwinCAT軟件和自制伺服驅(qū)動(dòng)器,設(shè)計(jì)一種基于EtherCAT通信的電機(jī)驅(qū)動(dòng)控制方案,實(shí)現(xiàn)對電機(jī)的實(shí)時(shí)驅(qū)動(dòng)控制。
基于EtherCAT通信的電機(jī)驅(qū)動(dòng)控制系統(tǒng)主要由TwinCAT主站、EtherCAT總線、伺服驅(qū)動(dòng)器、伺服電機(jī)和反饋編碼器組成[1-2],系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
以倍福的TwinCAT軟件作為EtherCAT主站,當(dāng)設(shè)置好位置與速度參數(shù)后,主站作相應(yīng)的運(yùn)算,然后周期性地下發(fā)運(yùn)算完成的位置數(shù)據(jù)和控制命令,驅(qū)動(dòng)伺服電機(jī),而伺服驅(qū)動(dòng)器作為EtherCAT從站,接收編碼器所采集的電機(jī)參數(shù),將相應(yīng)的實(shí)際位置、實(shí)際速度和狀態(tài)命令由EtherCAT總線周期性地傳給主站。
本設(shè)計(jì)方案主控芯片采用TMS320F28379D,數(shù)據(jù)鏈路層采用專用的EtherCAT協(xié)議芯片LAN9252。EtherCAT從站硬件架構(gòu)如圖2所示。
圖2 EtherCAT從站系統(tǒng)
整個(gè)從站系統(tǒng)劃分為控制與應(yīng)用層、數(shù)據(jù)鏈路層、物理層三大部分。控制與應(yīng)用層負(fù)責(zé)處理EtherCAT通信和完成控制任務(wù),數(shù)據(jù)鏈路層負(fù)責(zé)EtherCAT數(shù)據(jù)幀的處理,物理層負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā)。
為了充分利用EtherCAT高速和實(shí)時(shí)的特點(diǎn),本設(shè)計(jì)通過TMS320F28379D芯片的并口EMIF進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)傳輸速率得到極大提升。
1.3.1 從站驅(qū)動(dòng)程序的整體設(shè)計(jì)
從站程序流程圖如圖3所示,為了簡化程序設(shè)計(jì),需要下載其LAN9252 SDK開發(fā)包,將其移植到DSP的開發(fā)環(huán)境下,同時(shí)需要從EtherCAT網(wǎng)站上獲得Beckhoff EtherCAT從器件協(xié)議棧代碼(SSC)[2]。結(jié)合這兩個(gè)文件,可以快速實(shí)現(xiàn)本設(shè)計(jì)中的程序。其中初始化函數(shù)主要分為HW_Init()和MainInit()兩個(gè)部分。HW_Init()主要初始化相關(guān)信號的中斷及EMIF接口,MainInit()則初始化EtherCAT從站設(shè)備接口及對象字典,初始化完成后才能進(jìn)入MainLoop主循環(huán)實(shí)現(xiàn)通信過程。EtherCAT通信可以設(shè)置自由運(yùn)行模式、同步模式和分布時(shí)鐘模式3種通信方式,通過主站設(shè)置從站處于哪種通信方式,自由運(yùn)行方式的數(shù)據(jù)在free_run()中處理,而其他兩種模式的周期性數(shù)據(jù)和應(yīng)用層任務(wù)在相應(yīng)的同步信號中斷服務(wù)程序中處理[3]。
圖3 從站程序流程圖
1.3.2 EtherCAT狀態(tài)機(jī)及CIA402狀態(tài)機(jī)
EtherCAT狀態(tài)機(jī)如圖4所示,主站將期望的狀態(tài)寫入從站的0x0120寄存器,之后從站讀取0x0120值的狀態(tài),正確則寫入0x0130寄存器,不正確則將錯(cuò)誤信息寫入0x0134寄存器[4]。主站一般在INIT狀態(tài)通過SII接口讀取伺服從站中的EEPROM信息,包含Vendor ID、Product Code、郵箱通信的SM地址和長度等。主站在PREOP狀態(tài)可以進(jìn)行郵箱通信,配置伺服從站的控制模式(0x6060),配置過程數(shù)據(jù)的內(nèi)容和長度等。在SAFEOP狀態(tài)下,所有配置基本完成,過程數(shù)據(jù)通信正常,主站能發(fā)送控制字和位置命令等,但伺服不會(huì)使能輸出[5]。之前的配置都是為了伺服能正確地進(jìn)入OP狀態(tài),之后才進(jìn)行過程數(shù)據(jù)通信即上層CIA402應(yīng)用層狀態(tài)機(jī)的正常運(yùn)行,進(jìn)而控制電機(jī)。
圖4 EtherCAT狀態(tài)機(jī)
CIA402狀態(tài)機(jī)如圖5所示,主站通過控制字0x6040來請求改變從站的狀態(tài),從站通過狀態(tài)字0x6041將當(dāng)前的狀態(tài)反饋回主站。從站一旦上電并由TwinCAT掃描完從站配置信息后自動(dòng)切換到ready to switch on狀態(tài),之后通過TwinCAT配置操作模式并使能運(yùn)行狀態(tài),進(jìn)而切換到operation enabled狀態(tài)下,此時(shí)主站可以配置位置、速度或歸零指令,控制指令會(huì)周期性地下發(fā)到從站,并存儲到同步管理器2的緩存區(qū),從站通過讀取緩存區(qū)的值得到控制指令,在從站驅(qū)動(dòng)器的PWM中斷中進(jìn)行位置閉環(huán)。從站會(huì)將位置、速度、歸零和狀態(tài)字的反饋值寫入同步管理器SM3的緩存區(qū),并發(fā)往主站,完成一次閉環(huán)通信控制[6-7]。
圖5 CIA402狀態(tài)機(jī)
圖6 周期性同步位置模式運(yùn)行結(jié)構(gòu)圖
1.3.3 應(yīng)用設(shè)計(jì)
EtherCAT主從站通信采用CoE 應(yīng)用層協(xié)議,包括非周期性郵箱通信和周期性過程通信。其中郵箱通信為主從站間的非周期性通信,用于非實(shí)時(shí)應(yīng)用場合,過程數(shù)據(jù)通信為主從站間周期性通信,用于實(shí)時(shí)應(yīng)用場合[8]。由于從站為伺服驅(qū)動(dòng)器,要實(shí)現(xiàn)對電機(jī)的驅(qū)動(dòng)控制,參考伺服和運(yùn)動(dòng)控制行規(guī)CIA402,選擇驅(qū)動(dòng)器的運(yùn)行模式為周期性同步位置控制模式(Cyclic Synchronous Position,CSP)[9]。該運(yùn)行模式結(jié)構(gòu)如圖6所示。控制主站周期性地向驅(qū)動(dòng)設(shè)備發(fā)送目標(biāo)位置指令,驅(qū)動(dòng)設(shè)備運(yùn)行位置控制,驅(qū)動(dòng)設(shè)備向控制主站提供實(shí)際狀態(tài)值。
主從站通信開始時(shí),主站會(huì)依據(jù)網(wǎng)絡(luò)信息文件 (EtherCAT Network Information,ENI)初始化網(wǎng)絡(luò)。通過分析其ENI文件可以看到主站對應(yīng)過程數(shù)據(jù)對象字典(Process Data Object,PDO)映射配置。其中RxPDO包含的對象字典607Ah代表電機(jī)目標(biāo)位置值,對象字典60FEh代表在CSP模式下的歸零啟動(dòng)信號;TxPDO 包含的對象字典6064h代表電機(jī)當(dāng)前位置值,對象字典60FDh代表CSP模式下的歸零狀態(tài)。
首先對電機(jī)及驅(qū)動(dòng)器進(jìn)行上電操作,并通過TwinCAT配置操作模式并使能運(yùn)行狀態(tài),下發(fā)對應(yīng)的控制字使其運(yùn)行在圖5所示CIA402狀態(tài)機(jī)的Operation enabled狀態(tài)下,而后就可以通過TwinCAT實(shí)現(xiàn)對電機(jī)的驅(qū)動(dòng)控制。
圖7為歸零操作所處的三種狀態(tài):如果檢測到光電開關(guān)處于激活狀態(tài),則電機(jī)將向負(fù)方向移動(dòng),直到檢測到光電開關(guān)狀態(tài)從激活狀態(tài)轉(zhuǎn)換到非激活狀態(tài);如果檢測到右限位開關(guān)的激活狀態(tài),電機(jī)會(huì)改變方向,向負(fù)方向移動(dòng),直到檢測到歸位開關(guān)狀態(tài)從激活狀態(tài)轉(zhuǎn)換到非激活狀態(tài);如果啟動(dòng)歸位并且光電開關(guān)處于激活狀態(tài),則電機(jī)向負(fù)方向移動(dòng),直到原點(diǎn)開關(guān)將狀態(tài)從激活狀態(tài)變?yōu)榉羌せ顮顟B(tài)。
圖7 歸零狀態(tài)
之后設(shè)置好位置與速度參數(shù),主站作相應(yīng)的運(yùn)算,并在上位機(jī)進(jìn)行軌跡規(guī)劃,然后周期性地下發(fā)運(yùn)算完成的位置數(shù)據(jù)和控制命令,驅(qū)動(dòng)伺服電機(jī),而伺服驅(qū)動(dòng)器作為EtherCAT從站,接收編碼器所采集的電機(jī)參數(shù),將相應(yīng)的實(shí)際位置、實(shí)際速度和狀態(tài)命令由EtherCAT總線周期性地傳給主站[10]。
本實(shí)驗(yàn)主站采用普通PC機(jī),用倍福公司提供的TwinCAT軟件作為上位機(jī)控制軟件。從站采用實(shí)驗(yàn)室自行研發(fā)的基于TMS320F28379D帶EtherCAT網(wǎng)絡(luò)接口的伺服驅(qū)動(dòng)器。
圖8給出了周期性同步位置閉環(huán)操作模式下,主站通過寫數(shù)據(jù)對象607Ah設(shè)置位置值,并通過在主站上設(shè)置速度值進(jìn)行位置規(guī)劃,而從站在接收到位置指令后進(jìn)行位置閉環(huán),并通過數(shù)據(jù)對象606Ch進(jìn)行速度反饋,通過6064h進(jìn)行位置反饋。實(shí)驗(yàn)中通過NC軸的Reversing Sequence功能使其進(jìn)行往復(fù)運(yùn)動(dòng),運(yùn)行數(shù)據(jù)通過scope view保存為csv文件并在Matlab中進(jìn)行繪圖,由圖可以看出,將目標(biāo)位置設(shè)置為在0~1800°進(jìn)行往返運(yùn)動(dòng),跟隨誤差保持在15°左右,說明位置的跟隨性能良好,同時(shí)從圖9中可以看出,將目標(biāo)速度設(shè)置為1440 °/s,從站反饋的速度不斷地跟隨目標(biāo)速度指令調(diào)整,誤差范圍在[-80°,80°]之間,從站能很好地跟隨速度指令。
圖8 位置定點(diǎn)規(guī)劃曲線
圖9 CSP模式下的速度跟隨曲線
圖10為s曲線模式下的位置跟隨曲線,將目標(biāo)位置設(shè)置為360°,進(jìn)行s曲線往復(fù)運(yùn)動(dòng),跟隨誤差隨著速度變化而變化,最大跟隨誤差為10°,可以看出跟隨效果良好,圖11為對應(yīng)的目標(biāo)速度及實(shí)際速度的跟隨曲線,可以看出,從站反饋的速度實(shí)時(shí)跟隨上位機(jī)規(guī)劃的目標(biāo)速度值,具有良好的跟隨效果。在EtherCAT網(wǎng)絡(luò)的實(shí)時(shí)控制下,此控制系統(tǒng)位置響應(yīng)速度快,控制精度高,具有良好的控制性能,且EtherCAT網(wǎng)絡(luò)能夠根據(jù)實(shí)時(shí)情況對位置進(jìn)行補(bǔ)償,同步性能較好。
圖10 CSP模式下s曲線下的位置跟隨曲線
圖11 CSP模式下s曲線下的速度曲線
圖12 500 μs的運(yùn)行周期
在兩軸聯(lián)動(dòng)模式下,可以通過示波器觀測從站LAN9252的sync0引腳的同步信號來判斷兩軸的同步性能,圖12所示為兩軸在500 μs的同步周期運(yùn)行下的sync0引腳的同步信號,可以看出同步性能非常好,如圖13所示,進(jìn)一步放大測量同步誤差只有1.1 ns。充分說明EtherCAT通信的同步性能非常好,在伺服控制精度、實(shí)時(shí)性及同步性能方面具有巨大的優(yōu)勢。
圖13 同步誤差