Skip to main content

使用锁存变量过滤报警事件

当发生大量报警事件时,如果可以通过搜索某个条件(例如锁存变量的内容)来减少数量,对可视化用户来说将非常有利。例如,如果锁存变量 1 包含报警的错误编号,则可视化用户可以以此为依据进行筛选。用户输入该编号,然后将其与报警锁存变量的值进行比较。这样,系统将仅显示具有此编号的报警。

请注意,只有当过滤器标准和锁存器完全匹配时,才会检测到匹配项。无法使用部分搜索字符串或通配符进行过滤。例如,如果 1234 是锁存器,则只有在精确过滤时才会显示警报 '1234',但在筛选时不是 '1' 或者 '1*'

出现未确认警报时的行为

当警报定义已配置了锁存变量时,例如INT参数化错误消息的变量,锁存变量的当前值在运行时归档。仅当可视化用户确认相关报警(错误消息)时,此值才会更改。当报警变为活动状态时,锁存变量的值始终会更新。

因此,连续多条尚未确认的错误消息会获得错误归档的值。这不仅适用于初始转换到激活状态的情况,也适用于例如触发重新报警的情况。

以下说明向您展示了如何为按条件搜索配置警报定义的示例。

过滤器的警报定义配置

  1. 在应用程序代码中,声明一个字符串变量(GVL ) 作为过滤器。应该能够在运行时搜索特定的错误 ID。

    sFilter : WSTRING;

    声明了所搜索值的变量。

    此变量用作搜索条件的输入变量来搜索字符串。

  2. 在警报组中,将锁存变量添加到警报定义中。锁存变量是标量类型的变量(最大 64 位) STRING (最多 39 个字符),或 WSTRING (最多 59 个字符)。

    1. 打开Alarmgroup_LatchVars报警组。

    2. 将另一个锁存变量添加到警报定义列表中。

      提示:添加闩锁变量列命令位于报警组编辑器的上下文菜单中。

    3. IEC 变量在锁存器变量 3柱子:

      PLC_PRG.arLatchValues[]

      它们的值应该在运行时在消息 2 中发出。

    4. 在警报定义中添加另一个消息列。

      提示:补充留言栏命令位于报警组编辑器的上下文菜单中。

    5. 使用闩锁变量 3 的闩锁占位符符补充消息 2:

      Another latch variable: <LATCH3>

    报警组定义带有由锁存变量值补充的消息的报警。

    _visu_img_alarm_group_latch_example.png
  3. 在应用程序代码中 (GVL),定义一个整数枚举 eFiltType 对于过滤器类型 EfilterLatchContent

    注意

    EfilterLatchContent 是库中定义的枚举 AlarmManager 使用以下过滤器类型:

    0: 过滤已禁用。

    1: 过滤变量是字符串文字。锁存器变量的类型必须兼容: STRING (最多 39 个字符)或 WSTRING (最多 59 个字符)。例如,你可以搜索 'Error 1'

    2:过滤变量包含一个必须解释为 IEC 表示法的字符串。根据 IEC 61131-3 对锁存变量值进行过滤,这些值是按照 IEC 61131-3 键入的文字 T#1h2sDINT#15REAL#1.5,或 FALSE

    3:过滤变量包含一个必须解释为数字的字符串(例如,“123” 或 “456,4”)。对包含数字的锁存变量值的警报消息进行过滤 (LINT 文字)。因此,锁存变量的值必须介于 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间

    有关更多信息,请参阅以下内容: eFilterLatchContent (ENUM)

    eFiltType : VisuElemsAlarm.EFilterLatchContent;

    用户可以在运行时指定筛选条件。仅显示与锁存变量过滤器变量中指定的搜索条件相匹配的警报。

    仅当过滤器标准和锁存器完全匹配时,才会检测到匹配项。例如,如果 Error 1 是锁存器,则警报仅在过滤时显示 'Error 1',但在筛选时不是 'Error' 或者 '1'

  4. 为警报可视化编程 矩形按钮,以及 警报表 具有过滤器类型输入配置的可视化元素,如下所示:

    1. 添加一个矩形元素来指定搜索字符串。

      矩形元素文本元素属性设置为%s文本变量元素属性设置为GVL.sFilter

      可视化用户可以在运行时输入搜索字符串。

    2. 为过滤器启动添加一个带有输入配置的按钮元素。

      写入变量针对输入配置中的过滤变量编程操作:

      GVL.sFilter

      _visu_img_alarm_vis_filterbylatch_input_config.png
    3. 配置警报表。在可视化编辑器中,选择元素并配置其属性,如下所示:

      报警配置属性 →按锁存器1过滤过滤变量设置为GVL.sFilter

      报警配置属性 →按锁存器1过滤过滤器类型设置为GVL.eFiltType

      过滤已配置。