Sequenze con GRAFCET e SFC
Passi, transizioni e azioni, regole di evoluzione, stazione di foratura, traduzione in codice con un solo passo attivo dimostrato, divergenze, interblocchi e modi di funzionamento.
Gran parte dell’automazione industriale è logica sequenziale: serrare il pezzo, forare, ritirare l’utensile, sbloccare, ricominciare. Descrivere una sequenza con equazioni booleane sparse è fonte di errori; il diagramma funzionale sequenziale la rende leggibile come una ricetta. In questa lezione vediamo il GRAFCET e l’SFC, le regole di evoluzione, un esempio di stazione di foratura, la traduzione in codice con la dimostrazione che conserva un solo passo attivo, le diramazioni e le interblocchi.
Passi, transizioni, azioni
Il GRAFCET (norma IEC 60848) e il suo equivalente di programmazione, l’SFC (sequential function chart, uno dei linguaggi della IEC 61131-3), descrivono una sequenza con:
- passi: gli stati della macchina, rappresentati da quadrati numerati; il passo iniziale ha il bordo doppio. Ogni passo è attivo o inattivo;
- azioni associate ai passi: le uscite comandate mentre il passo è attivo;
- transizioni tra i passi, rappresentate da trattini, con una ricettività: la condizione logica (sensori, pulsanti, temporizzatori) che permette di superarle.

Le regole di evoluzione
- All’inizio sono attivi i passi iniziali.
- Una transizione è abilitata se tutti i passi immediatamente precedenti sono attivi; è superata se è abilitata e la sua ricettività è vera.
- Superare una transizione disattiva i passi precedenti e attiva i successivi.
- Transizioni superabili nello stesso istante vengono superate simultaneamente.
- Se un passo deve essere insieme attivato e disattivato, resta attivo.
Esempio. Nella stazione di foratura, dal passo 0 la macchina aspetta l’avvio con il pezzo presente; nel passo 1 il cilindro Y1 serra il pezzo finché il sensore B1 conferma il serraggio; nel passo 2 il motore M1 fora per 2 s (il temporizzatore T1 parte quando il passo si attiva); nel passo 3 l’uscita Y2 riporta indietro il mandrino fino al sensore B0, e si torna al passo 0. Chiunque, anche il manutentore che non ha scritto il programma, legge la sequenza e capisce in quale passo la macchina si è fermata.
Dal diagramma al codice
Molti PLC eseguono direttamente l’SFC; altrimenti lo si traduce. A ogni passo
si associa una variabile booleana
. Per ogni transizione dal passo
al passo
con ricettività
:
![]()
e le uscite si calcolano dai passi: Y1 =
, M1 =
, Y2 =
.
Teorema. In una sequenza lineare chiusa ad anello, partendo con il solo passo iniziale attivo e valutando a ogni ciclo tutte le transizioni sullo stato all’inizio del ciclo, resta sempre attivo esattamente un passo.
Dimostrazione. Per induzione sui cicli. All’inizio è attivo un solo passo. Supponiamo che all’inizio di un ciclo sia attivo il solo passo
. In una sequenza lineare l’unica transizione abilitata è quella che esce da
, perché ogni altra transizione ha come passo precedente un passo inattivo. Se la sua ricettività è falsa non cambia nulla; se è vera,
si azzera e si attiva il solo passo successivo. In entrambi i casi alla fine del ciclo è attivo un solo passo. ∎
La condizione “sullo stato all’inizio del ciclo” non è un dettaglio. Se il programma valutasse le transizioni in ordine e ciascuna vedesse le modifiche delle precedenti, un passo appena attivato potrebbe essere superato nello stesso ciclo, e con ricettività già vere la sequenza “scivolerebbe” di più passi in un colpo, saltando azioni. Per evitarlo si calcolano prima tutte le transizioni superabili, e poi si aggiornano i passi; oppure si scrivono le transizioni in ordine inverso. La stessa sequenza si scrive in testo strutturato con un’istruzione CASE sul numero del passo (lezione sulla programmazione dei PLC).
Diramazioni
- Divergenza alternativa (OR): da un passo escono più transizioni, e si sceglie un ramo, per esempio secondo il tipo di pezzo. Le ricettività devono essere mutuamente esclusive, altrimenti si attiverebbero due rami.
- Divergenza simultanea (AND, doppia linea): superata la transizione si attivano più passi insieme, per esempio due stazioni che lavorano in parallelo; la convergenza simultanea attende che tutti i rami abbiano finito. Qui il teorema precedente non vale più: i passi attivi sono più di uno, e il numero torna a uno alla convergenza.
Interblocchi e modi di funzionamento
La sequenza descrive il funzionamento normale, ma una macchina reale ha anche:
- interblocchi: condizioni che impediscono un’azione pericolosa o dannosa indipendentemente dal passo (non forare se il pezzo non è serrato, non aprire due valvole incompatibili). Si scrivono come condizioni aggiuntive sulle uscite, non solo sulle transizioni;
- modi manuale, automatico, ciclo singolo, e la gestione degli arresti e della ripartenza dopo un’emergenza, che spesso richiedono più codice della sequenza stessa. La guida GEMMA organizza questi modi in un diagramma standard;
- sorveglianza dei tempi: se un passo dura molto più del previsto (il sensore B1 non arriva mai), si genera un allarme con l’indicazione del passo e del sensore atteso, che dimezza i tempi di ricerca del guasto.
Le funzioni di sicurezza per le persone, come l’arresto di emergenza, non si affidano alla sequenza del PLC standard: richiedono componenti e logiche certificate (lezione sulla sicurezza funzionale).




