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