GetTotalAlarmCount()
变量描述:
❖返回整数类型:所有scada中的报警总数(所有未恢复的报警)
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个文本控件 Text1, 添加一个按钮Button1,在脚本编辑器中编辑该Button1的Click事件如下:
Sub BSButton1_OnClick()
Text1.Text = alarmreport21. GetTotalAlarmCount
End Sub
运行alarm.bsp画面,点击按钮Button1,获取当前列表中的报警个数,显示在Text1中。
GetLocalAlarmCount()
变量描述:
❖返回整数类型:关联scada的未确认报警总数
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个文本控件 Text1, 添加一个按钮Button1,在脚本编辑器中编辑该Button1的Click事件如下:
Sub BSButton1_OnClick()
Text1.Text = alarmreport21. GetLocalAlarmCount
End Sub
运行alarm.bsp画面,点击按钮Button1,获取当前列表中的报警个数,显示在Text1中。
GetUnConfirmAlarmCount()
变量描述:
❖返回值为整数类型,获取关联scada的未确认报警总数
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个文本控件 Text2, 添加一个按钮Button2,在脚本编辑器中编辑该Button2的Click事件如下:
Sub BSButton2_OnClick()
Text2.Text = alarmreport21. GetUnConfirmAlarmCount
End Sub
运行alarm.bsp画面,点击按钮Button2,获取当前列表中的未确认的报警个数,显示在Text2中。
GetTotalAlarms()
变量描述:
❖返回一个二维数组:当前列表中所有的报警记录。数组的一维下标为报警个数,二维下标为每个报警的属性
报警属性简介:
数组下标 |
属性 |
---|---|
0 |
报警ID |
1 |
报警当前值 |
2 |
类名 |
3 |
功能预留 |
4 |
确认人 |
5 |
报警类型 |
6 |
节点名 |
7 |
子系统名 |
8 |
变量描述 |
9 |
变量名 |
10 |
确认时间 |
11 |
产生时间 |
12 |
恢复时间 |
13 |
优先级 |
14 |
报警状态 |
15 |
报警类型(后台服务使用) |
16 |
报警重复次数 |
17 |
报警区域1 |
18 |
报警区域2 |
19 |
报警区域3 |
20 |
报警区域4 |
21 |
报警区域5 |
22 |
报警区域6 |
23 |
扩展参数1 |
24 |
扩展参数2 |
25 |
扩展参数3 |
26 |
扩展参数4 |
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件, 添加一个按钮Button3,在脚本编辑器中编辑该Button3的Click事件如下:
Sub BSButton3_OnClick()
Dim var
var = alarmreport21. GetTotalAlarms
low = LBound(var, 1)
high = UBound(var, 1)
For i = 0 To high
MsgBox var(i, 0) ‘打印每个报警的ID
Next
End Sub
运行alarm.bsp画面,假设此时界面上有5个报警ID,分别是1,2,3,4,5,点击Button3按钮,返回界面上的报警var(5,29),弹出消息框5次,消息分别是1,2,3,4,5.
GetSelectedAlarms()
变量描述:
❖返回一个二维数组:当前包括已确认报警在内的所有的报警记录。数组的一维下标为报警个数,二维下标为每个报警的属性(参考获取所有的报警记录属性)
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件, 添加一个按钮Button4,在脚本编辑器中编辑该Button4的Click事件如下:
Sub BSButton4_OnClick()
Dim var
var = alarmreport21. GetSelectedAlarms
low = LBound(var, 1)
high = UBound(var, 1)
For i = 0 To high
MsgBox var(i, 0) ‘打印每个报警的ID
Next
End Sub
运行alarm.bsp画面,在界面上选中5条报警记录ID,分别是1,2,3,4,5,点击Button4按钮,返回界面上选中的报警var(5,29),弹出消息框5次,消息分别是1,2,3,4,5.用户也可以打印报警的别的属性,例如报警当前值var(i, 1)。
ConfirmSelectedAlarms(alminfo)
变量描述:
❖alminfo:用户想要添加的确认信息
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框 Edit1, 添加一个按钮Button5,在脚本编辑器中编辑该Button5的Click事件如下:
Sub BSButton5_OnClick()
alminfo = Edit1.WindowText
alarmreport21.ConfirmSelectedAlarms(alminfo)
End Sub
运行alarm.bsp画面,在界面上选中想要确认的报警记录,在编辑框中输入“报警确认”字样,然后点击按钮Button5,选中的报警状态变为已确认。alminfo保存在历史事件中。在画面上添加一个iCentroView EAHisEvent Control控件,编辑好脚本,运行画面,查询历史事件,查看刚才确认的报警记录,“内容”一栏的内容为“报警确认”。
ConfirmAllAlarms(alminfo)
变量描述:
❖alminfo:用户想要添加的确认信息
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框 Edit2, 添加一个按钮Button6,在脚本编辑器中编辑该Button6的Click事件如下:
Sub BSButton6_OnClick()
alminfo = Edit2.WindowText
alarmreport21. ConfirmAllAlarms (alminfo)
End Sub
运行alarm.bsp画面,在编辑框中输入“确认所有报警”字样,然后点击按钮Button6,选中的报警状态变为已确认。alminfo保存在历史事件中。在画面上添加一个iCentroView EAHisEvent Control控件,编辑好脚本,运行画面,查询历史事件,查看刚才确认的报警记录,“内容”一栏的内容为“确认所有报警”
ConfirmInputAlarms(alarmarray)
变量描述:
❖alarmarray:需要确认的报警的属性值,为一个二维数组。数组的一维下标是需要确认的报警个数,二维下标是报警属性,需要提供如下四个属性: 1报警ID 2 节点名 3 变量名 4 报警类型 属性顺序不能更换,否则确认失败。
❖返回值:无
补充:用户一般可以通过GetSelectedAlarms和GetTotalArlarms获取报警的信息,从而提取报警id,节点名,变量名,报警类型4个参数进行报警确认,这四个信息在上面2个接口中返回的数组中对应的二维下标为0,6,9,15
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件, 添加一个按钮Button7,在脚本编辑器中编辑该Button7的Click事件如下:
Sub BSButton7_OnClick()
var = alarmreport21.GetSelectedAlarms
low = LBound(var, 1)
high = UBound(var, 1)
alength = high-low
Dim alarmArray(3, 4) ‘3指界面上选中了3条报警记录
For i = 0 To high
alarmArray(i,0) = var(i,0)
alarmArray(i,1) = var(i,6)
alarmArray(i,2) = var(i,9)
alarmArray(i,3) = var(i,5)
alarmreport21.ConfirmInputAlarms(alarmArray)
Next
End Sub
运行alarm.bsp画面,在界面上选中3条报警记录,点击按钮Button7确认,3条报警记录的确认状态变为已确认
GetTotalAlarmAreas()
变量描述:
❖返回值为字符串:所有的报警区域以|连接,例如:Area1|Area2|
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个文本控件 Text3, 添加一个按钮Button8,在脚本编辑器中编辑该Button8的Click事件如下:
Sub BSButton8_OnClick()
Text3.Text = alarmreport21. GetTotalAlarmAreas
End Sub
运行alarm.bsp画面,点击按钮Button8,获取当前系统中所有的报警区域,显示在Text3中。
HideTableHeader(QVariant bHide)
变量描述:
❖bHide:1 隐藏列表的列头,0 显示列头
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
alarmreport1.HideTableHeader 1
End Sub
运行alarm.bsp画面,点击按钮Button1,隐藏列表的列头。
UnSelectRecords()
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
alarmreport1.UnSelectRecords
End Sub
运行alarm.bsp画面,点击按钮Button1,清空当前列表中选择的记录。
SetSortEnable(QVariant column, QVariant bEnable)
变量描述:
❖column:列名
❖bEnable:0该列不能排序,1给予点击该列进行排序
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
alarmreport1.SetSortEnable ("确认状态", 0)
End Sub
运行alarm.bsp画面,点击按钮Button1,设定“确认状态”列,不能排序。
QVariant GetSortEnable(QVariant column)
变量描述:
❖column:列名
❖返回值:0不能排序,1能排序
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
MsgBox ( alarmreport1.GetSortEnable ("确认状态"))
End Sub
运行alarm.bsp画面,点击按钮Button1,弹出"确认状态"列的能否排序的情况。
QVariant SetSortOrder(QVariant column, QVariant order)
变量描述:
❖column:列名
❖order:0升序,1降序
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
alarmreport1.SetSortOrder ("确认状态",0)
End Sub
运行a.bsp画面,点击按钮Button1,"确认状态"列进行升序排列。
QVariant GetSortOrder(QVariant column)
变量描述:
❖column:列名
❖返回值:0升序,1降序
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
MsgBox (alarmreport1.GetSortOrder ("确认状态"))
End Sub
运行a.bsp画面,点击按钮Button1,弹出"确认状态"列排序的情况。
Void Intialize (QVariant ConfirmStateAndRecoverState, QVariant OtherColumn)
注意:此接口必须在StartRunMode接口前调用,否则调用无效
变量描述:
❖ConfirmStateAndRecoverState:报警确认状态和恢复状态的排序规则。形如:"确认状态:未确认=0,已确认=1;报警状态:未恢复=0,已恢复=1"
注意:也可以报警状态在前,确认状态在后,则优先按照报警状态排序,再按照确认状态排序。排序时优先显示=0的选项,再显示=1的选项。
❖OtherColumn:其他列的排序规则。形如:"产生时间:2"。其中,1为升序排列,2为降序排列
举例:
在a.bsp的画面中添加报警控件alarmreport21,并在pageonload事件中,有如下代码:
Sub page_OnLoad()
alarmreport21.Intialize "确认状态:未确认=0,已确认=1;报警状态:未恢复=0,已恢复=1", "产生时间:2"
alarmreport21.StartRunMode()
End Sub
运行a.bsp画面,查看报警控件中的报警排序,优先按照确认状态的未确认,已确认顺序排序,其次按照报警状态中的未恢复,已恢复状态排序,最后按照产生时间降序排序。
QVariant SetPrioritySoundEnabled(QVariant strPriority,QVariant bEnable)
变量描述:
❖strPriority:设置需要操作的报警级别,以“;”分隔,例如:"1;3;4"
❖bEnable:1 启用报警声音,0 禁止报警声音
注意:只要在控件中“报警设置”tab页针对该级别配置过报警声音该接口才生效,配置界面如下图:
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
alarmreport1.SetPrioritySoundEnabled "1;3;4",0
End Sub
运行alarm.bsp画面,点击按钮Button1,级别1,3,4上的报警不再有声音提示。
QVariant SetSoundEnabled(QVariant bEnable)
变量描述:
❖bEnable:1 启用报警声音,0 禁止报警声音
举例:
在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
alarmreport1.SetSoundEnabled 1
End Sub
运行alarm.bsp画面,点击按钮Button1,启用报警声音。
QVariant SetAlarmFont(VARIANT varFamily, VARIANT varHeight, VARIANT varBold, VARIANT varItalic,QVariant varRowHeight)
变量描述:
❖varFamily:字体,如:"微软雅黑"
❖varHeight:字高,如:18
❖varBold:1为加粗,0为不加粗
❖varItalic:1为倾斜,0为不倾斜
❖varRowHeight:行高,如:20
举例:
在alarm.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
alarmreport21.SetAlarmFont "微软雅黑",24,1,1,30
End Sub
运行alarm.bsp画面,点击按钮Button1,报警控件的字体变为:微软雅黑,24号字,粗斜体,行高30。
QVariant GetSoundEnabled()
变量描述:
❖返回值:0未启用报警声音,1已经启用报警声音
举例:
在a.bsp的画面中加载一个Button对象,添加一个文本控件 Text,在脚本编辑器中编辑该Button的Click事件如下:
Sub BSButton1_OnClick()
Text1.Text = alarmreport1.GetSoundEnabled
End Sub
运行alarm.bsp画面,点击按钮Button1,获取是否启用报警声音的状态,显示在Text1中。
SetConfirmAlmEnabled(QVariant bEnable)
变量描述:
❖bEnable:1右键菜单中显示“确认选中报警”和“确认所有报警”菜单项,0右键菜单中不显示“确认选中报警”和“确认所有报警”菜单项
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,在脚本编辑器中编辑页面初始事件如下:
Sub page_OnLoad()
alarmreport21.SetConfirmAlmEnabled(0)
End Sub
运行alarm.bsp画面,右击控件,在弹出的右键菜单中原有的“确认选中报警”和“确认所有报警”选项将不显示。
SetDeleteAlmEnabled(QVariant bEnable)
变量描述:
❖bEnable:1右键菜单中显示“删除选中报警”菜单项,0右键菜单中不显示删除报警菜单项
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,在脚本编辑器中编辑页面初始如下:
Sub page_OnLoad()
alarmreport21.SetDeleteAlmEnabled(0)
End Sub
运行alarm.bsp画面,右击控件,在弹出的右键菜单中原有的“删除选中报警”选项将不显示。
void ReplaceContent (colname,oldvalue,newvalue)
变量描述:
❖colname:列名
❖oldvalue:旧值
❖newvalue:新值
列对应关系如下:
colname |
列中文名 |
---|---|
Index |
序号 |
ID |
ID |
Node Name |
节点名 |
Tag Name |
变量名 |
Confirm Status |
确认状态 |
Alarm Occur Time |
产生事件 |
Tag Desc |
变量描述 |
Class Name |
类名 |
SubSystem Name |
子系统名 |
Alarm Category |
报警分类 |
Alarm Type |
报名类型 |
Value |
报警时变量值 |
Recover Value |
恢复时变量值 |
Alarm Priority |
优先级 |
Priority Description |
优先级描述 |
Confirmor |
确认者 |
Recover Status |
报警状态 |
Alarm Confirm Time |
确认时间 |
Alarm Recover Time |
恢复时间 |
Repeat Times |
重复次数 |
Alarm Area 1 |
报警区1 |
Alarm Area 2 |
报警区2 |
Alarm Area 3 |
报警区3 |
Alarm Area 4 |
报警区4 |
Alarm Area 5 |
报警区5 |
Alarm Area 6 |
报警区6 |
Previous Value |
报警前变量值 |
Object Name |
对象名 |
Object Desc |
对象描述 |
举例:
拖动一个新报警控件到组态画面上,编辑脚本,在PageOnload事件中编辑如下:
Sub page_OnLoad()
alarmreport21.StartRunMode()
alarmreport21.ReplaceContent "Tag Name","ai_0","你好"
alarmreport21.ReplaceContent "Alarm Priority","0","aaa"
alarmreport21.ReplaceContent "Priority Description","好","bbb"
End Sub
运行脚本,变量名那列为ai_0的,统一被替换为你好;优先级那列为0的,统一替换为aaa;优先级描述那列为好的,统一替换为bbb
SetSelectionEnabled(QVariant bEnable)
变量描述:
❖bEnable:1可以选择报警记录,0不能选择记录
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,在脚本编辑器中编辑页面初始如下:
Sub page_OnLoad()
alarmreport21.SetSelectionEnabled(0)
End Sub
运行alarm.bsp画面,点击报警记录,不会被选中,可以保持闪烁状态。
ClearAllFilterConditon()
变量描述:
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
alarmreport21.ClearAllFilterConditon
End Sub
运行alarm.bsp画面,点击按钮Button12,所有过滤条件清除,显示所有报警信息。
SetMaxCount()
变量描述:
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
alarmreport21.SetMaxCount(5)
End Sub
运行alarm.bsp画面,点击按钮Button12,报警控件最多加载5条记录。
SetAlarmAreaFilter(var)
变量描述:
❖var:需要显示的报警区域名字
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit3, 添加一个按钮Button9,在脚本编辑器中编辑该Button9的Click事件如下:
Sub BSButton9_OnClick()
var = Edit3.WindowText
alarmreport21. SetAlarmAreaFilter(var)
End Sub
运行alarm.bsp画面,在Edit3编辑框中输入“Area1|Area2|”,点击按钮Button9,界面上的报警进行过滤,只显示包含报警区域为Area1和Area2的报警。
SetAlarmTypeFilter (var)
变量描述:
❖var:为一个字符串,包扩所有要显示的报警类型的字符串格式如下:高高报警|低报警
目前支持报警类型有:
高高报警、高报警、低报警、低低报警、变位报警、变化率报警、偏差报警、0->1报警、1->0报警
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit4, 添加一个按钮Button10,在脚本编辑器中编辑该Button10的Click事件如下:
Sub BSButton10_OnClick()
var = Edit4.WindowText
alarmreport21. SetAlarmTypeFilter(var)
End Sub
运行alarm.bsp画面,在Edit4编辑框中输入“高高报警|高报警|”,点击按钮Button10,界面上的报警进行过滤,只显示包含报警类型为Area1和Area2的报警。
SetAlarmSubSysFilter(var)
变量描述:
❖var:为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit5, 添加一个按钮Button11,在脚本编辑器中编辑该Button11的Click事件如下:
Sub BSButton11_OnClick()
var = Edit5.WindowText
alarmreport21. SetAlarmSubSysFilter(var)
End Sub
运行alarm.bsp画面,在Edit5编辑框中输入“d*”,点击按钮Button11,界面上的报警进行过滤,只显示包含报警子系统名以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(subsys¦subscada)”,则匹配所有包含subsys或subscada的选项。
SetAlarmTagNameFilter(var)
变量描述:
❖var:为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmTagNameFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“d*”,点击按钮Button12,界面上的报警进行过滤,只显示包含报警变量名以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(tag.[0-9])”,则匹配所有tag后面跟着一个任意字符和一个数字的选项。
SetAlarmPriorityFilter(varPriority)
变量描述:
❖varPriority:优先级字符串,区间段1优先级起点|区间段1优先级终点|区间段2优先级起点|区间段2优先级终点||区间段3优先级起点|区间段3优先级终点|
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit3, 添加一个按钮Button10,在脚本编辑器中编辑该Button10的Click事件如下:
Sub BSButton10_OnClick()
var = Edit3.WindowText
alarmreport21.SetAlarmAreaFilter(var)
End Sub
运行alarm.bsp画面,在Edit3编辑框中输入“0|3|5|7|10|12|”,点击按钮Button10,界面上的报警进行过滤,只显示报警优先级为0、1、2、3、5、6、7、10、11、12的报警。
SetAlarmTimeFilter(varTime)
变量描述:
❖varTime:报警时间过滤字符串,参数格式为:比较条件|起始时间|终止时间|,比较条件值含义如下:0-介于,1-不介于,2-今天(参数格式蜕变为|2|||),3-最近一小时(参数格式蜕变为|3|||),4-最近半小时(参数格式蜕变为|4|||),5-大于开始时间(参数格式蜕变为|5|开始时间||),6-大于等于开始时间(参数格式蜕变为|5|开始时间||),7-小于结束时间(参数格式蜕变为|7||结束时间|),8-小于等于结束时间(参数格式蜕变为|8||结束时间|)。
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit3, 添加一个按钮Button11,在脚本编辑器中编辑该Button11的Click事件如下:
Sub BSButton11_OnClick()
var = Edit3.WindowText
alarmreport21.SetAlarmTimeFilter(var)
End Sub
运行alarm.bsp画面,在Edit3编辑框中输入“0|2012-05-01 12:30:12|2012-05-02 11:20:10|”,点击按钮Button11,界面上的报警进行过滤,只显示只显示报警产生时间在2012-5-1 12:30:12到2012-5-2 11:20:10的报警。
注意:过滤条件中的日期格式必须保证为 YYYY-MM-DD的形式
SetAlarmStatusFilter(varTime)
变量描述:
❖varTime:
⟡未确认未恢复:1|0|0|
⟡已确认未恢复:0|1|0|
⟡未确认已恢复:0|0|1|
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit3, 添加一个按钮Button11,在脚本编辑器中编辑该Button11的Click事件如下:
Sub BSButton11_OnClick()
var = Edit3.WindowText
alarmreport21.SetAlarmTimeFilter(var)
End Sub
运行alarm.bsp画面,在Edit3编辑框中输入“0|1|0|”,点击按钮Button11,界面上的报警进行过滤,只显示已确认未恢复状态的报警。
SetAlarmTagDescFilter(var)
变量描述:
❖var:为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmTagDescFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“d*”,点击按钮Button12,界面上的报警进行过滤,只显示包含报警变量描述以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(AI_[E-H])”,则匹配所有包含一个字符串AI_后面包含大写的E到I中的一个,相当于"E¦F¦G¦H"。
SetAlarmClassNameFilter(var)
变量描述:
❖var:为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmClassNameFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“d*”,点击按钮Button12,界面上的报警进行过滤,只显示包含报警变量类名以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(tag[a-w])”,则匹配所有包含tag后面跟着a到w字符串的所有选项
SetAlarmCategoryFilter(var)
变量描述:
❖var:为变量名,为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmCategoryFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“d*”,点击按钮Button12,界面上的报警进行过滤,只显示包含报警分类以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(al)”,则匹配所有包含aaa的选项。
SetAlarmConfirmorFilter(var)
变量描述:
❖var:为变量名,为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmConfirmorFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“d*”,点击按钮Button12,界面上的报警进行过滤,只显示包含报警确认者以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(ad[a-w])”,则匹配所有包含ad后跟着a-w范围内字符串的选项("[]中的内容是可选字符集")。
SetConfirmTimeFilter(varTime)
变量描述:
❖varTime:报警时间过滤字符串,参数格式为:比较条件|起始时间|终止时间|,比较条件值含义如下:0-介于,1-不介于,2-今天(参数格式蜕变为|2|||),3-最近一小时(参数格式蜕变为|3|||),4-最近半小时(参数格式蜕变为|4|||),5-大于开始时间(参数格式蜕变为|5|开始时间||),6-大于等于开始时间(参数格式蜕变为|5|开始时间||),7-小于结束时间(参数格式蜕变为|7||结束时间|),8-小于等于结束时间(参数格式蜕变为|8||结束时间|)。
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit3, 添加一个按钮Button11,在脚本编辑器中编辑该Button11的Click事件如下:
Sub BSButton11_OnClick()
var = Edit3.WindowText
alarmreport21.SetConfirmTimeFilter(var)
End Sub
运行alarm.bsp画面,在Edit3编辑框中输入“0|2012-05-01 12:30:12|2012-05-02 11:20:10|”,点击按钮Button11,界面上的报警进行过滤,只显示报警确认时间在2012-5-1 12:30:12到2012-5-2 11:20:10的报警。
注意:过滤条件中的日期格式必须保证为 YYYY-MM-DD的形式。
SetRecoverTimeFilter(varTime)
变量描述:
❖varTime:报警时间过滤字符串,参数格式为:比较条件|起始时间|终止时间|,比较条件值含义如下:0-介于,1-不介于,2-今天(参数格式蜕变为|2|||),3-最近一小时(参数格式蜕变为|3|||),4-最近半小时(参数格式蜕变为|4|||),5-大于开始时间(参数格式蜕变为|5|开始时间||),6-大于等于开始时间(参数格式蜕变为|5|开始时间||),7-小于结束时间(参数格式蜕变为|7||结束时间|),8-小于等于结束时间(参数格式蜕变为|8||结束时间|)。
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit3, 添加一个按钮Button11,在脚本编辑器中编辑该Button11的Click事件如下:
Sub BSButton11_OnClick()
var = Edit3.WindowText
alarmreport21.SetRecoverTimeFilter(var)
End Sub
运行alarm.bsp画面,在Edit3编辑框中输入“0|2012-05-01 12:30:12|2012-05-02 11:20:10|”,点击按钮Button11,界面上的报警进行过滤,只显示报警恢复时间在2012-5-1 12:30:12到2012-5-2 11:20:10的报警。
注意:过滤条件中的日期格式必须保证为 YYYY-MM-DD的形式。
SetAlarmObjectNameFilter(var)
变量描述:
❖var:为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmObjectNameFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“d*”,点击按钮Button12,界面上的报警进行过滤,只显示包含报警变量对象名以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(alarmsubsystem[1-3])”,则匹配所有包含alarmsubsystem后跟着1、2、3的选项。
SetAlarmObjectDescFilter(var)
变量描述:
❖var:为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmObjectDescFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“d*”,点击按钮Button12,界面上的报警进行过滤,只显示包含报警变量对象描述以d开始的所有报警。
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(baojingduixiang[1-3])”,则匹配所有baojingduixiang后跟着1、2、3的选项的选项。
SetAlarmNodeNameFilter(var)
变量描述:
❖var:为一个字符串表达式
❖返回值:无
举例:
在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个windows标准控件编辑框Edit6, 添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:
Sub BSButton12_OnClick()
var = Edit6.WindowText
alarmreport21. SetAlarmNodeNameFilter(var)
End Sub
运行alarm.bsp画面,在Edit6编辑框中输入“*d*”,点击按钮Button12,界面上的报警进行过滤,只显示scada名称包含d的scada下的报警
表达式说明:
1.字符串,匹配完整字符串,例如,表达式为“alarm”,则匹配值为alarm的选项。
2.?表达式,匹配任何单个字符,例如,表达式为“a?a”,则匹配值为aaa,aba等选项。
3.通配符*,例如,表达式为“*aaa*”,则匹配所有包含aaa的选项。
4.正则表达式匹配,示例表达式为“@qtreg(scada[a-w])”,则匹配所有包含scada后跟着a到w的所有字符串的选项。
GetLocalUnConfirmAlarmCount()
变量描述:
❖返回整数类型:获取当前报警列表未确认的报警总数;
举例:
Sub BSButton149_OnClick()
MsgBox "未确认的报警共有"&alarmreport21.GetLocalUnConfirmAlarmCount&"条!"
End Sub
全部的报警数:SYSTEM.ALM这个变量的值域F_ALM_ALL_CNT就表示是未恢复的报警数。
未恢复的报警数:SYSTEM.ALM这个变量的值域F_ALM_CNT表示是未恢复的报警数。
未确认的报警数:SYSTEM.ALM这个变量的值域F_UNACK_CNT就表示是未确认的报警数。
未恢复未确认的报警数:未恢复+未确认-全部报警数=未恢复未确认的报警数。
关于变量值域的具体含义,请参考:附录:变量属性定义
LoadCfgFile()
变量描述:
❖填写输出路径
举例:
Sub BSButton149_OnClick()
alarmreport21.LoadCfgFile("d:\\aaa.alm")
End Sub
WriteCfgFile()
变量描述:
❖填写输出路径
举例:
Sub BSButton151_OnClick()
alarmreport21.WriteCfgFile("d:\\aaa.alm")
End Sub
该脚本可以加载一副画面作为表头的背景色:
Sub Rectangle2_OnClick()
alarmreport21.SetTableHeaderSheet "QHeaderView::section{border-image: url(C:/iCentroView/executable/image/startup.bmp);}"
End Sub
该脚本可以设置渐变色作为表头的背景色:
Sub Rectangle3_OnClick()
alarmreport21.SetTableHeaderSheet "QHeaderView::section{background-color:qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 rgb(255,0,0), stop:1 rgb(255,255,255));}"
End Sub
该脚本恢复最初的表头的背景色:
Sub Rectangle4_OnClick()
alarmreport21.SetTableHeaderSheet ""
End Sub