文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.09.030
中文引用格式: 汪繁榮,萬英杰. 網(wǎng)絡(luò)控制系統(tǒng)時延解決方案的研究[J].電子技術(shù)應(yīng)用,2015,41(9):110-113,117.
英文引用格式: Wang Fanrong,Wan Yingjie. Research on solution of time delay in networked control system[J].Application of Electronic Technique,2015,41(9):110-113,117.
0 引言
隨著計算機網(wǎng)絡(luò)通信和智能傳感技術(shù)的飛速發(fā)展,自動化技術(shù)發(fā)生了革命性的變化。計算機控制系統(tǒng)從集中式控制過渡到集散控制以及現(xiàn)場總線控制,直到今天的基于網(wǎng)絡(luò)的分布式控制。這種分布式工作方式徹底地改變了傳統(tǒng)控制系統(tǒng)中反饋的應(yīng)用,網(wǎng)絡(luò)控制系統(tǒng)(NCS)應(yīng)運而生。進入二十一世紀,工業(yè)控制技術(shù)與計算機通信網(wǎng)絡(luò)技術(shù)的進一步結(jié)合催生了現(xiàn)場總線系統(tǒng)[1]。這使得封閉的專用協(xié)議變成開放的標(biāo)準協(xié)議,因設(shè)備節(jié)點中包含了數(shù)字處理器,而具有較強的數(shù)字計算和通信能力,可實現(xiàn)真正意義上的分布式控制。
與傳統(tǒng)的點對點控制系統(tǒng)相比,網(wǎng)絡(luò)控制系統(tǒng)具有連線少、結(jié)構(gòu)靈活、通信協(xié)議開放等諸多優(yōu)點。但通信網(wǎng)絡(luò)介入使得網(wǎng)絡(luò)控制系統(tǒng)的分析和設(shè)計變得更為復(fù)雜[2],不可靠的網(wǎng)絡(luò)傳輸方式導(dǎo)致許多的不確定性,主要問題有:網(wǎng)絡(luò)誘導(dǎo)延時、數(shù)據(jù)丟包、單包傳輸與多包傳輸、數(shù)據(jù)包時序錯亂、噪聲干擾等。
針對網(wǎng)絡(luò)控制系統(tǒng)中數(shù)據(jù)傳輸?shù)亩嘀芷诤?a class="innerlink" href="http://ihrv.cn/tags/時延" title="時延" target="_blank">時延的相關(guān)問題,本文運用預(yù)測控制算法,采用多步測試、滾動優(yōu)化和反饋校正等控制策略,通過優(yōu)化控制序列來改善系統(tǒng)在擁堵環(huán)境下的控制效果。最后利用MATLAB對網(wǎng)絡(luò)預(yù)測控制進行仿真驗證,結(jié)果表明此預(yù)測控制算法能夠極大改善網(wǎng)絡(luò)時延下的控制輸出效果。
1 網(wǎng)絡(luò)控制回路的設(shè)計
1.1 網(wǎng)絡(luò)預(yù)測控制結(jié)構(gòu)
在網(wǎng)絡(luò)控制系統(tǒng)中,系統(tǒng)結(jié)構(gòu)的主要特征是傳感器、控制器和執(zhí)行器非點對點的直接相連,而是通過串行數(shù)字通信接口接入公網(wǎng)(或者無線網(wǎng))進行數(shù)據(jù)和控制信息的交換[3]。所有設(shè)備共享一個傳輸通道,實現(xiàn)設(shè)備間的數(shù)據(jù)交換、資源共享和相互協(xié)作[4]。典型的網(wǎng)絡(luò)控制系統(tǒng)結(jié)構(gòu)如圖1所示。
在NCS中,系統(tǒng)的節(jié)點驅(qū)動方式有兩類:時鐘驅(qū)動和事件驅(qū)動。時鐘驅(qū)動指網(wǎng)絡(luò)節(jié)點在預(yù)定的時間啟動工作,時鐘驅(qū)動可使網(wǎng)絡(luò)節(jié)點周期性的工作;而事件驅(qū)動則使網(wǎng)絡(luò)節(jié)點在特定的事件發(fā)生時啟動工作[5]。一般情況下,NCS中的傳感器為時鐘驅(qū)動,且采用系統(tǒng)時鐘;控制器和執(zhí)行器既可采用時鐘驅(qū)動,也可以采用事件驅(qū)動。本文針對解決網(wǎng)絡(luò)時延而設(shè)計的網(wǎng)絡(luò)預(yù)測控制分為控制端和被控對象端兩個部分,它們通過網(wǎng)絡(luò)進行連接。控制端采用事件驅(qū)動,被控對象端采用時鐘驅(qū)動,整個控制回路的結(jié)構(gòu)如圖2。
當(dāng)控制器端收到反饋通道回傳過來的數(shù)據(jù)時,事件被觸發(fā),控制器生成相應(yīng)的預(yù)測序列;如果沒有收到任何反饋數(shù)據(jù),則控制器端處于閑置狀態(tài)。被控對象端以系統(tǒng)時鐘作為驅(qū)動,以控制序列作為數(shù)據(jù)源并從中選取相應(yīng)的控制信號來對具體設(shè)備進行控制,這些來自于預(yù)測控制算法的控制序列可以實現(xiàn)對網(wǎng)絡(luò)時延的補償[6]。
網(wǎng)絡(luò)預(yù)測控制系統(tǒng)的實現(xiàn)步驟:
(1)不考慮網(wǎng)絡(luò),設(shè)計本地PI控制器,滿足系統(tǒng)性能需求。
(2)根據(jù)已發(fā)出的控制信號、輸出信號以及參考輸入值,建立起預(yù)測控制序列生成器,通過計算生成預(yù)測輸出控制信號。
(3)引入網(wǎng)絡(luò)環(huán)節(jié),預(yù)測生成器在產(chǎn)生完整的數(shù)據(jù)序列后,將輸出序列打包并傳送到被控對象端的網(wǎng)絡(luò)時延補償器。
(4)網(wǎng)絡(luò)時延補償器作為數(shù)據(jù)選擇器,從控制序列中選擇出符合當(dāng)前時刻值的控制值作為執(zhí)行器輸入信號。
1.2 設(shè)備模型和本地控制
假設(shè)系統(tǒng)t時刻的輸入和輸出分別是u(t)和y(t),則輸入輸出滿足的線性差分等式為:
y(t)+a1y(t-1)+…+any(t-n)=b1u(t-1)+…+bm u(t-m)
(1)
因為觀測數(shù)據(jù)常常是通過采樣獲得的,通過上面的表示方法可以很直接地將離散時間系統(tǒng)模型的相關(guān)觀測數(shù)據(jù)關(guān)聯(lián)起來。為了描述方便,在式(1)中,可以假設(shè)采樣時間間隔為一個時間單位。進行簡單變換,就可以變成一個能夠根據(jù)已經(jīng)給定的以前的觀測結(jié)果來得到之后的輸出公式:
y(t)=-a1y(t-1)-…-any(t-n)+b1u(t-1)+…+bm u(t-m)
(2)
1.3 預(yù)測控制器設(shè)計
往本地控制系統(tǒng)中引入網(wǎng)絡(luò)節(jié)點,帶控制相關(guān)序列的預(yù)測控制相應(yīng)的數(shù)據(jù)流通如圖3所示。
控制端主要由預(yù)測控制器組成,預(yù)測控制器負責(zé)接收來自控制器端反饋通道并通過遞歸公式計算生成下一控制周期相應(yīng)的控制序列,然后通過網(wǎng)絡(luò)回傳到設(shè)備端。設(shè)備端通過選擇器承接控制序列數(shù)據(jù),然后選擇出控制數(shù)據(jù),直接作為設(shè)備的輸入控制量。設(shè)備端完成對設(shè)備的控制后,再將設(shè)備端相應(yīng)的數(shù)據(jù)打包通過反饋通道回傳到網(wǎng)絡(luò)的另一端的控制器,再進行下一控制周期,依次循環(huán)。
預(yù)測模型具有表達系統(tǒng)未來行為的功能,對于不同的控制策略,可利用預(yù)測模型計算出不同的輸出軌跡,從而為選擇最優(yōu)控制策略、優(yōu)化系統(tǒng)性能提供條件。
當(dāng)控制周期從設(shè)備端開始,每個采樣周期開始的時候,設(shè)備端將已經(jīng)發(fā)生的控制序列u(t)和輸出序列y(t)以及當(dāng)前的設(shè)備端系統(tǒng)時刻點t存儲在一個數(shù)據(jù)包中,并通過反饋通道發(fā)送到控制器端。設(shè)備端發(fā)送的數(shù)據(jù)包結(jié)構(gòu)如下:
控制器端采用事件驅(qū)動方式,當(dāng)接收到來自設(shè)備端反饋通道的數(shù)據(jù)包時,控制器計算出未來的預(yù)測序列,并將其和之前收到的設(shè)備系統(tǒng)時間t一起打包成下述結(jié)構(gòu)發(fā)送到設(shè)備端:
在NPC方法中,設(shè)網(wǎng)絡(luò)傳送最大延時為M,采樣周期為T,則從控制器發(fā)送到設(shè)備端的控制序列應(yīng)至少有N=M/N個元素,這樣就為設(shè)備端的數(shù)據(jù)選擇器提供了充足的有效數(shù)據(jù)源[7]。
1.4 設(shè)備端數(shù)據(jù)選擇器
NPC數(shù)據(jù)選擇器的基本思想是:在大多數(shù)通信網(wǎng)絡(luò)如TCP/IP網(wǎng)絡(luò)中,數(shù)據(jù)是以包的形式傳輸;網(wǎng)絡(luò)化控制系統(tǒng)中的網(wǎng)絡(luò)數(shù)據(jù)發(fā)送端可以用同一個包傳輸一組序列預(yù)測信號,接收端根據(jù)當(dāng)時的網(wǎng)絡(luò)狀況選擇一個合適的信號值,主動補償?shù)艟W(wǎng)絡(luò)傳輸帶來的延時和丟包等不利因素。
在NPC方法中,網(wǎng)絡(luò)化控制系統(tǒng)被考慮成一個周期為T的計算機離散采樣系統(tǒng)。系統(tǒng)中所涉及的網(wǎng)絡(luò)節(jié)點都以時間驅(qū)動的方法工作,即它們都在采樣時間點KT(0,1,2,…)接收和發(fā)送報文。在時間區(qū)間[KT,(K+1)T]中被接收到的報文,均認為是在采樣時間點(K+1)T被接收到。
幾種接收數(shù)據(jù)包異常情況的處理方法如下:
(1)包延時。有數(shù)據(jù)包到達接收端,而且此數(shù)據(jù)包所帶時間標(biāo)記在所有歷史數(shù)據(jù)中最新,啟用此數(shù)據(jù)包。
(2)包亂序。當(dāng)一個數(shù)據(jù)包達到數(shù)據(jù)選擇器時,數(shù)據(jù)選擇器先將所收到數(shù)據(jù)包中的時間標(biāo)記與內(nèi)存當(dāng)前數(shù)據(jù)包的時間標(biāo)記作比較。發(fā)生包亂序時,直接舍棄。
(3)包堆積。當(dāng)接收到多個數(shù)據(jù)包,數(shù)據(jù)選擇器選出具有最大時間標(biāo)記的數(shù)據(jù)包,并將此數(shù)據(jù)包跟內(nèi)存中的數(shù)據(jù)包的時間標(biāo)記進行比較,以決定其啟用或舍棄。
(4)包丟失。當(dāng)前時間點沒有收到新數(shù)據(jù),或者收到新數(shù)據(jù)但新數(shù)據(jù)因時間標(biāo)記過時都可導(dǎo)致包丟失。包丟失的情況下,數(shù)據(jù)選擇器啟用歷史數(shù)據(jù)包。
經(jīng)過初步數(shù)據(jù)選擇,不管是當(dāng)前接收的還是歷史接收的,每個時間節(jié)點都會一個供“第二次選擇”的數(shù)據(jù)包。在網(wǎng)絡(luò)控制系統(tǒng)NPC方法中,對包延時和廣義包丟失進行研究時,進行如下約定:網(wǎng)絡(luò)傳輸過程中的延時具有上限M,而且連續(xù)丟包的時間區(qū)間不大于最大延遲M(這樣才能將預(yù)測序列限定為有限長度)?;谝陨霞s定,經(jīng)過初步數(shù)據(jù)選擇后,包延時、包亂序、包堆積、包丟失這些問題都可以轉(zhuǎn)換成“隨機延時”的處理方式。隨機延時網(wǎng)絡(luò)的NPC解決方案如圖4。
從接收端的角度進行分析,時間節(jié)點為n時,發(fā)生包延時,收到來自發(fā)送端n-2時刻的數(shù)據(jù)包P,數(shù)據(jù)包發(fā)生了2個采樣周期的延時。如按傳統(tǒng)的控制方法,此時施加在設(shè)備上的端點為u(n-2),顯然不符合控制要求,如果傳送到接收端的是預(yù)測序列,則設(shè)備端數(shù)據(jù)選擇器只需根據(jù)延時情況,從預(yù)測序列中選取出n時刻的控制值即可,這樣就形成了對延時的有效補償;時間節(jié)點為n+1和n+2時,發(fā)生包丟失,即在這些節(jié)點處沒有收到任何數(shù)據(jù),則此時仍啟用舊的數(shù)據(jù)包,即P中的n+1和n+2時刻的控制值;時間節(jié)點為n+3時,和節(jié)點n處一樣,只需從新的數(shù)據(jù)包中選擇對應(yīng)時間節(jié)點的控制量即可。
2 算法仿真
前面對NPC的實現(xiàn)原理和過程進行了詳細描述,為了對上述的數(shù)據(jù)原理進行驗證,下面通過具體的設(shè)備模型對算法進行數(shù)字實驗,對上述數(shù)學(xué)原理進行仿真測試。
2.1 設(shè)備和控制器的數(shù)學(xué)模型
對于本地控制系統(tǒng),設(shè)采樣周期為0.1 s,然后對相關(guān)環(huán)節(jié)進行數(shù)字化約定。
r(t)單位階躍輸入:1(t)=1,t≥0
2.2 本地固定時延控制
在本地?zé)o延時的本地控制回路中增加一定的固定延時,控制回路如圖5所示[8]。
在本地?zé)o延時的本地控制回路中增加一定的固定延時,控制閉環(huán)控制系統(tǒng)單位階躍輸入在不同的固定延時情況下的輸出信號如圖6所示。不難看出,不帶任何延時的本地控制系統(tǒng)能夠取得很好的控制效果,設(shè)備的輸出值能夠很快地達到參考輸入值。在本地控制系統(tǒng)中加入了2個和4個采樣周期倍數(shù)的延時后,系統(tǒng)輸出曲線產(chǎn)生振蕩,而且固定延時越高,系統(tǒng)的振蕩越劇烈,最后甚至?xí)_到發(fā)散不穩(wěn)定的結(jié)果。
2.3 網(wǎng)絡(luò)預(yù)測控制
網(wǎng)絡(luò)系統(tǒng)是一個復(fù)雜的系統(tǒng),除了產(chǎn)生固定延時外,更多地還會產(chǎn)生隨機延時。當(dāng)向本地控制中加入固定延時和隨機延時環(huán)節(jié)的網(wǎng)絡(luò)延時環(huán)境,便構(gòu)造成了如圖7的網(wǎng)絡(luò)控制系統(tǒng)[9]。設(shè)備模型與PI控制器模型變成差分結(jié)構(gòu):
y(t)=1.396y(t-Ts)-0.468 1y(t-2Ts)+0.466 2u(t-Ts)
-0.284 3u(t-2Ts)(3)
u(t)=u(t-Ts)+0.33e(t)-0.23e(t-Ts)(4)
其中e(t)=r(t)-y(t)
不難看出,差分式(3)、(4)已經(jīng)具備由過去序列推測未來序列的能力了。由于系統(tǒng)的數(shù)學(xué)模型階次不超過二階,一般只需要通過過去的兩組y、u值就可以得到當(dāng)前時刻的y值和u值。兩組差分遞推算法是實現(xiàn)預(yù)測控制器的核心所在。已經(jīng)發(fā)生的u、y序列和當(dāng)前時刻值從反饋通道經(jīng)過一定的網(wǎng)絡(luò)延時傳遞到控制器端作為預(yù)測控制器輸入??刂破鲗r間標(biāo)記及通過兩個遞推式得到一組u的未來預(yù)測序列再通過網(wǎng)絡(luò)傳送到控制器端的數(shù)據(jù)選擇器。
數(shù)據(jù)選擇器接收到從控制器端發(fā)送過來數(shù)據(jù)包,和此時的時刻值進行對比,根據(jù)圖4中提供的NPC解決方案,從u序列中選擇出和時刻點對應(yīng)的控制值,可以達到對網(wǎng)絡(luò)延時問題的有效補償。圖8給出了本地控制和網(wǎng)絡(luò)預(yù)測控制設(shè)備輸出圖,不難看出:在網(wǎng)絡(luò)控制系統(tǒng)中,只要設(shè)備和控制器的模型足夠準確,則在經(jīng)過網(wǎng)絡(luò)預(yù)測控制器的有效補償后,網(wǎng)絡(luò)系統(tǒng)的控制可以達到和本地?zé)o延時控制完全一樣的效果。
3 結(jié)論
本文先對網(wǎng)絡(luò)延時的預(yù)測控制的基本原理和具體的數(shù)學(xué)實現(xiàn)方法進行了相關(guān)介紹,然后以單入單出的網(wǎng)絡(luò)隨機時延控制系統(tǒng)為例,通過MATLAB行仿真,結(jié)果顯示NPC算法能夠?qū)崿F(xiàn)對網(wǎng)絡(luò)延時的有效補償,使得即使存在不確定的網(wǎng)絡(luò)延時環(huán)境,控制器仍然能夠達到和本地?zé)o時延系統(tǒng)一樣的控制效果。本文從工程應(yīng)用層次對網(wǎng)絡(luò)控制技術(shù)的具體實現(xiàn)步驟進行了深入淺出的分析,對網(wǎng)絡(luò)預(yù)測控制技術(shù)的實際應(yīng)用起到積極的推廣作用。
參考文獻
[1] PLEINEVAUX P,DECOTIGNIE J D.Time criti- cal communication networks: Field buses[J].Network,IEEE,1988,2(3):55-63.
[2] HU W S,LIU G P,REES D.Networked predic-tive control over the Internet using round-trip delay measurement[J].Instrumentation and Mea-surement,IEEE Transactions on,2008,57(10):2231-2241.
[3] LIU G P,XIA Y,REES D,et al.Design and stability criteriaof networked predictive control systems with random networkdelay in the feedback channel[J].Systems,Man,and Cyber-netics,Part C:Applications and Reviews,IEEE Transactionson,2007,37(2):173-184.
[4] LIU G P,XIA Y,CHEN J,et al.Networked predictive con-trol of systems with random network delays in both forward and feedback channels[J].Industrial Electronics,IEEE Transactions on,2007,54(3):1282-1297.
[5] HU W S,LIU G P,REES D.Event-driven networked pre-dictive control[J].Industrial Electronics,IEEE Transactionson,2007,54(3):1603-1613.
[6] WALSH G C,BELDIMAN O,BUSHNELL L G.Error encoding algorithms for networked control systems[J].Auto- matica,2002,38(2):261-267.
[7] LIU G P,MU J X,REES D,et al.Design and stability analysis of networked control systems with random comm-unication time delay using the modified MPC[J].InternationalJournal of Control,2006,79(4):288-297.
[8] LIU G P,REES D,CHAI S C.Design and practical imple-mentation of networked predictive control systems[C].IEEE Networking,Sensing and Control,ICNSC2005-Proceedings. 2005:336-341.
[9] ZHAO Y B,LIU G P,REES D.Design of a packet-based control framework for networked control systems[J].Control Systems Technology,IEEE Transactions on,2009,17(4):859-865.