Beckhoff ADS
Relier des automates Beckhoff TwinCAT en ADS/AMS : la route AMS, le port du runtime, les chemins de symboles et les longueurs de lecture.
Le pilote Beckhoff ADS parle aux automates Beckhoff TwinCAT en ADS, le protocole d'automatisation TwinCAT porté par des routes AMS. Vous adressez les valeurs par leur chemin de symbole dans le programme de l'automate, si bien que ce que vous tapez est ce que le projet TwinCAT déclare. 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 | Défaut |
|---|---|---|
| Hôte | L'adresse IP de l'automate. Son AMS Net Id est déduit de cette adresse sous la forme {ip}.1.1. |
vide |
| Port réseau | Le port AMS du runtime visé. 0 emploie 851, le runtime automate 1 de TwinCAT 3 ; les runtimes TwinCAT 3 suivants se comptent à partir de là (852, 853, …). | 0 |
| IP locale (AMS) | L'adresse IP propre de cette station, dont son AMS Net Id 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 marche que lorsque les deux bouts partagent l'adresse : renseignez-la en pratique. |
vide |
| Période 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 régler sa propre période de scrutation (ms) ; une valeur de tag à 0 retombe sur la
période 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'AMS Net Id est cette IP suivie de
.1.1, correspondant à ce que le pilote déduit d'IP locale (AMS). Sans la
route, la connexion échoue même quand 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 | 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 depuis le type de donnée. | 1 et plus, ou vide | vide |
Le chemin de symbole est exactement ce que TwinCAT montre : les variables de programme sous
MAIN.fValue, les listes de variables globales sous 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 une String plus longue que 16 caractères, réglez la longueur de lecture pour couvrir la
taille déclarée (une STRING(80) TwinCAT a besoin de 80 octets de texte). La ligne
Adresse source (bus) en lecture seule de la carte Source montre l'adresse assemblée au fil
de la saisie.
Types de donnée
Le sélecteur Type de donnée propose les quatre types que le pilote sait transporter :
| Type de donnée | Équivalent automate | Notes |
|---|---|---|
| Boolean | BOOL | 1 octet, non nul signifie vrai |
| Int32 | DINT | petit-boutiste, comme l'automate |
| Float | REAL | petit-boutiste, comme l'automate |
| String | STRING | du texte jusqu'au premier 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 String décode le tampon retourné jusqu'au premier terminateur NUL, si bien que le remplissage derrière une chaîne courte ne fuit jamais dans la valeur. Les autres largeurs TwinCAT (INT, LREAL, WORD, …) ne sont pas proposées : 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 Boolean, 4 octets pour Int32 et Float. Une écriture String 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 la valeur entière et que rien de l'ancienne ne survit. Un texte qui ne tient pas dans la longueur déclarée est refusé avec la longueur nommée dans le journal, jamais tronqué à la taille. Un nouveau tag démarre en Lecture seule.
Découverte
ADS n'a pas de découverte par diffusion dans ce pilote, si bien que le Connector n'affiche aucun bouton Découvrir. Ajoutez l'équipement et ses symboles à la main.
Bon à savoir
- La route AMS est la raison habituelle d'un premier échec de connexion : l'AMS
Net Id de la route sur l'automate doit être exactement l'IP de la station suivie de
.1.1. - Les symboles sont résolus par nom à chaque lecture, si bien qu'un téléchargement dans l'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 se lisent en mauvaise qualité jusqu'à ce que la connexion s'établisse.