Uscita analogica con Signal Board
Premessa
I PLC S7-1200 del laboratorio 23 - CPU 1214C AC/DC/RLY - hanno le uscite a relè invece che a transistor. Si è già discusso qui circa i vantaggi e gli svantaggi delle uscite a relè ma una limitazione importante è che non è possibile usare le uscite come generatori di impulsi PWM perché i relè non sono abbastanza veloci per questo tipo di impiego. Se si desidera ottenere un valore analogico in uscita bisogna allora ricorrere a moduli I/O analogici, da installare sul rack a lato della CPU, o a una Signal Board.
Signal board SB 1232
Nella parte superiore dei PLC del laboratorio 23 è installata una Signal Board (SB). Si tratta di una soluzione compatta che rende disponibile un a sola uscita analogica senza occupare spazio sul rack. Le caratteristiche della SB sono elencate in questo datasheet; quelle principali sono:
- uscita in tensione o corrente
- tensione da -10 a +10 Volt con risoluzione di 12 bit
- corrente da 0 a 20 mA con risoluzione 11 bit
- carico minimo con uscita in tensione: 1 kΩ (corrente massima 10 mA)
- carico minimo con uscita in corrente: 600 Ω (tensione massima 12 Volt)
La SB viene riconosciuta quando si rileva la CPU (o può essere inserita manualmente dal catalogo) e può essere configurata tra i dispositivi. Le impostazioni principali riguardano il tipo di uscita (tensione o corrente) e il valore impostato quando la CPU passa in RUN.
La tensione (o corrente) in uscita si imposta ponendo nell'indirizzo QW80
(indicato nelle proprietà della SB) un valore di tipo int
compreso tra -27648 e +27648. I due estremi corrispondono a -10 e +10 Volt (0 e 20 mA). Per testare il funzionamento dell'uscita è sufficiente usare l'istruzione MOVE.
Controllo motore DC
L'uscita analogica può essere utilizzata per controllare la velocità di un motore in continua1). Il PLC viene utilizzato per generare una rampa di tensione da 0 a 10 Volt. Ci sono più soluzioni per ottenere questa tensione; in particolare bisogna:
- generare degli impulsi a intervalli regolari
- usare gli impulsi per incrementare il valore di un contatore (oppure usare una variabile e l'istruzione matematica
INC
)
Gli impulsi possono essere generati con un timer TON (vedi timer-troubleshooting) o si può usare un merker di clock (il più veloce è a 10 Hz). Il contatore sarà comandato dagli impulsi e resettato una volta raggiunto il valore PV
. Il risultato è una sequenza di valori che cresce linearmente - quindi una rampa - con un periodo ben preciso. La figura seguente mostra una possibile implementazione:
Il PLC non può pilotare direttamente un motore quindi è necessario interporre un transistor nella configurazione da inseguitore di emettitore, come nella figura seguente:
Osserviamo che:
- la tensione tra emettitore e massa è uguale a quella tra base e massa (a meno della VBE = 0,7 Volt costante)
- allora la tensione applicata al motore segue l'andamento di quella generata dal PLC applicata alla base del transistor
- questo tipo di regolazione è detta lineare perché il transistor funziona nella zona attiva lineare
- la VCE corrisponde alla differenza tra la tensione al motore e quella dell'alimentazione
- il transistor dissipa una potenza non trascurabile perché è attraversato dalla corrente che alimenta il motore e sottoposto a una tensione VCE non trascurabile
- questo tipo di regolazione è poco efficiente ed è in genere poco utilizzata; al suo posto si usa la regolazione PWM
- il diodo posto in antiparallelo al motore è un diodo di libera circolazione2); va sempre messo in presenza di carichi induttivi (motori, solenoidi, relé) per proteggere il transistor dalle sovracorrenti induttive che si manifestano quando la corrente cambia bruscamente