Application CODESYS sur PMX - Communication catman AP

Voici un guide pratique sur la façon de créer une application CODESYS sur le PMX. C’est avant tout un exposé de base sur l’utilisation de CODESYS. Les utilisateurs expérimentés sont libres d’adopter une approche différente. Une plus grande aide est fournie par les exemples standards à installer sur l'ordinateur de bureau lorsque vous installer le paquage fourni avec le PMX ou à partir de l'aide en ligne.

Les dossiers nécessaires peuvent être trouvés sur le CD « PMX CODESYS » livré avec chaque appareil PMX contenant CODESYS ou peuvent être téléchargés à partir de la page support de notre site hbm.com/fr/.

Dans cet exemple particulier, le PMX est utilisé comme serveur TCP/IP et se trouve en liaison avec le logiciel catman AP de HBM.

Via des commandes auto-définies, des voies CPU peuvent être réglées par catman AP pour changer les valeurs de point de consigne des commandes PID ou autre chose. Pour cela, de régulations automatisés simples sont possibles avec PMX.

La fonctionnalité de base du serveur TCP/IP du PMX est expliquée dans la Technote correspondante éditée par HBM. Les manipulations de chaines de caractères de cet exemple ont été faites à l’aide des bibliothèques OSCAT (www.oscat.de).

Du côté PMX l'exemple concerne principalement le serveur TCP/IP et l'interface CPU. Des fonctions de communication sur PC sont fournies par un script facile dans catman.

Schéma

Extraction du package CODESYS

Ouvrir l’environnement développement
Faites tourner le logiciel CODESYS en mode admin.

Extraire le package

Dans le prochain dialogue, compléter le process d'extraction en cliquant sur “Extract”.
<br>Aller sur “File” et sélectionner “Extract Archive…” dans “Project Archive”.
Dans le dialogue suivant choisir l'emplacement de l'archivage “TCP-IP-Server.projectarchive” et appuyer sur “Open”.

Connexion du PMX

Ajouter la passerelle

Double cliquer sur « Device (CODESYS Control HBM PMX V3) et cliquer droit « Add gateway… ». Garder les réglages par défaut et les confirmer en appuyant sur « OK ».

Intégrer PMX

La fonction « Scan network » doit détecter automatiquement le PMX. Activer l’appareil en double cliquant dessus.

Interprétation commande sur PMX avec CODESYS

Le « TCP/IP-Server » est utilisé comme boîte noire. Une fois la connexion établie entre catman et le serveur, le serveur transmet les chaines de caractères reçues à l’interface « CPU » qui interprète les commandes et actionne le fonctionnement.

En regardant approximativement la vue d'ensemble de notre exemple, nous allons voir au début les interfaces serveurs. Ensuite, l’interprétation commande sera abordée plus précisément et le raccordement avec les voies CPU sera expliqué, pour un traitement futur. Deux voies sont réglées de cette manière dans cet exemple.

Interfaces serveur

  • Entrées :
    • sSend (chaine de caractères : la chaîne est envoyée)
    • port (Mot : Port sur lequel le PMX peut être adressé)
    • sIpAddress (Chaine de caractères : adresse IP qui doit être ajustée sur l'adresse IP indiquée dans le navigateur web)
    • bStart (Booléen : met en marche le serveur)
    • bShutDownServer (Booléen : arrête le serveur)
  • Sorties :
    • sReceived (Chaine de caractères : chaine reçue)
    • bClientOnline (Booléen : signale l'identification d'un client)
Bloc-diagramme du „TCP/IP-Servers“

Fonctionnalité de « CPUInterface »

Le « CPUInterface » livré soutient trois commandes pour chaque voie : set, get, reset. Les commandes sont combinées dans « instructionSet » pour fournir à l'utilisateur une vue d'ensemble rapide des fonctions . Il faut considérer que les commandes « set… » doivent se terminer avec un espace. Cela permet de distinguer facilement la commande réelle du paramètre suivant.

Code de "InstructionSet"

Une fois que le TCPServer détecte une liaison client, par catman AP, le CPUInterface commence à contrôler les messages entrants dans sReceived pour assurer les commandes. Une fois qu'une commande est détectée, elle est appliquée.

Le comportement qui est déclenché par la commande doit être déterminé dans le CPUInterface.

Les valeurs retournées à AP catman doivent être terminées avec les caractères « $R$N ». Pour cela, la valeur retournée avec « $R$N » est enchaînée à une chaine de caractères en employant la chaine de commande « Concat() ».

Code de "CPU interface"
Affectation des voies CPU

Affectation des voies CPU

L'attribution des variables aux voies CPU est effectuée dans l'environnement de développement CODESYS de la manière suivante :

  • Double clic sur « Device » dans l’arborescence de répertoires situé à gauche de la fenêtre de l'environnement développement correspondante à la configuration est ouverte.
  • Cliquer sur « Internal I/O Mapping » tableau (2)
  • Dérouler à « Codesys Output x » et double cliquer sur le champ vide dans la colonne « Variable ». (3)
  • Choisir la variable de votre choix dans la fenêtre d’ouverture (la variable doit être du type REAL !)
  • A la fin paramétrer checkbox sur « Always update variables » avec le bouton dans  coin à droite. (4)

catman AP

Visualisation dans catman AP

Dans catman AP un script catman Easy doit être créé, qui soit capable de créer un TCP/IP-client au moyen de la bibliothèque d’objets « EA_Comm » et manipuler les commandes définies dans CODESYS. Inutile de dire que n'importe quel autre TCP/IP-client peut construire le contact avec PMX et communiquer via les commandes.

L'exemple montre une visualisation de plusieurs boutons qui permettent de passer en revue la construction point par point. Les boutons doivent être actionnés dans l'ordre comme indiqué ci-dessus, ainsi : connecter au PMX, n’importe quel ensemble de valeurs set et get comme débrancher PMX. S'il y a un problème quelconque, la déconnexion du PMX suivi d'une reconnexion aidera à revenir normalement.

Des problèmes peuvent être détectés par l'utilisateur si le champ (5) contient une valeur différente de zéro.

Le bouton « Connect to PMX » (1) démarre le raccordement. Si le PMX a été connecté avec succès, un "Ready" apparait dans le champ (3). A partir de cet instant, les voies CPU 1 et 2 connectées peuvent être en set (2) et get (4) dans le champs (3).  L'utilisateur doit s'assurer que les valeurs réglées sont à l'intérieur de la gamme spécifique des valeurs du PMX. Bien la voie CPU ait été réglée, le matériel relié ne peut cependant pas traiter la valeur invalide. En outre il doit y avoir une valeur dans le champ (3), autrement un zéro sera automatiquement placé sur la voie.

Des valeurs en retour sont également montrées dans le champ (3). Le champ (5) fournit seulement une détection d’erreurs dans le script. Une fois qu'une valeur montrée est différente de zéro, la connexion devrait être interrompue et il faut donc redémarrer une connexion. Après le paramétrage favorisé des voies, la connexion devra toujours être déconnectée (6).

Dans le code du script, on peut déceler comment la librairie « EA_Comm » est utilisée pour l'installation du TCP/IP-client. Des routines concordantes ou plutôt des sous routines sont déclenchées par des boutons à l'intérieur de la visualisation. L'extrait suivant entre dans le détail sur l’arrangement de la voie CPU 1.  Bien que, les méthodes secondaires puissent être transférées à la voie CPU 2.

Le « Timeout » variable définit la période d’attente jusqu'à ce qu'une réaction du serveur intervienne. Ce temps devra toujours être plus long que les cycles du PLC. L’« Id » fournit une poignée ou un descripteur pour contrôler les connections sous-jacentes. « Terminator » définit les caractères ASCII jusqu'à ce que des messages dans le buffer soient lus - char 10 pour « Linefeed », qui est équivalent à « $R$N » dans CODESYS. La taille du buffer est définie par « MaxBytes » et devra s'accorder avec la taille buffer PMX. La même chose s’applique pour l’adresse IP, naturellement.

Il faut préciser que le buffer de réception n’est pas automatiquement vidé par la librairie. Cela veut dire après avoir lu avec succès un message en lisant de nouveau tous les bytes restants du message précédent, qui n'incluent aucune information importante, sont rouges. Le problème est résolu par « empty reading ». La partie correspondante est marquée dans le « getCPU1 » secondaire.

Script catman Easy

TIP

Les informations et l'aide supplémentaires pour créer des programmes Codesys sont disponibles sur l'aide en ligne Codesys sur ce lien http://www.codesys.com/ ou dans le chat Codesys http://forum.codesys.com/
Profitez des connaissances et des informations disponibles dans Codesys store. Vous y trouverez beaucoup d'exemples de programme et de solution, couvrant un large éventail de tâches http://store.codesys.com/

Important

Ces exemples sont montrés uniquement à titre d’exemple. Ils ne peuvent pas être cités comme référence et être sujets à des actions au titre de garantie ou de responsabilité.

Contactez-nous Nous sommes à votre écoute pour répondre à toutes vos demandes.