新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 現(xiàn)場(chǎng)總線--PID控制算法應(yīng)用研究

現(xiàn)場(chǎng)總線--PID控制算法應(yīng)用研究

作者: 時(shí)間:2016-12-13 來(lái)源:網(wǎng)絡(luò) 收藏
   1、1OPC自動(dòng)化接口標(biāo)準(zhǔn)

  (1) 自動(dòng)化接口

本文引用地址:http://m.butianyuan.cn/article/201612/329502.htm

  OPC基金會(huì)為方便用戶在各種環(huán)境下軟件開(kāi)發(fā),為數(shù)據(jù)訪問(wèn)規(guī)范提供兩類接口:自動(dòng)化接口和定制接口?;诙ㄖ平涌诘拈_(kāi)發(fā),需要用到較深的COM/DCOM知識(shí),比較晦澀難懂,而運(yùn)用自動(dòng)化接口則有以下優(yōu)點(diǎn):客戶程序可以很容易地應(yīng)用接口,而無(wú)需了解接口的詳細(xì)內(nèi)部機(jī)理;可以運(yùn)用事件觸發(fā)機(jī)制;可以生成一個(gè)通用的動(dòng)態(tài)鏈接庫(kù)(DLL)或控件供所有客戶端應(yīng)用程序使用。

  (2) 自動(dòng)化接口的通信機(jī)制

  OPC客戶程序通過(guò)封裝的OPC自動(dòng)化接口動(dòng)態(tài)鏈接庫(kù)訪問(wèn)OPC服務(wù)器,如圖5所示。該動(dòng)態(tài)連接庫(kù)將OPC服務(wù)器的定制接口翻譯成OPC客戶程序希望的自動(dòng)化接口,以供客戶程序調(diào)用。OPC客戶程序和動(dòng)態(tài)鏈接庫(kù)是進(jìn)程內(nèi)的通信,而動(dòng)態(tài)鏈接庫(kù)和OPC服務(wù)器的通信則基于COM/DCOM,既可以是進(jìn)程內(nèi)或本地的連接,又可以是遠(yuǎn)程連接。封裝的動(dòng)態(tài)鏈接庫(kù)解決了定制接口的解釋和二者的通信,從而大大簡(jiǎn)化了OPC客戶程序的開(kāi)發(fā)?!?/p>

  圖1 OPC客戶程序與服務(wù)器的通迅

  (3) 自動(dòng)化對(duì)象模型

  OPC客戶程序的開(kāi)發(fā)關(guān)鍵在于搞清該動(dòng)態(tài)鏈接庫(kù)的封裝結(jié)構(gòu),也即自動(dòng)化接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)可以用圖6所示的自動(dòng)化對(duì)象模型表示。它主要由六類對(duì)象組成:

  OPCServer:OPC服務(wù)器的一個(gè)實(shí)例。只有創(chuàng)建了OPCServer對(duì)象以后才能獲得OPC服務(wù)器的信息,它包括OPCGroups的搜索以及OPCBrowser對(duì)象的創(chuàng)建;

  OPCGroups:能夠自動(dòng)搜集到OPCServer范圍內(nèi)客戶端創(chuàng)建的所有的OPCGroup對(duì)象;

  OPCGroup:OPCGroup對(duì)象的一個(gè)實(shí)例。它包含所有的狀態(tài)信息,并且為OPCGroup中所涉及的OPC- Items提供必要的服務(wù);

  OPCItems:能夠自動(dòng)搜集到OPCServer范圍內(nèi)客戶端創(chuàng)建的對(duì)應(yīng)相應(yīng)的OPCGroup中的所有的OPCItem對(duì)象;

  OPCItem:一個(gè)自動(dòng)化對(duì)象,它包含“位號(hào)”的定義,當(dāng)前值,狀態(tài)信息,最后更新時(shí)間;

  OPCBrowser:瀏覽服務(wù)器中所有“位號(hào)”名稱的對(duì)象。對(duì)于每個(gè)OPCServer只能創(chuàng)建一個(gè)OPCBrowser對(duì)象?! ?/p>

  圖2 自動(dòng)化對(duì)象模型

  1.2 實(shí)現(xiàn)PID控制的OPC客戶程序

  (1) 使用VB開(kāi)發(fā)OPC應(yīng)用程序

  利用VB開(kāi)發(fā)OPC應(yīng)用程序時(shí),實(shí)現(xiàn)OPC自動(dòng)化接口的OPC包裝DLL是必須的,這個(gè)OPC包裝DLL一般應(yīng)該是由OPC服務(wù)器的供應(yīng)商提供的,為OPC客戶程序的軟件開(kāi)發(fā)提供了具有良好接口的工具。本文使用為OPC基金會(huì)的OPC包裝DLL進(jìn)行說(shuō)明。

  因?yàn)樵谛陆ǖ腣B工程里OPC包裝DLL還沒(méi)有注冊(cè),必須先用下述方法對(duì)OPC包裝DLL進(jìn)行注冊(cè):

  從VB菜單里選擇[工程(P)]-[引用(N)];

  在[可用的引用(A)]的一覽表示中,選擇對(duì)應(yīng)的OPC包裝DLL的文件名,這里選擇[OPC Automation 2.0];

  (2) 實(shí)現(xiàn)步驟

  用VB編寫OPC客戶端程序包含以下步驟:

  添加服務(wù)器的引用,創(chuàng)建OPC服務(wù)器對(duì)象,并將客戶程序與服務(wù)器相連;

  創(chuàng)建組集合并添加組對(duì)象;

  添加OPC項(xiàng),利用OPCBrowse方法瀏覽整個(gè)服務(wù)器中所有的項(xiàng),選擇需要的項(xiàng),將其添加到規(guī)定的組中,并顯示其值和狀態(tài);

  在主畫面中顯示添加的組和項(xiàng)。

  (3) 程序設(shè)計(jì)

  圖3是以VB實(shí)現(xiàn)的具有PID功能的OPC同步客戶程序?! ?/p>

  圖3 實(shí)現(xiàn)PID控制的OPC客戶程序

  該單回路控制過(guò)程為自衡非振蕩,具有相互影響的雙容過(guò)程。其數(shù)學(xué)模型可用如下傳遞函數(shù)描述:G(s)=式中, Kp, Tp,τ為過(guò)程的增益、時(shí)間常數(shù)和時(shí)滯。式中的各參數(shù)可根據(jù)階躍響應(yīng)曲線用圖解法求得。

  下面給出確定傳遞函數(shù)的參數(shù)的方法:設(shè)圖7中的控制量為q,測(cè)量值為y(∞),新的穩(wěn)態(tài)值為設(shè)定值,增益K可由輸入輸出的穩(wěn)態(tài)值直接算出,而Tp,τ則可以用作圖法確定。為了能夠隨時(shí)調(diào)用在OPC服務(wù)器上采集的測(cè)量值y并繪制出相應(yīng)的階躍響應(yīng)曲線,這里把選擇的數(shù)據(jù)存放在指定的數(shù)據(jù)庫(kù)中(采用SQL2000數(shù)據(jù)庫(kù))。同時(shí)也是為了在進(jìn)行算法的仿真的時(shí)候,既可以從歷史數(shù)據(jù)庫(kù)中取數(shù)據(jù),也可隨著數(shù)據(jù)的采集,可以不斷刷新數(shù)據(jù),進(jìn)行算法的優(yōu)化,如圖4所示。  

  圖4 SQL server數(shù)據(jù)庫(kù)中存取OPC服務(wù)器數(shù)據(jù)

  2、結(jié)束語(yǔ)

  通過(guò)FF現(xiàn)場(chǎng)總線的過(guò)程控制實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)過(guò)程,論述OPC技術(shù),目的是希望通過(guò)VB去開(kāi)發(fā)OPC自動(dòng)化接口的客戶應(yīng)用程序,實(shí)現(xiàn)PID控制算法到OPC 客戶應(yīng)用程序的應(yīng)用編程,方便用戶的使用和系統(tǒng)的維護(hù)和升級(jí),同時(shí)研究SQL Server 2000的數(shù)據(jù)庫(kù)系統(tǒng),用于歷史數(shù)據(jù)的存取以及算法的仿真。如何實(shí)現(xiàn)更加復(fù)雜的先進(jìn)控制算法,可以使用OLE自動(dòng)化技術(shù)來(lái)實(shí)現(xiàn)VB與Matlab混合編程,即用VB編寫OPC客戶端程序來(lái)實(shí)現(xiàn)數(shù)據(jù)通信,而利用Matlab進(jìn)行先進(jìn)控制算法的編寫,從而對(duì)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行分析,是下一步研究的重點(diǎn)。



評(píng)論


技術(shù)專區(qū)

關(guān)閉