Rubrique : Script
Comment acquitter depuis un Serveur les deux cartes de signalisation dans un système de serveurs redondants ?

Date: 29.08.2000

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.

Pour résoudre ce problème, vous devez établir une communication entre les Serveurs. Le plus simple est de réaliser une communication via n'importe quel AS.
Lorsque votre projet est terminé et qu'il n'y a plus que l'acquittement qui ne fonctionne pas, insérez uniquement l'action ci-jointe.
Cette action doit être copiée et liée sur les deux Serveurs.
Ce FAQ vous explique comment insérer ce fichier dans un projet existant.

Description de la fonction :

Le premier script en C est l'action "read.pas" qui interroge régulièrement les variables @Signal1, @Signal2 et @Signal3 sur les Serveurs pour savoir si elles ont changé. A partir du moment où une de ces trois variables est modifiée, le script est exécuté. Si les trois variables sont acquittées, l'action met à UN la variable externe "receipt_tag " dans l'AS.
La deuxième action "receipt.pas" est appelée en cas de modification de la variable "receipt_tag". Ce script acquitte les variables @Signal1, @Signal2 et @Signal3 sur le Serveur redondant partenaire.
Le troisième fichier contient une fonction de projet globale "new_function.fct". Cette fonction n'est nécessaire que pour définir la variable intermédiaire globale "dummy_tag". Cette variable est utilisée en interne par les actions et est absolument nécessaire pour le déroulement de la fonction.

Insertion dans un projet existant :

Après avoir télécharger et décompacter le fichier "quitt_red.exe", vous disposez des 3 fichiers.

1. Copiez les actions "receipt.pas" et "read.pas" avec l'Explorateur Microsoft dans le répertoire "Pas" de votre projet.

2. Copiez la fonction "new_function.fct" dans le répertoire "library" de votre projet.

3. Ouvrez WinCCExplorer et chargez votre projet.

4. Cliquez avec le bouton droit de la souris sur "Global Script" et choisissez "Ouvrir".

5. Ouvrez ensuite la fonction "read.pas" dans "Global Script" sous "Actions, Actions globales".

6. Compilez le code avec "Edition Compiler". Validez ensuite "Options Générer en-tête" et enfin enregistrez cette action avec "Fichier Enregistrer".

7. Après avoir ouvert l'action "receipt.pas" dans "Actions actions globales", procédez de la manière décrite au point 6.

8. Ouvrez la fonction de projet "new_function.fct" avec "Fichier Ouvrir" depuis le répertoire "library". Procédez ensuite comme décrit au point 6.Vous devez enfin créer la variable "receipt_tag". Cette variable doit se trouver sur tous les Serveurs. Pour cela, ouvrez la "Gestion des variables". Ouvrez ensuite la liaison que vous avez configurée vers votre automate.

9. Avec le bouton droit de la souris, cliquez sur la liaison et choisissez "Nouvelle variable...".

10. Créez cette variable en tant que "Valeur 16 bits non signée" et appelez-la "receipt_tag". Cliquez ensuite sur le bouton "Sélectionner" et, dans la fenêtre qui s'ouvre, indiquez "Mémento" dans la zone de données. Dans le champ "Adressage", indiquez "Mot" et pour "MW", par exemple "20". Si le MW 20 est déjà utilisé dans votre projet, choisissez un autre mot de mémento.

11. Pour configurer le deuxième Serveur, procédez de la même manière ou, après avoir terminé complètement votre projet, utilisez le Project Duplicator.

Logiciel payant (payement à l'aide de la carte SIMATIC Card): quitt_red.exe (34 KB, 50 unités) Copiez le fichier quitt_red.exe dans un répertoire distinct et démarrez-le par double-clic.

 

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