Beckhoff ADS
Relier des automates Beckhoff TwinCAT sur ADS/AMS : la route AMS, le port du runtime, les chemins de symbole et les longueurs de lecture.
Le pilote Beckhoff ADS parle à des automates Beckhoff TwinCAT sur ADS, le protocole d'automatisation de TwinCAT porté par des routes AMS. Vous adressez les valeurs par leur chemin de symbole dans le programme de l'automate : ce que vous tapez est donc ce que déclare le projet TwinCAT. Ajoutez un équipement sous le pilote Beckhoff ADS dans le Connector; le volet ne montre que les champs que ce protocole emploie.
Connexion
| Champ | Sens | Par défaut |
|---|---|---|
| Hôte | L'adresse IP de l'automate. Son identifiant de réseau AMS en est déduit sous la forme {ip}.1.1. |
vide |
| Port | Le port AMS du runtime visé. 0 emploie 851, le premier runtime automate de TwinCAT 3; les runtimes TwinCAT 3 suivants comptent à partir de là (852, 853, etc.). | 0 |
| IP locale (AMS) | L'adresse IP propre à cette station, d'où son identifiant de réseau AMS est déduit sous la forme {ip}.1.1. Elle doit correspondre à la route AMS configurée sur l'automate. Laissée vide, la valeur de l'hôte est reprise, ce qui ne fonctionne que lorsque les deux bouts partagent l'adresse : en pratique, remplissez-la. |
vide |
| Intervalle de scrutation (ms) | La période de lecture de tout l'équipement, pour les tags qui ne la remplacent pas. | 1 000 |
L'en-tête de l'équipement montre le point de terminaison assemblé, par exemple
ads://192.168.0.1:192.168.0.50:851 (IP locale, IP de l'automate, port AMS). Chaque tag
peut poser son propre intervalle de scrutation (ms); une valeur de 0 sur un tag retombe sur
l'intervalle de l'équipement.
ADS ne répond qu'aux stations que l'automate connaît : ajoutez une route AMS statique sur
l'automate (TwinCAT Engineering, SYSTEM → Routes, ou l'icône TwinCAT de la zone de
notification) dont l'adresse est l'IP de cette station et dont l'identifiant de réseau AMS est
cette IP suivie de .1.1, ce qui correspond à ce que le pilote déduit de l'IP locale
(AMS). Sans la route, la connexion échoue même si le chemin réseau est bon.
Adressage
Un tag Beckhoff est adressé par deux champs de la carte Source du tag :
| Champ | Sens | Valeurs acceptées | Par défaut |
|---|---|---|---|
| Symbole | Le chemin de symbole de la variable dans le programme de l'automate. Obligatoire. | texte libre, par exemple MAIN.fValue |
vide |
| Longueur de lecture (octets, vide = automatique) | Combien d'octets transférer par lecture. Vide dimensionne la lecture d'après le type de donnée. | 1 et au-delà, ou vide | vide |
Le chemin de symbole est exactement ce que TwinCAT montre : les variables de programme comme
MAIN.fValue, les listes de variables globales comme GVL.MachineSpeed ou
GVL_Settings.rSetpoint. Le pilote résout le symbole par son nom sur l'automate
et lit ses octets bruts. Les longueurs de lecture automatiques sont :
| Type de donnée | Longueur de lecture automatique |
|---|---|
| Boolean | 1 octet |
| Int32 | 4 octets |
| Float | 4 octets |
| String | 16 octets |
Pour un texte de plus de 16 caractères, posez la longueur de lecture pour couvrir la
taille déclarée (un STRING(80) de TwinCAT demande 80 octets de texte). La ligne en lecture
seule Adresse source (bus) de la carte Source montre l'adresse assemblée au fil de vos
modifications.
Types de donnée
Le sélecteur de type de donnée offre les quatre types que le pilote sait transporter :
| Type de donnée | Équivalent automate | Remarques |
|---|---|---|
| Boolean | BOOL | 1 octet, tout ce qui n'est pas nul est vrai |
| Int32 | DINT | petit-boutiste, comme l'automate |
| Float | REAL | petit-boutiste, comme l'automate |
| String | STRING | le texte jusqu'au premier octet nul du tampon de lecture |
L'ordre des octets est le petit-boutiste propre à l'automate et il est traité automatiquement; il n'y a pas d'option d'ordre des octets. Une lecture de texte décode le tampon renvoyé jusqu'au premier octet nul, si bien que le remplissage derrière un texte court ne fuit jamais dans la valeur. Les autres largeurs de TwinCAT (INT, LREAL, WORD, etc.) ne sont pas offertes : exposez une telle variable dans le programme de l'automate sous l'un des quatre types ci-dessus pour la lire ici.
Écritures
Les tags dont l'accès est Lecture et écriture ou Écriture seule peuvent être écrits. Une écriture résout le même symbole et écrit les octets de la valeur : 1 octet pour un booléen, 4 octets pour un Int32 et un Float. Une écriture de texte dépose toute la longueur de lecture du tag : les octets UTF-8 du texte devant et des zéros derrière, si bien qu'un texte plus court écrit par-dessus un plus long remplace toute la valeur et que rien de l'ancien ne survit. Un texte qui n'entre pas dans la longueur déclarée est refusé avec la longueur nommée dans le journal, jamais rogné à la taille. Un nouveau tag démarre en Lecture seule.
Découverte
ADS n'a pas de découverte par diffusion dans ce pilote : le Connector ne montre donc aucun bouton Découvrir. Ajoutez l'équipement et ses symboles à la main.
Bon à savoir
- La route AMS est la raison habituelle de l'échec d'une première connexion : l'identifiant de
réseau AMS de la route, sur l'automate, doit être exactement l'IP de la station suivie de
.1.1. - Les symboles sont résolus par leur nom à chaque lecture : un téléversement d'automate qui renomme ou retire un symbole fait passer son tag en mauvaise qualité jusqu'à ce que les noms correspondent de nouveau.
- Un automate injoignable ne coûte rien au démarrage : l'équipement continue de réessayer en arrière-plan et ses tags lisent une mauvaise qualité jusqu'à ce que la connexion aboutisse.