PROFIBUS, con diversi milioni di dispositivi installati a livello mondiale, si è imposto negli anni come il principale e più diffuso bus di campo per applicazioni nei settori dell’automazione industriale e del controllo di processo. Scopriamo in questo articolo le sue caratteristiche, i suoi pregi, ed i suoi campi di utilizzo.
Dal punto di vista storico, il PROFIBUS (acronimo di PROcess FIeld BUS) ha avuto origine in Germania nel 1987, quando un consorzio di 21 aziende e istituzioni tedesche, con l’appoggio delle autorità pubbliche, diede vita ad un progetto comune di bus di campo basato su una trasmissione di tipo seriale e con l’obiettivo di standardizzare l’interfaccia verso i dispositivi di campo. Il primo passo si concretizzò con l’introduzione del PROFIBUS FMS (Fieldbus Message Specification), incentrato principalmente sulla definizione del protocollo di comunicazione (di tipo multi-master). Nel 1993 vennero poi emesse le specifiche relative al protocollo PROFIBUS DP (Decentralized Periphery), più veloce, economico e facile da configurare (dispone della funzionalità “plug and play”), che oggi è disponibile in tre versioni scalabili DP-V0, DP-V1, e DP-V2. Si stima che circa il 90% delle attuali applicazioni PROFIBUS siano basate su questo tipo di protocollo. Il terzo ed ultimo membro della famiglia PROFIBUS è rappresentato dalla versione PA (Process Automation), concepita specificatamente per il controllo di processo. Per questo tipo di applicazioni, il bus utilizza due soli fili che portano sia le informazioni (dati) che l’alimentazione e viene ampiamente utilizzato nell’ambito dei sistemi a sicurezza intrinseca. I tre tipi di sistema possono anche essere utilizzati in modo combinato: FMS e DP condividono lo stesso tipo di trasmissione elettrica (standard RS485), mentre PA si basa sullo standard IEC 1158-2 (sicurezza intrinseca e “power on line”) ma condivide con gli altri due lo stesso tipo di protocollo. FMS non viene più supportato da PROFIBUS International (l’ente che certifica i dispositivi e fornisce le specifiche) ma sono tuttora operative diverse installazioni che utilizzano questo sistema.
Il bus di campo
Il bus di campo è un sistema di comunicazione industriale che utilizza come mezzo trasmissivo cavi di rame, fibre ottiche, oppure link wireless, consentendo a dispositivi di campo distribuiti (come sensori, attuatori, motori, trasduttori) di comunicare con un sistema centrale di controllo. La tecnologia dei bus di campo è stata sviluppata negli anni ’80, quando si percepì la necessità di convertire i sistemi allora basati su cablaggi punto-punto con un sistema basato invece su un bus comune, prediligendo inoltre sistemi di trasmissione di tipo seriale. Vennero successivamente emessi gli standard IEC 61158 e IEC 61784, ai quali il PROFIBUS è pienamente conforme. Oggi PROFIBUS viene impiegato in praticamente tutti i campi dell’automazione, dall’automazione della produzione, all’automazione di processo, ma anche nei sistemi di produzione e distribuzione dell’energia. La tecnologia dei bus di campo ha apportato una considerevole innovazione nel settore dell’automazione, guidando la migrazione dai sistemi prettamente centralizzati a quelli con architettura distribuita. Un’altra importante caratteristica di PROFIBUS è quella di basarsi su uno standard di tipo “open” piuttosto che su soluzioni di tipo proprietario; ciò da un lato garantisce un’elevata longevità del prodotto, e dall’altro assicura espandibilità e continui aggiornamenti nel tempo. Viene inoltre assicurata la compatibilità e l’interoperabilità tra dispositivi di produttori differenti.
Caratteristiche di PROFIBUS
I principali vantaggi offerti dal PROFIBUS sono i seguenti:
» drastica riduzione della quantità di cavi e dei collegamenti rispetto alle soluzioni punto-punto;
» comportamento “deterministico” del sistema (nella versione DP);
» possibilità di trasferire ed acquisire considerevoli quantità di dati dai dispositivi di campo, utilizzabili sia in fase di configurazione che per finalità diagnostiche;
» elevata flessibilità nella fase di definizione del layout del sistema;
» possibilità di espansioni e modifiche future.
Grazie alla disponibilità di tre versioni ed all’elevato grado di compatibilità tra le stesse, PROFIBUS si adatta a tutti i seguenti tipi di applicazioni:
» sistemi di controllo automatici distribuiti;
» applicazioni che richiedono elevate velocità di comunicazione e comportamenti real-time;
» sistemi di automazione atti ad operare in zone pericolose (industrie chimiche, raffinerie, ecc...) e a rischio esplosione.
Anche se non sono oggetto del presente articolo, citiamo anche due estensioni del PROFIBUS: PROFISafe, introdotto per gestire applicazioni ad elevato grado di affidabilità e sicurezza, e PROFINet, per applicazioni integrate a livello di networking. In figura 1 è mostrato uno schema in cui si evidenziano le aree di applicazione del PROFIBUS a vari livelli.
Il protocollo PROFIBUS
Tutte e tre le versioni di PROFIBUS (FMS, DP, e PA) si basano su un protocollo comune di accesso al bus. Questo protocollo viene implementato nel livello 2 del modello OSI (Open Systems Connection), come mostrato in figura 2.
Questo livello viene anche chiamato FDL (Fieldbus Data Link) e si occupa di gestire i protocolli di trasmissione, la sicurezza dei dati inviati sul bus, e di prevedere meccanismi in grado di rilevare la presenza di errori. Il protocollo PROFIBUS è stato progettato in modo tale che le tre varianti possano lavorare assieme, fornendo sistemi dotati di elevata velocità, determinismo nel controllo del campo (DP), economicità con collegamenti basati su due soli fili (PA), e funzionalità estese per il controllo di alto livello (FMS). Per quanto concerne il livello fisico (1), PROFIBUS utilizza tre sistemi di trasmissione, ognuno con il proprio campo di applicazione:
» RS485 (indicato anche con il termine H2): si tratta di un sistema di comunicazione semplice, robusto ed economico basato su un cavo schermato con due soli fili. La velocità di trasmissione è compresa tra 9,6 kbit/s e 12 Mbit/s, mentre la lunghezza massima di un segmento (funzione della velocità di trasmissione) può andare da un minimo di 100 m fino ad un massimo di circa 1200 m. Su ogni segmento possono essere collegati fino a 32 nodi;
» fibra ottica (detta anche FO): i cavi in fibra ottica (derivati sia dalla platica che dal vetro) garantiscono comunicazioni ad elevata velocità con bassa interferenza ed elevato isolamento elettrico. Le velocità di comunicazione sono le stesse del caso precedente, mentre la lunghezza massima del segmento è pari a 80 m per fibre di plastica e può superare anche i 15 km nel caso di fibre di vetro di tipo singlemode;
» Manchester Bus Powered (detto anche MBP o H1): utilizza un cavo schermato con una coppia di fili che trasmettono sia i dati che l’alimentazione. Dispone di certificazione per sistemi a sicurezza intrinseca e viene utilizzato dalla versione PA per applicazioni in aree a rischio esplosione. Ad ogni segmento possono essere collegate fino a 32 stazioni. I segmenti di tipo PA utilizzano solitamente una velocità di trasmissione pari a 31.25 kbit/s. Per quanto concerne la topologia di una rete PROFIBUS, occorre anzitutto dire che il numero massimo di dispositivi collegabili ad una rete è pari a 126, mentre il numero massimo di dispositivi per singolo segmento (con trasmissioni di tipo H1 e H2) è pari a 32. I segmenti sono poi connessi tra di loro utilizzando dei ripetitori, dei collegamenti in fibra ottica, oppure degli accoppiatori, come visibile in figura 3.
I segmenti che impiegano trasmissione RS485 sono sempre collegati in modo lineare (daisy-chain) mentre i segmenti basati sul sistema MBP possono essere connessi con una giunzione a ‘T’. In funzione del particolare tipo di trasmissione adottato, le diverse tipologie ottenibili sono le seguenti:
» RS485 (H2): topologia lineare o ad albero;
» fibra ottica (FO): topologia lineare, a stella, e ad anello;
» MBP: topologia lineare, ad albero, e ad anello.
Dispositivi Master e Slave
Tutte le informazioni che viaggiano sul PROFIBUS vengono trasmesse sotto forma di messaggi, o telegrammi, e scambiate tra i vari nodi (stazioni) presenti sulla rete (la lunghezza massima del singolo telegramma è pari a 244 byte). Le stazioni possono essere di tipo Master oppure Slave: il Master è un nodo attivo ed ha la funzione di controllare la rete, mentre ogni Slave ha il compito di rispondere soltanto ai telegrammi inviati dal Master che li controlla. E’ consentita la presenza di più Master all’interno di una stessa rete, ma tutte le stazioni di uno stesso tipo hanno la stessa priorità; ciò evita di ricorrere a meccanismi di arbitraggio per risolvere problemi di collisione o di blocco relativi agli Slave. Nel PROFIBUS DP, le stazioni di tipo Master possono poi essere di due tipi diversi:
» Classe 1 (DPM1): la stazione Master scambia informazioni con ogni suo Slave in modo ciclico. Un esempio tipico è rappresentato da un PLC (Programmable Logic controller) oppure da un sistema di controllo basato su PC equipaggiato con software dedicato. Il Master di Classe 1 seleziona il baud rate (sugli Slave è presente la funzione di autodetect della velocità) e ciclicamente acquisisce ed invia dati agli Slave di propria competenza sulla base di uno scheduling predefinito. Può anche comunicare (passivamente) con un altro Master ma solo se di classe 2.
» Classe 2 (DPM2): si tratta di Master con funzionalità speciali per consentire la configurazione degli Slave, la diagnosi e la manutenzione del sistema. Per svolgere questo compito vengono solitamente utilizzati dei portatili oppure delle specifiche consolle di programmazione. Il Master di Classe 2 è una sorta di supervisore, nel senso che puo’ comunicare non solo con gli Slave, ma anche con i Master di classe 1 e con gli Slave a questi appartenenti (anche se il controllo in questo caso è limitato alle sole operazioni di lettura degli I/O). Ogni Slave può appartenere ad un solo Master di classe 1 e questa allocazione viene stabilita durante la fase di configurazione della rete; lo Slave esegue il monitoraggio continuo del bus e risponde solamente ai telegrammi ad esso destinati. Per poter distinguere dagli altri ogni Slave presente sulla rete, è necessario assegnare a ciascuno di essi un indirizzo univoco. L’indirizzo viene stabilito durante la fase di configurazione del sistema e può essere attribuito con uno dei seguenti modi: tramite un dip-switch locale al dispositivo, tramite un nodo Master di Classe 2 che configura l’indirizzo agendo sul bus tramite opportuno software di controllo, oppure tramite un’interfaccia seriale collegata ad un dispositivo di configurazione (ad esempio un PLC o un piccolo terminale). Sono consentiti fino a 128 indirizzi diversi (0-127), ma il 127 è riservato ai messaggi di broadcast ed il 126 per impostare l’indirizzo tramite un Master di classe 2 (uno Slave con questo indirizzo risponde solo al telegramma “set slave address”).
Comunicazione ciclica
Con il PROFIBUS DP si riesce ad ottenere un comportamento deterministico schedulando in modo ciclico il trasferimento di comandi e dati verso/da i singoli Slave (l’ordine di interrogazione degli Slave avviene in base a valori crescenti di indirizzo). Si consideri come esempio una rete composta da un singolo Master M e da tre Slave (S1-S3), come illustrato in figura 4.
La schedulazione di tipo ciclico viene attuata dal Master eseguendo anzitutto l’interrogazione dello Slave S1, e ricevendo da questo il corrispondente messaggio di risposta; si procede poi con con lo Slave S2 e così via fino all’ultimo A questo punto inizia un nuovo ciclo (partendo sempre da S1) ed il processo si ripete in questo modo indefinitamente. La schedulazione ciclica può essere rappresentata agevolmente in forma tabellare (tabella 1).
Nel caso di rete multi-master, occorre gestire (sincronizzare) l’azione svolta sugli slave dai due o più Master. Per fare ciò, si ricorre al concetto di “token”: esiste un solo “token” nella rete (scambiato tra un Master e l’altro) e ogni Master può acquisire il controllo del bus (e quindi degli Slave di propria competenza) solo quando è in possesso del “token”. In altre parole, il “token” implementa un semplice ed efficiente meccanismo di mutua esclusione tra i Master. In figura 5 è mostrato un caso con due Master e tre Slave totali (due controllati da M1 ed uno da M2).
La corrispondente tabella di schedulazione è riportata in tabella 2. Nel caso in cui non fosse possibile rispettare i tempi previsti dalla schedulazione, il Master ha sempre la possibilità di recuperare la situazione inviando dei messaggi di alta priorità.
Configurazione della rete
Ciascun dispositivo collegabile al PROFIBUS ha delle proprie caratteristiche e parametri che richiedono un’accurata programmazione prima di rendere operativa la rete (ad esempio il baud rate, il numero di I/O, la lunghezza del telegramma, i messaggi di diagnosi, ecc...). Quest’operazione viene solitamente eseguita dal controllore Master della rete, dotato di un opportuno software di configurazione. Al fine di semplificare quest’attività, tutti i produttori di dispositivi PROFIBUS forniscono a corredo di ogni loro prodotto un file standard di tipo “GSD” (acronimo di General System Description), contenente tutte le caratteristiche del dispositivo ed i relativi parametri programmabili. Questi file, avendo una struttura standard, possono essere interpretati dal software di configurazione indipendentemente dalla loro provenienza; in questo senso si realizza l’interoperabilità del PROFIBUS.
Start-up della rete
Durante la fase di start-up, la stazione Master di classe 1 invia inizialmente ad ogni suo Slave un telegramma di tipo “set parameters”: lo Slave riceve in questo modo l’impostazione per ogni parametro rilevante e si “lega” a quel particolare Master. Successivamente, il Master invia il telegramma “check configuration” al fine di verificare che ogni Slave sia programmato nel modo atteso. Infine, il Master invia il telegramma “diagnostic request”, al quale lo Slave risponde indicando se le operazioni di programmazione e configurazione hanno avuto esito positivo, segnalando anche eventuali problemi o failure riscontrate. Se anche questa fase si completa con successo, lo Slave può iniziare a scambiare informazioni sotto il controllo del Master. Durante il normale funzionamento del bus, il Master controlla costantemente lo stato di ogni Slave, ma anche lo Slave attua una procedura di controllo automatico di presenza del Master. In pratica, un watchdog timer viene azzerato ogni volta che lo Slave riceve un messaggio corretto dal proprio Master; se il timer scade, lo slave assume che il collegamento con il Master non è più operativo, perciò si porta autonomamente in uno stato di sicurezza in cui tutte le sue uscite vengono poste in fail-safe.
PROFIBUS PA
PROFIBUS PA è stato espressamente progettato per applicazioni nel settore petrol-chimico. Esso condivide con le versioni DP ed FMS lo stesso Fieldbus Data Link (FDL, corrispondente al livello 2 del modello OSI), ma il livello fisico è ottimizzato per soddisfare le esigenze dell’industria di processo tramite l’utilizzo della trasmissione MBP. Poichè il livello fisico è differente, per integrare dispositivi PA con altri di tipo DP (figura 6) occorrono degli specifici accoppiatori DP/PA.
Tuttavia, la comunanza dei livelli 2 e 7 del modello OSI permette di gestire i diversi dispositivi in modo “trasparente” (il Master non riscontra differenze nel gestire dispositivi DP o PA). In figura 7 è mostrato un sensore di pressione per PROFIBUS PA adatto ad operare in ambienti a rischio esplosione.
Conclusioni
PROFIBUS è un bus di campo per applicazioni distribuite (o decentralizzate) in quanto gli I/O sono ripartiti tra i vari slave presenti nella rete. E’ inoltre un bus economico (può utilizzare due soli fili) e veloce, si basa su uno standard di tipo “open” al quale aderiscono i produttori di tutto il mondo, ha caratteristiche di interoperabilità (file standard di configurazione), e possiede funzionalità plug-and-play.
Caratteristiche quali flessibilità, modularità e semplicità di utilizzo rendono il Profibus adatto a supportare numerose applicazioni di Industry 4.0, dove l’utilizzo di strumenti standardizzati, efficienti e affidabili è un requisito imprescindibile.