Skip to content

Comunicazione Industriale

Storia di successo: OPC al servizio della Sanità

sincrotrone
Quando venne costruito il primo centro di adroterapia in Italia, il Cnao di Pavia, si scelse il protocollo OPC per la comunicazione all’interno del sistema di controllo dell’impianto. 
Tuttavia, per ragioni storiche e di compatibilità, non fu possibile basare l’intera architettura sullo standard OPC UA (Unified Architecture). 
Era necessario realizzare un middleware OPC in modo semplice e veloce per il collegamento di un livello software utilizzando lo standard OPC Classic. 
Gli SDK di Softing forniscono librerie complete di tutte le funzionalità OPC, per l’implementazione di un middleware in modo semplice e veloce. 

L’adroterapia è un’ innovativa radioterapia in cui si cura il cancro attraverso l’irraggiamento di particelle atomiche dette adroni, protoni o ioni carbonio.

Il Cnao è gestito da un complesso sistema di controllo, progettato per somministrare in maniera automatica la dose corretta al paziente. 

Inoltre è presente un sofisticato sistema di sicurezza, che monitora continuamente i vari parametri di trattamento e interviene per arrestare automaticamente il fascio in caso di problemi o errori.

CNAO

Il sistema di controllo

Il sistema di controllo si compone di circa 300 computer, che permettono al sincrotrone di produrre il fascio di energia con le caratteristiche richieste.

Il software ha 4 livelli che svolgono operazioni specifiche per fornire servizi al livello immediatamente superiore o agli operatori. 

Requisiti per ottenere una comunicazione affidabile e puntuale

Il sistema di controllo è distribuito tra centinaia di computer e strutturato con un’architettura a più livelli: uno degli aspetti più importanti è lo scambio affidabile e puntuale di dati.

All’interno delle applicazioni mediche il protocollo Dicom (Digital Imaging and Communication in Medicine) è quello maggiormente utilizzato per lo scambio di informazioni tra dispositivi diagnostici.
Tuttavia, questo protocollo non è adatto per lavorare con un insieme di computer industriali che devono collaborare tra loro in un lasso di tempo di pochi millisecondi.

È stata quindi effettuata una revisione dell’intera architettura ed è stato scelto OPC UA per lo scambio dati tra le centinaia di computer del sistema di controllo.

Purtroppo però, il Data Management Layer non è in grado di utilizzare la comunicazione OPC UA.

Si è quindi deciso di utilizzare il protocollo OPC Classic per la comunicazione tra il secondo e il terzo livello del sistema di controllo; un middleware è incaricato di convertire la comunicazione OPC UA in OPC Classic e viceversa.

livelli middleware

Sviluppo middleware di successo

Per lo sviluppo del middleware Cnao si è affidata alle SDK di Softing per OPC Classic .NET Server e OPC UA .NET Client. 
Utilizzando le dataFeed OPC SDK di Softing è stato sviluppato il middleware da una sola persona in soli tre mesi.

Come funziona il middleware?
Il middleware Cnao implementato supporta la comunicazione bidirezionale e permette di collegare un numero arbitrario di server OPC UA. Il numero totale di nodi gestiti dal middleware non è limitato dal software stesso, ma da aspetti temporali.
Il numero di istanze middleware in esecuzione non è fisso, ma una CPU è limitata a una sola istanza. I server OPC UA possono essere aggiunti al middleware e spostati da un’istanza middleware a un’altra senza influenzare il codice middleware.
L’implementazione attuale consiste in cinque istanze middleware che servono 15 server OPC UA con un totale di 8.000 variabili.

Le istanze lavorano 24 ore su 24 e trasferiscono i dati che arrivano dal Master Timing ogni due secondi circa. I dati raccolti vengono immediatamente inviati ad applicazioni che monitorano il comportamento dell’acceleratore e producono analisi e allarmi.

I vantaggi della soluzione Softing

  1. Affidabilità dei dati: la soluzione garantisce la correttezza dei dati raccolti. Per monitorarne il funzionamento è stata aggiunta un’interfaccia utente al middleware, che mostra un elenco delle variabili trasferite con i loro valori effettivi e informazioni aggiuntive sullo stato letto dai server OPC UA.
  2. Esecuzione di test: l’interfaccia utente supporta anche l’assegnazione di valori alle variabili e l’esecuzione diretta delle operazioni, quindi può essere utilizzata anche per svolgere test. Inoltre, l’interfaccia utente fornisce una panoramica sullo stato dei server OPC UA collegati.
  3. “Ibernazione”: se un server OPC UA non funziona correttamente, o se è stato impostato in modalità ‘manutenzione’, è contrassegnato in rosso e può essere escluso dall’elenco dei server OPC UA che il middleware cerca di raggiungere. L’ operatore può attivare o disattivare la modalità “ibernazione” in autonomia. 

La soluzione implementata risulta robusta e resiliente, consentendo la corretta conversione tra OPC UA e OPC Classic durante il suo funzionamento.

Il cliente soddisfatto afferma: “I toolkit hanno soddisfatto le nostre esigenze facilitando lo sviluppo del software, mentre gli aggiornamenti hanno garantito la compatibilità con i nuovi trend tecnologici. Grazie all’utilizzo delle dataFeed OPC SDK di Softing abbiamo implementato un middleware robusto e resiliente”.