Industrial Automation remote I/O module

C’è un forte dibattito in merito alla fattibilità di utilizzare Android in installazioni industriali. Le grandi aziende che si contendono il mercato molto spesso costringono i propri clienti ad utilizzare software proprietario.

Il mondo sta cambiando ed Internet è uno dei fattori che permette agli utenti di beneficiare della disponibilità pressochè infinita di informazioni, specifiche tecniche ed anche di persone che gratuitamente condividono la propria esperienza.

La nostra visione è che a breve, sempre più applicazioni industriali beneficeranno dei suggerimenti e sforzi di communità on line e questo sarà la base per una nuova idea di automazione.

In questo post, vi mosterò come l’integrazione di Android in progetti industriali è possibile, e di facile realizzazione.

Obiettivo: Il goal principale è di creare un’interfaccia HMI grazie al quale si

Prima di entrare nel dettaglio del progetto, vorrei presentarvi un breve video che riassume il mio progetto demo di automazione industriale. Sebbene sia un progetto base, mi risulta essere lo scheletro di moltissime applicazioni industriali di piccola e media taglia.

Caratteristiche hardware:

Il progetto consiste di:

Industrial Automation Android Schematic Drawing

Come potete vedere dallo schema precedente, queste tre componenti sono connesse da un bus RS485, con una resistenza di terminazione da 120-Ohm. Ho specificamente scelto RS485 (ed il protocollo modbus) perchè è ampiamente usato in industria, per la particolare resistenza alle interferenze e per la capacità di connettere unità remote separate da lunghe distanze.

Caratteristiche Software:

L’interfaccia HMI che ho creato consiste di:

Tutte le precendenti azioni vengono gestite attraverso il protocollo modbus RTU. Il pannello Ltouch sarà il master ed i moduli saranno gli slave. La comunicazione avviene grazie ad una libreria nativa Android che gestisce le chiamate modbus, compresa nel pannello Ltouch. La libreria nasconde i dettagli implentativi del protocollo e permette di inglobare facilmente le chimate modbus di alto livello in qualsiasi app Android.

Per esempio, il codice che ho utilizzato per modificare l’uscita digitale è il seguente:

[sourcecode language=”java”]
ModbusLib.PresetMultipleRegisters(fid, node_to_write, starting_address, no_of_registers, holdingRegs);
[/sourcecode]

In particolare, ho utilizzato la funzione modbus 16 PresetMultipleRegisters. I parametri sono i seguenti:

La frequenza di aggiornamento dei valori che ho utilizzato è di 250ms ed ho trovato che la MCU ARM Cortex A8 ad 1 GHz è molto veloce e gestisce molto bene questo rate. Un altro fattore fondamentale è stato quello di aver impostato il ritardo di risposta modbus dei moduli I/O remoti a zero. Il baudrate è di 38400 bps.

Un progetto simile a quello che vi ho presentato è di facile costruzione, e come spiegato in precedenza, è comune a diversi progetti di automazione industriale o dei processi. Un’altra situazione che si presenta spesso è quella di avere un PLC che gestisce interamente la logica del progetto e che comunica attraverso i moduli di I/O remoti. I dati vengono successivamente presentati all’utente attraverso l’interfacciamento del PLC ad un panello touch.
I progetti che adottano questa architettura possono essere semplicemente gestiti con un pannello Ltouch perchè è compatibile con tutti i PLC che supportano il protocollo modbus su RS485. In progetti più complessi, si può utilizzare il pannello Ltouch ed un numero di slave teorico pari a 127.

L’automazione industriale è un’area vasta e molto complessa che non può essere descritta in dettaglio attraverso un singolo post. Anche se questo articolo è una goccia in questa area di lavoro, spero di aver dato qualche nuova idea per poter sfruttare nuove tecnologie e nuovi approcci nel campo dell’automazione industriale e dei processi.

Come al solito, commenti e suggerimenti sono sempre ben accetti! 🙂

Lascia un commento