“In quel periodo mi occupavo di programmazione di macchine utensili. Furono i nostri colleghi disegnatori a dare forma
alla programmazione in logica a contatti. Anche il nome Ladder Logic lo diedero loro. In pratica si disegnavano su di un
grande foglio di carta tutti i contatti a relè dei quadri cablati. Tempo dopo venni a sapere che fummo i primi a trasferire la
tradizionale logica a relè di origine tedesca - opportunamente scalata e semplificata – in un ambito di programmazione
industriale vera e propria.”
Dick Morley, intervista a Automazione e Strumentazione, Aprile 2009
E’ considerato il padre del PLC.
Soluzione:
TABELLA DEI SIMBOLI
SIMBOLI INDIRIZZO COMMENTO
S0 I0.0 Pulsante di avvio motore
Motore Q0.0
1
PLC - Programmazione Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Cablaggio
del PLC e
motore
Programma: STACK
VERSIONE 1 (Contatto di autoritenuta)
IL b0 I0.0
b1
LADDER
LD I0.0 b2
b0 I0.0 OR Q0.0
O Q0.0
b1
b2
AN I0.1
b0 [I0.0 OR Q0.0] AND NOT I0.1
b1
= Q0.0 b2
Network 1
b0 I0.0 NB: lo stack cresce verso
LD I0.0 il basso mediante lo
b1
S Q0.0 , 1 scorrimento dei valori che
b2
sono già presenti al suo
interno.
Network 2
b0 I0.1
Il nuovo dato è inserito in
LD I0.1 b1 I0.0 cima.
R Q0.0 , 1 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. 3
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
AREE DI MEMORIA
IDENTIFICATORE Per CPU 224
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)
4
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
IDENTIFICATORE
OPERANDI
AREA DESCRIZIONE
(formato)
5
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
MEMORIA
Accesso ai dati dell’S7 - 200
Byte (B)
Word (W) Double Word (D)
…
…
…
98 98 98
• 8 bit
Byte 99 VB99 • 16 bit Byte 99 VB99 • 32 bit Byte 99 VB99
• indirizzi sia 100 VW100 100 VD100
2 Byte
4 Byte
Byte 101 VB101 solo pari 101 solo pari Double 101
pari
102 VW102 Word 102
Byte 102 VB102
2 Byte
Word
103 VB103 103 103
Byte
104 104
…
104 VB104
…
…
6
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
7
PLC - Memoria Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
8
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.
9
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Temporizzatore TON
I0.0
T33
(Valore attuale)
11
Altre versioni
12
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Temporizzatore TONR
I0.0
Valore preimpostato t1 t2
(2 s)
T1 t1 + t2 = 2 s
(Valore attuale)
T1 (Bit di temporizzazione)
Q0.0
Reset
13
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Descrizione: un motore elettrico aziona un utensile che deve operare per 1 min e 12 s.
L’attivazione del sensore di temperatura B1 (NC) provoca l’arresto del motore. Alla disattivazione
di B1 il motore deve riavviarsi e l’utensile terminare il ciclo di lavoro.
Cablaggio
degli
ingressi
NB: B1 a riposo:
PLC legge 1
14
PLC - Programmazione Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
15
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Temporizzatore TOF
I0.0
1.6 s
Valore preimpostato
(1.6 s)
T33
(Valore attuale)
T33 (Bit di
temporizzazione)
Q0.0
16
PLC - Temporizzatori Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Soluzione: si sceglie un temporizzatore TOF con base dei tempi 100 ms (esempio:
T37). Il fattore moltiplicativo sarà pari a 30.
LD I0.0
S M0.0 , 1
SIMBOLI INDIRIZZO COMMENTO
LD M0.0
S0 I0.0 Pulsante di avvio motore
NA TOF T37, 30
S1 I0.1 Pulsante di arresto NC
LD T37
Motore Q0.0
= Q0.0
17
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
18
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.
19
PLC - Confronto tra valori numerici Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Descrizione:
Il pulsante I0.0 avvia l’intermittenza di 1 Hz, con duty
cycle del 50%.
Il pulsante I0.1 interrompe l’intermittenza.
20
PLC - Merker speciali Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
21
PLC - Merker speciali Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
NB:
• in Ladder occorre un segmento aggiuntivo
• Segnalazione luminosa intermittente col bit SM0.5
22
PLC - Confronto tra valori numerici Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
ESEMPIO
Carica il valore
122 nel byte 0
I0.0
Diagramma
I0.1
temporale
VB0 0 122
VB1 0 234
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.
24
PLC - Contatori - CTU Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Reset del
contatore
Valore di
preimpostazione
ESEMPIO
NB: un reset sempre attivo impedisce al valore attuale di incrementarsi al sopraggiungere di un fronte di salita su CU.
25
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
CD
LD
4 4
3 3
2
1
Valore attuale C0
0
C0 (Bit di conteggio)
Q0.0
28
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 (NA), che aziona il nastro. Un finecorsa B1 (NA) segnala che il pezzo è giunto a destinazione. Dopo 10
conteggi il ciclo ha termine. Per la ripetizione del ciclo occorre premere nuovamente S1.
29
PLC - Contatori - CTUD Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
Contatore CTUD
ESEMPIO
30
PLC - Contatori - CTUD Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
ESEMPIO
SOLUZIONE
31
PLC - Contatori - CTUD Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
+100
32
PLC - Transizioni Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
TRANSIZIONI
TRANSIZIONE POSITIVA
TRANSIZIONE NEGATIVA
L’istruzione ED (Edge Down) NB: Un fronte di discesa
LD I0.0 rileva una variazione di stato di nel contatto N determina
I0.0: l’emissione di un
ED
• se da 1 a 0 (fronte negativo) impulso che dura 1 ciclo
= Q0.0
pone 1 in cima allo stack di scansione.
• altrimenti pone 0.
Q0.0 attiva per un ciclo.
Le uscite S e R congelano
l’impulso in Q0.0 e
consentono di vedere la
variazione nella
visualizzazione ‘stato del
Network 1 programma’.
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
34
PLC - Variabili Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
35
PLC - Variabili Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
( ... scontinua) 36
PLC - Variabili Prof. Capuzzimati Mario - ITIS “Magistri Cumacini” - Como
( ... segue)
37