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