报警组编辑器

报警组用来管理应用中 报警处理下的特殊报警。一个报警只被分配到一个报警组中 ,并被这个组管理。一个组中所有报警会获得一个无效变量分配。注意即使只有一个报警也要在报警组中配置。报警组的继承结构可以通过设备树的文件夹元素形式定义。

报警组编辑器对话框包含一个列出所有那个组的报警的列表。组的基本设置,像无效,保存和很配文本列表,还有针对每个特定报警的特性都会被显示出来并可修改。

列表可以根据不同的列,鼠标单击列的头部进行顺序排列

一个新的报警可以键入,如果没有任何条目,需要通过双击表中第一行最后一个条目“观察类型”。当选择了新报警需要的观察类型后, 一个ID会自动地插入,并且相应的继续做什么的提示会在剩下的区域出现。不包含正确条目的区域会被加上标志

请见下面特定对话框的描述。有变量的时候,可以通过 按钮来调用输入助手来输入各个条目。下图中展示了一个报警组配置的例子。

插图 342: 报警组编辑器,例子是名为"AlarmGroup_M1"的组

“无效:”这里你可以输入一个布尔变量,它使能(上升沿),卸使能(下降延),来是属于这个组的报警活动。

“文本列表:” 这个区域来显示 文本列表的名字,这是创建报警组的时候自动生成的,它可保存报警信息文本。

“存档:” 这个设置显示当前组中报警存储是否完成。一旦在下表中你属于如一个是报警存储可用的报警类,这个条目会从"(none)"变成 "<AlarmStorage>", 这里AlarmStorage表示在报警配置中当前定义的报警存储对象的名字。同样可以参见报警存储编辑器的描述: 报警存储编辑器

报警定义表:

特定的报警在各自的表格列中设置。根据选择的观察类型,可能会有额外的属性需要在在表下的编辑区域进行编辑。请见下面 可能报警特性的描述:

“ID”:当定义一个新的报警时,一个特定的ID会作为连续成员被分配。这个ID同文本列表(见上)中使用的相关。这个ID以后可以被用户在表格的ID区域修改,这里要保证在报警组内ID唯一。在报警列表中直接修改反过来也会更新文本列表。

“观察类型”:

数字:

“表达式”: 在左侧输入要监视的表达式,在右侧输入你要检查的 表达式 (极限),在中间选择你想用的操作符 (= or <>)。

上限:

“表达式”:像上述“数字”一样,但是对于比较操作符> 或>=, 有选择的使用“滞后%” 的定义。

下限 1):

“表达式”:像上述“数字”一样,但是对于比较操作符 < 或 <= ,有选择的使用 “滞后%” 的定义。

内范围 1):

“表达式”: 键入要监视的表达式。 “区域:”当监视的表达式到达定义的内范围值时,报警出现。在左侧输入表达式表示下极限,在右侧输入上极限。被监控的表达式显示在不可编辑区域。合理设置操作符,有选择的使用“滞后%”的定义。

外范围 1):

“表达式”: 键入要监视的表达式。 “区域:”当监视的表达式到达定义的外范围值时,报警出现。在左侧输入表达式表示下极限,在右侧输入上极限。被监控的表达式显示在不可编辑区域。合理设置操作符,有选择的使用“滞后%”的定义。

更改:

“表达式”:键入要监视的表达式。当它的值发生变化时报警出现。

事件:

这种情况下报警通过应用触发,使用AlarmManager.library的函数:报警组"AlarmGroup_M1"的例子(同上图中所示的图片一样)。

1)针对这种观察类型,你可以相对或绝对的监视具体的表达式。绝对意味着极限是通过一个确定的值或给定值的变量确定的。相对意味着极限只是给予一个特定的表达式,例如:上极限: "Variable x >= 0.9 * y",可以选择使用具体的 滞后

“滞后%”:如果具体使用了一个滞后,那么报警情况会保持真,直到达到一个具体的偏差后才改变。变差的大小以极限值的百分比计。例如:上极限: "i_temp >= 30", "滞后:10%"。当变量i_temp达到或超过30,报警出现。直到它的值降到27,报警情况才消失。同样参见: 滞后

“细节”: 这个区域不可编辑。它显示了当前通过表格下额外区域定义的配置。

“无效”: 变量可有选择的使用,来无效报警

“类”: 可用报警类中必须的条目,在选择列表中提供。同样参见: 报警类编辑器.

“消息”:当报警出现时,在报警列表中出现的必须的信息文本条目。这个文本会自动写入到具体组(见上述)的文本列表中。换行可以通过[ <Ctrl> ] +[ <Enter> ] 来实现。下列占位符可以支持,这意味着在运行时会被当前值替换:

消息定义占位符

日期

已经改变的当前状态的日期

时间

上一次状态改变的时间

表达式

表达式(报警中定义的)触发报警

优先级

报警(报警类中定义的)的优先级

触发值 *

导致报警状态活动的值

报警ID

像报警表中第一列所示的报警ID

报警类(报警中定义的)的名字

所有默认值

所有报警信息被抛弃

当前值 *

监视变量的当前值

锁存1 *

第一个锁存变量的值。锁存变量必须是标量,除了8位string。一个锁存变量各自表达式在报警激活(像触发变量)时记录,允许提供报警的额外信息。

锁存2 *

第二锁存变量的值

报警

报警激活时为TRUE,其它情况为FALSE

状态

报警状态: 0 = "normal”, 1 = “active”, 2 = “waiting for ACK”, 3 = “active, acknowledged”

对于触发值,当前值,LATCH1 和 LATCH2以及标准格式的字符串,对C函数printf可用的,例如:”<CURRENTVALUE %d>"。

“最小延迟时间”: 当报警事件发生时,如果报警不能立刻激活,那么可以设置一个延迟时间。根据 IEC 6-1131 句法,键入延迟事件,例如"t#2ms"。

“锁存变量 1”, “锁存变量 2”: 锁存变量可以用来定义两个额外的值,当报警激活时登陆。例如:通过应用中IAlarmHandler 的RaiseEvent来影响“事件”报警。为了这个目的,提出报警组的名字和报警的ID。当报警被检测到,通过锁存变量机制可以额外登陆。

“高级优先级报警”: 这里你可以指定一个报警更高的 优先级, 如果两个同时发生当前高优先级的会被确认。这用来获得两级报警处理,低优先级的被高优先级的覆盖。例如一个温度控制系统:你正配置低优先级报警(例如优先级为10)给出一个超过30° C 的“警告”。你已经配置好了另一个更高优先级的报警(例如优先级为1),温度超过要给出一个50°C要给出“错误”。这个错误报警现在可以键入到配置这里作为“高优先级报警”的警告报警。这影响到当前存在的报警,当错误报警出现时会被自动确认。