Design Pattern #4- Multiple State Machine

La macchina a stati multipla è l’ideale per chi deve eseguire una lunga serie di operazioni riguardanti un singolo stato del programma. la Multiple State Machine è molto utile se avete necessità di implementare multipli stati all' interno dei nostri stati ' fondamentali ' dell' applicazione.

Multiple State Machine(MSM)

Nel precedente articolo abbiamo 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 presenti casi fondamentali, obbligatori per la corretta implementazione: Initialize, Default, Idle, Error ed Exit.

La macchina a stati multipla è l’ideale per chi 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:

Esempio di MSM

Per dichiarare quali operazioni svolgere in un singolo stato, è utile utilizzare un array di 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, consiglio l’utilizzo di un cluster di stato, che vi permette di memorizzare lo stato all’ iterazione precedente.

In conclusione si 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

Ora puoi approfondire questo argomento con uno dei nostri corsi HandsON.

Protocolli Industriali con LabVIEW

Scoprire i protocolli industriali, come integrarli in labview. In questo corso impararerai a implementare toolkit e librerie, per utilizzare protocolli come ModBus e OPC-UA
Intermedio

Liv. Intermedio

OnLine; Con Istrutttore

3 gg

LabVIEW UI/UX

Lo sviluppo di applicativi per Testing e Misure vede sempre più una necessità di integrare interfacce curate soprattutto in prospettiva dell'utilizzo da utenti meno esperti e nel considerare di ridurre errri e incertezze dovute spesso ad un interfaccia poco chiara e intuitva.
Intermedio

Liv. Intermedio

OnLine; Con Istrutttore

3 gg

Corso LabVIEW StateMachine Pro

Il paradigma di programmazione convenzionale è il data flow. Siamo abituati ad usare il cluster di errore per gestire la sequenza di esecuzione dei nodi in labview. La macchina a Stati, permette di gestire l'ordine di esecuzione condizionato all'uscita dello stato in esecuzione. L'implementazione di questo pattern permette quindi l'integrazione del diagramma di stato e una razionalizzazione dell'applicazione, diventando più flessibile, leggibile e manutenibile.
INTERMEDIO

Liv. INTERMEDIO

In Presenza

1 gg

Scopri i nostri servizi e Prodotti, Contattaci ora!

Altri articoli dal nostro Blog

LabVIEW, un ambiente di programmazione grafica ampiamente utilizzato per il controllo e l’automazione, offre potenti strumenti di sincronizzazione come eventi, code e notificatori per gestire la comunicazione tra processi paralleli. Tuttavia, quando si affronta la gestione del timeout su funzioni di sincronismo, è cruciale adottare strategie efficaci per garantire la reattività del sistema.
L’azienda leader nel settore elettrico in Ungheria ha collaborato con Bytelabs per implementare un sistema avanzato di collaudo e caratterizzazione degli avvolgimenti elettrici. Utilizzando tecnologie come Advantech ADAM 5000 TCP, LabVIEW e il power meter Yokogawa WT5000, il sistema permette test ad alta velocità, salvataggio sicuro dei dati su un server SQL e creazione automatica di report PDF. La flessibilità di eseguire test manuali o automatici ha migliorato l’efficienza operativa, consentendo un collaudo più rapido e una tracciabilità dei prodotti ottimizzata. L’implementazione ha portato a significativi miglioramenti nell’efficienza e nella qualità del processo di collaudo e caratterizzazione degli avvolgimenti elettrici.
La certificazione dei prodotti è fondamentale per garantire la sicurezza e la qualità dei prodotti che vengono immessi sul mercato. Tra le diverse fasi del processo di certificazione, i test giocano un ruolo centrale, sia per garantire la conformità del prodotto ai requisiti normativi sia per verificare la sua affidabilità e sicurezza.