Beckhoff TwinCAT

Ce driver supporte la communication sur Ip avec les API Beckhoff TwinCAT.

Le système TwinCAT (The Windows Control and Automation Technology) de Beckhoff permet de transformer un PC compatible en un contrôleur temps-réel avec un système multi-PLC, contrôle d'axe (NC), environnement de programmation et système d'exploitation. TwinCAT remplace un automate programmable conventionnel.

Les logiciels TwinCAT peuvent être distribués puisque les programmes API TwinCAT peuvent s'exécuter sur des PC ou sur des contrôleurs de bus terminaux Beckhoff. Le driver TwinCAT permet la connexion à n'importe quel système TwinCAT local ou connecté sur un réseau TCP/IP. Il utilise le Routeur AMS (routeur de message) fourni par Beckhoff pour gérer et distribuer les messages au sein du système ou via des connexions TCP/IP. Dans une architecture distribuée, la communication s’effectue via l'interface Ethernet standard du PC.

Dans la communication, ADS est la couche transport mais l'équipement TwinCAT doit supporter les commandes ADS. Celles-ci sont supportées par les équipements TwinCAT dont les numéros de version démarrent à 2.7 B511, ou 2.8 B718 ou 2.9.

Vous pouvez configurer le driver TwinCAT en utilisant le Smart Generator TwinCAT.

Prérequis

Le routeur de message doit être installé sur le système qui exécute PcVue. Il est fourni avec n'importe quel pack logiciel TwinCAT. La dernière version est la 2.9.

Si vous n'avez pas besoin d'un système TwinCAT, installez TwinCAT-CP à la place.

Dans une architecture distribuée, chaque PC sur le réseau doit avoir un identifiant AMS Net unique. Pour permettre à deux PC de communiquer, vous devez ajouter la définition du routeur AMS sur le PC distant de la façon suivante :

  1. Faites un clique-droit sur l'icône TwinCAT et sélectionnez Properties pour ouvrir la boîte de dialogue des propriétés TwinCAT. FerméVoir l'image
  2. Sélectionnez l'onglet routeur AMS.
  3. Saisissez l'identifiant AMS Net Id de votre PC dans le champ Local computer.
  4. Sélectionnez Add pour ouvrir la boîte de dialogue Add Remote Connection et saisissez les paramètres pour le PC distant.
  5. Répétez l'étape précédente pour chaque PC qui communiquera et appliquez les mêmes étapes sur l'ordinateur distant.
  6. Le routeur de message doit être démarré pour que la communication fonctionne. Vous pouvez le faire manuellement dans le menu contextuel de l'icône TwinCAT en sélectionnant Système.Start, ou automatiquement en sélectionnant Enable dans l'onglet System de la boîte de dialogue System properties.

Propriétés d'un réseau

Cette rubrique ne contient qu'une référence des propriétés des objets.

Voir la rubrique Comment configurer les réseaux, les équipements et les trames pour plus d'informations sur la configuration des objets de communication.

Propriétés - Général
Nom Le nom du réseau
Description La description du réseau (facultatif)
Attributs spécifiques au protocole Réservé - Ne pas modifier
Actif au démarrage Si activé, le réseau démarrera au démarrage de la communication Equipement

Propriétés avancées

 

Time-out

Utiliser la valeur par défaut

Multi-postes

Serveurs

La liste des postes PcVue où le réseau sera actif

Id du protocole Réservé - Ne pas modifier

Propriétés d'un équipement

Propriétés - Général
Nom Nom de l'équipement
Description La description de l'équipement (facultatif)
Type d'équipement Sélectionnez le type d'équipement qui convient le mieux à l'équipement de terrain avec lequel vous voulez communiquer.
La liste des types de trames et les plages d'adresses dépendent du type d'équipement.
Adresse L'identifiant AMS Net à 6 chiffres du PC distant. Par exemple 192 168 0 12 1 1
Actif au démarrage Si activé, l'équipement démarrera au démarrage du réseau

Propriétés avancées

 

Connexion

Time-out

Temps d’attente maximum entre une requête et une réponse de l’équipement

Numéro de port

Le numéro de port de l'équipement de terrain

Divers

Equipement virtuel

Réservé. Ne pas sélectionner.

Délai du message Réservé. Laisser la valeur par défaut 0.

Port

Par défaut, le protocole accédera au port API du PC déporté. Si vous désirez spécifier un autre port, vous devez modifier la propriété port de la façon suivante :

Port Valeur
Port for PLC 801
Port for PLC (Runtime system 2) 811
Port for PLC (Runtime system 3) 821
Port for PLC (Runtime system 4) 831
Port for logger 100
Port for IO 300
Port for SPS 400
Port for NC 500
Port for ISG 550
Port for PCS 600

Adressage des trames

Selon le type d'équipement que vous avez sélectionné lors de la configuration de l'équipement, vous avez accès aux types de trames suivants.

Les propriétés Adresse de début et Quantité définissent la plage d'adresses mémoire pour chaque trame, comment elle est lue et écrite, et comment elle est interprétée dans PcVue.

L'adresse de départ des trames et le type de données ne sont pas utilisés par le driver, seule la taille est importante.

La quantité de données doit correspondre à la taille totale des variables auxquelles vous souhaitez accéder.

La définition d'une variable TwinCAT pour une trame est spécifiée dans un fichier au format ASCII. Le fichier doit être localisé dans le dossier C du projet. Son nom est composé des noms de réseau, d'équipement et de trame (par exemple MyNet_MyDev_MyFrame.dat).

Le format du contenu du fichier est composé de Nom de la variable qui est le nom de la variable dans le programme TwinCAT et Taille qui est la taille de la variable en octets.

Copier
Variable Name,Size

L'ordre dans lequel les variables TwinCAT sont listées a une signification car c’est l’ordre utilisé pour le mapping des variables sur cette trame.

Le Smart Generator TwinCAT automatise cette étape de configuration.

L'offset en octet d’une variable Mot doit être un multiple de 2.

L’ offset en octet des variables Double et Float doivent être un multiple de 4.

L'API traite chaque requête avant de démarrer le cycle automate. Par exemple une requête de 200,000 variables TwinCAT implique que l'équipement collecte et copie 200,000 variables dans une réponse ADS avant de démarrer le prochain cycle automate. Un tel nombre de sous-commandes ADS risque de perturber le fonctionnement de l'API. Nous recommandons de ne pas dépasser plus de 500 variables TwinCAT par trame.

La taille de la trame Mot définie dans PcVue doit être supérieure ou égale à deux fois la taille totale de toutes les variables définies dans le fichier de définition des variables.

Statut du driver

Le statut du driver fournit des informations spécifiques en complément du statut général de la trame. Pour plus d'informations sur les statuts en général, voir la rubrique Statuts généraux de communication.

Codes d'erreur les plus fréquents

Statut du driver Description
0x0007 Equipement (ordinateur distant) non configuré dans le routeur AMS
0x0012 Routeur AMS non démarré
0x1000 Impossible d'ouvrir le fichier de définition des variables. Veuillez vérifier que son nom est celui d'un nom de trame valide.
0x1001 Erreur dans l'allocation de la mémoire tampon du driver
0x1002 Aucune variable trouvée dans la requête d'écriture
0x1003

La taille totale de la définition de la variable TwinCAT dépasse 2,097,152 octets

Chaque variable a 4 octets supplémentaires pour gérer les erreurs.

0x2751 Câble réseau déconnecté
0x3yyy Variable introuvable dans l'équipement
  xxx est l'index (en hexadécimal) de la variable dans le fichier de définition de la variable TwinCAT
0x6yyy La taille de la variable ne correspond pas
  yyy est l'index (en hexadécimal) de la variable dans le fichier de définition des variables TwinCAT
0x6000 Erreur lors de la demande d'écriture
 

La taille d'une des variables écrites via le lien variable diffère de la taille spécifiée dans le fichier de définition de variables TwinCAT.

Écrivez chaque variable à son tour pour savoir laquelle est défectueuse.

Codes d'erreur moins habituels


Statut du driver

Description

0x0001 Internal error
0x0002 No runtime
0x0003 Allocation locked memory error
0x0004 Insert mailbox error
0x0005 Wrong receive HMSG
0x0006 Target port not found
0x0008 Unknown command ID
0x0009 Incorrect task ID
0x000A No I/O
0x000B Unknown AMS command
0x000C Win32 error
0x000D Port not connected
0x000E Invalid AMS length
0x000F Invalid AMS Net ID
0x0010 Low installation level
0x0011 No debug available
0x0013 Port already connected
0x0014 AMS Sync - Win32 error
0x0015 AMS Sync - Timeout
0x0016 AMS Sync - AMS error
0x0017 AMS Sync - no index map
0x0018 Invalid AMS port
0x0019 No memory
0x001A TCP send error
0x001B Host unreachable
0x0500 Router: no locked memory
0x0502 Router: mailbox full
0x0700 Error class <device error>
0x0701 Server does not support the service
0x0702 Invalid index - group
0x0703 Invalid index - offset
0x0704 Reading/writing not permitted
0x0705 Parameter size is incorrect
0x0706 Invalid parameter value
0x0707 Device is not in a ready state
0x0708 Device is busy
0x0709 Invalid context (must be in Windows)
0x070A Out of memory
0x070B Invalid parameter value
0x070C Not found (files etc.)
0x070D Syntax error in command or file
0x070E Objects do not match
0x070F Object already exists
0x0710 Symbol not found
0x0711 Symbol version invalid
0x0712 Server is in an invalid state
0x0713 AdsTransMode not supported
0x0714 Notification handle is invalid
0x0715 Notification client not registered
0x0716 No more notification handles
0x0717 Size for watch too big
0x0718 Device not initialized
0x0719 Device has a timeout
0x071A Query interface failed
0x071B Wrong interface required
0x071C Class ID is invalid
0x071D Object ID is invalid
0x071E Request is pending
0x071F Request aborted
0x0720 Signal warning
0x0721 Invalid array index
0x0740 Error class <client error>
0x0741 Invalid parameter at service
0x0742 Polling list is empty
0x0743 Var connection already in use
0x0744 Invoke ID in use
0x0745 Timeout elapsed
0x0746 Error in Win32 subsystem
0x0748 ADS-port not opened
0x0750 Internal error in ADS sync
0x0751 Hash table overflow
0x0752 Key not found in hash
0x0753 No more symbols in cache

Scripting SCADA Basic

Vous pouvez contrôler la communication avec ce driver dans les scripts SCADA Basic avec l'instruction CIMWAY.

Voir la rubrique Mécanismes d'échange de messages dans PcVue pour plus d'informations sur ce qu'il faut optimiser et comment envoyer des commandes depuis des scripts.