afficher la liste des articles
WinCC -- Configuration des alarmes et messages -- Affichage des messages et alarmes utilisant Alarm Control
Comment importer une sélection d'alarmes pour le contrôle d'alarmes WinCC ?
Pourquoi, dans WinCC, des espaces sont-ils affichés au début d'une variable associée de procédé (Text) et qu'à la fin de cette variable, les caractères sont tronqués ?
Comment modifier les couleurs des messages dans le contrôle d'alarmes, également en Runtime, indépendamment des paramètres de l'Alarm logging?
Comment sélectionner des alarmes dans le contrôle d'alarmes WinCC ?
Commentdifférencier le traitement des messages dans la liste des messages et dans les archives ?
Les alarmes de dépassement de seuil restent signalées bien que les limites ne soient pas atteintes.
Comment afficher le dernier message dans la première ligne dans l'AlarmOCX ?
Que faire quand des alarmes ne sont pas affichées en Runtime?
Comment afficher un texte de message sur plusieurs lignes dans Alarm Control ?
Comment afficher les alarmes dans l'objet WinCC Alarm Control?
Comment afficher l'utilisateur connecté et le nom d'ordinateur dans la liste des messages de WinCC ?
Comment utiliser la propriété "MsgFilterSQL" du contrôle d'alarmes pour filtrer les alarmes avec les requêtes SQL?
Comment n'afficher que certains messages en Runtime dans Alarm Control de WinCC ?
Comment utiliser la fonction standard "AXC_SetFilter()" ?
Comment est défini le format d'affichage de la valeur d'une variable WinCC associée à un bloc texte utilisateur en Runtime dans une alarme?
Comment peut-on filtrer les messages en fonction des serveurs dans WinCC Alarm Control ?
Comment afficher ou imprimer le contenu du commentaire d'une alarme (commentaire, Ordinateur, Utilisateur)?
Pourquoi les titres des colonnes dans le WinCC Alarm Control ne sont-ils pas correctement affichés en Runtime ?
Comment modifier la largeur des colonnes des blocs d'alarme avec la souris dans l'Alarm Control de WinCC au moment de la configuration dans le Graphics Designer ou pendant le Runtime ?
Pourquoi ne voit-on que les 1000 messages les plus récents dans la fenêtre d'archive alors qu'il y en a plus dans l'archive ?
Quelle est la signification du paramétrage réalisé dans "Adopter les réglages du projet" dans l'onglet des blocs d'alarmes lors de la configuration du WinCC Alarm Control ?
OS - WinCC -- Configuration des alarmes et messages -- Affichage des messages et alarmes utilisant Alarm Control
Comment sélectionner des alarmes dans le contrôle d'alarmes WinCC ?
Que vous devez faire, si dans les serveurs OS redondants l'indication de l'origine manque dans le message ?
Longueur du texte de message 'Provenance' dans l'AlarmLogging
Déterminer le nombre de messages dans WinCC
Comment afficher les alarmes dans l'objet WinCC Alarm Control?
Liste des messages sous PCS 7 V5.x et V6
Comment n'afficher que certains messages en Runtime dans Alarm Control de WinCC ?
Comment utiliser la fonction standard "AXC_SetFilter()" ?
Comment peut-on filtrer les messages en fonction des serveurs dans WinCC Alarm Control ?
Quelle est la signification du paramétrage réalisé dans "Adopter les réglages du projet" dans l'onglet des blocs d'alarmes lors de la configuration du WinCC Alarm Control ?
Comment afficher ou imprimer le contenu du commentaire d'une alarme (commentaire, Ordinateur, Utilisateur)?
Comment utiliser la fonction standard "AXC_SetFilter()" ?
Nº de référence:

Guide :
Cet article montre l'utilisation de la fonction standard "AXC_SetFilter()" pour appliquer les filtres de messages suivants au WinCC Alarm Control. A l'aide d'un filtre, ne seront affichés que les messages :

  • des classes "Alarme", "Avertissement" ou "alarme de contrôle-commande AS".
  • qui contiennent la chaîne de caractères "TI4711" dans le bloc de texte utilisateur tb 1 ("Herkunft").
  • qui contiennent la chaîne de caractères "area1" dans le bloc de texte utilisateur tb2 ("Bereich").
  • qui ne sont pas masqués par "Alarm Hiding" (la fonctionnalité Alarm Hiding est disponible à partir de WinCC V6.2).

La figure suivante montre le script associé.


Figure 01
 

Le script peut être téléchargé sous forme de fichier texte et d'action exportée.

WinCC_AXC_SetFilter.zip ( 3 KB )

Le tableau suivant vous explique les lignes de programme importantes.
 
Description
1 "memset(&scSelect , 0, sizeof(scSelect));"
La fonction C interne "memset()" réinitialise la structure du filtre. La mémoire occupée par la structure est initialisée avec des 0.

"memset(&scError , 0, sizeof(scError));"
La fonction C interne "memset()" réinitialise la structure d'erreur. La mémoire occupée par la structure est initialisée avec des 0.

2 "strcpy (scSelect.szFilterName, "MySelection");"
La fonction "strcpy()" affecte le nom "MySelection" pour l'élément "szFilterName" de la structure de filtre. Ce nom est libre et n'a aucune influence sur l'action réelle du filtre.
3 "scSelect.dwFilter = MSG_FILTER_CLASS | MSG_FILTER_TEXT | MSG_FILTER_VISIBLEONLY ;"
Les constantes "MSG_FILTER_CLASS", "MSG_FILTER_TEXT" et "MSG_FILTER_VISIBLEONLY" sont reliées bit à bit avec un "OU" et affectées à l'élément de structure "dwFilter". L'élément "dwFilter" indique alors que le filtre s'applique aux classes et aux bocs de textes utilisateur. La constante "MSG_FILTER_VISIBLEONLY" permet de n'afficher que les messages qui ne sont pas masqués par "Alarm Hiding".

Notes :

  • "MSG_FILTER_HIDDENONLY" et "MSG_FILTER_VISIBLEONLY"
    • Vous pouvez utiliser la constante "MSG_FILTER_HIDDENONLY" pour n'afficher que les messages qui sont masqués par "Alarm Hiding".
    • Les constantes "MSG_FILTER_HIDDENONLY" et "MSG_FILTER_VISIBLEONLY" sont disponibles à partir de WinCC V6.2.
    • Si vous n'utilisez ni la constante "MSG_FILTER_HIDDENONLY" ni la constante "MSG_FILTER_VISIBLEONLY", ce sont les messages masqués et les messages non masqués qui sont affichés.
  • "MSG_FILTER_TEXT_EQUAL"
    Vous pouvez, en plus, utiliser la constante "MSG_FILTER_TEXT_EQUAL" pour vérifier l'exacte correspondance de tous les blocs de textes utilisateur.
4 "scSelect.dwMsgClass = 0x0001 | 0x0002 | 0x0008 ;"
Les poids des classes d'alarmes sont associés bit à bit par un "OU" et affectés à l'élément de structure "dwMsgClass". L'élément "dwMsgClass" indique alors que le filtre s'applique aux classes d'alarmes "classe 1" ("Alarme"), "classe 2" ("Avertissement") et "classe 4" ("alarme de contrôle-commande AS").

Notes :

  • Les classes d'alarmes sont codées en bit. Cela signifie qu'un bit de l'élément de structure "dwMsgClass" est associé à chaque classe d'alarme. Si le bit est positionné, cela signifie que les messages de cette classe sont affichés dans WinCC Alarm Control. Le numéro de la classe correspond au numéro du bit dans l'élément "dwMsgClass". Notez que les numéros des classes débutent en 1 et que les numéros des bits débutent en 0.
  • Pour déterminer le numéro de bit pour une classe, vous pouvez procéder de la manière suivante :
    • Ouvrez l'éditeur Alarm Logging.
    • Avec le bouton droit de la souris, sélectionnez le menu contextuel pour une classe dont vous souhaitez connaître le numéro. Choisissez le menu "Propriétés".
      La boîte de dialogue "configuration des classes d'alarmes" s'ouvre.


      Figure 02
       
    • Le nom du premier onglet contient le numéro de la classe. D'après la figure 02, vous pouvez donc découvrir que la classe d'alarme "alarme de contrôle-commande AS" correspond à la "classe 4". Le bit 3 est associé à la classe d'alarmes 4. Le bit 3 est représenté par la valeur hexadécimale 0x0008.
5 "scSelect.dwMsgType[0] = 0x00000001 | 0x00000002 ;"
Les poids des types d'alarmes sont associés bit à bit par un "OU" et affectés au premier élément de structure "dwMsgType". Le premier élément du tableau indique alors que le filtre s'applique aux types "type 1" et "type 2" de la classe "classe 1".

Notes:

  • L'élément "dwMsgType" est un tableau. Les types d'alarmes d'une classe devant être affichés sont définis dans chaque élément du tableau. La suite des éléments du tableau correspond à la numérotation des classes d'alarmes. Notez la syntaxe du langage "C" : les éléments de tableau sont comptés à partir de "0". La classe d'alarmes 1 est donc adressée par l'élément de tableau "[0]".
  • Les types d'alarmes sont codés en bit ; un bit dans l'élément de structure "dwMsgType" est associé à chaque type d'alarmes d'une classe. Si le bit correspondant est positionné, les messages de cette classe et de ce type d'alarmes sont affichés dans WinCC Alarm Control. Les bits de l'élément "dwMsgType" représentent pour chaque élément de tableau (chaque classe d'alarmes) un maximum de 16 types d'alarmes différents. Le bit 0 est toujours associé au premier type d'alarmes. Le bit 15 est toujours associé au seizième (dernier) type d'alarmes disponible pour chaque classe.

    Attention :
    Notez que la numérotation des types d'alarmes dans WinCC Alarm Logging est "continue" sur l'ensemble des classes d'alarmes. Ce qui complique la détermination de la position du bit dans l'élément "dwMsgType". A la fin de cet article, vous trouverez un tableau avec la position des bits dans l'élément "dwMsgType" pour l'ensemble des types d'alarmes.
     
  • Les bits correspondants aux types d'alarmes qui doivent être affichés par le filtre doivent être positionnés à 1 dans l'élément "dwMsgType". A partir du moment où il y a au moins un type d'alarme appartenant à une classe qui a été défini pour le filtre, il faut indiquer de manière explicite les types d'alarmes des autres classes. Ce n'est que dans le cas où les types d'alarmes ne sont pas du tout utilisés comme critère que l'on peut ne pas renseigner l'élément "dwMsgType". Notez cependant, que le filtre actif ne peut être affiché avec la boîte de sélection que si les types d'alarmes sont également indiqués dans le filtre.
     
  • Pour déterminer le numéro du bit pour un type d'alarme, vous pouvez procéder de la manière suivante :
    • Ouvrez l'éditeur Alarm Logging.
    • Avec le bouton droit de la souris, sélectionnez le menu contextuel pour un type d'alarme dont vous souhaitez connaître le numéro. Choisissez le menu "Propriétés" pour ouvrir la boîte "type".


      Figure 03
       
    • Le nom de l'onglet contient le numéro du type d'alarme. D'après la figure 03, vous pouvez donc découvrir que le type d'alarme "Alarm High" correspond au "type 1". Le type d'alarme 1 est associé au bit 0. Le bit 0 est représenté par la valeur hexadécimale 0x0001. Comme le type d'alarme "type 1" est associé à la classe d'alarme "classe 1", aucun recalcul n'est nécessaire.
6 "scSelect.dwMsgType[1] = 0x04 | 0x08 ;"
Les poids des types d'alarmes sont associés bit à bit par un "OU" et affectés au deuxième élément de structure "dwMsgType". Le deuxième élément du tableau indique alors que le filtre s'applique aux types "type 19" et "type 20" de la classe "classe 2".

Note :
Vous pouvez déterminer la position des bits correspondants aux types d'alarmes à l'aide du tableau se trouvant à la fin de cet article.

7 "scSelect.dwMsgType[3] = 0x40 |0x80 ;"
Les poids des types d'alarmes sont associés bit à bit par un "OU" et affectés au quatrième élément de structure "dwMsgType". Le quatrième élément du tableau indique alors que le filtre s'applique aux types "type 55" et "type 56" de la classe "classe 4".

Note :
Vous pouvez déterminer la position des bits correspondants aux types d'alarmes à l'aide du tableau se trouvant à la fin de cet article.

8 "scSelect.dwTB = 0x0001 | 0x0002 ;"
Le poids des blocs de texte utilisateur sont associés bit à bit par un "OU" et affectés à l'élément "dwTB". L'élément indique alors que le filtre s'applique aux  blocs de texte utilisateur "tb1" et "tb2".
9 "strcpy (scSelect.szTB[0], "TI4711");"
La chaîne de caractères "TI4711" est affectée au premier élément du tableau de l'élément "szTB". Cela signifie que ne seront affichés que les messages qui contiennent cette chaîne dans le bloc de texte utilisateur "tb1".
10 "strcpy (scSelect.szTB[1], "area1");"
La chaîne de caractères "area1" est affectée au deuxième élément du tableau de l'élément "szTB". Cela signifie que ne seront affichés que les messages qui contiennent cette chaîne dans le bloc de texte utilisateur "tb2".
11 "bOK = AXC_SetFilter(lpszPictureName,"Control1",&scSelect,&scError);"
Cette fonction "AXC_SetFilter()" exécute le critère de filtre indiqué dans la structure "scSelect".

Le tableau suivant représente la correspondance entre la numérotation des types d'alarmes avec la position des bits à l'intérieur de l'élément de structure "dwMsgType".

WinCC_AXC_SetFilter_dwMsgType_e.pdf ( 13 KB )

Note :
Consultez également les informations de l'article ID 25288354. Vous y trouverez une vue d'ensemble des différentes possibilités pour filtres les messages dans WinCC Alarm Control.
Vous y trouverez également les chemins pour accéder aux rubriques correspondantes dans WinCC Information System.

 ID contribution:25287778   Date:2007-04-26 
Cette contribution...m´a aidéne m´a pas aidé                                 
mySupport
My Documentation Manager 
Lettre d'information 
CAx-Download-Manager 
Demande d'assistance technique
A propos de cet article
Imprimer
Créer PDF 
Envoyer l'article
QuickLinks
Outil de compatibilité 
Thèmes
Aide
Aide en ligne
Guided Tour