Quando si parla di interconnettere la macchine, queste possono comunicare con l’esterno in modo semplice oppure in modo più sofisticato ed in base a questo si possono decidere strategie differenti, con rischi e opportunità diverse.
Immaginate una azienda con un impianto dove lavorano decine se non centianaia di macchine “semplici”, non tanto per il compito che svolgono, ma per la loro capacità di comunicare veso l’esterno. E’ il classico esempio di macchine con il PLC che viene interfacciato con Modbus, dove si scrivono e si leggono dei registri.
E’ una comunicazione perfetta per le macchine: i protocolli garantiscono tempistiche certe per lo scambio dei dati, sono compatte e quindi molto adatte per un funzionamento ed un coordinamento in tempo reale.
Ma quando devo calcolare le prestazioni della macchina, o avere uno storico del funzionamento, si rende necessario raccogliere questi dati puntualmente disponibili nel PLC e creare uno storico, combinare informazioni semplici per crearne di strutturate, aggregarle per avere macro indicatori.
Un esempio estremamente banale è un grafico dello stato della macchina con due valori: in funzione e non in funzione. Puntualmente la macchina mi può fornire questa indicazione, ma è solo una valutazione sul lungo periodo che mi indica se la macchina sta lavorando “bene” o “male” rispetto alle attese dell’azienda. La macchina stessa non è in grado di dirmelo (e probabilmente non è neanche un suo compito).
Esistono piattaforme di ogni tipo e costo per colmare questa “lacuna”, sistemi certe volte nati per coordinare un impianto ma che agevolmente sono in grado, avendo tutte le informazioni e la capacità di memorizzazione, di andare oltre e fornire dati anche altre funzioni dell’azienda. Tra tutte quelle che si possono citare ne troviamo un paio che mi piacciono particolarmente e che sono KepwareEX e Ignition. Mi piacciono perché sono documentate, si possono installare e provare liberamente, hanno moltissimo materiale libero per studiarne il funzionamento.
Moltissime macchine non sono più un “semplice” PLC programmato per eseguire una specifica produzione. Spesso, oltre ai PLC, hanno dei veri e propri computer (PC industriali), non lontani dal normale PC che utilizziamo in ufficio. Questa è una scelta quasi naturale perché i computer “normali” hanno strumenti molto potenti per creare interfacce con l’operatore sofisticate ed in linea con le esperienze delle persone, fornire funzioni di storico della lavorazione, interfacce complesse con il mondo esterno.
In questi casi, e con una tale potenza di elaborazione, diventa sciocco ed inefficiente andare a leggere pochi valori grezzi dalla macchina, ma sarà la macchina stessa a fornire dati strutturati ed aggregati pronti per un utilizzo ad alto livello. Ed anche lo scambio dati non passerà più per protocolli industriali come il Modbus, ma direttamente con protocolli afferenti al mondo IT come HTTP, MQTT, FTP, accesso a database.
Altro caso sono macchine che non montano un PC industriale ma hanno dispositivi di interfaccia uomo macchina (HMI) che sono, di fatto, dei piccoli computer. Questi dispositivi intermediano tra la parte di automazione e l’essere umano e proprio per questo sono in grado di fornire informazioni molto più elaborate di un PLC. Si vedono quindi macchine che non si interfacciano verso l’esterno attraverso un PLC ma attraverso l’HMI che offre uno strato di servizi in più.
Le piattaforme di integrazione si stanno adeguando anche su questo fronte, ma la presenza di questi componenti tipici dell’IT a bordo macchina è carente di un elemento fondamentale: gli standard. E non perché non siano implementabili, ma perché non sono conosciuti.
Così come nessuno comprerebbe una macchina con il Modbus da integrare nel sistema se poi i registri non sono documentati ed il collegamento non è immediato allo stesso modo una macchina con un PC industriale dovrebbe garantire una serie di protocolli di comunicazione pronti all’uso.
La comunicazioni di dati complessi richiede degli standard. Mettere a disposizione un log con un formato inventato o una cartella condivisa organizzata a gusto dello sviluppatore, finisce con il creare più problemi all’integrazione di quanti ne potrebbe risolvere. Eppure queste macchine hanno delle potenzialità di integrazione elevatissime.
Qui il produttore si trova di fronte ad un ponte tibetano: deve decidere se attraversalo per quanto possa sembrare difficoltoso o no. Per passare dall’altra parte è necessaria della formazione, non tanto nelle capacità di sviluppo, che normalmente ci sono, ma nella capacità di domandarsi come la mia macchina si connetterà ad altre macchine (e ora con macchine intendiamo anche i server dell’azienda) e studiare quello che è già disponibile, provato, ed inventato per risolvere i problemi che si possono incontrare.
Senza questa domanda fondamentale è come aver studiato un po’ di spagnolo fai da te e poi trovarsi in Olanda a parlare in fiammingo.
Si chiama edge computing
Forse chiamarlo in questo modo è un po’ esagerato, ma significa che la capacità di calcolo (e con essa la generale capacità di trasformare dai in informazioni) non sta tutta al centro in qualche sistema dell’IT perché le macchine sono “stupide”, ma è spostata in quota parte sulle macchine stesse. Il vantaggio è enorme, perché si allegerisce il carico sulla rete, permette tempi di offline della comunicazione in quanto la macchina ha una sua capacità di storico, permette di avere dati preelaborati e magari già uniformati.
Permette scambio di informazioni con protocolli più efficienti e/o più flessibili. Modelli publish/subscribe o interrogazioni dirette del database in macchina danno spazio a modellazioni dell’impianto più articolate e più veloci.
Pensate alla velocità di integrazione di una macchina che è in grado di fornire dati statistici (magari con modalità di calcolo configurabili sulla stessa), piuttosto che dover raccoglire i dati grezzi da un PLC, storicizzarli in un sistema centralizzato, applicare degli algoritmi di calcolo statistico per poi utilizzarli nelle successive elaborazioni.
Questa è una direzione scontata per varie ragioni. La prima in assoluto è che le macchine hanno necessità di complessità crescenti e quindi di strumenti a bordo sempre più “intelligenti”. E’ il percorso che hanno fatto i telefoni: continuano a permettere di telefonare, ma c’è stata a necessità di renderli touch e di inserivi applicazioni e di farli navigare in rete. Sono diventati dei computer veri e propri. Così capiterà alle macchine: oltre alla loro funzione produttiva, sempre fondamentale, avranno necessità crescenti di interconnessione, di capacità di calcolo, di far funzionare programmi via via più sofisticati e di conseguenza si alzeranno anche i livelli di capacità di comunicazione vero l’esterno.