I continui progressi tecnologici hanno determinato un progressivo abbandono dei sistemi di controllo centralizzato a favore di quelli distribuiti. Nel primo caso, una rete di sensori remoti comunica le informazioni a un microcontrollore centrale che provvede a elaborarle per comandare, in accordo con esse, gli attuatori. Nei sistemi distribuiti, invece, la capacità di controllo è delocalizzata, i diversi nodi della rete sono dotati di intelligenza propria e comunicano tra loro mediante protocolli standard. I vantaggi principali di una tale soluzione sono certamente una migliore affidabilità, maggiore flessibilità, minori costi di sviluppo e tempi di progettazione inferiori, gestione più efficiente dell’energia del sistema, oltre alla disponibilità di funzionalità avanzate di controllo e monitoraggio.
La realizzazione di sistemi di controllo distribuiti richiede, tuttavia, la definizione di adeguate reti di controllo con caratteristiche profondamente diverse dai più diffusi protocolli di trasmissione dati adottati oggi, per quanto concerne, ad esempio, gli aspetti di costo, prestazioni, affidabilità e tempi di risposta. LONWORKS è una delle soluzioni aperte più diffuse in questo ambito. Di seguito ne sono presentate le caratteristiche principali. Il protocollo è stato inventato dalla Echelon e sottoposto all’ANSI nel 1999 per essere quindi standardizzato come ANSI/CEA-709.1B. Nel Dicembre 2008 le organizzazioni ISO e IEC hanno infine ratificato la specifica come ISO/IEC 14908 (Parti 1-4). Diversi standard adottano oggi tale raccomandazione per la definizione dei propri livelli fisici e data link; tra questi vi è, ad esempio, il protocollo BACnet, diffusamente utilizzato in applicazioni di automazione domestica.
IL PROTOCOLLO CNP
Lo standard LONWORKS definisce un protocollo di rete (di seguito indicato come CNP - Control Network Protocol) a basso costo, affidabile e robusto per applicazioni di controllo. Le caratteristiche principali della specifica sono: la trasmissione efficiente e affidabile dei messaggi, grazie alla riduzione dell’overhead legato al protocollo stesso ed alla implementazione di un meccanismo di retry in caso di errore; il riconoscimento dei messaggi duplicati; il supporto di diversi mezzi fisici di connessione; la selezione di dispositivi a basso costo; la riduzione dei costi di installazione e manutenzione; l’uso efficiente della banda di trasmissione mediante innovativi protocolli di accesso al mezzo fisico; l’interoperabilità dei dispositivi; la separazione dei sistemi, mediante la definizione dei domini e le connessioni di questi mediante gateway; la protezione dai tentativi di tampering della rete da parte di utenti non autorizzati. La specifica segue la classica struttura OSI in 7 livelli, ovvero physical layer, link layer, network layer, transport layer, session layer, presentation layer ed application layer.
IL LIVELLO FISICO DEL PROTOCOLLO
A livello fisico, in particolare, il protocollo risulta essere indipendente dal mezzo di trasmissione. Sono supportate, ad esempio, connessioni mediante coppie twistate, linee di potenza e fibre ottiche o trasmissioni wireless RF o infrarosse. La tabella in Figura 1 elenca le implementazioni di canale oggi più diffuse. La specifica TP/FP-10, ad esempio, adotta connessioni su cavo twistato (con o senza schermatura), con rete con topologia (a stella, bus o loop) non meglio specificata. Il transceiver implementa una codifica di linea di tipo Manchester; il bit-rate di trasmissione è 78.125 kbps. La terminazione di canale è di tipo RC, singola o doppia; in questo secondo caso è consentita la connessione dei nodi a esso mediante stub di lunghezza fino a 3 metri. Nel caso di cavi schermati è raccomandato, come al solito, il grounding dello schermo mediante parallelo RC per disaccoppiare in continua. È prevista la possibilità di trasferire sulla stessa linea dati e potenza. L’alimentazione è fornita da un unico generatore di rete con tensione di uscita a 48 V; è definito un unico punto di massa sulla rete. I nodi sono quindi dotati di circuiti di alimentazione switching locali per il condizionamento della potenza e la generazione delle tensioni di lavoro proprie.
IL LIVELLO DATA LINK
L’accesso al mezzo fisico da parte dei nodi è regolato da uno schema di arbitraggio che è una variante di tipo predittivo del metodo CSMA (Carrier Sense Multiple Access) p-persistente. In tale variante, il nodo accede alla rete (ove abbia dati da spedire) in uno slot temporale casuale con probabilità p che viene ricalcolata dinamicamente sulla base del carico attuale della rete. Il calcolo viene fatto sulla base del numero di risposte attese e ricevute per ogni messaggio correttamente inoltrato; tale numero è specificato dal messaggio stesso. In questo modo, i nodi riescono a minimizzare i ritardi di accesso al mezzo durante i periodi di scarso carico della rete e allo stesso tempo ridurre le collisioni nei casi di carico elevato. Il risultato è un’ottimizzazione del throughout di rete complessivo; benchmark di valutazione hanno mostrato, in questo senso, che su una rete a 78.125 kbps, con pacchetti di dimensione tipica di 12 byte, è in grado di sostenere un throughout di 320 pacchetti per secondo, con picchi fino a 400. Per consentire la trasmissione privilegiata dei messaggi critici è inoltre previsto un meccanismo di priorità dei messaggi. I frame dati consistono, come mostrato in Figura 2, di diversi campi, ovvero: preambolo, link layer header, network layer datagram, CRC, end-of-packet. Il preambolo consente la sincronizzazione della trasmissione sul canale tra nodi aventi clock asincroni mentre il network layer datagram costituisce il messaggio generato dal livello di rete. La dimensione massima del pacchetto è 249 byte, ad esclusione del campo di sincronizzazione.
NETWORK E TRANSPORT LAYER
Lo smistamento dei pacchetti tra i diversi nodi è gestito dal livello di rete. Ogni nodo è univocamente individuato da un indirizzo che comprende l’indirizzo di dominio, di subnet e di nodo stesso. Un dominio, come accennato in precedenza, è una collezione di uno o più canali; la comunicazione può avvenire soltanto tra dispositivi nello stesso dominio. Subnet e gruppi sono, invece, collezioni di dispositivi in uno stesso dominio; nel caso delle subnet questi devono essere connessi allo stesso segmento di rete mentre per i gruppi non vi sono imposizioni sulla loro dislocazione fisica. Le subnet, in particolare, possono includere fino a 127 nodi e ve ne possono essere fino a 255 in uno stesso dominio. Alcuni esempi di organizzazione di gruppi e subnet sono mostrati in Figura 3. I canali, come si vede, sono connessi tra loro. Ne sono previsti 4 diversi tipi: repeater, che inoltrano semplicemente tutti i messaggi in ingresso tra due canali; bridge, che inoltrano messaggi con indirizzo di dominio valido; learning router, che monitorano il traffico della rete per riconoscere la topologia di questa a livello di dominio/subnet e inoltrare coerentemente con questa i messaggi in ingresso; configured router, che inoltrano i messaggi tra canali sulla base di una matrice di routing interna. Le modalità di trasmissione dei messaggi sulla rete sono definite dal livello di trasporto del protocollo. Lo standard CNP prevede da questo punto di vista quattro diversi servizi: acknowledged, request/response, repeated, ed unacknowledged. Nel primo caso, ad esempio, il trasmettitore invia il messaggio a una o più destinazioni e attende il relativo riconoscimento; se non riceve questo da tutti i destinatari entro un tempo di attesa predefinito, provvede a ripetere la transazione. Il numero di tentativi e il tempo di attesa sono ovviamente configurabili.
SESSION, PRESENTATION E APPLICATION LAYER
A più alto livello, il session layer del protocollo fornisce quindi i servizi di richiesta/risposta e autenticazione. Quest’ultimo in particolare è implementato mediante distribuzione di una chiave a 48 bit, specifica di ogni dominio, a tutti i nodi a esso appartenenti prima della loro installazione sul campo. Il presentation layer definisce, invece, i diversi tipi di messaggi utente previsti dal protocollo, ovvero: User Application Message, Standard Application Message, Foreign Frame Message, Network Diagnostic Message, Network Management Message e Network Variable Message. In ultimo, l’Application Layer specifica i servizi di configurazione e diagnostica di rete, di trasferimento file (di dimensioni fino a 2 Gbyte), specifica, configurazione, gestione e diagnostica di applicazione oltre all’insieme di comandi per lo scheduling degli eventi e la sincronizzazione del tempo dei nodi.
SOLUZIONI PER UNA RETE LONWORKS: COMPONENTI E TOOL
Echelon rende ovviamente disponibile una serie completa di soluzioni per realizzare reti LONWORKS. LonTalk, in particolare, è la denominazione dell’implementazione Echelon compatibile con la specifica CNP - ISO/IEC 14908-1 descritta in precedenza. Il processore Neuron 5000 (Figura 4), ad esempio, è un controller di nodo per rete LONWORKS disponibile in package di ridotte dimensioni e caratterizzato da una frequenza di lavoro interna fino a 80 MHz, 64 kbyte di memoria RAM e 16 kbyte di ROM on-chip, 12 pin di I/O, interfaccia seriale SPI o I2C. Oltre a esso sono disponibili transceiver per canali realizzati con cavo twistato e reti Power Line come pure interfacce di rete per PC desktop o notebook. Il modello U10/U20 per reti TP/FP-10 e PL-20, ad esempio, dispone di connessione USB 2.0; Il 4210x è un router a 2 canali per reti LONWORKS TP/FT-10, TP/XF-78, e TP/XF-1250 disponibile per montaggio a parete o su guida DIN; l’i.LON 600 è invece un router LonTalk-to-IP per l’accesso sicuro a Internet di tali reti. LonScanner è un analizzatore di protocollo di rete mentre LonMaker Integration Tool è l’ambiente per la progettazione, installazione e manutenzione di reti LONWORKS.