時(shí)間:2008-11-07 13:34:00來源:ronggang
圖2 監(jiān)控操作界面[/align]
首先建立一組與所有監(jiān)控操作有關(guān)的內(nèi)存變量,在畫面中使用這一組內(nèi)存變量實(shí)現(xiàn)動(dòng)畫連接,再在組態(tài)王提供的自定義函數(shù)命令語言中,定義一個(gè)沒有返回值的函數(shù)ChangeVariable,最后利用組態(tài)王中的VarRefAddress函數(shù)實(shí)現(xiàn)普通變量間的引用。ChangeVariable 函數(shù)定義如下:
Void ChangeVariable(String 開環(huán)和復(fù)位指令,String 閘門高度,String 閉環(huán)設(shè)定值,String 狀態(tài)故障信息,String 標(biāo)題)
VarRefAddress(\\本站點(diǎn)\內(nèi)存_開環(huán)和復(fù)位指令,開環(huán)和復(fù)位指令);
VarRefAddress(\\本站點(diǎn)\內(nèi)存_閘門高度,閘門高度);
VarRefAddress(\\本站點(diǎn)\內(nèi)存_閉環(huán)設(shè)定值,閉環(huán)設(shè)定值);
VarRefAddress(\\本站點(diǎn)\內(nèi)存_狀態(tài)故障信息,狀態(tài)故障信息);
\\本站點(diǎn)\內(nèi)存_標(biāo)題=標(biāo)題;
例如,當(dāng)要監(jiān)控操作第八孔閘門時(shí)(其他孔閘門類似),在監(jiān)控主界面上點(diǎn)擊觸發(fā)“8號(hào)閘門”按鈕,該按鈕命令語言連接中的ChangeVariable(開環(huán)和復(fù)位指令_八,閘門高度_八,閉環(huán)設(shè)定值_八,狀態(tài)故障信息_八,標(biāo)題_八) 函數(shù),就會(huì)使監(jiān)控界面中所有內(nèi)存變量和第八孔閘門實(shí)際定義的I/O變量相關(guān)聯(lián),于是當(dāng)前的實(shí)時(shí)監(jiān)控和操作就是針對(duì)第八孔閘門。這種方法實(shí)現(xiàn)了監(jiān)控多個(gè)類似對(duì)象時(shí)保持監(jiān)控界面不變,而在監(jiān)控操作時(shí)其內(nèi)部變量的關(guān)聯(lián)發(fā)生變化,從而達(dá)到監(jiān)控各個(gè)對(duì)象的目的。該方法新穎簡(jiǎn)潔,可靠性高,也在很大程度上減輕了開發(fā)人員的工作量。
3.3數(shù)據(jù)庫的設(shè)計(jì)和報(bào)表的實(shí)現(xiàn)
數(shù)據(jù)庫是監(jiān)控系統(tǒng)數(shù)據(jù)處理中心,也是聯(lián)系現(xiàn)地控制層和集中控制層的紐帶。該監(jiān)控系統(tǒng)要求實(shí)時(shí)顯示閘門高度、閘門前后的水位,而且要有操作記錄和報(bào)警記錄并且都能產(chǎn)生報(bào)表,還具有查詢和打印功能。在本監(jiān)控系統(tǒng)中,采用Windows的ODBC動(dòng)態(tài)的將數(shù)據(jù)保存到ACCESS數(shù)據(jù)庫中,用戶可以通過報(bào)表輸出查詢結(jié)果。
具體實(shí)現(xiàn)步驟如下:首先,建立一個(gè)ACCESS數(shù)據(jù)庫,在本監(jiān)控系統(tǒng)中命名為“閘群監(jiān)控”,并且建立相應(yīng)的數(shù)據(jù)表“閘群監(jiān)控系統(tǒng)”。然后在控制面板中的ODBC數(shù)據(jù)源中添加一個(gè)基于驅(qū)動(dòng)程序Microsoft Access Driver的數(shù)據(jù)源,在本系統(tǒng)中取名為“賽道閘群監(jiān)控系統(tǒng)”,并將該數(shù)據(jù)源連接到剛才建立的ACCESS數(shù)據(jù)庫“閘群監(jiān)控”。在組態(tài)王的應(yīng)用命令語言中添加語句SQLConnect (DeviceID,“dsn=賽道閘群監(jiān)控系統(tǒng)”)實(shí)現(xiàn)和數(shù)據(jù)庫的連接。接著在組態(tài)王的“SQL訪問管理器”中創(chuàng)建對(duì)應(yīng)的記錄體。建好記錄體后,可以在組態(tài)王應(yīng)用程序命令語言的“啟動(dòng)時(shí)”中,使用SQLInsert(DeviceID,“閘群監(jiān)控系統(tǒng)”,“閘群監(jiān)控系統(tǒng)”)語句,將組態(tài)王的數(shù)據(jù)保存到ACCESS數(shù)據(jù)庫中。當(dāng)系統(tǒng)退出運(yùn)行時(shí),由SQLDisconnect(DeviceID)斷開和數(shù)據(jù)庫的連接。
這里以歷史記錄報(bào)表為例,給出具體的編程過程。在組態(tài)王的“自定義函數(shù)命令語言”中定義一個(gè)沒有返回值的HistoryRecord函數(shù):
Void HistoryRecord(RealTag rTag,String Name)
String GroupName;Long Time;
Time=HTConvertTime(\\本站點(diǎn)\$年, \\本站點(diǎn)\$月,\\本站點(diǎn)\$日, \\本站點(diǎn)\$時(shí), \\本站點(diǎn)\$分, \\本站點(diǎn)\$秒);
GroupName=GetGroupName("",rTag.Group);
\\本站點(diǎn)\歷史記錄_日期字符型=Time;
\\本站點(diǎn)\歷史記錄_日期=StrFromTime(Time, 3);
\\本站點(diǎn)\歷史記錄_操作員=\\本站點(diǎn)\$用戶名;
\\本站點(diǎn)\歷史記錄_閘門名稱=Name;
\\本站點(diǎn)\歷史記錄_閘門高度=rTag;
\\本站點(diǎn)\歷史記錄_閘門前水位=\\本站點(diǎn)\閘門前水位;
\\本站點(diǎn)\歷史記錄_閘門后水位=\\本站點(diǎn)\閘門后水位;
SQLInsert(\\本站點(diǎn)\DeviceID,"閘群監(jiān)控系統(tǒng)","閘群監(jiān)控系統(tǒng)");
監(jiān)控系統(tǒng)要求每隔一定時(shí)間將數(shù)據(jù)保存到ACCESS中,所保存的數(shù)據(jù)還可以通過EXCEL進(jìn)行查詢和二次處理。本監(jiān)控系統(tǒng)的歷史數(shù)據(jù)報(bào)表有時(shí)報(bào)表、班報(bào)表和日?qǐng)?bào)表,以滿足三種不同的查詢需求。下圖就是其中某一孔閘門的時(shí)報(bào)表查詢結(jié)果:
[align=center]
圖3 數(shù)據(jù)記錄報(bào)表[/align]
操作記錄報(bào)表主要記錄操作人員的具體操作情況,比如值班人員登陸和離開時(shí)間、對(duì)閘門進(jìn)行了那些操作、向現(xiàn)地控制層發(fā)出了那些控制信號(hào)等。報(bào)警報(bào)表主要記錄系統(tǒng)運(yùn)行中的各種報(bào)警事件、報(bào)警狀態(tài)值,并可根據(jù)事件的輕重緩急設(shè)定報(bào)警優(yōu)先級(jí)以及報(bào)警閥值。操作報(bào)表和報(bào)警報(bào)表的產(chǎn)生和查詢功能的實(shí)現(xiàn)都類似于上面的歷史記錄報(bào)表。
4.結(jié)束語及本文創(chuàng)新點(diǎn)
本監(jiān)控系統(tǒng)是以組態(tài)王Kingview6.51作為開發(fā)平臺(tái),用于攔河水壩閘群的實(shí)時(shí)監(jiān)控。實(shí)現(xiàn)了實(shí)時(shí)監(jiān)控、故障報(bào)警、歷史數(shù)據(jù)的存儲(chǔ)和查詢、報(bào)表的顯示和打印等功能,準(zhǔn)確、客觀地反映了閘群的實(shí)時(shí)運(yùn)行狀況,數(shù)據(jù)刷新速度快,精度高,操作界面精簡(jiǎn),具有友好的人機(jī)交互界面。系統(tǒng)投入使用以來,運(yùn)行狀況安全穩(wěn)定可靠,深得用戶好評(píng),在2006年10月的F1摩托艇世界錦標(biāo)賽中國成都站的比賽中發(fā)揮了重要作用。本文創(chuàng)新點(diǎn)主要有:(1)在上位機(jī)組態(tài)軟件設(shè)計(jì)中,采用一個(gè)界面去監(jiān)控多個(gè)類似的對(duì)象,克服了一般工程中監(jiān)控界面重復(fù)設(shè)計(jì)的弊端。(2)利用對(duì)普通變量進(jìn)行引用的方法,在I/O變量動(dòng)畫連接方面有新穎之處。(3)數(shù)據(jù)庫設(shè)計(jì)方法簡(jiǎn)潔高效,不必采用專業(yè)的SQL、Oracle等大型數(shù)據(jù)庫就可以滿足系統(tǒng)要求,節(jié)約開發(fā)成本。
參考文獻(xiàn):
[1]北京亞控科技發(fā)展有限公司.組態(tài)王Kingview6.51使用手冊(cè).2005.11
[2]林勇,余永權(quán).組態(tài)王在工業(yè)鍋爐吹灰系統(tǒng)中的應(yīng)用.微計(jì)算機(jī)信息.2004.9
[3]龔榮,黎洪生.組態(tài)王6.5在油井實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的應(yīng)用.工業(yè)控制計(jì)算機(jī).2005.7
[4]鐘玲玲,周浩敏.基于組態(tài)王6.5和PLC的水壓控制系統(tǒng).自動(dòng)化與儀表.2006.4
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(m.y3602.cn)獨(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)品新聞
更多>勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無鹵扁平電纜13*4+2*(2...
2025-09-23