Section : alg.Alarme
La section SEC alg.Alarm
décrit une alarme de module. Une alarme de module correspond essentiellement à une alarme du CODESYS gestion des alarmes qui a été configurée dans un groupe d'alarmes. Cependant, une alarme de module contient toujours des ajouts spécifiques au module.
Pour plus d'informations, consultez le Déclaration du module chapitre et Objet : Alarm Group
spécification
SEC alg.Alarm //optional: yes, modifier: [UPDATE] SEC SetAlarm <alarm identifier> //optional: yes, modifier [UPDATE] Class := <class name>; //optional: no, type: ID Message := <TextlistEntry>; //optional: no, type: TextListEntry LatchVar1 := <LatchVariable1>; //optional: yes, type: InstancePath LatchVar2 := <LatchVariable2>; //optional: yes, type: InstancePath Deactivation := <DeactivationVariable>; //optional: yes, type: InstancePath PendingTime := <PendingTime>; //optional: yes, type: LiteralOrConstant PendingTimeParameter := <string> //optional: no, type: literal/string HigherPrioAlarm := <HigherPrioAlarm_ID>; //optional: yes, type: ID ModuleCalls := <ModuleCallFlags>; //optional: yes, type: ModuleCallFlag SEC Messages : <alarm identifier> //optional: yes, modifier: [UPDATE] Message := <TextlistEntry>; //optional: no, type: TextListEntry Number := <ColumnNumber>; //optional: no, type: Literal END_SEC SEC LatchVar <latch var identifier> //optional: yes, modifier [UPDATE] LatchVar := <LatchVariable>; //optional: no, type: InstancePath Number := <LatchVarNumber> //optional: no, type: LiteralOrConstant END_SEC SEC UpperLimit //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String IncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool UpperExpression := <UpperExpression>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC LowerLimit //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String IncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool LowerExpression := <LowerExpression>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC InsideRange //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String AreaLow := <AreaLowValue>; //optional: no, type: Literal/String LowIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool HighIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool AreaHigh := <AreaHighValue>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC OutsideRange //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String AreaLow := <AreaLowValue>; //optional: no, type: Literal/String LowIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool HighIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool AreaHigh := <AreaHighValue>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC Digital //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String Equal := TRUE/FALSE; //optional: no, type: FlagBool EqualsExpression := <Expression>; //optional: no, type: Literal/String END_SEC SEC Change //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String END_SEC SEC Event //optional: yes, modifier: [UPDATE] END_SEC END_SEC END_SEC
| Les sous-sections de |
| Nom de la classe d'alarme sous laquelle l'alarme sera créée. Si cette classe d'alarme existe déjà dans l'application, l'alarme sera créée sous cette classe. Si cette classe n'existe pas, un objet modèle de classe d'alarme est recherché, qui doit être présent dans la POU voir. Si aucun objet de modèle de classe d'alarme approprié n'est trouvé, une erreur est émise lors de l'analyse du module. |
| ID (de la forme Le message référencé par l'ID peut contenir les mêmes espaces réservés que le texte dans une configuration d'alarme. Par exemple, des espaces réservés tels que Si une entrée de liste de textes spécifiée est introuvable, un avertissement est émis pendant l'analyse. Correspond à la Un message réglage dans le Groupe d'alarme objet. |
| Variables d'espace réservé Dans le cas présent d'alarmes spécifiques au module, les variables ne peuvent être spécifiées que directement à partir du bloc fonctionnel du module (tout comme les variables sont spécifiées dans la déclaration du module, par exemple pour les paramètres) Correspond aux paramètres Variable de verrouillage 1 / Variable de verrouillage 2 pour les espaces réservés |
| Variable de désactivation (
Si le type de la variable saisie n'est pas Correspond à la Désactivation réglage dans le Groupe d'alarme objet. |
| Temps d'attente minimal. Définit la durée avant que l'alarme ne se déclenche après avoir atteint ses limites. Exemple: Correspond au réglage Min. temps d'attente dans le Groupe d'alarme objet. |
| Paramètre pour définir le temps d'attente minimum La valeur attribuée au paramètre est une chaîne qui peut être interprétée comme une heure. Ou aussi comme une expression composée de paramètres de module et de littéraux temporels. . Exemple:
|
| ID des alarmes de priorité supérieure Pour identifier l'alarme sous laquelle l'alarme actuelle doit être classée, un ID cible d'un Correspond au réglage Priorité plus élevée. alarme dans le Groupe d'alarme objet. |
| Pour la gestion des alarmes spécifiques au module, les FB de module peuvent offrir des interfaces spécifiques qui peuvent être appelées en cas d'alarme de module. Les drapeaux définissent dans quels cas cela se produira. . Disponible ModuleCallFlags :
Les FB de module qui seront appelés par cet indicateur doivent implémenter le Si la |
| La sous-section gère la même tâche que la
|
| Verrouiller les variables. Jusqu'à 10 variables de verrouillage peuvent être définies dans cette section. Si, en plus de cette rubrique,
|
| Conditions d'alarme pour les alarmes qui se déclenchent si les limites supérieures ou inférieures sont franchies. La section ne peut apparaître qu'une seule fois sous le
Correspond aux réglages Limite supérieure / Limite inférieure pour les types d'observation dans Groupe d'alarme objet. |
| Conditions d'alarme pour les alarmes qui se déclenchent si une expression est à l'intérieur ou à l'extérieur d'une certaine plage de valeurs. La section ne peut apparaître qu'une seule fois sous le
Correspond aux paramètres À l'intérieur de la plage / Hors plage pour les types d'observation dans Groupe d'alarme objet. |
| Alarme déclenchée si deux expressions sont comparées l'une à l'autre. La section ne peut apparaître qu'une seule fois sous le
Correspond au type d'observation Numérique dans le Groupe d'alarme objet. |
| Alarme déclenchée si une expression change de valeur. La section ne peut apparaître qu'une seule fois sous le
Correspond au type d'observation Changement dans le Groupe d'alarme objet. |
| Détermine que la section d'alarme actuelle crée une alarme d'événement. Cette alarme peut être déclenchée par la fonction |
Exemple
SEC SetAlarm : ValueRange Class := Error; Message := TL.Alarm_Temperature; LatchVar1 := rAlarmValueLow; LatchVar2 := rAlarmValueHigh; ModuleCalls := THIS | PARENTS; SEC Messages : msg2 Message := TL.msg5_Message; Number := 5; END_SEC SEC OutsideRange Expression := 'rValue'; AreaLow := 'rAlarmValueLow'; LowIncludeBorder := TRUE; HighIncludeBorder := TRUE; AreaHigh := 'rAlarmValueHigh'; END_SEC END_SEC
PendingTime
SEC alg.Alarm SEC SetAlarm : NoVar Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'NoVar'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : WithVar Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'WithVar'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : SimpleMath Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'WithVar - NoVar + TIME#5S'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : NoParam Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTime := TIME#5S; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC END_SEC