Come disegnare un diagramma degli stati per PLC — Metti gli stati della macchina su un foglio e completa in tabella le combinazioni non disegnate

Ultimo aggiornamento: 2026-09-24 / Categoria: Programmazione PLC, progettazione della logica di controllo

Un diagramma degli stati mostra su un foglio in quale stato si trova l'intera macchina e quale pulsante o quale anomalia la porta dove. Questa guida è per il progettista del controllo PLC che non vuole lasciare a chi scrive il ladder le combinazioni assenti dalla specifica.

Durante il funzionamento automatico è stato premuto di nuovo avvio, e il flag della prima fase si è attivato una seconda volta. La combinazione non era nel flusso normale del diagramma di flusso, quindi chi ha scritto il ladder l'ha decisa sul momento. Un diagramma mostra solo le frecce a cui hai pensato. Le combinazioni non disegnate si completano, cella per cella, in una tabella stato × evento.

Diagramma degli stati di una macchina di trasferimento. All'accensione si parte da Zero non eseguito. Il pulsante di ricerca di zero porta da Zero non eseguito a Ricerca di zero in corso, il completamento della ricerca di zero porta ad Attesa di avvio, avvio porta a In marcia. Pausa porta da In marcia a In pausa; avvio riporta da In pausa a In marcia. A fine fase con il flag di stop a fine ciclo attivo, In marcia torna ad Attesa di avvio. Pausa porta da Ricerca di zero in corso a Zero non eseguito; ricerca di zero porta da Attesa di avvio a Ricerca di zero in corso; il passaggio a manuale porta da Attesa di avvio a Zero non eseguito. Dal riquadro interno (stati diversi da Arresto per anomalia e Arresto di emergenza), un'anomalia porta ad Arresto per anomalia. Il reset da Arresto per anomalia porta ad Attesa di avvio se la ripresa è consentita, altrimenti a Zero non eseguito. Dal riquadro esterno (stati diversi da Arresto di emergenza), un arresto di emergenza porta ad Arresto di emergenza. Sbloccando l'arresto di emergenza, facendo il reset e ripristinando la potenza si torna a Zero non eseguito.
Una macchina di trasferimento (il nastro trasporta, la pinza blocca, il robot preleva) suddivisa in 7 stati, con su ogni freccia l'evento che la fa scattare (pulsante, completamento, anomalia). [ ] è la condizione della transizione, ( ) una nota. Una freccia che esce da un riquadro indica che la transizione può avvenire da qualsiasi stato dentro il riquadro. Le fasi eseguite durante In marcia (attesa pezzo, trasferimento, bloccaggio, prelievo) vanno in un diagramma di flusso separato. Sullo smartphone scorri la figura in orizzontale o toccala per aprirla.

1. Il diagramma degli stati contiene solo gli stati dell'intera macchina; le fasi vanno nel diagramma di flusso

Nel diagramma si disegnano gli stati dell'intera macchina. L'esempio ne ha 7 e non mostra «attesa pezzo → trasferimento → bloccaggio → prelievo», le fasi eseguite durante In marcia. Le fasi vanno nel Come disegnare un diagramma di flusso PLC come numeri di fase (10, 20, 30…) con la condizione per passare alla successiva. Se metti qui anche le fasi, ogni evento che può avvenire da qualsiasi punto, come un'anomalia o una pausa, richiede una freccia per ogni fase.

I due fogli sono collegati dal numero di fase. L'avvio da In pausa riprende la fase interrotta; dopo la ricerca di zero si riparte dalla prima fase. Dopo il reset di un'anomalia che consente la ripresa, si riparte dall'inizio della fase interrotta.

Quello che in Come disegnare un diagramma di flusso PLC era chiamato «step (stato)» corrisponde alla fase di questo articolo. Quando gli stati si moltiplicano come in questo esempio, Attesa di avvio e Arresto per anomalia passano in questo diagramma; all'uscita per anomalia del diagramma di flusso basta scrivere «→ Arresto per anomalia». Su una macchina in cui l'operatore posa un pezzo e preme avvio ogni volta, togli la condizione del flag di stop a fine ciclo e torna ad Attesa di avvio alla fine di ogni fase.

2. Gli stati sono cose che durano; le frecce sono cose che avvengono

  1. Dai agli stati nomi di cose che durano e alle frecce nomi di cose che avvengono I nomi degli stati sono condizioni che durano per un certo tempo: «in marcia», «in attesa di». I nomi delle frecce sono istanti: «avvio (premuto)», «anomalia (tempo scaduto)». Uno stato chiamato «Avvio» lascia il dubbio se indichi il momento della pressione o il tempo in cui la macchina si muove.
  2. Separa gli stati che fanno qualcosa dagli stati che aspettano Ricerca di zero in corso, in grigio, passa da sola ad Attesa di avvio quando ha finito il suo lavoro. Attesa di avvio, in bianco, aspetta finché una persona preme avvio. La ricerca di zero termina quando la procedura arriva all'ultimo passo (nell'Ricerca di zero: diagramma di flusso (esempio), il passo che mette bHomeDone a ON).
  3. Disegna una sola volta la freccia «da qualsiasi stato», da un riquadro Un'anomalia può avvenire da uno qualsiasi dei 5 stati. Invece di 5 frecce, disegnane una dal riquadro che racchiude i 5 stati diversi da Arresto per anomalia e Arresto di emergenza verso Arresto per anomalia. In un diagramma con tutte le frecce disegnate una per una, nessuno si accorge se ne manca una.
  4. Disegna con una freccia da dove parte la macchina all'accensione Nell'esempio, la freccia dal punto nero di accensione va a Zero non eseguito. Dopo una mancanza di rete i pezzi restano a metà ciclo e la posizione degli assi non è certa. Se metti la variabile di stato in memoria ritentiva, una macchina che ha perso la rete durante In marcia riparte senza che nessuno abbia premuto avvio.
  5. Quando da un evento escono due frecce, rendi le condizioni mutuamente esclusive Il reset da Arresto per anomalia ha due destinazioni: Attesa di avvio se la ripresa è consentita (E01 ed E02 nell'Come scrivere una specifica di controllo), altrimenti Zero non eseguito. Se le due condizioni possono essere vere insieme, la destinazione la decide in silenzio l'ordine in cui è scritto il programma.
  6. Tieni i modi su un asse separato e decidi, per ogni stato, dove porta il cambio di modo L'esempio mostra gli stati del modo automatico. Al passaggio a manuale, Zero non eseguito e Arresto per anomalia consentono il movimento manuale così come sono, mentre Attesa di avvio passa a Zero non eseguito. Nessuno sa che cosa è stato mosso durante l'attrezzaggio, quindi una ricerca di zero ricontrolla tutto prima di tornare in automatico.

3. Completa in una tabella stato × evento le combinazioni che non hai disegnato

Il diagramma ha 14 frecce oltre all'accensione. In tabella sono 7 stati × 10 eventi, 70 celle, e ricopiando le frecce se ne riempiono solo 25. Le altre 45 non compaiono mai nel diagramma. Avvio premuto in Zero non eseguito, avvio premuto di nuovo durante In marcia: ognuna va decisa una cella alla volta.

In una cella si scrive una di queste cinque cose, e «non accettato» è diverso da «non può avvenire». Una cella «non accettato» si verifica al collaudo premendo il pulsante e constatando che non succede nulla. Una cella «non può avvenire» non si può provare premendo; se avviene, è un errore di programma e la macchina va in Arresto per anomalia.

Evento \ StatoZero non eseguitoRicerca di zero in corsoAttesa di avvioIn marciaIn pausaArresto per anomaliaArresto di emergenza
Ricerca di zero (pulsante)→ Ricerca di zero in corso/→ Ricerca di zero in corso////
Ricerca di zero completata×→ Attesa di avvio×××××
AvvioMostra «Ricerca di zero non eseguita»/In posizione di ripresa → In marcia
Non in posizione → mostra «Non in posizione di ripresa»
/→ In marcia (riprende la fase interrotta)//
Pausa/→ Zero non eseguito (abbandona la ricerca di zero)/→ In pausa///
Stop a fine ciclo///Attiva il flagAttiva il flag//
Fine di una fase×××Flag attivo → Attesa di avvio
Flag non attivo → continua ad aspettare il pezzo successivo
×××
Anomalia→ Arresto per anomalia→ Arresto per anomalia→ Arresto per anomalia→ Arresto per anomalia→ Arresto per anomaliaSe compare un'anomalia con un altro numero, aggiungila allo storico (la ripresa non è più consentita)Aggiungi la nuova anomalia allo storico
Reset/////Causa ancora presente → /
Ripresa consentita → Attesa di avvio
Altrimenti → Zero non eseguito
Prima dello sblocco → /
Sbloccato e potenza ripristinata → Zero non eseguito
Potenza non ripristinata 3 s dopo lo sblocco → mostra «Potenza non ripristinata»
Arresto di emergenza→ Arresto di emergenza→ Arresto di emergenza→ Arresto di emergenza→ Arresto di emergenza→ Arresto di emergenza→ Arresto di emergenza/
Passaggio a manualeMovimento manuale consentito→ Arresto per anomalia→ Zero non eseguito→ Arresto per anomalia→ Arresto per anomaliaMovimento manuale consentitoCambia solo il modo

«Fine di una fase» è una condizione che esiste solo durante In marcia, mentre la prima fase (attesa pezzo) aspetta il pezzo successivo. L'avvio da Attesa di avvio è accettato solo in posizione di riposo per la prima fase, oppure, in caso di ripresa, con le condizioni di inizio della fase interrotta soddisfatte. Il flag di stop a fine ciclo viene azzerato all'ingresso in Attesa di avvio, Arresto per anomalia o Arresto di emergenza. La riga Anomalia copre da E01 a E04 dell'elenco delle anomalie; l'arresto di emergenza (E05) ha la sua riga.

Le celle su cui si esita sono queste.

Fai la tabella in Excel, dalle un numero di versione e mettila nella specifica. Un elenco di Convalida dati con «/,×» e il messaggio di errore disattivato permette di digitare anche «→ Attesa di avvio». Colora di rosso le celle vuote con la Formattazione condizionale =ISBLANK(B2). Se aggiungi un evento senza aggiungere una riga e riempire tutte le 7 celle, diagramma, tabella e ladder si scollano.

4. Raccogli stati ed eventi, disegna le frecce normali, poi completa la tabella

  1. Elenca gli stati Prendili dalle condizioni di funzionamento che vuoi mostrare sulle lampade del pulpito e sullo schermo. Uno stato è qualcosa in cui si entra e da cui si esce per un'azione separata: un pulsante dell'operatore, un'anomalia, il completamento della ricerca di zero. Trasferimento e bloccaggio, che avanzano su condizioni dei sensori, sono fasi e vanno nel diagramma di flusso anche se lo schermo mostra «trasferimento in corso».
  2. Raccogli gli eventi Dai pulsanti e selettori del pulpito, dai completamenti, dalle condizioni controllate solo durante In marcia e dalle anomalie. Le anomalie dell'elenco condividono una riga; solo l'arresto di emergenza ha la sua. Le operazioni che fanno la stessa cosa in ogni stato, come il tacitamento della sirena, restano fuori dalla tabella.
  3. Disegna le frecce normali e racchiudi in un riquadro ciò che può avvenire da qualsiasi stato Prima dall'accensione fino a In marcia, e la via del ritorno dopo uno stop. Anomalia e arresto di emergenza: una freccia ciascuno, da un riquadro.
  4. Fai la tabella e riempi le celle vuote Ricopia le frecce del diagramma, poi riempi le celle rimanenti con /, × o testo. Lascia vuote le celle che non puoi decidere da solo e annota a fianco chi può farlo (cliente, progettazione meccanica, responsabile della sicurezza).

5. Nel PLC, tieni lo stato in una sola variabile e cambialo al massimo una volta per scansione

  1. Tieni lo stato come numero in una sola variabile Metti il numero dello stato in un solo intero. Con un flag per ogni stato, nulla nella struttura impedisce che due siano attivi insieme. Una variabile non ritentiva vale 0 all'accensione, quindi assegna il numero 0 a Zero non eseguito.
  2. Valuta le transizioni sullo stato a inizio scansione e cambialo al massimo una volta per scansione Valuta su una copia dello stato presa a inizio scansione. Scritto dall'alto in basso come «se Attesa di avvio e avvio allora In marcia», un rung più in basso vede In marcia appena scritto e avanza di nuovo. Scrivi lo stato successivo una sola volta alla fine; in un CASE in ST viene eseguito un solo ramo per scansione.
  3. Scrivi le transizioni «da qualsiasi stato» dopo quelle dei singoli stati Ordine: transizioni dei singoli stati → anomalia → arresto di emergenza. Vince l'ultima assegnazione, quindi se avvio e arresto di emergenza coincidono nella stessa scansione vince l'arresto di emergenza. Ogni freccia da riquadro del diagramma è un solo punto anche nel programma.
  4. Separa le azioni di ingresso dalle uscite continue Le azioni di ingresso girano solo nella scansione in cui il numero è cambiato. Se registri il numero dell'anomalia all'ingresso in Arresto per anomalia a ogni scansione, lo storico cresce di una voce per scansione. Le uscite che dipendono solo dallo stato, come lampade e visualizzazioni, sono un'espressione per uscita: «rosso = Arresto per anomalia o Arresto di emergenza».
  5. Un numero impossibile porta in Arresto per anomalia Nel ramo ELSE, passa ad Arresto per anomalia e mostra il numero sullo schermo. Un ELSE vuoto, o che torna ad Attesa di avvio, nasconde una scrittura da un altro circuito o un errore di battitura. Lo stesso vale quando avviene una cella × della tabella.
  6. I pulsanti sono eventi all'istante della pressione; arresto di emergenza e anomalie si controllano finché sono attivi Guarda i pulsanti solo per la scansione del fronte di salita. Se li accetti finché sono ON, la macchina parte nell'istante in cui si posa un pezzo con avvio tenuto premuto. Arresto di emergenza e anomalie sono l'opposto: controllali a ogni scansione finché sono attivi, così che accendendo con il pulsante premuto si passi comunque ad Arresto di emergenza.

6. Dove si inciampa: il riscontro dello stop a fine ciclo, il conteggio dell'attesa pezzo, il ruolo dell'arresto di emergenza

7. Le 58 celle che non sono × sono le voci del collaudo

Le 58 celle che non sono × sono le voci della prova. Per una cella →, verifica lo stato di destinazione e l'azione di ingresso; per una cella /, premi il pulsante e verifica che non succeda nulla. Provoca anomalie e arresti di emergenza da tutti gli stati dentro il riquadro, non solo da In marcia. Un timeout durante la ricerca di zero e un arresto di emergenza durante In pausa sono le combinazioni che più spesso sfuggono.

Dopo le singole celle, prova anche le sequenze di due operazioni. Premi stop a fine ciclo, poi pausa, poi avvio: il flag è ancora attivo e la macchina si ferma in Attesa di avvio alla fine della fase? Spegni e riaccendi durante In marcia: riparte in Zero non eseguito senza che nulla si muova (o in Arresto di emergenza, se il relè di sicurezza richiede il reset manuale)? Verificare la tabella una cella alla volta non trova questi errori di sequenza.

L'editor per il diagramma di flusso delle fasi

  • Flowchart Editor — Disegna le fasi eseguite durante In marcia (attesa pezzo, trasferimento, bloccaggio, prelievo) come numeri di fase con la condizione per passare alla successiva. Non disegna il diagramma degli stati in sé.

Nessuna installazione, nessuna registrazione. Funziona nel browser.

Articoli correlati

yk.builds