Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Motore Q0.0
STACK
VERSIONE 1 (Contatto di autoritenuta)
b0 I0.0
b1
LADDER IL
b2
LD I0.0
b0 I0.0 OR Q0.0
b1
O Q0.0
b2
AN I0.1
b0 [I0.0 OR Q0.0] AND NOT I0.1
b1
= Q0.0 b2
1
PLC - Programmazione Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
LADDER IL
Network 1
b0 I0.0
LD I0.0
b1
S Q0.0 , 1
b2
Network 2
LD I0.1
b0 I0.1
R Q0.0 , 1
b1 I0.0
b2
ESERCIZIO: Scrivere un software di controllo che permetta l’avvio di un motore in seguito alla contemporanea
pressione di due pulsanti S1 e S2 e l’accensione della relativa lampada di segnalazione. Il controllo deve arrestare il
motore in seguito all’attivazione del finecorsa B1 o del pulsante S3.
2
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Numero del
Temporizzatore
Fattore moltiplicativo
della base dei tempi
Il numero e il fattore moltiplicativo del temporizzatore dipendono dalla risoluzione (base dei tempi) di cui si ha
bisogno. Si hanno tre possibili risoluzioni: 1 m, 10 ms, 100 ms.
I temporizzatori sono 256. Attraverso il numero si indica la risoluzione.
3
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Temporizzatore TON
LADDER
IL
Dal momento in cui l’ingresso IN è attivo T33
Network 1
comincia a scandire gli intervalli di 10 ms.
LD I0.0
Raggiunto il valore preimpostato (160 incrementi, TON T33 , 160
corrispondenti a un intervallo di 1.6 s), il
temporizzatore porta a 1 il Bit di temporizzazione. Network 2
LD T33
Il funzionamento del temporizzatore può essere
= Q0.0
meglio compreso attraverso i diagrammi temporali.
I0.0
T33
(Valore attuale)
LADDER
IL
Motore Q0.1
Network 2
LD M0.0
TON T37, 24
Premendo S0 si attiva il merker M0.0, il quale
resta attivo per il contatto di autoritenuta.
Network 3
L’attivazione del merker avvia la
LD T37
temporizzazione di T37, il quale raggiunto il
S Q0.1 , 1
valore preimpostato attiva il Bit di
temporizzazione T37. R M0.0 , 1
5
Altre versioni
6
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Temporizzatore TONR
LADDER
IL
Dal momento in cui l’ingresso I0.0 è attivo T1 comincia a
scandire gli intervalli di 10 ms. LD I0.0
TONR T1 , 200
Una disattivazione dell’ingresso blocca la temporizzazione,
che riparte appena l’ingresso si riattiva. LD T1
Raggiunto il valore preimpostato (200 incrementi, = Q0.0
corrispondenti a un intervallo di 2 s), il temporizzatore
porta a 1 il Bit di temporizzazione. LD I0.1
R T1, 1
Tale Bit è riportato a zero solo mediante un comando di
Reset (pulsante I0.1).
I0.0
Valore preimpostato t1 t2
(2 s)
T1 t1 + t2 = 2 s
(Valore attuale)
T1 (Bit di temporizzazione)
Q0.0
Reset
7
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
8
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Temporizzatore TOF
LADDER IL
Dal momento in cui l’ingresso IN è attivo T33
porta a 1 il Bit di temporizzazione.
LD I0.0
Il conteggio degli intervalli di 10 ms comincia col TOF T33 , 160
sopraggiungere di un fronte di discesa
sull’ingresso. Al raggiungimento del valore LD T33
preimpostato si = Q0.0
• resetta il Bit di temporizzazione
• blocca il conteggio degli intervalli di
tempo.
Una successiva riattivazione dell’ingresso
• resetta il temporizzatore
• riporta a 1 il Bit di temporizzazione.
I0.0
1.6 s
Valore preimpostato
(1.6 s)
T33
(Valore attuale)
T33 (Bit di
temporizzazione)
Q0.0
9
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
10
PLC - Contatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
CONTATORI
I contatori contano le transizioni dal basso verso l’alto sui propri ingressi.
Il valore istantaneo scandito dal contatore rappresenta il valore attuale.
Un valore attuale che raggiunge il valore preimpostato (CTU, CTUD) o che si azzera (CTD) provoca un cambiamento
dello stato del Bit di conteggio.
I contatori sono 256 (da C0 a C255). Ciascun contatore può essere associato a qualunque dei tre tipi appena
descritti.
11
PLC - Contatori - CTU Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Reset del
contatore
Valore di
preimpostazione
ESEMPIO
LADDER IL
Ad ogni fronte di salita sull’ingresso CU il
contatore C0 incrementa il proprio Network 1
valore attuale di 1. CU
LD I0.0
Al raggiungimento del valore
preimpostato ( es: 4) viene attivato il Bit R
LD I0.1
di conteggio, che resta tale anche per PV
valori attuali superiori a quello CTU C0 , 4
preimpostato (il conteggio si arresta se il
valore attuale raggiunge quello max di 32 Network 2
767). LD C0
NB: nell’esempio il Bit di conteggio = Q0.0
C0 attiva l’uscita Q0.0.
Il valore attuale è azzerato con
l’attivazione dell’ingresso R.
NB: un reset sempre attivo impedisce al valore attuale di incrementarsi al sopraggiungere di un fronte di salita su CU.
12
PLC - Contatori - CTU Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
CU
5
4
3
2
1 1
Valore attuale C0
0 0
C0 (Bit di conteggio)
Q0.0
Contatore CTD
Ingresso di
conteggio indietro
Valore di
preimpostazione
LADDER IL
Con l’attivazione dell’ingresso LD si fa
Network 1
assumere il valore preimpostato (es: 6) al
CD
valore attuale (e si resetta il Bit di conteggio).
LD I0.0
Ad ogni fronte di salita sull’ingresso CD il
LD
contatore C0 decrementa il proprio valore LD I0.1
PV
attuale di 1.
CTD C0 , 6
NB: un LD ancora attivo impedisce al
contatore di decrementare il valore Network 2
attuale. LD C0
Al raggiungimento dello zero da parte del = Q0.0
valore attuale viene attivato il Bit di conteggio
e il contatore si arresta.
NB: nell’esempio il Bit di conteggio C0
attiva l’uscita Q0.0.
14
PLC - Contatori - CTD Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
CD
LD
4 4
3 3
2
1
Valore attuale C0
0
C0 (Bit di conteggio)
Q0.0
15
ESEMPIO Contatori CTU e CTD
Descrizione Progettare il controllo di un nastro trasportatore, azionato da motore, su cui viaggiano dei
pezzi. Il ciclo comincia premendo il pulsante S1, che aziona il nastro. Un finecorsa B1 segnala che il pezzo è
giunto a destinazione. Dopo 10 conteggi il ciclo ha termine.
16
PLC - Contatori - CTUD Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Contatore CTUD
ESEMPIO
17
PLC - Contatori - CTUD Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
ESEMPIO
P2
SOLUZIONE
18
PLC - Contatori - CTUD Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
+100
19
PLC - Confronto tra valori numerici Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
LADDER IL
Il confronto corrisponde ad un contatto il cui stato Le istruzioni di Load, And, Or, se vere, pongono un 1 in
dipende da due valori numerici, con all’interno indicato cima allo stack (1° livello).
il tipo di confronto:
IN1
==B LDB= IN1, IN2
IN2
20
PLC - Confronto tra valori numerici Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
ESEMPIO
I0.0
STACK
Network 1 b0 I0.0
40
b1
LD I0.0
T38
b2
Valore attuale
TON T38 , 100
T38 >= 40
Network 2 b0 T38 >= 40
b1 I0.0
LDW>= T38, 40
b2
= Q0.0 In cima allo stack viene caricato il risultato del confronto.
21
PLC - Confronto tra valori numerici Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
ESEMPIO
I0.0
Diagramma
I0.1
temporale
VB0 0 122
VB1 0 234
23
PLC - Merker speciali Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Byte SM0:
24
PLC - Merker speciali Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
25
PLC - Transizioni Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
TRANSIZIONI
TRANSIZIONE POSITIVA
TRANSIZIONE NEGATIVA
L’istruzione ED (Edge Down) NB: Un fronte di salita
LD I0.0 rileva una variazione di stato di nel contatto N
I0.0: determina l’emissione
ED
• se da 1 a 0 (fronte negativo) di un impulso che dura
= Q0.0
pone 1 in cima allo stack 1 ciclo di scansione.
• altrimenti pone 0.
Le uscite S e R congelano
l’impulso in Q0.0 e consentono
di vedere la variazione nella
visualizzazione ‘stato del
programma’.
Network 1
LD I0.0
EU
S Q0.0 , 1 I0.0
= Q0.1
Network 2
Q0.0
LD I0.0
ED
R Q0.0 , 1 Q0.1
Uscite attive solo per
= Q0.2
un ciclo di scansione
Q0.2
27
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
MEMORIA
Accesso ai dati dell’S7 - 200
Byte (B)
…
… Double Word (D)
…
98
Word (W) 98 98
• 8 bit Byte 99 VB99
Byte 99 VB99 • 16 bit Byte 99 VB99 • 32 bit
• indirizzi sia 100 VD100
2 Byte
4 Byte
dispari che Word
Byte 101 solo pari Double 101
pari 101 VB101 solo pari
102 VW102 Word 102
Byte 102 VB102
2 Byte
Word
103 VB103 103 103
Byte
104
…
104
…
104 VB104
…
28
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
29
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
30
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
OPERANDI
AREA DESCRIZIONE
(formato)
Registro di immagine È la memoria dove vengono scritti i valori degli ingressi digitali letti
Byte.bit
di processo degli I Byte, Word, Double Word
all’inizio del ciclo di scansione
ingressi ES: I0.1 IB3 IW8 ID10 (I0.0 → I15.7)
Registro di immagine Byte.bit È la memoria dove vengono trascritti i valori delle nuove uscite quali
risultanti dall’esecuzione del programma utente, prima di essere portati
di processo delle Q Byte, Word, Double Word
all’esterno
uscite ES: Q0.1 QB3 QW8 QD10 (Q0.0 → Q15.7)
Memoria dei contatori Numero Conteggiano eventi veloci indipendenti dal ciclo di scansione della CPU
veloci
HC contatore (HC0 → HC5)
31
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
IDENTIFICATORE
OPERANDI
AREA DESCRIZIONE
(formato)
32
PLC - Variabili Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Facendo ricorso alle variabili e alle transizioni è possibile evitare del tutto il ricorso ai contatori.
ESEMPIO: Soluzione con i contatori
33
Soluzione con le variabili:
MOVB 0, VB0
34