于建明
YU Jian-ming
(淮安信息職業(yè)技術(shù)學(xué)院,淮安 223003)
隨著微電子技術(shù)的發(fā)展、設(shè)備智能化水平的不斷提高,人們對(duì)人與設(shè)備之間的信息交流和設(shè)備與設(shè)備之間的信息交流也提出了越來越高的需求。基于Web的LonWorks遠(yuǎn)程監(jiān)控系統(tǒng)采用瀏覽器以簡單友好的操作方式實(shí)現(xiàn)對(duì)生產(chǎn)現(xiàn)場數(shù)據(jù)的遠(yuǎn)程監(jiān)視和控制,可以極大提高企業(yè)自動(dòng)化水平,提高企業(yè)設(shè)備的維護(hù)管理水平。但對(duì)傳送的信息量不大,但強(qiáng)調(diào)實(shí)時(shí)性的系統(tǒng),其前向通道和反饋通道同時(shí)存在網(wǎng)絡(luò)時(shí)延及其不確定性的問題,將會(huì)影響系統(tǒng)的動(dòng)態(tài)性能。時(shí)延及其變化進(jìn)一步增大時(shí),還會(huì)導(dǎo)致系統(tǒng)不穩(wěn)定。這一問題是阻礙遠(yuǎn)程控制采用因特網(wǎng)的主要原因。
為了解決這一問題,一些新的控制理論和方法已經(jīng)被提出。Yang等[1]提出了如何系統(tǒng)地設(shè)計(jì)基于互聯(lián)網(wǎng)的過程控制系統(tǒng),并給出了該系統(tǒng)可能的結(jié)構(gòu)基優(yōu)缺點(diǎn)。Nillson采用隨機(jī)最優(yōu)控制的方法,在網(wǎng)絡(luò)時(shí)延小于一個(gè)采樣周期時(shí),對(duì)具有獨(dú)立隨機(jī)時(shí)延和Markov特性延時(shí)的網(wǎng)絡(luò)控制系統(tǒng)進(jìn)行了研究等。然而,以上提高的方法在實(shí)際應(yīng)用中也存在一些問題,如:使用最大的網(wǎng)絡(luò)時(shí)延作為系統(tǒng)時(shí)延,可消除時(shí)延的隨機(jī)性對(duì)系統(tǒng)的影響,但無形中增大了網(wǎng)絡(luò)時(shí)延,增加了系統(tǒng)的響應(yīng)時(shí)間。由于網(wǎng)絡(luò)時(shí)延的隨機(jī)性,很難用精確的數(shù)學(xué)模型描述出時(shí)延的分布規(guī)律,且由于Internet中普遍存在的丟包和包序顛倒等問題,也使得基于時(shí)延預(yù)估模型控制方法的應(yīng)用受到了很大的限制。
在LonWorks遠(yuǎn)程控制系統(tǒng)中,由于網(wǎng)絡(luò)時(shí)延的隨機(jī)變化導(dǎo)致系統(tǒng)狀態(tài)和參數(shù)等時(shí)刻發(fā)生變化,控制過程中會(huì)出現(xiàn)狀態(tài)和參數(shù)的不確定性,系統(tǒng)很難達(dá)到最佳的控制效果。因此,有必要引入一些控制策略來補(bǔ)償網(wǎng)絡(luò)時(shí)延帶來的影響。下面針對(duì)LonWorks在實(shí)現(xiàn)遠(yuǎn)程控制中存在的網(wǎng)絡(luò)時(shí)延問題,提出一個(gè)初步的解決方案,緩解網(wǎng)絡(luò)延遲對(duì)遠(yuǎn)程控制系統(tǒng)所產(chǎn)生的不良影響。
根據(jù)時(shí)延的產(chǎn)生過程和不同特性,可將其分為四個(gè)組成部分:發(fā)送處理時(shí)延τ1、等待時(shí)延τ2、傳輸時(shí)延τ3和接收處理時(shí)延τ4。其中τ1和τ2在源節(jié)點(diǎn)產(chǎn)生,τ4在目標(biāo)節(jié)點(diǎn)產(chǎn)生,τ3是信息發(fā)送時(shí)間與在信道傳播時(shí)間之和。網(wǎng)絡(luò)時(shí)延可表達(dá)為
時(shí)延對(duì)系統(tǒng)性能的影響,主要是由兩個(gè)部分引起一是控制器得到的反饋信號(hào)不是當(dāng)前系統(tǒng)輸出,而是經(jīng)過了時(shí)延;二是控制量到執(zhí)行器又經(jīng)過了時(shí)延。而發(fā)送處理時(shí)延、等待時(shí)延及接收處理時(shí)延可以通過軟件設(shè)置心跳/最大接收時(shí)間、時(shí)限閾值,最小差值等屬性,減小網(wǎng)絡(luò)變量更新時(shí)所造成的信息延時(shí)。將兩者綜合起來分析,相當(dāng)于系統(tǒng)輸出在當(dāng)前采樣周期被延時(shí)了,本文重點(diǎn)解決的也就是信號(hào)在網(wǎng)絡(luò)傳輸過程中所產(chǎn)生的時(shí)延問題。換個(gè)角度來看,就是發(fā)生了采樣抖動(dòng),如果對(duì)系統(tǒng)時(shí)延不加補(bǔ)償,控制器接收到并據(jù)以采取控制動(dòng)作的是被延遲了的采樣信號(hào),不能真實(shí)反映當(dāng)前時(shí)刻的被控對(duì)象的狀態(tài),因而產(chǎn)生的控制動(dòng)作也是滯后的,這將導(dǎo)致系統(tǒng)性能變差和不穩(wěn)定。
采用BP神經(jīng)網(wǎng)絡(luò)預(yù)測網(wǎng)絡(luò)時(shí)延,神經(jīng)網(wǎng)絡(luò)最大的優(yōu)點(diǎn)就是具有可以逼近任意的非線性的能力,理論上具有偏差和至少一個(gè)S型隱含層加上一個(gè)線性輸出層就可以逼近任意非線性,據(jù)此決定系統(tǒng)采用帶有一個(gè)隱含層的三層BP神經(jīng)網(wǎng)絡(luò)來預(yù)測延時(shí)。神經(jīng)網(wǎng)絡(luò)輸入層的神經(jīng)元的個(gè)數(shù)取決于取得的歷史延時(shí)信息的個(gè)數(shù),由一個(gè)滑動(dòng)窗口根據(jù)網(wǎng)絡(luò)延時(shí)的狀態(tài)調(diào)整。中間層神經(jīng)元的個(gè)數(shù)依據(jù)金字塔結(jié)構(gòu)采取和輸入層相等的數(shù)目,如圖1所示。
圖1 預(yù)測延時(shí)采用的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在采用神經(jīng)網(wǎng)絡(luò)預(yù)測延時(shí)時(shí)提出了“先預(yù)測,后驗(yàn)證”的思想,即先依據(jù)已經(jīng)獲取的從前一段時(shí)間內(nèi)的延時(shí)信息訓(xùn)練神經(jīng)網(wǎng)絡(luò),確定神經(jīng)網(wǎng)絡(luò)的權(quán)值,然后根據(jù)這些權(quán)值預(yù)測網(wǎng)絡(luò)當(dāng)前時(shí)刻網(wǎng)絡(luò)的延時(shí)狀況,在補(bǔ)償器進(jìn)行延時(shí)補(bǔ)償。當(dāng)獲得該時(shí)刻對(duì)應(yīng)的網(wǎng)絡(luò)延時(shí)的實(shí)際值后,比較實(shí)際值和預(yù)測值,如果預(yù)測誤差小于許可范圍,認(rèn)為網(wǎng)絡(luò)狀況還沒有發(fā)生劇烈的變化,繼續(xù)使用該權(quán)值預(yù)測延時(shí),而無需重新訓(xùn)練權(quán)值。否則,必須重新訓(xùn)練權(quán)值,訓(xùn)練神經(jīng)網(wǎng)絡(luò)使用的信號(hào)為上一時(shí)刻網(wǎng)絡(luò)的真實(shí)延時(shí)。
如果當(dāng)前延時(shí)預(yù)測誤差滿足系統(tǒng)性能容忍的誤差要求,則使用當(dāng)前神經(jīng)網(wǎng)絡(luò)的權(quán)值預(yù)測延時(shí),此為正向處理。在給定輸入Ii、輸入層到中間層的連接權(quán)值Wji以及中間層的偏置值θj之后,可以求出中間層單元j的輸出:
其中f是sigmoid函數(shù),即
用中間層的輸出Hj、中間層到輸出層的連接權(quán)值Vkj以及輸出層單元k的偏置值,可以求出輸出層單元的輸出Ok:
如果預(yù)測誤差超過了系統(tǒng)的容忍誤差要求,就要對(duì)神經(jīng)網(wǎng)絡(luò)的權(quán)值進(jìn)行修正,重新進(jìn)行權(quán)值訓(xùn)練,此為反向處理。誤差修正采用BP(反向運(yùn)算)算法,其中Vkj、、Wji和θj的修正公式分別為:
系統(tǒng)實(shí)現(xiàn)時(shí)需進(jìn)一步修正基本的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法,將k時(shí)刻的神經(jīng)網(wǎng)絡(luò)輸出值減去k-1時(shí)刻的預(yù)測誤差作為k時(shí)刻互聯(lián)網(wǎng)延時(shí)預(yù)測值,修正流程圖如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法修正流程圖
前向和反饋通道由因特網(wǎng)來傳遞控制信息和反饋信息,網(wǎng)絡(luò)傳輸存在時(shí)延,被控對(duì)象的運(yùn)動(dòng)狀態(tài)不能及時(shí)反饋和輸入信號(hào)進(jìn)行比較或控制信號(hào)不能及時(shí)加到被控對(duì)象上,系統(tǒng)處于非正常狀態(tài),系統(tǒng)的性能降低,甚至不能正常工作。為此,在獲得網(wǎng)絡(luò)時(shí)延值后,需要在系統(tǒng)中接入補(bǔ)償器,以消除網(wǎng)絡(luò)時(shí)延的影響。時(shí)延補(bǔ)償思路如圖3所示。
圖3 時(shí)延補(bǔ)償思路
1.3.1 PID控制器
根據(jù)網(wǎng)絡(luò)控制特點(diǎn),引入PID控制器,在對(duì)模型精確已知的控制對(duì)象,在參數(shù)選擇恰當(dāng)?shù)那闆r下可以有效地減少超調(diào)量和響應(yīng)時(shí)間,使系統(tǒng)具有較好的魯棒性。PID控制器產(chǎn)生的控制信號(hào)
式中e(t)為誤差信號(hào),KP為比例增益,KI為積分增益,KD為微分增益。對(duì)該式進(jìn)行拉普拉斯變換后得到PID控制器的傳遞函數(shù)
1.3.2 Smith預(yù)估補(bǔ)償器
為了改善滯后系統(tǒng)的控制品質(zhì),1957年O.J.M.Smith提出了一種以模型為基礎(chǔ)的預(yù)估器補(bǔ)償控制的方法[3]。其設(shè)計(jì)思想為:預(yù)先估計(jì)過程在基本擾動(dòng)作用下的動(dòng)態(tài)響應(yīng),然后由預(yù)估器進(jìn)行動(dòng)態(tài)補(bǔ)償,試圖使被延遲的被控量超前反饋到控制器,使控制器提前動(dòng)作,從而大大降低了超調(diào)量,并加速調(diào)節(jié)過程[4]。在此利用Smith預(yù)估器對(duì)純滯后系統(tǒng)的補(bǔ)償控制原理,將網(wǎng)絡(luò)時(shí)延引入到Smtih預(yù)估器,對(duì)系統(tǒng)進(jìn)行動(dòng)態(tài)補(bǔ)償控制。遠(yuǎn)程控制系統(tǒng)如圖4所示。
圖4 帶有時(shí)延預(yù)估補(bǔ)償控制的系統(tǒng)結(jié)構(gòu)圖
該項(xiàng)研究中為實(shí)驗(yàn)所用的直流電機(jī)的傳遞函數(shù)。Smith預(yù)估器的傳遞函數(shù)為,其中為被控對(duì)象傳遞函數(shù),為t時(shí)刻網(wǎng)絡(luò)時(shí)延預(yù)測值。由于目前互聯(lián)網(wǎng)中路由器多是采用動(dòng)態(tài)路由協(xié)議依據(jù)互聯(lián)網(wǎng)負(fù)載狀況來選擇信息的傳遞路由,因此互聯(lián)網(wǎng)負(fù)載的實(shí)時(shí)變化,造成信息的傳遞路由動(dòng)態(tài)變化,從而導(dǎo)致信息傳遞延時(shí)具有不確定性。如果補(bǔ)償器中使用的延時(shí)信息不能夠隨著互聯(lián)網(wǎng)實(shí)際時(shí)延的變化而變化,那么系統(tǒng)的性能依舊不能得到保證。
MATLAB環(huán)境下的神經(jīng)網(wǎng)絡(luò)工具箱是以人工神經(jīng)理論為基礎(chǔ),利用MATLAB語言構(gòu)造出許多典型網(wǎng)絡(luò)的激活函數(shù)、各種典型的修正網(wǎng)絡(luò)權(quán)值規(guī)則和網(wǎng)絡(luò)的訓(xùn)練過程[2]。這樣網(wǎng)絡(luò)的設(shè)計(jì)可根據(jù)自己的需要調(diào)用工具箱中有關(guān)神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)與訓(xùn)練的程序,避免繁瑣的變成過程,從而大大提高效率和質(zhì)量。
此外,還可應(yīng)用圖形用戶界面(GUI)來進(jìn)行神經(jīng)網(wǎng)絡(luò)設(shè)計(jì),雙擊Neural Network toolbox中的NNTool,即可進(jìn)入神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)主界面,如圖5所示。和上面是用函數(shù)來創(chuàng)建網(wǎng)絡(luò)一樣,需要設(shè)計(jì)一些參數(shù),如網(wǎng)絡(luò)類型、名稱、輸入向量的最大值和最小值、網(wǎng)絡(luò)的層數(shù)等。
圖5 神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)主界面
在采用神經(jīng)網(wǎng)絡(luò)預(yù)測延時(shí)時(shí)提出了“先預(yù)測,后驗(yàn)證”的思想,即先依據(jù)已經(jīng)獲取的從前一段時(shí)間內(nèi)的延時(shí)信息訓(xùn)練神經(jīng)網(wǎng)絡(luò),確定神經(jīng)網(wǎng)絡(luò)的權(quán)值,然后根據(jù)這些權(quán)值預(yù)測網(wǎng)絡(luò)當(dāng)前時(shí)刻網(wǎng)絡(luò)的延時(shí)狀況,在補(bǔ)償器進(jìn)行延時(shí)補(bǔ)償。當(dāng)獲得該時(shí)刻對(duì)應(yīng)的網(wǎng)絡(luò)延時(shí)的實(shí)際值后,比較實(shí)際值和預(yù)測值,如果預(yù)測誤差小于許可范圍,認(rèn)為網(wǎng)絡(luò)狀況還沒有發(fā)生劇烈的變化,繼續(xù)使用該權(quán)值預(yù)測延時(shí),而無需重新訓(xùn)練權(quán)值。否則,必須重新訓(xùn)練權(quán)值,訓(xùn)練神經(jīng)網(wǎng)絡(luò)使用的信號(hào)為上一時(shí)刻網(wǎng)絡(luò)的真實(shí)延時(shí)。
要對(duì)BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,必須有訓(xùn)練樣本。對(duì)訓(xùn)練樣本數(shù)據(jù)的獲得,MATLAB提供了一些方法[2]。根據(jù)實(shí)際情況,對(duì)于Internet與控制網(wǎng)絡(luò)的連接,采用購買的動(dòng)態(tài)測量Internet點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)時(shí)延軟件Get Delay,并使用與其配套的軟件即可實(shí)現(xiàn)網(wǎng)絡(luò)時(shí)延的測量以及數(shù)據(jù)格式的轉(zhuǎn)換,然后用load函數(shù)將數(shù)據(jù)讀取到MATLAB中。
具體實(shí)現(xiàn)時(shí),還仔細(xì)考慮了通訊協(xié)議和工作方式的選擇問題。由于在基于互聯(lián)網(wǎng)的遠(yuǎn)程控制系統(tǒng)中控制信息和反饋信息的產(chǎn)生具有頻率高、數(shù)據(jù)量小的特點(diǎn),因此如果選擇TCP協(xié)議,就必須屏蔽TCP協(xié)議提供的“盡力而為(Best Effort)”功能,以便控制信息和反饋信息及時(shí)發(fā)送和接收。此外,選擇TCP協(xié)議網(wǎng)絡(luò)開銷比較大,不僅體現(xiàn)在其三次握手的確認(rèn)機(jī)制上,還體現(xiàn)在其報(bào)文頭部相比于數(shù)據(jù)要大。
首先,采用點(diǎn)對(duì)點(diǎn)控制結(jié)構(gòu)。這時(shí)系統(tǒng)中信號(hào)的傳遞不存在時(shí)延,通過仿真計(jì)算得到系統(tǒng)階躍響應(yīng)曲線如圖6所示。
圖6 采用點(diǎn)對(duì)點(diǎn)結(jié)構(gòu)的單位階躍響應(yīng)
圖中曲線1為輸入單位階躍信號(hào),曲線2為系統(tǒng)階躍響應(yīng),可以看到這時(shí)系統(tǒng)具有滿意的響應(yīng)特性。
接著,采用如前面討論的網(wǎng)絡(luò)控制系統(tǒng)。網(wǎng)絡(luò)采用淮安信息學(xué)院與淮陰工學(xué)院之間的Internet,網(wǎng)絡(luò)中的數(shù)據(jù)由淮安信息學(xué)院S2實(shí)驗(yàn)樓主機(jī)發(fā)出,首先轉(zhuǎn)發(fā)到淮陰工學(xué)院的路由器,然后再轉(zhuǎn)發(fā)回淮安信息學(xué)院主機(jī),發(fā)送流量為91.2kb/s。在網(wǎng)絡(luò)存在時(shí)延的情況下,采用不同的控制器方式進(jìn)行試驗(yàn),如圖7所示。將圖中虛線框中的結(jié)構(gòu)去掉后,為第一種控制方式,即PID控制。加入smith預(yù)估器后為第二種控制方式,PID加smith預(yù)估控制,由于加入smith預(yù)估器其中牽涉到網(wǎng)絡(luò)時(shí)延參數(shù)的確定。由于沒有加入時(shí)延預(yù)估算法,只能根據(jù)所測得的近期網(wǎng)絡(luò)時(shí)延值確定一個(gè)適中量。加入BP網(wǎng)絡(luò)預(yù)測時(shí)延后為第三種控制方式。系統(tǒng)階躍響應(yīng)曲線如圖8所示。
圖7 控制方式方框圖
圖8 不同控制器條件下的階躍響應(yīng)
圖8中曲線1為控制信號(hào),曲線2為PID控制器作用下的階躍響應(yīng)曲線,曲線3為采用PID控制器和smith預(yù)估器作用下的階躍響應(yīng)曲線,曲線4為采用PID控制器和smith預(yù)估器作用并采用BP網(wǎng)絡(luò)預(yù)測時(shí)延的階躍響應(yīng)曲線,分析試驗(yàn)結(jié)果,得到如下結(jié)論:
1)穩(wěn)定性得到保持。采用不同控制器作用的遠(yuǎn)程控制系統(tǒng)均能維持控制系統(tǒng)的穩(wěn)定性,與點(diǎn)對(duì)點(diǎn)結(jié)構(gòu)時(shí)的響應(yīng)曲線進(jìn)行比較,最后都能到達(dá)穩(wěn)定狀態(tài)。由于遠(yuǎn)程控制系統(tǒng)運(yùn)行時(shí)存在時(shí)延,將會(huì)引起系統(tǒng)輸出量的振蕩,但這種振蕩隨著時(shí)間的推移而逐漸減小乃至消失,系統(tǒng)最終是穩(wěn)定的。
2)超調(diào)量得到降低。超調(diào)量指的是響應(yīng)曲線對(duì)穩(wěn)態(tài)值的超出量與穩(wěn)態(tài)值之比,其中比較關(guān)注的是最大超出量的大小,亦即最大超調(diào)量。從點(diǎn)對(duì)點(diǎn)結(jié)構(gòu)時(shí)的響應(yīng)曲線,可以看出系統(tǒng)超調(diào)量很??;在有時(shí)延的情況下,曲線2到曲線4的超調(diào)量依次降低,說明加入了控制器之后,遠(yuǎn)程控制系統(tǒng)的性能得到了改善。而且從曲線3和曲線4可以明顯看到,加入時(shí)延預(yù)測后得到的響應(yīng)曲線4超調(diào)量較小。
3)調(diào)節(jié)時(shí)間得到減少。調(diào)節(jié)時(shí)間指響應(yīng)曲線進(jìn)入并不再超出穩(wěn)態(tài)值附近規(guī)定誤差帶的最小時(shí)間,在有時(shí)延的情況下,曲線2和曲線3的調(diào)節(jié)時(shí)間較長,而且比較接近,曲線4表現(xiàn)出的動(dòng)態(tài)響應(yīng)特性接近于點(diǎn)對(duì)點(diǎn)結(jié)構(gòu)時(shí)的響應(yīng)特性,調(diào)節(jié)時(shí)間與曲線2和曲線3相比減小了很多。
從以上分析可以得到這樣的結(jié)論,采用適當(dāng)?shù)木W(wǎng)絡(luò)時(shí)延補(bǔ)償控制器,對(duì)互聯(lián)網(wǎng)中的不確定性時(shí)延進(jìn)行正確預(yù)測,可以有效地解決LonWorks遠(yuǎn)程控制系統(tǒng)在Internet環(huán)境下由于網(wǎng)絡(luò)延遲造成的動(dòng)作滯后等問題,不僅能維持控制系統(tǒng)得穩(wěn)定性,而且明顯降低了超調(diào)量,減小了調(diào)節(jié)時(shí)間,表現(xiàn)出良好的動(dòng)態(tài)性能,使得遠(yuǎn)程被控系統(tǒng)在接近穩(wěn)態(tài)時(shí)的控制品質(zhì)得到了改善,加快了系統(tǒng)達(dá)到穩(wěn)態(tài)的速度。
[1]Yang S H,Chen X,Alty J.Design issues and implementation of internet-based process control system[J].Control Engineering Practice.2003(6):709-720.
[2]黃忠霖.控制系統(tǒng)MATLAB計(jì)算及仿真[M].北京:國防工業(yè)出版社.2001:12-50.
[3]任長清,吳平東等.基于互聯(lián)網(wǎng)的液壓遠(yuǎn)程控制系統(tǒng)的延時(shí)預(yù)測算法的研究[J].北京理工大學(xué)學(xué)報(bào).2002(5):14-19.
[4]王小平.遺傳算法理論應(yīng)用于軟件實(shí)現(xiàn)[M].西安.西安交通大學(xué)出版社.2002.
[5]李穎宏,李正煦.基于LonWorks的智能PID控制器的設(shè)計(jì)[J].儀器儀表學(xué)報(bào).2005(4):419-421.