Sei sulla pagina 1di 41

LADDER

Reti e Sistemi per l’Automazione

LOGIC

Stefano Panzieri Ladder Logic - 1


Linguaggi di Programmazione

◊ IEC 1131
◊ Linguaggio a contatti (Ladder Diagram)
◊ Diagramma a blocchi funzionali (FBD)
◊ Diagramma sequenziale funzionale (SFC)
◊ Lista di istruzioni
Reti e Sistemi per l’Automazione

◊ Testo strutturato

Stefano Panzieri Ladder Logic - 2


Ladder Diagram

I1:4 I1:7 U3:15


Reti e Sistemi per l’Automazione

I1:4 I1:7

Stefano Panzieri Ladder Logic - 3


Functional Block Diagram (1)

I22
&
M3
U31
+
Reti e Sistemi per l’Automazione

I2

& M22

I15
& U6
I4

Stefano Panzieri Ladder Logic - 4


Functional Block Diagram (2)
F1

I1 X1
Y1
I2 X2
Reti e Sistemi per l’Automazione

F2

X1
Y1 U1
I3 X2 F3
Y2
>BACK> X3 A1 B1 U2

I4 A2 B2 >BACK>

Stefano Panzieri Ladder Logic - 5


Sequential Functional Chart

1
Reti e Sistemi per l’Automazione

10
20

11

31 41

Stefano Panzieri Ladder Logic - 6


Linguaggi Testuali

◊ Lista di istruzioni ◊ Testo strutturato


If (livello<livello_max)
Start LD i25 then
ADD var valvola1 = true
MUL 10 else
allarme = true
Reti e Sistemi per l’Automazione

SUB livello
GT 25 valvola1 = false
STO m2 end_if
LD u39 aux=i25*10-4

Stefano Panzieri Ladder Logic - 7


Linguaggio a contatti virtuale

◊ Area degli ingressi ◊ Area PID


◊ I1-I32  Ix:y ◊ P1-P4  Px
◊ Area delle uscite ◊ Area Utente
◊ U1-U32  Ux:y ◊ W1-W512 -> Wx:y
◊ Area dei ◊ Database (eventuale)
Reti e Sistemi per l’Automazione

Temporizzatori ◊ Address/Symbols
◊ T1-T16  Tx ◊ Instruction comments
◊ Rung comments
◊ Area Contatori
◊ C1-C16  Cx

Stefano Panzieri Ladder Logic - 8


Ladder Logic
Reti e Sistemi per l’Automazione

Stefano Panzieri Ladder Logic - 9


Istruzioni di base
◊ Contatto normalmente
aperto
◊ Si chiude se il bit vale 1
◊ Contatto normalmente
chiuso
◊ Si apre se il bit vale 1
◊ Bobina
Reti e Sistemi per l’Automazione

◊ Se le condizioni logiche alla sua


sinistra sono verificate l’uscita
associata andrà ad 1 (ON)
◊ Latch bobina
◊ Mantiene lo stato ON anche L
quando le condizioni di attivazione
vengono a mancare
◊ Unlatch bobina U
◊ Riporta ad OFF un’uscita

Stefano Panzieri Ladder Logic - 10


Esempio di Rung

I1 I2 I3 I4 U1
Reti e Sistemi per l’Automazione

I5 I6

I7

Stefano Panzieri Ladder Logic - 11


Programmazione di una XOR

I1:4 I1:7 U3:15

I1:4 I1:7
Reti e Sistemi per l’Automazione

I1:4

I1:7

U3:15

Stefano Panzieri Ladder Logic - 12


Programmazione di un elemento di memoria

I2:2 I3:9 U1 :1

U1:1
Reti e Sistemi per l’Automazione

I2:2

I3:9

U1:1

Stefano Panzieri Ladder Logic - 13


Riconoscimento di Fronte di Salita

I1:1 W1:2 W1:1

W1:2
Reti e Sistemi per l’Automazione

I1:1

W1:2

W1:1

Stefano Panzieri Ladder Logic - 14


Riconoscimento di Fronte di Discesa

I1:1 W1:2 W1:1

W1:2
Reti e Sistemi per l’Automazione

I1:1

W1:2

W1:1

Stefano Panzieri Ladder Logic - 15


Flip-Flop di tipo D

I1:1 W1:2 W1:1

W1:2

W1:1 U2:1 U2:1


Reti e Sistemi per l’Automazione

U2:1 U2:1

I1:1

W1:2

W1:1

U2:1

Stefano Panzieri Ladder Logic - 16


Due Programmi Non Equivalenti

I1:1 U4:1 U1:15 U6:3


Reti e Sistemi per l’Automazione

U4:1 U1:15 U4:1 U1:15

U1:15 U6:3 U4:1


I1:1

L’ordine con cui vengono eseguiti i vari Rung è fondamentale

Stefano Panzieri Ladder Logic - 17


Istruzioni di Temporizzazione

◊ Temporizzatore  Tx
◊ Se il rung che lo contiene è abilitato conta il trascorrere del tempo
fino ad un valore preimpostato.
◊ Quando arriva a questo valore Tx diventa vero.
◊ In Tx.acc è possibile leggere il tempo trascorso
◊ Se il rung torna falso prima del completamento del tempo Tx si
Reti e Sistemi per l’Automazione

disattiva.
◊ Temporizzatore a ritenuta  TxR
◊ Continua a contare anche se il rung di attivazione diventa falso.
◊ Reset temporizzatore  RES
◊ Resetta un temporizzatore a ritenuta.

Stefano Panzieri Ladder Logic - 18


Temporizzatori
I3:1
T2
6000

I4:2
T4R
1000

T2 U3:2
Reti e Sistemi per l’Automazione

T2 T4 W1:5

W5:2 T4R

RES

Stefano Panzieri Ladder Logic - 19


Ritardo di Spegnimento

I1:1 T1 U2:1

U2:1 I1:1
T1
Reti e Sistemi per l’Automazione

500

I1:1

5s
T1

U2:1

Stefano Panzieri Ladder Logic - 20


Oscillatore ad Onda Quadra

I10:3 T6

T5
200

T5
T6
300

U2:4
Reti e Sistemi per l’Automazione

I10:3

2s 3s
T5

T6

U2:4

Stefano Panzieri Ladder Logic - 21


Impulso all’Accensione

I3:2
T1
100

T1 U2:4
Reti e Sistemi per l’Automazione

I3:2

1s
T1

U2:1

Stefano Panzieri Ladder Logic - 22


Impulso allo Spegnimento
I1:1 I1:1
T9
200

W2:2 W2:1

W2:1 T9 W2:2

I1:1 W2:2 U1:1


Reti e Sistemi per l’Automazione

I1:1

W2:1

W2:2

T9
2s

U1:1

Stefano Panzieri Ladder Logic - 23


Istruzioni di Conteggio

◊ Contatore ad incremento
◊ Se il rung di attivazione subisce una transizione falsovero il
contatore Cx si incrementa di un’unità.
◊ Cx.acc contiene il valore attuale del contatore
◊ Cx diventa vero quando il contatore raggiunge il limite
preimpostato.
Reti e Sistemi per l’Automazione

◊ Reset contatore
◊ Riporta a zero il contatore Cx

Stefano Panzieri Ladder Logic - 24


Contatore

I1:2
C2
122

C2 U2:4
Reti e Sistemi per l’Automazione

W1:4 C2

RES

Stefano Panzieri Ladder Logic - 25


Conteggio di Eventi
I1:1 W1:2 W1:1

W2:1
W1:2 sostituire a w2:1
C4
3

C4 U1:1

U1:1 W1:1
Reti e Sistemi per l’Automazione

C4 C4

RES

I1:1

W1:1

W1:2

C4

U1:1

Stefano Panzieri Ladder Logic - 26


Temporizzatori e Contatori in Cascata
I1:1
T1
360000

T1
T2
180000

T5
T5
6000

T5
C5
Reti e Sistemi per l’Automazione

1000

I2:2 C5

RES

I5:4
C7
500

C7
C8
10

C7

RES

Stefano Panzieri Ladder Logic - 27


Controllo del programma

◊ Etichetta --|LBL|--
◊ Label per salti
◊ Salto --(JMP)--
◊ Se il rung è abilitato il programma passa al rung con l’etichetta indicata
◊ Salto a sottoprogramma –(JSR)–
◊ Inizio sottoprogramma --|SBR|--
Reti e Sistemi per l’Automazione

◊ Ritorno da sottoprogramma –(RET)–


◊ Master Control Relay –(MCR)– … –(MCR)–
◊ I rung della zona delimitata non vengono eseguiti se la condizione è
falsa, e le bobine di uscita vengono resettate
◊ Zone control Last State –(ZCL)– … –(ZCL)–
◊ I rung della zona delimitata non vengono eseguiti ma le bobine di uscita
rimangono inalterate.

Stefano Panzieri Ladder Logic - 28


Esempio di Utilizzo del Salto

W1:1 200

JMP

(procedura di inizializzazione)
Reti e Sistemi per l’Automazione

W1:1

200

LBL

(programma)

Stefano Panzieri Ladder Logic - 29


Esempio di Utilizzo del Master Control Relay

MCR
Reti e Sistemi per l’Automazione

(zona controllata)

MCR

Stefano Panzieri Ladder Logic - 30


Esempio di Utilizzo del Salto a
Sottoprogramma

300

JSR

300
Reti e Sistemi per l’Automazione

JSR

300

SBR

(sottoprogramma)

RET

Stefano Panzieri Ladder Logic - 31


Istruzione MOV

 Trasferimento di memoria
 Il contenuto di una word è
trasferito in un’altra word
Reti e Sistemi per l’Automazione

MOV
OP1
OP2

Stefano Panzieri Ladder Logic - 32


Operazioni Aritmetico/Logiche

 Operazioni aritmetico/logiche a due operandi


 ADD
 MUL
 SUB
Reti e Sistemi per l’Automazione

 DIV
XXX
 AND OP1
OP2
 OR
RES

Stefano Panzieri Ladder Logic - 33


Istruzioni di Comparazione

 Le istruzioni di comparazione fanno parte delle


condizioni di attivazione dei rung
 EQU
 NEQ
Reti e Sistemi per l’Automazione

 GEQ
 LEQ
yyy
 GRT OP1
OP2
 LES

Stefano Panzieri Ladder Logic - 34


Esempio di Utilizzo di Operazioni Aritmetiche e istruzioni di
Comparazione

W3:1

MCR

SUB
I2
25
W1
Reti e Sistemi per l’Automazione

LEQ GEC MOV


W1 W1 W1
120 90 W125

MCR

Stefano Panzieri Ladder Logic - 35


Altra Versione dell’Oscillatore

I10:3 T5

T5
500
Reti e Sistemi per l’Automazione

U2:4
GRT
T5.acc
200

Stefano Panzieri Ladder Logic - 36


Registro a Scorrimento a Destra

 Registro di scorrimento a destra


 Nel caso in cui il rung sia attivato la word W viene
shiftata a destra di un bit
 A sinistra entra il bit indicato come secondo operando
Reti e Sistemi per l’Automazione

RSD
W3
I2:1

Stefano Panzieri Ladder Logic - 37


Esempio di Utilizzo del Registro a Scorrimento

I22:1
EQU RSD
I23 W5
654 I22:1

U1:1
Reti e Sistemi per l’Automazione

W5:12 U1:2

Stefano Panzieri Ladder Logic - 38


Sequenziatore

 Realizza sequenze fissate di bit in uscita


 Ad ogni esecuzione sull’uscita “out” vengono scritte la ciclicamente
le parole comprese tra “word” e “word”+num-1.
Reti e Sistemi per l’Automazione

SEQ
out
word
num

Stefano Panzieri Ladder Logic - 39


Istruzione PID
 Regolatore Proporzionale Integrale Derivativo
 Kp: guadagno proporzionale
 Kd : guadagno derivativo
 Ki: guadagno integrale
 rif: word del riferimento
 var: variabile da controllare
Reti e Sistemi per l’Automazione

 con: valore del controllo


PID
Kp
Kd
Ki
rif
var
con

Stefano Panzieri Ladder Logic - 40


Istruzioni Di Comunicazione Via Rete

 SEND
 Invia un blocco di word ad SEND
un altro PLC connesso in num
rete ind
lun
 num: identificativo del PLC
 ind: indirizzo di partenza del
Reti e Sistemi per l’Automazione

blocco da spedire
 lun: lunghezza del blocco
 GET
 Riceve un blocco di word da GET
un altro PLC connesso in num
rete ind
lun

Stefano Panzieri Ladder Logic - 41

Potrebbero piacerti anche