韓浩+尹亞南+朱曉山
摘 要 數(shù)據(jù)報表是電站管理的一項重要功能,是對電力系統(tǒng)的運行參數(shù)及設備狀態(tài)進行定時記錄的一種重要形式。利用組態(tài)王提供的內(nèi)嵌式報表系統(tǒng)以及豐富的報表函數(shù),實現(xiàn)了變電仿真培訓系統(tǒng)中的數(shù)據(jù)報表功能,具有實時數(shù)據(jù)采集以及報表的自動保存、查詢和打印功能。
關鍵詞 組態(tài)王 報表 仿真
中圖分類號:TP317 文獻標識碼:A DOI:10.16400/j.cnki.kjdkz.2017.07.023
0 引言
組態(tài)軟件是工業(yè)控制領域開發(fā)計算機監(jiān)控系統(tǒng)的一個快捷平臺,與VC、VB等平臺相比,利用其提供的各類工具,通過簡單的組態(tài)工作,即可實現(xiàn)監(jiān)控系統(tǒng)的開發(fā)?!敖M態(tài)王”集自動控制、通信、畫面動態(tài)連接以及可與其它的應用軟件數(shù)據(jù)交換等功能于一身,是國內(nèi)使用比較普遍的建立工業(yè)控制對象的人機接口的一種智能軟件包,其組態(tài)過程主要包括I/O設備連接、數(shù)據(jù)詞典建立、監(jiān)控畫面設計以及動畫連接等幾個步驟,利用軟件圖庫所提供的豐富的圖庫元素以及各類控件保證了所開發(fā)的工業(yè)控制系統(tǒng)的界面一致性和通用性,其電力版在電力系統(tǒng)的變電運行以及變電仿真培訓系統(tǒng)中應用廣泛。
變電仿真培訓系統(tǒng)就是利用軟件或者軟硬結合的方式實現(xiàn)現(xiàn)場變電站運行系統(tǒng)的各種功能,以達到提高運行人員解決現(xiàn)場實際問題的能力。數(shù)據(jù)報表是電站管理的一項重要功能,通常以日為單位對電力系統(tǒng)運行中各節(jié)點以及回路的運行數(shù)據(jù)、設備的運行狀態(tài)(如斷路器等的位置信息)等進行記錄。利用日報表能實現(xiàn)生產(chǎn)過程的統(tǒng)計、分析,以使運行和管理人員既能夠及時掌握電力系統(tǒng)運行情況也可通過分析找尋出參數(shù)的變化規(guī)律,為生產(chǎn)任務的制定和發(fā)展規(guī)劃提供依據(jù)。
1 報表功能的實現(xiàn)
組態(tài)王提供的內(nèi)嵌式報表系統(tǒng),使開發(fā)人員可以任意設置報表格式,對報表進行組態(tài)。同時也提供了豐富的報表函數(shù),實現(xiàn)各種運算、數(shù)據(jù)轉(zhuǎn)換、統(tǒng)計分析、報表打印等。既可以制作實時報表,也可以制作歷史報表。
1.1 自動報表功能的實現(xiàn)
新建畫面,在畫面中插入報表控件并設計報表格式,右鍵點畫面并在“畫面屬性”的命令語言中的“存在時”選項頁中填入如下代碼:
long xx = 0,yy =371,rww = 99, strt = 773;
string tmp, filen1; //定義變量
strt =HTConvertTime($年,$月,$日,$時,0,0);
ReportSetCellString2("Report0", 4, 1, 27, 6, " "); //清空單元格
ReportSetCellString("Report0", 2, 2, \\本站點\$日期); //填寫日期
ReportSetHistData("Report0", "\\本站點\壓力", strt, 120, "B4:B33"); //設定各參量及填充
ReportSetHistData("Report0", "\\本站點\溫度", strt, 120, "C4:C33"); //位置和采集間隔,
ReportSetHistData("Report0", "\\本站點\密度", strt, 120, "D4:D33"); //此處設定120秒,
ReportSetHistData("Report0", "\\本站點\電流", strt, 120, "E4:E33"); //可視情況改變
ReportSetHistData("Report0", "\\本站點\電壓", strt, 120, "F4:F33");
while(xx<30)
{
rww=4+xx;
yy=strt+x*120;
tmp=StrFromTime( yy, 2 );
ReportSetCellString("Report0", rww, 1, tmp);
x=x+1; //填充表中的時間列,注意應與上述數(shù)據(jù)采集時間一致
}
if($分==59&&$秒==59)
{
filen1=InfoAppDir()+"\Datafile\"+StrFromReal( $年, 0, "f" )+StrFromReal( $月, 0, "f" )+
StrFromReal( $日, 0, "f" )+StrFromReal( $時, 0, "f" )+StrFromReal($分, 0, "f" )+
StrFromReal( $秒, 0, "f" )+".rtl";
ReportSaveAs("Report0",filen1); //表整時保存,以時間命名
}
1.2 查詢功能的實現(xiàn)
新建畫面并插入“下拉式組合框”控件,點擊右鍵,在畫面屬性的“顯示時”選項頁中填入如下代碼:
string filen3,filen4, filen5;
filen3=InfoAppDir()+"\Datafile \*.rtl";
listClear("serh");
ListLoadFileName( " serh ",filen3);
filen4=InfoAppDir()+"\Datafile \"+\\本站點\ serh;
ReportLoad("Report1",filen4);
filen5=InfoAppDir()+"\Datafile \*.rtl";
listClear("serh ");
ListLoadFileName( " serh ", filen5);
1.3 即時保存及打印功能的實現(xiàn)
分別在報表畫面和查詢畫面中設置保存和打印兩個按鈕,雙擊“保存”按鈕,在“彈起時”填入如下代碼:
string filen2;
filen2=InfoAppDir()+"\Datafile \"+StrFromReal($年, 0, "f" )+StrFromReal( $月, 0, "f" )+
StrFromReal( $日, 0, "f" )+StrFromReal( $時, 0, "f" )+StrFromReal($分, 0, "f" )+
StrFromReal( $秒, 0, "f" )+".rtl";
ReportSaveAs("Report0",filen2);
雙擊“打印”按鈕,在“彈起時”填入如下代碼:
ReportPrintSetup("Report0");
2 結束語
報表系統(tǒng)的運行效果圖如圖1所示(說明:演示的數(shù)據(jù)采集間隔為2分鐘,整點自動保存),綜合利用組態(tài)王的報表控件以及報表函數(shù)完成了報表數(shù)據(jù)的自動采集、報表的自動保存以及查詢和打印等功能,完美地實現(xiàn)了變電站仿真培訓系統(tǒng)的報表功能
參考文獻
[1] 組態(tài)王6.55用戶手冊[R].2012.
[2] 組態(tài)王6.55命令語言函數(shù)速查手冊[R].2012.
[3] 劉學多等.面向中間件的組態(tài)王遠程數(shù)據(jù)采集驅(qū)動設計[J].計算機應用,2016.36(1).
[4] 劉景華等.基于組態(tài)王的數(shù)據(jù)采集監(jiān)控系統(tǒng)[J].青島理工大學學報,第29卷第4期.endprint