SFC r l · programmazione dei PLC nello standard IEC 1131-3 con il ... (Ladder Logic) per poter...
Transcript of SFC r l · programmazione dei PLC nello standard IEC 1131-3 con il ... (Ladder Logic) per poter...
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 2
Sequential Functional Chart
◊ Nel 1975 nasce il GRAFCET◊ GRAPHe de Coordination Etapes Transitions
◊ Nel 1987 è stato adottato come standard internazionale dall’IEC (Comitato Elettrotecnico Internazionale)
◊ Recentemente compreso tra i possibili linguaggi di programmazione dei PLC nello standard IEC 1131-3 con il nome di Sequential Functional Chart (SFC)
◊ Specifico per il controllo dei sistemi ad eventi discreti
◊ Spesso tradotto in un linguaggio a più basso livello (Ladder Logic) per poter essere eseguito su un PLC
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 3
Grafi di stato
◊ Una macchina a stati è particolarmente indicata per la rappresentazione di un programma che svolga funzioni di coordinamento e sequenziamento di azioni elementari
0 1
1,1
0,0
0,1
1,0
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 4
Elementi base di un SFC
◊ Fase◊ Tappa, passo
◊ Condizione invariante del sistema che viene modificata all’occorrenza di un determinato evento
◊ Inattiva: vuota
◊ Attiva: pallino
◊ Xn: marker di fase ◊ True o False
◊ Fase iniziale◊ Doppia cornice
(fase) (azione) (azione)
5 apri valvola 3
10
20 apri valvola 2
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 5
Elementi di base di un SFC
◊ Transizione◊ Tn
◊ Rappresenta una condizione per il passaggio da una fase a quella successiva
◊ Arco orientato◊ Collega tra loro le fasi stabilendone la sequenza ed è sempre
interrotto da una transizione
◊ L’orientamento è indicato con una freccia, omessa se verso il basso
T32 (ok AND T>20) OR NOT abilita
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 6
Importante
◊ Tra due fasi collegate da un arco orientato c’è sempre una transizione
◊ Tra due transizioni c’è sempre almeno una fase
◊ Definizioni◊ Fase a monte di T2
◊ Fase a valle di T2
10
20
T1
T2
T3
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 7
Esempio di SFC
2
5
7
6 3
4
8
accendi
spegni
1
fun1T1
fun2T2
fun3T3
fun4T4
fun8T8
fun7T7
fun6T6
fun9T9
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 8
Regole di evoluzione
◊ Condizione di un SFC◊ L’insieme delle fasi attive
◊ Per definire superabile una transizione◊ Tutte le fasi a monte devono
essere attive
◊ La condizione associata deve essere vera
◊ Se una transizione è superabile:◊ Viene superata
◊ Tutte le fasi a monte vengono disattivate
◊ Tutte le fasi a valle vengono attivate
42 56
71
T23 Ok AND t >20
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 9
Ambiguità #1
◊ La durata delle attivazioni e disattivazioni è considerata infinitamente piccola
◊ Se più transizioni diventano superabili nello stesso istante, esse sono tutte superate contemporaneamente
◊ Differente dalle reti di Petri asincrone nelle quali le transizioni sono superate in sequenza
◊ In certe versioni dell’SFC si supera solo la transizione a priorità più elevata
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 10
Ambiguità #2
◊ Se una fase deve essere attivata e disattivata questa rimane attiva
13
12
11
T4
T5
11
12
13
Fun4 ( = 1 )
Fun5 ( = 1 )
T4
T5
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 12
Sequenze in parallelo
◊ Doppia linea se:◊ Più fasi convergono in una stessa transizione
◊ Più fasi succedono ad una transizione
13 25
615141
T22
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 13
Differenze con le reti di Petri
◊ SFC
◊ Lo stato di una fase di un
SFC è booleano:
◊ Attivo-Disattivo
◊ Tutte le transizioni
simulatenamente
superabili sono superate
◊ Le condizioni di transizione
possono dipendere dallo
stato delle singole fasi
◊ PETRI
◊ Lo stato di una fase è un
numero intero
◊ Numero di attivazioni (marker)
◊ Le transizioni superabili sono
superate con una sequenza
che potrebbe anche non
comprenderle tutte
◊ Le condizioni sono solo
segnali esterni
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 14
Variabili di Ingresso
◊ Ingresso semplice◊ La variabile dell’SFC assume
lo stesso valore (binario) del segnale del sensore
◊ Ingresso a fronte◊ La variabile dell’SFC vale 1
solo in corrispondenza di un fronte di salita (A) o di discesa (A )
t
Segnale A
Variabile A
tA
A
A
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 15
Variabili Temporali
◊ Indicata con t/Xn/d◊ t: variabile temporale
◊ Xn: marker associato alla fase
◊ d: durata della temporizzazione
◊ Assume il valore 0 all’istante iniziale
◊ Rimane 0 quando Xn si attiva
◊ Diventa 1 dopo l’intervallo d
◊ Torna a 0 se la fase si disattiva
tNOT t/Xn/d
t/Xn/d
Xn
dd d
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 16
Esempio utilizzo var. temporale
◊ Preriscaldamento
◊ Watchdog timer
33
34
Scalda motore
parti
t/X33/20sT33
2221 allarme
2 Fuori carrello
t/X2/2sT22Uscito AND NOT t/X2/2sT21
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 17
Watchdog di un ciclo globale
A
101
102 allarme
1 100
Ripristino
sicurezzaT103
t/X101/30sT102X1 AND
NOT
t/X101/30s
T101
X2T100
f15T15
2 B
15 L
f14T14
f1T1
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 18
Tipi di Azioni
◊ Continua◊ Uscita che deve valere 1 per tutta la durata di attivazione della
fase
◊ Non cambia valore se associata a due fasi consecutive
3 A
22 At
A
X22
X3
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 19
Tipi di Azioni
◊ Condizionata
◊ Contiene una condizione di attivazione ulteriore a quella relativa alla fase a cui è associata
3 A
tA
C
X3C
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 20
Tipi di Azioni
3 A
tA
X3NOT t/X3/d
t/X3/d
d
◊ Limitata nel tempo (Condizionata)
◊ Limitata nel tempo se la condizione è una variabile temporale
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 21
Tipi di Azioni
◊ Ritardata
◊ La condizione è data da una variabile temporale associata alla stessa fase a cui è associata l’azione
3 A
tA
X3t/X3/d
t/X3/d
d
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 22
Tipi di Azioni
◊ Impulsiva (limitata nel tempo ad una sola scansione)◊ Dura un tempo infinitamente piccolo
◊ Si indica con A*
◊ Esempi:
◊ Aggiornamento di un contatore
◊ Attivazione di un timer
◊ Calcolo numerico
3 A*
tA*
X3
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 23
Tipi di Azioni
◊ Memorizzata◊ Lo stato della variabile associata permane anche quando la
fase viene disattivata
◊ SET
◊ RESET
3 SET A
46 RESET At
A
X46
X3
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 24
Strutture Classiche
◊ Scelta
2111
1
cond2T2cond1T1
2111
1
cond2T2cond1*cond2T12
cond1T1
◊ Scelta non ambigua
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 25
Strutture Classiche
◊ Convergenza
24
9
T23
18
T15
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 26
Strutture Classiche
◊ Parallelismo
3111
5
T1
21
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 27
Strutture Classiche
◊ Sincronizzazione
3115
100
T33
29
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 28
Strutture Classiche
◊ Mutua esclusione (semaforo) con priorità
71
86
85
72
25
35
34
26
100
T21
T13 T43
T51
cond1not cond1 and cond2
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 29
Strutture Classiche
◊ Sincronizzazione locale
48
45
47
46
T21
T22
T2325
22
24
23
T4
T5
T8
200
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 30
Struttura Errata
◊ Scelta con Sincronizzazione◊ T20 sarà difficilmente superabile ;-)
2111
1
T2T1
2
14 27
T20
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 31
Struttura Ambigua
2111
1
2
14 27
T1
T27T14
◊ Parallelismo con convergenza
◊ La fase 2 rischia di essere attivata due volte
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 32
Esempi: Trapano automatico
4
3 D
S
5 O
2 SET R D
1
6 D
7 S
8 RESET R
yT9
x AND mT2
p AND yT1
xT3
mT4
aT5
t/X5/2sT6
bT7
aT8
b
m
a
y
x
O
S
D
R
p
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 33
Macrofase
◊ Macrofase e relativa espansione
6
4
5M30
I
30
U
30
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 34
Macroazioni
◊ Forzatura◊ Indica l’insieme delle fasi da attivare in un SFC
◊ Valida per tutta la durata della fase associata a meno che non sia impulsiva
4Forzare
G2:{12} 12 A
13 B
a
b
c
11
12 A
13 B
a
b
c
11X4
X4
X4
G2
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 35
Macroazioni
4Forzare
S2:{ } 12 A
13 B
a
b
c
11
12 A
13 B
a
b
c
11X4
X4
X4
Sospensione
Disattiva tutte le fasi in un SFC
S2
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 36
Macroazioni
◊ Bloccaggio
◊ Arresta l’esecuzione di un SFC
4Forzare
S2:{* } 12 A
13 B
a
b
c
11
12 A
13 B
a AND NOT X4
11
b AND NOT X4
c AND NOT X4
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 37
SFC Gerarchico per il controllo del Trapano Automatico
11Forzare
SFC2:{ }
12 S
STOP
10
RESET
a
RESET R
R
13Forzare
SFC2:{1}
T12
=1T13
T11
T10
4
3 D
S
5 O
2 SET R D
1
6 D
7 S
8 RESET R
yT9
x AND mT2
p AND yT1
xT3
mT4
aT5
t/X5/2sT6
bT7
aT8
SFC1 SFC2
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 38
Esempio Taglierina Automatica
Un dispositivo è composto da un nastro trasportatore su cui è disposto un film omogeneo che deve essere tagliato da una taglierina verticale.Il nastro trasportatore è attuato da un motore lineare. Un sensore ottico rileva un segno presente sul film indicante quando è necessario tagliare, mentre due sensori di inizio e fine corsa indicano la posizione della taglierina.
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 39
Esempio Taglierina Automatica
◊ I requisiti funzionali prevedono che:◊ Quando il sensore ottico rileva il segno sul film, deve essere
effettuato il taglio;
◊ Quando la taglierina esegue il taglio, il nastro trasportatore deve essere fermo;
◊ Quando la taglierina viene riportata in condizione di riposo, il nastro trasportatore può essere riattivato
◊ Tre sono i possibili stati ammissibili:◊ Nastro trasportatore acceso, taglierina a riposo;
◊ Nastro trasportatore fermo, taglierina scende per eseguire il taglio;
◊ Nastro trasportatore fermo, taglierina risale
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 41
ESEMPIO Distributore Automatico
◊ Si consideri una macchina distributrice di bibite che sia in grado di riconoscere monete da 0.1, 0.2 e 0.5 Euro e di erogare tre differenti tipi di bibita, A, B e C. La bibita A costa 0.6 Euro, la bibita B ne costa 0.8 e la bibita C costa 1 Euro.
◊ La macchina è dotata di display, sul quale viene visualizzata la stringa “Inserire Monete” fino a quando il cliente non inserisce una prima moneta, dopodichè viene visualizzato l’importo totale inserito. L’utente ha a disposizione i pulsanti di selezione di ciascuna bibita e un pulsante di espulsione monete, con il quale può annullare l’operazione. La macchina infatti non dà resto!
Reti e
Sis
tem
i per
l ’Auto
mazio
ne
Stefano Panzieri SFC - 42
ESEMPIO Distributore Automatico
◊ Il riconoscimento della moneta viene effettuato da un sottosistema di scansione, il quale fornisce al sistema di controllo principale quattro soli segnali logici: Moneta 01, Moneta 02, Moneta 05, Non Valida. Ad ogni nuova moneta riconosciuta viene aggiornata la somma memorizzata e la mon- eta viene messa in uno scompartimento di pre-incasso, mentre se la moneta non `e valida viene immediatamente espulsa.
◊ Se l’utente preme un tasto di selezione bibita e l’importo introdotto `e sufficiente, la bibita richiesta viene espulsa e le monete vengono incassate definitivamente.La durata minima di apertura degli sportelli di
contenimento bibite e monete della macchina è: 300 ms per lo sportello
dello scomparto dell’ultima moneta inserita; 1 s per lo sportello dello
scomparto di pre-cassa; 2 s per lo sportello degli scomparti contenenti le
bibite.