Skip to main content

Uso de llamadas a la API para controlar las alarmas mediante programación

Alarmas de tipo observación Alarma (API) se activan mediante programación en el código de la aplicación mediante la funcionalidad del AlarmManager biblioteca y el iAlarmHandler 9 interfaz. Las alarmas se pueden activar (ActivateAlarm)) o desactivado (DeactivateAlarm) a través de la interfaz. Las transiciones de estado se pueden configurar como se desee. Estos tipos de alarmas se definen directamente en un grupo de alarmas o como una instancia de alarma en una plantilla de grupo de alarmas.

A diferencia de la observación mediante eventos (Evento (API), las alarmas se pueden usar para todas las clases de alarmas con todos los métodos de confirmación.

Importante

Según la clase de alarma y sus métodos de confirmación, puede ser necesario que el usuario de la visualización confirme la alarma en tiempo de ejecución.

Alarma mediante API

Definir una alarma con Alarma (API) tipo

  1. En Alarm Configuration, establece un grupo de alarmas.

  2. En un grupo de alarmas, defina una alarma del tipo de observación Alarma (API).

  3. En el Clase columna, seleccione, por ejemplo, la clase de alarma Warning Orange y especifique el mensaje de alarma deseado en Mensaje.

La alarma ID_20, que se activa mediante la API, está definido.

_visu_img_define_alarmconfig_ag_alarmapi.png

Puede definir una alarma de este tipo con cualquier clase de alarma. No se requieren detalles, lo que significa que no se proporciona una condición de alarma. La alarma se activa mediante una llamada a la API.

Implementación de una llamada a la API

procedimiento. Paso a paso
  1. Coloque el cursor en la posición del programa donde debe realizarse la llamada a la API.

  2. Inserte la llamada a la API.

    Sugerencia

    Deje que el Asistente de entrada (F2) te ayudará con esto.

    Implementación

    Este código activa la alarma ID_20 en el grupo de alarmas Alarms1Line.

    // Activate by API Call
    Alarmmanager.AlarmGlobals.g_AlarmHandler.ActivateAlarm(1,Alm_Alarms1Line_Alarm_IDs.ID_20);

    Este código desactiva la alarma ID_20 en el grupo de alarmas Alarms1Line.

    // Deactivate by API Call  
    Alarmmanager.AlarmGlobals.g_AlarmHandler.DeactivateAlarm(1,Alm_Alarms1Line_Alarm_IDs.ID_20);

Alarma con alarma (API) mediante instancia de alarma

Esto es particularmente relevante para los desarrolladores de bibliotecas. Además, los estados de alarma se pueden configurar explícitamente mediante programación a través de los métodos de API proporcionados

Definir una alarma con Alarma (API) tipo

  1. En Alarm Configuration, establece un plantilla de grupo de alarmas.

  2. En un grupo de alarmas, defina una alarma del tipo de observación Alarma (API).

  3. En el Clase columna, seleccione, por ejemplo, la clase de alarma Warning y especifique el mensaje de alarma deseado en Mensaje.

La alarma ID_0, que se activa mediante la API, está definido.

Sugerencia

También puede definir una alarma de API en un grupo de alarmas.

Implementación de un bloque de funciones y una llamada a la API

procedimiento. Paso a paso
  1. Agregue un bloque de funciones a su aplicación para configurar los estados de alarma de la alarma recién definida en el código IEC.

    1. Seleccione el nodo de la aplicación y haga clic en Agregar objetoPOU comando.

    2. Configure la POU de la siguiente manera: nombre MyAlarmFB, escriba Bloque de funciones, lenguaje de implementación ST.

      Declaración

      FUNCTION_BLOCK MyAlarmFB
      VAR_INPUT
      END_VAR
      VAR_OUTPUT
      END_VAR
      VAR
      END_VAR
      
    3. Seleccione la POU y añada la ActivateAlarm y DeactrivateAlarm métodos.

    4. Abra el editor ST del ActivateAlarm método y programa la llamada a la biblioteca.

      Sugerencia

      Deje que el Asistente de entrada (F2) te ayudará con esto.

      Este código activa la alarma ID_0 de la plantilla del grupo de alarmas.

      METHOD ActivateAlarm : BOOL
      VAR_INPUT
      END_VAR
      // Activate Alarm Instance Alarm by API Call
      Alarmmanager.AlarmGlobals.g_AlarmHandler.ActivateAlarmInstance(THIS, Alm_AlarmGroupTemplate_Alarm_IDs.ID_0);
    5. Abra el editor ST del DesctivateAlarm método y programa la llamada a la biblioteca.

      Este código desactiva la alarma ID_0 de la plantilla de grupo de alarmas AGT.

      METHOD DeactivateAlarm : BOOL
      VAR_INPUT
      END_VAR
      // Deactivate Alarm Instance Alarm by API Call
      Alarmmanager.AlarmGlobals.g_AlarmHandler.DeactivateAlarmInstance(THIS,Alm_AlarmGroupTemplate_Alarm_IDs.ID_0);

      Navegador de objetos

      _visu_img_alarmapi_agt_objects.png
  2. Cree una instancia del bloque de funciones en la plantilla del grupo de alarmas.

    1. Abre el editor de AlarmGroupTemplate y haga clic en el botón de puntos suspensivos verticales del Escriba la definición de alarma fila.

      Se abre el Asistente de entrada.

    2. Bajo Application, seleccione el MyAlarmFB bloque de funciones.

    Se crea una instancia de la definición de alarma.

    _visu_img_define_alarmapi_in_agt.png
  3. Implemente la llamada a la API en el código IEC y añada las llamadas de alarma en las ubicaciones deseadas.

    Declaración

    PROGRAM PLC_PRG
    VAR
        alarmTemplateInstance : MyAlarmFB;
    END_VAR

    Implementación

        // Deactivate by API Call  
        alarmTemplateInstance.DeactivateAlarm();
    
        // Activate by API Call
        alarmTemplateInstance.ActivateAlarm(); 
  4. Crea las instancias de alarma.

    1. Abra el Alarm Configuration edite y haga clic en Instancias de alarma pestaña.

    2. Haga clic en Cree o actualice instancias de alarma botón.

    Las instancias de alarma dentro del Alarm Configuration se reconocen y actualizan.

    _visu_img_alarmconfiguration_alarminstances.png