紫zi金jin橋qiao實shi時shi數shu據ju庫ku軟ruan件jian裏li預yu置zhi了le一yi些xie組zu件jian,分fen別bie實shi現xian不bu同tong的de特te定ding功gong能neng,在zai工gong程cheng組zu態tai的de時shi候hou,恰qia當dang利li用yong這zhe些xie組zu件jian來lai實shi現xian某mou些xie功gong能neng,會hui達da到dao事shi半ban功gong倍bei的de效xiao果guo。
紫(zi)金(jin)橋(qiao)實(shi)時(shi)數(shu)據(ju)庫(ku)軟(ruan)件(jian)裏(li)預(yu)置(zhi)的(de)報(bao)警(jing)時(shi)間(jian)統(tong)計(ji)組(zu)件(jian),能(neng)夠(gou)按(an)照(zhao)需(xu)求(qiu)統(tong)計(ji)某(mou)些(xie)數(shu)據(ju)在(zai)某(mou)個(ge)時(shi)間(jian)段(duan)內(nei)的(de)報(bao)警(jing)時(shi)間(jian),從(cong)而(er)計(ji)算(suan)出(chu)數(shu)據(ju)點(dian)在(zai)該(gai)時(shi)間(jian)段(duan)內(nei)正(zheng)常(chang)運(yun)行(xing)的(de)合(he)格(ge)率(lv)。
benanlishimoushengchanxinxixitongzhongshiyongbaojingshijiantongjizujiandebufen,shiyonglezujiansuozhichidebufenhanshu,tongguojiaobenduizujianjinxingcaozuo,zhiyuzujiandezutaishezhi,keyiquruanjianbangzhuzhongzhazhao,zhelibuxiangshu。
下麵主要講解一下報警時間統計組件在本例中的使用。
功能實現過程是這樣的:shouxian,jiangyaotongjibaojingshijiandeweihao,tianjiadaozujianzhong,ranhouanzhaoyaoqiudetongjizhouqiyijishijianfanweijinxingtongji,tongjiwanchenghou,jiangtongjijieguoquchuzuoqitajisuan,zujiandegongnengwancheng。
在窗口中建立報警統計組件,並將組件命名為Alarm1,同時需要使用一個報表進行配合使用,新建一個自由報表命名為Fr1,該報表是用來存放位號名稱以及上下限值,可以手動進行維護。案例中的Fr1表內的數據都是從SQL Server數據庫讀取的。
在使用報警統計組件之前,要先保證報表Fr1裏有需要的內容,例如下圖,其中報警統計組件要使用的分別是‘位號、下限、上限’這三列。
下麵就來說一下報警統計組件的使用,我們先看下麵的腳本截圖,
我們來看框體中的腳本:
1、紅框部分,第一行是清空報警時間統計組件,如果不清空的話,下一次添加到組件中的位號會與之前的共存。接下來是循環語句,#Alarm1.AddTag這行是將報表Fr1的第1列第i行的位號添加到組件中,並且自指定報警上下限值分別是第3列和第4列的第i行(xing)數(shu)值(zhi),為(wei)了(le)使(shi)報(bao)警(jing)組(zu)件(jian)中(zhong)自(zi)指(zhi)定(ding)的(de)位(wei)號(hao)上(shang)下(xia)限(xian)值(zhi)在(zai)組(zu)件(jian)執(zhi)行(xing)時(shi)有(you)效(xiao),需(xu)要(yao)修(xiu)改(gai)位(wei)號(hao)的(de)量(liang)程(cheng)上(shang)下(xia)限(xian)值(zhi)分(fen)別(bie)大(da)於(yu)報(bao)警(jing)上(shang)下(xia)限(xian)值(zhi),所(suo)以(yi)就(jiu)有(you)了(le)#Alarm1.AddTag函數上麵的兩行腳本。紅框中最後一行是為了使位號量程上下限值設置生效,這裏不詳述。
2、藍框部分,在上麵紅框部分的腳本中,將位號全部添加到報警時間組件以後,接下來就是組件使用函數#Alarm1.Start開始執行統計,,函數的各個參數的意義請參考幫助文件,這裏86400是shi一yi天tian內nei的de秒miao數shu,即ji本ben次ci統tong計ji的de是shi一yi天tian內nei的de數shu據ju。第di二er行xing是shi起qi始shi時shi間jian的de設she定ding,即ji下xia一yi次ci統tong計ji的de起qi始shi時shi間jian,在zai本ben例li中zhong也ye就jiu是shi下xia一yi天tian的de統tong計ji開kai始shi時shi間jian。
3、綠框部分,取出統計完成的數據,供我們使用。循環內第一行裏#Alarm1.GetCellHi是取出高限報警的時間,#Alarm1.GetCellLow是取出低限報警的時間。整行的功能是將高限報警時間和低限報警時間相加,除以全天的時間,就是位號在該日內的不合格率,再用1減去不合格率,便得到合格率的數值,然後賦值給Bind_TagValue(中間變量,綁定表使用),後麵的一行是將數據插入到SQL Server數據庫中。
彩色框外麵的腳本隻是在本案例中用來判斷腳本的執行時間,讀者可以借鑒使用,也可以完全忽視。
以yi上shang就jiu是shi本ben案an例li中zhong報bao警jing時shi間jian統tong計ji組zu件jian通tong過guo函han數shu的de動dong態tai使shi用yong,比bi較jiao適shi合he需xu要yao統tong計ji的de位wei號hao較jiao多duo的de情qing況kuang,如ru果guo需xu要yao統tong計ji的de位wei號hao較jiao少shao,可ke以yi直zhi接jie在zai報bao警jing時shi間jian統tong計ji組zu件jian的de設she置zhi界jie麵mian進jin行xing組zu態tai,然ran後hou直zhi接jie執zhi行xingStart函數即可。
讀者如果有些函數不十分清楚,可以查看紫金橋實時數據庫的幫助文件。以後我們還會陸續推出其他組件的示例說明。
更多資訊,請登陸:www.realsoft.cc