luci sequenziali a 4 canali
Costruire un sequenziatore a 4 canali che preveda il seguente schema di accensione.
Figura 77: Schema di accensione per sequenziatore a 4 canali
Lo schema stabilisce la sequenza di accensione delle lampade collegate ai quattro canali: i cerchi pieni segnalano l’attivazione del canale durante lo specifico passo. Così durante il passo 0 sarà attivo il canale 0, durante il passo 1 il canale 1 e così via. Se le lampade vengono posizionate in linea, l’effetto sarà quello di uno spostamento della fonte luminosa dalla prima all’ultima posizione e poi al contrario.
Al passo 5 succede un passo 6 identico allo 0 e poi un altro identico al passo 1, cioè il diagramma viene percorso ciclicamente. Immaginate di ritagliarlo ed avvolgerlo a cilindro, facendo combaciare i lembi opposti del passo 0 e del 5, esso sarebbe simile al tamburo di un carillon: terminato il motivetto, comincia nuovamente.
Continuando con il parallelo sonoro, perché un carillon funzioni abbiamo bisogno di un cilindro con delle camme disposte in modo opportuno sulla sua superficie laterale e di un meccanismo che lo faccia girare.
Cominciamo proprio a costruire quest’ultimo. Il meccanismo di avanzamento del nostro sequenziatore sarà un treno di impulsi con periodo di 0.2 secondi, cioè una base tempi con periodo scelto in modo da portare ad avere una velocità di spostamento della fonte luminosa ritenuta idonea. Le istruzioni
UN “TIMER”
L W#16#0010
SA “TIMER”
costruiscono un treno di impulsi, così come abbiamo imparato a fare in precedenza. Il cilindro invece sarà costituito da un contatore che, partendo da 0, viene incrementato ad ogni impulso.
UN “TIMER”
ZV “COUNTER”
Arrivato a 6, cioè dopo l’ultimo passo, esso dovrà essere reimpostato al valore 0 di partenza, essendo il passo 6 identico al passo 0 per l’appunto.
L “COUNTER”
L 6
==I
R “COUNTER”
Prima di sistemare le camme sul cilindro identifichiamo gli spicchi del cilindro che corrispondono ad ogni specifico passo. Le istruzioni
L “COUNTER”
L 0
==I
= “PASSO0”
impostano ad 1 il merker PASSO0 quando il contatore vale 0, identificando tra i possibili valori del contatore quello corrispondente a tale passo. I successivi gruppi di istruzioni impostano i merker corrispondenti a ciascuno degli altri passi. Così, alla fine, ogni 0.2s sarà attivo un merker diverso, in successione da PASSO0 a PASSO5 e, quindi, riprendendo da PASSO0.
Ora che abbiamo identificato le posizioni possiamo inserire le camme. Cominciamo dal canale 0, osserviamo nuovamente la griglia di Figura 77, il canale 0 è attivo solo durante il passo 0, quindi:
O “PASSO0”
= “CH0”
Il canale 1 deve essere attivo sia durante il passo 1 che durante il passo 5:
O “PASSO1”
O “PASSO5”
= “CH1”
Proseguendo così, per gli altri due canali, fino a terminare la costruzione del carillon o, abbandonando il parallelo didattico, del sequenziatore.
LADDER |
||
AWL | ||
UN “TIMER” ‘costruzione base tempi
L W#16#0010 SA “TIMER”
UN “TIMER” ‘avanzamento passo ZV “COUNTER”
L “COUNTER” ‘reinizializzazione ciclo L 6 ==I R “COUNTER”
L “COUNTER” ‘test passo 0 L 0 ==I = “PASSO0”
L “COUNTER” ‘test passo 1 L 1 ==I = “PASSO1”
L “COUNTER” ‘test passo 2 L 2 ==I = “PASSO2”
L “COUNTER” ‘test passo 3 L 3 ==I = “PASSO3”
L “COUNTER” ‘test passo 4 L 4 ==I = “PASSO4”
L “COUNTER” ‘test passo 5 L 5 ==I = “PASSO5”
O “PASSO0” ‘impostazione canale 0 = “CH0”
O “PASSO1” ‘impostazione canale 1 O “PASSO5” = “CH1”
O “PASSO2” ‘impostazione canale 2 O “PASSO4” = “CH2”
O “PASSO3” ‘impostazione canale 3 = “CH3”
BE |
In questo esempio è possibile aumentare o diminuire la durata dei passi semplicemente cambiando la costante con cui viene caricato il temporizzatore, producendo l’effetto di variare la velocità dello spostamento apparente della fonte luminosa. E’ possibile modificare il numero dei passi, cambiando la costante con cui viene confrontato il valore di conteggio per l’azzeramento del contatore ed aggiungendo altri confronti per discriminare i nuovi passi. E’ possibile, ancora, cambiare la sequenza di accensione delle lampade, modificando le condizioni nei gruppi di OR che costituiscono l’ultima parte del programma.
Sicuramente quella presentata non è l’unica soluzione al problema e, in genere, man mano che questo diventa più complesso, le soluzioni possibili aumentano. Probabilmente non è neppure la migliore in termini di versatilità, semplicità di manutenzione o di eleganza di programmazione, anche se nel prossimo esempio proporremo una soluzione che meglio risponde a questi requisiti. Ma è l’approccio più semplice, che utilizza cioè le istruzioni più comuni, che siamo riusciti a produrre e questo è un requisito fondamentale per il compito che questo capitolo del manuale si propone: accompagnarvi nei primi passi nel mondo della programmazione dei PLC.