LabVIEW e Python per Test Misura e Controllo.

labview and python

Mettere a confronto linguaggi di programmazione per stabilirne uno migliore, non ha senso.

Su molti forum la domanda a questo tipi di quesiti è spesso “42” rubato alla “Guida galattica per Autostoppisti” di Douglas Adams.

42 for everything

Il 42 è quindi la risposta alla domanda fondamentale sulla vita, l’universo e tutto quanto.

Quindi nessun Python vs LabVIEW, ma piuttosto LabVIEW e Python uniti insieme, per risolvere e migliorare i nostri software o il modo in cui li facciamo.

Python è un linguaggio di alto livello, basato su una sintassi semplice e non troppo “verbosa”.

LabVIEW è un ambiente di sviluppo che integra un linguaggio denominato “G” o “LabVIEW”, non testuale ma grafico, quindi prende una intuitività e leggibilità diversa e molto più chiara a tecnici abituati agli schemi e ai disegni.

LabVIEW ha un codice che proprio per il suo status grafico, limita le caratteristiche utilizzabili come il Merge su sistemi di versionamento come GIT. Si creano copie involontarie di modifiche e difficili a volte per poter lavorare in più persone ad un progetto.

Python giova di una community incredibile, si possono trovare quindi applicazioni e utilità per qualsiasi tipo di scenario, dai sistemi embedded fino alle applicazioni web, passando dal machine learning e Intelligenza Artificiale, dalla ispezione visiva al data management.

Per l’interfaccia Utente utilizziamo labVIEW, che ancora essendo WYSIWYG.

Integrare Python in LabVIEW

Per versioni meno recenti e per essere compatibili con la versione di Python qualsiasi, si deve ricorrere al systemexec che ci fa eseguire quindi una shell che lancia il modulo python e ne può ricevere i risultati se previsto.

Codice LabVIEW
Codice Python

L’esempio delega a Python l’estrazione di una colonna da un file excel.

Nelle version LV dalla 2018 è presente un integrazione più dedicata con il Python Node. Unico problema è che si deve essere allineati con le versioni di Python supportate.

Client / Server TCP

E’ stato creato uno script python per gestire un socket TCP su cui andiamo a leggere e scrivere via labVIEW. Questo viene utilizzato per comunicare con device non supportati da LabVIEW, facciamo quindi girare un codice che possa andare ad interagire anche con la GPIO e leggere dati oppure remotare una DaqMultifunzione e inviare i dati su ethernet o wifi, quindi visualizzarli in LabVIEW.

Nell’esempio in figura invece labVIEW è server e si incarica di comunicare via CAN e inviare i dati a client Python per un applicazione di diagnostica del cliente.

Accesso Web per cRIO

Utilizzando l’ambiente integrato LinuxRT, è stata realizzata un’applicazione utilizzando python e il framework per Django e DjangoRest per l’impostazione dei canali di acquisizione e controllo scrivendo su un DB.

Tramite i Json forniti dall’ API REST labVIEW su RT è quindi in grad di inizializzare i canali secondo i parametri e scrivere a sua volta la cronografia dei dati che una dashboard dell’applicazione può graficare e rendere disponibile da qualsiasi device collegato sulla rete.

configurazione canale di misura
API REST dettaglio misura

Un gemellaggio vincente

LabVIEW e Python possono cooperare, estendendone le migliori capacità dei due.

In Bytelabs, stiamo cercando di condividere le competenze dei nostri programmatori Python e LabVIEW.

Non è un gioco facile, ma siamo fermamente convinti che l’integrazione di Python e man mano che riusciamo a capitalizzarne le competenze, porta un vantaggio enorme in termini di possibilità di realizzazione.

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

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.
Bytelabs è system integrator e consultant specializzato in LabVIEW, questo ci ha permesso di intervenire rapidamente e seguire il progetto in modo agile, producendo prototipi funzionanti con la possibilità di interazione con i tecnici del nostro partner. La Modularità del sistema cDAQ offre una soluzione ideale per la configurazione dei I/O già condizionati.