Introduzione
L'articolo presenta un sistema automatico di misura per la gestione di un impianto industriale realizzato attraverso il software di misura LABView. Un serbatoio viene utilizzato come esempio per modellare il comportamento di una cisterna contenente liquido pericoloso di cui bisogna controllarne livello e temperatura. Il software realizzato viene presentato in ogni suo aspetto a partire dalla fase di progettazione fino alla sua implementazione. Dettagli di natura tecnica aiutano nella replica dell'esperimento proposto, lasciando spunto al lettore per successivi miglioramenti attraverso un'analisi dettaglia della soluzione proposta. Dunque, l'articolo cerca di spiegare non solo la realizzazione del sistema ma l'importanza del software, argomento già trattato nel corso di altri articoli pubblicati sulle pagine di questo blog (articolo_1, articolo_2, articolo_3, articolo_4).
Descrizione dell'emulatore di processo
L'emulatore di processo è costituito da un serbatoio, alto circa un metro, con quattro quadri sul pannello frontale, come riportato in Figura 1. Il primo quadro (Q1) gestisce l'alimentazione generale mentre il secondo (Q2) insieme al terzo (Q3) si occupa di ripartire la tensione di alimentazione ai diversi sistemi, ed infine il quarto (Q4) interfaccia la scheda di acquisizione attraverso uno schema a relè. Il sensore utilizzato per le misure di temperatura è una termocoppia, mentre per le misure di livello si utilizza un sensore a tempo di volo ad ultrasuoni, posto alla sommità del serbatoio. Per evitare accecamenti del sensore dovuti a vapori derivanti da un eccessivo riscaldamento del liquido, una ventola è posizionata al di sotto del sensore. Inoltre, per verificare che il livello del serbatoio non sia troppo alto è impiegato un trasduttore di livello a galleggiante; viceversa, per verificare che il livello non sia troppo basso viene utilizzato un sensore fotoelettrico, attivato da un secondo galleggiante. Questo secondo galleggiante è allocato all'interno di un tubicino di gomma siliconica che funge da indicatore di livello.
Il serbatoio è fornito di una serie di elettrovalvole che permettono di effettuare operazioni di carica, scarica, riscaldamento e raffreddamento. In particolare, per riscaldare il liquido è presente un boiler che sfrutta una valvola di ricircolo, mentre per il raffreddamento è possibile immettere il liquido freddo dall'esterno oppure far circolare il liquido a boiler spento.
Architettura
Una scheda di acquisizione dati (DAQ, Data AcQuisition) interfaccia la scheda a relè con lo strumento virtuale realizzato in LABView, come indicato in Figura 2.
La Figura 3 mostra i quattro canali utilizzati per gli ingressi analogici (troppo pieno, troppo vuoto, temperatura e livello) ed i sette canali digitali utilizzati per l'uscita (E.V. Circolo, azionamento pompa, azionamento ventola, azionamento boiler, E.V. scarico ed E.V. carico). Da notare che i segnali di troppo pieno e troppo vuoto sono analogici nonostante sia ragionevole attendersi dei segnali digitali, questo perché i sensori forniscono in uscita un segnale sinusoidale successivamente elaborato attraverso il software proposto.
Strumento virtuale
Lo strumento virtuale si compone di un pannello frontale e di uno schema a blocchi (Figura 4 e 5). L’operatore può interagire con lo strumento mediante una serie di indicatori e di controlli. Tra gli indicatori figurano un termometro ed un serbatoio stilizzati accompagnati da altri due indicatori numerici che restituiscono il valore istantaneo del livello. Per visualizzare l’andamento temporale sono disposti due grafici nella parte inferiore del pannello. Inoltre, sono presenti anche sei led che indicano lo stato logico delle elettrovalvole ed altri due che indicano lo stato di riempimento del serbatoio: troppo pieno o troppo vuoto. Tra i controlli, invece, si ritrovano quelli per la gestione della scheda di acquisizione e per il controllo da utilizzare: manuale o automatico, attivato mediante uno switch digitale.
Nella modalità manuale è compito dell’operatore scegliere le operazioni da eseguire, indipendentemente dal livello del liquido, con l’unico vincolo che non possono essere eseguite contemporaneamente due azioni. A tal fine ha a disposizione quattro pulsanti con cui agire sulle elettrovalvole per realizzare le azioni possibili, ovvero la carica, la scarica, il riscaldamento ed il raffreddamento del serbatoio.
Nella modalità automatica, le elettrovalvole vengono pilotate dai segnali provenienti dai sensori in modo da portare la temperatura ed il livello del liquido ai valori di riferimento specificati dall'utente stesso mediante delle manopole (o, se necessaria maggiore precisione, mediante dei controlli numerici). In particolare, per il raffreddamento è possibile, tramite un ring, scegliere tra due diverse modalità: il ricircolo o la carica di liquido freddo proveniente dall'esterno.
Schema a blocchi
Per rendere più leggibile il codice sono stati utilizzati una serie di sub-VI che nello specifico riguardano:
- ACQUISIZIONE: legge i dati dalla DAQ;
- CONTROLLO: scrive i dati sulla DAQ;
- START: blocco di inizializzazione, che mediante il sub-VI CONTROLLO spegne tutti i componenti per evitare che la condizione iniziale possa causare danneggiamenti o funzionamenti imprevisti;
- STOP: blocco di spegnimento, che mediante il sub-VI CONTROLLO spegne tutti i componenti per evitare di lasciare il controllo del serbatoio con dei comandi ancora accesi;
- DELAY: blocco che ritarda l’esecuzione del codice per evitare le sovrapposizioni di comandi.
Gli schemi a blocchi di questi VI sono riportati al termine dell'articolo con il fine di non distogliere il lettore dal focus del problema. Ad ogni schema è affiancata una descrizione degli input e degli output così da facilitarne la comprensione. Lo schema a blocchi dell'intero sistema è rappresentato in Figura 5.
Per forzare un'esecuzione ordinata del codice lo schema è stato strutturato con una sequenza, separando le fasi di inizializzazione e di spegnimento dal corpo del codice. Nella fase di inizializzazione viene richiamato START, vengono messi a FALSE tutti gli indicatori del pannello frontale e vengono definiti dei valori di default per i livelli di riferimento della gestione automatica. Analogamente, nella fase di spegnimento vengono messi di nuovo a FALSE gli indicatori e viene lanciato STOP. Nella parte centrale della sequenza si trova anzitutto un ciclo WHILE per prolungare l'esecuzione del programma fino all'interruzione dell'utente. All'interno del ciclo si ha il blocco ACQUISIZIONE che restituisce in uscita i valori del livello e della temperatura del liquido, oltre ai segnali di troppo pieno e troppo vuoto. I dati letti vanno all'interno di una struttura CASE che distingue il funzionamento automatico dal manuale. Indipendentemente dal controllo scelto, i valori logici delle elettrovalvole vengono scritti sulla DAQ tramite il blocco CONTROLLO. Per quanto riguarda il controllo manuale, lo schema a blocchi è riportato in Figura 6.
L’elettrovalvola di carico viene attivata premendo il pulsante di carica oppure azionando il raffreddamento del serbatoio con liquido esterno. Analogamente, l’elettrovalvola di scarico viene attivata dall'opportuno pulsante e il suo azionamento causa l'accensione anche della pompa. Come anticipato prima nella descrizione del pannello frontale, è possibile attivare una sola valvola per volta poiché l'accensione di una causa la disabilitazione delle altre, che saranno riabilitate quando si preme nuovamente il pulsante attivo. Lo schema a blocchi del controllo automatico è riportato in Figura 7. [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2297 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.