Integrazione OPC UA: leggere e scrivere sulle macchine che espongono un server
Un’integrazione OPC UA collega il vostro software al server OPC UA che gira sulla macchina o sul suo PLC, e da lì legge contatori, stati e allarmi senza toccare il programma di bordo. Se la macchina segue una companion specification, metà del lavoro di mappatura è già fatto.
Cosa colleghiamo
Colleghiamo un client OPC UA, scritto da noi, ai server OPC UA delle vostre macchine. OPC UA è lo standard IEC 62541 della OPC Foundation: ogni server espone un albero di nodi, ciascuno con un identificativo, un tipo e un valore, e il client li può sfogliare, leggere, scrivere o seguire nel tempo.
Il punto che cambia la durata del progetto è il modello dei dati. Una pressa a iniezione che segue Euromap 77, o una macchina utensile conforme a umati, espone i dati con nomi già concordati fra costruttori: il numero di cicli si chiama allo stesso modo su due marche diverse. Una macchina senza companion specification espone invece i nomi scelti da chi ha scritto il programma, e quei nomi vanno decifrati uno per uno con il suo programmatore.
I dati che si scambiano
Quelli di un collegamento per il monitoraggio di una linea. La scrittura verso la macchina si abilita solo dove serve.
| Dato | Direzione | Frequenza |
|---|---|---|
| Stato macchina (in ciclo, ferma, in allarme, in setup) | Macchina → software | Sottoscrizione, a ogni cambio |
| Contapezzi buoni e scarti | Macchina → software | Sottoscrizione, a ogni cambio |
| Allarmi con codice e testo | Macchina → software | Evento OPC UA, quando scatta |
| Temperature, pressioni, assorbimenti | Macchina → software | Campionamento ogni 1–10 secondi |
| Codice ordine e articolo in lavorazione | Software → macchina | A ogni cambio ordine |
| Parametri di ricetta | Software → macchina | Su conferma dell’operatore |
Come è fatta l’architettura
Vicino alle macchine mettiamo un piccolo servizio di raccolta, su un PC industriale o una macchina virtuale in stabilimento. Apre una sessione verso ogni server OPC UA e crea delle sottoscrizioni: invece di chiedere il valore ogni secondo, chiede al server di avvisarlo quando cambia. Con decine di macchine il traffico scende di molto rispetto al polling.
Il servizio scrive i valori in un database di serie temporali e li inoltra al software centrale, che sta in sede o in cloud. Se la rete verso la sede cade, il servizio tiene i dati in coda e li manda quando torna. Il software centrale non parla mai direttamente con le macchine.
Sicurezza
- Modalità SignAndEncrypt dove il server la supporta: chi intercetta il traffico in rete non legge i valori e non li può alterare.
- Un certificato X.509 per il nostro client, da aggiungere alla lista dei certificati fidati di ogni server. Niente accettazione automatica.
- Un utente OPC UA dedicato al software, in sola lettura sulle macchine dove non serve scrivere.
- La porta 4840 resta sulla rete di stabilimento. Verso l’esterno esce solo il servizio di raccolta, in uscita.
Domande frequenti
Parliamone in 30 minuti
Raccontateci il processo e cosa non funziona: vi diciamo se e come lo risolveremmo, con tempi e costi indicativi.
