Introduzione a EtherCAT

Panoramica

Grazie all’introduzione dello chassis di espansione NI 9144 unito all’insieme dei driver per la comunicazione industriale, National Instruments ha incrementato la propria offerta di prodotti per I/O distribuito deterministico, fornendo ora anche il supporto per un protocollo aperto Ethernet , real-time chiamato EtherCAT®. Questo white paper introduce le i concetti base della tecnologia EtherCAT e come questa viene impiegata nei prodotti National Insruments, inclusi i protocolli di comunicazione, trasferimento dati, e clock di sincronizzazione distribuiti.

Contenuti

Introduzione

Lo standard EtherCAT (Ethernet Control Automation Technology) è un protocollo di comunicazione ad elevate prestazioni per connessioni Ethernet deterministiche. Esso estende lo standard Ethernet IEEE 802.3 al trasferimento dati con una temporizzazione prevedibile ed esatta sincronizzazione. Questo standard aperto è stato rilasciato come parte integrante dello standard IEC 61158 e viene comunemente utilizzato in applicazioni quali progettazione di macchine e controllo assi.

Il protocollo EtherCAT implementa un’architettura master/slave appoggiandosi su di una connessione Ethernet standard. I master EtherCAT di National Instruments sono composti da controller real-time con porte dual Ethernet quali NI CompactRIO and PXI RT. Ogni slave National Instruments contiene inoltre due porte che consentono di creare una connessione in modalità “daisy chain” con il controller master.


Figura 1. Architettura EtherCAT master/slave con hardware National Instruments.

Nozioni di base sul protocollo EtherCAT

Il protocollo EtherCAT trasferisce i dati appoggiandosi direttamente ai dataframe Ethernet standard senza la necessità di apportare modifiche alla loro struttura. Quando il controller master e i dispositivi slave si trovano nella stessa subnet, il protocollo EtherCAT sostituisce semplicemente l'IP riportato nel frame Ethernet.

Figura 2. Struttura del frame Ethernet con EtherCAT.

I dati vengono trasmessi tra master e slave in forma di PDO (process data objects). Ciascun PDO ha un indirizzo verso uno o più slave; questa combinazione di "dati e indirizzi" (con l’aggiunta del conteggio di validazione) forma un telegramma EtherCAT. Un frame EtherCAT può contenere più telegrammi, e spesso sono necessari più frames per gestire tutti i telegrammi ad 1 ciclo di controllo.

Trasferimento dati

Con alcuni protocolli real-time, il controller master invia un pacchetto di dati e attende che questi vengano elaborati e copiati da ogni nodo slave. Tuttavia, potrebbe essere difficile mantenere il determinismo per questo tipo di trasferimento in quanto il controller master deve fronteggiare un maggior carico computazionele associato ad ogni slave con conseguente jitter.

La tecnologia EtherCAT supera queste limitazioni di sistema processando ciascun frame Ethernet in tempo reale. Ad esempio, pensiamo al frame Ethernet come a una locomotiva e ai telegrammi EtherCAT come ai vagoni. I bit dei dati PDO rappresentano i passeggeri dei vagoni che possono essere estratti e inseriti dallo slave appropriato. Il “treno” passa attraverso tutti i dispositivi slave senza fermarsi; lo slave finale si occupa di spedirlo indietro a tutti gli slave.

 

Figura 3. Trasferimento dati EtherCAT

Allo stesso modo, quando il dispositivo 1 incontra il pacchetto Ethernet inviato dal master, lo ritrasmette automaticamente al dispositivo 2; l’intero processo avviene sia in fase di lettura che scrittura con un leggero ritardo dell’ordine di nanosecondi. Il fatto che il pacchetto venga trasmesso continuamente da uno slave all'altro, ne garantisce la continua presenza su tutti i dispositivi.

Cosa vuol dire in pratica? Immaginiamo di avere 50 dispositivi slave e una quantità di dati diversi inviati a ciascuno slave. Per implementazioni nonEtherCAT, questo potrebbe implicare l’invio di 50 pacchetti diversi. Nello standard EtherCAT invece, viene inviato un unico pacchetto esteso che attraversa tutti gli slave; esso contiene tutti i dati associati ai 50 dispositivi. Tuttavia, se un gruppo di slave riceve gli stessi dati, viene inviato un pacchetto di dimensioni ridotte; in questo modo, tutti gli slave interessati elaborano la stessa parte del pacchetto durante il passaggio, ottimizzando così la velocità di trasferimento e l’ampiezza di banda.

Prestazioni elevate

Il protocollo EtherCAT è progettato per raggiungere elevate prestazioni e per gestire un alto numero di canali in applicazioni di controllo single-point. Poichè la fase di lettura e scrittura dello slave può avvenire nello stesso frame, la struttura del telegramma EtherCAT è ottimizzata per gestire sistemi di I/O decentralizzati. Inoltre, la completa elaborazione del protocollo avviene all’interno dell’hardware e pertanto è indipendente dalle prestazioni della CPU e da ogni componente software. Ad esempio, tramite l’accesso diretto alla memoria (DMA), è possibile trasferire i dati tra la scheda di rete e il processore master oppure gli I/O dello slave con coinvolgimento minimo della CPU. Inoltre, ciascun dispositivo slave National Instruments dispone di unità fieldbus per la gestione della memoria (FMMUs), dedicati al trasferimento dei PDO e la verifica degli indirizzi. Gli slave, non il master, sono incaricati di mappare i telegrammi appropriati riducendo in questo modo il lavoro del master.

Temporizzazione e sincronizzazione

Un altro fattore da considerare nella realizzazione di reti deterministiche riguarda la responsabilità del controller nel sincronizzare contemporaneamente tutti i dispositivi slave mediante clock distribuiti. Tra tutti i dispositivi slave, uno di essi deve contenere il clock master incaricato di sincronizzare i clock degli altri dispositivi slave in rete. Secondo l’implementazione NI, il primo dispositivo slave è dotato del clock master ed il controller master invia regolarmente uno speciale telegramma di sincronizzazione per leggere tale clock ad ogni ciclo di scansione. In seguito, questo telegramma aggiorna e riallinea i clocks degli altri dispositivi slave per evitare la deriva.

La sincronizzazione accurata è di particolare importanza nei casi in cui i processi distribuiti richiedono azioni simultanee, quali la coordinazione nelle operazioni di controllo assi. National Instruments utilizza i timestamps per misurare la differenza tra il frame di partenza e quello del ritorno. In questo modo, il ritardo di propagazione viene calcolato tra i nodi e l'esatta sincronizzazione (meno di 1 µs) può essere ottenuta regolando esattamente i clock distribuiti.

Utilizzando l’hardware National Instruments per EtherCAT

National Instruments offre una varietà di piattaforme compatibili con i canali di I/O deterministico distribuiti attraverso il protocollo EtherCAT. Come controller master, è possibile utilizzare qualsiasi controller CompactRIO dotato di due porte Ethernet oppure un sistema PXI con un'interfaccia Ethernet NI PXI-8231/8232 ed il software driver NI-Industrial Communications per EtherCAT. In seguito è possibile implementare una connessione “daisy chain” tra più chassis slave NI 9144 per estendere le proprie applicazioni time-critical e mantenere un elevato grado di determinismo con un esiguo impiego di risorse.


Figura 4. Controller cRIO-9074 e chassis slave NI 9144.

La piattaforma NI 9144 è un robusto chassis a 8-slot, compatibile con oltre 30 moduli analogici e digitali della serie C. Questi moduli di I/O forniscono connettività diretta con una vasta gamma di sensori e riusabilità con le altre piattaforma hardware di National Instruments. Ma soprattutto, le funzionalità di base hanno ridotto notevolmente le operazioni di configurazione per lo chassis NI 9144, grazie al riconoscimento automatico di tutti gli slave connessi e dei relativi moduli da parte di LabVIEW 8.6 Real-Time. LabVIEW fornisce un facile accesso ai canali fisici utilizzando le viariabili di I/O click-and-drag, pannelli di test live, e forzatura degli I/O per la risoluzione dei problemi. Per maggiori informazioni sui canali di I/O deterministico distribuiti di National Instruments, clicca sui seguenti link.

Link correlati:
Realizzare sistemi real-time con I/O distribuito
Chassis di espansione NI 9144 in dettaglio