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, le rail État, la machine d'état, la signalisation, et Acquitter et Tout acquitter.
Une alarme surveille une seule condition booléenne et pilote une machine d'état d'acquittement, pour qu'une condition qui comptait 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; lire demande Voir Logic, modifier Configurer Logic, acquitter Piloter Logic.
L'en-tête montre la marque de l'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 se signale 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 et valeur par défaut | Effet |
|---|---|---|---|
| Nom | Le nom affiché; son segment assaini est l'adresse sous Alarms. |
Texte libre; une nouvelle alarme s'appelle AlarmN. |
Se valide par le renommage sûr, comme le nom d'une variable : un aperçu des références qui suivent, Entrée ou la sortie du champ pour valider, « Alarme renommée et N références mises à jour. » Le renommage conserve l'état vivant et un acquittement en attente. Un nom en collision 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 surveillée
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 chaque règle des expressions : une seule expression en lecture seule, des adresses statiques, la barrière 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 pendant un cycle (un point référencé de mauvaise qualité, manquant ou vide) est une incertitude : la machine d'état conserve son dernier état.
Comportement
| Champ | Ce que c'est | Valeurs et valeur par défaut | Effet |
|---|---|---|---|
| Priorité | La gravité. | Critique, Haute, Moyenne (par 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ésumé, par la carte de notification, par le journal et par l'indicateur de la barre d'état; sur les marques partagées, c'est la pire priorité en attente qui l'emporte. |
| Notification | Comment une activation se signale au-delà de l'indicateur toujours présent de la barre d'état. | Persistante (par défaut), Temporisée, Barre d'état. L'infobulle du champ : « Persistante = carte jusqu'à l'acquittement ou au retour à la normale; Temporisée = carte pendant quelques secondes; Barre d'état = indicateur de la barre d'état seulement. » | Voir Signalisation. |
| Retard à la montée (ms) | Combien de temps la condition doit rester vraie avant que l'alarme ne monte. | Un entier positif ou nul; 0 fait monter tout de suite. | Du temps observé sans interruption, à la résolution du cycle de 100 ms. |
| Retard à la retombée (ms) | Combien de temps la condition doit rester fausse avant que l'alarme ne retombe. | Un entier positif ou nul; 0 fait retomber tout de suite. | 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 du système indiquent « <Message> (Priorité) »; sans message, « Une alarme <Priorité> est active. » |
| Exige un acquittement : 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 se mémorise jamais 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 (en ms; la résolution est le cycle de 100 ms). » Un retard est du temps observé sans interruption : tant que la condition ne peut pas être évaluée, les deux horloges de retard repartent de zéro, si bien qu'une fenêtre aveugle n'est jamais portée au crédit d'une montée ou d'une retombée.
Enregistrer un changement de la condition, d'un retard, de Exige un acquittement ou de Activée remet la machine à Normale (un état périmé, celui d'une autre règle, mentirait); la remise à zéro est journalisée sous la source Configuration et ferme la carte de notification 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 persistant 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 qui n'exige jamais d'acquittement). |
| 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 monter l'alarme de Normale, ou de Retombée, non acquittée, vers Active, non acquittée (directement vers Active, acquittée quand Exige un acquittement est désactivé). Une condition qui tient fausse pendant tout le retard à la retombée la fait retomber : vers Normale quand elle est déjà acquittée, vers Retombée, non acquittée sinon. L'acquittement fait passer de 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 part de Normale et le premier cycle redérive 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 qu'en soit l'origine (le cycle, un acquittement, une remise à zéro à l'enregistrement, une désactivation ou une suppression), est journalisée et enregistrée dans l'historique durable 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 la nature de la notification qui décide :
| Notification | Comportement |
|---|---|
| Persistante | Une carte de notification à la montée, intitulée par le nom de l'alarme et colorée par la 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. Elle reste jusqu'à ce que l'alarme soit acquittée ou revienne à Normale; la mémorisation Retombée, non acquittée la garde à l'écran, et une remontée la remplace. |
| Temporisée | La même carte, qui se retire d'elle-même après 8 secondes. |
| Barre d'état | Aucune carte et aucune notification du système; seulement l'indicateur de la barre d'état. |
Retirer une carte à la main n'est pas un acquittement. Pendant que la fenêtre est masquée dans la zone de notification ou réduite, une activation Persistante ou Temporisée lève aussi une notification du système avec le même texte.
Acquitter
Acquitter 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, le bouton Acquitter de la carte de notification, la page Événements, un Bandeau d'alarme sur un 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 de portée.
| 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 toutes les alarmes qui ont quelque chose en attente, en un seul élément de file; le journal des actions indique « Toutes les alarmes ont été acquittées. » | « Aucune alarme n'attend de réponse. » quand rien n'est en attente; « 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 ne se résolvent plus. |
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 persisté d'un redémarrage à l'autre, et aucune évaluation pendant que l'alarme est désactivée ou que le runtime est arrêté. Une alarme n'est pas une occurrence de Process : celles-ci se configurent et se jugent sur la page Process.