如何把報(bào)警記錄的消息文本輸出到靜態(tài)文本或IO域中?
劉玉蓉
發(fā)布于2014-12-11 17:12
478
0
標(biāo)簽:
或者說(shuō)怎么讀取正在發(fā)生的報(bào)警記錄中的消息文本?
佳答案
可以用腳本讀取報(bào)警記錄,然后寫(xiě)入到靜態(tài)文本或IO域中:假如需要讀取報(bào)警記錄中的報(bào)警內(nèi)容和報(bào)警點(diǎn)分別讀取到變量tag1和tag2中,參考腳本如下:
Dim cc1
Set cc1=CreateObject("adodb.connection")
Dim snam1,Rtname
Dim ServerName1
Set ServerName1 = HMIRuntime.Tags("@ServerName")
ServerName1.Read
Dim DatasourceNameRT
Set DatasourceNameRT = HMIRuntime.Tags("@DatasourceNameRT")
DatasourceNameRT.Read
Rtname=DatasourceNameRT.Value
snam1=ServerName1.Value
strcon="provider=WinCCOLEDBProvider.1;catalog=" & Rtname & ";data source=" & snam1 & "WinCC"
cc1.ConnectionString=strcon
cc1.CursorLocation=3
cc1.open
Dim sqlstr
Dim rst
Dim t1
Set rst=CreateObject("adodb.recordset")
sqlstr="ALARMVIEW:Select * from algviewcht WHERE DateTime >""2013-12-1 12:00:00"" and DateTime <""2013-12-1 12:10:00"" "
Set t1=CreateObject("adodb.command")
t1.commandtype=1
Set t1.activeconnection=cc1
t1.commandtext=sqlstr
Set rst=t1.execute
rst.movefirst
""""rst.fields("text1").value ‘’對(duì)應(yīng)報(bào)警內(nèi)容
""""rst.fields("text2").value ‘’對(duì)應(yīng)報(bào)警點(diǎn)
"" 報(bào)警內(nèi)容寫(xiě)入變量中
dim tag1,tag2
set tag1=hmiruntime.tags("tag1")
set tag2=hmiruntime.tags("tag1")
tag1.read
tag1.write rst.fields("text1").value
tag2.read
rag2.write rst.fields("text2").value
rst.close
Set rst=Nothing
cc1.close
Set cc1=Nothing
Set ServerName1=Nothing
Set printgrid=Nothing
Set t1=Nothing
set tag1=nothing
set tag2=nothing
以上腳本是查詢了13年12月1號(hào)12點(diǎn)0分到12點(diǎn)10分這十分鐘內(nèi)的報(bào)警,然后選取條報(bào)警內(nèi)容讀取到變量中