国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

大型多板造波系統(tǒng)的多控制器同步技術(shù)研究

2020-04-29 13:02李木國
計算機(jī)測量與控制 2020年4期
關(guān)鍵詞:主站寄存器驅(qū)動器

李木國,劉 壯,2,杜 海

(1.大連理工大學(xué) 海岸與近海工程國家重點實驗室,遼寧 大連 116024; 2.大連理工大學(xué) 控制科學(xué)與工程學(xué)院,遼寧 大連 116024)

0 引言

造波機(jī)是海洋工程實驗室必備的大型設(shè)備之一,其用途在于通過海洋波浪場的人工模擬,輔助海洋工程實驗室階段的模型驗證。從設(shè)計原理角度來看,造波機(jī)是一種運動控制設(shè)備。大型水池造波機(jī)往往需要數(shù)百根伺服軸協(xié)同運動。以當(dāng)前的控制器技術(shù)水平,單臺控制器完全可以承擔(dān)控制上百塊造波板運動的任務(wù)。然而,由于人工造波模擬時二次反射波的主動吸收方法需要高性能的計算來配合,致使設(shè)計吸收式造波機(jī)時需要多臺高性能控制器協(xié)同完成造波控制任務(wù)。與此同時,采用軟PLC技術(shù)的控制器因具有較高的程序設(shè)計靈活性,因而受到了廣大控制系統(tǒng)開發(fā)人員的喜愛,但軟PLC區(qū)別于傳統(tǒng)PLC的硬件同步的基于PC的軟同步控制,同時吸收式算法每個周期修正伺服軸的運動軌跡,所以系統(tǒng)的同步性成為影響造波機(jī)造波精度的關(guān)鍵因素[1]。目前,單臺運動控制器采用EtherCAT現(xiàn)場總線技術(shù)控制多根伺服軸的同步性已經(jīng)得到了很好的研究。而多臺運動控制器之間的同步性卻研究較少。

本文采用德國倍福(BECKHOFF)公司的CX2000系列控制器進(jìn)行多板造波控制,并基于EtherCAT總線進(jìn)行系統(tǒng)通信架構(gòu)設(shè)計,通過EtherCAT的分布式時鐘同步特性與多控制器時鐘補(bǔ)償相融合的方法探討大型造波系統(tǒng)中的同步控制方法:首先進(jìn)行造波機(jī)原理概述,然后對EtherCAT網(wǎng)絡(luò)及其同步控制功能進(jìn)行闡述,其次根據(jù)多控制器的設(shè)計需求提出了造波控制的任務(wù)周期時延的補(bǔ)償方法,最后通過系統(tǒng)的造波運動控制實驗對本文所提的同步控制方法進(jìn)行驗證。

1 造波系統(tǒng)簡介

1.1 造波機(jī)工作原理

如圖1所示,搖板式造波系統(tǒng)和推板式造波系統(tǒng)原理都是電機(jī)的圓周運動通過滾珠絲杠轉(zhuǎn)換成直線運動來推動造波板運動[2]。

圖1 推板式和搖板式示意圖

水池水深為h,造波板入水深度為d,水池?zé)o反射,且水是理想不可壓縮、無旋運動液體,波高與造波板沖程的比值關(guān)系可由微幅波理論計算得到式(1)[3],推導(dǎo)過程詳見文獻(xiàn)[3]。

(1)

式(1)中,H為造波板板前波高,A為造波板的擺幅或沖程,k為波數(shù),α=0表示推板式造波機(jī),α=1表示搖板式造波機(jī),且波浪的角頻率和波數(shù)滿足色散方程。

1.2 系統(tǒng)結(jié)構(gòu)圖

本文構(gòu)建的多控制器運動同步測試系統(tǒng)主要由倍福CX2030控制器、EL6695網(wǎng)橋、AX5112驅(qū)動器、AM8000電機(jī)等構(gòu)成,如圖2所示。CX2030控制器采用雙核i7 處理器(主頻1.5 GHz)和2 GB的內(nèi)存,軟件環(huán)境為TwinCAT (The Windows control and automation technology) 3,TwinCAT是一種基于軟件的PLC運行環(huán)境,基于Windows操作系統(tǒng)實現(xiàn)了實時運行核,保證PLC任務(wù)周期的實時性。TwinCAT 3支持多核技術(shù),允許不同的PLC任務(wù)運行于不同的CPU核上。為實現(xiàn)主動吸收式的造波系統(tǒng)提供了良好的硬件支持。

圖2 系統(tǒng)整體結(jié)構(gòu)圖

1.3 EtherCAT網(wǎng)絡(luò)簡介

EtherCAT具有高帶寬利用率、高實時性和拓?fù)浣Y(jié)構(gòu)靈活的工業(yè)以太網(wǎng)技術(shù)。它在數(shù)據(jù)鏈路層是專用的ESC(EtherCAT slave controller)控制器,而在物理層與標(biāo)準(zhǔn)以太網(wǎng)設(shè)備兼容。區(qū)別于標(biāo)準(zhǔn)以太網(wǎng)鏈路層存儲轉(zhuǎn)發(fā)機(jī)制,EtherCAT數(shù)據(jù)幀經(jīng)過ESC控制器時是動態(tài)插入和讀取數(shù)據(jù),數(shù)據(jù)不做緩存,明顯的縮短數(shù)據(jù)傳輸處理延遲時間[4],數(shù)據(jù)處理時間延遲僅為幾納秒[5]。

圖3 EtherCAT報文

2 單控制器同步原理

如圖2,通過EtherCAT網(wǎng)絡(luò)造波系統(tǒng)中每個控制器對電機(jī)驅(qū)動器進(jìn)行控制運動,EtherCAT網(wǎng)絡(luò)自身的分布時鐘特性是同步性能將依據(jù)(參考IEEE1588標(biāo)準(zhǔn)采用分布式時鐘來同步整個EtherCAT網(wǎng)絡(luò)的精確時鐘同步機(jī)制,各從站的動作同時執(zhí)行,同步誤差小于1 μs[6])。控制系統(tǒng)中所存在的時鐘不同步原因及其導(dǎo)致的偏差:

1)每個從站在上電運行時的啟動時間不同;造成了從站時鐘的固定偏差

2)每個從站晶振頻率由物理原因?qū)е挛⑿〔顒e;導(dǎo)致從站時鐘產(chǎn)生漂移,隨著系統(tǒng)運行時間的增加,漂移會越大

EtherCAT同步機(jī)制有效的的消除了上述兩種因素的影響。

具有EtherCAT接口的電機(jī)驅(qū)動器作為網(wǎng)絡(luò)從設(shè)備管理著系統(tǒng)時間、本地時間和參考時間3個變量[7]。本地時間是與系統(tǒng)時間獨立的,它記錄從站系統(tǒng)自上電運行起的時間。每個EtherCAT網(wǎng)絡(luò)中都有一個參考時間,系統(tǒng)會選定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中第一個具有DC能力的從設(shè)備的系統(tǒng)時間作為參考時間。分布式時鐘同步機(jī)制會使整個EtherCAT系統(tǒng)同步于參考時間。整個同步過程可以分為3個階段:傳輸延遲補(bǔ)償、時鐘初始偏移補(bǔ)償和動態(tài)漂移補(bǔ)償[8]。時鐘初始偏移補(bǔ)償消除了由原因1引起的誤差,動態(tài)漂移補(bǔ)償消除了由原因2引起的誤差。傳輸延遲補(bǔ)償則是為了消除拓?fù)浣Y(jié)構(gòu)和數(shù)據(jù)處理引起的傳輸時延。

2.1 傳輸延遲補(bǔ)償

首先,主站確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是通過讀取所有從站的DL Status寄存器實現(xiàn)的,然后,發(fā)送一個廣播寫數(shù)據(jù)幀,從站在數(shù)據(jù)幀首位到達(dá)從站的Port 0-3端口時根據(jù)拓?fù)浣Y(jié)構(gòu)將本地時間鎖存至Receive Time Port 0-3寄存器。最后,主站寫入從站的System Time Delay寄存器值是根據(jù)各從站Receive Time Port 0-3寄存器的值計算各從站與參考時間之間的傳輸延遲。選取3個從站網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為例,計算原理如下。

首先,主站會讀取所有從站的DL Status寄存器來確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),緊接著會發(fā)送一個廣播寫數(shù)據(jù)幀,當(dāng)這個數(shù)據(jù)幀的首位到達(dá)從站的Port 0-3端口時,從站會根據(jù)拓?fù)浣Y(jié)構(gòu)將本地時間鎖存至Receive Time Port 0-3寄存器。然后主站會讀取所有從站的Receive Time Port 0-3寄存器的值。主站根據(jù)這些值計算各從站與參考時間之間的傳輸延遲,并將這些值寫入相應(yīng)從站的System Time Delay寄存器。以3個從站為例,網(wǎng)絡(luò)拓?fù)淙鐖D2所示,計算原理簡述如下。

圖4 傳輸延遲計算網(wǎng)絡(luò)拓?fù)鋱D

圖4中,tX0表示從站Port 0接收到數(shù)據(jù)幀的時間;tX1表示從站Port 1接收到數(shù)據(jù)幀的時間;tPX表示處理傳輸延遲;tFX表示前向傳輸延遲;tXY表示數(shù)據(jù)幀從從站X到從站Y之間的延遲。則有:

tAB=tPA+tWAB

(2)

tBA=tFB+tWBA

(3)

tBC=tPB+tWBC

(4)

tCB=tPD+tWCB

(5)

假設(shè)物理層的傳輸延遲都相同;每個從站的處理傳輸時間延遲都相同,則有tP=tPA=tPB=tPC;每個從站的前向傳輸時間延遲都相同,則有tF=tFA=tFB;處理傳輸延遲與前向傳輸延遲的差記為tDiff=tP-tF。基于以上假設(shè),可得,

tAB=((tA1-tA0)-(tB1-tB0)+tDiff)/2

(6)

tBA=((tA1-tA0)-(tB1-tB0)-tDiff)/2

(7)

tBC=tCB=(tB1-tB0)/2

(8)

由于數(shù)據(jù)處理延遲只有幾個納秒,則有tDiff近似為0。那么,可得式(9):

tAB=tBA=((tA1-tA0)-(tB1-tB0))/2

(9)

根據(jù)式(8)、(9)可以計算出每個從站到參考時間從站的傳輸延遲tprop_delay。

2.2 時鐘初始偏移補(bǔ)償

主站計算每個從站的本地時間與參考時間的差值,并將這個差值寫入System Time Offset寄存器中,這個過程僅在EtherCAT初始化的時候執(zhí)行一次。每個非參考時間設(shè)備可以通過式(10)計算一個復(fù)制的系統(tǒng)時間。

tcopy_sys_time=tloc_time+toffset

(10)

主站將按照式(10)來設(shè)置參考時間設(shè)備的System Time Offset寄存器的值。

toffset=tmaster_time-tloc_time

(11)

依據(jù)式(10)和式(11),參考時間設(shè)備計算的系統(tǒng)時間就是主站時間;這樣,整個EtherCAT網(wǎng)絡(luò)的系統(tǒng)時間都同步于主站時間[9]。此時并沒有將傳輸延遲計算在內(nèi),動態(tài)漂移補(bǔ)償會將傳輸延遲計算在內(nèi)。

2.3 動態(tài)漂移補(bǔ)償

引起從站設(shè)備時鐘發(fā)生漂移的因素可能會隨著時間的改變而改變比如,溫度、供電電壓和設(shè)備老化等因素。因此主站會周期性的發(fā)送ARMW數(shù)據(jù)幀,將參考時間設(shè)備的系統(tǒng)時間分發(fā)至所有其他從設(shè)備。從站設(shè)備會根據(jù)式(12)進(jìn)行漂移補(bǔ)償:

Δt=(tloc_time+toffset-tprop_delay)-

trecv_sys_time

(12)

實際的漂移補(bǔ)償過程非常復(fù)雜,這里簡述如下,若從站計算的偏差大于0,說明本地時間比系統(tǒng)時間快,則本地時間需要減慢;若從站計算的偏差小于0,說明本地時間比系統(tǒng)時間慢,則本地時間需要加速。為了縮短同步過程的時間,在EtherCAT系統(tǒng)計算出傳輸延遲和時鐘初始偏移后,主站會發(fā)送大約15 000個ARMW數(shù)據(jù)幀,使從站時鐘趨于穩(wěn)定;這之后,主站才會周期性的發(fā)送ARMW數(shù)據(jù)幀來動態(tài)調(diào)節(jié)從站時鐘。

3 多控制器時鐘補(bǔ)償方法

受造波計算的需求影響,大型吸收式造波系統(tǒng)中往往存在多個控制器進(jìn)行人工波浪的模擬,因此控制器之間控制數(shù)據(jù)時間戳的對齊成為系統(tǒng)正常運行的一個關(guān)鍵性問題。

3.1 多控制器時鐘同步

本文所采用系統(tǒng)結(jié)構(gòu)如圖2所示,簡化的3個主站,主站之間采用EL6695網(wǎng)橋來進(jìn)行時鐘同步與數(shù)據(jù)的實時傳輸。每個EL6695都包含兩個獨立的從站設(shè)備,分別稱為一次側(cè)和二次側(cè)[10],整個系統(tǒng)的同步結(jié)構(gòu)原理可簡化為圖5。

圖5 系統(tǒng)同步結(jié)構(gòu)原理圖

主站1設(shè)置為獨立時鐘模式,主站2、3設(shè)置為外部時鐘同步模式,則整個系統(tǒng)的DC時鐘將同步于主站1的參考時鐘。系統(tǒng)中由主站1、EK1122網(wǎng)絡(luò)耦合器、兩個EL6695的一次側(cè)和驅(qū)動器構(gòu)成了上層EtherCAT同步網(wǎng)絡(luò)。此時EtherCAT網(wǎng)絡(luò)的時鐘同步于這個網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中第一個支持分布式時鐘功能的從站[11],這里為EL6695的一次側(cè)。主站2、3分別與EL6695的二次側(cè)和它們下面掛載的驅(qū)動器構(gòu)成了下層EtherCAT同步網(wǎng)絡(luò),每個下層同步網(wǎng)絡(luò)都同步于各自的參考時鐘。主站2、3會根據(jù)外部參考時鐘(EL6695的一次側(cè))周期性的調(diào)節(jié)各自的時鐘,使得時間差值無限接近于tDcToExtTimeOffset(系統(tǒng)補(bǔ)償常量值)補(bǔ)償值,在實驗測試中取差值小于10 ns。兩個EtherCAT主站之間時鐘同步到ns級別[12],主站2、3根據(jù)式(13)計算同步的DC時間。

tSyncDcTime=tLocDcTime+tDcToExtOffset

(13)

同步后,整個系統(tǒng)的DC時間將保持一致,SYNC中斷也會被同步。

3.2 多主站的任務(wù)同步

由于本系統(tǒng)采用的控制器基于Windows軟PLC設(shè)計,它并沒有很好的硬件觸發(fā)機(jī)制來保證多個控制器任務(wù)的同時執(zhí)行。經(jīng)過測試發(fā)現(xiàn),當(dāng)PLC周期與CPU時間基一致時,任務(wù)周期是同步執(zhí)行的。然而,當(dāng)任務(wù)周期大于這個時間基時,則不同控制器的PLC任務(wù)周期的起始時刻會存在不同;例如任務(wù)周期設(shè)置大于1 ms時,控制器間任務(wù)的起始時刻將產(chǎn)生的同步誤差。設(shè)置PLC的任務(wù)周期(CycTimeNs)設(shè)為4 ms,進(jìn)行實驗測試。

3.3 延遲補(bǔ)償算法

如前所述,大型造波機(jī)系統(tǒng)通常由數(shù)個控制器構(gòu)成,為了簡化工程實施,不采用硬件信號觸發(fā)形式。上位機(jī)軟件通過TCP/IP連接發(fā)送開始命令給邏輯主控制器,邏輯主控制器通過EL6695發(fā)送開始命令給兩個邏輯從控制器,由于EL6695的實現(xiàn)機(jī)制數(shù)據(jù)傳輸會有大約兩個周期的延時,不同邏輯從控制器接收到開始指令的時間會有偏移誤差,而這種差異將保持不變。因而可以通過延遲補(bǔ)償方法的設(shè)計來消除這種差異,在本文中將采用如下的步驟進(jìn)行計算:

1)邏輯主控制器通過F_GetCurDcTaskTime64()函數(shù)獲得當(dāng)前任務(wù)周期的起始時刻tLocalDcTime;然后在此循環(huán)周期發(fā)送同步測試指令給兩個邏輯從控制器,邏輯從控制器在接收到同步測試指令后,分別記錄當(dāng)前任務(wù)周期的起始時刻t2SlaveDcTime和t3SlaveDcTime;主站2、3根據(jù)式(14)計算同步的DC時間。

tSlaveDcTime=tLocDcTime+tDcToExtTimeOffset

(14)

2)將這個起始時刻再傳回邏輯主控制器,邏輯主控制器將計算從發(fā)送同步測試指令起,到兩個邏輯從控制器接收到這個指令的時間差,并計算差值的最大值tmaxDelayTime。根據(jù)式(15)計算最大延遲周期(取整),從而得到主控制器的延遲周期數(shù)和延遲時間,

nmaxDelayCyele=tmaxDelayTime/CycTimeNs

(15)

tmasterDelayTime=nmaxDelayCyele*CycTimeNs

(16)

3)主控制器延遲后,計算從控制器延遲時間,根據(jù)延時周期后的主控制器和從控制器延遲時間比較找到最小延遲時間tminDelaytime,讓3個控制器均以此延遲時間EtherCAT主站位對齊,算出每個控制器的補(bǔ)償時間通過ADS寫入驅(qū)動器寄存器Sync offset中:

tmaterShiftTime=tmaxDelayTime-tminDelayTime

(17)

tSlaveShiftTime=tSlaveDelayTime-tminDelayTime

(18)

4)主控制器在延遲nmaxDelayCyele個周期后向從控制器發(fā)送開始運動控制命令。

4 實驗與討論

為了驗證所提的多控制器時間補(bǔ)償方法的有效性,在大連理工大學(xué)海岸和近海工程國家重點實驗室水槽中采用多控制器多板造波形式進(jìn)行實驗設(shè)計。實驗水池為長10 m,寬1 m,高2.4 m,試驗水深為1.9 m,搖板實驗樣機(jī)為兩塊0.5 m寬造波板組成,兩個伺服電機(jī)由兩個從控制器控制。實驗樣機(jī)如圖6所示。實驗中,將每個控制器的PLC周期都設(shè)置為4 ms,邏輯主控制器配置為獨立時鐘模式,兩個邏輯從控制器配置為外部同步模式[13]。下面將采用驅(qū)動器探針法與示波器直接觀測法對時間補(bǔ)償前后的同步性能進(jìn)行測試。

圖6 搖板造波實驗現(xiàn)場

4.1 示波器直接觀測

將驅(qū)動器的模擬輸出口(最大5 μs漂移)配置為輸出模式。MFC編寫的上位機(jī)軟件通過ADS通信向邏輯主控制器發(fā)送開始指令,采用本文所提的延遲補(bǔ)償算法來控制驅(qū)動器的模擬輸出同步輸出。使用示波器的觸發(fā)功能來觀察電平的變化,如圖7~8所示。

圖7 不補(bǔ)償2 ms同步誤差

如圖7所示,不補(bǔ)償時兩個從EtherCAT網(wǎng)絡(luò)存在2 ms同步誤差。與之對應(yīng),圖7是補(bǔ)償后的結(jié)果輸出顯示。從圖8中可以清楚觀察到通過補(bǔ)償后同步誤差小于10 μs,這種誤差下造波機(jī)的推波板位移誤差不會超過30 μm[14],完全滿足造波的精度需求。

表1 實驗數(shù)據(jù)

圖8 補(bǔ)償后同步誤差

4.2 驅(qū)動器探針測量

伺服驅(qū)動器探針功能能夠得到某一時刻電機(jī)編碼器數(shù)值,伺服電機(jī)設(shè)定速度為1000 mm/s,實際轉(zhuǎn)速為166 rpm,通過同一時刻的編碼器差值來比較電機(jī)的位置偏差。實驗數(shù)據(jù)如表1所示,編碼為16位單圈編碼器,即一圈為65535,實驗數(shù)據(jù)為10次平均值。

通過表1中編碼器差值可容易得到兩臺電機(jī)的實際位置偏差。結(jié)果數(shù)據(jù)表明,補(bǔ)償前電機(jī)位置偏差計算出的時間和示波器觀測值相近為ms級偏差,而補(bǔ)償后偏差明顯變小為μs級別(結(jié)果中所出現(xiàn)的60 μs偏差在左右是因為電機(jī)抖動和現(xiàn)場電磁干擾造成的)。結(jié)果明顯表明了經(jīng)過本文的時間補(bǔ)償同步性能有了較大層次的提高。

4.3 搖板樣機(jī)實驗

圖9是采用本文所提的多控制器同步控制方法進(jìn)行人工造波的一個場景,實驗中按照波浪生成規(guī)律測試了不同周期和波高的規(guī)則波和不規(guī)則波。從現(xiàn)場實驗所產(chǎn)生的波浪品質(zhì)也可以看出,本文所提出的同步控制方法所產(chǎn)生的波浪無偏移現(xiàn)象,具有較強(qiáng)的實用性。

圖9 波浪模擬場景圖

5 結(jié)論

本文基于工業(yè)以太網(wǎng)EtherCAT技術(shù)探索了多控制器波浪模擬技術(shù),并深入研究了造波控制中各個部分的時鐘同步問題及解決方法。與此同時,針對當(dāng)今先進(jìn)的軟PLC技術(shù)在造波系統(tǒng)應(yīng)用時存在的數(shù)據(jù)對齊問題,提出了多控制器時間延遲補(bǔ)償方法,該方法有效地消除了多控制器之間接收開始命令的不確定性。最后采用了3臺運動控制器,使用多個網(wǎng)絡(luò)耦合器和EL6695網(wǎng)橋搭建了多控制器造波實驗平臺,并通過實驗證實了本文所提方法可以將造波系統(tǒng)的同步誤差控制在10 μs以內(nèi),完全滿足了今后大型多板吸收式造波系統(tǒng)的需求。

猜你喜歡
主站寄存器驅(qū)動器
V型電熱驅(qū)動器理論模型及動態(tài)特性
氣動網(wǎng)絡(luò)多腔室彎曲軟體驅(qū)動器結(jié)構(gòu)優(yōu)化
藏起驅(qū)動器號確保數(shù)據(jù)安全
常用電子測速法在某數(shù)字信號處理器中的應(yīng)用*
飛思卡爾單片機(jī)脈寬調(diào)制模塊用法研究
移位寄存器及算術(shù)運算應(yīng)用
縣級配電自動化主站系統(tǒng)的設(shè)計
PLC控制技術(shù)在皮帶上料中的應(yīng)用
產(chǎn)品
青岛市| 黔江区| 社会| 平利县| 卫辉市| 林口县| 定边县| 建德市| 红河县| 连云港市| 措美县| 铜陵市| 工布江达县| 内乡县| 黄平县| 新龙县| 麟游县| 油尖旺区| 德保县| 宜昌市| 即墨市| 泰顺县| 南康市| 青田县| 长乐市| 汉沽区| 和平县| 商水县| 霍林郭勒市| 海兴县| 龙州县| 固安县| 孟津县| 南溪县| 乌鲁木齐市| 通城县| 庄浪县| 深泽县| 云林县| 富源县| 漯河市|