Rubrique :Communication
Comment peut-on générer une alarme en cas de perte de liaison ?

Date: 07.07.1999

L'auteur, ainsi que les membres du Club des Utilisateurs de WinCC® déclinent toute responsabilité sur les scripts, leurs contenus; et plus généralement sur les informations diffusés dans la totalité des pages du site.

En cas de perte de la liaison, une alarme est générée pour ensuite attaquer la carte de signalisation (si elle est présente). Veuillez suivre les étapes ci-dessous :

  1. Créer une variable interne de type "binaire" (l'état de cette variable génère un message).
    Dans l'exemple, cette variable s'appelle "LiaisonBool".
  2. Dans l'AlarmLogging, insérez une nouvelle ligne de message avec les propriétés suivantes :
    classe : alarme
    Type : Alarme haute
    Variable d'événement : LiaisonBool
    Origine : liaison MPI
    Evénement : perte de liaison AS-OS, doit être acquittée, commande l'avertisseur, est archivée, est consignée au journal
  3. Ecrivez la fonction suivante dans le GlobalScript (sous Actions\Actions:<NomOrdinateur>,Trigger : cyclique, 500ms) :
    Le premier paramètre de la fonction "GetTagBit" est une variable de la liaison à surveiller, dans l'exemple "S7$Programm(1)_Switch".

    #include "apdefap.h"

    int gscAction( void )
    {

    unsigned long status[1];

    GetTagBitState("S7$Programm(1)_Switch",&status[0]); //Type de valeur en retour :short int

    printf("%d\r\n",status);

    if (status&0x0001)
    SetTagBit("LiaisonBool",1); // Type de valeur en retour : BOOL
    else
    SetTagBit("LiaisonBool",0); // Type de valeur en retour : BOOL

    return TRUE;
    }

  4. Enregistrez la fonction et compilez-la.
  5. Sous GlobalScript\Options---> Générer en-têtes.
  6. Sous Ordinateur\Démarrage ---> Cochez le GlobalScript Runtime.
  7. Activez le Runtime.

Automatismes et Systèmes Industriels

Les membres du Club WinCC sur le Ouebe
José Ros - Edito & Tips - jose.ros@asi-system.com
Benjamin Barletta - Web Designer - benjamin.barletta@asi-system.com
Jean-Louis Marin - Contacts - jean-louis.marin@asi-system.com