技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于OPC技術(shù)的液位控制仿真實驗平臺設(shè)計

基于OPC技術(shù)的液位控制仿真實驗平臺設(shè)計

時間:2010-10-14 13:37:51來源:zhangting

導(dǎo)語:?本方案利用組態(tài)王良好的人機界面、數(shù)據(jù)采集功能,并結(jié)合VB環(huán)境編程的便利性,采用可靠的OPC接口建立組態(tài)王和VB之間的數(shù)據(jù)通訊。

摘要:本文介紹了一種基于組態(tài)王和VB6.0的液位控制仿真實驗平臺的設(shè)計過程。本方案利用組態(tài)王良好的人機界面、數(shù)據(jù)采集功能,并結(jié)合VB環(huán)境編程的便利性,采用可靠的OPC接口建立組態(tài)王和VB之間的數(shù)據(jù)通訊。利用組態(tài)王開發(fā)服務(wù)器端畫面,在VB客戶端環(huán)境中編寫控制算法,最終實現(xiàn)對水箱液位的精確控制。實驗結(jié)果表明,此方法使用簡單可靠,可廣泛應(yīng)用于教學(xué)及實驗平臺搭建工作。 

關(guān)鍵詞:仿真實驗;組態(tài)王;VB6.0OPC接口

0 引言

      以PLC、組態(tài)軟件為單元,可以組成從簡單到復(fù)雜的各種工業(yè)控制系統(tǒng)[1]。PLC可以實現(xiàn)復(fù)雜的邏輯編程及簡單的算法編程,但是對于先進控制算法,如模糊控制算法等涉及到矩陣運算[2],由于算法本身的復(fù)雜性,單純依靠PLC編程功能已經(jīng)不能滿足要求;組態(tài)軟件編程語言雖然簡單,但大多數(shù)是腳本語言,在處理算法方面仍然存在諸多不便。因此,提出將算法寫入VB(Visual Basic)程序的思路,借助VB的快速運算功能及豐富的函數(shù)庫,可以方便的實現(xiàn)算法編寫,求解輸出值通過可靠的OPC接口反饋給組態(tài)軟件[3],最終實現(xiàn)對控制對象的控制。

      本文正是基于上述思路,設(shè)計開發(fā)了基于組態(tài)王和VB的液位控制仿真實驗平臺。該平臺簡單可靠,本文在VB環(huán)境中編寫了傳統(tǒng)的PID控制算法,實現(xiàn)了對雙容水箱液位的仿真控制。此外,在此平臺上可以繼續(xù)開發(fā)其他高級算法,避免了聯(lián)機編程測試的繁瑣性。

1.  組態(tài)王與VBOPC通信

1.1  OPC通訊原理

      現(xiàn)在常用的組態(tài)王和VB通信的接口有DDE和OPC,但在實際使用過程中,廣大用戶發(fā)現(xiàn)采用DDE在設(shè)備和控制系統(tǒng)之間傳遞實時信息并非理想的辦法,因為它在傳輸性能和可靠性等方面都存在許多限制,另外DDE不適用于大量數(shù)據(jù)的高速數(shù)據(jù)采集,并且DDE從來沒有為不同計算機之間的數(shù)據(jù)交換提供可靠的機制;OPC的產(chǎn)生有效的解決了此類問題[4]。

      OPC是用于工業(yè)設(shè)備服務(wù)器的一種標(biāo)準(zhǔn)化接口。OPCServer可以讓設(shè)備與各種支持0PC 的組態(tài)軟件之間進行簡明的、標(biāo)準(zhǔn)化的數(shù)據(jù)交換。在過去,為了存取現(xiàn)場設(shè)備的數(shù)據(jù)信息,每一個應(yīng)用軟件開發(fā)商都需要編寫專用的接口函數(shù)。由于現(xiàn)場設(shè)備的種類繁多,且產(chǎn)品的不斷升級,往往給用戶和軟件開發(fā)商帶來了巨大的工作負擔(dān)。通常這樣也不能滿足工作的實際需要,系統(tǒng)集成商和開發(fā)商需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設(shè)備驅(qū)動程序。OPC 以O(shè)LE/COM/DCOM機制作為應(yīng)用程序級的通信標(biāo)準(zhǔn),采用客戶/服務(wù)器模式,把開發(fā)訪問接口的任務(wù)放在硬件生產(chǎn)廠家或第三方廠家,以O(shè)PC服務(wù)器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統(tǒng)的集成,提高了系統(tǒng)的開放性和可互操作性。OPC技術(shù)的實現(xiàn)包括兩個組成部分,OPC服務(wù)器部分及OPC客戶應(yīng)用部分,其中OPCServer基本結(jié)構(gòu)如圖1所示。且在傳輸速率和可靠性方面,優(yōu)于DDE接口,因此本文采用OPC接口完成VB與組態(tài)王數(shù)據(jù)通訊。

圖 1 OPC Server基本結(jié)構(gòu)圖

圖 1 OPC Server基本結(jié)構(gòu)圖

1.2  OPC程序設(shè)計

      為了方便用戶使用組態(tài)王OPC Server功能,對組態(tài)王的實時數(shù)據(jù)進行訪問,北京亞控為組態(tài)王OPC用戶提供了kingvewcliend.dll動態(tài)鏈接庫,其內(nèi)部包含StartCliend、ReadTag、WriteTag等豐富庫函數(shù)。本方案在VB環(huán)境下,通過此動態(tài)鏈接庫完成和組態(tài)王數(shù)據(jù)詞典的動態(tài)數(shù)據(jù)交換,最終將下位機采集的數(shù)據(jù)通過OPC接口實時傳輸?shù)浇M態(tài)王。

      具體實現(xiàn)過程是,用StartCliend函數(shù)實現(xiàn)VB工程及組態(tài)王工程的連接,用戶調(diào)用AddTag函數(shù)將要采集的項目添加到采集的列表中(如圖2所示),用戶必須進行此操作,否則不能進行項目的采集。當(dāng)用戶調(diào)用此函數(shù)后,函數(shù)將返回項目在采集列表中的位置(TagID)和項目的數(shù)據(jù)類型(TagDataType),用戶將根據(jù)返回的信息進行采集。用戶添加完成采集項目列表后,可以通過調(diào)用Readtag和WriteTag函數(shù)來對項目進行讀寫。

圖 2 部分項目列表

圖 2 部分項目列表

向組態(tài)王寫數(shù)據(jù)

For i = 1 To TagNo-5 Step 1

If i = 1 Then

 Data = YeWei_Xia

 End If

………………………………

xuhao = Val(i)

Select Case Typ(xuhao - 1)

Case 11

bVal = Val(Data)

Case 3

lVal = Val(Data)

Case 4

fVal = Val(Data)

Case 8

sVal = Data

Case Else

   MsgBox "無效的數(shù)據(jù)類型,不能寫數(shù)據(jù)。", 64, "錯誤"

   Exit Sub

End Select

ret = WriteTag(i, bVal, lVal, fVal, sVal)

Next i

1.3 PID程序設(shè)計

      在VB環(huán)境中編寫液位的控制程序,為了確保整個系統(tǒng)的控制精度,我們在這采用串級控制,將下水箱液位作為主控對象,上水箱液位作為副控對象。采用PID控制算法(運算規(guī)律如式1),外環(huán)采用PID調(diào)節(jié)器,內(nèi)環(huán)采用PI調(diào)節(jié)器。

 

2、組態(tài)畫面的設(shè)計

      北京亞控公司的組態(tài)王有良好的圖形界面,豐富的驅(qū)動程序和網(wǎng)絡(luò)功能,編程風(fēng)格簡單、純中文界面,且與其他應(yīng)用程序交換方便。本系統(tǒng)正是利用組態(tài)王強大的組態(tài)功能建立了雙容水箱的服務(wù)器端畫面,包括主畫面、PID控制畫面、歷史趨勢畫面、報警畫面及報表畫面等。通過OPC協(xié)議建立組態(tài)王數(shù)據(jù)詞典變量與VB客戶端的連接,實現(xiàn)VB變量的實時監(jiān)測。其中主畫面如圖3所示。

圖3 組態(tài)王主畫面

圖3 組態(tài)王主畫面

3、系統(tǒng)測試及結(jié)果分析

      在組態(tài)王環(huán)境編輯好組態(tài)畫面后,通過OPC協(xié)議建立與VB客戶端連接。在VB客戶端制作操作界面如圖4所示。編譯執(zhí)行液位控制程序,并且通過點擊“連接服務(wù)器”按鈕建立OPC連接,并點擊“添加項目”按鈕建立組態(tài)王數(shù)據(jù)字典與VB變量連接,最終可實現(xiàn)對VB客戶端液位及其他變量的實時監(jiān)測。圖5為組態(tài)王服務(wù)器端監(jiān)測到的下水箱液位曲線,通過曲線可以看出,該平臺數(shù)據(jù)通信實時性好,準(zhǔn)確率高。

  1. 4.         結(jié)論

在組態(tài)王環(huán)境編輯好組態(tài)畫面后,通過OPC協(xié)議建立與VB客戶端連接。在VB客戶端制作操作界面如圖4所示。編譯執(zhí)行液位控制程序,并且通過點擊“連接服務(wù)器”按鈕建立OPC連接,并點擊“添加項目”按鈕建立組態(tài)王數(shù)據(jù)字典與VB變量連接,最終可實現(xiàn)對VB客戶端液位及其他變量的實時監(jiān)測。圖5為組態(tài)王服務(wù)器端監(jiān)測到的下水箱液位曲線,通過曲線可以看出,該平臺數(shù)據(jù)通信實時性好,準(zhǔn)確率高。

圖 5 組態(tài)王監(jiān)測液位曲線

4、 結(jié)論

      本文設(shè)計了一個基于OPC接口搭建的液位控制仿真實驗平臺。采用組態(tài)王建立服務(wù)器端畫面,在VB客戶端編寫液位PID控制算法,兩者通過OPC接口建立連接。實驗結(jié)果表明,該實驗平臺數(shù)據(jù)通信實時性好,可廣泛應(yīng)用于教學(xué)場合。除此之外,此種方法也可以有效彌補PLC無法實現(xiàn)復(fù)雜算法編程的缺陷,使PLC控制方法更加靈活,具有一定的實用價值。

參考文獻:

[1]      邵新華,金元郁,呂學(xué)芳.基于組態(tài)軟件與VB的實時監(jiān)控系統(tǒng)[J].控制工程.2003,10(5):439-440,459

[2]      李偉獎,馬邕文.MCGS結(jié)合VB語言實現(xiàn)造紙廢水處理智能控制.工業(yè)控制計算機.2009,22(3):22-23

[3]      于海生,潘松峰,丁軍航,等.計算機控制技術(shù)[M].北京:機械工業(yè)出版社. 2007.

[4]      段開創(chuàng)等. DDE、OPC對組態(tài)王功能的擴展[J].工業(yè)控制計算機.2008,21(12):11-12

[5]      馬龍博,鄭建英.基于組態(tài)王和VB的智能儀表實時監(jiān)控系統(tǒng)[J] .自動化儀表.2008,29(8):32-34

標(biāo)簽:

點贊

分享到:

上一篇:二極管箝位中壓三電平變頻器...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號