Progettazione di macchine a stati finiti in Stateflow
Stateflow® è un ambiente di programmazione grafica che consente di utilizzare macchine a stati finiti per creare logiche di controllo nei modelli di Simulink®. È inoltre possibile:
Riutilizzare e condividere la logica tra i vari modelli.
Utilizzare il codice MATLAB® o i sottosistemi di Simulink come funzioni in una macchina a stati.
Visualizzare la logica con un'animazione live.
Eseguire il debug della logica utilizzando i punti di interruzione e registrando i dati di simulazione.
Stateflow supporta inoltre le tabelle della verità e i diagrammi di flusso. Per ulteriori informazioni, vedere Use Truth Tables to Model Combinatorial Logic e Creazione di diagrammi di flusso in Stateflow.
Definizione della logica utilizzando stati e transizioni
Le macchine a stati finiti modellano le modalità operative di un sistema come stati. Uno stato può modificare i dati, eseguire codice ed eventi oppure contenere altri stati.
Le macchine a stati finiti vengono eseguite in una serie di passaggi. Durante ciascun passaggio, ogni stato è attivo o inattivo. Gli stati attivi possono eseguire azioni o codice, mentre quelli inattivi non possono. Man mano che le condizioni nella macchina a stati cambiano, cambiano anche gli stati attivi.
Si consideri la trasmissione automatica di un'auto, in cui le marce corrispondono alle modalità operative. Questa immagine animata modella le marce come stati, rappresentati da rettangoli. Man mano che la velocità dell'auto cambia, la trasmissione cambia marcia, come indicato dall'evidenziazione in blu.

In una macchina a stati, una transizione rappresenta il percorso da uno stato a un altro. Ad esempio, un sistema di trasmissione automatica può passare dalla prima alla seconda marcia, dalla seconda alla prima o alla terza e così via.
L'immagine animata rappresenta le transizioni nel sistema di trasmissione come frecce tra gli stati. Ogni transizione presenta una condizione che determina quando lo stato attivo cambia. Ad esempio, l'auto passa dalla prima alla seconda marcia quando la velocità dell'auto è maggiore di 10.
Modellazione delle macchine a stati utilizzando tabelle di transizione di stato e grafici
Con Stateflow, è possibile modellare le macchine a stati come blocchi State Transition Table o Chart.
Utilizzo delle tabelle di transizione di stato
Le tabelle di transizione di stato rappresentano gli stati e le transizioni come voci di una tabella. Ad esempio, questa tabella di transizione di stato modella le marce di una transizione automatica come stati.

Considerare di utilizzare una tabella di transizione di stato quando si desidera porre l'attenzione sull'implementazione della logica senza doversi preoccupare del layout grafico degli stati.
Per un tutorial sulla creazione delle tabelle di transizione di stato, vedere Model Rechargeable Battery System by Using a State Transition Table.
Utilizzo dei grafici
Quando si crea un grafico, si modella la macchina a stati disponendo su un'area di disegno dei rettangoli e delle frecce che rappresentano gli stati e le transizioni, come nell'animazione precedente. Considerare di utilizzare un grafico se la progettazione richiede:
Componenti riutilizzabili. Ad esempio, è possibile riutilizzare gli stati in più punti di un grafico o utilizzare lo stesso stato in più grafici.
Modalità operative basate sugli eventi. Ad esempio, è possibile cambiare gli stati quando un componente di un grafico riceve un segnale da un componente diverso.
Flusso non lineare. Ad esempio, è possibile progettare un flusso logico che utilizzi loop o percorsi ramificati.
Per un tutorial sulla creazione di grafici Stateflow, vedere Model Rechargeable Battery System as Chart.