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