Skip to main content

Affichage d'alarme en mode en ligne

En mode en ligne, vous pouvez influencer la manière dont les alarmes sont affichées des manières suivantes :

Filtrage des alarmes par la valeur des variables de verrouillage qui fournissent des informations spécifiques sur l'alarme

Utilisation de variables de verrouillage pour filtrer les événements d'alarme

Affichage des événements d'alarme pour une période de temps explicitement définie

Affichage des événements d'alarme pour une heure spécifique

Suppression de l'historique des alarmes

Suppression de l'historique des alarmes

Dans la bannière d'alarme : faire défiler les alarmes actives

Ajout d'éléments pour faire défiler les alarmes actives

Les messages ne sont pas enregistrés en tant que copie dans l'historique.

Effet : Si vous apportez une petite modification à un message (par exemple, corriger une faute de frappe), cette modification aura un effet sur l'historique, car le message corrigé y sera désormais affiché. Cependant, si vous reconfigurez complètement l'alarme (modifiez son état ou sa condition et mettez à jour le message), toutes les alarmes précédentes enregistrées en raison d'une configuration obsolète recevront le nouveau message dans l'historique. Vérifiez au cas par cas s'il n'est pas préférable d'ajouter une nouvelle alarme plutôt que de mettre à jour l'alarme obsolète.

Pour plus d'informations, voir : Évaluation des informations d'alarme dans le code du programme

Utilisation de variables de verrouillage pour filtrer les événements d'alarme

Le filtrage par le contenu d'une variable de verrouillage peut être utile lorsque de nombreux événements d'alarme sont affichés. Si la variable de verrouillage affectée à une alarme dans sa définition contient, par exemple, le numéro d'erreur ou le nom d'une instance de périphérique, l'opérateur peut filtrer les alarmes dans la visualisation en fonction de celle-ci. L'opérateur spécifie une valeur, et cette valeur est comparée aux valeurs des variables de verrouillage des alarmes. Le type de valeur pouvant être spécifié est contrôlé par une variable de type de filtre.

  1. Dans l'application, définissez une variable qui obtient la valeur par laquelle les alarmes peuvent être filtrées ultérieurement.

    Exemple de saisie d'un identifiant d'erreur : PLC_PRG.sFilter : STRING;

  2. Dans la configuration des alarmes individuelles, attribuez une ou plusieurs variables de verrouillage qui contiennent des informations supplémentaires sur l'alarme.

    Exemple de la température actuelle du moteur : rEngineTemperature

    Pour la vitesse actuelle : rEngineSpeed

    Pour l'ID d'erreur : strError

    Vous pouvez également utiliser plus de deux variables de verrouillage par défaut pour obtenir des informations supplémentaires sur l'alarme. Pour ce faire, utilisez le menu contextuel pour insérer des colonnes supplémentaires dans le tableau de l'éditeur de groupe d'alarmes.

  3. Définissez une variable entière supplémentaire pour définir le type de filtre que l'utilisateur de visualisation peut spécifier pour filtrer les alarmes et comment cela est interprété.

    Exemple: eFiltType : VisuElemsAlarm.EFilterLatchContent;

    EfilterLatchContent est une énumération définie dans la bibliothèque AlarmManager avec les types de filtres suivants :

    • 0: Pas de filtrage

    • 1  : Filtrage par alarmes dont la variable de verrouillage 1 contient la chaîne spécifiée dans la variable de filtre.

      Par exemple, vous pouvez rechercher 'Error 1' (variable de filtre) dans les variables de verrouillage (type STRING).

    • 2: Filtrage par alarmes dont la variable de verrouillage 1 contient le littéral typé spécifié dans la variable de filtre conformément à la norme IEC 61131-3.

      Vous pouvez rechercher T#1h2s, DINT#15, REAL#1.5, ou FALSE.

    • 3: Filtrage par alarmes dont la variable de verrouillage 1 contient le LINT valeur littérale spécifiée dans la variable de filtre. Par conséquent, la valeur des variables de verrouillage doit être comprise entre 9 223 372 036 854 775 808 et 9 223 372 036 854 775 807.

    • Pour toutes les autres valeurs, le comportement n'est actuellement pas défini.

    Seules les alarmes correspondant au critère de recherche spécifié dans la variable de filtre dans les variables de verrouillage sont affichées.

  4. Configurez une option d'entrée dans la visualisation d'alarme pour le contenu de la variable de verrouillage à filtrer. Par exemple, ajoutez un champ de saisie dans lequel l'utilisateur peut saisir la valeur à filtrer. Pour ce faire, utilisez une configuration d'entrée avec l'option Écrire une variable action et entrez la variable de filtre PLC_PRG.sFilter défini à l'étape 1 ci-dessus. Exemple : PLC_PRG.sFilter. Ensuite, la visualisation d’alarme lit ceci comme une variable de filtre.

    Dans les propriétés de l'élément de visualisation d'alarme, dans le Configuration d'alarmeFiltrer par verrou 1Variable de filtre propriété, entrez cette variable en conséquence (exemple : entrez PLC_PRG.sFilter encore).

    Astuce

    Dans l'éditeur de groupe d'alarmes, vous pouvez modifier la définition des textes des messages d'alarme pour inclure l'entrée de la valeur de la variable de verrouillage.

    Pour plus d'informations, voir : Configuration d'alarme

  5. Dans la même procédure, dans la visualisation, configurez une capacité d'entrée pour le type de filtrage (eFiltType). Par exemple, insérez un autre élément d'entrée. Au moyen de cet élément, la variable qui existe dans le Type de filtre propriété de la configuration de la table d'alarme ou de la bannière d'alarme.

    Comportement en cas d'alarme non acquittée

    Si une variable de verrouillage est utilisée dans le groupe d'alarmes dans la configuration d'alarme (par exemple, pour un INT variable d'un message d'erreur paramétré), alors la valeur actuelle de la INT La variable latch est archivée dans la variable latch. La valeur archivée ne change à nouveau qu'après acquittement du message d'erreur correspondant. La valeur d'une variable latch est toujours mise à jour lorsque l'alarme passe à l'état actif.

    En conséquence, plusieurs messages d'erreur consécutifs qui n'ont pas encore été acquittés reçoivent la valeur archivée incorrecte. Cela s'applique non seulement lors de la transition initiale vers l'état actif, mais également lorsqu'une nouvelle alarme est déclenchée, par exemple.

Affichage des événements d'alarme pour une heure spécifique

Dans de nombreux cas, on sait à quelle période les problèmes se sont produits et ceux-ci ont été enregistrés comme alarmes. Il peut alors être utile d'afficher uniquement les alarmes qui se sont produites au cours de la période spécifiée. Les informations importantes sont affichées de manière optimale et trouvées plus rapidement.

Dans la visualisation des alarmes, vous configurez deux options d'entrée pour les variables, qui se trouvent dans la configuration de l' Tableau d'alarme ou Bannière d'alarme éléments, dans le Configuration d'alarmeVariable de filtre, de et Variable de filtre, à propriété.

De plus, vous configurez un champ de saisie pour la variable entière qui permet (valeur : 1) ou désactive (valeur : 0) le filtrage. Cette variable doit être spécifiée dans la configuration du Tableau d'alarme ou Bannière d'alarme éléments, dans le Configuration d'alarmeType de filtre propriété.

Suppression de l'historique des alarmes

Vous pouvez insérer dans la visualisation un élément d'entrée qui permet à l'utilisateur de supprimer l'historique des alarmes précédemment enregistrées lors de l'exécution. L'historique affiché jusqu'alors est supprimé et l'affichage recommence.

  1. Dans l'application (exemple : dans le programme PLC_PRG), implémentez le code suivant :

    itfAlarmConfiguration : AlarmManager.IAlarmConfiguration;
    itfAlarmConfiguration7 : AlarmManager.IAlarmConfiguration7;
    xKeepActiveAlarms : BOOL := TRUE;
    xClearHistory: BOOL;
    IF xClearHistory THEN
        FOR i := 0 TO AlarmGlobals.g_AlarmHandler.AlarmConfigurationCount - 1 DO
            itfAlarmConfiguration := AlarmGlobals.g_AlarmHandler.GetAlarmConfiguration(i);
            IF __QUERYINTERFACE(itfAlarmConfiguration, itfAlarmConfiguration7) THEN
                itfAlarmConfiguration7.ClearHistory(xKeepActiveAlarms := xKeepActiveAlarms);
            END_IF
        END_FOR
    END_IF                            

    Quand xClearHistory obtient la valeur TRUE, l'historique actuel sera supprimé.

    Recommandation:

    xKeepActiveAlarms devrait être réglé sur TRUE afin que les alarmes actives soient exclues de l'opération de suppression. Dans le cas contraire, l'enregistrement ultérieur ne sera pas interrompu, mais les sorties du journal pourront changer avec d'autres transitions d'état.

  2. Dans la visualisation des alarmes, ajoutez un bouton pour supprimer l'historique. Configurez son Basculer propriété avec la variable PLC_PRG.xClearHistory.