Controllo Sequenziale FBD: Tutorial sulla Programmazione delle Macchine a Stati

Un tirocinante una volta chiese perché il suo programma per la macchina di riempimento a volte saltasse un passo e riempisse la bottiglia prima che fosse posizionata. La risposta non era un timer mancante — era uno stato mancante. Il suo programma era un insieme di condizioni indipendenti; le vere macchine sequenziali sono una macchina a stati, e la differenza è la differenza tra un programma che funziona sulla carta e un programma che funziona di lunedì.

Il controllo sequenziale è ovunque nell'automazione: una linea di riempimento, un tavolo rotante, una pressa per stampaggio, una cabina di verniciatura. L'errore classico è scrivere ogni uscita come una condizione sciolta — "quando il sensore A e il timer B, apri la valvola C" — e poi fare il debug delle combinazioni impossibili alle 2 del mattino. La soluzione è smettere di pensare in uscite e iniziare a pensare in stati.

Cosa è realmente una Macchina a Stati

Una macchina a stati è un insieme di passi nominati e le regole per muoversi tra di essi. La macchina è sempre in esattamente un passo: ATTESA, POSIZIONE, RIEMPIMENTO, SIGILLATURA, ESPULSIONE. Ogni passo ha azioni di ingresso, condizioni di uscita e guardie. La bottiglia viene riempita solo nel passo RIEMPIMENTO, e il passo RIEMPIMENTO è raggiungibile solo dalla POSIZIONE quando il sensore della bottiglia conferma la posizione. Sembra burocrazia; si comporta come ingegneria.

Nel FBD di xLogicSoft, una macchina a stati si mappa chiaramente sul classico modello di Registro a Scorrimento o sui flag F utilizzati come bit di passo. Il modello: un flag F per passo, un insieme di condizioni di transizione e un blocco di transizione one-shot in modo che la macchina avanzi esattamente di un passo per evento. Poiché il passo attuale è sempre visibile — il LCD mostra quale flag F è attivo — l'operatore e il tecnico della manutenzione possono vedere a colpo d'occhio dove pensa di trovarsi la macchina. Questa singola caratteristica riduce il tempo di risoluzione dei problemi più di qualsiasi manuale diagnostico.

Costruirla: Tre Stazioni di Riempimento

Prendi un semplice esempio a tre stazioni: una bottiglia arriva, viene riempita, viene tappata. I passi:

  • Passo 0 IDLE: tutte le uscite spente. Transizione: sensore di bottiglia presente, pulsante di avvio.
  • Passo 1 POSIZIONE: il nastro trasportatore funziona fino a quando la bottiglia si ferma alla testa di riempimento. Transizione: sensore di posizione.
  • Passo 2 RIEMPIMENTO: la valvola di riempimento si apre per una durata temporizzata o fino a quando il sensore di livello scatta. Transizione: timer scaduto.
  • Passo 3 CHIUSURA: il chiuditore si abbassa e preme. Transizione: pressione confermata, timer scaduto.
  • Passo 4 ESPULSIONE: il nastro trasportatore si muove per spostare la bottiglia all'esterno. Transizione: il sensore di uscita si libera.

Ogni transizione utilizza un blocco On-Delay o un relè di cancellazione (one-shot) in modo che l'avanzamento avvenga esattamente una volta. La guardia su ogni transizione è il passo stesso — il Passo 2 non può iniziare a meno che la macchina non sia nel Passo 1, punto. La bottiglia non può essere riempita in anticipo perché "in anticipo" non esiste come condizione; non è nella tabella dei passi, e la bottiglia non è posizionata fino a quando la macchina non ha lasciato la POSIZIONE.

Dai all'operatore una modalità passo manuale prima di dargli qualsiasi altra cosa. Un input selettore consente alla macchina di avanzare un passo alla volta attraverso la sequenza, in modo che un tecnico di setup possa far avanzare la linea attraverso POSIZIONE, RIEMPIMENTO e SIGILLATURA individualmente mentre osserva gli attuatori. La macchina a stati rende questo banale — avanzare di un passo significa semplicemente forzare la prossima transizione — e trasforma la messa in servizio da un mistero a un elenco di controllo. Le macchine che non possono essere avanzate manualmente sono macchine che vengono debugate con un cacciavite.

Il Test della Modalità di Guasto

Ecco l'esercizio che rivela se hai costruito una macchina a stati o un insieme di condizioni: elenca le emergenze. Bottiglia bloccata sotto la testa di riempimento? La macchina dovrebbe rimanere in RIEMPIMENTO, fermare la pompa e allarmare — non vagare in ESPULSIONE e rovesciare il prodotto sul pavimento. Il sensore fallisce e riporta "bottiglia presente" per sempre? La macchina dovrebbe far scadere il passo POSIZIONE e allarmare, non riempire la stessa bottiglia invisibile tutta la notte. Il sensore fallisce dall'altra parte, "mai presente"? La macchina aspetta pazientemente — va bene, è quello che le macchine dovrebbero fare.

Scrivi un watchdog nel programma: se la macchina rimane in qualsiasi passo non IDLE per più tempo del massimo tempo del passo, passa a uno stato FAULT, taglia le uscite e lampeggia l'allarme. Il massimo tempo è un numero che già conosci dal tempo di ciclo — non stai indovinando, stai applicando la fisica.

Decidi cosa succede dopo un guasto prima che si verifichi il guasto. La scelta comune: la macchina si ferma dove si trova, l'operatore elimina la causa, preme reset e la sequenza torna a IDLE — o all'inizio del passo interrotto se il prodotto è ancora sicuro. Tornare a IDLE è più semplice e sicuro per le piccole macchine; riprendere a metà ciclo è più veloce ma richiede che ogni stato di uscita sia noto e provato. Per una macchina di riempimento, IDLE è la risposta onesta — una bottiglia a metà riempita è scarto in entrambi i casi.

Perché FBD batte Ladder per questo

Un'abitudine di debug si ripaga immediatamente: rendi il passo corrente visibile sul LCD frontale come un numero semplice. Il primo rapporto dell'operatore diventa "è bloccato al passo 4," non "fa qualcosa di strano," e il passo 4 punta direttamente alla sua condizione di transizione. In xLogicSoft i bit dei flag sono proprio lì nella finestra di monitoraggio, quindi una sessione su laptop mostra la stessa immagine che mostra il LCD. Abbinare le parole dell'operatore allo stato del programma riduce una ricerca di due ore a venti minuti ogni singola volta.

La logica a scala può esprimere una macchina a stati, ma richiede cento gradini e un diagramma che nessuno legge. In FBD, la struttura del passo è davanti a te: il Registro a Scorrimento o il blocco dei flag mostra il passo corrente, i blocchi di transizione sono visibili e la sequenza si legge dall'alto verso il basso. L'ambiente xLogicSoft include circa settanta blocchi funzione, e una macchina a cinque passi con interlock si adatta comodamente in una pagina di programma. Quando la macchina cambia — nuova stazione, nuovo sensore — aggiungi un passo e due transizioni invece di ricollegare la logica.

Inizia con la tabella dei passi su carta, poi i flag, poi le transizioni. Il programma sarà noiosamente corretto, e noiosamente corretto è il più alto complimento che un programma di automazione possa guadagnare. Le macchine non hanno bisogno di essere ingegnose; hanno bisogno di essere prevedibili.