IEEE1588在分散運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
本文說明IEEE1588在一個(gè)分散運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用,目前的解決方案依靠分散運(yùn)動(dòng)部件對(duì)時(shí)間同步的專門實(shí)現(xiàn)。隨著IEEE1588的出現(xiàn),可以開發(fā)一種在標(biāo)準(zhǔn)網(wǎng)絡(luò)(如以太網(wǎng))上使用商用技術(shù)的運(yùn)動(dòng)控制解決方案。本文要說明在一個(gè)網(wǎng)絡(luò)范例內(nèi)IEEE1588和運(yùn)動(dòng)的基本操作。
分散運(yùn)動(dòng)控制要求系統(tǒng)節(jié)點(diǎn)之間緊密地同步,通常這要求在系統(tǒng)內(nèi)時(shí)鐘間的波動(dòng)是微秒數(shù)量級(jí)。更高性能的應(yīng)用驅(qū)動(dòng)將這個(gè)性能提高到幾分一微秒范圍。當(dāng)前的解決方案是使用適當(dāng)?shù)木W(wǎng)絡(luò)和接口部件達(dá)到使分散系統(tǒng)內(nèi)節(jié)點(diǎn)間的緊密同步。定制的接口卡控制整個(gè)系統(tǒng)時(shí)鐘的分配和同步以及控制數(shù)據(jù)的定時(shí)傳送。
IEEE1588精確時(shí)間協(xié)議提供分布網(wǎng)絡(luò)上的標(biāo)準(zhǔn)化的同步機(jī)制,通過使用IEEE1588協(xié)議就可在標(biāo)準(zhǔn)網(wǎng)絡(luò)上用標(biāo)準(zhǔn)化的解決方案取代專用解決方案。就可用現(xiàn)成的部件代替專用的網(wǎng)絡(luò)接口部件。
現(xiàn)使用IEEE1588協(xié)議和以太網(wǎng)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的分布運(yùn)動(dòng)控制系統(tǒng),用以演示這個(gè)原理。
范例說明
范例運(yùn)動(dòng)系統(tǒng)由三個(gè)控制器組成,每個(gè)控制器通過一個(gè)SERCOS適配器連接一個(gè)驅(qū)動(dòng)器。SERCOS是連接數(shù)字驅(qū)動(dòng)器的工業(yè)標(biāo)準(zhǔn)。所有的運(yùn)動(dòng)節(jié)點(diǎn)都用以太網(wǎng)卡連接到標(biāo)準(zhǔn)的以太網(wǎng)。
調(diào)節(jié)器內(nèi)的“運(yùn)動(dòng)計(jì)劃器”管理每個(gè)驅(qū)動(dòng)器的位置信息,以控制點(diǎn)動(dòng)、移動(dòng)、和聯(lián)動(dòng)操作。每個(gè)驅(qū)動(dòng)器作為一個(gè)運(yùn)動(dòng)軸,其中一個(gè)軸是主軸,其它兩個(gè)為從動(dòng)軸。每個(gè)從動(dòng)軸都與主軸以1:1的比率聯(lián)動(dòng)。連接到主軸的控制器以一定時(shí)間間隔向連接到從動(dòng)軸的控制器發(fā)送位置基準(zhǔn)。
在系統(tǒng)內(nèi)所有節(jié)點(diǎn)的時(shí)鐘是同步的,它使用IEEE1588協(xié)議達(dá)到以太網(wǎng)的時(shí)鐘同步。在底板上的時(shí)鐘同步是用先與IEEE1588的專用協(xié)議實(shí)現(xiàn)的。
系統(tǒng)時(shí)鐘同步
網(wǎng)絡(luò)時(shí)鐘同步是在以太網(wǎng)適配卡上實(shí)現(xiàn)的,這個(gè)適配卡包含一個(gè)FPGA硬件輔助電路,用于對(duì)進(jìn)入和輸出的IEEE1588協(xié)議報(bào)文打上時(shí)間印記。這個(gè)FPGA包含一個(gè)64位,每片25納秒的高分辨率的可調(diào)諧時(shí)鐘。
1588協(xié)議運(yùn)行在一個(gè)50MHz PowerPC CPU上,1588代碼和按1588協(xié)議的規(guī)定的FPGA交互作用使從站的時(shí)間與子網(wǎng)上與此相關(guān)的主站時(shí)鐘同步。調(diào)諧算法在每個(gè)1588同步刷新周期調(diào)節(jié)這個(gè)FPGA可調(diào)諧時(shí)鐘的頻率。
這個(gè)適配器也包含一個(gè)連接底版的接口芯片,底版芯片的時(shí)鐘與1588時(shí)鐘同步。在這個(gè)適配器上的底版接口作為主時(shí)鐘,在底版上的其它時(shí)鐘都與這個(gè)適配器上的主時(shí)鐘同步。底版時(shí)鐘與1588時(shí)鐘的同步使用一個(gè)簡(jiǎn)單的算法。這個(gè)適配器表示一個(gè)1588邊界時(shí)鐘節(jié)點(diǎn)而底版時(shí)鐘劃為“外部”時(shí)鐘。
運(yùn)動(dòng)的同步
基本的運(yùn)動(dòng)控制要求在一個(gè)節(jié)點(diǎn)的運(yùn)動(dòng)任務(wù)的運(yùn)行要與其它所有節(jié)點(diǎn)同步。節(jié)點(diǎn)之間的所有事務(wù)都建立在同步刷新周期基礎(chǔ)上。對(duì)控制器與傳動(dòng)和控制器與控制器之間的兩種事務(wù)是相同的。
控制器對(duì)驅(qū)動(dòng)的事務(wù):在周期的開始控制器發(fā)送插值位置刷新每個(gè)驅(qū)動(dòng)器,驅(qū)動(dòng)器使用這個(gè)位置刷新值控制電機(jī)的閉環(huán)位置和速度,每臺(tái)驅(qū)動(dòng)器向控制器返回它的實(shí)際位置,控制器計(jì)算一個(gè)新位置并周期重復(fù),這個(gè)操作持續(xù)一個(gè)位置刷新周期。
控制器對(duì)控制器的事務(wù):在周期的開始,主軸控制器向每個(gè)從動(dòng)軸發(fā)送位置基準(zhǔn),每個(gè)從動(dòng)軸的控制器用這個(gè)位置基準(zhǔn)計(jì)劃本軸的運(yùn)動(dòng)。
為了同步整個(gè)系統(tǒng)的運(yùn)動(dòng),運(yùn)動(dòng)任務(wù)和位置的刷新要與1588時(shí)鐘同步,F(xiàn)PGA內(nèi)的一個(gè)小電路提供對(duì)CPU的周期中斷來觸發(fā)這個(gè)位置刷新周期。這個(gè)電路將一個(gè)裝入目標(biāo)寄存器的時(shí)間與當(dāng)前的1588時(shí)鐘時(shí)間比較,在當(dāng)前時(shí)間與目標(biāo)時(shí)間符合時(shí)產(chǎn)生一個(gè)中斷。在這個(gè)中斷子程序內(nèi),CPU還會(huì)裝入一個(gè)新的目標(biāo)時(shí)間,它等于當(dāng)前目標(biāo)時(shí)間加上周期時(shí)間,然后重復(fù)這個(gè)過程。周期時(shí)間和相位是在節(jié)點(diǎn)配置過程中設(shè)置的。
1588的實(shí)現(xiàn)
1588協(xié)議是一個(gè)運(yùn)行在適配器上的C/C++工具,大多數(shù)1588協(xié)議的實(shí)現(xiàn)包括同步,診斷,延時(shí)請(qǐng)求,延時(shí)響應(yīng)和報(bào)文管理。1588引導(dǎo)協(xié)議用于在啟動(dòng)時(shí)加快時(shí)間從站的時(shí)鐘同步。實(shí)現(xiàn)8個(gè)同步報(bào)文的引導(dǎo)。
這里未提供“最佳主站”算法,本系統(tǒng)使用“推薦”主站選擇方法決定子網(wǎng)絡(luò)的主時(shí)鐘。在啟動(dòng)時(shí)從站時(shí)鐘無限期地收聽主時(shí)鐘。從時(shí)鐘永遠(yuǎn)不會(huì)成為主時(shí)鐘。也不會(huì)任命一個(gè)以上“推薦”主站。
為主時(shí)鐘完整性的監(jiān)視提供某些支持,如果一個(gè)從時(shí)鐘發(fā)現(xiàn)失去主時(shí)鐘,它將停止它的底版時(shí)鐘,這將引起SERCOS適配器關(guān)閉SERCOS環(huán)路,并且所有運(yùn)動(dòng)停止。
輸出同步
在范例應(yīng)用中需要根據(jù)主軸的位置精確地接通或斷開一個(gè)輸出。用這個(gè)輸出觸發(fā)一個(gè)選通燈,照亮所有三個(gè)軸的相位。為了達(dá)到精確的輸出閘門,使用一個(gè)特別的輸出組件,它的時(shí)鐘與系統(tǒng)中的其余時(shí)鐘同步,由控制器內(nèi)的運(yùn)動(dòng)計(jì)劃器向這個(gè)組件發(fā)送一個(gè)輸出值,這個(gè)值帶著時(shí)間標(biāo)記指示釋放輸出或停止輸出的時(shí)間。輸出組件使用先前說明過的任務(wù)同步電路管理輸出的“定時(shí)”以達(dá)到精確的輸出時(shí)間。
GPS作為最高主時(shí)鐘
本運(yùn)動(dòng)系統(tǒng)范例的啟動(dòng)時(shí)間缺省為時(shí)間為0的UTC時(shí)間。對(duì)運(yùn)動(dòng)系統(tǒng)通常不需要絕對(duì)時(shí)間,但對(duì)一些明顯的事件如故障條件,時(shí)間標(biāo)記可能很有用處。所以這里集成了一個(gè)全球定位系統(tǒng)(GPS)接口,用于提供精確的UTC時(shí)間源。并用作系統(tǒng)的最高主時(shí)鐘。這個(gè)接口集成在以太網(wǎng)適配器模塊上,適配器上的算法從GPS接收器接收“秒脈沖”和UTC刷新,并調(diào)節(jié)它的本地時(shí)鐘維持與GPS的同步。
結(jié)論
提供的1588在以太網(wǎng)分布運(yùn)動(dòng)系統(tǒng)的應(yīng)用例子是可靠和精確的應(yīng)用。硬件輔助電路提供的主時(shí)鐘和從時(shí)鐘之間的起伏精度不大于200納秒。當(dāng)使用GPS作為主時(shí)間基準(zhǔn)時(shí),在從時(shí)鐘的累計(jì)波動(dòng)為500納秒。如果耒自GPS接收器的秒脈沖信號(hào)的邊沿不清晰,還會(huì)產(chǎn)生附加的波動(dòng)。