Il linguaggio SFC
( Sequential Functional Chart ) 1
Il linguaggio SFC
- introduzione -
Negli anni 70 del secolo scorso (cioè circa 10 anni dopo il lavoro di C.A. Petri)
venne sviluppato un linguaggio grafico - inizialmente di specifica, poi anche di
programmazione quando se ne crearono dei compilatori - per il controllo logico.
Tale linguaggio venne chiamato Grafcet (Graphe de coordination étapes-transitions).
Grafcet è profondamente legato alle reti di Petri, in quanto ne costituisce una
semplificazione dotata di una specifica formale dell’evoluzione e del comportamento
ingresso/uscita, in modo che da esso si possa ottenere senza ambiguità del codice
eseguibile da una macchina sincrona interfacciata verso il mondo esterno (il PLC).
Grafcet è tuttora uno dei linguaggi standard per la modellizzazione di processi discreti
ed è stato incluso in IEC 1131-3 con il nome di Sequential Functional Chart.
Le principali linee guida per la definizione di SFC sono le seguenti:
• rappresentare le funzioni di controllo logico con modelli formali e ben
leggibili da chi conosce il sistema oggetto del controllo,
• superare i limiti degli automi a stati finiti (ad esempio permettendo il
parallelismo),
• adattare le reti di Petri ad un’implementazione industriale. 2
Il linguaggio SFC
- elementi fondamentali -
Gli elementi fondamentali di SFC sono i seguenti:
• fasi o passi o tappe (étapes),
• transizioni,
• archi orientati che connettono fasi a transizioni o viceversa,
• regole di evoluzione, che definiscono senza ambiguità il comportamento
dinamico del programma nella sua veste d’implementazione di un DES,
• azioni associate alle fasi,
• condizioni logiche associate alle transizioni.
Lo stato di attivazione delle fasi rappresenta lo stato del sistema. Esso viene
modificato dall’occorrenza di eventi, che mediante le transizioni portano il sistema
in una nuova condizione (con altre fasi attive). 3
Il linguaggio SFC
- elementi fondamentali -
Fase.
E’ concettualmente correlata al posto nelle reti di Petri:
• è simboleggiata da un quadrato (con bordo doppio se iniziale, ovvero attiva
all’inizio dell’esecuzione del programma),
• ha un’etichetta, in genere costituita da un numero,
• può essere attiva o inattiva; quando è attiva contiene un marcatore (gettone),
• può avere delle azioni associate.
Esempio: 3 attiva la
pompa P1
In uno schema SFC si dicono variabili di stato delle variabili logiche associate allo
stato di attivazione delle fasi, intendendo con ciò che l’esistenza della fase implica
i
quella di un simbolo che vale 1 se la fase è attivata e 0 altrimenti. Le variabili
X i
i
di stato hanno questo nome perché l’insieme delle fasi attive rappresenta lo stato
del (DES descritto dal)lo schema SFC tranne per quel che attiene alle variabili, che
però non hanno a che fare con l’evoluzione del DES in termini di eventi se non in
virtù degli eventi stessi e delle azioni. Le variabili di stato possono essere usate nello
schema: tipicamente compaiono nelle condizioni associate alle transizioni. 4
Il linguaggio SFC
- elementi fondamentali -
Transizione.
E’ concettualmente correlata alla transizione nelle reti di Petri:
• è simboleggiata da una barretta orizzontale,
• è dotata di un identificatore,
• può avere una condizione logica associata,
• può essere abilitata oppure no, superabile oppure no,
• può essere superata.
Esempio: X1 AND X2
Arco orientato.
E’ concettualmente correlato all’arco orientato nelle reti di Petri:
• è rappresentato da segmenti collegati con angoli retti,
• collega fasi a transizioni o viceversa (non fasi a fasi né transizioni a transizioni,
come nelle reti di Petri),
• non esiste peso,
• si omette la freccia direzionale se è dall’alto verso il basso. 5
Il linguaggio SFC
- elementi fondamentali -
Regole di evoluzione.
Premesse.
Una transizione si dice abilitata se tutte le fasi a monte sono attive.
Una transizione si dice superabile se è abilitata e la condizione ad essa associata
assume il valore “vero” (in tal caso si dice anche che la transizione può scattare).
Regola 1.
Quando una transizione è superabile, essa viene superata: tutte le fasi a monte
vengono disattivate e tutte le fasi a valle vengono attivate.
Regola 2.
Se più transizioni sono superabili in un certo istante, esse vengono superate
tutte contemporaneamente (quindi SFC dà del codice un modello sincrono).
Osservazione importante.
SFC è un linguaggio che descrive il ciclo operativo del sistema di controllo, nel senso
che “in un programma SFC è scritto come cambia lo stato del sistema all’avvenire
degli eventi”. A differenza di LD, in SFC non si vede (a meno di un’eccezione che
vedremo) il ciclo operativo del PLC. 6
Il linguaggio SFC
- elementi fondamentali -
Azioni.
Le azioni sono associate ai passi e sono lo strumento con cui lo schema SFC
appunto agisce, sulle variabili interne al PLC e/o interagendo con l’esterno.
Un passo può avere più azioni associate, e in tal caso esse sono eseguite in
parallelo.
Le azioni sono dotate di attributi (qualificatori) per descrivere in modo non
ambiguo l’andamento temporale dell’effetto da esse prodotto.
Esempio: qualificatori
azioni
2 X attiva la pompa P1
Y apri la valvola V6 7
Il linguaggio SFC
- elementi fondamentali -
Qualificatori delle azioni.
N (non-stored, azione continua).
L’azione (Az) inizia quando la fase cui è associata (X ) si attiva e termina quando
i
la fase medesima si disattiva.
X
i tempo
Az tempo
L (time-limited, azione limitata nel tempo).
L’azione (Az) inizia quando la fase cui è associata (X ) si attiva e termina quando
i τ
la fase medesima si disattiva oppure è trascorso un assegnato intervallo di tempo .<
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.