实时报警监控控件接口脚本案例

Navigation:  iCentroview系统的配置 > 配置客户端 > 服务端配置 > SCADA节点总览配置 > 报警服务 > 在组态中进行实时报警监控 >

实时报警监控控件接口脚本案例

Previous pageReturn to chapter overviewNext page

u获取HMI关联的所有scada的未恢复报警总数

u获取当前列表中的报警个数

u获取关联scada的未确认报警总数

u获取当前列表中所有的报警记录

u获取当前列表中选中的报警记录

u确认界面上选中的报警记录

u确认当前列表中的所有报警

u确认输入的报警记录

u获取系统中所有的报警区域

u隐藏列表的列头

u清空当前列表中选择的记录

u设定给定的列是否可排序

u返回指定的列是否可排序

u设定指定的列的排序方式,并排序

u获取指定的列的排序方式

u初始进行多列排序

u打开或关闭某级别的报警提示音

u设定是否启用报警声音

u设定报警控件字体

u获取是否启用报警声音的状态

u设置是否显示确认报警菜单项

u设置是否显示删除报警菜单项

u替换某列的内容

u设置报警列表是否可以选择

u清除所有过滤条件

u设置报警控件可显示的最大记录数

u报警控件按照报警区域过滤

u报警控件按照报警类型过滤

u报警控件按照子系统名过滤

u报警控件按照变量名过滤

u报警控件按照报警优先级过滤

u报警控件按照报警时间过滤

u报警控件按照报警状态过滤

u报警控件按照变量描述进行过滤

u报警控件按照类名进行过滤

u报警控件按照报警分类进行过滤

u报警控件按照确认者进行过滤

u报警控件按照确认时间进行过滤

u报警控件按照恢复时间进行过滤

u报警控件按照对象名称进行过滤

u报警控件按照对象描述进行过滤

u报警控件按照scada名称进行过滤

u获取当前报警列表未确认的报警总数

u各类报警计数的获取

u报警控件保存和加载配置信息

u报警控件中列表表头背景色设置

 


u获取HMI关联的所有scada的未恢复报警总数

 

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中。

 

u获取当前列表中的报警个数

 

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中。

 

u获取关联scada的未确认报警总数

 

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中。

 

u获取当前列表中所有的报警记录

 

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.

 

u获取当前列表中选中的报警记录

 

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)。

 

u确认界面上选中的报警记录

 

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控件,编辑好脚本,运行画面,查询历史事件,查看刚才确认的报警记录,“内容”一栏的内容为“报警确认”。

 

u确认当前列表中的所有报警

 

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控件,编辑好脚本,运行画面,查询历史事件,查看刚才确认的报警记录,“内容”一栏的内容为“确认所有报警”

 

u确认输入的报警记录

 

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条报警记录的确认状态变为已确认

 

u获取系统中所有的报警区域

 

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中。

 

u隐藏列表的列头

 

HideTableHeader(QVariant bHide)

 

变量描述:

bHide:1 隐藏列表的列头,0 显示列头

 

举例:

在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 

Sub BSButton1_OnClick()

alarmreport1.HideTableHeader 1

End Sub

 

运行alarm.bsp画面,点击按钮Button1,隐藏列表的列头。

 

u清空当前列表中选择的记录

 

UnSelectRecords()

 

举例:

在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 

Sub BSButton1_OnClick()

alarmreport1.UnSelectRecords

End Sub

 

运行alarm.bsp画面,点击按钮Button1,清空当前列表中选择的记录。

 

u设定给定的列是否可排序

 

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,设定“确认状态”列,不能排序。

 

u返回指定的的列是否可排序

 

QVariant GetSortEnable(QVariant column)

 

变量描述:

column:列名

返回值:0不能排序,1能排序

 

举例:

在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 

Sub BSButton1_OnClick()

MsgBox ( alarmreport1.GetSortEnable ("确认状态"))

End Sub

 

运行alarm.bsp画面,点击按钮Button1,弹出"确认状态"列的能否排序的情况。

 

u设定指定的的列的排序方式,并排序

 

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,"确认状态"列进行升序排列。

 

u获取指定的的列的排序方式

 

QVariant GetSortOrder(QVariant column)

 

变量描述:

column:列名

返回值:0升序,1降序

 

举例:

在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 

Sub BSButton1_OnClick()

MsgBox (alarmreport1.GetSortOrder ("确认状态"))

End Sub

 

运行a.bsp画面,点击按钮Button1,弹出"确认状态"列排序的情况。

 

u初始进行多列排序

 

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画面,查看报警控件中的报警排序,优先按照确认状态的未确认,已确认顺序排序,其次按照报警状态中的未恢复,已恢复状态排序,最后按照产生时间降序排序。

 

u打开或关闭某级别的报警提示音

 

QVariant SetPrioritySoundEnabled(QVariant strPriority,QVariant bEnable)

 

变量描述:

strPriority:设置需要操作的报警级别,以“;”分隔,例如:"1;3;4"

bEnable:1 启用报警声音,0 禁止报警声音

注意:只要在控件中“报警设置”tab页针对该级别配置过报警声音该接口才生效,配置界面如下图:

icv_config_alarm_10

 

举例:

在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 

Sub BSButton1_OnClick()

alarmreport1.SetPrioritySoundEnabled "1;3;4",0

End Sub

 

运行alarm.bsp画面,点击按钮Button1,级别1,3,4上的报警不再有声音提示。

 

u设定是否启用报警声音

 

QVariant SetSoundEnabled(QVariant bEnable)

 

变量描述:

bEnable:1 启用报警声音,0 禁止报警声音

 

举例:

在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 

Sub BSButton1_OnClick()

alarmreport1.SetSoundEnabled 1

End Sub

 

运行alarm.bsp画面,点击按钮Button1,启用报警声音。

 

u设定报警控件字体

 

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。

 

u获取是否启用报警声音的状态

 

QVariant GetSoundEnabled()

 

变量描述:

返回值:0未启用报警声音,1已经启用报警声音

 

举例:

在a.bsp的画面中加载一个Button对象,添加一个文本控件 Text,在脚本编辑器中编辑该Button的Click事件如下:

 

Sub BSButton1_OnClick()

Text1.Text = alarmreport1.GetSoundEnabled

End Sub

 

运行alarm.bsp画面,点击按钮Button1,获取是否启用报警声音的状态,显示在Text1中。

 

u设置是否显示确认报警菜单项

 

SetConfirmAlmEnabled(QVariant bEnable)

 

变量描述:

bEnable:1右键菜单中显示“确认选中报警”和“确认所有报警”菜单项,0右键菜单中不显示“确认选中报警”和“确认所有报警”菜单项

返回值:无

 

举例:

在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,在脚本编辑器中编辑页面初始事件如下:

 

Sub page_OnLoad()

alarmreport21.SetConfirmAlmEnabled(0)

End Sub

 

运行alarm.bsp画面,右击控件,在弹出的右键菜单中原有的“确认选中报警”和“确认所有报警”选项将不显示。

 

u设置是否显示删除报警菜单项

 

SetDeleteAlmEnabled(QVariant bEnable)

 

变量描述:

bEnable:1右键菜单中显示“删除选中报警”菜单项,0右键菜单中不显示删除报警菜单项

返回值:无

 

举例:

在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,在脚本编辑器中编辑页面初始如下:

 

Sub page_OnLoad()

alarmreport21.SetDeleteAlmEnabled(0)

End Sub

 

运行alarm.bsp画面,右击控件,在弹出的右键菜单中原有的“删除选中报警”选项将不显示。

 

u替换某列的内容

 

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

 

u设置报警列表是否可以选择

 

SetSelectionEnabled(QVariant bEnable)

 

变量描述:

bEnable:1可以选择报警记录,0不能选择记录

返回值:无

 

举例:

在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,在脚本编辑器中编辑页面初始如下:

 

Sub page_OnLoad()

alarmreport21.SetSelectionEnabled(0)

End Sub

 

运行alarm.bsp画面,点击报警记录,不会被选中,可以保持闪烁状态。

 

u清除所有过滤条件

 

ClearAllFilterConditon()

 

变量描述:

返回值:无

 

举例:

在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:

 

Sub BSButton12_OnClick()

alarmreport21.ClearAllFilterConditon

End Sub

 

运行alarm.bsp画面,点击按钮Button12,所有过滤条件清除,显示所有报警信息。

 

u设置报警控件可显示的最大记录数

 

SetMaxCount()

 

变量描述:

返回值:无

 

举例:

在alarm.bsp的画面中加载一个iCentroView AlarmReport_Control Class 控件,添加一个按钮Button12,在脚本编辑器中编辑该Button12的Click事件如下:

 

Sub BSButton12_OnClick()

alarmreport21.SetMaxCount(5)

End Sub

 

运行alarm.bsp画面,点击按钮Button12,报警控件最多加载5条记录。

 

u报警控件按照报警区域过滤

 

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的报警。

 

u报警控件按照报警类型过滤

 

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的报警。

 

u报警控件按照报警子系统名过滤

 

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的选项。

 

u报警控件按照报警变量名过滤

 

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后面跟着一个任意字符和一个数字的选项。

 

u报警控件按照报警优先级过滤

 

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的报警。

 

u报警控件按照报警时间过滤

 

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的形式

 

u报警控件按照报警状态过滤

 

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,界面上的报警进行过滤,只显示已确认未恢复状态的报警。

 

u报警控件按照变量描述进行过滤

 

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"。

 

u报警控件按照类名进行过滤

 

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字符串的所有选项

 

u报警控件按照报警分类进行过滤

 

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的选项。

 

u报警控件按照确认者进行过滤

 

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范围内字符串的选项("[]中的内容是可选字符集")。

 

u报警控件按照确认时间进行过滤

 

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的形式。

 

u报警控件按照恢复时间进行过滤

 

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的形式。

 

u报警控件按照对象名称进行过滤

 

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的选项。

 

u报警控件按照对象描述进行过滤

 

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的选项的选项。

 

u报警控件按照scada名称进行过滤

 

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的所有字符串的选项。

 

u获取当前报警列表未确认的报警总数

 

GetLocalUnConfirmAlarmCount()

 

变量描述:

返回整数类型:获取当前报警列表未确认的报警总数;

 

举例:

Sub BSButton149_OnClick()

MsgBox "未确认的报警共有"&alarmreport21.GetLocalUnConfirmAlarmCount&"条!"

End Sub

 

u各类报警计数的获取

全部的报警数:SYSTEM.ALM这个变量的值域F_ALM_ALL_CNT就表示是未恢复的报警数。

未恢复的报警数:SYSTEM.ALM这个变量的值域F_ALM_CNT表示是未恢复的报警数。

未确认的报警数:SYSTEM.ALM这个变量的值域F_UNACK_CNT就表示是未确认的报警数。

未恢复未确认的报警数:未恢复+未确认-全部报警数=未恢复未确认的报警数。

关于变量值域的具体含义,请参考:附录:变量属性定义

 

u报警控件保存和加载配置信息

 

LoadCfgFile()

 

变量描述:

填写输出路径

 

举例:

Sub BSButton149_OnClick()

alarmreport21.LoadCfgFile("d:\\aaa.alm")

End Sub

 

WriteCfgFile()

 

变量描述:

填写输出路径

 

举例:

Sub BSButton151_OnClick()

alarmreport21.WriteCfgFile("d:\\aaa.alm")

End Sub

 

u报警控件中列表表头背景色设置

该脚本可以加载一副画面作为表头的背景色:

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