Skip to main content

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

Le Événement (API) type d'observation est fourni pour définir une alarme dans le groupe d'alarmes, entre autres. Contrairement aux types d'observation dans lesquels l'alarme est déclenchée en fonction des conditions, avec ce type d'observation, l'alarme peut être déclenchée en appelant une instance de bloc fonctionnel.

Définition de l'alarme d'événement dans le groupe d'alarmes

  1. Créer un groupe d'alarme.

  2. Définissez une alarme du type d'observation Événement (API) dans le groupe d'alarme.

  3. Dans le Classe colonne, sélectionnez une classe d'alarme avec le ACCUSÉ méthode d'accusé de réception ou créer une nouvelle classe d'alarme.

Appel de programme pour déclencher l'alarme d'événement

  1. Placez le curseur à la position du programme où l’appel du bloc de fonctions doit avoir lieu.

  2. Utilisez le RaiseEvent fonction de la AlarmManager bibliothèque:

    Saisissez « AlarmManager » suivi d’un point.

    Une fenêtre s'ouvre contenant la liste de tous les éléments insérables (fonction « Lister les composants »).

    _cds_img_autocomplete_alarms.png
  3. Sélectionner AlarmGlobals et entrez un point.

  4. De la même manière, insérez les éléments g_AlarmHandler et RaiseEvent.

    Vous obtenez la ligne suivante : Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent.

  5. Définissez maintenant les variables de transfert AlarmGroup_ID et Alarm_IDPour ce faire, entrez une parenthèse ouvrante.

    Une info-bulle apparaît, affichant des informations sur les variables de transfert

  6. Presse F2

    L'assistant de saisie s'ouvre

  7. Sur le Catégories onglet (_3_r.png), sélectionnez la catégorie Variables (_4_r.png).

    _cds_img_input_assistant_alarms.png
  8. Sélectionnez la variable d'ID de groupe souhaitée (_1_r.png).

    La variable est appliquée dans la ligne de programme.

  9. Saisissez une virgule et insérez la variable d’ID d’alarme souhaitée (2) de la même manière qu’à l’étape 7. Saisissez une parenthèse fermante et un point-virgule.

    Vous obtenez la ligne de programme suivante :

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

Déclencher des événements à partir d'instances de modèles d'alarme

Les événements provenant d'instances d'alarme peuvent être déclenchés en transmettant l'adresse de l'instance à laquelle appartient l'alarme.

Lorsque l'événement est déclenché, la variable de verrouillage qui pointe vers l'instance est automatiquement écrite correctement.

Le IAlarmHandler7 une interface avec les fonctions suivantes est fournie dans le AlarmManager bibliothèque à cet effet.

  • RaiseEventAlarmInstance

  • RaiseEventAlarmInstanceByName

Exemple 22. Exemple
_visu_alarm_group_template_example_raise_event.png

MyalarmFB bloc fonctionnel avec RaiseEvent méthode

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

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