張少林,陳 冰,陳幼平
(華中科技大學(xué),湖北 武漢 430074)
為了實現(xiàn)更高速、更柔性的生產(chǎn)目的,傳統(tǒng)上由機械部件完成的功能越來越多的由伺服系統(tǒng)完成[1]。同時,工業(yè)現(xiàn)場總線的廣泛應(yīng)用,為分布式控制系統(tǒng)提供了良好的高實時性、高可靠性解決方案。目前,在一些大型包裝、印刷、紡織、機器人和CNC等領(lǐng)域,該方案能夠較好地解決系統(tǒng)模塊化的布局,具有較高的應(yīng)用價值。采用Powerlink開源技術(shù)作系統(tǒng)總線,能夠較好地利用Powerlink開源的優(yōu)勢,提供較高的實時性和安全性,同時具有較低的成本。
分布式伺服控制實質(zhì)上是分布式驅(qū)動,集中式控制。典型的分布式伺服系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)由1個主控制器和n個驅(qū)動節(jié)點組成,通過普通以太網(wǎng)介質(zhì)組成環(huán)形網(wǎng)絡(luò)。主控制器實現(xiàn)多軸控制的軌跡算法和主站通訊協(xié)議。軌跡控制算法實現(xiàn)了各軸的插補運算,并通過現(xiàn)場總線將指令發(fā)送到驅(qū)動節(jié)點。驅(qū)動節(jié)點根據(jù)目標(biāo)指令和編碼器反饋信息,實現(xiàn)控制環(huán)路,驅(qū)動電機運動。此外,總線上可以擴展I/O設(shè)備,采集傳感器信息,擴展其他應(yīng)用[2]。
圖1 分布式伺服系統(tǒng)總體結(jié)構(gòu)
分布式伺服系統(tǒng)的性能優(yōu)劣,很大程度上取決于選擇的運動控制總線??偩€的速度、協(xié)議的效率直接影響了伺服軸的數(shù)據(jù)更新時間,進(jìn)而影響伺服軸的控制精度;總線的安全可靠性和自診斷、自恢復(fù)能力決定了控制系統(tǒng)的穩(wěn)定性;總線的應(yīng)用是否廣泛、調(diào)試是否方便,影響了總線的市場通用性,開發(fā)成本的高低。
開源技術(shù)Ethernet Powerlink具有良好的性能。首先,Powerlink的通信周期短,能夠在幾百微妙內(nèi)刷新全部節(jié)點的控制信息。其次,Powerlink通過數(shù)據(jù)傳輸?shù)奶囟ǚ椒▉泶_保安全性,摒棄了以前需要的雙絞線裝置,降低了配線需求。歸功于嚴(yán)格確定的時序,非常短的循環(huán)周期,很低的網(wǎng)絡(luò)抖動,開放的實時通信系統(tǒng),為Powerlink安全性提供了理想的基礎(chǔ)[3]。此外,Powelrink與標(biāo)準(zhǔn)以太網(wǎng)兼容,具有高實時性、拓?fù)浣Y(jié)構(gòu)靈活、熱插拔和開源等特點,這些都為Powerlink的廣泛應(yīng)用提供了基礎(chǔ)。因此,選用Powerlink技術(shù)作為伺服控制總線,是性能良好且成本實惠的選擇。
主控制器和驅(qū)動節(jié)點的硬件電路基本相同,如圖2所示,都采用Freescale Cortex-M4ARM做主處理器,通過FlexBus總線與FPGA通信。FPGA外接DDR2存儲器件和2個以太網(wǎng)控制芯片DP83630,主要實現(xiàn)Powerlink協(xié)議。驅(qū)動節(jié)點還有一個編碼器模塊輸入和電機驅(qū)動輸出。
圖2 節(jié)點硬件結(jié)構(gòu)
驅(qū)動節(jié)點初始化過程如圖3所示。首先是主站上電啟動,初始化并等待從站節(jié)點的接入。然后驅(qū)動節(jié)點上電,驅(qū)動器進(jìn)行自檢和初始化。此時強電還沒有接通,驅(qū)動節(jié)點應(yīng)答主控制器的IdentRequest請求,完成Powerlink的初始化,并告知應(yīng)用層當(dāng)前初始化狀態(tài)。應(yīng)用層判斷Powerlink初始化正常,接通強電,否則發(fā)出錯誤信息到數(shù)碼管顯示[4]。
圖3 驅(qū)動節(jié)點初始化過程
初始化成功后,主從站根據(jù)對象字典配置信息進(jìn)行通訊(通訊數(shù)據(jù)如表1和表2所示)。主控制器依次給各驅(qū)動節(jié)點發(fā)送命令伺服使能,驅(qū)動節(jié)點反饋伺服就緒,開始正常運轉(zhuǎn)。每個通信周期,主控制器給個驅(qū)動節(jié)點發(fā)送插補指令,驅(qū)動節(jié)點反饋實際轉(zhuǎn)速和驅(qū)動器狀態(tài)信息[5]。
表1 主站數(shù)據(jù)格式
表2 從站數(shù)據(jù)格式
無論是否采用操作系統(tǒng),Powerlink一般包括這樣4個任務(wù)處理:事件隊列、以太網(wǎng)收發(fā)事件、時鐘事件和外部按鍵輸入處理。由于沒有使用操作系統(tǒng),所以將事件隊列和ms級時鐘事件放在主函數(shù)中查詢處理,以太網(wǎng)事件、高精度時鐘事件和按鍵輸入處理使用中斷的方式實現(xiàn),通過接口函數(shù)與協(xié)議棧進(jìn)行通信。Powerlink主站的移植,針對Xilinx Spartan6系列FPGA,修改了Ethernet Edrv,Timer,Buffer,以及Cfm模塊。
Powerlink的硬件架構(gòu)如圖4所示[6]。Ethernet驅(qū)動使用了Powerlink IP核,IP核里調(diào)用open-MAC來管理數(shù)據(jù)收發(fā)。Timer包括1個ms級時鐘和2個ns級時鐘。ms級時鐘由軟核定時器提供,ns級時鐘TimerCycle由FPGA內(nèi)部50MHz時鐘產(chǎn)生(每個滴答20ns),去掉了另外一個時鐘TimerSlot,數(shù)據(jù)的發(fā)送改由定時發(fā)送幀的函數(shù)omethTransmitTime代替。Cfm配置模塊中,cdc將文件轉(zhuǎn)換成數(shù)組添加到工程里面,然后將對文件mnobd.cdc的處理轉(zhuǎn)換成對Buffer的處理,這樣就省去了FPGA對文件系統(tǒng)的支持。
圖4 Powerlink IP核結(jié)構(gòu)
Powerlink從站的移植,針對Cyclone IV做了相應(yīng)修改,大體與主站修改過程類似。
在100Mbit/s的網(wǎng)絡(luò)帶寬下,通過Powerlink總線,400μs內(nèi)實現(xiàn)了5個從站伺服驅(qū)動器的數(shù)據(jù)刷新,編碼器反饋速度與命令速度之間有1~2個通信周期的滯后,基本上實現(xiàn)了各個驅(qū)動節(jié)點的同步控制。具體數(shù)據(jù)量與通信周期的關(guān)系如表3所示。
表3 Powerlink通信測試
分布式伺服控制簡化了機械設(shè)計,提高了設(shè)計的靈活性,在當(dāng)前運動控制高速化、多軸化和復(fù)雜化的需求下,能夠較好地滿足市場需求。基于Power-link通信技術(shù)的分布式伺服驅(qū)動器,結(jié)合了目前普遍采用的Powerlink總線技術(shù),能夠較好地滿足較高的實時性和可靠性。
[1]宋華振,陳志彤,曹海笑,等.走向分布式的伺服控制[J].現(xiàn)代制造,2006,(10):42-43.
[2]呂應(yīng)明,袁海文,刑軍偉.基于CAN總線的分布式位置伺服系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2010,36(3):136-139.
[3]EPSG.Powerlink安全性-靈活地安全性協(xié)議[Z].上海:貝加萊工業(yè)自動化有限公司,2012.
[4]樊留群.實時以太網(wǎng)及運動控制總線技術(shù)[M].上海:同濟(jì)大學(xué)出版社,2009.
[5]GSK.DA98E系列總線式交流驅(qū)動單元使用手冊[Z].廣州:廣州數(shù)控設(shè)備有限公司,2011.
[6]AVNET.Xilinx FPGA Powerlink Controlled Node Application Note(ADS Spartan6Ethernet Powerlink Board)[Z].香港:安富利科技集團(tuán),2012.