Beckhoff ADS
Collegare i PLC Beckhoff TwinCAT su ADS/AMS - la rotta AMS, la porta del runtime, i percorsi di simbolo e le lunghezze di lettura.
Il driver Beckhoff ADS parla con i PLC Beckhoff TwinCAT su ADS, il protocollo di automazione di TwinCAT trasportato su rotte AMS. I valori si indirizzano con il loro percorso di simbolo nel programma del PLC, quindi quello che scrivi è quello che il progetto TwinCAT dichiara. Aggiungi un dispositivo sotto il driver Beckhoff ADS nel Connector; il pannello mostra solo i campi che questo protocollo usa.
Connessione
| Campo | Significato | Predefinito |
|---|---|---|
| Indirizzo host | L'indirizzo IP del PLC. Il suo AMS Net Id si ricava da questo indirizzo come {ip}.1.1. |
vuoto |
| Porta TCP | La porta AMS del runtime di destinazione. 0 usa 851, il primo runtime PLC di TwinCAT 3; i runtime TwinCAT 3 successivi contano da lì in su (852, 853, …). | 0 |
| IP locale (AMS) | L'indirizzo IP proprio di questa stazione, da cui si ricava il suo AMS Net Id come {ip}.1.1. Deve corrispondere alla rotta AMS configurata sul PLC. Quando resta vuoto viene riusato il valore di Indirizzo host, cosa che funziona solo quando i due capi condividono l'indirizzo: nella pratica, compilalo. |
vuoto |
| Intervallo di interrogazione (ms) | Il periodo di lettura valido per tutto il dispositivo, per i tag che non lo ridefiniscono. | 1.000 |
L'intestazione del dispositivo mostra l'endpoint composto, per esempio
ads://192.168.0.1:192.168.0.50:851 (IP locale, IP del PLC, porta AMS). Ogni tag può
impostare il proprio Intervallo di interrogazione (ms); un valore di tag pari a 0
ricade sull'intervallo del dispositivo.
ADS risponde solo alle stazioni che il PLC conosce: aggiungi sul PLC una rotta AMS
statica (TwinCAT Engineering, SYSTEM → Routes, oppure l'icona TwinCAT nell'area di
notifica) il cui indirizzo sia l'IP di questa stazione e il cui AMS Net Id sia quello
stesso IP seguito da .1.1, uguale a quello che il driver ricava da IP locale
(AMS). Senza la rotta la connessione fallisce anche se il percorso di rete è a
posto.
Indirizzamento
Un tag Beckhoff viene indirizzato da due campi nella scheda Origine del tag:
| Campo | Significato | Valori accettati | Predefinito |
|---|---|---|---|
| Simbolo | Il percorso di simbolo della variabile nel programma del PLC. Obbligatorio. | testo libero, per esempio MAIN.fValue |
vuoto |
| Lunghezza di lettura (byte, vuoto = automatico) | Quanti byte trasferire a ogni lettura. Vuoto dimensiona la lettura in base al tipo di dato. | da 1 in su, oppure vuoto | vuoto |
Il percorso di simbolo è esattamente quello che TwinCAT mostra: le variabili di
programma come MAIN.fValue, gli elenchi di variabili globali come GVL.MachineSpeed
oppure GVL_Settings.rSetpoint. Il driver risolve il simbolo per nome sul PLC e ne
legge i byte grezzi. Le lunghezze di lettura automatiche sono:
| Tipo di dato | Lunghezza di lettura automatica |
|---|---|
| Boolean | 1 byte |
| Int32 | 4 byte |
| Float | 4 byte |
| String | 16 byte |
Per una String più lunga di 16 caratteri, imposta la Lunghezza di lettura in modo
da coprire la dimensione dichiarata (una STRING(80) di TwinCAT ha bisogno di 80 byte
di testo). La riga in sola lettura Indirizzo di origine (bus) della scheda Origine
mostra l'indirizzo composto mentre modifichi.
Tipi di dato
Il selettore Tipo di dato offre i quattro tipi che il driver sa trasportare:
| Tipo di dato | Corrispondente sul PLC | Note |
|---|---|---|
| Boolean | BOOL | 1 byte, diverso da zero significa true |
| Int32 | DINT | little-endian, come il PLC |
| Float | REAL | little-endian, come il PLC |
| String | STRING | il testo fino al primo NUL del buffer di lettura |
L'ordine dei byte è il little-endian proprio del PLC e viene gestito automaticamente; non c'è alcuna opzione sull'ordine dei byte. La lettura di una String decodifica il buffer restituito fino al primo terminatore NUL, così il riempimento dietro una stringa corta non finisce mai nel valore. Le altre larghezze di TwinCAT (INT, LREAL, WORD, …) non vengono offerte: esponi una variabile del genere nel programma del PLC come uno dei quattro tipi qui sopra per leggerla qui.
Scritture
I tag il cui Accesso è Lettura e scrittura oppure Sola scrittura si possono scrivere. Una scrittura risolve lo stesso simbolo e scrive i byte del valore: 1 byte per Boolean, 4 byte per Int32 e Float. La scrittura di una String depone tutta la Lunghezza di lettura del tag: davanti i byte UTF-8 del testo, dietro degli zeri, così un testo più corto scritto sopra uno più lungo sostituisce l'intero valore e del vecchio non sopravvive nulla. Un testo che non sta nella lunghezza dichiarata viene rifiutato con la lunghezza nominata nel diario, mai tagliato a misura. Un tag nuovo nasce Sola lettura.
Rilevamento
In questo driver ADS non ha un rilevamento a diffusione, quindi il Connector non mostra alcun pulsante Rileva. Aggiungi il dispositivo e i suoi simboli a mano.
Buono a sapersi
- La rotta AMS è il motivo abituale per cui una prima connessione fallisce: l'AMS Net
Id della rotta sul PLC deve essere esattamente l'IP della stazione più
.1.1. - I simboli vengono risolti per nome a ogni lettura, quindi un download sul PLC che rinomina o rimuove un simbolo porta il suo tag a cattiva qualità finché i nomi non tornano a corrispondere.
- Un PLC irraggiungibile non costa nulla all'avvio: il dispositivo continua a ritentare in secondo piano e i suoi tag leggono cattiva qualità finché la connessione non si stabilisce.