技術(shù)頻道

      組態(tài)王與VB的加油站實(shí)時(shí)監(jiān)控系統(tǒng)的開(kāi)發(fā)與應(yīng)用

        1 引言

        工控領(lǐng)域通用組態(tài)軟件--組態(tài)王是運(yùn)行于microsoft windows98/nt中文平臺(tái)的全中文界面的組態(tài)軟件,采用了多線程、com組件等新技術(shù),實(shí)現(xiàn)了實(shí)時(shí)多任務(wù),軟件運(yùn)行穩(wěn)定可靠。加油站實(shí)時(shí)監(jiān)控系統(tǒng)以組態(tài)王為主要運(yùn)行畫(huà)面,通過(guò)對(duì)被監(jiān)控系統(tǒng)的參數(shù)設(shè)置,在組態(tài)王的界面上可以動(dòng)態(tài)地顯示下位機(jī)的運(yùn)行狀態(tài)以及完成對(duì)多臺(tái)加油機(jī)各項(xiàng)性能指標(biāo)的測(cè)試,如油罐的液位、水位、溫度、壓力等值。plc對(duì)加油站中的數(shù)據(jù)進(jìn)行采樣,采樣后的數(shù)據(jù)與預(yù)設(shè)值比較,通過(guò)控制電磁閥對(duì)加油站進(jìn)行實(shí)時(shí)監(jiān)控。vb技術(shù)作為后臺(tái)支持,利用自身內(nèi)部提供的建立數(shù)據(jù)庫(kù)的工具—可視化數(shù)據(jù)管理器建立access數(shù)據(jù)庫(kù),調(diào)出組態(tài)王報(bào)表、歷史紀(jì)錄等,并對(duì)記錄進(jìn)行添加、修改或者刪除等,進(jìn)行保存后反饋給組態(tài)王系統(tǒng),以畫(huà)面形式呈現(xiàn)給用戶(hù)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。

        2 plc與組態(tài)王在系統(tǒng)中的應(yīng)用

        2.1 數(shù)據(jù)采樣與比較

        使用plc可對(duì)加油站中的數(shù)據(jù)進(jìn)行采樣,采樣后的數(shù)據(jù)與預(yù)設(shè)值進(jìn)行比較,可以對(duì)加油站進(jìn)行實(shí)時(shí)監(jiān)控。plc是以微處理器為基礎(chǔ),綜合計(jì)算機(jī)技術(shù)和自動(dòng)化技術(shù)而開(kāi)發(fā)的新一代工業(yè)控制器。我所使用的plc為歐姆龍公司的omron cpm1a型。將plc與上位機(jī)相連,通過(guò)編程,采樣后得到數(shù)據(jù),再通過(guò)比較指令,取得結(jié)果。

        當(dāng)指令執(zhí)行時(shí),將通道c1+1,c1中的兩個(gè)4位16進(jìn)制數(shù)連成一個(gè)8位16進(jìn)制數(shù),將通道c2+1,c2中的兩個(gè)4位16進(jìn)制數(shù)連成一個(gè)8位16進(jìn)制數(shù),然后比較這兩個(gè)8位數(shù)的大小,將比較結(jié)果送sr區(qū)的標(biāo)志位。當(dāng)(c1+1、c1)>(c2+1、c2)時(shí),大于標(biāo)志位25505置位為on,執(zhí)行此標(biāo)志位后的指令;當(dāng)(c1+1、c1)=(c2+1、c2)時(shí),等于標(biāo)志位25506置位為on,執(zhí)行此標(biāo)志位后的指令;當(dāng)(c1+1、c1)<(c2+1、c2)時(shí),小于標(biāo)志位25507置位為on,執(zhí)行此標(biāo)志位后的指令。而此指令通過(guò)組態(tài)王控制開(kāi)關(guān)量。當(dāng)采得的數(shù)據(jù)經(jīng)比較大于某一個(gè)預(yù)設(shè)值或小于某一個(gè)預(yù)設(shè)值時(shí),對(duì)開(kāi)關(guān)量進(jìn)行自動(dòng)控制,以使對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)的監(jiān)控與控制。

        2.2 組態(tài)王畫(huà)面與應(yīng)用

        本系統(tǒng)所使用的是北京亞控科技發(fā)展有限公司的組態(tài)王6.5版。在開(kāi)發(fā)系統(tǒng)左側(cè)的樹(shù)形視圖中選擇“畫(huà)面”,選擇新畫(huà)面選項(xiàng),建立一系列新畫(huà)面,包括:加油機(jī)日?qǐng)?bào)表, 加油機(jī)油品分類(lèi)報(bào)表, 加油明細(xì)查詢(xún), 客戶(hù)信息總量查詢(xún), 營(yíng)業(yè)統(tǒng)計(jì),儲(chǔ)罐實(shí)時(shí)測(cè)量系統(tǒng),加油機(jī)實(shí)時(shí)作業(yè)圖,主畫(huà)面等。其中儲(chǔ)罐實(shí)時(shí)測(cè)量系統(tǒng)、加油機(jī)實(shí)時(shí)作業(yè)圖中可對(duì)加油機(jī)進(jìn)行開(kāi)關(guān)量的控制,而對(duì)報(bào)表都設(shè)有查詢(xún)功能和打印功能,可對(duì)當(dāng)天或歷史的數(shù)據(jù)進(jìn)行查詢(xún)或打印(圖2所示)。

        3 vb6.0在系統(tǒng)中的應(yīng)用

        利用vb內(nèi)部的visdata工具建立access數(shù)據(jù)庫(kù),調(diào)出組態(tài)王歷史數(shù)據(jù)庫(kù),并用data數(shù)據(jù)控件對(duì)其中數(shù)據(jù)進(jìn)行添加、修改等操作,完成加油登記等功能,對(duì)加油站相關(guān)信息進(jìn)行實(shí)時(shí)更新

        3.1 用vb6.0創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)表

        用戶(hù)可以使用vb6.0內(nèi)部提供的建立數(shù)據(jù)數(shù)庫(kù)的工具—可視化數(shù)據(jù)管理器(visdata)建立access數(shù)據(jù)庫(kù),其步驟如下:

        (1) 選擇“外接程序(addins)/可視化數(shù)據(jù)管理器”;

        (2) 選擇“文件/新建/microsoft/access/vesion 7.0mdb”;

        (3) 在“文件名”下輸入“報(bào)表”,然后按下“添加字段”添加所需字段;

        (4) 最后按下“關(guān)閉”,然后進(jìn)行數(shù)據(jù)的輸入。

        3.2 用vb6.0連接access數(shù)據(jù)庫(kù)數(shù)據(jù)表

        vb6.0應(yīng)用內(nèi)置的microsoft database jet engine實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。jet數(shù)據(jù)庫(kù)引擎將數(shù)據(jù)訪問(wèn)對(duì)象上的操作轉(zhuǎn)換成對(duì)數(shù)據(jù)庫(kù)文件自身的物理操作,來(lái)處理所有與各種數(shù)據(jù)庫(kù)接口的問(wèn)題。vb6.0中數(shù)據(jù)庫(kù)編程的實(shí)質(zhì)是創(chuàng)建數(shù)據(jù)訪問(wèn)對(duì)象,這些數(shù)據(jù)訪問(wèn)對(duì)象對(duì)應(yīng)于被訪問(wèn)物理數(shù)據(jù)庫(kù)的不同部分,如database,field和index對(duì)象。vb6.0利用對(duì)象的屬性和方法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,并在vb6.0窗體中使用綁定和非綁定控件顯示操作結(jié)果并接收用戶(hù)輸入。

        數(shù)據(jù)控件(data control)是vb提供的訪問(wèn)數(shù)據(jù)庫(kù)的內(nèi)部控件,其實(shí)它是利用數(shù)據(jù)訪問(wèn)對(duì)象(dao)開(kāi)發(fā)的可視化的工具。它可以通過(guò)microsoft jet引擎來(lái)打開(kāi)access、foxpro和paradox等數(shù)據(jù)庫(kù),也可以通過(guò)odbc direct訪問(wèn)odbc數(shù)據(jù)庫(kù),data控件可以不用編寫(xiě)代碼就能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)訪問(wèn),大大簡(jiǎn)化了編程,使得數(shù)據(jù)庫(kù)應(yīng)用程序原型開(kāi)發(fā)變得很容易。此外,該控件一個(gè)很大優(yōu)點(diǎn)就是在需要的時(shí)候可以把vb代碼及sql語(yǔ)言結(jié)合起來(lái)創(chuàng)建完整的應(yīng)用程序,為數(shù)據(jù)處理提供高級(jí)的編程控制。

        在實(shí)際使用過(guò)程中,需將data控件的幾個(gè)關(guān)鍵屬性值依次設(shè)置為:connect=access(連接數(shù)據(jù)庫(kù)類(lèi)型);databasename=d:qihou.mdb(連接數(shù)據(jù)庫(kù)名稱(chēng));recordsourse=線序表(連接記錄數(shù)據(jù)源);recordsettype=2 snapshot(對(duì)象recordset的類(lèi)型)。并且在窗體上放置與字段名相對(duì)應(yīng)的textbox,將其屬性值設(shè)置為:datasource=“data控件名”;datafield=“對(duì)應(yīng)字段名”。

        這樣,data控件和recordset對(duì)象與數(shù)據(jù)庫(kù)的綁定工作已經(jīng)基本就緒,可以在窗體上放置功能按鈕,并編寫(xiě)相應(yīng)的程序代碼以完成對(duì)數(shù)據(jù)庫(kù)的操作。

        例如,如果想添加一個(gè)記錄,相關(guān)代碼如下:

        sub command1_click()

        data1.recordset.addnew

        data1.recordset.fields(“單位”)=“武漢門(mén)窗公司”

        data1.recordset.fields(“車(chē)號(hào)”)=“鄂a3652”

        data1.recordset.update

        end sub

        4 結(jié)束語(yǔ)

        綜上所述,利用plc對(duì)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行采樣和比較,完成控制功能;使用組態(tài)王對(duì)系統(tǒng)進(jìn)行畫(huà)面監(jiān)控,同時(shí)利用vb實(shí)現(xiàn)加油登記,完成對(duì)油站相關(guān)信息的實(shí)時(shí)更新。整套方案對(duì)加油站起到了較好的監(jiān)控作用,并在實(shí)際使用過(guò)程中取得了很好的經(jīng)濟(jì)效益,具有較高實(shí)用價(jià)值。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 人妻少妇AV无码一区二区| 人妻少妇一区二区三区| 国产人妖视频一区二区破除| 精品国产一区二区三区色欲| 自慰无码一区二区三区| 中文字幕乱码一区二区免费| 久久久久人妻精品一区三寸蜜桃 | 人妻少妇精品一区二区三区| 亚洲一区二区三区国产精品| 一区二区三区精品视频| 精品乱子伦一区二区三区| 国产美女视频一区| 亚洲欧洲∨国产一区二区三区| 国产一区二区三区免费观在线| 亲子乱av一区二区三区| 日韩亚洲一区二区三区| 人妻久久久一区二区三区| 精品爆乳一区二区三区无码av| 美女视频一区三区网站在线观看| 色综合视频一区二区三区44| 国产乱码精品一区二区三区麻豆| 国产精品一区二区电影| 男人的天堂精品国产一区| 精品伦精品一区二区三区视频| 免费视频一区二区| 中文字幕日韩丝袜一区| 精品国产AV无码一区二区三区| 一区二区三区波多野结衣| 久久综合一区二区无码| 久久久精品人妻一区二区三区四| 国产免费一区二区三区| 国产精品久久久久一区二区| 亚洲一区二区三区在线播放| 色狠狠一区二区三区香蕉蜜桃| 无码视频一区二区三区在线观看 | 在线视频精品一区| 一区二区三区电影在线观看| 日本一区二区三区精品中文字幕| 无码国产精品一区二区免费式影视 | 一区二区三区四区国产| 亚洲一区AV无码少妇电影☆|