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.

Visualizza come Markdown

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.