LabVIEW DVR

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.

In LabVIEW la DVR (Data Value by Reference) permette di passare dal modello di programmazione sul dato ad un approccio asincrono basato su reference.

Tipicamente il modello LabVIEW usa il flusso di dati ed è suggeribile utilizzarlo al massimo, spesso però capita di dover condividere dati tra più task o in generale poter condividere i dati in modo asincrono, utilizzando uno spazio memoria e puntando a questo con una reference.

Come funziona?

Vediamo come creare un cronometro, con API per Creazione, Reset, Read e Distruzione.

CreateChrono

New DVR crea la reference.

Ora creiamo la funzione di start

La struttura in place elemet con DataValueReference Read (a destra) and Write (a sinistra), legge il dato lo utilizza nel codice e lo riscrive sulla memoria a cui punta la reference.

La funzione GetTime

Anche in questo caso riutilizzamo la struttura in place element per riprendere il dato dalla memoria e calcolare il tempo trascorso per differenza dallo start time.

Ecco il test dell’API creata. Sono create due sessioni di cronometro indipendenti.

Meccanismi di condivisione byRef ce ne sono diversi, i più diffusi Queue (Single Element Queue), Notifier.

DVR diversamente, si basa su “In Place element Structure” ottimizzando l’allocazione di memoria, riducendo la duplicazione.

È anche una valida sostituzione delle Functional Global o meglio Application Engine, rispetto a queste ultime otteniamo migliore incapsulamento e protezione dei dati, una libreria API che separa le funzioni in modo più scalabile, funzioni di create e destroy per creare sessioni programmaticamente.

Memoria e OOP by ref

Con l’introduzione delle classi e della programmazione ad oggetti, che in LabVIEW rimane byData, ritorna maggiormente l’esigenza di avere uno switch byValue, byRef e contrario.

La DVR aiuta a condividere dati e funzionalità tra i dati.

Quando si usa con le classi si può poi evitare o abilitare la condivisione con le classi discendenti, configurabile nelle proprietà di classe.

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.