您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
基于VB和組態(tài)王的監(jiān)控系統(tǒng)軟件設(shè)計(jì)
時(shí)間:2009-01-09 11:41:02來源:zhangting
圖1 系統(tǒng)結(jié)構(gòu)圖[/align]
主控室與分控室工業(yè)控制機(jī)通訊,獲取生產(chǎn)工藝參數(shù)報(bào)表,報(bào)警記錄等資料信息,為管理人員了解總體生產(chǎn)狀況,調(diào)整生產(chǎn)計(jì)劃提供幫助。
分控室和主控室系統(tǒng)以ethernet相連,共享數(shù)據(jù)和信息。分控室計(jì)算機(jī)的信息通過網(wǎng)絡(luò)送到主機(jī),由主控室完成數(shù)據(jù)處理的任務(wù),自動(dòng)生成各種報(bào)表,并在指定的時(shí)間打印輸出。主控室可以根據(jù)操作人員的選擇切換同步監(jiān)視各個(gè)分控室系統(tǒng)的運(yùn)行情況。主控室計(jì)算機(jī)還完成網(wǎng)絡(luò)服務(wù)器的功能,將這些生產(chǎn)參數(shù)上網(wǎng)傳輸,與局域網(wǎng)和internet相連,實(shí)現(xiàn)網(wǎng)絡(luò)化遠(yuǎn)程監(jiān)控。
主監(jiān)控室和遠(yuǎn)程監(jiān)控局域網(wǎng)之間選擇快速以太網(wǎng);分控室和主控室之間由于通信距離較遠(yuǎn)和有干擾源存在,選擇rs485串行通信標(biāo)準(zhǔn)。分控室和plc儀表及之間則選擇簡(jiǎn)單可靠的rs232串行通信標(biāo)準(zhǔn)。
3 數(shù)據(jù)采集與通訊程序
數(shù)據(jù)采集與通訊程序作為與儀表和plc以及與上位機(jī)監(jiān)控軟件的接口,在系統(tǒng)軟件中占據(jù)了重要的地位,其功能結(jié)構(gòu)如圖2所示。數(shù)據(jù)采集與通訊程序在分控室監(jiān)控計(jì)算機(jī)上主要包括與智能儀表、plc的通訊和與主控室的通訊三部分,均用vb編寫,采用vb6.0提供的mscomm通信控件。mscomm控件通過定時(shí)查詢來控制串行端口,每隔一段時(shí)間讀取或發(fā)送一次數(shù)據(jù),包括定時(shí)讀取智能儀表、plc數(shù)據(jù)和定時(shí)向主控室計(jì)算機(jī)傳送數(shù)據(jù)。對(duì)plc控制參數(shù)的寫入,則采用事件驅(qū)動(dòng)方式來處理,在程序中設(shè)置相關(guān)的標(biāo)志位,需要寫入時(shí)由相應(yīng)事件引起標(biāo)志位改變,再調(diào)用相應(yīng)的處理和寫入子程序。需要進(jìn)行圖形化顯示的數(shù)據(jù)則在vb中定義為dde變量,并作為組態(tài)王中相應(yīng)數(shù)據(jù)變量的dde數(shù)據(jù)服務(wù)器。采集和通訊程序生成可執(zhí)行程序,監(jiān)控系統(tǒng)軟件啟動(dòng)時(shí)自動(dòng)后臺(tái)運(yùn)行。主控室計(jì)算機(jī)接收分控室定時(shí)傳來的數(shù)據(jù),存儲(chǔ)到數(shù)據(jù)庫(kù)中,作為遠(yuǎn)程監(jiān)控頁(yè)面訪問的數(shù)據(jù)源,利用flash、asp等生成動(dòng)態(tài)網(wǎng)頁(yè)并向局域網(wǎng)和internet發(fā)布實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
[align=center]
圖2 通訊程序功能結(jié)構(gòu)[/align]
4 組態(tài)王與vb的dde實(shí)現(xiàn)
基于windows消息機(jī)制的dde(dynamic data exchange)是windows實(shí)現(xiàn)其應(yīng)用程序彼此之間通信的一種手段,通過在運(yùn)行的應(yīng)用程序之間建立客戶/服務(wù)器(client/ server)關(guān)系實(shí)現(xiàn)在彼此之間交換數(shù)據(jù)或指令。dde可以作為連接監(jiān)控系統(tǒng)現(xiàn)場(chǎng)信號(hào)與監(jiān)控軟件的橋梁,允許在兩個(gè)windows應(yīng)用程序間通過相互傳遞dde消息進(jìn)行會(huì)話,從而完成數(shù)據(jù)的請(qǐng)求、應(yīng)答和傳輸。這樣,若需實(shí)現(xiàn)監(jiān)控?cái)?shù)據(jù)與監(jiān)控界面相集成,可事先編寫好具有通用功能的dde服務(wù)軟件,為用戶規(guī)定好應(yīng)用程序名(server)、標(biāo)題名(topic)和項(xiàng)目名(item),讓用戶自己按提供的規(guī)范去完成監(jiān)視畫面的組態(tài)功能。
dde提供對(duì)不同程序在運(yùn)行期間實(shí)現(xiàn)對(duì)數(shù)據(jù)的動(dòng)態(tài)交換,它是建立在windows內(nèi)部消息系統(tǒng)和共享全局內(nèi)存基礎(chǔ)上的一種協(xié)議,用來協(xié)調(diào)windows應(yīng)用程序之間的數(shù)據(jù)交換和命令調(diào)用。dde協(xié)議使用三級(jí)命名:服務(wù)(service)、主題(topic)和數(shù)據(jù)項(xiàng)(item)來標(biāo)識(shí)dde所傳遞的數(shù)據(jù)單元。服務(wù)使應(yīng)用程序具有了提供給其他程序的數(shù)據(jù)交換能力,一般服務(wù)就是應(yīng)用程序的文件名;主題是對(duì)服務(wù)器有意義的信息單元,許多服務(wù)器都有默認(rèn)的主題。每次dde客戶與服務(wù)程序之間的對(duì)話都是先由客戶啟動(dòng)的,所以在每次客戶啟動(dòng)之前,dde服務(wù)器必須先投入運(yùn)行。dde支持 3種數(shù)據(jù)交換模式:冷鏈結(jié),客戶(client)應(yīng)用程序請(qǐng)求來自服務(wù)器(server)的數(shù)據(jù);溫鏈結(jié),客戶應(yīng)用程序請(qǐng)求來自服務(wù)器的一個(gè)通知,以便知道某些特定的數(shù)據(jù)項(xiàng)在何時(shí)發(fā)生了變化;熱鏈結(jié),當(dāng)特定數(shù)據(jù)項(xiàng)發(fā)生變化時(shí),服務(wù)器向用戶同時(shí)發(fā)送通知和數(shù)據(jù)本身。dde協(xié)議在vb和組態(tài)王中都進(jìn)行了很好的封裝,可以很容易的實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)交換。
為了建立dde連接,需要在組態(tài)王的數(shù)據(jù)詞典里建立dde變量,并登記3個(gè)標(biāo)識(shí)名。組態(tài)王運(yùn)行系統(tǒng)的程序名是“view”,主題規(guī)定為“tagname”,項(xiàng)目是在定義dde變量時(shí)的項(xiàng)目名稱。變量名是組態(tài)王使用的,“連接對(duì)象名”用來定義服務(wù)器程序的信息。組態(tài)王作為客戶向vb請(qǐng)求數(shù)據(jù)時(shí)需要在定義變量時(shí)說明服務(wù)器程序的3個(gè)標(biāo)識(shí)名。應(yīng)用程序名為vb中可執(zhí)行程序的名字,話題為vb中可執(zhí)行程序窗體的linktopic屬性值,項(xiàng)目名設(shè)為窗體中控件的名字。
在vb中dde連接是通過控件的屬性和方法來實(shí)現(xiàn)的。需要設(shè)置linktopic、linkitem和linkmode3個(gè)屬性。當(dāng)vb軟件擔(dān)任客戶時(shí): linktopic屬性指的是服務(wù)器軟件的名稱以及在它下面所建立的文件名稱; linkitem屬性指的是服務(wù)器軟件的linkmode屬性下指定要傳給vb控制的那些項(xiàng)目。
linkmode屬性有三種設(shè)定:“0”為none,無dde功能;“1”為hot,當(dāng)服務(wù)器數(shù)據(jù)變動(dòng)時(shí)客戶數(shù)據(jù)會(huì)隨時(shí)更新;“2”為cold,客戶數(shù)據(jù)只有在請(qǐng)求dde時(shí)才更新。當(dāng)vb擔(dān)任服務(wù)器時(shí),只需設(shè)置linktopic和linkitem屬性。linktopic屬性指的是要對(duì)客戶請(qǐng)求做出反應(yīng)的窗體,而窗體中的控件就是客戶所請(qǐng)求對(duì)象的項(xiàng)目。
linkmode屬性有兩種:“0”為none;“1”為server。當(dāng)設(shè)為“1”時(shí),窗體上的控件就可以供應(yīng)數(shù)據(jù)給已建立dde管道的客戶軟件;設(shè)為“0”時(shí),則無dde連接。
分控站監(jiān)控程序與數(shù)據(jù)采集程序之間存在大量的數(shù)據(jù)交換,由在后臺(tái)運(yùn)行的數(shù)據(jù)采集程序和組態(tài)王之間的dde連接來實(shí)現(xiàn)。其中數(shù)據(jù)采集程序作為dde服務(wù)器,組態(tài)王作為客戶向其請(qǐng)求數(shù)據(jù)。組態(tài)王與數(shù)據(jù)采集程序的dde連接在組態(tài)王啟動(dòng)時(shí)自動(dòng)完成。
5 結(jié)束語
通過dde連接實(shí)現(xiàn)了數(shù)據(jù)采集程序與監(jiān)控軟件之間的信息集成和共享。利用組態(tài)王提供的豐富的圖形和組態(tài)工具,可以實(shí)現(xiàn)工藝流程圖的實(shí)時(shí)數(shù)據(jù)刷新、各種曲線和報(bào)警等的顯示。這種方法可以充分發(fā)揮vb和組態(tài)王各自的優(yōu)勢(shì),利用vb的數(shù)據(jù)通訊、處理能力和組態(tài)王的圖形化工具,使監(jiān)控系統(tǒng)軟件的開發(fā)更加簡(jiǎn)單和靈活。
參考文獻(xiàn)
[1] 盧秋紅,張國(guó)偉,顏國(guó)正. 動(dòng)態(tài)數(shù)據(jù)交換在工業(yè)自動(dòng)控制組態(tài)系統(tǒng)中的應(yīng)用[j]. 工業(yè)儀表與自動(dòng)化裝置,2001,(6).
[2] 王為東,李 超. 結(jié)合組態(tài)王和plc實(shí)現(xiàn)遠(yuǎn)程監(jiān)控系統(tǒng)[j]. plc&fa, 2002.(4).
[3] 組態(tài)王6.0使用手冊(cè)[z]. 北京亞控自動(dòng)化軟件科技有限公司。
作者簡(jiǎn)介
李 超 (1979-) 男 助教 主要從事計(jì)算機(jī)控制、現(xiàn)場(chǎng)總線與工業(yè)監(jiān)控系統(tǒng)等教學(xué)和科研工作。標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>500kN.m聯(lián)軸器扭矩剛度疲勞試驗(yàn)系統(tǒng)
2025-11-10
2025-11-10
多項(xiàng)行業(yè)首發(fā)!免畫圖拆單七大升級(jí)功能...
2025-11-07
2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17