Costruisci il tuo test sequencer con OOP e Variant LookUpTable

Utilizzare una Variant lookup table, basata su Set/Get Variant Attribute, vediamo come utilizzarla con la programmazione ad oggetti, realizzando un semplice sequencer.

Vogliamo realizzare un test sequencer semplice per testare la versatilità dei Variant Set/Get Attribute, utilizzati come lookup table e l’utilizzo delle classi come elementi.

1- Definizione delle classi

Classe Test: Rappresenta la classe astratta, ovvero il test come definizione. Per semplificare abbiamo creato un solo metodo che avrà il compito di contenere il codice di esecuzione del test.

Si crea quindi il lmetodo Test.VI che verrà riscritto (Override) nelle classi che ereditano da Test.

Procedimento: Andare su my computer e NEW/Class quindi spostarsi sulla classe Test appena creata e NEW/Vi from Dynamic Dispatch Template

Classe Test01: Eredita dalla classe Test e ne riscrive il metodo Test.vi

Procedura : Creare una nuova classe, quindi andare nelle property della classe appena creata, quindi in Inheritance , premere change inheritance e selezionare la classe test.

Ora eseguiamo l’override del metodo test selezionando la casse Test01 e New/vi from override, selezioniamo  Test.vi

Classe Test 2 : identica procedura della classe Test01

Al termine della procedura avremo cliccando show hierarchy sulla classe Test, la seguente gerarchia che mostra la relazione Padre/Figli tra la classe astratta Test e le classi figlio Test01 e Test02.

Il progetto mostrerà come da figura le classi con i relativi metodi Test.vi.

Ora creiamo un vi (da myComputer, New VI) e trasciniamo le classi Test01 e Test02, quindi andiamo nella palette Variant e trasciniamo il Variant Set attribute(ne serviranno 2).

Colleghiamo la classe Test come ingresso del variant(non è obbligatorio, si può mettere anche un variant o altro).

2- Esempio Applicativo:

Completare inserendo un For Loop (per farlo eseguire in modo continuo ho messo un while) in cui eseguire i test come nell’immagine successiva.

Quindi eseguendo il vi, il Get Variant Attribute seleziona la classe associata alla chiave di testo che ho associato nel Set Attribute.

Utilizzare questo modello per creare delle lookup table ha il vantaggio di inserire direttamente diversi tipi di dato, diversamente dei modelli basati sugli array è dinamico diversamente dall’utilizzo dei cluster e soprattutto come potrete trovare googlando sul tema, ha un algoritmo di ricerca non lineare che lo rende estremamente piu veloce.

3- Approfondimenti e ispirazioni:

ftp://ftp.ni.com/pub/events/webcasts/variant_attribute_lookup_table.pdf

https://forums.ni.com/t5/LabVIEW-Development-Best/Using-Variant-Attributes-for-High-Performance-Lookup-Tables-in/ba-p/3478922

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

Il flusso di dati è il paradigma centrale in labview ed è consigliabile utilizzare questo approccio finché si può. Tuttavia può essere utile passare e condividere dati tra processi in loop paralleli.
La gestione della manutenzione è essenziale per garantire il corretto funzionamento degli asset aziendali. Gli ordini di lavoro, i piani di intervento e le check list sono strumenti utili per organizzare e monitorare le attività di manutenzione. L’utilizzo di software dedicati, come ByteMan, semplifica la gestione della manutenzione e consente di ridurre i costi e migliorare l’efficienza aziendale.
Lo standard comune nel design dei VI in LabVIEWTM prevede la gestione dell’errore tramite Case Structure, ma è il giusto procedimento in ogni progetto?