王宇紅 張娜娜
(中國(guó)石油大學(xué)(華東)信息與控制工程學(xué)院,山東 東營(yíng) 257061)
Matlab具有強(qiáng)大的工具包,在Matlab中可以編寫各種復(fù)雜的先進(jìn)控制算法并進(jìn)行驗(yàn)證,但這種驗(yàn)證多基于仿真。為此,本文利用A3000過(guò)程實(shí)驗(yàn)裝置和Profibus構(gòu)建了一個(gè)實(shí)驗(yàn)平臺(tái),將Matlab中的控制算法在實(shí)驗(yàn)裝置上進(jìn)行了驗(yàn)證。
Profibus是一種國(guó)際化的、開(kāi)放的、不依賴于設(shè)備生產(chǎn)商的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),廣泛應(yīng)用于工業(yè)自動(dòng)化。根據(jù)其應(yīng)用特點(diǎn),Profibus分為Profibus-FMS、Profibus-DP和Profibus-PA三個(gè)兼容版本。Profibus-DP專為自動(dòng)控制系統(tǒng)和設(shè)備級(jí)分散I/O之間的通信而設(shè)計(jì),可取代24 V或0~20 mA并行信號(hào)線,也可用于分布式控制系統(tǒng)的高速數(shù)據(jù)傳輸,其傳輸速率可達(dá)12 Mbit/s,一般構(gòu)成單主站系統(tǒng)[1]。
本文運(yùn)用Profibus的先進(jìn)性,利用西門子Simatic PCS7和Step7軟件對(duì)變頻器、ET200S輸入輸出模塊進(jìn)行了設(shè)備硬件組態(tài),實(shí)現(xiàn)了對(duì)A3000過(guò)程控制實(shí)驗(yàn)裝置的數(shù)據(jù)采集與控制,構(gòu)建起了復(fù)雜算法驗(yàn)證的實(shí)驗(yàn)平臺(tái)。同時(shí),結(jié)合OPC(OLE for process control)技術(shù),利用Step7軟件,實(shí)現(xiàn)了OPC Server,最終完成了Matlab與Profibus的結(jié)合。
ISO/OSI模型結(jié)構(gòu)分為7層,從下到上依次為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表達(dá)層和應(yīng)用層,其中前4層面向網(wǎng)絡(luò),后3層面向用戶。Profibus協(xié)議采用了ISO/OSI模型的第1層和第2層,必要時(shí)還采用了第7層。第1層和第2層的導(dǎo)線和傳輸協(xié)議基于美國(guó)標(biāo)準(zhǔn)EIA RS-485、國(guó)際標(biāo)準(zhǔn)IEC 870-5-1和歐洲標(biāo)準(zhǔn)EN 60870-5-1??偩€存取程序、數(shù)據(jù)傳輸和管理服務(wù)基于DIN 19241標(biāo)準(zhǔn)的第1至第3部分和IEC 955標(biāo)準(zhǔn)[1]。
OPC技術(shù)在硬件供應(yīng)商和軟件開(kāi)發(fā)商之間劃了一條明確的界限,為數(shù)據(jù)源的產(chǎn)生規(guī)定了一種機(jī)制,并為這些數(shù)據(jù)與任何客戶程序之間的通信提供了一種標(biāo)準(zhǔn)方式[2]。從用戶的角度來(lái)看,Profibus提供了3種通信協(xié)議類型,即DP、FMS和PA。系統(tǒng)通過(guò)運(yùn)用OPC技術(shù),保證了軟件對(duì)客戶的透明性,使得用戶完全從低層開(kāi)發(fā)中脫離出來(lái)。應(yīng)用程序與OPC服務(wù)器之間必須有OPC接口。OPC規(guī)范提供了2套標(biāo)準(zhǔn)接口,即Custom標(biāo)準(zhǔn)接口和OLE自動(dòng)化標(biāo)準(zhǔn)接口。本系統(tǒng)采用OLE自動(dòng)化標(biāo)準(zhǔn)接口[2]。Profibus的協(xié)議結(jié)構(gòu)如圖1所示。
圖1 Profibus協(xié)議結(jié)構(gòu)Fig.1 Protocol structure of Profibus
圖2 A3000裝置實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure of A3000 experimental system
本設(shè)計(jì)系統(tǒng)對(duì)象是采用Profibus-DP現(xiàn)場(chǎng)總線的A3000過(guò)程控制裝置,A3000過(guò)程控制裝置的結(jié)構(gòu)圖如圖2所示。A3000高級(jí)過(guò)程控制實(shí)驗(yàn)系統(tǒng)是一套包含被控對(duì)象和檢測(cè)儀表、執(zhí)行儀表的現(xiàn)場(chǎng)實(shí)驗(yàn)系統(tǒng),可以實(shí)現(xiàn)液位、流量、溫度控制實(shí)驗(yàn)。該現(xiàn)場(chǎng)系統(tǒng)有被控對(duì)象單元(包括3個(gè)水箱、1個(gè)鍋爐和1個(gè)換熱器)、檢測(cè)儀表(2個(gè)流量?jī)x表和3個(gè)壓力儀表)、執(zhí)行儀表(1個(gè)電動(dòng)調(diào)節(jié)閥、1個(gè)變頻泵和1個(gè)調(diào)壓器,調(diào)壓器位于鍋爐內(nèi)部),此外,還安裝有變頻器和ET200S模塊。系統(tǒng)可以接收和提供標(biāo)準(zhǔn)的4~20 mA電流信號(hào),組成一個(gè)完整、獨(dú)立的現(xiàn)場(chǎng)環(huán)境。
A3000裝置中的變頻器采用西門子MM420變頻器,帶有 Profibus-DP接口。變送器信號(hào)通過(guò)符合Profibus-DP協(xié)議的信號(hào)遠(yuǎn)傳模塊ET200S接入Profibus-DP總線,控制站采用安裝CP5611通信卡的PC機(jī)。系統(tǒng)采用Profibus-DP總線的單主站結(jié)構(gòu),將PC機(jī)組態(tài)為Profibus-DP主站,同時(shí)將其設(shè)置為OPC服務(wù)器,將MM420和ET200S設(shè)置為Profibus-DP從站。A3000裝置Profibus-DP網(wǎng)絡(luò)連接結(jié)構(gòu)如圖3所示。
圖3 Profibus-DP網(wǎng)絡(luò)連接結(jié)構(gòu)Fig.3 Profibus-DP network connection structure
圖3中,PC機(jī)和Profibus-DP總線通過(guò)CP5611通信卡連接,在本系統(tǒng)中,CP5611通信卡作為DP主站。作為從站的變頻器MM420和I/O遠(yuǎn)傳模塊ET200S通過(guò)DP電纜與CP5611卡連接。DP電纜是帶有9針DP接頭、采用RS-485傳輸技術(shù)的通信電纜[3]。
Profibus-DP系統(tǒng)組態(tài)過(guò)程如下。首先,配置PC Station硬件機(jī)架,成功安裝軟件SOFTNET和硬件通信卡并正確安裝向?qū)б院?,在“Station Configuration Editor”中可以看到OPC server和CP5611卡均在槽中。接著,在Step7中的組態(tài)文件PC Station中,打開(kāi)Simatic Manager,新建一個(gè)項(xiàng)目,通過(guò)“Insert”插入一個(gè)Simatic PC Station,點(diǎn)擊Configuration,進(jìn)入配置畫(huà)面進(jìn)行參數(shù)配置,Profibus-DP主站配置完畢后,CP5611已搭建出Profibus-DP總線。此時(shí),即可以在硬件目錄下添加從站設(shè)備MM420和ET200S。最后,系統(tǒng)組態(tài)完成后與A3000裝置通過(guò)DP電纜連接并下載配置文件,點(diǎn)擊“Download the Selected Station”即可完成下載。至此,Profibus-DP系統(tǒng)組態(tài)配置完成,PC機(jī)可以提供OPC Server。
基于OPC的Matlab與Step7通信原理如圖4所示[6]。
圖4 通信原理圖Fig.4 Communication principle
采用Matlab實(shí)現(xiàn)A3000的控制的設(shè)計(jì)思想是:使用Matlab的OPC功能函數(shù),編寫M文件,建立與Step7 OPC Server的連接,進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)A3000裝置的預(yù)測(cè)控制,為以后實(shí)現(xiàn)復(fù)雜控制算法打下基礎(chǔ)。
OPC Server將用于動(dòng)態(tài)交換的數(shù)據(jù)做成一個(gè)封裝的結(jié)構(gòu)面向訪問(wèn)它的客戶端,需進(jìn)行操作的數(shù)據(jù)以數(shù)據(jù)項(xiàng)(Item)的形式提供,但是數(shù)據(jù)項(xiàng)對(duì)客戶端是不可見(jiàn)的,OPC Server只有以組對(duì)象(Group)的方式訪問(wèn)數(shù)據(jù)項(xiàng)。圖4中,Matlab客戶端對(duì) Step7 OPC Server的訪問(wèn)通過(guò)COM/DCOM接口和網(wǎng)絡(luò)實(shí)現(xiàn)連接,Client通過(guò)操作Server中Item實(shí)現(xiàn)對(duì)設(shè)備寄存器的讀寫[4-5]。
實(shí)現(xiàn)Matlab OPC Client與Step7 Server的數(shù)據(jù)通信,首先要構(gòu)建訪問(wèn)OPC Server的客戶端對(duì)象,這通過(guò)Opcda()函數(shù)實(shí)現(xiàn),并需要指定OPC Server所在PC機(jī)的位置(本系統(tǒng)是在本地主機(jī)“l(fā)ocalhost”上)和OPC Server標(biāo)示。完成客戶端對(duì)象添加后通過(guò)Connect()函數(shù)和服務(wù)器端建立連接。在客戶端對(duì)象下使用Addgroup()函數(shù)添加組對(duì)象,然后再使用Additem()函數(shù)添加需要采集的各個(gè)數(shù)據(jù)項(xiàng),并利用Set()函數(shù)設(shè)置數(shù)據(jù)通信的相關(guān)參數(shù)。此時(shí),OPC客戶端就可以通過(guò)Read()函數(shù)和Write()函數(shù)對(duì)服務(wù)器進(jìn)行數(shù)據(jù)讀寫操作?;贠PC技術(shù)的Matlab與Step7的通信程序示例如下。
本實(shí)驗(yàn)被控對(duì)象的模型采用階躍響應(yīng)來(lái)描述,即對(duì)象的動(dòng)態(tài)特性用其階躍響應(yīng)在采樣時(shí)刻 t=T、2T、…、NT的值 a1、a2、…、aN來(lái)描述,其中,T=2 s,N=133,N為模型時(shí)域長(zhǎng)度,NT為階躍響應(yīng)的截?cái)帱c(diǎn)。N的選擇應(yīng)使ai(i>N)的值與階躍響應(yīng)的靜態(tài)終值之差具有與測(cè)量誤差和計(jì)算誤差相同的數(shù)量級(jí),以忽略N以后的動(dòng)態(tài)系數(shù)值。
由于被控對(duì)象的階躍響應(yīng)參數(shù)是比較容易測(cè)得的,因此,這種被控對(duì)象的建模特別適用于較復(fù)雜且難以用數(shù)學(xué)表達(dá)式進(jìn)行描述的對(duì)象。將a1、a2、…、aN這N個(gè)參數(shù)進(jìn)行組合,形成向量a=[a1a2… aN]T,產(chǎn)生被控對(duì)象的階躍響應(yīng)向量,這里的被控對(duì)象是指除計(jì)算機(jī)控制器以外回路中的全部環(huán)節(jié),可以認(rèn)為是一種廣義被控對(duì)象[6]。本實(shí)驗(yàn)中給調(diào)節(jié)閥一定的開(kāi)度(60%),取液位穩(wěn)定時(shí)的一個(gè)數(shù)值,然后增大調(diào)節(jié)閥的開(kāi)度(10%),在此期間,通過(guò)計(jì)算機(jī)每隔2 s采集一個(gè)液位的數(shù)值。本次實(shí)驗(yàn)中所取數(shù)值的個(gè)數(shù)N為133,從而得出需要的階躍模型。
本實(shí)驗(yàn)采用動(dòng)態(tài)矩陣控制(dynamic matrix control,DMC)算法,被控對(duì)象的模型用上面獲得的階躍響應(yīng)的離散采樣數(shù)據(jù)來(lái)描述[7]。
預(yù)測(cè)控制有多種控制算法形式,每種形式都建立在3項(xiàng)基本原理之上。這3項(xiàng)基本原理稱為預(yù)測(cè)控制的3要素,即預(yù)測(cè)模型、反饋校正和滾動(dòng)優(yōu)化[7]。
根據(jù)線性系統(tǒng)的比例和疊加原理,利用上述模型和給定的輸入控制增量,可以預(yù)測(cè)系統(tǒng)未來(lái)的時(shí)刻的輸出值,如在k時(shí)刻加一個(gè)控制量Δu(k),則在未來(lái)N個(gè)時(shí)刻的模型輸出值為:
式中:y0(k+i)(i=1、2、…、N)是在 k時(shí)刻不施加控制作用Δu(k)情況下,由k時(shí)刻起未來(lái)的N個(gè)時(shí)刻的輸出預(yù)測(cè)的初始值。
由于模型誤差和干擾等的影響,系統(tǒng)的輸出預(yù)測(cè)值需要在預(yù)測(cè)模型輸出的基礎(chǔ)上用實(shí)際輸出誤差進(jìn)行反饋校正,以實(shí)現(xiàn)閉環(huán)預(yù)測(cè),即:
式中:Ym(k+1)為模型的預(yù)測(cè)輸出;Yp(k+1)為反饋校正后的預(yù)測(cè)輸出;A、A0為動(dòng)態(tài)矩陣;H=[h1,h2,…,hp]T,hj為對(duì)應(yīng)與第 j步輸出的反饋矯正系數(shù),本文中全部取為1;e(k)為實(shí)測(cè)輸出y(k)與預(yù)測(cè)值ym(k)之差,即 e(k)=y(k)-ym(k)。
由DMC算法可知,當(dāng)此算法在線實(shí)施時(shí),只涉及到模型參數(shù)和控制參數(shù)。模型參數(shù)取決于對(duì)象階躍響應(yīng)特性和采樣周期的選擇,控制參數(shù)取決于模型參數(shù)和優(yōu)化性能指標(biāo)[8]。它們都是設(shè)計(jì)的結(jié)果而不是可直接調(diào)用的參數(shù),在設(shè)計(jì)中真正要確定的原始參數(shù)應(yīng)該是采樣周期T、優(yōu)化時(shí)域P、控制時(shí)域M、誤差權(quán)矩陣Q和控制權(quán)矩陣R。
動(dòng)態(tài)矩陣控制算法以被控對(duì)象的階躍響應(yīng)直接作為模型,采用動(dòng)態(tài)預(yù)測(cè)和滾動(dòng)優(yōu)化的策略,具有易于建模和魯棒性強(qiáng)的優(yōu)點(diǎn)。在環(huán)境變化時(shí),控制系統(tǒng)能夠保持穩(wěn)定和良好的控制性能,十分適合復(fù)雜工業(yè)過(guò)程控制的特點(diǎn)和要求。單容水箱液位動(dòng)態(tài)矩陣控制曲線如圖5所示。圖5中,u、y、yc分別表示輸入量控制增量的變化、水箱液位隨控制增量變化而變化的實(shí)際輸出和預(yù)測(cè)輸出值。
圖5 控制曲線Fig.5 Control curves
基于現(xiàn)場(chǎng)總線的自動(dòng)化系統(tǒng)采用總線方式代替一對(duì)一的I/O連線,對(duì)大規(guī)模I/O系統(tǒng)來(lái)說(shuō),減少了接線點(diǎn)造成的不可靠因素,符合工控系統(tǒng)向分散化、網(wǎng)絡(luò)化、智能化發(fā)展的方向。
本文為了解決復(fù)雜控制算法實(shí)驗(yàn)驗(yàn)證問(wèn)題,在構(gòu)建了基于Profibus-DP現(xiàn)場(chǎng)總線的A3000過(guò)程控制實(shí)驗(yàn)系統(tǒng)后,利用Matlab提供的先進(jìn)控制算法實(shí)現(xiàn)了對(duì)該系統(tǒng)的先進(jìn)控制,并結(jié)合OPC技術(shù),建立了Matlab與Step7的數(shù)據(jù)通信連接。同時(shí),將實(shí)時(shí)數(shù)據(jù)采集到Matlab中進(jìn)行處理,實(shí)現(xiàn)了預(yù)測(cè)控制和系統(tǒng)辨識(shí)等分析研究。這使得控制效果得到優(yōu)化,在實(shí)驗(yàn)系統(tǒng)上取得了滿意的控制效果。該系統(tǒng)為其他復(fù)雜先進(jìn)控制算法的實(shí)現(xiàn)提供了完善的驗(yàn)證平臺(tái)。
[1]任波,喬莉,李環(huán).現(xiàn)場(chǎng)總線技術(shù)及應(yīng)用[M].北京:航空工業(yè)出版社,2008:4-25.
[2]謝富珍,王春平.OPC數(shù)據(jù)采集技術(shù)的應(yīng)用[J].科技廣場(chǎng),2006(10):127-128.
[3]OPC國(guó)際基金會(huì).OPC data access automation interface standard version[EB/OL].[2009 -04 -05].http://www.opc foundation.org.2002.
[4]史江梅,馮麗輝,鐘偉紅,等.基于模型的預(yù)測(cè)控制算法研究[J].昆明理工大學(xué)學(xué)報(bào):理工版,2002,27(6):72 -75.
[5]胡劍杭,陳沖.基于OPC技術(shù)的MATLAB實(shí)時(shí)過(guò)程控制系統(tǒng)[J].福州大學(xué)學(xué)報(bào):自然科學(xué)版,2008,36(S1):105 -107.
[6]王樹(shù)清.工業(yè)過(guò)程控制工程[M].北京:化學(xué)工業(yè)出版社,2003:7-8.
[7]夏揚(yáng).計(jì)算機(jī)控制技術(shù)[M].北京:機(jī)械工業(yè)出版社,2003:65-73.
[8]徐利新,歐陽(yáng)咸泰,胡中功,等.模型預(yù)測(cè)控制在工業(yè)控制領(lǐng)域中的發(fā)展與應(yīng)用[J].武漢化工學(xué)院學(xué)報(bào),2001,23(1):78-81.