|
摘要:weilejiejuexiangmuzhong,zengqiangbaojingzujianxianshibaojingxinxishi,keyitongshigengjiafangbiandeguanzhuyixiabaojingdiandezaibaojingshiyiduanshijianneideshujubianhuazoushidewenti,benwentigonglejiaoweijiandandefangfalaidadaogaimude。
一、引言
在zai項xiang目mu中zhong,經jing常chang會hui用yong到dao增zeng強qiang報bao警jing組zu件jian來lai顯xian示shi報bao警jing信xin息xi,但dan是shi往wang往wang發fa生sheng報bao警jing後hou或huo者zhe在zai查zha看kan曆li時shi報bao警jing時shi,還hai想xiang關guan注zhu一yi下xia報bao警jing點dian的de在zai報bao警jing時shi一yi段duan時shi間jian內nei的de數shu據ju變bian化hua走zou勢shi,通tong常chang的de做zuo法fa為wei人ren為wei的de記ji錄lu該gai報bao警jing點dian的de位wei號hao,並bing到dao趨qu勢shi畫hua麵mian中zhong進jin行xing查zha詢xun,這zhe樣yang操cao作zuo起qi來lai比bi較jiao麻ma煩fan,現xian在zai可ke以yi通tong過guo較jiao為wei簡jian單dan的de方fang法fa來lai達da到dao該gai目mu的de。
二、功能實現
首先,創建兩個窗口,一個命名為“報警顯示”,在窗口屬性中將“打開其他窗口時自動關閉”的勾去掉,在窗口中添加“增強型報警組件”,命名為_Alarm;另一個串口命名為“趨勢分析”,在窗口屬性中將窗口類型設置為“彈出式窗口”,在窗口中添加“趨勢分析”組件,命名為_Curview,定義一個整形的窗口變量nFlag。其次,創建一個間接變量“SendMessage”做數組用,用來在兩個窗口之間傳遞報警點的信息。
1.報警顯示窗口設置
在“報警顯示”窗口中,雙擊“增強型報警組件”,在彈出的“報警屬性”對話框中的“報警設置”標題頁點擊“設置報表”按鈕,彈出“自由報表設置”對話框。

在“單元格觸發動作設置”中選擇“左鍵雙擊”動作,輸入如下腳本:
SendMessage.Clear();
SendMessage.Add(#_Alarm.GetAlrmTxt(2,$R));
SendMessage.Add(#_Alarm.GetAlrmTxt(7,$R)+" "+StrLeft(#_Alarm.GetAlrmTxt(7,$R),8));
Display("趨勢分析");
該段腳本的含義為將報警點的點名與報警時間加入到數組SendMessage中。
2.趨勢分析窗口設置
在“趨勢分析”窗口中,在窗口動作“進入窗口”中編寫如下腳本:
string _PenName;
string _PenEUHi;
string _PenEULo;
string _PenHi;
string _PenLo;
_PenName = SendMessage[0]+".PV";
_PenHi = SendMessage[0]+".HI";
_PenHi = SendMessage[0]+".LO";
#本地.RegTag(_PenName);
#本地.RegTag(_PenHi);
#本地.RegTag(_PenLo);
#_Curview.SetPen(0,_PenName);
#_Curview.SetPen(1,_PenHi);
#_Curview.SetPen(2,_PenLo);
nFlag = 1;
該短腳本中要注意數據庫函數RegTag()的使用,由於數組SendMessage傳遞來的是不帶參數的點位號,所以要通過_PenName、_PenHi、_PenHi拚接成點名,但拚接成的點名數據庫並不承認,所以要用該函數注冊之後才可以使用。之後要向“趨勢分析”組件中添加三支畫筆,分別為實時值、報警上限、報警下線。其中,nFlag為標誌位,用於判斷曲線顯示的起始時間,在周期腳本中調用。
在“窗口運行時中期執行”中編寫如下腳本:
if #_Curview.GetTimeBegin(0) <> LongTime(SendMessage[1]) && #_Curview.GetPenDesc(0) <> "" && nFlag == 1 then
#_Curview.SetTimeBegin(0,LongTime(SendMessage[1]));
nFlag = 0;
endif
該短腳本的含義為將曲線的起始時間設置成報警點的報警時間。
這樣,在係統運行時,在“報警顯示”窗口雙擊某一條報警信息,則會彈出該報警點在觸發報警之後的一段時間內的趨勢圖,方便用戶對該報警點的走勢進行分析。

三、結束語
通過該方式可以實現報警信息與趨勢分析的快速切換,提供了工作效率同時,也給廣大用戶帶來了方便。
|