Skip to main content

在程序中调用警报事件

这个 事件 (API) 观察类型用于在警报组中定义警报等。与根据条件触发警报的观察类型不同,使用这种观察类型,警报可以通过调用函数块实例来触发。

定义报警组中的事件报警

  1. 创建报警组。

  2. 定义观察类型的警报 事件 (API) 在警报组中。

  3. 班级 列中,选择带有 确认 确认方法或者创建一个新的报警类别。

程序调用触发事件报警

  1. 将光标设置在应进行功能块调用的程序位置。

  2. 使用 RaiseEvent 函数来自 AlarmManager 图书馆:

    输入“AlarmManager”后跟句点。

    打开一个窗口,其中包含所有可插入元素的列表(“列出组件”功能)。

    _cds_img_autocomplete_alarms.png
  3. 选择 AlarmGlobals 并输入句号。

  4. 以同样的方式,插入元素 g_AlarmHandlerRaiseEvent

    您将得到以下行: Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent

  5. 现在定义传输变量 AlarmGroup_IDAlarm_ID。为此,请输入一个左括号。

    出现一个工具提示,显示有关传输变量的信息

  6. F2

    输入助手打开

  7. 类别 制表符 (_3_r.png)选择类别 变量_4_r.png)。

    _cds_img_input_assistant_alarms.png
  8. 选择所需的组 ID 变量 (_1_r.png)。

    该变量被应用到程序行中。

  9. 输入逗号并插入所需的警报ID变量(2),方法与步骤7相同。输入右括号和分号。

    您将获得以下程序行:

    Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent(Alm_AlarmConfiguration_Alarmgroup_IDs.ID_AlarmGroup1, Alm_AlarmGroup1_Alarm_IDs.ID_0);

从警报模板实例引发事件

通过将实例的地址传递到警报所属的位置,可以引发警报实例的事件。

当事件发生时,指向实例的闩锁变量会自动正确写入。

IAlarmHandler7 提供具有以下功能的接口 AlarmManager 为此目的。

  • RaiseEventAlarmInstance

  • RaiseEventAlarmInstanceByName

22. 例子
_visu_alarm_group_template_example_raise_event.png

MyalarmFB 功能块 RaiseEvent 方法

FUNCTION_BLOCK MyAlarmFB
VAR_INPUT
	xCondition : BOOL;
END_VAR
METHOD RaiseEvent : BOOL
VAR_INPUT
END_VAR
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEventAlarmInstance(THIS, Alm_AlarmGroupTemplate_Alarm_IDs.ID_3);

程序: PLC_PRG

PROGRAM PLC_PRG
VAR
    // Alarm Instances
    myInst : MyAlarmFB;
    myInst2 : MyAlarmFB;
END_VAR
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEventAlarmInstance(ADR(myInst), Alm_AlarmGroupTemplate_Alarm_IDs.ID_3); 
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEventAlarmInstanceByName(ADR(pouInst), Alm_AlarmGroupTemplate2_Alarm_IDs.ID_0, 'AlarmGroupTemplate2');