Wonderware-InTouch历史报警、操作记录导出为Excel
Intouch自身的歷史記錄控件為AlmDbViewCtrl,可以查詢歷史報警和操作記錄。我們需要在控件向導中拉出時間控件DTPicker,選擇時間,關鍵字等,即可查詢想要的結果,這些需要編寫程序去實現。
顯示時: #DTPicker9.value = $DateString; #DTPicker10.value = "00:00:00"; #DTPicker11.value = $DateString; #DTPicker12.value = "23:59:59"; #AlmDbViewCtrl2.SpecificTime = 1; #AlmDbViewCtrl2.StartTime = StringMid(#DTPicker9.value,6,2) + "/" + StringMid(#DTPicker9.value,9,2) + "/" + StringMid(#DTPicker9.value,1,4) + " " + #DTPicker10.value; #AlmDbViewCtrl2.EndTime = StringMid(#DTPicker11.value,6,2) + "/" + StringMid(#DTPicker11.value,9,2) + "/" + StringMid(#DTPicker11.value,1,4) + " " + #DTPicker12.value; #AlmDbViewCtrl2.Refresh(); 查詢: #AlmDbViewCtrl2.SpecificTime = 1; #AlmDbViewCtrl2.StartTime = StringMid(#DTPicker9.value,6,2) + "/" + StringMid(#DTPicker9.value,9,2) + "/" + StringMid(#DTPicker9.value,1,4) + " " + #DTPicker10.value; #AlmDbViewCtrl2.EndTime = StringMid(#DTPicker11.value,6,2) + "/" + StringMid(#DTPicker11.value,9,2) + "/" + StringMid(#DTPicker11.value,1,4) + " " + #DTPicker12.value; #AlmDbViewCtrl2.GroupName = "$SYSTEM"; IF CONDITION <> "" THEN CALL ALMFILTERSEARCH(CONDITION); #AlmDbViewCtrl2.ShowFilter(); ELSE #AlmDbViewCtrl2.Refresh(); ENDIF; QuickFunction:ALMFILTERSEARCH FileDelete("D:\Intouch Files\FlexUI_LX2\ALARM.xml"); FileWriteMessage( "D:\Intouch Files\FlexUI_LX2\ALARM.xml",0,HIST_XMLCODE + "<FILTER_FAVORITES><RECORD><FILTERNAME>MYFILTER</FILTERNAME><ELEMENT>", 0 ); IF HIST_SEARCHINDEX == 1 THENFileWriteMessage( "D:\Intouch Files\FlexUI_LX2\ALARM.xml",-1, "<NAME>名稱</NAME><ORIGNAME>Name</ORIGNAME><OPERATOR>LIKE</OPERATOR><VALUE>%"+STR+"%</VALUE><PARENT>0</PARENT>", 0); ELSE FileWriteMessage( "D:\Intouch Files\FlexUI_LX2\ALARM.xml",-1, "<NAME>報警注釋</NAME><ORIGNAME>Alarm Comment</ORIGNAME><OPERATOR>LIKE</OPERATOR><VALUE>%"+STR+"%</VALUE><PARENT>0</PARENT>", 0); ENDIF; FileWriteMessage( "D:\Intouch Files\FlexUI_LX2\ALARM.xml", -1, "</ELEMENT></RECORD></FILTER_FAVORITES>", 0 ); #AlmDbViewCtrl2.FilterFavoritesFile = "D:\Intouch Files\FlexUI_LX2\ALARM.xml";以上就是實現查詢歷史記錄的代碼,實現時間篩選、關鍵字查詢,如下圖操作所示:需要過濾器選擇過濾內容。
若是想導出歷史記錄為EXCEL,導成自己想要的格式則非常麻煩,首先需要把歷史記錄讀出,寫腳本通過這個報警控件去讀取會很慢,使用也較麻煩。
為了這個導出EXCEL的功能可以按照如下方法實施,實現了歷史報警和操作記錄的查詢、篩選、排序,刪除、導出。
?
?
通過控件嵌入INtouch畫面的形式,與工程文件融為一體,只需要注冊一下控件即可使用。
數據庫配置如下:
服務器名:.
數據庫名為:WWALMDB
登陸用戶:sa
密碼:123456
以下為歷史報警/操作記錄界面:可根據TgaName、報警組、值、HH/HI/LO/LL、類型、報警等級、操作員、節點名、報警注釋等進行篩選查詢,可查范圍與AlmDbViewCtrl一樣。
導出EXCEL,命名;可點擊按鈕實現每日定時導出歷史報表。
根據自己喜好的格式版面保存為EXCEL:AlarmReport\EventReport,導出結果即為查詢的結果。
與AlmDbViewCtrl比較起來操作更簡單,不需要各種設置,任何項目實施只需要幾分鐘的時間,省去了編寫簡本程序的麻煩和困難??丶浦残詮?#xff0c;極大提高調試進度。
若需要此控件可進入下面鏈接學習掌握。
Wonderware-InTouch歷史報警、操作記錄導出為Excel
Intouch-歷史報警/操作記錄導出為EXCEL
Intouch-報表的實際應用案例
?
?
?
總結
以上是生活随笔為你收集整理的Wonderware-InTouch历史报警、操作记录导出为Excel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java源码阅读--任重而道远(lang
- 下一篇: 应用程序白名单实现_如何在Windows