Skip to main content

Appel d'événements d'alarme dans le programme

Alarmes de type observation Alarme (API) sont déclenchés par programmation dans le code de l'application à l'aide des fonctionnalités du AlarmManager bibliothèque et Gestionnaire d'alarme iAlarm 9 interface. Les alarmes peuvent être activées (ActivateAlarm)) ou désactivé (DeactivateAlarm) via l'interface. Les transitions d'état peuvent être définies comme vous le souhaitez. Ces types d'alarmes sont définis soit directement dans un groupe d'alarmes, soit en tant qu'instance d'alarme dans un modèle de groupe d'alarmes.

Contrairement à l'observation par le biais d'événements (Événement (API), les alarmes peuvent être utilisées pour toutes les classes d'alarme avec toutes les méthodes d'accusé de réception.

Important

En fonction de la classe d'alarme et de ses méthodes d'accusé de réception, il peut être nécessaire que l'utilisateur de la visualisation accuse réception de l'alarme au moment de l'exécution.

Alarme via l'API

Définition d'une alarme avec Alarme (API) type

  1. Dans Alarm Configuration, définissez un groupe d'alarmes.

  2. Dans un groupe d'alarmes, définissez une alarme du type d'observation Alarme (API).

  3. Dans le Classe colonne, sélectionnez par exemple la classe d'alarme Warning Orange et spécifiez le message d'alarme souhaité sous Message.

L'alarme ID_20, qui est déclenchée via une API, est définie.

_visu_img_define_alarmconfig_ag_alarmapi.png

Vous pouvez définir une telle alarme avec n'importe quelle classe d'alarme. Les détails ne sont pas requis, ce qui signifie qu'aucune condition d'alarme n'est donnée. L'alarme est déclenchée par un appel d'API.

Implémentation d'un appel d'API

Procédure. Étape par étape
  1. Placez le curseur à la position du programme où l'appel d'API doit avoir lieu.

  2. Insérez l'appel d'API.

    Astuce

    Laissez l'assistant de saisie (F2) vous y aideront.

    Mise en œuvre

    Ce code active l'alarme ID_20 dans le groupe d'alarme Alarms1Line.

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

    Ce code désactive l'alarme ID_20 dans le groupe d'alarme Alarms1Line.

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

Alarme avec alarme (API) via une instance d'alarme

Ceci est particulièrement pertinent pour les développeurs de bibliothèques. En outre, les états d'alarme peuvent être définis explicitement par programmation via les méthodes API fournies

Définition d'une alarme avec Alarme (API) type

  1. Dans Alarm Configuration, définissez un modèle de groupe d'alarmes.

  2. Dans un groupe d'alarmes, définissez une alarme du type d'observation Alarme (API).

  3. Dans le Classe colonne, sélectionnez par exemple la classe d'alarme Warning et spécifiez le message d'alarme souhaité sous Message.

L'alarme ID_0, qui est déclenchée via une API, est définie.

Astuce

Vous pouvez également définir une alarme API dans groupe d'alarmes.

Implémentation d'un bloc fonctionnel et d'un appel d'API

Procédure. Étape par étape
  1. Ajoutez un bloc fonctionnel à votre application pour définir les états d'alarme de l'alarme nouvellement définie dans le code IEC.

    1. Sélectionnez le nœud de l'application et cliquez sur Ajouter un objetPOU commande.

    2. Configurez le POU comme suit : nom MyAlarmFB, tapez Bloc fonctionnel, langage de mise en œuvre ST.

      Déclaration

      FUNCTION_BLOCK MyAlarmFB
      VAR_INPUT
      END_VAR
      VAR_OUTPUT
      END_VAR
      VAR
      END_VAR
      
    3. Sélectionnez le POU et ajoutez le ActivateAlarm et DeactrivateAlarm méthodes.

    4. Ouvrez l'éditeur ST du ActivateAlarm méthode et programme l'appel de bibliothèque.

      Astuce

      Laissez l'assistant de saisie (F2) vous y aideront.

      Ce code active l'alarme ID_0 à partir du modèle de groupe d'alarmes.

      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. Ouvrez l'éditeur ST du DesctivateAlarm méthode et programme l'appel de bibliothèque.

      Ce code désactive l'alarme ID_0 à partir du modèle de groupe d'alarmes 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);

      Navigateur d'objets

      _visu_img_alarmapi_agt_objects.png
  2. Instanciez le bloc fonctionnel dans le modèle de groupe d'alarmes.

    1. Ouvrez l'éditeur de AlarmGroupTemplate et cliquez sur le bouton représentant une ellipse verticale dans le Type de définition de l'alarme rangée.

      L'assistant de saisie s'ouvre.

    2. En dessous Application, sélectionnez le MyAlarmFB bloc fonctionnel.

    La définition de l'alarme est instanciée.

    _visu_img_define_alarmapi_in_agt.png
  3. Implémentez l'appel API en code IEC et ajoutez les appels d'alarme aux emplacements souhaités.

    Déclaration

    PROGRAM PLC_PRG
    VAR
        alarmTemplateInstance : MyAlarmFB;
    END_VAR

    Mise en œuvre

        // Deactivate by API Call  
        alarmTemplateInstance.DeactivateAlarm();
    
        // Activate by API Call
        alarmTemplateInstance.ActivateAlarm(); 
  4. Créez les instances d'alarme.

    1. Ouvrez le Alarm Configuration éditeur et cliquez sur Instances d'alarme onglet.

    2. Cliquez sur Création ou mise à jour d'instances d'alarme bouton.

    Les instances d'alarme au sein du Alarm Configuration sont reconnus et mis à jour.

    _visu_img_alarmconfiguration_alarminstances.png