Skip to main content

Llamada de eventos de alarma en el programa

El tipo de observación Evento (API) se proporciona para definir una alarma en el grupo de alarmas, entre otras cosas. A diferencia de los tipos de observación en los que la alarma se activa en función de las condiciones, con este tipo de observación la alarma se puede activar llamando a una instancia de bloque de funciones.

Definición de la alarma de evento en el grupo de alarmas

  1. Crear un grupo de alarmas.

  2. Definir una alarma del tipo de observación Evento (API) en el grupo de alarmas.

  3. En el Clase columna, seleccione una clase de alarma con la Acuse de recibo método de reconocimiento o crear una nueva clase de alarma.

Llamada al programa para activar la alarma del evento

  1. Coloque el cursor en la posición del programa donde debe realizarse la llamada al bloque de función.

  2. Utilice el RaiseEvent función de la AlarmManager biblioteca:

    Introduzca “AlarmManager” seguido de un punto.

    Se abre una ventana que contiene una lista de todos los elementos insertables (función "Listar componentes").

    _cds_img_autocomplete_alarms.png
  3. Seleccionar AlarmGlobals e introduzca un punto.

  4. De la misma manera, inserte los elementos g_AlarmHandler y RaiseEvent.

    Obtendrás la siguiente línea: Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent.

  5. Ahora defina las variables de transferencia AlarmGroup_ID y Alarm_IDPara ello, introduzca un paréntesis de apertura.

    Aparece una información sobre herramientas que muestra información sobre las variables de transferencia.

  6. Prensa F2

    Se abre el Asistente de entrada

  7. En el Categorías pestaña (_3_r.png), seleccione la categoría Variables (_4_r.png).

    _cds_img_input_assistant_alarms.png
  8. Seleccione la variable de identificación del grupo deseada (_1_r.png).

    La variable se aplica en la línea del programa.

  9. Ingrese una coma e inserte la variable de ID de alarma deseada (2) de la misma manera que en el Paso 7. Ingrese un paréntesis de cierre y un punto y coma.

    Obtendrás la siguiente línea de programa:

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

Generación de eventos desde instancias de plantilla de alarma

Los eventos de instancias de alarma se pueden generar pasando la dirección de la instancia a la que pertenece la alarma.

Cuando se genera el evento, la variable latch que apunta a la instancia se escribe automáticamente de forma correcta.

El IAlarmHandler7 Se proporciona una interfaz con las siguientes funciones en el AlarmManager biblioteca para este propósito.

  • RaiseEventAlarmInstance

  • RaiseEventAlarmInstanceByName

ejemplo 22. Ejemplo
_visu_alarm_group_template_example_raise_event.png

MyalarmFB bloque de función con RaiseEvent método

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

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