Skip to content

Moduli I/O di un PLC

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.

moduli-io

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:

  1. attivi: necessitano di alimentazione esterna per funzionare,
  2. 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:

  1. corrente di alimentazione: alimenta il circuito presente dentro al sensore e ne permette il funzionamento (consumata costantemente),
  2. 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.

sensore sourcing corrente da sensore a PLCingresso sinkingsensore sinking corrente da PLC a sensoreingresso sourcing\begin{aligned} \text{sensore sourcing} & \quad \xrightarrow{\text{ corrente da sensore a PLC}} & \text{ingresso sinking} \\ \text{sensore sinking} & \quad \xleftarrow{\text{ corrente da PLC a sensore}} & \text{ingresso sourcing} \\ \end{aligned}

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.

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.

io-modules-schema1

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, è:

precisione=max_value2res\large \text{precisione} = \frac{\text{max\_value}}{2^{\rm res}}

Ad esempio, si vuole convertire un valore di tensione nel range 0 - 5 V a 10 bit. Dato 210 = 1024, si può scrivere:

precisione=5210=0,004882813  V\large \text{precisione} = \frac{5}{2^{10}} = 0,004882813 \; \rm V

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:

res=12    max_bit_val=2res=212=4096\text{res} = 12 \implies \text{max\_bit\_val} = 2^{\rm res} = 2^{12} = 4096

Si può ottenere il minimo valore “utile” in bit, ovvero corrispondente a 4 mA, tramite una proporzione:

4:min_bit_utile=20:max_bit_val    min_bit_utile=4409620=819(1)\small 4 : \text{min\_bit\_utile} = 20 : \text{max\_bit\_val} \implies \text{min\_bit\_utile} = \frac{4 \cdot 4096}{20} = 819 \tag{1}

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.

bit_utili=max_bit_valmin_bit_utile=4096819=3277(2)\text{bit\_utili} = \text{max\_bit\_val} - \text{min\_bit\_utile} = 4096 - 819 = 3277 \tag{2}

Date queste informazioni si può compilare la seguente tabella:

n° bitvalori 0-4 mAvalori utili 4-20 mARisoluzione sulle
Unità Ingegneristiche
120 ... 819819 ... 4096f.s. / 3277
130 ... 16381638 ... 8192f.s. / 6554
140 ... 32773277 ... 16384f.s. / 13107
150 ... 65546554 ... 32768f.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 range 0 – 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.

Iread<3.8  [mA]    circuito apertoIread>20.5  [mA]    corto-circuito\begin{aligned} I_{read} < 3.8 \; \text{[mA]} &\implies \text{circuito aperto}\\ I_{read} > 20.5 \; \text{[mA]} &\implies \text{corto-circuito}\\ \end{aligned}

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. ).

messa-in-scala

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 429 alle 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.

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:

io-modules-schema1

Il segnale elettrico è tipicamente:

  • tensione da 0 a 10 V (Volt),
  • corrente da 4 a 20 mA (milli-ampere)

Si può adattare a questo caso studio: io-modules-schema2

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:

Pmax:Vmax=Pread:Vread    Vread=VmaxPreadPmax(sl.1)\rm P_{max} : V_{max} = P_{read} : V_{read} \implies V_{read} = \frac{V_{max} \cdot P_{read}}{P_{max}} \tag{sl.1}

La tensione Vread viene digitalizzata con una risoluzione di 12 bit. Si può definire il massimo valore digitale ottenibile con tale risoluzione:

dmax=2r1=2121=4095\rm d_{max} = 2^r-1 = 2^{12}-1 = 4095

N.B. Si sottrae un numero a 2r perché il range di numeri deve partire da zero:

comb_tot=212=4096    dmin=0  e  dmax=comb_tot1=4095\rm comb\_tot = 2^{12} = 4096 \implies d_{min} = 0 \; e \; d_{max} = comb\_tot - 1 = 4095

Per ottenere il valore digitale letto dal PLC, che in questo caso si può chiamare dread, si deve utilizzare la seguente proporzione:

Vmax:dmax=Vread:dread    dread=dmaxVreadVmax(sl.2)\rm V_{max} : d_{max} = V_{read} : d_{read} \implies d_{read} = \frac{d_{max} \cdot V_{read}}{V_{max}} \tag{sl.2}

Dato un valore Pread = 15 bar, si vuole ottenere sia il valore di tensione letto dal ingresso analogico che il corrispondente valore binario:

\start{aligned} \rm V_{read} &= \rm \frac{V_{max} \cdot P_{read}}{P_{max}} = \frac{10 \cdot 15}{60} = \frac{5}{2} = 2.5 \\ \rm d_{read} &= \rm \frac{d_{max} \cdot V_{read}}{V_{max}} = \frac{4095 \cdot 2.5}{10} = 1023.75 \approx 1024 \end{aligned}

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).

valore digitale letto dal PLC  messa in scala  grandezza fisica misurata dal sensore\text{valore digitale letto dal PLC} \; \xrightarrow{\text{messa in scala}} \; \text{grandezza fisica misurata dal sensore}

Per effettuare la messa in scala bisogna utilizzare in modo diverso le proporzioni introdotto prima.

Dalla (sl.2) si ottiene:

Vmax:dmax=Vread:dread    Vread=Vmaxdreaddmax(sl.2.2)\rm V_{max} : d_{max} = V_{read} : d_{read} \implies V_{read} = \frac{V_{max}\cdot d_{read}}{d_{max}} \tag{sl.2.2}

Dalla (sl.1) si ottiene:

Pmax:Vmax=Pread:Vread    Pread=PmaxVreadVmax(sl.1.1)\rm P_{max} : V_{max} = P_{read} : V_{read} \implies P_{read} = \frac{P_{max} \cdot V_{read}}{V_{max}} \tag{sl.1.1}

Dato un valore digitale letto pari a dread = 200, la tensione prodotta dal sensore è:

Vread=Vmaxdreaddmax=102004095=4008190.49  [V]\rm V_{read} = \frac{V_{max}\cdot d_{read}}{d_{max}} = \frac{10 \cdot 200}{4095} = \frac{400}{819} \approx 0.49 \; [V]

Da cui si ottiene il valore di pressione letto dal sensore:

Pread=PmaxVreadVmax=600.4910=8002732.93  [bar]\rm P_{read} = \frac{P_{max} \cdot V_{read}}{V_{max}} = \frac{60 \cdot 0.49}{10} = \frac{800}{273} \approx 2.93 \; [bar]

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.

eq-retta

xx0x1x0=yy0y1y0\frac{x - x_0}{x_1 - x_0} = \frac{y - y_0}{y_1 - y_0}

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.

x0=50  ,  y0=4103    P0=(x0  ;  y0)=(50  ;  4103)x1=75  ,  y1=20103    P1=(x1  ;  y1)=(75  ;  20103)x_0 = -50\; , \; y_0 = 4 \cdot 10^{-3} \implies P_0 = (x_0 \;;\;y_0) = (-50\;;\; 4 \cdot 10^{-3})\\ x_1 = 75\; , \;y_1 = 20 \cdot 10^{-3} \implies P_1 = (x_1 \;;\;y_1) = (75\;;\; 20 \cdot 10^{-3})\\

Si prende l’equazione scritta sopra, sostituendo xx con la temperatura letta: x=Tread=21  [°C]x=T_{\rm read} = 21 \; \rm [°C].

21(50)75(50)=y4103201034103    y=13103\frac{21 - (-50)}{75 - (-50)} = \frac{y - 4 \cdot 10^{-3}}{20 \cdot 10^{-3} - 4 \cdot 10^{-3}} \implies y = 13 \cdot 10^{-3}

Si ottiene yy, 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 yread=13360y_{\rm read} = 13360, che pressione è realmente presente nell’ambiente?

Step 1: i valori sull’asse yy corrispondono ai milli-ampere di corrente, mentre quelli sull’asse xx corrispondono ai bar di pressione:

x0=0  ,  y0=4    P0=(x0  ;  y0)=(0  ;  4)x1=10  ,  y1=20    P1=(x1  ;  y1)=(10  ;  20)x_0 = 0\; , \; y_0 = 4 \implies P_0 = (x_0 \;;\;y_0) = (0\;;\; 4)\\ x_1 = 10\; , \; y_1 = 20 \implies P_1 = (x_1 \;;\;y_1) = (10\;;\; 20)

Step 2: si effettua un procedimento simile per tradurre i valori di corrente nei valori digitali:

x0~=4  ,  y0~=3277    P0~=(4,3277)x1~=20  ,  y1~=214=16384    P1~(20,16384)\widetilde{x_0} = 4\; ,\; \widetilde{y_0} = 3277 \implies \widetilde{P_0} = (4,3277)\\ \widetilde{x_1} = 20\; ,\; \widetilde{y_1} = 2^{14} = 16384 \implies \widetilde{P_1}(20,16384)

Perché al valore di 4 mA corrisponde un valore digitale di 3277?

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 P0~\widetilde{P_0} 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:

y1^=y1~y0~=13107\widehat{y_1} = \widetilde{y_1} - \widetilde{y_0} = 13107

In questo modo si ottengono i punti:

x0^=4  ,  y0^=0    P0^=(4,0)x1^=20  ,  y1^=13107    P1^(20,13107)\widehat{x_0} = 4\; ,\; \widehat{y_0} = 0 \implies \widehat{P_0} = (4,0)\\ \widehat{x_1} = 20\; ,\; \widehat{y_1} = 13107\implies \widehat{P_1}(20,13107)

Questa retta rappresenta il legame tra la corrente e i valori digitali correttamente scalati.

es-messa-in-scala

Se il PLC legge il valore digitale yread=13360y_{\rm read} = 13360, in primo luogo bisogna sottrarvi il valore y0~=3277\widetilde{y_0} = 3277 in modo da scalarlo correttamente:

yread^=yready0~=133603277=10083\widehat{y_{\rm read}} = y_{\rm read} - \widetilde{y_0} = 13360 - 3277 = 10083

Utilizzando l’equazione proposta all’inizio del paragrafo per la retta dello step 3, sapendo che y=yread^=10083y = \widehat{y_{\rm read}} = 10083 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 y=16.39  [mA]y = 16.39 \; \rm [mA] per ottenere la pressione x=7.74  [bar]x = 7.74 \; \rm [bar].

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.

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.

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.

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_if

Il pin COM è collegato alla tensione che si vuole fornire al carico (load) quando la relativa uscita è impostata a true.

04_COM-1

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).

04_COM-2

Le uscite possono essere costituite, internamente al modulo, da:

  1. transistor (per circuiti in corrente continua),
  2. triac (per circuiti in corrente alternata fino a 250V),
  3. 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 transistorTrasporta meno corrente dell’uscita a relè
Commutazione lentaCommutazione veloce
Ha una vita di qualche milione di cicliHa 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.

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).

duty-cycle=TONT  [%]\text{duty-cycle} = \frac{T_{ON}}{T} \; \Big[\%\Big]

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.

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 – 20mA o 4 – 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.

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.