
Part Production Cell — MES & OEE
OpenPLC, Ignition Perspective e SQLite: eventi, KPI e cause dei fermi macchina organizzati in modo chiaro.
Questo caso riguarda meno una singola schermata HMI e più un anello di controllo leggibile. Ho seguito le condizioni Ladder, lo scambio Modbus TCP e lo stato che un operatore vede in Ignition.
Sono partito da modalità e interblocchi in OpenPLC. Ho poi collegato Runtime a Ignition, verificato indirizzi e qualità dei tag, e solo dopo ho costruito la schermata Perspective.
L’obiettivo era pratico: seguire un comando dall’operatore al processo e di nuovo indietro. È un prototipo didattico, non un sistema di produzione né un sistema certificato per la sicurezza.

Sono partito da ciò che il PLC deve decidere. Ladder gestisce Auto e Manuale, soglie di livello, arresto di emergenza e interblocchi della pompa e della valvola di uscita. Lo scopo era definire quale logica può inviare un comando, non semplicemente eccitare un’uscita.

Sono partito da due modalità. In Auto, il PLC mantiene il livello. In Manuale, l’operatore invia una richiesta, ma il comando finale passa comunque dalla logica Ladder.
Lo scenario è semplice: la pompa si avvia al 35% e si arresta al 70%. Mostra il mantenimento di base del livello senza un anello PID.
Il livello alto-alto blocca la pompa. Il livello basso-basso chiude la valvola. L’arresto di emergenza rimuove entrambi i comandi. Questi limiti si applicano in entrambe le modalità.
Dopo la logica, ho collegato OpenPLC Runtime a Ignition tramite Modbus TCP. Ogni segnale ha indirizzo, tipo e direzione fissi. Ho quindi verificato la catena passo dopo passo: bit PLC, tag OPC, qualità Good e solo allora visualizzazione HMI.

Runtime espone la memoria del PLC a Ignition. Dopo un upload, ho verificato che Modbus fosse attivo e che la porta 502 fosse disponibile.
Ogni segnale ha indirizzo, tipo, direzione e proprietario fissi. Questo separa un problema di connessione da un conflitto tra writer di tag.
Ho controllato un segnale alla volta: bit PLC, tag OPC, qualità Good, visualizzazione HMI. In questo modo l’interfaccia non nasconde un problema di connessione.
Una volta stabile lo scambio, ho costruito la schermata operatore in Perspective. Riunisce modalità, comandi, livello, stato delle apparecchiature, allarmi e trend. La schermata legge lo stato del PLC invece di conservarne una versione propria.

Una schermata riunisce modalità, comandi, livello, stato effettivo delle apparecchiature e allarmi. L’HMI mostra dati del PLC, non un’ipotesi locale sullo stato.
Il trend di 15 minuti mostra cosa accade al livello dopo un comando. Il polling mantiene in movimento la finestra in tempo reale.
Ho verificato riempimento automatico, comandi manuali, alto-alto, basso-basso e arresto di emergenza. Il punto non era solo la schermata, ma l’intero percorso del segnale.
Cosa dimostra questo prototipo:

OpenPLC, Ignition Perspective e SQLite: eventi, KPI e cause dei fermi macchina organizzati in modo chiaro.

OpenPLC e Ignition: logica Ladder, macchina a stati in Structured Text, feedback dei sensori e cicli normali verificabili.

Monitoraggio enterprise per una centrale nucleare: stati del sistema, vincoli ingegneristici e logica 3D degli stoccaggi.