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
Créer un groupe d'alarme.
Définissez une alarme du type d'observation Événement (API) dans le groupe d'alarme.
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
Placez le curseur à la position du programme où l’appel du bloc de fonctions doit avoir lieu.
Utilisez le
RaiseEvent
fonction de laAlarmManager
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 »).
Sélectionner
AlarmGlobals
et entrez un point.De la même manière, insérez les éléments
g_AlarmHandler
etRaiseEvent
.Vous obtenez la ligne suivante :
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent
.Définissez maintenant les variables de transfert
AlarmGroup_ID
etAlarm_ID
Pour ce faire, entrez une parenthèse ouvrante.Une info-bulle apparaît, affichant des informations sur les variables de transfert
Presse F2
L'assistant de saisie s'ouvre
Sur le Catégories onglet (
), sélectionnez la catégorie Variables (
).
Sélectionnez la variable d'ID de groupe souhaitée (
).
La variable est appliquée dans la ligne de programme.
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

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