1、引言
現(xiàn)場總線(Fieldbus)是近年來迅速發(fā)展起來的一種工業(yè)數(shù)據(jù)總線,它主要解決工業(yè)現(xiàn)場的智能化儀器儀表、控制器、執(zhí)行機構(gòu)等現(xiàn)場設(shè)備間的數(shù)字通信以及這些現(xiàn)場控制設(shè)備和高級控制系統(tǒng)之間的信息傳遞問題。由于現(xiàn)場總線簡單、可靠、經(jīng)濟實用等一系列突出的優(yōu)點,因而受到了許多標(biāo)準(zhǔn)團體和計算機廠商的高度重視。一般把現(xiàn)場總線系統(tǒng)稱為第五代控制系統(tǒng),也稱作FCS——現(xiàn)場總線控制系統(tǒng)。人們一般把50年代前的氣動信號控制系統(tǒng)PCS稱作第一代,把4~20mA等電動模擬信號控制系統(tǒng)稱為第二代,把數(shù)字計算機集中式控制系統(tǒng)稱為第三代,而把70年代中期以來的集散式分布控制系統(tǒng)DCS稱作第四代?,F(xiàn)場總線控制系統(tǒng)FCS作為新一代控制系統(tǒng),一方面,突破了DCS系統(tǒng)采用通信專用網(wǎng)絡(luò)的局限,采用了基于公開化、標(biāo)準(zhǔn)化的解決方案,克服了封閉系統(tǒng)所造成的缺陷;另一方面把DCS的集中與分散相結(jié)合的集散系統(tǒng)結(jié)構(gòu),變成了新型全分布式結(jié)構(gòu),把控制功能徹底下放到現(xiàn)場??梢哉f,開放性、分散性與數(shù)字通訊是現(xiàn)場總線系統(tǒng)最顯著的特征。
本文以在中科院沈陽自動化研究所設(shè)計的基于FF現(xiàn)場總線的網(wǎng)絡(luò)化測控實驗平臺上,設(shè)計了雙容水箱的液位反饋控制回路,并結(jié)合具體被控對象提出了將PID控制算法應(yīng)用到FF現(xiàn)場總線系統(tǒng)的可行性方案,OPC(OLE for Process Control, 用于過程控制的OLE)是一個工業(yè)標(biāo)準(zhǔn),管理這個標(biāo)準(zhǔn)國際組織是OPC基金會,OPC基金會現(xiàn)有會員已超過220家。遍布全球,包括世界上所有主要的自動化控制系統(tǒng)、儀器儀表及過程控制系統(tǒng)的公司。 基于微軟的OLE(現(xiàn)在的Active X)、COM (部件對象模型)和DCOM (分布式部件對象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動化系統(tǒng)。
2、基于FF現(xiàn)場總線的網(wǎng)絡(luò)化平臺
基金會現(xiàn)場總線分低速H1和高速H2兩種通信速率。H1的傳輸速率為 3125Kbps,通信距離可達 1900m (可加中繼器延長),可支持總線供電,支持本質(zhì)安全防爆環(huán)境。H2的傳輸速率為 1Mbps和 2.5Mbps兩種,其通信距離為750m和500m。物理傳輸介質(zhì)可支持比絞線、光纜和無線發(fā)射,協(xié)議符合IEC1158-2標(biāo)準(zhǔn)。其物理媒介的傳輸信號采用曼徹斯特編碼,每位發(fā)送數(shù)據(jù)的中心位置或是正跳變,或是負(fù)跳變。正跳變代表0,負(fù)跳變代表1,從而使串行數(shù)據(jù)位流中具有足夠的定位信息,以保持發(fā)送雙方的時間同步。接收方既可根據(jù)跳變的極性來判斷數(shù)據(jù)的“1”、“0”狀態(tài),也可根據(jù)數(shù)據(jù)的中心位置精確定位。
本系統(tǒng)包括兩個部分:FF現(xiàn)場總線部分和現(xiàn)場控制模型部分,如圖1。FF現(xiàn)場總線包括低速現(xiàn)場總線H1和高速現(xiàn)場總線HSE。低速現(xiàn)場總線H1的速率為31.25kbps,可用于溫度、液位及流量等控制場合,信號類型為電壓信號;高速現(xiàn)場總線HSE的速率為100Mbps,一般用于高級控制、遠程輸入/輸出和高速工廠自動化等場合?,F(xiàn)場控制模型可以利用實驗室的原有設(shè)備,從而節(jié)約了投資。
圖1 系統(tǒng)軟件運行關(guān)系
以單回路液位控制為例,上位機中軟件的運行情況:
(1) HSE Init接口軟件,選擇H1網(wǎng)段,HSE接口程序可以與以太網(wǎng)段內(nèi)的HSE設(shè)備,以及LD設(shè)備下的H1網(wǎng)段設(shè)備進行交互,向組態(tài)等上層軟件提供數(shù)據(jù)訪問接口;
(2) 運行組態(tài)程序FF-Configurator組態(tài)軟件,刷新網(wǎng)段獲取系統(tǒng)的現(xiàn)場設(shè)備列表和功能塊列表,刷新網(wǎng)段后,建立應(yīng)用完成功能塊組態(tài),功能塊間的連線表示通過現(xiàn)場總線通信的信號連接,如圖2所示;
(3) FF H1和FF HSE OPC服務(wù)器, 每秒鐘刷新一次,實現(xiàn)設(shè)備的實時數(shù)據(jù)和歷史數(shù)據(jù)共享以及報警等功能;
(4) 設(shè)計SiaView監(jiān)控軟件,新建一個工程,在對象中選擇PID拖到視圖中,與OPC連接后經(jīng)過編輯可得到一個PID功能塊操作面板。
從組態(tài)軟件的工程窗口的設(shè)備中選擇IF-AI1功能塊、IF-PID功能塊和FI-AO1功能塊拖拽到應(yīng)用視圖中連接配置成一個PID控制回路,見圖2。將功能塊連接,建立功能塊之間的聯(lián)系,使功能塊之間能夠進行參數(shù)值的傳遞并需下載組態(tài)信息到現(xiàn)場設(shè)備。要使液位控制回路正確運行需要修改功能塊的參數(shù)值,雙擊IF-PID功能塊,打開塊的參數(shù)窗口,將IF-PID中MODE_BLK項下的TARGET參數(shù)修改成AUTO模式,讀取功能塊參數(shù),從而實現(xiàn)單回路的液位控制自動正常的運行。如果想要實現(xiàn)將先進控制算法應(yīng)用到FF現(xiàn)場總線系統(tǒng)的方案,只需將IF-PID中MODE_BLK項下的TARGET參數(shù)修改成MAN模式,具體設(shè)置如圖3所示。
圖2 應(yīng)用窗口中配置的PID組態(tài)策略
圖3 實現(xiàn)先進控制算法時的IF-PID功能塊參數(shù)表
3、基于OPC的PID控制方案
目前工業(yè)自動化水平已成為衡量各行各業(yè)現(xiàn)代化水平的一個重要標(biāo)志。同時,控制理論的發(fā)展也經(jīng)歷了古典控制理論、現(xiàn)代控制理論和智能控制理論三個階段。智能 控制的典型實例是模糊全自動洗衣機等。自動控制系統(tǒng)可分為開環(huán)控制系統(tǒng)和閉環(huán)控制系統(tǒng)。一個控制系統(tǒng)包括控制器、傳感器、變送器、執(zhí)行機構(gòu)、輸入輸出接 口??刂破鞯妮敵鼋?jīng)過輸出接口、執(zhí)行機構(gòu),加到被控系統(tǒng)上;控制系統(tǒng)的被控量,經(jīng)過傳感器,變送器,通過輸入接口送到控制器。不同的控制系統(tǒng),其傳感器、 變送器、執(zhí)行機構(gòu)是不一樣的。
實現(xiàn)基于FF現(xiàn)場總線的先進控制算法,要先以實現(xiàn)常規(guī)PID控制為基礎(chǔ),包含先進控制算法的軟件通過OPC接口來讀寫硬件設(shè)備的信息(作為OPC客戶),通過OPC服務(wù)器訪問過程數(shù)據(jù),可以克服異構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)協(xié)議之間的差異。
3.1 OPC服務(wù)器
OPC(OLE for Process Control, 用于過程控制的OLE)是一個工業(yè)標(biāo)準(zhǔn),管理這個標(biāo)準(zhǔn)國際組織是OPC基金會,OPC基金會現(xiàn)有會員已超過220家。遍布全球,包括世界上所有主要的自動化控制系統(tǒng)、儀器儀表及過程控制系統(tǒng)的公司?;谖④浀腛LE(現(xiàn)在的Active X)、COM (部件對象模型)和DCOM (分布式部件對象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動化系統(tǒng)。
選用中科院沈陽自動化研究所提供了OPC服務(wù)器MicroCyber.FFServer.1,服務(wù)器的地址空間由服務(wù)器可讀寫的所有數(shù)據(jù)項組成,可以根據(jù)需要得到數(shù)據(jù)項的全稱對其進行相關(guān)操作。圖4為OPC服務(wù)器的地址空間圖。使用OPC技術(shù)實現(xiàn)用VB6.0編寫的客戶端程序與OPC服務(wù)器的通訊,服務(wù)器中液位的實時值IF-PID-PV.VALUE,以及自定義變量如液位設(shè)定值IF-PID-SP.VALUE,然后進行算法控制,得到控制量,將控制量寫入OPC服務(wù)器的項FI-PID-OUT.VALUE。
圖4 OPC服務(wù)器的地址空間圖
3.2 OPC自動化接口標(biāo)準(zhǔn)
(1) 自動化接口
OPC基金會為方便用戶在各種環(huán)境下軟件開發(fā),為數(shù)據(jù)訪問規(guī)范提供兩類接口:自動化接口和定制接口?;诙ㄖ平涌诘拈_發(fā),需要用到較深的COM/DCOM知識,比較晦澀難懂,而運用自動化接口則有以下優(yōu)點:客戶程序可以很容易地應(yīng)用接口,而無需了解接口的詳細(xì)內(nèi)部機理;可以運用事件觸發(fā)機制;可以生成一個通用的動態(tài)鏈接庫(DLL)或控件供所有客戶端應(yīng)用程序使用。
(2) 自動化接口的通信機制
OPC客戶程序通過封裝的OPC自動化接口動態(tài)鏈接庫訪問OPC服務(wù)器,如圖5所示。該動態(tài)連接庫將OPC服務(wù)器的定制接口翻譯成OPC客戶程序希望的自動化接口,以供客戶程序調(diào)用。OPC客戶程序和動態(tài)鏈接庫是進程內(nèi)的通信,而動態(tài)鏈接庫和OPC服務(wù)器的通信則基于COM/DCOM,既可以是進程內(nèi)或本地的連接,又可以是遠程連接。封裝的動態(tài)鏈接庫解決了定制接口的解釋和二者的通信。
圖5 OPC客戶程序與服務(wù)器的通迅
(3) 自動化對象模型
OPC客戶程序的開發(fā)關(guān)鍵在于搞清該動態(tài)鏈接庫的封裝結(jié)構(gòu),也即自動化接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)可以用圖6所示的自動化對象模型表示。它主要由六類對象組成:
OPCServer:OPC服務(wù)器的一個實例。只有創(chuàng)建了OPCServer對象以后才能獲得OPC服務(wù)器的信息,它包括OPCGroups的搜索以及OPCBrowser對象的創(chuàng)建;
OPCGroups:能夠自動搜集到OPCServer范圍內(nèi)客戶端創(chuàng)建的所有的OPCGroup對象;
OPCGroup:OPCGroup對象的一個實例。它包含所有的狀態(tài)信息,并且為OPCGroup中所涉及的OPC- Items提供必要的服務(wù);
OPCItems:能夠自動搜集到OPCServer范圍內(nèi)客戶端創(chuàng)建的對應(yīng)相應(yīng)的OPCGroup中的所有的OPCItem對象;
OPCItem:一個自動化對象,它包含“位號”的定義,當(dāng)前值,狀態(tài)信息,最后更新時間;
OPCBrowser:瀏覽服務(wù)器中所有“位號”名稱的對象。對于每個OPCServer只能創(chuàng)建一個OPCBrowser對象。
圖6 自動化對象模型
3.3 實現(xiàn)PID控制的OPC客戶程序
(1) 使用VB開發(fā)OPC應(yīng)用程序
利用VB開發(fā)OPC應(yīng)用程序時,實現(xiàn)OPC自動化接口的OPC包裝DLL是必須的,這個OPC包裝DLL一般應(yīng)該是由OPC服務(wù)器的供應(yīng)商提供的,為OPC客戶程序的軟件開發(fā)提供了具有良好接口的工具。
因為在新建的VB工程里OPC包裝DLL還沒有注冊,必須先用下述方法對OPC包裝DLL進行注冊:
從VB菜單里選擇工程引用;
在可用的引用的一覽表示中,選擇對應(yīng)的OPC包裝DLL的文件名,這里選擇[OPC Automation 2.0];
(2) 實現(xiàn)步驟
用VB編寫OPC客戶端程序包含以下步驟:
添加服務(wù)器的引用,創(chuàng)建OPC服務(wù)器對象,并將客戶程序與服務(wù)器相連;
創(chuàng)建組集合并添加組對象;
添加OPC項,利用OPCBrowse方法瀏覽整個服務(wù)器中所有的項,選擇需要的項,將其添加到規(guī)定的組中,并顯示其值和狀態(tài);
在主畫面中顯示添加的組和項。
(3) 程序設(shè)計
圖7是以VB實現(xiàn)的具有PID功能的OPC同步客戶程序。
圖7 實現(xiàn)PID控制的OPC客戶程序
該單回路控制過程為自衡非振蕩,具有相互影響的雙容過程。其數(shù)學(xué)模型可用如下傳遞函數(shù)描述:
式中, Kp, Tp,τ為過程的增益、時間常數(shù)和時滯。式中的各參數(shù)可根據(jù)階躍響應(yīng)曲線用圖解法求得。
下面給出確定傳遞函數(shù)的參數(shù)的方法:設(shè)圖7中的控制量為q,測量值為y(∞),新的穩(wěn)態(tài)值為設(shè)定值,增益K可由輸入輸出的穩(wěn)態(tài)值直接算出,而Tp,τ則可以用作圖法確定。為了能夠隨時調(diào)用在OPC服務(wù)器上采集的測量值y并繪制出相應(yīng)的階躍響應(yīng)曲線,這里把選擇的數(shù)據(jù)存放在指定的數(shù)據(jù)庫中(采用SQL2000數(shù)據(jù)庫)。同時也是為了在進行算法的仿真的時候,既可以從歷史數(shù)據(jù)庫中取數(shù)據(jù),也可隨著數(shù)據(jù)的采集,可以不斷刷新數(shù)據(jù),進行算法的優(yōu)化,如圖8所示。
圖8 SQL server數(shù)據(jù)庫中存取OPC服務(wù)器數(shù)據(jù)
4、結(jié)束語
通過FF現(xiàn)場總線的過程控制實驗系統(tǒng)的設(shè)計過程,論述OPC技術(shù),目的是希望通過VB去開發(fā)OPC自動化接口的客戶應(yīng)用程序,實現(xiàn)PID控制算法到OPC 客戶應(yīng)用程序的應(yīng)用編程,方便用戶的使用和系統(tǒng)的維護和升級,同時研究SQL Server 2000的數(shù)據(jù)庫系統(tǒng),用于歷史數(shù)據(jù)的存取以及算法的仿真。如何實現(xiàn)更加復(fù)雜的先進控制算法,可以使用OLE自動化技術(shù)來實現(xiàn)VB與Matlab混合編程,即用VB編寫OPC客戶端程序來實現(xiàn)數(shù)據(jù)通信,而利用Matlab進行先進控制算法的編寫,從而對現(xiàn)場數(shù)據(jù)進行分析,是下一步研究的重點。
-
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177813 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85329 -
總線
+關(guān)注
關(guān)注
10文章
2878瀏覽量
88052
發(fā)布評論請先 登錄
相關(guān)推薦
評論