在线模式下的报警显示
在在线模式下,您可以通过下列方式影响报警的显示方式:
根据提供有关警报的具体信息的闩锁变量的值来过滤警报 | |
显示明确定义的时间段内的警报事件 | |
删除报警历史记录 | |
在警报横幅中:滚动浏览活动警报 |
消息不会作为副本保存在历史记录中。
影响:如果您对消息进行小幅修改(例如,更正输入错误),则此更改会影响历史记录,因为更正后的消息现在会显示在那里。但是,如果您完全重新配置警报(更改状态或条件并更新消息),则所有先前因配置过时而记录的警报都将在历史记录中显示新消息。请根据具体情况检查是否最好是添加新警报而不是升级过时的警报。
更多信息请参阅: 评估程序代码中的报警信息
使用锁存变量过滤报警事件
当显示大量警报事件时,按闩锁变量的内容进行过滤会很有用。如果在定义中分配给警报的闩锁变量包含错误编号或设备实例的名称等,则操作员可以根据它过滤可视化中的警报。操作员指定一个值,并将该值与警报的闩锁变量的值进行比较。可以指定哪种类型的值由过滤器类型变量控制。
注意
示例项目: 按锁存器和时间变量过滤警报
在应用程序中,定义一个变量,该变量获取稍后可过滤警报的值。
输入错误 ID 的示例:
PLC_PRG.sFilter : STRING;
在单个警报的配置中,分配一个或多个包含有关警报的附加信息的锁存变量。
当前发动机温度示例:
rEngineTemperature
对于当前速度:
rEngineSpeed
对于错误 ID:
strError
您还可以使用两个以上的默认锁存变量来获取有关警报的更多信息。为此,请使用上下文菜单在警报组编辑器的表中插入附加列。
定义一个额外的整数变量来定义可视化用户可以指定用于过滤警报的过滤器类型以及如何解释它。
例子:
eFiltType : VisuElemsAlarm.EFilterLatchContent;
EfilterLatchContent
是库中定义的枚举AlarmManager
使用以下过滤器类型:0
:无过滤1
:按锁存变量 1 包含过滤变量中指定的字符串的警报进行过滤。例如,您可以搜索
'Error 1'
(过滤变量)在闩锁变量中(类型STRING
)。2
:根据 IEC 61131-3,通过锁存变量 1 包含过滤变量中指定的类型文字的警报进行过滤。您可以搜索
T#1h2s
,DINT#15
,REAL#1.5
, 或者FALSE
。3
:按锁存变量 1 包含以下内容的警报进行过滤LINT
过滤变量中指定的文字值。因此,闩锁变量的值必须在 9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的范围内。对于所有其他值,行为目前尚未定义。
仅显示与锁存变量中的过滤变量中指定的搜索条件匹配的警报。
在警报可视化中配置一个输入选项,用于过滤闩锁变量的内容。例如,添加一个输入字段,用户可以在其中输入要过滤的值。为此,请使用带有 写入变量 操作并输入过滤变量
PLC_PRG.sFilter
在上述步骤 1 中定义。例如:PLC_PRG.sFilter
.然后警报可视化将其读取为过滤变量。在报警可视化元素的属性中,在 报警配置 – 按闩锁 1 过滤 – 过滤变量 属性,相应地输入此变量(例如:输入
PLC_PRG.sFilter
再次)。在同一过程中,在可视化中,配置过滤类型的输入功能(
eFiltType
)。例如,插入另一个输入元素。通过此元素,写入存在于 筛选器类型 报警表或报警横幅配置的属性。发生未确认警报时的行为
如果在报警配置中的报警组中使用了锁存变量(例如,对于
INT
参数化错误消息的变量),则当前值为INT
变量被归档在锁存变量中。只有在确认了相应的错误消息后,归档值才会再次更改。当报警变为活动状态时,锁存变量的值始终会更新。因此,尚未确认的多个连续错误消息将获得错误归档的值。这不仅适用于初始转换为活动状态的情况,也适用于触发重新报警的情况。
显示特定时间的警报事件
在许多情况下,人们知道问题发生在哪个时间段,并将它们记录为警报。然后,只显示在指定时间段内发生的警报会很有用。重要信息以最佳方式显示,并更快地找到。
在报警可视化中,可以配置两个变量输入选项,它们位于 报警表 或者 报警横幅 元素,在 报警配置 – 过滤变量,来自 和 过滤变量, 财产。
此外,您还可以为整数变量配置一个输入字段,以启用(值: 1
)或禁用(值: 0
)过滤。此变量必须在配置中指定 报警表 或者 报警横幅 元素,在 报警配置 – 筛选器类型 财产。
删除报警历史
您可以在可视化中插入一个输入元素,用户可以使用该元素在运行时删除之前记录的报警历史记录。在此之前显示的历史记录将被删除,显示重新开始。
在应用程序中(例如:在程序中
PLC_PRG
),实现如下代码:itfAlarmConfiguration : AlarmManager.IAlarmConfiguration; itfAlarmConfiguration7 : AlarmManager.IAlarmConfiguration7; xKeepActiveAlarms : BOOL := TRUE; xClearHistory: BOOL; IF xClearHistory THEN FOR i := 0 TO AlarmGlobals.g_AlarmHandler.AlarmConfigurationCount - 1 DO itfAlarmConfiguration := AlarmGlobals.g_AlarmHandler.GetAlarmConfiguration(i); IF __QUERYINTERFACE(itfAlarmConfiguration, itfAlarmConfiguration7) THEN itfAlarmConfiguration7.ClearHistory(xKeepActiveAlarms := xKeepActiveAlarms); END_IF END_FOR END_IF
什么时候
xClearHistory
获取值TRUE
,当前历史记录将被删除。推荐:
xKeepActiveAlarms
应设置为TRUE
以便将活动警报排除在删除操作之外。否则,不会中断进一步的记录,但日志输出可能会随着其他状态转换而改变。在报警可视化中,添加一个删除历史记录的按钮。配置其 切换 带有变量的属性
PLC_PRG.xClearHistory
。