Benvenuto in questo tutorial, oggi scopriremo insieme le istruzioni elementari a bit che possiamo utilizzare con i PLC della serie CompactLogix e ControlLogix Allen Bradley (Rockwell Automation).
Tra questi controllori abbiamo il 5370 L-16 che rappresenta il modello entry-level, e molti processori più grandi fino al modello 5580 L-85.
Se vogliamo provare le istruzioni nel simulatore Studio 5000 Logix Emulate, allora possiamo scegliere come processore quello chiamato Emulate 5570.
Il simulatore sarà identificato nel software di comunicazione RSLinx, come Studio 5000 Logix Emulate, e potremo sceglierlo per collegarcisi e caricare il programma.
Qualunque sia il tipo di programma che vogliamo sviluppare per il PLC, difficilmente potremmo fare a meno di utilizzare le istruzioni elementari logiche a bit, quelle che funzionano con la logica booleana, e ci permettono di lavorare con stati dell’impianto di tipo discreto (zero / uno).
Uno stato 0/1 può per esempio rappresentare un utenza avviata, oppure in allarme, o ancora un memoria di qualcosa che il nostro programma ha eseguito; questo tipo di dato si chiama appunto bool (booleano).
Le istruzioni semplici che il linguaggio ladder ci mette a disposizione in Logix Designer, per lavorare con i bit, sono poi quelle che ritroviamo in qualunque altro PLC di qualsiasi produttore (Siemens, Schneider, Omron, Mitsubishi, ABB, Codesys e altri).
Tra queste istruzioni abbiamo il contatto e il contatto negato, chiamati anche contatto aperto o contatto chiuso, la bobina, la bobina negata, il latch (set) e l’unlatch (reset); queste ultime servono a gestire bobine a ritenzione.
Nella prossima immagine vediamo una rete ladder costituita da alcuni contatti e da alcune bobine di diverso tipo.
Nella figura sopra abbiamo cinque rung (rami di programma) in linguaggio ladder, analizziamo ora le istruzioni che sono contenute in questi rami, partendo dal primo.
Nella parte sinistra troviamo quelle che si chiamano istruzioni di ingresso (da non confondere con ingressi del plc), queste si chiamano “di ingresso” perché sono messe sulla sinistra del ramo e costituiscono i test che facciamo, in questo caso su delle variabili di tipo bit.
Sulla parte destra del ramo abbiamo invece le istruzioni di uscita, anche in questo caso non è detto che queste istruzioni lavorino su un’uscita del PLC, piuttosto si chiamano così perché contengono l’azione che dobbiamo eseguire a fronte del risultato del test del ramo.
Nella prima riga ladder abbiamo un test con una istruzione a bit, e una bobina di tipo normale. Come funziona questo ramo? Molto semplicemente, l’ingresso bit1 viene copiato sull’uscita bit_out1; in maniera diretta; quando il bit vale 0, l’uscita vale 0, quando il bit va a 1, l’uscita va a 1.
Nella seconda linea di programma abbiamo un contatto normalmente chiuso (sbarretta obliqua nel contatto), che lascia passare quando il valore della variabile testata è a zero. L’uscita bit_out2 si attiverà quindi in maniera inversa al valore del bit1.
Nella terza linea di programma abbiamo un contatto aperto che comanda una bobina di tipo ritentivo, identificata con la lettera “L” al suo interno, che significa “LATCH”.
Quando il valore della variabile bit3 è a 1, il contatto restituisce “VERO” e la bobina viene comandata; per spegnere la bobina è necessario utilizzare un’altra bobina di tipo RESET (UNLATCH).
Come vediamo nella figura che segue, il reset è attuato da un altro bit, chiamato bit4, notiamo la lettera “U” all’interno della bobina di RESET.
Nell’ultima linea di programma troviamo il classico “Marcia / Arresto” realizzato con una bobina semplice che si auto ritiene grazie al parallelo messo sulla sinistra del ramo.
Come vediamo, sullo stesso ramo possiamo mettere contatti in serie (realizzando degli AND), e in parallelo (realizzando degli OR); i rami possono essere anche molto complessi.
La bobina bit_out4 si attiva la prima volta quando è attivato bit1 e non è attivato bit2; successivamente l’uscita rimane alta grazie al test della stessa nel contatto aperto posto in parallelo a bit1. Per azzerare l’uscita è necessario attivare bit2.
Come abbiamo visto, i semplici contatti chiusi, aperti, e le bobine, sono elementi di base della programmazione PLC che ci permettono di lavorare facilmente con valutazione di stati e comandi discreti.
Naturalmente queste istruzioni esistono anche negli altri linguaggi per questi controllori, quello che cambia è solo il modo di scriverli.