基于CAN總線的網(wǎng)絡控制系統(tǒng)調(diào)度研究
1 引言
網(wǎng)絡控制系統(tǒng)(NCS)又稱網(wǎng)絡化的控制系統(tǒng),即在網(wǎng)絡環(huán)境下實現(xiàn)的控制系統(tǒng)。對網(wǎng)絡控制系統(tǒng)來說,由于系統(tǒng)中的信息源較多,信息的傳送要分時占用網(wǎng)絡通信線路,而網(wǎng)絡的承載能力和通信帶寬有限,從而使得信息在傳輸過程中不可避免地存在時延,并且該時延可能是固定的、時變的,甚至是隨機的。從控制的角度來看,這種時延會使系統(tǒng)的分析與設計變得更加復雜。解決網(wǎng)絡延時問題有兩種途徑:一是設計控制算法時充分考慮網(wǎng)絡延時的影響,這是控制器設計問題;二是在不考慮延時的情況下設計控制器,依靠改進調(diào)度算法保證信息傳輸?shù)膶崟r性,確??刂葡到y(tǒng)的穩(wěn)定和性能,這屬于信息調(diào)度問題。
本文以CAN總線為研究對象,經(jīng)過對網(wǎng)絡可調(diào)度性和調(diào)度算法的分析,提出了一種改進的混合調(diào)度算法(MTS),并利用TrueTime網(wǎng)絡控制工具箱進行網(wǎng)絡控制系統(tǒng)的仿真,分析調(diào)度算法對控制系統(tǒng)性能的影響,取得了較理想的效果。
2 調(diào)度算法
傳統(tǒng)的計算機控制理論假設對象輸出為等距采樣,即周期性地在kTm時刻進行采樣,其中Tm為采樣周期。這樣的假設可以得到線性時不變數(shù)據(jù)采樣系統(tǒng),并可大大簡化對系統(tǒng)穩(wěn)定性等性能的分析。然而,由于網(wǎng)絡傳輸延時及其不確定性的存在,等距采樣在NCS中不一定能得到保證。對于NCS,一般要求滿足的主要指標之一是延時的限定,即信息必須在限定的時間內(nèi)成功地被傳送,信息傳輸?shù)臅r間特性必須滿足系統(tǒng)的實時性要求。網(wǎng)絡調(diào)度主要集中在一個節(jié)點多久可以傳送一次信息,以及傳輸信息的優(yōu)先級。判斷網(wǎng)絡傳輸是否滿足該主要指標的過程及傳輸?shù)谋WC叫可調(diào)度性分析。
2.1 可調(diào)度性分析
信息的最糟糕響應時間即最長等待時間是可調(diào)度與否的一個重要參數(shù),它定義為從信息進入發(fā)送節(jié)點的傳輸隊列到被目標節(jié)點正確接收所需的最長時間。對任意一條信息Sm,它的最長等待時間Rm:
(1)
其中 Jm——信息Sm的擾動時間,即信息被排隊的最早和最晚時間差;
Im——信息Sm的等待延遲時間;
Cm——信息Sm的傳送時間。
要保障CAN總線信息傳輸?shù)膶崟r性,一條進入傳輸隊列的信息必須在下一條信息到來之前發(fā)送出,如果信息未及時傳送出去,會被下一條信息所覆蓋。因此,信息的傳送必須滿足
(2)
其中Dm為信息的截止期,表示信息從產(chǎn)生到被正確接收的最大允許時間。
如果每一條信息都滿足了此條件,我們就說網(wǎng)絡是可調(diào)度的,網(wǎng)絡調(diào)度算法選擇的目的是保證網(wǎng)絡的可調(diào)度性。
2.2 基本調(diào)度算法
CAN總線利用數(shù)據(jù)幀中的標識符表示信息的來源和優(yōu)先級。標識符既可以靜態(tài)設定,也可以動態(tài)設定,即利用標識符可以實現(xiàn)靜態(tài)或者動態(tài)的信息優(yōu)先級。在滿足可調(diào)度性的實時調(diào)度算法中,目前常用的是優(yōu)先級驅動的實時調(diào)度算法,它可分為靜態(tài)優(yōu)先級調(diào)度算法和動態(tài)優(yōu)先級調(diào)度算法。在靜態(tài)優(yōu)先級調(diào)度算法中,任務調(diào)度的優(yōu)先級在調(diào)度過程中固定不變,如固定優(yōu)先級調(diào)度算法(FP)和單調(diào)速率算法(RM)。RM根據(jù)信息的周期分配信息的優(yōu)先級,信息的周期越小,則優(yōu)先級越高。在動態(tài)優(yōu)先級調(diào)度算法中,任務調(diào)度的優(yōu)先級隨各控制任務的執(zhí)行時間或截止時間動態(tài)變化,任務優(yōu)先級不僅僅與任務自身有關系,而且與系統(tǒng)中其他任務有關,如最早時間限優(yōu)先算法(EDF)和截止期單調(diào)算法(DM)。DM根據(jù)信息的截止期分配信息的優(yōu)先級,信息的截止期越小,則優(yōu)先級越高。
2.3 改進的混合調(diào)度算法的提出
根據(jù)動態(tài)優(yōu)先級調(diào)度具有高利用率的特性,文獻[6]提出按照任務的絕對截止期為信息分配標識號,并設計出一種混合調(diào)度算法(MTS)。MTS算法是一種介于靜態(tài)優(yōu)先級調(diào)度算法和動態(tài)優(yōu)先級調(diào)度算法之間的折中算法。MTS算法的核心思想是將信息的絕對截止時間編入標識符中,充分利用信息的標識符反映信息截止期的變化,對高優(yōu)先級的信息使用EDF算法,對低優(yōu)先級的信息使用FP算法。由于在CAN總線中每個信息必須有唯一的標識號,MTS把標識號分成優(yōu)先級域、截止期域、節(jié)點域三個域,使標識號既反映截止期的變化,又能保證唯一性。在一個典型的系統(tǒng)中,由于截止期隨著時鐘的改變而改變,因此所有信息截止期域的內(nèi)容應該及時更新,而且還要與時鐘同步。為了解決上述問題,MTS算法采用分布式時鐘同步算法,并把時間分為幾個區(qū)間,根據(jù)截止期所在的時間區(qū)間進行截止期域內(nèi)容的編碼。
然而,對于由多臺電動機組成的多處理器網(wǎng)絡控制系統(tǒng),由于處理器的增多,以及一個采樣周期內(nèi)需要利用網(wǎng)絡傳送信息的節(jié)點增多,延時增大,這時一般的MTS算法并不適用。為提高網(wǎng)絡控制系統(tǒng)的實時性,這里對MTS算法進行改進。設原采樣周期為Tm ,令
(3)
其中N為大于1的自然數(shù),以TN為周期進行采樣,然而在每n次采樣中僅有一次采樣數(shù)據(jù)被通過網(wǎng)絡發(fā)送。設在從t0開始的一個采樣周期內(nèi), 時刻為采樣時刻,在任意一個采樣時刻進行采樣的數(shù)據(jù)被成功發(fā)送,則在時刻將不再采樣。在經(jīng)過這樣的改進后,網(wǎng)絡延時仍然存在,但信息的截止期Dm大大減小。信息傳送的等待時間如果超過截止期,數(shù)據(jù)將被拋棄,并重新采集數(shù)據(jù)等待發(fā)送,從而提高網(wǎng)絡控制系統(tǒng)的實時性。由于在一個周期內(nèi)最多進行N次采樣,因此處理器的處理速度需要相應提高,單片微處理器速度的大幅度提高及數(shù)字信號處理器的出現(xiàn)解決了這一問題。
3 基于CAN總線的網(wǎng)絡控制系統(tǒng)仿真
TrueTime工具箱是Dan Henriksson和Anton Cervin等學者開發(fā)的一種基于Matlab的網(wǎng)絡控制仿真工具箱,它為網(wǎng)絡控制系統(tǒng)的研究提供了很好的研究工具。
3.1 網(wǎng)絡控制系統(tǒng)仿真平臺的構建
利用TrueTime工具箱,構建由一臺計算機通過CAN總線控制四臺直流電動機的多處理器網(wǎng)絡控制仿真系統(tǒng),分析調(diào)度算法對控制性能的影響,仿真原理圖如圖1所示。
圖1 網(wǎng)絡控制系統(tǒng)仿真原理圖
被控直流電動機用以下的傳遞函數(shù)表示:
(4)
在普通PID數(shù)字控制器中引入積分環(huán)節(jié)的目的主要是為了消除靜差、提高精度,但在電機啟動或停止時,會造成PID運算的積分積累,最終引起系統(tǒng)較大的超調(diào),甚至引起系統(tǒng)的震蕩,所以實際應用中宜采用積分分離PID控制算法。
設在偏差絕對值不小于某設定值 (偏差比較大)時采用PD算法,即
其中, y(k)為當前周期的輸出值, y(k-1)為上一周期的輸出值,r(k),u(k)分別為給定值和控制器的輸出值,Td=0.035s, K=1.5, ε=0.1,定義傳感器的采樣周期Tm=10ms,數(shù)據(jù)計算、傳感器數(shù)據(jù)采集和執(zhí)行器的動作所產(chǎn)生的時間延時均為0.1ms。
在偏差絕對值小于設定值 ε(偏差比較?。r采用PID算法,即在PD算法的基礎上加入積分環(huán)節(jié):
其中積分時間常數(shù)Ti=0.15,I(k),I(k-1)分別為當前周期和前一周期的積分分量,在引進積分分離PID控制算法前后,網(wǎng)絡控制系統(tǒng)的控制效果如圖2所示。
圖2 積分分離PID控制算法效果圖
由圖可見,采用一般PID控制算法時超調(diào)量超過45%,采用積分分離PID控制算法時超調(diào)量不超過5%,采用積分分離PID控制算法使得控制系統(tǒng)的動態(tài)性能有了很大改善。
3.2 仿真結果
以建立的網(wǎng)絡控制系統(tǒng)仿真平臺為基礎,進行網(wǎng)絡控制系統(tǒng)的仿真,研究網(wǎng)絡調(diào)度對控制系統(tǒng)性能的影響。設定CAN總線的波特率為250Kbps,丟包率為0,使用一般的混合調(diào)度算法(MTS)進行仿真,其仿真結果如圖3所示。圖3(a)是四個控制子系統(tǒng)的方波響應,圖3(b)是從網(wǎng)絡調(diào)度(Schedule)窗口所看到的前三個采樣周期的網(wǎng)絡調(diào)度狀況。
圖3 應用混合調(diào)度算法時的仿真結果
由圖3(a)可知,由于網(wǎng)絡延時較大,其中兩個控制子系統(tǒng)的動態(tài)響應較差,超調(diào)量超過14%,調(diào)節(jié)時間超過0.2s。在圖3(b)網(wǎng)絡調(diào)度狀況圖中,縱坐標表示節(jié)點號。根據(jù)CAN協(xié)議,節(jié)點號較小的節(jié)點具有較高的優(yōu)先級,控制器節(jié)點1具有最高的優(yōu)先級,傳感器節(jié)點9具有最低的優(yōu)先級。節(jié)點7、節(jié)點9的網(wǎng)絡等待延時都較大(超過2ms),這是造成其中兩個控制子系統(tǒng)動態(tài)性能較差的原因。隨著網(wǎng)絡節(jié)點的增多,最低優(yōu)先級節(jié)點所在的控制子系統(tǒng)的動態(tài)性能會變得更差。
用本文所提出的改進的混合調(diào)度算法進行仿真,僅修改調(diào)度算法,其他條件不變,取 即 ,方波輸入時的四個控制子系統(tǒng)響應及網(wǎng)絡調(diào)度狀況如圖4所示。
圖4 應用改進的混合調(diào)度算法時的仿真結果
由圖4(a)可知,當用改進的混合調(diào)度算法進行網(wǎng)絡控制系統(tǒng)的仿真時,超調(diào)量不超過5%,調(diào)節(jié)時間不超過0.13s,無靜差。網(wǎng)絡調(diào)度窗口的網(wǎng)絡狀況圖4(b)表明,網(wǎng)絡沖突還會出現(xiàn),但網(wǎng)絡延時較小。節(jié)點7和節(jié)點9的信息傳輸時刻和MTS算法相同,但是前兩次的采樣數(shù)據(jù)都由于時延太長而被拋棄,只有第三次的采樣數(shù)據(jù)被成功傳送。即使再增加節(jié)點,傳感器節(jié)點的網(wǎng)絡傳輸?shù)却龝r延不超過1ms,比一般MTS算法大大減小。
4 結論
本文作者創(chuàng)新點:本文提出了一種改進的混合調(diào)度算法,在不改變實際采樣周期的情況下減少了網(wǎng)絡控制的時延,建立了基于CAN總線的多節(jié)點網(wǎng)絡控制系統(tǒng)仿真平臺,仿真結果證明了該算法在信息調(diào)度中的有效性。網(wǎng)絡控制系統(tǒng)的信息調(diào)度算法對系統(tǒng)的實時性有著重要影響,設計合適的調(diào)度算法能夠將網(wǎng)絡傳輸延時限制在一定的范圍內(nèi),本文僅在特定條件下對網(wǎng)絡調(diào)度算法進行改進,對于適合各種條件的通用的信息調(diào)度算法需要進一步研究。