Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 1/95
Sistemi di Supervisione e ControlloSistemi di Supervisione e Controllo
Argomento - I controllori a logica programmabile (PLC)lezioni
Docente - Prof. Elio [email protected] di Ingegneria Elettrica ed ElettronicaUniversità di Cagliari
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 2/95
Riferimenti bibliografici
A. Di A. Di FebbraroFebbraro, A. , A. Giua Giua Sistemi ad eventi discretiMcGraw-Hill Libri Italia, 2002
P. P. ChiacchioChiacchioPLC ed automazione industrialeMcGraw-Hill Libri Italia, 1996
P. P. ChiacchioChiacchio, F. Basile, F. BasileTecnologie informatiche per l’automazioneMcGraw-Hill,Milano, 2004
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 3/95
Sommario
• PLC – Definizione• PLC – Caratteristiche• PLC – Struttura• PLC – Moduli• PLC – Linguaggi• Sequential Functional Chart• Esempio di programmazione• Esempio: Impianto di pompaggio• Ladder Diagram• Traduzione da SFC a LD
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 4/95
PLC - Definizione
Norma IEC 1131Norma IEC 1131
Sistema elettronico a funzionamento digitale, destinato all’uso in ambito industriale, che utilizza una memoria programmabile per l’archiviazione interna di istruzioni orientate all’utilizzatore per l’implementazione di funzioni specifiche, come quelle logiche, di sequenziamento, di temporizzazione, di conteggio e di calcolo aritmetico, e per controllare mediante ingressi ed uscite sia digitali che analogici, vari tipi di macchine e processi
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 5/95
PLC - Definizione
• Sistema elettronico• Utilizzato in ambito industriale• Memoria interna programmabile• Implementabili logiche di sequenziamento, temporizzazione e calcolo
•Dotato di uscite digitali (ed analogiche)
Sostituisce il vecchio armadio a relé
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 6/95
PLC - Caratteristiche
• Riconfigurabilità / Programmabilità
• Compattezza
• Modularità
• Low-cost
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 7/95
PLC - Struttura
• Rack 19”
• Alimentatore
• Microprocessore
Configurazione minimaConfigurazione minima
Esecuzione compatta ⇒ Modulo unico
• Input/Output
• Terminale di programmazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 8/95
PLC - Struttura
• Comunicazione
• Memoria di massa
• PID
• Coprocessore
Espansioni modulariEspansioni modulari
• Servo-drive
• Encoder
• Interfaccia operatore
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 9/95
PLC - Moduli
Ciclo a copia massiva
ProcessoreProcessore
Ottimizza la comunicazione
Operazioni sequenziali• Lettura Input• Elaborazione• Gestione• Scrittura Output
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 10/95
PLC - Moduli
Tempo di scansione
ProcessoreProcessore
Tempo necessario per completare un ciclo di operazioni, compresi I/O e gestione degli INTERRUPT
Tempo di risposta Intervallo tra evento ed azione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 11/95
PLC - Moduli
Sistema operativo
ProcessoreProcessore
Gestione del dispositivo, comprese procedure di “watch-dog” ed operative: programmazione, validazione (con uscite non attive), esecuzione
Memoria ROM: risiede il SORAM: dati corentiEPROM: risiede il programma
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 12/95
PLC - Moduli
Realizzano l’interfaccia tra processo e PLC garantendo
il disaccoppiamento galvanico e/o funzionale
I / OI / O
Disaccoppiamento galvanico Trasformatori d’isolamentoContatti a relèOptoisolatori
Disaccoppiamento funzionale Voltage follower
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 13/95
PLC - Moduli
I / OI / O
A relé 0÷24 V d.c.0÷230 V a.c. 50 Hz
Analogici ± 5 V, ± 10 V, 0÷10 V, 4÷20 mAPer termocoppie e termistoriConvertitore A/D (min. 1)Convertitore D/A (più di 1)
Digitali 0÷24 V d.c.0÷230 V a.c. 50 Hz
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 14/95
PLC - ModuliTeminale Teminale di programmazionedi programmazione
Tastiera &
displayFunzionalità da microcalcolatore integrato con interfaccia utente user-friendly
Tastierina Consente di scrivere semplici programmi. Connessione mediante porta o cordless
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 15/95
PLC - ModuliAlimentatoreAlimentatore
• Potenza massima e nominale
• Dimensionare considerando possibilità di espansione
• Allarme spegnimento
• Ridondanza
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 16/95
PLC - ModuliComunicazioneComunicazione
I/O remoto Acquisizione dati su impianti estesi
Protocolli
Fieldbus RS 232C, RS 485EthernetOttico
Profibus, Fieldbus FundationDevice Net - CANModBusCSMA/CD (TCP-IP)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 17/95
PLC - ModuliCoprocessoreCoprocessore
Linguaggi BasicC
Connessioni dirette con l’esterno
Memorie dedicate
Utilizzato per elaborazioni dedicate di particolare complessità numerica
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 18/95
PLC - ModuliComandoComando
PID
Servo Specifici per il comando motore
Consentono l’implementazione di loopdi controllo elementari con coordinamento delle azioni (set-point)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 19/95
PLC - ModuliInterfacciaInterfaccia
Encoder
Operatore Display e connessione tastiera, sempre più sostituiti con connessione a PC
Contatori dedicati ad alta velocità per la lettura di encoder incrementali e/o assoluti
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 20/95
PLC - ModuliBack upBack up
Riserva calda Il PLC di riserva ha lo stato corrente del PLC principale sia I/O che elaborazione
Consentono il collegamento tra due PLC differenti operanti sullo stesso processo
Riserva fredda Il PLC di riserva si attiva solo in caso di guasto del PLC principale
Sicurezza intrinseca Azione valida se concordanza o 2 su 3
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 21/95
PLC - Linguaggi
Portabilità Il software deve essere facilmente riutilizzabile su macchine differenti
Manutenzionabilità
Linguaggi Standard
Il software deve essere facilmente modificabile da terzi
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 22/95
PLC - Linguaggi
Testuali Lista di istruzioni - simile all’assemblerTesto strutturato
A contatti Ladder - simile agli schemi di armadi a relé
Grafici Sequential Functional Chart - stato/transizione, parallelizzabilità, gerarchicamente superioreFunctional Block Diagram - AND, OR, NAND, XOR, ….
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 23/95
Sequential Functional Chart
Deriva dal GRAPHe de Coordination Etapes-Transitions(GRAPHCET) sviluppato in Francia negli anni’70-’80
Diventa standard IEC 848 nel 1988
Incluso nello standard IEC 61131-3 come S.F.C.
Linguaggio di alto livello per la realizzazione di blocchi funzionali o di programmi, e non di funzioni
Programmazione di algoritmi di controllo logico/sequenziale
Semplificazione delle Reti di Petri
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 24/95
Sequential Functional Chart
Fase Condizione invariante del sistema, modificabile solo all’occorrenza di un evento che genera una transizione. Sono indicate con dei quadrati.
Transizione Definisce il passaggio da una condizione invariante del sistema ad un’altra sulla base dello stato corrente del sistema e dell’occorrenza di un evento. Sono indicate con una barretta trasversale.
Arco orientato Collegano tra loro le fasi e sono interrotti dalle transizioni. La freccia indicante l’orientamento può essere omessa se implicitamente dall’alto verso il basso.
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 25/95
Sequential Functional Chart
nome Alla fase si associa un nome/numero che la identifica univocamente
La fase iniziale si identifica con un doppio quadrato, o con un quadrato con due linee verticali
nome
La fase attiva si indica con un pallino nel quadrato
nome
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 26/95
Sequential Functional Chart
Alla fase è associata una variabile booleana Xnome attivanon 0
attiva1faseXfaseX
nome
nome
⇒=⇒=
L’insieme di tutte le variabili di fase definisce lo stato del grafo. Con la nomenclatura delle Reti di Petri il valore assunto dallo stato è definito marcatura
{ } { }Ni NiX 0,1,,2,1: ∈== KM
Alla fase è associabile una variabile reale tnome rappresentante la durata dell’ultima attivazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 27/95
Sequential Functional Chart
Alla fase può essere associata una (o più) azione che viene eseguita se la fase è attiva
nome azione
Le caratteristiche dell’azione possono essere specificate dal blocco azione
(1) (2) (3)
(4)
(1) qualificatore dell’azione(2) nome dell’azione(3) variabile indicatrice di fine azione(4) corpo dell’azione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 28/95
Sequential Functional ChartQualificatore
N - azione normale, eseguita finché la fase è attiva, omissibileP - azione impulsiva, eseguita una volta sola all’attivazioneD - ritardata, eseguita dopo che la fase è rimasta attiva per τL - limitata, eseguita finché la fase è attiva e per non più di τS - memorizzata, eseguita anche se la fase viene disattivataR - cancellata, blocca l’esecuzione di una fase memorizzataDS - ritardata e memorizzataSL - memorizzata e limitata
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 29/95
Sequential Functional Chart
Corpo dell’azione
Definisce ciò che viene svolto durante l’azione.Può essere definito con un linguaggio di programmazione, o con lo stesso SFC.
Alla azione è associata una variabile booleana Ynome
attivanon 0attiva1
azioneYazioneY
nome
nome
⇒=⇒=
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 30/95
Sequential Functional ChartAlla transizione si associa un nome/numero che la identifica univocamente
Alla transizione è associata una condizione
Tnome
Tnome
cond
La transizione è abilitata se tutte le fasi a monte sono attive
La transizione è superabile se è abilitata e la condizione associata è vera
La assenza di una condizione significa che la condizione è sempre vera
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 31/95
Sequential Functional Chart
Tra due fasi collegate da un arco orientato deve esserci una transizione
T1 cond
1
2
Due transizioni non possono essere collegate tra loro, deve esserci una fase interposta T2 Cond 2
1
T1 Cond 1
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 32/95
Sequential Functional ChartRegole di evoluzione
Se una transizione è superabile, essa viene superata (scatta)
Quando una transizione scatta, tutte le fasi a monte vengono disattivate e tutte le fasi a valle diventano attive
Se più più transizioni sono superabili nello stesso istante, esse scattano contemporaneamente
Una fase instabile (una transizione a valle è superabile nell’istante di attivazione della fase) viene comunque eseguita una volta
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 33/95
Sequential Functional Chart
T1 C1
1
2
112
2211
21
11
ANDevoluzione nella
IF END
,
ELSE
1 0,
AND IF
C XX
XXXX
XX
C X
=→
==
==
T1 C1
1
3
T1 C2
2 ( )
( )( ) ( )11223
2
2
22
1
1
11
AND OR AND evoluzione nella
END1
ELSE0
AND IF
END1
ELSE0
AND IF
CXCXX
X
XCX
X
X
CX
=→
=
=
=
=
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 34/95
Sequential Functional Chart
( )
( )( )stCXY
stXY
XXXX
XX
CX
1 AND AND
1 AND
END
,
ELSE
0 ,1
AND IF
2112
222
1122
12
11
≥≠
≥=
==
==
T1 C1
1
2 D,1s A2
Y2=1
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 35/95
Sequential Functional Chart0AND 21 ≡CC
T2 C2
1
3
T1 C1
2
Scelta
IF X1=1IF C1=1
X2=1, X1=0, X3= X3ELSE
IF C2=1 X3=1, X1=0, X2= X2
END IFEND IF
ELSE X1= X1, X2= X2, X3= X3
END IFPercorsi alternativi
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 36/95
Sequential Functional ChartConvergenza
T1 C1
1
3
T1 C2
2 Percorsi diversi convergono verso la medesima fase
Non necessaria la contemporaneità della convergenza verso la fase 3
IF X1=1 AND C1=1X1=0, X3= 1
END IFIF X2=1 AND C2=1
X2=0, X3= 1END IF
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 37/95
Sequential Functional Chart
Salto di sequenza
Caso particolare di scelta e convergenza
Se C3=1 si salta una parte del programma
T1 C1
1
3
T2 C2
2 T3 C3
T4 C4
0AND 31 ≡CC
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 38/95
Sequential Functional ChartCiclo di sequenza
T1 C1
1
3
T2 C2
2 T3 C3
T4 C4
REPEATX2=1IF (X2=1) AND (C2=1)
X3=1, X2=0ELSE
X2= X2END IFIF (X3=1) AND (C3=1)
X2=1, X3=0ELSE
X3= X3END IF
UNTIL (C4=1) AND (X3=1)
0AND 34 ≡CC
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 39/95
Sequential Functional ChartParalellismo
IF (X1=1) AND (C1=1)X2=1X3=1X1=0
ELSEX1= X1
END IF
1
3 2
T1 C1
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 40/95
Sequential Functional ChartSincronizzazione
X3= ((X1=1) AND (X2=1)) AND (C1=1)
3
21
T1 C1
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 41/95
Sequential Functional ChartSincronizzazione locale
T1 C1
1
3
2
T4 C4
T3 C3
11
13
T2 C2
12
La fase 12 non sarà disattivata finché la transizione T1 non sarà superata
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 42/95
Sequential Functional ChartMacrofase È l’esplicitazione di una fase a cui corrisponde un
ingresso ed una uscita
Macroazione Consente l’interazione/gerarchizzazione tra PLCForzaturaFORZARE X:{Y}; ovvero M(X):=YAssegna al PLC X lo stato YSospensioneParticolare forzatura allo stato nulloFORZARE X:{0}; ovvero M(X):=0BloccaggioFORZARE X:{*}; ovvero M(X):=XVengono disabilitate tutte le transizioni
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 43/95
Esempio di programmazione
Controllo di un carrello per la movimentazione di carichi
Baiadi carico
Baiadi scarico
Un PLC installato sul carrello deve farlo muovere autonomamente per trasportare i colli dalla postazione di carico a quella di scarico.I colli sono posti sul/prelevati dal carrello con un muletto nonconnesso al PLC
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 44/95
Esempio di programmazione
Il carrello è movimentato mediante un motore reversibile
Il carrello è equipaggiato con i seguenti sensori:cella di carico sul pianalesensore di prossimità magnetico sul fondosensori di prossimità magnetici frontale e posteriore
Sul fronte baia è posta una “chiodo” magnetico
Sul pavimento sono posizionati “chiodi” magnetici a 2 metriIl PLC può essere acceso in qualunque stato del carrello
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 45/95
Esempio di programmazione
F - cella di carico, F=1 se il carrello è caricatoSi - sensore di prossimità sul fondo carrelloPsn - sensore di prossimità sinistro (lato baia di carico)Pdx - sensore di prossimità destro (lato baia di carico)
Dl - comando marcia dx, lentaDv - comando marcia dn, veloceSl - comando marcia sn, lentaSv - comando marcia sn, veloce
Inpu
tO
utpu
t
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 46/95
Esempio di programmazione
0
1
F
5
NOT(F)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 47/95
0
1
2 Dl
F
F &(t1>τ)
5
NOT(F)
NOT(F) &(t1<τ)
Esempio di programmazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 48/95
0
1
2 Dl
F
F &(t1>τ)
Si
Pdx
5
NOT(F)
NOT(F) &(t1<τ)
Esempio di programmazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 49/95
0
1
2 Dl
3 Dv
F
F &(t1>τ)
Si
Pdx
5
NOT(F)
NOT(F) &(t1<τ)
Esempio di programmazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 50/95
0
1
2 Dl
3 Dv
4 Dl
F
F &(t1>τ)
Si
Si
Pdx
Pdx
5
NOT(F)
NOT(F) &(t1<τ)
Esempio di programmazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 51/95
0
1
2 Dl
3 Dv
4 Dl
6Sl
F
F &(t1>τ)
Si
Si
Pdx
Pdx
5
NOT(F)
NOT(F) &(t1>τ)NOT(F) &(t1<τ) F &(t1<τ)
Esempio di programmazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 52/95
Esempio di programmazione
Si
Psn
0
1
2 Dl
3 Dv
4 Dl
6Sl
F
F &(t1>τ)
Si
Si
Pdx
Pdx
5
NOT(F)
NOT(F) &(t1>τ)NOT(F) &(t1<τ) F &(t1<τ)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 53/95
Esempio di programmazione
7Sl
Psn
Si
Si
Psn
0
1
2 Dl
3 Dv
4 Dl
6Sl
F
F &(t1>τ)
Si
Si
Pdx
Pdx
5
NOT(F)
NOT(F) &(t1>τ)NOT(F) &(t1<τ) F &(t1<τ)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 54/95
Esempio di programmazione
8Sv
9Sl
Pdx
Si
7Sl
Psn
Si
Si
Psn
0
1
2 Dl
3 Dv
4 Dl
6Sl
F
F &(t1>τ)
Si
Si
Pdx
Pdx
5
NOT(F)
NOT(F) &(t1>τ)NOT(F) &(t1<τ) F &(t1<τ)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 55/95
Test di programmazione
Sviluppare il programma sequenziale per l’avviamento ed il comando di un motore.
Se il motore non si avvia entro il terzo tentativo, inibire il comando di avviamento e richiedere l’intervento operatore
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 56/95
Test di programmazione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 57/95
ZSL 01
ZSH 01
ZSL 03
ZSH 03
V 01
V 03
LSH 0
LSL 0
ZSL 02
ZSH 02
V 02
V 11
ZSL 11
ZSH 11
M
M
FT 1PDT
1
V 12
ZSH 12
ZSL 12
M
V 21V 22
FT 2
ZSH 21
ZSL 21
M
ZSL 22
ZSH 22
M
M
V 41
M
ZSL 41
ZSH 41
V 3
ZSL 3
ZSH 3
V 43
ZSL 43
ZSH 43
V 42
ZSL 42
ZSH 42
LSL 4
LSH 4
V 51
ZSL 51
ZSH 51
M
V 53
ZSL 53
ZSH 53
V 52
ZSL 52
ZSH 52
ZSL 5
LSH 5
FT 5
M
FT 4
M
M
FT 6
ZSH 6
ZSL 6
V 6
LT 4
LT 5
LT 0
FQT 3
PLC
P1
P2
PDT 2
DP/PA
OLM
OLM
S1
S2
S3
Esempio: Impianto di pompaggio
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 58/95
Esempio: Impianto di pompaggioRete di campoSito basso (S1): 27 ingressi digitali,5 ingressi analogici,
12 uscite digitali.Sito alto (S2): 23 ingressi digitali, 4 uscite digitaliBus di campo: Profibus DPNei due siti: collegamenti con doppini intrecciatiCollegamento dei due siti: fibra ottica, con conseguente
conversione opto-elettronica. Controllo: 1 unità master (PLC) situata nel sito basso. L’unità
master controlla tutti gli slaves (trasmettitori/ attuatori).
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 59/95
Esempio: Impianto di pompaggio
L’utilizzo delle pompe deve tener conto dei livelli nei serbatoi e dei consumi nei vari periodi dell’anno e nelle varie fasce orarie
Le pompe devono essere avviate preferibilmente in orari in cui il costo dell’energia è inferiore
Le procedure di avviamento delle pompe devono tener conto dello stato dell’impianto
Le pompe devono avere, in media, lo stesso numero di ore di marcia
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 60/95
Esempio: Impianto di pompaggioSequential Functional Chart
Main
1
T1T2 T3 T4
2 3 4 5
Gennaio OR Febbraio OR
Marzo OR Dicembre
FORZARE SFC 1:{10}
FORZARE SFC 2:{100}
FORZARE SFC 3:{300}
FORZARE SFC 4:{200}
Aprile OR Maggio OR Giugno OR
Settembre OR Ottobre OR Novembre
Luglio Agosto T5 =1
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 61/95
Esempio: Impianto di pompaggioSequential Functional Chart
Routine 110
11
APRI V5132
[tε( 21:00÷7:00)OR LSL4 OR LSL5] AND (NOT LSL0) AND[( NOT LSH5 AND
LSH4)OR (NOT LSH4) OR (NOT LSH5)]
(NOT LSH4)AND(NOTLSH5)AND ZSL43 AND ZSL53 AND (NOT ZSH43) AND (NOT ZSH 53)
T35
T10
ZSL 51ZSH 51ZSL 41
30
ZSH 41
31 APRI V41
T40T39T37T36
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
T42
40 M2
44 M4
P2d AND [P2u=Min(P1u AND P2u)] OR (NOT P1d)
T48P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
39 M3
35 M1
T43P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
LSH4 OR LSL0
P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
LSH4 OR LSL0
27 M3
T31
26 M1
T32
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
T30
29 M4
28 M2
T33
T34
ZSH 51T25T24 ZSH 41
(NOT LSH4) AND LSH5 AND ZSL43 AND(NOT ZSH 43)
APRI V4122
ZSL 41
T23
21
ZSL 51T27
23
T28
CHIUDI V51
T15
(NOT LSH5) AND LSH4 AND ZSL 53 AND( NOT ZSH 53)
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
LSH5 OR LSL0
P1d AND [P1u=Min (P1u AND P2u)] OR (NOT P2d)
18 M3
T20
T19
17 M1
T18
ZSL 41T12 T13
CHIUDI V4113
ZSH 41
T11
LSH5 OR LSL0
P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
20 M4
19 M2
T21
T22
ZSL 51
12
ZSH 51
14
T16
APRI V51
16 25 34
37 CHIUDI V51
LSH5 AND (NOT LSH4)T45LSH4 AND
(NOT LSH5)
36
T44
CHIUDI V41 38
T46NOT LSH4 AND(NOT LSH5)
T49
CHIUDI V4141
LSH4 AND (NOT LSH5)
CHIUDI V5142
T50 LSH5 AND (NOT LSH4)
(NOT LSH4) AND
(NOT LSH5)
43
T51
T47 (LSH5ANDLSH4) OR LSL0
(LSH5ANDLSH4) OR LSL0T52
=1T71T38 ZSH 41 ZSH 51T41
3324
T29 ZSL 51ZSH 41T26ZSL 41T14 T17 ZSH 51
15
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 62/95
Esempio: Impianto di pompaggioSequential Functional Chart
Routine 2
(NOT LSH4 AND NOT) LSH5 AND ZSL43 AND ZSL53 AND(NOT ZSH 43)
AND (NOT ZSH53)
132
T100
101
100
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
135
136
ZSH 41
133 APRI V41
ZSH 41
ZSL 41
ZSH 51
ZSL 51
134
ZSH 51
APRI V51
LSH5 AND LSH4 OR LSL0
141 M3
LSH5 AND LSH4 OR LSL0
146 M4
143CHIUDI V41
LSH4 AND (NOT LSH5)
138 CHIUDI V51139
LSH5 AND (NOT LSH4)
(NOT LSH4) AND (NOT LSH5)
140
LSH5 AND (NOT LSH4)
CHIUDI V41
LSH4 AND (NOT LSH5)
144 CHIUDI V51
(NOT LSH4) AND (NOT LSH5)
145
137 M1
142 M2
ZSH 41
118
ZSH 41
(NOT LSH4) AND LSH5 AND ZSL43 AND(NOT ZSH 43)
T101
120
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
121
APRI V41
ZSL 41
117
ZSL 51
ZSL 51
119 CHIUDI V51
ZSH 51
127 M3
(LSH5ANDLSH4) OR LSL0
131 M4
(LSH5ANDLSH4) OR LSL0
124
LSH4 AND NOT LSH5
CHIUDI V41
LSH5 AND NOT LSH4
CHIUDI V51125
122 M1
NOT LSH4 AND NOT LSH5
128
NOT LSH4 AND NOT LSH5
126
LSH4 AND NOT LSH5
CHIUDI V41
LSH5 AND NOT LSH4
129 CHIUDI V51
123 M2
130CHIUDI V41
LSH4 AND (NOT LSH5)
109
LSH5 AND LSH4 OR LSL0
LSH5 AND LSH4 OR LSL0
112 M3
116 M4
LSH4 AND (NOT LSH5) AND ZSL53 AND(NOT ZSH 53)
T102
CHIUDI V51
CHIUDI V41
105
(NOT LSH4) AND (NOT LSH5)
CHIUDI V51
LSH5 AND (NOT LSH4)
110
107 M1
111
106
CHIUDI V41
LSH4 AND (NOT LSH5)
113
LSH5 AND (NOT LSH4)
114
108 M2
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
ZSH 51
103 APRI V51
ZSH 51 ZSL 51
102
104
ZSL 41
ZSL 41 ZSH 41
115
(NOT LSH4) AND (NOT LSH5)
P2d AND P1d P2d AND P1d P2d AND P1d
T179 =1
T103 T104 T106 T107
T105 T108
T109
T110
T111 T112 T113
T114
T119 T120
T121
T122 T123
T124
T125
T126
T127 T128 T129
T130
T115 T116 T117
T118
T131 T132 T133
T134
T136
T135
T137
T138
T139 T140
T141
T142
T143
T144 T145 T146
T147
T148 T149 T150
T151
[tε( 21:00÷7:00)OR LSL4 OR LSL5] AND (NOT LSL0) AND[( NOT LSH5 AND
LSH4)OR (NOT LSH4) OR (NOT LSH5)]
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 63/95
Esempio: Impianto di pompaggioSequential Functional Chart
Routine 3 T300
311
315
314
P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
303
(ORE 13:30) OR LSH5OR LSL0
P1d AND [P1u=Min (P1u AND P2u)] OR (NOT P2d)
308 M3
T309
T310
307 M1
ZSL 41T302
T304
T303
306
P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
310 M4
T312
309 M2
T311
(ORE 13:30) OR LSH5OR LSL0
T321
T322
317 M3
(ORE 13:30) OR LSH4 OR LSL0
316 M1
ZSL 51T305
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
305
T308
CHIUDI V41
ZSL 41
ZSH 41 ZSH 51
304
T307 ZSH 51
T306
(NOT LSH5) AND LSH4 AND ZSL 53 AND (NOT ZSH 53)
302
T301
ZSH 41
APRI V51
T314
T320
T316
312
T315
APRI V41
ZSH 41
ZSL 41
T313
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
(NOT LSH4)AND(NOTLSH5)AND ZSL43 AND ZSL53 AND (NOT ZSH43) AND (NOT ZSH 53)
T339
324
LSH4 AND (NOT LSH5)
P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
(ORE 13:30) OR LSH4 OR LSL0
319 M4
T324
318 M2
T323
T334
326
329 M3
CHIUDI V51
P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
LSH5 AND (NOT LSH4)
(ORE 13:30) OR (LSH4 AND LSH5) OR LSL0
T335
T337
CHIUDI V41 327
T333
325 M1
T336(NOT LSH4) AND (NOT LSH5)
328
T318
T319
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
T317 ZSL 51
CHIUDI V51
ZSL 51
313
ZSH 51
(NOT LSH4) AND LSH5 AND ZSL43 AND(NOT ZSH 43)
T326 ZSH 41
323
T332
ZSL 41
ZSH 41T328
321
T327
APRI V41
T325
320
(NOT LSH4) AND (NOT LSH5)
P2d AND [P2u=Min(P1u AND P2u)] OR (NOT P1d)
334 M4
330 M2
332
T340LSH4 AND (NOT LSH5)
CHIUDI V41331
T342
T338
T341LSH5 AND (NOT LSH4)
CHIUDI V51
(ORE 13:30) OR (LSH4 AND LSH5) OR LSL0
333
322
ZSH 51T329
T331
T330
APRI V51
ZSH 51
ZSL 51
CHIUDI V41
LSH4 AND (NOT LSH5)
LSH5 AND LSH4 OR LSL0
345 M3
T356 T360
350 M4
LSH5 AND LSH4 OR LSL0
T395T344 LSH4 AND (NOT LSH5) AND
ZSL53 AND(NOT ZSH 53)
P2d AND P1d
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
339
LSH5 AND (NOT LSH4)
LSH4 AND (NOT LSH5)
CHIUDI V41
T353
342
T354
343
341 M1
344
T355
CHIUDI V51
T357(NOT LSH4) AND (NOT LSH5)
347
T352
340
T351
ZSH 51
=1
T345
ZSH 51T347
337 APRI V51
T346 ZSL 51 T348
336
T359T358LSH4 AND (NOT LSH5)
CHIUDI V41
LSH5 AND (NOT LSH4)
CHIUDI V51348
346 M2
(NOT LSH4) AND (NOT LSH5)
349
T370
357
338
T350
CHIUDI V41
ZSL 41
ZSL 41 T349 ZSH 41
LSH5 AND LSH4OR LSL0
365 M4
LSH5 AND LSH4 OR LSL0
360 M3
T373 T377 LSH5 AND LSH4 OR LSL0
375 M3
T390
380 M4
T394 LSH5 AND LSH4 OR LSL0
LSH5 AND (NOT LSH4)
CHIUDI V51
T361 (NOT LSH4) AND LSH5 AND ZSL43 AND(NOT ZSH 43)
361 M2
363
ZSH 51
ZSL 51
354
(NOT LSH4) AND (NOT LSH5)
LSH5 AND (NOT LSH4)T371
358
356 M1
T372
CHIUDI V51 359
LSH4 AND (NOT LSH5)T374
362
T375
CHIUDI V41
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
P2d AND P1dT369
355
T368
APRI V41352
T364 ZSH 41
ZSH 41T362 T363 ZSL 41
T367
353
T365
351
ZSL 51 T366
T376LSH5 AND (NOT LSH4)
CHIUDI V51
(NOT LSH4) AND (NOT LSH5)
364 CHIUDI V41
T387 LSH4 AND (NOT LSH5)
372
T388
373
371 M1
CHIUDI V51
T379 ZSH 41
T343
335
T378(NOT LSH4) AND (NOT LSH5) AND
ZSL43 AND ZSL53 AND (NOT ZSH 43) AND (NOT ZSH53)
T393
369
LSH4 AND (NOT LSH5)
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
(NOT LSH4) AND (NOT LSH5)
T389
374
T391
377
T386
T385
P2d AND P1d
370
376 M2
378
T392
CHIUDI V41
LSH5 AND (NOT LSH4)
CHIUDI V51
ZSH 51
APRI V41367
T381 ZSH 41
T380 ZSL 41 T382
366
ZSH 51T384
368 APRI V51
ZSL 51T383
(NOT LSH4) AND (NOT LSH5)
379
301
300
SEQUENTIAL FUNCTIONAL CHART 3 (SFC 3)
[ore 12:00 OR LSL4 OR LSL5] AND (NOT LSL0) AND[( NOT LSH5 AND
LSH4)OR (NOT LSH4) OR (NOT LSH5)]
[tε( 21:00÷7:00)OR LSL4 OR LSL5] AND (NOT LSL0) AND[( NOT LSH5 AND
LSH4)OR (NOT LSH4) OR (NOT LSH5)]
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 64/95
Esempio: Impianto di pompaggioSequential Functional Chart
Routine 4(NOT LSH4) AND LSH5 AND
ZSL43 AND(NOT ZSH 43)
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
CHIUDI V41
P1d AND [P1u=Min (P1u AND P2u)] OR (NOT P2d)
(ORE 20:00) OR LSL0
211 M3
209 M1
ZSL 41
T286 =1
205
ZSL 41
ZSH 41
207
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
212 M4
210 M2
208
P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
(ORE 20:00) OR LSL0
203
ZSL 51
APRI V51206
ZSH 51
ZSL 51
215
ORE 20:00 OR LSL0
P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
219 M3
218 M1
216
ZSH 41
213 APRI V41
ZSH 41
ZSL 41
202
(NOT LSH5) AND LSH4 AND ZSL 53 AND (NOT ZSH 53)
201
200
(ORE 20:00) OR LSL0
230 M3
(ORE 20:00) OR LSL0
235 M4
232
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
(NOT LSH4)AND(NOTLSH5)AND ZSL43 AND ZSL53 AND (NOT ZSH43) AND (NOT ZSH 53)
CHIUDI V41
0RE 20:00 OR LSL0
P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
220 M2
221 M4
LSH4 AND (NOT LSH5)
227
ZSL 51
ZSH 51
214
ZSL 51
CHIUDI V51
224
CHIUDI V51
P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
228
226 M1
LSH5 AND (NOT LSH4)
(NOT LSH4) AND(NOT LSH5)
229
225
ZSH 41
APRI V41222
ZSH 41
ZSL 41
204
(NOT LSH4) AND (NOT LSH5)
LSH5 AND (NOT LSH4)
CHIUDI V41
LSH4 AND (NOT LSH5)
233
231 M2
P2d AND [P2u=Min(P1u AND P2u)] OR (NOT P1d)
CHIUDI V51 234
ZSH 51
ZSL 51
223
ZSH 51
APRI V51
T201
T204 T205
T206
T207 T208
T209
T202
T215 T216
T217
T218 T219
T220
T226 T227
T228
T203
T229 T230
T231
T232T221T210
T211
T212
T213
T214
T222
T223
T224
T225
T233
T234 T235 T236
T237
T238
T240 T241
T242
T239
T200
T243
236
247
LSH4 OR LSL0
P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
243 M3
242 M1
T253
T252
LSH5 OR LSL0
P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
P1d AND [P1u=Min (P1u AND P2u)] OR (NOT P2d)
LSH5 OR LSL0
245 M4
244 M2
T255
T254
252 M3
251 M1
T265
T264
T245 ZSL 41
T250
T249
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
240
241
T251
ZSL 41T247
(NOT LSH5) AND LSH4 AND ZSL 53 AND (NOT ZSH 53)
ZSH 41T246
238 CHIUDI V41
T244
237
ZSL 51T248
ZSL 51 T259
APRI V51
ZSH 51
239
ZSH 41T257 T258
(LSH4 AND LSH5) OR LSL0
LSH5 AND (NOT LSH4)
P1d AND [P1u=Min(P1u AND P2u)] OR (NOT P2d)
LSH4 OR LSL0
P2d AND [P2u=(MinP1u AND P2u)] OR (NOT P1d)
254 M4
T267
T266
253 M2
264 M3
LSH4 AND (NOT LSH5)
261
T277
T280
CHIUDI V41 262
T278
T276
260 M1
CHIUDI V41
(NOT LSH4) AND (NOT LSH5)
CHIUDI V51 263
T279
266
LSH4 AND (NOT LSH5)T282
269 M4
P2d AND [P2u=Min(P1u AND P2u)] OR (NOT P1d)
LSH4 AND LSH5 OR LSL0
T285
267 CHIUDI V51
LSH5 AND (NOT LSH4)
265 M2
T283
T281
268
(NOT LSH4) AND (NOT LSH5)T284
ZSH 41
248
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
249
T263
250
ZSH 41 T262
T260
(NOT LSH4) AND LSH5 AND ZSL43 AND(NOT ZSH 43)
APRI V41
ZSL 41
T256
246
ZSL 51 T261
ZSL 51
CHIUDI V51
ZSH 51 T269
(NOT LSH4)AND(NOTLSH5)AND ZSL43 AND ZSL53 AND (NOT ZSH43) AND (NOT ZSH 53)
ZSH01 AND ZSL03 AND ZSH02 AND ZSH3
ZSH 41
259
258
T275
T271
255
APRI V41256
T270 ZSL 41
T268
T272 ZSH 51
ZSH 51T274
ZSL 51T273
257 APRI V51
[(ore12:00)OR LSL4 OR LSL5] AND (NOT LSL0) AND[( NOT LSH5 AND
LSH4)OR (NOT LSH4) OR (NOT LSH5)]
[tε( 23:00÷7:00)OR LSL4 OR LSL5] AND (NOT LSL0) AND[( NOT LSH5 AND
LSH4)OR (NOT LSH4) OR (NOT LSH5)]
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 65/95
Esempio: Impianto di pompaggio
Non considerati
• Input di emergenza• Reset operatore• Segnalazioni• Blocchi• Memorizzazione dati storici• Ottimizzazione dinamica o real-time
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 66/95
Ladder diagramLadder Diagram (LD): è un metodo di programmazione simbolico basato su una simbologia di contatti e bobine molto vicina ai vecchi diagrammi funzionali delle logiche elettromeccaniche utilizzate fino agli anni ottanta
Disponibile per la programmazione di praticamente tutti i PLC utilizzati in ambito industriale
Utilizzabile anche da tecnici che, avendo acquisito esperienza nella manutenzione degli armadi con logiche a relè, non hanno proceduto ad un adeguato aggiornamento professionale
Può essere di difficile codifica/decodifica qualora il programma da realizzare/realizzato sia complesso
Richiede una particolare competenza ed esperienza da parte dellosviluppatore della logica di controllo
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 67/95
Ladder diagramElementi fondamentali: La scala
Costituisce lo schema entro il quale sviluppare il programma.
Ogni istruzione logica viene inserita in un rung (linea orizzontale) che viene letto da sinistra verso destra.
La sequenza delle istruzioni viene letta dall’alto verso il basso.
Non sono ammesse inversioni di percorso
1
2
3
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 68/95
Ladder diagramElementi fondamentali: i contatti
Rappresenta l’elemento logico elementare e con essi vengono rappresentati gli argomenti della operazione logica definita dal rung
Se la variabile logica associata è vera (I=1), il valore può essere alto (u=1) (contatto normalmente aperto), oppure basso (u=0) (contatto normalmente chiuso).
Rappresenta solo lo stato logico della variabile e non lo stato fisico di un relè eventualmente associato
I
u=I
u=NOT(I)
I
(NO)
(NC)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 69/95
Ladder diagramElementi fondamentali: i contatti
Possono essere individuati dei contatti particolari che rappresentano la transizione della variabile associata
Il contatto a fronte di salita (P) ha una uscita alta (u=1) se tra due esecuzioni successive la variabile associata (I) passa da falsa a vera.
Viceversa il contatto a fronte di discesa (N) sente le transizioni da vero a falso della variabile I.
uk= (Ik==1) AND (Ik-1==0)
IP
uk= (Ik==0) AND (Ik-1==1)
IN
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 70/95
Ladder diagramElementi fondamentali: Le bobine
X=risultato del rung
Rappresenta il risultato della operazione logica definita dal rung
Alla bobina è associata una variabile logica (X) che può essere sia una variabile interna che una variabile di uscita (comando)
Se l’operazione logica definita dal rung è vera, il valore della variabile logica associata può essere alto (X=1) (bobina semplice), oppure basso (X=0) (bobina negata).
X
X=NOT(risultato del rung)
X
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 71/95
Ladder diagramElementi fondamentali: Le bobine
Una volta assegnato X=1 il valore viene mantenuto
Sono disponibili bobine che memorizzano il valore della variabile associata anche quando il risultato dell’operazione logica definita dal rung a monte cambia di valore tra due cicli successivi
La bobina di Set (Latch) assegna il valore alto alla variabile e lo mantiene fino a che non viene “alimentata” la corrispondente bobina di Reset (Unlatch).
Se il PLC viene disalimentato le variabili X vengono comunque ri-azzerate
XS
Se il risultato dell’operazione del rung a monte è vero la variabile viene azzerata X=0
XR
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 72/95
Ladder diagramElementi fondamentali: Le bobine con funzioni “speciali”
XP
A fronte di salita: X sarà vera se l’operazione del rung passa da falsa a vera tra due cicli successivi
XN
A fronte di discesa: X sarà vera se l’operazione del rung passa da vera a falsa tra due cicli successivi
XM
A ritenuta: il valore di X verrà mantenuto anche in caso di disalimentazione del PLC
XSM
XRM
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 73/95
Ladder diagramI1 I2 X1
X1 UI3
1
2
I1 I2 X1
X1 UI3
2
1
U= I1 AND (NOT(I2)) AND I3
U= X1 AND I3
Se X1 non è stato assegnato con memorizzazione da qualche rung successivo in un ciclo precedente X1è falso e quindi U=0
E’ importante la sequenza dei rung
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 74/95
Ladder diagramI1 I2 U
I4 UI3
1
2
I1 I2 U
I4 UI3
2
1
I1 =1 I2 =1 I3 =1 I4=1
Caso a)
U= I4 AND I3 = 1
Le uscite vengono assegnate solo al termine di ciascun ciclo
Valore ingressi
Caso b)
U= I1 AND (NOT I2) = 0
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 75/95
Ladder diagramI1 I2 X1
I2 X2I3
1
2
Scelta IF I2=1 THENIF I3=1 THEN
X2=1END IF
ELSEIF I1=1 THEN
X1=1END IF
END IF
Parallelismo IF I2=0 AND I1=1 THENX2=1X1=1
END IF
I1 I2 X1
X2
1
2
I1 I2
Il rung 2 è eliminabile
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 76/95
Ladder diagram
Ritenuta: la variabile X1 diventa vera non appena la variabile I1diventa vera e il comando I2 è basso, e rimane tale fino a che il comando I2 è basso.
Esempio di avviamento macchina:
I1: pulsante marcia
I2: pulsante arresto
X1: bobina di alimentazione
I1 I2 X1
X1
1
2
I1
t
I2
t
X1
t
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 77/95
Ladder diagramElementi addizionali: i temporizzatori
Permettono la temporizzazione della sequenza di operazioni e l’introduzione di ritardi
La variabile logica T1 diventa vera se l’operazione logica definita dal rung a monte si mantiene vera per un numero di cicli pari a t centesimi di secondo
Appena l’operazione logica diventa falsa la variabile T1diventa falsa
Nei temporizzatori con ritenuta il temporizzatore interno viene azzerato solo con una bobina di reset.
La variabile T1 diventa vera se l’operazione logica del rung a monte è stata vera per un numero di cicli, anche non consecutivi, pari a 0.01 s
T1t
T1Rt
T1
R
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 78/95
Ladder diagramElementi addizionali: i temporizzatori
T150
T2R100
T2
R
I1 I21
2
I2 T2
I1
t
I2
t
T1
t
T2
t
R-T2
t
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 79/95
Ladder diagramElementi addizionali: i contatori ad incremento
Permettono la comandare delle azioni sulla base del numero di eventi verificatisi
La variabile logica C1 diventa vera se l’operazione logica definita dal rung a monte ha subito una transizione da falso a vero almeno n volte nei cicli precedenti
Nei contatori il conteggio viene azzerato solo con una bobina di reset.
C1n
C1
R
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 80/95
Ladder diagramElementi addizionali: i contatori
C13
C1
R
1
3
I2 C1
I1 UC1
2
I1
I1
t
I2
t
C1
t
U
t
R-T2
t
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 81/95
Ladder diagramElementi per il controllo del programma: il salto
aJMP1
4
I1
2
aLBL
3
Se la condizione I1 è vera le istruzioni dei rung 2 e 3 vengono saltate. Se la condizione I1 è falsa dopo le istruzioni dei rung 2 e 3 vengono comunque eseguite quelle dei rang successivi al 4
Nei casi semplici l’istruzione di salto può essere evitata utilizzando la struttura della scelta
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 82/95
Ladder diagramElementi per il controllo del programma: il salto
Il costrutto può essere differente in funzione del PLC utilizzato
Il collegamento tra condizione di salto e rung a cui arrivare è realizzato inserendo l’etichetta di salto prima del rung destinazione
1
4
I1
2
3
>> a
a:
La funzione di salto può essere utilizzata anche per spezzare una istruzione troppo lunga che non è possibile scrivere in un unico rung
1
I1
>> a
>a >U
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 83/95
Ladder diagramElementi per il controllo del programma: il salto
Se la condizione I1 è vera vengono eseguite le istruzioni definite dalla subroutine A, al termine della quale si ritorna al rung successivo a quello in cui è avvenuto il salto.
La stessa subroutine può essere utilizzata in diversi punti del programma
AJSR1
50
I1
2
ASBR
70 RET
51
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 84/95
Ladder diagramElementi per il controllo del programma: il Master Control Relay
Se la condizione I1 è vera vengono eseguite le istruzioni comprese tra le due bobine MCR.
Se la condizione I1 è falsa le istruzioni tra le due bobine MCR non vengono eseguite e tutte le bobine corrispondenti vengono poste a zero, se non ritenute
MCR1
I1
2
70 MCR
Analoga struttura ha il Zone Control Last State (ZCL), in cui però le bobine interne al blocco, qualora non eseguito, vengono mantenute nell’ultima condizione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 85/95
Ladder diagramIstruzioni speciali: svolgono funzioni logiche, matematiche, di gestione della memoria, e della comunicazione dati
Nell’esempio la funzione Istruzione è eseguita utilizzando gli argomenti Oper-1 ed Oper-2, …, Oper-n
IstruzioneOper-1Oper-2..Oper-n
ADD: sommaMUL: moltiplicazioneAND: moltiplicazione binaria bit a bitOR: somma binaria bit a bitNEQ: confronto per diseguaglianzaPID: realizzazione di un controllo PIDSEND: invio di dati ad un altro PLC in reteGET: acquisizione di dati ad un altro PLC in reteRSD: shift di una word a destra, di un bit
Esempi
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 86/95
Traduzione da SFC a LD
Un Sequential Functional Chart può essere convertito in un Ladder Diagram per permetterne l’implementazione su macchine che non lo supportano come linguaggio di programmazione
• Procedura di traduzione standard ed automatica
• Algoritmo di evoluzione senza ricerca di stabilità
• Mancanza di ottimizzazione del codice
• Tempo di esecuzione non molto aumentato
• Occupazione della memoria EPROM molto aumentata
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 87/95
Traduzione da SFC a LDAlgoritmi di evoluzione con ricerca di stabilità: supera tutte le transizioni a cui è associata una condizione vera
T1 C1
1
3
T2 C2=1
2
T4 C3
T1 C1
1
3
T2 C2=1
2
T4 C3
Ciclo k
C1=1
L’azione eventualmente associata alla fase 2 non viene eseguita
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 88/95
Traduzione da SFC a LDAlgoritmi di evoluzione senza ricerca di stabilità: esegue tutte le azioni associate alle fasi intermedie anche quando le transizioni hanno la condizione vera
T1 C1
1
3
T2 C2=1
2
T4 C3
T1 C1
1
3
T2 C2=1
2
T4 C3
Ciclo k
C1=1
T1 C1
1
3
T2 C2=1
2
T4 C3
Ciclo k+1
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 89/95
Traduzione da SFC a LDAlgoritmi di evoluzione senza ricerca di stabilità
Lettura ingressi
Inizializzazione fasi
Aggiornamento uscite
1° cicloSI NO
Determinazione transizioni superabili
Determinazione nuova condizione
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 90/95
Traduzione da SFC a LD
Gli algoritmi di evoluzione
senza ricerca di stabilità
rispecchiano il ciclo di
funzionamento a “copia
massiva degli ingressi e
delle uscite” tipico dei PLC
Lettura ingressi
Scrittura uscite
Elaborazione
Test, verifiche, e gestione SO
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 91/95
Traduzione da SFC a LDInizializzazione: deve essere eseguita una sola volta alla accensione del PLC
aJMP1
n
X1
2
aLBL
3
X1
S
n-2
n-1
Azioni
JMP
Prima inizializzazione delle fasi
Ultima inizializzazione delle fasi
nome
Definisce tutte le condizioni iniziali delle fasi che devono essere attive al primo avviamento
Può corrispondere alla fase iniziale
Una volta terminata l’inizializzazionesi salta direttamente alla definizione delle azioni: (scrittura uscite)
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 92/95
Traduzione da SFC a LDValutazione delle transizioni: si definiscono le transizioni che vengono superate
Tr2 C2
3
21
Tr1 C1
Tr1
n+1
F1
n+2
n+3
m
Terza valutazione delle transizioni
Ultima valutazione delle transizioni
F2 C1
Tr2F3 C2
La valutazione delle transizioni dipende dallo stato delle fasi nel ciclo precedente e dai valori degli ingressi nel ciclo corrente
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 93/95
Traduzione da SFC a LDAggiornamento delle stato: si definiscono le fasi attive
Tr2 C2
3
21
Tr1 C1
m+1
Tr1
m+2
pUltimo aggiornamento delle fasi
Tr2
F1
R
F2
R
F3
S
F3
R
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 94/95
Traduzione da SFC a LDEsecuzione delle azioni: si definiscono le uscite sulla base delle fasi attive
Tr1 C1
1
2 N A2
Y2=1
p+2
F1
p+3
qUltima definizione delle azioni
F2 Y2
p+1
Azioni
LBL
Sistemi di supervisione e controllo - I controllori a logica programmabile (PLC) 95/95
Traduzione da SFC a LDEsecuzione delle azioni: si definiscono le uscite sulla base delle fasi attive
Tr1 C1
1
2 D,1s A2
Y2=1
I temporizzatori, o i contatori, possono essere utilizzati per definire i qualificatori dell’azione
p+2
F1
p+32
qUltima definizione delle azioni
F2 Y2T2
T2100
p+1
Azioni
LBL