Moduli I/O di un PLC
Introduzione
Section titled “Introduzione”I moduli di ingresso consentono al PLC di leggere lo stato dei sensori e dei comandi ad esso collegati. Gli ingressi collegabili ai moduli di ingresso di un PLC possono fornire informazioni di tipo digitale o analogico.
Input digitale ON/OFF
Section titled “Input digitale ON/OFF”L’ingresso digitale è usato per il controllo di grandezze digitali: tensioni a due valori (0 - 24V, oppure 0 - 110V). Ogni scheda può gestire da 4 a 32 (fino a 64) ingressi digitali differenti. Ogni ingresso digitale ON/OFF occupa un bit di informazione.
Gli oggetti che producono segnali digitali ON/OFF possono essere di due tipi:
- attivi: necessitano di alimentazione esterna per funzionare,
- passivi: pulsanti, interruttori o finecorsa elettromeccanici
I sensori passivi hanno due fili:
-
alimentazione: tendenzialmente
24 Vdc, -
segnale: collegato al morsetto di ingresso del PLC.
I sensori attivi hanno tre fili:
- alimentazione: tendenzialmente
24 Vdc, - massa:
0 Vdc, - segnale.
Un sensore attivo digitale ON/OFF ha due diverse correnti:
- corrente di alimentazione: alimenta il circuito presente dentro al sensore e ne permette il funzionamento (consumata costantemente),
- corrente di segnale: scorre solo quando il sensore fornisce un’informazione al PLC (consumata durante la trasmissione dell’informazione).
In base a come circola la corrente nel collegamento formato da sensore e PLC, i sensori digitali ON/OFF attivi si distinguono ulteriormente in due sotto-categorie:
- Sensori P: a logica positiva (o PNP). Sourcing: sorgenti di corrente. La corrente scorre dal sensore al PLC.
- Sensori N: a logica negativa (o NPN). Sinking: a consumo di corrente. La corrente scorre dal PLC al sensore.
È importante precisare che la corrente utilizzata dai sensori non è direttamente prodotta dal PLC, ma proviene dall’alimentatore. Il PLC non è un generatore.
Un sensore sourcing ha bisogno di un modulo di ingresso sinking sul PLC per poter leggerne il valore. Il sensore produce una sorgente di corrente che viene consumata (e quindi letta) dal PLC.
Per leggere il valore di un sensore sinking, il PLC deve essere provvisto di un modulo di ingresso sourcing che fornisca corrente al sensore.
Ragionare in termini di sourcing e sinking è più facile che ragionare solo con le sigle PNP ed NPN. I produttori di sensori utilizzano convenzioni discordanti sull’uso delle sigle PNP e NPN.
In breve:
- Sensore soursing —> modulo di ingresso sinking,
- Sensore sinking —> modulo di ingresso soursing.
Un vantaggio dei sensori NPN è che possono funzionare a tensioni diverse dall’alimentazione del PLC.
Moduli di ingressi digitali on/off a conteggio veloce
Section titled “Moduli di ingressi digitali on/off a conteggio veloce”Nei casi in cui gli ingressi del PLC non siano adatti per acquisire segnali digitali ad alta velocità (frequenze superiori al kHz), bisogna ricorrere a speciali moduli di ingressi digitali ad alta velocità con funzione di conta-impulsi.
Ingresso analogico
Section titled “Ingresso analogico”Le informazioni analogiche sono valori numerici associati ad una grandezza fisica. Questi valori possono variare tra un minimo e un massimo, includendo tutti i possibili valori intermedi (con una determinata precisione).
Le schede di ingresso analogiche permettono la rilevazione di grandezze elettriche (tensione o corrente) comprese in un certo intervallo (ad esempio, tra 4 mA e 20 mA).
Per acquisire un valore analogico si effettuano due tipi di conversione. A partire dalla grandezza fisica da misurare, si ottiene un segnale elettrico in tensione o corrente. Dal segnale elettrico si ottiene una sequenza di bit interpretabili dal processore. La seconda conversione è effettuata dal componente ADC (Analog to Digital Converter), presente dentro al modulo di ingressi analogici del PLC.
La precisione della misura di una variabile analogica dipende dal numero di bit con cui è effettuata la conversione AD.
Dati i seguenti parametri:
- Risoluzione: numero di bit del convertitore AD. Le risoluzioni più comuni sono 10, 12, 16 e 24 bit.
- Fondo scala (f.s.): massimo valore della grandezza fisica da rilevare.
Se un sensore legge una pressione tra zero e 100 bar, il fondo scala è proprio 100 bar. - Unità ingegneristiche: valore espresso nell’unità di misura della grandezza fisica.
Es. 33 Kg sono tradotti in 111100. Dunque 33 è il valore in unità ingegneristiche, 111100 è il valore tradotto in binario per il processore del PLC.
Dato un valore di tensione o corrente nel range compreso tra min_value e max_value con una risoluzione pari a res. La precisione del sensore, ovvero il più piccolo valore che riesce a convertire, è:
Ad esempio, si vuole convertire un valore di tensione nel range 0 - 5 V a 10 bit. Dato 210 = 1024, si può scrivere:
Per i segnali 4-20 mA, la precisione sulla misura reale non è determinabile allo stesso modo di quella relativa al segnale 0-10 V o 0–20 mA. I primi 4 mA sono convertiti dal sistema ma non fanno parte della misura reale. È necessario dividere il fondo scala (f.s.) delle unità ingegneristiche per il numero di codici binari che varia nell’intervallo 4-20 mA.
Dati 12 bit di risoluzione, il massimo valore in bit è 4096:
Si può ottenere il minimo valore “utile” in bit, ovvero corrispondente a 4 mA, tramite una proporzione:
Sottraendo al valore massimo il valore minimo utile, si ottiene il numero di codici binari che varia nell’intervallo 4-20 mA. Tale valore si può chiamare bit_utili. Dividendo il fondo scala per tale valore, si ottiene la risoluzione sulle unità ingegneristiche.
Date queste informazioni si può compilare la seguente tabella:
| n° bit | valori 0-4 mA | valori utili 4-20 mA | Risoluzione sulle Unità Ingegneristiche |
|---|---|---|---|
12 | 0 ... 819 | 819 ... 4096 | f.s. / 3277 |
13 | 0 ... 1638 | 1638 ... 8192 | f.s. / 6554 |
14 | 0 ... 3277 | 3277 ... 16384 | f.s. / 13107 |
15 | 0 ... 6554 | 6554 ... 32768 | f.s. / 26214 |
Gli standard più diffusi in automazione industriale sono:
- sensori di corrente:
4 - 20 mA, - sensori di tensione:
0 - 10 V.
La codifica di un’informazione in corrente ha il vantaggio di avere una più elevata immunità alle interferenze elettromagnetiche rispetto ad un di segnale in tensione.
Perché il range
4 - 20 mAè più comune del range0 – 20 mA?
Perché se lo 0 della misura del sensore corrisponde comunque a 4 mA di corrente trasmessa, l’interruzione del cavo è rilevata attraverso la caduta di corrente sotto i 3.8 mA e una condizione di corto-circuito è rilevata attraverso la misura di una corrente che supera i 20.5 mA.
Messa in scala delle variabili
Section titled “Messa in scala delle variabili”Date le seguenti variabili del sistema:
G(s): plant,R(z): regolatore,A: attuatore,S: sensore,A/D: Analog-to-Digital Converver,D/A: Digital-to-Analog Converter,C: condizionamento del segnale (amplificazione, isolamento, ecc. ecc. ).
N.B.: Analog-to-Digital Converver, in italiano Convertitore Analogico Digitale.
Il programma che viene eseguito dal PLC, quando interpella l’ingresso analogico, legge il valore numerico binario (es. 110101101) o al più la sua conversione in base 10 (es. 429).
Come si passa da
429alle unità ingegneristiche, ovvero al valore letto dal sensore (es.10.7 l/s)?
Si effettua la messa in scala delle variabili (scaling of a variable).
La messa in scala della variabile è il procedimento matematico che, a partire dal valore numerico letto dal PLC, è in grado di ricondurre al valore della grandezza fisica rilevata dal sensore, quindi in unità ingegneristiche.
Sensore lineare
Section titled “Sensore lineare”Range che parte da zero
Section titled “Range che parte da zero”Si effettua la lettura di un valore di un sensore e si ottiene il valore digitale letto dal PLC.
Dato le schema visto in precedenza:
Il segnale elettrico è tipicamente:
- tensione da
0a10 V(Volt), - corrente da
4a20 mA(milli-ampere)
Si può adattare a questo caso studio:
Preso un sensore di pressione che legge tra 0 e 60 bar. L’uscita del sensore è collegata ad un ingresso analogico che opera in tra 0 e 10 V con una risoluzione di r = 12 bit.
Siano Pmax = 60 e Vmax = 10, sia Pread la pressione letta dal sensore, la corrispondente tensione Vread si calcola operando la seguente proporzione:
La tensione Vread viene digitalizzata con una risoluzione di 12 bit.
Si può definire il massimo valore digitale ottenibile con tale risoluzione:
N.B. Si sottrae un numero a 2r perché il range di numeri deve partire da zero:
Per ottenere il valore digitale letto dal PLC, che in questo caso si può chiamare dread, si deve utilizzare la seguente proporzione:
Dato un valore Pread = 15 bar, si vuole ottenere sia il valore di tensione letto dal ingresso analogico che il corrispondente valore binario:
Il valore digitale non può essere un numero con la virgola ma deve essere approssimato all’intero più vicino.
La messa in scala è il procedimento che, a partire dal valore letto dal PLC, restituisce la grandezza fisica misurata dal sensore (ovvero il procedimento inverso rispetto a quello mostrato nell’esempio precedente).
Per effettuare la messa in scala bisogna utilizzare in modo diverso le proporzioni introdotto prima.
Dalla (sl.2) si ottiene:
Dalla (sl.1) si ottiene:
Dato un valore digitale letto pari a dread = 200, la tensione prodotta dal sensore è:
Da cui si ottiene il valore di pressione letto dal sensore:
Range non parte da zero
Section titled “Range non parte da zero”La messa in scala è semplice quando range di variabilità della grandezza fisica e range del sensore (in tensione o corrente) partono da 0. Se almeno uno dei due range non parte da 0, conviene utilizzare un procedimento che coinvolge l’equazione di una retta.
L’equazione di una retta si può scrivere a partire dalla conoscenza di due punti qualsiasi che giacciono su di essa.
L’asse orizzontale rappresenta la grandezza fisica misurata dal sensore. L’asse verticale rappresenta la tensione o corrente fornita in ingresso al PLC.
Esempio:
Un trasduttore lineare di temperatura opera nel range da -50 a 75 °C e fornisce in uscita una corrente da 4 a 20 mA.
Si vuole determinare il legame tra la corrente di uscita e la temperatura per calcolare la corrente che viene generata dal sensore se questo rileva 21 °C.
Si prende l’equazione scritta sopra, sostituendo con la temperatura letta: .
Si ottiene , ovvero il valore di corrente corrispondente alla temperatura letta.
Esempio:
Un sensore lineare traduce 0–10 bar in 4–20 mA. Tale segnale viene poi digitalizzato con un convertitore AD a 14 bit. Se il PLC legge il valore digitale , che pressione è realmente presente nell’ambiente?
Step 1: i valori sull’asse corrispondono ai milli-ampere di corrente, mentre quelli sull’asse corrispondono ai bar di pressione:
Step 2: si effettua un procedimento simile per tradurre i valori di corrente nei valori digitali:
Perché al valore di
4 mAcorrisponde un valore digitale di3277?
Grazie alle equazioni (1) e (2) espresse sopra, si evince che le configurazioni binarie da 0 a 3276 sono usate per convertire da 0 a 4 mA (provare ad impostare come l’origine per dimostrare questa affermazione). Tali configurazioni non sono usate realmente dal modulo PLC, in quanto il minimo che ci si attende è 4 mA. Quindi vanno escluse.
Step 3: si può “abbassare” (traslare verso il basso) il valore massimo sottraendolo al minimo:
In questo modo si ottengono i punti:
Questa retta rappresenta il legame tra la corrente e i valori digitali correttamente scalati.
Se il PLC legge il valore digitale , in primo luogo bisogna sottrarvi il valore in modo da scalarlo correttamente:
Utilizzando l’equazione proposta all’inizio del paragrafo per la retta dello step 3, sapendo che si ottiene una corrente pari a x = 16.39 mA.
Utilizzando poi questo valore nella retta dello step 1, che mette in relazione pressione e corrente, si imposta per ottenere la pressione .
Sensori non lineari
Section titled “Sensori non lineari”I ragionamenti ed i calcoli fatti finora valgono per la messa in scala dei sensori lineari, ovvero quelli in cui il legame tra grandezza fisica e grandezza elettrica è lineare: una retta, una proporzione.
Quando il sensore non è lineare, il grafico che mette in relazione la grandezza fisica con la grandezza elettrica non è una retta. Si procede matematicamente in uno dei seguenti modi:
- il costruttore fornisce l’espressione analitica di una funzione matematica che approssima l’andamento del sensore,
- si effettua una linearizzazione a tratti,
- viene fornita una tabella per punti.
Input a bus di campo
Section titled “Input a bus di campo”I costruttori di sensori possono spostare la conversione da A/D all’interno dell’elettronica stessa dei sensori in modo da fornire al PLC direttamente una sequenza digitale binaria anziché un segnale analogico di tensione o corrente.
L’uscita del sensore trasmette una sequenza digitale binaria formattata secondo le regole del protocollo di comunicazione (ad esempio Ethercat). Un sensore di questo tipo va collegato ad un modulo di comunicazione capace di decodificare la particolare formattazione di quello specifico protocollo di comunicazione.
Questi sensori si possono chiamare digitali di alto livello.
Spesso i costruttori di sensori sviluppano modelli diversi dei loro prodotti per fornire differenti modalità di uscita. In questo modo il costruttore di macchine, il quale è vincolato ai moduli che ha collegato al PLC, è in grado di interfacciarsi al sensore in modo più agevole.
Lo stesso sensore può avere uscite in tensione, in corrente, con range diversi di tensione o corrente. Possono esistere anche modelli di sensore con uscita già digitalizzata e disponibile in diversi protocolli di comunicazione (tra cui Profibus e CAN).
È sbagliato avere un modulo di ingressi digitali più lento della massima velocità di variazione degli ingressi. È inutile avere un PLC con convertitore A/D eccessivamente più preciso dello strumento di misura che genera il segnale analogico.
Moduli di Output
Section titled “Moduli di Output”Tipologie di segnali attuatori
Section titled “Tipologie di segnali attuatori”Gli attuatori che si connettono ai morsetti del modulo di uscita del PLC, possono avere bisogno di tre tipi diversi di segnale. Ciò è speculare a quanto avviene per gli ingressi. Gli attuatori possono essere comandati tramite:
- segnale digitale ON/OFF: luci che possono essere solo o accese o spente, elettrovalvole che possono essere solo o totalmente aperte o totalmente chiuse, bobine di relè che o sono eccitate o sono diseccitate,
- segnale analogico: attuatori con funzionamento variabile a seconda del valore di corrente o tensione che ricevono. In base alla tensione che può variare da 0 a 10V, un motore DC potrebbe variare la sua velocità, oppure una lampada dimmerabile può variare la sua intensità luminosa, proporzionale può variare il suo grado di apertura,
- pacchetto binario formattato secondo uno specifico protocollo di comunicazione: il PLC manda all’attuatore dei comandi sotto forma di pacchetti di dati digitali, ciascuno dei quali è interpretato dall’attuatore per svolgere un particolare compito con parametri numerici assegnati.
Output digitale ON/OFF
Section titled “Output digitale ON/OFF”Il seguente tratto di codice chiude il contatto dell’uscita di indice 0 e manda la tensione del pin (piedino) comune (COM, in questo caso 24 Vdc) sul morsetto di uscita. La bobina del relè riceverà 24 Vdc e si ecciterà:
If (temp > 40) then Q0 := true;End_ifIl pin COM è collegato alla tensione che si vuole fornire al carico (load) quando la relativa uscita è impostata a true.
Esistono poi dei PLC che hanno un pin comune separato per ogni uscita digitale ON/OFF. Attuatori collegati a pin diversi dello stesso modulo possono essere alimentati a tensioni diverse, quando la relativa uscita commuta a true (cosa che avviene lato software).
Le uscite possono essere costituite, internamente al modulo, da:
- transistor (per circuiti in corrente continua),
- triac (per circuiti in corrente alternata fino a
250V), - relè elettromeccanici.
Uno dei tre (tra questi dispositivi) fa commutare l’uscita, cioè che apre o chiude il circuito e veicola o meno la tensione del pin comune verso l’attuatore.
È fondamentale verificare qual è l’assorbimento dell’attuatore. Se per accendersi (o eccitarsi) l’attuatore consuma un certo valore di corrente e il modulo è in grado di erogare questa corrente, si può collegare direttamente il carico al modulo del PLC. Se invece l’attuatore necessita di una corrente superiore a quella massima che il modulo del PLC può erogare, è necessario utilizzare un relè esterno.
Esempio: la massima corrente erogabile dal PLC è 300mA per ogni uscita. La bobina k necessita di 80mA per eccitarsi. Il motore M consuma 4A. La lampada H consuma 100mA per accendersi.
Il motore M è azionato indirettamente tramite il contatto di un relè la cui bobina è azionata direttamente dal modulo di uscite digitali del PLC.
Nella tabella che segue si mette a confronto l’uscita a relé con quella a transistor:
| Uscita a relè | Uscita a transitor |
|---|---|
| Trasporta più corrente dell’uscita a transistor | Trasporta meno corrente dell’uscita a relè |
| Commutazione lenta | Commutazione veloce |
| Ha una vita di qualche milione di cicli | Ha una vita potenzialmente infinita |
Anche i moduli di uscite digitali ON/OFF possono essere internamente protetti con foto-accoppiatori per evitare che carichi che richiedono picchi di assorbimento al PLC possano danneggiare la circuiteria interna del PLC stesso.
Anche i moduli di uscita a transistor esistono nella versione N e nella versione P.
Output PWM
Section titled “Output PWM”In alcune situazioni, il PLC può fornire solo uscite digitali ma deve riuscire anche a comandare carichi analogici. Per questo scopo è stato ideato il modulo di uscita digitale PWM (Pulse Width Modulation).
Un segnale PWM è in grado di emulare un segnale analogico se il carico che deve comandare risponde con tempi molto più lenti rispetto alla velocità del segnale stesso.
Dato un segnale composto da un’onda quadra periodica di periodo T, si definisce il duty cycle come il rapporto (in percentuale) tra il tempo in cui il segnale rimane allo stato ON e il tempo totale della durata dell’onda (ovvero T).
Un duty-cycle del 20% implica che l’onda quadra è allo stato ON per il 20% del tempo e allo stato OFF per il restante 80% del tempo. Un carico “lento” collegato a tale segnale PWM, “vede” come tensione il 20% della tensione massima. Se la tensione di partenza è 24Vdc, il carico vede 4.8Vdc: il 20% di 24 è proprio 4.8.
Output analogico
Section titled “Output analogico”I moduli di uscita analogici hanno le stesse classificazioni dei moduli di ingresso analogici, ossia possono fornire in uscita:
- segnali di tensione tipicamente nel range
0-10V, - segnali di corrente tipicamente nei range
0 – 20mAo4 – 20mA
Tali moduli servono per comandare carichi/attuatori che necessitano di segnali variabili e che hanno un comportamento che varia a seconda dell’intensità del valore del segnale che ricevono (es. intensità di una lampada, grado di apertura di una valvola, velocità di un motore).
Per passare dal valore numerico delle variabili interne del PLC ad un valore variabile di corrente o tensione, questi moduli hanno a bordo un convertitore digitale-analogico DAC (Digital to Analog Converter) caratterizzato da un certo numero di bit.
Output a bus di campo
Section titled “Output a bus di campo”Esistono dispositivi di uscita che accettano solo comandi dati con sequenze binarie formattate secondo un certo protocollo. In questo caso il modulo che invia il comando all’attuatore non è un modulo di uscita, ma un modulo di comunicazione. Modulo di comunicazione e dispositivo di uscita devono avvalersi dello stesso protocollo di comunicazione.
Molti azionamenti, ovvero dispositivi che controllano il moto di motori elettrici, sono in grado di ricevere comandi secondo uno specifico bus di campo.