在程序中调用警报事件
这个 事件 (API) 观察类型用于在警报组中定义警报等。与根据条件触发警报的观察类型不同,使用这种观察类型,警报可以通过调用函数块实例来触发。
定义报警组中的事件报警
创建报警组。
定义观察类型的警报 事件 (API) 在警报组中。
在 班级 列中,选择带有 确认 确认方法或者创建一个新的报警类别。
程序调用触发事件报警
将光标设置在应进行功能块调用的程序位置。
使用
RaiseEvent
函数来自AlarmManager
图书馆:输入“AlarmManager”后跟句点。
打开一个窗口,其中包含所有可插入元素的列表(“列出组件”功能)。
选择
AlarmGlobals
并输入句号。以同样的方式,插入元素
g_AlarmHandler
和RaiseEvent
。您将得到以下行:
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent
。现在定义传输变量
AlarmGroup_ID
和Alarm_ID
。为此,请输入一个左括号。出现一个工具提示,显示有关传输变量的信息
按 F2
输入助手打开
在 类别 制表符 (
)选择类别 变量 (
)。
选择所需的组 ID 变量 (
)。
该变量被应用到程序行中。
输入逗号并插入所需的警报ID变量(2),方法与步骤7相同。输入右括号和分号。
您将获得以下程序行:
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent(Alm_AlarmConfiguration_Alarmgroup_IDs.ID_AlarmGroup1, Alm_AlarmGroup1_Alarm_IDs.ID_0);
从警报模板实例引发事件
通过将实例的地址传递到警报所属的位置,可以引发警报实例的事件。
当事件发生时,指向实例的闩锁变量会自动正确写入。
这 IAlarmHandler7
提供具有以下功能的接口 AlarmManager
为此目的。
RaiseEventAlarmInstance
RaiseEventAlarmInstanceByName

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');