Vediamo un esempio
d'applicazione con un sistema da controllare abbastanza semplice.
Supponiamo di avere a che fare con un sistema come
quello descritto nella slide a fianco (un serbatoio provvisto di ingresso e
uscita, due i sensori di livello, una pompa come attuatore ed un PLC come
controllore).
Il problema è di
mantenere il livello del liquido contenuto all'interno del serbatoio, entro
l'intervallo di valori definito dai due sensori (livello alto e livello basso).
Per controllare questo
sistema possiamo agire su una pompa a funzionamento “ON – OFF” (“attiva”
o “non attiva”).
Attraverso il controllo
vogliamo compensare le perdite di liquido, causate all'apertura della valvola
d’uscita del serbatoio; in particolare vogliamo attivare la pompa non appena il
liquido scendo al di sotto del “ livello basso” (rilevato dall’apposito
sensore) e disattivarla non appena supera il “livello alto”.
In generale, per
risolvere questo tipo di problemi si usa una METODOLOGIA simile a quelle viste nel
corso di “RETI LOGICHE” (in primo luogo bisogna valutare quali sono gli stati
possibili, poi occorre analizzare le transizioni tra i vari stati,
ecc, ecc), evitando di saltare direttamente alla scrittura del codice!
D'altro canto però, data la semplicità del problema preso in esame, passeremo direttamente
alla definizione del programma da inserire nel PLC, utilizzando il linguaggio LADDER/KOP.
Parlando direttamente in
termini di logica da applicare, possiamo scrivere il programma riportato nella
slide a fianco.
Ovviamente è anche
possibile programmare i PLC con l'aiuto del PC; a tale scopo esiste tutta una
serie di software opportunamente studiati per facilitare il compito dei
programmatori di PLC. A titolo d’esempio possiamo citare “ISAGRAF”, il quale mette a disposizione
un ambiente grafico che consente di realizzare il programma semplicemente
trascinando opportuni simboli da una barra strumenti laterale ed assegnando i
relativi significati (è possibile anche fare interpretare la logica per
verificare se c'è qualche errore, ecc…).
|