Storia del PowerPLC Bridge® - Il Soft-PLC creato da CJB
REPARTO R&D DI CJB
Introduzione
PowerPLC-Bridge® è un sistema di progettazione Soft-PLC composto da due parti: l’ Ambiente di Sviluppo e il Run-Time. L’ Ambiente di Sviluppo opera in sistemi Windows-based (x86~x64), ed è lo strumento che permette la progettazione, il debug e la totale simulazione delle applicazioni. Il Run-Time è il motore vero e proprio dell’applicazione, che si installa sul “target” hardware, cioè sul sistema che dovrà gestire l’automazione. Il Run-Time è disponibile per tutto l’Hardware di CJB. La programmazione si esegue con i linguaggi standard IEC-1131-3, e sul target è possibile integrare il Run-Time con applicazioni proprietarie. CJB fornisce a richiesta le librerie per agganciare il proprio software al Run-Time di PowerPLC-Bridge®.
Il PC che ospita l’Ambente di Sviluppo è collegato al sistema target tramite Ethernet TCP/IP. Nel caso di applicazioni distribuite, la stessa linea Ethernet collega i vari controllori a più istanze del software di programmazione, consentendo il debug complessivo in tempo reale del sistema, per cui l’ Ambiente di Sviluppo “vede” l’applicazione come un programma unico, anche se questo è distribuito su target differenti. Questa caratteristica è fondamentale per alcune applicazioni, come ad esempio, la Building Automazioni o la gestione di complesse linee di montaggio e lavorazione.
Come è nato PowerPLC-Bridge®
Agli inizi degli anni 2000 il reparto software di CJB era impegnato in un gran numero di progetti per sistemi di controllo e automazione industriale, dove la scrittura del software implicava una profonda conoscenza del sistema operativo (Linux Embedded/Real-Time. QNX, Windows) ma soprattutto dei linguaggi di programmazione (C, C++, etc.).
Ci siamo resi conto rapidamente che non tanto la scrittura del s/w, quanto il suo debug era la causa principale del tempo impiegato nella messa a punto della applicazione.
Così, sull’onda sia di richieste dei nostri clienti, sia di una analisi del nostro reparto s/w, abbiamo progettato un ambiente di sviluppo orientato al debug, alla simulazione, e alla velocità di sviluppo.
Mentre altre case ben più grandi sviluppavano i loro applicativi SoftPLC per uso commerciale, CJB ha focalizzato la progettazione di PowerPLC-Bridge® con l’obbiettivo di velocizzare la progettazione software, e semplificarne il debug.
Non solo, ma l’architettura di PowerPLC-Bridge® permette un facile collegamento remoto alle macchine dove è installato, assicurando una verifica remota del programma e una nalisi in tempo reale delle funzionalità implementate.
L’Architettura
Il run-time di PowerPLC-Bridge® risiede nell’hardware che gestisce l’automazione (la “logica”) del sistema: il cosiddetto “target”.
L’applicativo viene scritto nell’ambiente di sviluppo su PC e scaricato sul target, dove il run-time può eseguirlo.
Durante l’esecuzione è possibile eseguire verifiche funzionali e debug, sia locali che in remoto, collegando al target l’ambiente di sviluppo.
L’applicativo in ogni istante scrive/legge le variabili di stato tramite una memoria condivisa.
Questa operazione è fondamentale poiché un altro applicativo concorrente, per esempio la gestione dell’interfaccia-operatore (HMI) potrà visualizzare stati e dati a vide semplicemente leggendo la memoria condivisa, e anche aggiornare le variabili in seguito a comandi (es.: touch) dell’operatore.
Questa architettura a 4 livelli (run-time, applicativo di logica, memoria condivisa, HMI) è un altro punto a favore per la semplificazione dei progetti, la loro simulazione, il debug e quindi una veloce messa a punto.
PowerPLC-Bridge® oggi
In giro per il mondo ci sono decine di migliaia di applicazioni software di CJB progettate con PowerPLC-Bridge®. Si trovano in forni professionali, frigoriferi, vending-machine, colonnine per la ricarica dei veicoli elettrici, linee di assemblaggio complesse, sistemi industriali, etc.
Alcuni nostri clienti hanno voluto imparare ad usare PowerPLC-Bridge in modo autonomo dopo che ne hanno riconosciuto le funzionalitĂ .
PowerPLC-Bridge® è in continua evoluzione e al momento funziona su processori ARM (famiglia NXP), microcontrollori, sistemi PC x86/x64.