Alarmes
L'éditeur d'alarme : identité et adresse, la condition, la carte Comportement avec la priorité, la notification, les retards, le message et l'acquittement obligatoire, le rail État, la machine d'état, la signalisation, et Acquitter et Tout acquitter.
Une alarme surveille une condition booléenne et pilote une machine d'état d'acquittement, pour qu'une condition qui a compté ne puisse jamais aller et venir sans être vue. Sélectionnez une alarme sous la racine Alarmes de la colonne Logic (ou créez-en une avec Nouveau… > Nouvelle alarme) pour ouvrir son éditeur ; la lecture demande Voir Logic, la modification Configurer Logic, l'acquittement Piloter Logic.
L'en-tête montre la marque d'alarme (qui sonne tant que l'alarme est active), le nom, la ligne « Une condition que cette station surveille : tant qu'elle tient, l'alarme s'annonce et attend d'être acquittée. », un badge portant l'état courant (Normale ; Active, non acquittée ; Active, acquittée ; Retombée, non acquittée) et un badge Désactivée tant que l'alarme est éteinte. La colonne du formulaire porte IDENTITÉ, CONDITION SURVEILLÉE et COMPORTEMENT ; le rail porte ÉTAT.
Identité
| Champ | Ce que c'est | Valeurs / défaut | Effet |
|---|---|---|---|
| Nom | Le nom affiché ; son segment assaini est l'adresse sous Alarms. |
Texte libre ; une nouvelle alarme s'appelle AlarmN. |
Validé par le changement de nom sûr, comme le nom d'une variable : un aperçu des références qui suivront, Entrée ou sortie du champ pour valider, « Alarme renommée et N références mises à jour. » Le changement de nom conserve l'état vivant et un acquittement en attente. Un nom déjà pris est refusé sur place. |
| Ligne d'adresse | Alarms.<dossiers>.<segment>, rappelée sous le nom. |
Lecture seule. | Les expressions et les scripts lisent l'état de l'alarme par cette adresse (Alarms.HighLevel.IsActive). |
| Description (facultative) | Texte libre. | Vide. | Aucun. |
Condition
La carte CONDITION SURVEILLÉE est l'éditeur de script avec l'indication « Une seule expression JavaScript booléenne sur l'espace d'adressage, par exemple Connector.Simulated.Pump.Temp.ValueToReal() > Variables.SetpointHigh.ValueToReal(). Une condition ne peut pas référencer d'autres alarmes. » La condition suit toutes les règles des expressions : une seule expression en lecture seule, des adresses statiques, le filtre de qualité, la limite de 250 ms. Elle peut référencer des tags, des variables des deux natures, des points Process, des ressources et les diagnostics, jamais Alarms.*, et elle doit produire un booléen (« La condition doit s'évaluer en booléen, mais elle a produit « … ». »). Une condition qui ne peut pas être évaluée lors d'un cycle (un point référencé mauvais, absent ou vide) est une incertitude : la machine d'état conserve son dernier état.
Comportement
| Champ | Ce que c'est | Valeurs / défaut | Effet |
|---|---|---|---|
| Priorité | La gravité. | Critique, Haute, Moyenne (défaut), Basse ; chaque option est dessinée dans la couleur de sa gravité. | Portée par le point de l'arborescence, par chaque récapitulatif, par le bandeau passager, par le journal et par l'indicateur de la barre d'état ; sur les marques partagées, la pire priorité en attente l'emporte. |
| Type de notification | Comment une activation s'annonce au-delà de l'indicateur toujours présent de la barre d'état. | Persistante (défaut), Temporisée, Barre d'état. L'infobulle du champ : « Comment une activation s'annonce : Persistante = bandeau passager jusqu'à l'acquittement ou au retour à la normale ; Temporisée = bandeau passager pendant quelques secondes ; Barre d'état = indicateur dans la barre d'état seulement. » | Voir Signalisation. |
| Retard à la montée (ms) | Combien de temps la condition doit tenir vraie avant que l'alarme ne monte. | Un entier positif ou nul ; 0 monte immédiatement. | Du temps observé continu, à la résolution du cycle de 100 ms. |
| Retard à la retombée (ms) | Combien de temps la condition doit tenir fausse avant que l'alarme ne retombe. | Un entier positif ou nul ; 0 retombe immédiatement. | La même résolution. |
| Message (affiché tant qu'elle est active, facultatif) | Le texte que porte la signalisation. | Texte libre, vide. | La carte et la notification système affichent « <Message> (Priorité) » ; sans message, « Alarme <priorité> active. » |
| Acquittement obligatoire : une alarme retombée reste mémorisée jusqu'à l'acquittement de l'opérateur | Si une activation exige une réponse. | Activé par défaut. | Désactivé : l'alarme monte directement à Active, acquittée et retombe directement à Normale ; elle se signale, mais ne mémorise jamais rien et n'attend jamais. |
Un retard négatif ou qui ne s'interprète pas conserve la valeur enregistrée et affiche « Les retards doivent être des entiers positifs ou nuls (ms ; la résolution est le cycle de 100 ms). » Un retard est du temps observé continu : tant que la condition ne peut pas être évaluée, les deux chronomètres repartent de zéro, si bien qu'une fenêtre aveugle n'est jamais comptée pour une montée ni pour une retombée.
Enregistrer une modification de la condition, d'un retard, de l'acquittement obligatoire ou de l'activation remet la machine à Normale (un état hérité d'une autre règle mentirait) ; la remise à zéro est journalisée sous la source Configuration et ferme le bandeau passager de l'alarme. Changer le nom, la description, la priorité, le message ou la notification, ou reclasser l'alarme dans un autre dossier, conserve l'état.
Le rail État
ÉTAT montre l'état courant en toutes lettres, « Priorité : <priorité> », Actif depuis (un tiret tant que la condition n'est pas présente) et Dernière transition (un tiret avant le premier changement d'état), et la note « Chaque transition apparaît sur la page Événements et dans l'historique permanent des alarmes. L'état d'une alarme vit dans l'espace d'adressage, par exemple Alarms.X.IsActive dans une expression ou un script. » Le volet de la racine Alarmes liste chaque alarme avec « <état> · <priorité> · depuis <quand> » dans sa colonne Valeur et un bouton Acquitter par ligne.
La machine d'état
| État | Sens |
|---|---|
| Normale | Condition fausse, rien en attente. |
| Active, non acquittée | Condition vraie, pas encore acquittée. |
| Active, acquittée | Condition vraie, acquittée (ou alarme sans acquittement obligatoire). |
| Retombée, non acquittée | La condition est revenue à la normale sans acquittement : mémorisée jusqu'à ce que l'opérateur acquitte. |
Une condition qui tient vraie pendant tout le retard à la montée fait passer l'alarme de Normale ou de Retombée, non acquittée à Active, non acquittée (directement à Active, acquittée quand l'acquittement obligatoire est désactivé). Une condition qui tient fausse pendant tout le retard à la retombée la fait retomber : à Normale si elle est déjà acquittée, à Retombée, non acquittée sinon. L'acquittement fait passer Active, non acquittée à Active, acquittée et libère la mémorisation vers Normale. Le cycle évalue les variables d'abord et les alarmes ensuite, toutes les 100 ms, sur la file de la logique. L'état d'une alarme vit en mémoire : après un redémarrage, chaque machine repart de Normale et le premier cycle rétablit la réalité à partir des conditions vivantes, si bien qu'une mémorisation ou un acquittement en attente ne survit pas à un redémarrage. Chaque transition, quelle que soit son origine (le cycle, un acquittement, une remise à zéro à l'enregistrement, une désactivation, une suppression), est journalisée et enregistrée dans l'historique permanent des alarmes de la page Événements.
Signalisation
La barre d'état de la fenêtre porte toujours le compte et la pire gravité en attente (la fenêtre). Au-delà, c'est le type de notification qui décide :
| Notification | Comportement |
|---|---|
| Persistante | Un bandeau passager à la montée, titré du nom de l'alarme et coloré par sa priorité (Critique en erreur, Haute et Moyenne en avertissement, Basse en information), portant Acquitter tant qu'elle n'est pas acquittée et Ouvrir les alarmes. Il reste jusqu'à l'acquittement de l'alarme ou son retour à Normale ; la mémorisation Retombée, non acquittée le maintient à l'écran, et une nouvelle montée le remplace. |
| Temporisée | La même carte, qui s'efface d'elle-même au bout de 8 secondes. |
| Barre d'état | Aucune carte et aucune notification système ; seulement l'indicateur de la barre d'état. |
Effacer une carte à la main n'est pas un acquittement. Tant que la fenêtre est réduite dans la zone de notification ou dans la barre des tâches, une activation Persistante ou Temporisée lève aussi une notification système portant le même texte.
Acquitter
L'acquittement est une commande de pilotage et se fait partout où l'alarme vous rencontre : le verbe Acquitter au-dessus d'une alarme ouverte, Tout acquitter au-dessus de la racine Alarmes, le bouton Acquitter de chaque ligne du volet de la racine Alarmes, l'entrée Acquitter du clic droit sur une ligne d'alarme, l'Acquitter du bandeau passager, la page Événements, un Bandeau d'alarmes de tableau de bord, et l'agent (journalisé comme MCP). Chaque acquittement emprunte la file de la logique, est journalisé avec sa source, et ferme la carte de l'alarme.
Où qu'elle apparaisse, la réponse n'est offerte que là où il y en a une à donner. Une alarme Normale ou déjà acquittée garde son verbe en place, grisé, avec « Cette alarme n'attend aucune réponse. » ; Tout acquitter sur un registre où rien n'attend indique « Aucune alarme n'attend de réponse. ». Et le journal des actions ne confirme que ce qui a bougé : presser une réponse qui ne change rien répond la même phrase, jamais « Acquittée. », parce qu'un journal de station qui enregistre un geste d'opérateur que personne n'a fait est pire qu'un verbe brièvement hors d'atteinte.
| Commande | Ce qu'elle fait | Grisée quand | Non dessinée quand |
|---|---|---|---|
| Acquitter | Acquitte l'alarme ouverte ; le journal des actions indique « Acquittée. » | « Cette alarme n'attend aucune réponse. » quand elle est Normale ou déjà acquittée ; « Runtime arrêté » en lecture seule. | Le rôle n'a pas Piloter Logic. |
| Tout acquitter | Acquitte chaque alarme qui a quelque chose en attente, en un seul passage de file ; le journal des actions indique « Toutes les alarmes ont été acquittées. » | « Aucune alarme n'attend de réponse. » quand rien n'attend ; « Runtime arrêté » en lecture seule. | Le rôle n'a pas Piloter Logic. |
| Activer / Désactiver | Bascule Activée ; désactiver remet la machine à Normale et arrête l'évaluation. | Station verrouillée ou en lecture seule. | Le rôle n'a pas Configurer Logic. |
| Copier | Duplique l'alarme à la racine Alarmes sous un nom libre ; la copie démarre à Normale. | Station verrouillée ou en lecture seule. | Le rôle n'a pas Configurer Logic. |
| Supprimer l'alarme | Demande « Supprimer « X » ? Cela retire l'alarme. Cette action est irréversible. », remet d'abord la machine à zéro (pour qu'une signalisation ne survive jamais à son alarme) puis la retire ; les références à Alarms.X deviennent non résolues. |
Station verrouillée ou en lecture seule. | Le rôle n'a pas Configurer Logic. |
Ce que les alarmes ne font pas
Aucune hystérésis ni bande morte au-delà de ce que la condition exprime, aucune mise en veille, aucun son, aucun acquittement depuis un script, aucun état conservé d'un redémarrage à l'autre, et aucune évaluation tant que l'alarme est désactivée ou le runtime arrêté. Une alarme n'est pas une occurrence Process : celles-ci se configurent et se jugent sur la page Process.