組態(tài)王與VB的加油站實時監(jiān)控系統(tǒng)的開發(fā)與應用
1 引言
工控領域通用組態(tài)軟件--組態(tài)王是運行于microsoft windows98/nt中文平臺的全中文界面的組態(tài)軟件,采用了多線程、com組件等新技術,實現了實時多任務,軟件運行穩(wěn)定可靠。加油站實時監(jiān)控系統(tǒng)以組態(tài)王為主要運行畫面,通過對被監(jiān)控系統(tǒng)的參數設置,在組態(tài)王的界面上可以動態(tài)地顯示下位機的運行狀態(tài)以及完成對多臺加油機各項性能指標的測試,如油罐的液位、水位、溫度、壓力等值。plc對加油站中的數據進行采樣,采樣后的數據與預設值比較,通過控制電磁閥對加油站進行實時監(jiān)控。vb技術作為后臺支持,利用自身內部提供的建立數據庫的工具—可視化數據管理器建立access數據庫,調出組態(tài)王報表、歷史紀錄等,并對記錄進行添加、修改或者刪除等,進行保存后反饋給組態(tài)王系統(tǒng),以畫面形式呈現給用戶。系統(tǒng)結構圖如圖1所示。
2 plc與組態(tài)王在系統(tǒng)中的應用
2.1 數據采樣與比較
使用plc可對加油站中的數據進行采樣,采樣后的數據與預設值進行比較,可以對加油站進行實時監(jiān)控。plc是以微處理器為基礎,綜合計算機技術和自動化技術而開發(fā)的新一代工業(yè)控制器。我所使用的plc為歐姆龍公司的omron cpm1a型。將plc與上位機相連,通過編程,采樣后得到數據,再通過比較指令,取得結果。

當指令執(zhí)行時,將通道c1+1,c1中的兩個4位16進制數連成一個8位16進制數,將通道c2+1,c2中的兩個4位16進制數連成一個8位16進制數,然后比較這兩個8位數的大小,將比較結果送sr區(qū)的標志位。當(c1+1、c1)>(c2+1、c2)時,大于標志位25505置位為on,執(zhí)行此標志位后的指令;當(c1+1、c1)=(c2+1、c2)時,等于標志位25506置位為on,執(zhí)行此標志位后的指令;當(c1+1、c1)<(c2+1、c2)時,小于標志位25507置位為on,執(zhí)行此標志位后的指令。而此指令通過組態(tài)王控制開關量。當采得的數據經比較大于某一個預設值或小于某一個預設值時,對開關量進行自動控制,以使對數據進行實時的監(jiān)控與控制。
2.2 組態(tài)王畫面與應用
本系統(tǒng)所使用的是北京亞控科技發(fā)展有限公司的組態(tài)王6.5版。在開發(fā)系統(tǒng)左側的樹形視圖中選擇“畫面”,選擇新畫面選項,建立一系列新畫面,包括:加油機日報表, 加油機油品分類報表, 加油明細查詢, 客戶信息總量查詢, 營業(yè)統(tǒng)計,儲罐實時測量系統(tǒng),加油機實時作業(yè)圖,主畫面等。其中儲罐實時測量系統(tǒng)、加油機實時作業(yè)圖中可對加油機進行開關量的控制,而對報表都設有查詢功能和打印功能,可對當天或歷史的數據進行查詢或打印(圖2所示)。

3 vb6.0在系統(tǒng)中的應用
利用vb內部的visdata工具建立access數據庫,調出組態(tài)王歷史數據庫,并用data數據控件對其中數據進行添加、修改等操作,完成加油登記等功能,對加油站相關信息進行實時更新
3.1 用vb6.0創(chuàng)建數據庫數據表
用戶可以使用vb6.0內部提供的建立數據數庫的工具—可視化數據管理器(visdata)建立access數據庫,其步驟如下:
(1) 選擇“外接程序(addins)/可視化數據管理器”;
(2) 選擇“文件/新建/microsoft/access/vesion 7.0mdb”;
(3) 在“文件名”下輸入“報表”,然后按下“添加字段”添加所需字段;
(4) 最后按下“關閉”,然后進行數據的輸入。
3.2 用vb6.0連接access數據庫數據表
vb6.0應用內置的microsoft database jet engine實現對數據庫的訪問。jet數據庫引擎將數據訪問對象上的操作轉換成對數據庫文件自身的物理操作,來處理所有與各種數據庫接口的問題。vb6.0中數據庫編程的實質是創(chuàng)建數據訪問對象,這些數據訪問對象對應于被訪問物理數據庫的不同部分,如database,field和index對象。vb6.0利用對象的屬性和方法實現對數據庫的操作,并在vb6.0窗體中使用綁定和非綁定控件顯示操作結果并接收用戶輸入。
數據控件(data control)是vb提供的訪問數據庫的內部控件,其實它是利用數據訪問對象(dao)開發(fā)的可視化的工具。它可以通過microsoft jet引擎來打開access、foxpro和paradox等數據庫,也可以通過odbc direct訪問odbc數據庫,data控件可以不用編寫代碼就能實現對數據庫訪問,大大簡化了編程,使得數據庫應用程序原型開發(fā)變得很容易。此外,該控件一個很大優(yōu)點就是在需要的時候可以把vb代碼及sql語言結合起來創(chuàng)建完整的應用程序,為數據處理提供高級的編程控制。
在實際使用過程中,需將data控件的幾個關鍵屬性值依次設置為:connect=access(連接數據庫類型);databasename=d:qihou.mdb(連接數據庫名稱);recordsourse=線序表(連接記錄數據源);recordsettype=2 snapshot(對象recordset的類型)。并且在窗體上放置與字段名相對應的textbox,將其屬性值設置為:datasource=“data控件名”;datafield=“對應字段名”。
這樣,data控件和recordset對象與數據庫的綁定工作已經基本就緒,可以在窗體上放置功能按鈕,并編寫相應的程序代碼以完成對數據庫的操作。
例如,如果想添加一個記錄,相關代碼如下:
sub command1_click()
data1.recordset.addnew
data1.recordset.fields(“單位”)=“武漢門窗公司”
data1.recordset.fields(“車號”)=“鄂a3652”
data1.recordset.update
end sub
4 結束語
綜上所述,利用plc對現場數據進行采樣和比較,完成控制功能;使用組態(tài)王對系統(tǒng)進行畫面監(jiān)控,同時利用vb實現加油登記,完成對油站相關信息的實時更新。整套方案對加油站起到了較好的監(jiān)控作用,并在實際使用過程中取得了很好的經濟效益,具有較高實用價值。
文章版權歸西部工控xbgk所有,未經許可不得轉載。