Multiple State Machine(MSM)
Nel precedentearticoloabbiamo visto il funzionamento della macchina a stati basata sugli eventi, oggi in questo articolo, vedremo insieme la Macchina a Stati Multipla.
La Multiple State Machine è un modello di progettazione molto particolare all’ interno di LabVIEW, che permette di dichiarare una serie di operazioni da eseguire, all’ interno di un Stato un singolo stato.
Come le precedenti SM, anche all’interno della MSM vi sono presenticasi fondamentali, obbligatori per la corretta implementazione: Initialize, Default, Idle, Error ed Exit.
La macchina a stati multiplaè l’ideale perchi deve eseguire una lunga serie di operazioni riguardanti un singolo stato del programma.
Esempio: All’interno del caso ‘Initialize’ lo sviluppatore necessita di eseguire multiple operazioni come l’apertura di file di riferimenti, dei controlli di riferimento ecc.
Il modello di progettazione si presenta cosi:

Per dichiarare quali operazioni svolgere in un singolo stato, è utile utilizzare unarraydi tipo stringa, contenente i vari stati che il programma eseguirà.
Utilizzando gli array avrete il vantaggio di dover dichiarare una sola volta per ogni caso le singole operazioni che dovranno esser eseguite.
Esempio: Nel caso di inizializzazione è stato dichiarato all’ interno di un vettore la lettura dei file di configurazione, e successivamente grazie alle funzioni dei vettori e bastato definire lo stato successivo.
Se il programma deve eseguire multiple operazioni in multipli casi,consigliol’utilizzo di unclusterdi stato, che vi permette di memorizzare lo stato all’ iterazione precedente.
Inconclusionesi può quindi dire che la Multiple State Machine è molto utile se avete necessità di implementare multipli stati all’ interno dei nostri stati ‘ fondamentali ‘ dell’ applicazione.
Nel Prossimo articolo vedremo la funzionalità dalla Queued-State Machine

