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
Una macchina a stati è particolarmente indicata per la rappresentazione di un programma che svolga funzioni di coordinamento e sequenziamento di azioni elementari Grafi di stato 0,1 1,1 0 1 1,0 0,0
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) (azione) (azione) 5 apri valvola 3 20 apri valvola 2 Fase iniziale Doppia cornice 10
Elementi di base di un SFC Transizione Tn Rappresenta una condizione per il passaggio da una fase a quella successiva T32 (ok AND T>20) OR NOT abilita 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
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 T1 T2 T3 10 20
Esempio di SFC 1 5 T1 fun1 2 accendi T2 fun2 T9 fun9 6 3 spegni 8 T6 fun6 T3 fun3 T8 fun8 7 T7 fun7 T4 4 fun4
Sequenze in parallelo Doppia linea se: Più fasi convergono in una stessa transizione Più fasi succedono ad una transizione 13 25 T22 41 51 61
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 T23 Ok AND t >20 71
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 Ambiguità #1
Ambiguità #2 Se una fase deve essere attivata e disattivata questa rimane attiva T4 11 Fun4 ( = 1 ) T4 11 T5 12 Fun5 ( = 1 ) T5 12 13 13
Esempio del nastro trasportatore
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
Variabili di Ingresso Ingresso semplice La variabile dell SFC assume lo stesso valore (binario) del segnale del sensore Segnale A Variabile A t Ingresso a fronte La variabile dell SFC vale 1 solo in corrispondenza di un fronte di salita (A ) o di discesa (A ) A A A t
Variabili Temporali Indicata con t/xn/d t: variabile temporale Xn Xn: marker associato alla fase d: durata della temporizzazione Assume il valore 0 all istante iniziale Rimane 0 quando Xn si attiva d d t/xn/d NOT t/xn/d d t Diventa 1 dopo l intervallo d Torna a 0 se la fase si disattiva
Esempio utilizzo var. temporale Preriscaldamento 33 Scalda motore T33 t/x33/20s 34 parti Watchdog timer 2 Fuori carrello T21 Uscito AND NOT t/x2/2s T22 t/x2/2s 21 22 allarme
Watchdog di un ciclo globale A 1 100 T1 f1 T100 X2 2 B 101 T14 f14 T101 X1 AND NOT t/x101/30s T102 t/x101/30s 102 allarme T15 15 L f15 T103 Ripristino sicurezza
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 X3 X22 22 A A t
Tipi di Azioni Condizionata Contiene una condizione di attivazione ulteriore a quella relativa alla fase a cui è associata C X3 3 A C A t
Limitata nel tempo (Condizionata) Tipi di Azioni Limitata nel tempo se la condizione è una variabile temporale NOT t/x3/d 3 A X3 t/x3/d d A t
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* X3 A* t
Tipi di Azioni Ritardata La condizione è data da una variabile temporale associata alla stessa fase a cui è associata l azione t/x3/d X3 d 3 A t/x3/d A t
Tipi di Azioni Memorizzata Lo stato della variabile associata permane alche quando la fase viene disattivata SET RESET 3 SET A X3 X46 46 RESET A A t
Strutture Classiche Scelta 1 T1 cond1 T2 cond2 11 21 Scelta non ambigua 1 T1 cond1 T12 cond1*cond2 T2 cond2 11 21
Strutture Classiche Convergenza T15 18 T23 24 9
Strutture Classiche Parallelismo 5 T1 11 21 31
Strutture Classiche Sincronizzazione 15 29 31 T33 100
Strutture Classiche Mutua esclusione (semaforo) 25 71 T13 T43 T21 26 34 100 T51 72 85 35 86
Sincronizzazione locale Strutture Classiche T4 T5 T8 22 23 24 25 200 T21 T22 T23 45 46 47 48
Struttura errata Scelta con Sincronizzazione T20 non sarà mai superabile 1 T1 T2 11 21 14 27 T20 2
Parallelismo con convergenza La fase 2 rischia di essere attivata due volte Struttura Ambigua T1 1 11 21 T14 14 27 T27 2
Esempi: Trapano automatico p S D x R o a m b y T9 T2 y T1 x AND m T7 T8 1 2 SET R D 6 D b 7 S a p AND y T3 T4 T5 T6 x 3 D 4 m a S 5 O t/x5/2s 8 RESET R
Macrofase e relativa espansione Macrofase 4 I 30 5 M30 6 U 30
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 4 Forzare 11 G2:{12} 12 A a b 13 B c X4 11 a 12 A b 13 B c X4 X4
Macroazioni Sospensione Disattiva tutte le fasi in un SFC 4 Forzare 11 S2:{ } 12 A a b 13 B c 11 a 12 A b 13 B c X4 X4 X4
Macroazioni Bloccaggio Arresta l esecuzione di un SFC 4 Forzare 11 S2:{* } 12 A a b 13 B c 11 a AND NOT X4 12 A b AND NOT X4 13 B c AND NOT X4
SFC Gerarchico per il controllo del Trapano Automatico T10 T11 T12 T13 10 11 STOP 12 S 13 Forzare SFC2:{ } RESET a =1 Forzare SFC2:{1} R RESET R T9 T2 y T1 x AND m T7 T8 1 2 SET R D 6 D b 7 S a p AND y T3 T4 T5 T6 x 3 D 4 m a S 5 O 8 RESET R t/x5/2s