Benvenuto in questa lezione del corso di programmazione LOGO! Siemens. Oggi progettiamo un programma che permette di gestire il livello di un serbatoio mediante il reintegro di acqua attraverso una valvola.
L’applicazione monitorerà il livello all’interno del tank e attiverà la valvola quando questo scenderà sotto una certa soglia, per poi chiuderla quando il livello supera una seconda soglia.
Gestire il livello all’interno di un serbatoio e in generale una variabile analogica che il cui valore deve rimanere entro un range, è una delle applicazioni più semplici che chiunque si stia avvicinando alla programmazione dei plc possa sperimentare.
Oggi ho preparato un programmino in linguaggio FBD (a blocchi di funzione) che verifica il livello all’interno di un tank e gestisce una valvola per reintegrare l’acqua al suo interno quando il livello scende troppo.
Con il plc elaboriamo anche i set point di inizio e fine reintegro, valori che devono poter essere cambiati utilizzando i tasti cursori del LOGO!. In particolare, con i tasti cursore destro e sinistro si sceglierà il set point da variare, mentre con i tasti cursore alto e basso si incrementerà o decrementerà il set point selezionato.
Nella prossima immagine vediamo la parte di software che provvede alla gestione di questi preset.
In alto troviamo l’ingresso analogico del livello del serbatoio, il quale passando per un amplificatore analogico viene portato ai due interruttori analogici. Il primo comparatore ha come set point il conteggio del contatore B009, mentre il secondo prende i dati di soglia dal blocco contatore B014.
Quando il livello scende sotto la soglia impostata in B002, dopo 5 secondi il timer B006 attiva il bit ritentivo nel blocco B005; questo a sua volta comanda l’uscita Q1 della valvola.
Sulla parte bassa abbiamo l’altro interruttore analogico, il quale attiva l’uscita quando il livello sale sopra la soglia impostata (nell’esempio 80). Anche all’uscita di questo è stato inserito un timer che dopo 5 secondo azzera il bit ritentivo e con esso l’uscita.
Notiamo che l’uscita del primo interruttore analogico (quello della soglia minima) viene negata, poiché questa istruzione la attiva quando il livello supera la soglia (nel nostro caso 20), e a noi serve invece sapere quando il livello è sotto tale soglia.
Per simulare e testare bene il programma abbiamo programmato il display del LOGO! mostrando su di esso il valore corrente del livello in ingresso in forma numerica e con un bar graph, i due set point di start e stop reintegro, e il valore dell’uscita della valvola Q1; ecco come appare il display nella simulazione nella prossima immagine.
Bene, come avete visto gestire il livello di un serbatoio in questo modo è molto semplice e per farlo bastano poche istruzioni. Io vi do appuntamento qui sul mio sito dedicato all’automazione industriale e sul mio canale YouTube, e intanto vi auguro buon lavoro; ci vediamo!