Automazione misure e acquisizione dati: il software LabView

Già da qualche tempo si è reso necessario organizzare il più possibile il lavoro in modalità smart working; al di là dei problemi legati al COVID, c'è sempre più difficoltà a conciliare vita lavorativa ed impegni personali. Ma come fare se si lavora in ambito scientifico o tecnologico e si ha necessità di accedere ad un laboratorio? Grazie al software LabView è possibile lavorare da remoto ed automatizzare e controllare le procedure di misura ed acquisizione dati. E se invece siamo solo "smanettoni"? Questo software ha anche una versione per il LEGO Mindstorm, e si adatta a tutti i principali sistemi operativi!

Cos'è LabView

LabView (Laboratory Virtual Instrumentation Engineering Workbench) è un ambiente di sviluppo software realizzato dalla società americana National Instruments ed è basato sul linguaggio di programmazione G ( da non confondere con G-code). Comunemente è utilizzato per l'acquisizione dati ed il controllo strumenti e l'automazione industriale su numerosi sistemi operativi, tra cui macOS, Microsoft Windows, Unix e Linux. Sono state rilasciate versioni anche gratuite e non commerciali, oltre che per studenti.

Programmazione e funzionamento generale

Il linguaggio di programmazione G si basa sulla disponibilità di dati; se sono disponibili dati sufficienti per un programma o una funzione, questa verrà eseguita. Il software si avvale di una programmazione visuale che permette di realizzare applicazioni in modo grafico, cioè senza dover scrivere il codice. Per realizzare un programma con questo software si devono selezionare simboli grafici e icone che rappresentano le operazioni da eseguire e collegarli tra loro con linee colorate; in questa maniera si ha una idea del flusso di informazioni e dei dati da processare. Quindi, mentre il programmatore seleziona le operazioni per la sua applicazione, l'ambiente G scrive automaticamente il codice, che però rimane nascosto. L'utente avrà alla fine una applicazione in un pannello in cui saranno presenti sia i controlli (interruttori, manopole e spie luminose) che grafici, barre e visori numerici che rappresentano i risultati delle operazioni. L'approccio grafico consente ai non programmatori di creare programmi trascinando e rilasciando rappresentazioni virtuali di apparecchiature di laboratorio con cui hanno già familiarità, come in Figura 1.

Figura 1: pannello di configurazione di un VI

Questo software è stato progettato proprio per risolvere esigenze di acquisizione e controllo delle misure, nonché la loro analisi e presentazione. Durante le misure è infatti possibile eseguire operazioni come integrali, derivate, operazioni logiche ed altro ancora. Inoltre, si possono includere software di altre società, in caso di particolari esigenze. LabView include un ampio supporto per l'interfacciamento (seriale, USB, GPIB) a vari dispositivi, come strumenti o telecamere.

L'ambiente di sviluppo

In LabVIEW i programmi sono chiamati Virtual Instruments ("VI"); hanno un aspetto simile a veri e propri strumenti scientifici, multimetri, oscilloscopi, etc. Creando un nuovo programma si aprono due finestre, un pannello frontale, attraverso il quale l'utente accede alle funzioni del programma e alla visualizzazione delle impostazioni, nonché dei dati acquisiti in tempo reale, e un diagramma a blocchi, che riassume la relativa sequenza delle operazioni. Il software include inoltre un compilatore che produce il codice nativo per la piattaforma CPU, in cui il codice grafico viene convertito in codice macchina eseguibile basato su LLVM (Low Level Virtual Machine), un'infrastruttura che ottimizza programmi in fase di compilazione. L'esecuzione del programma è controllata dal motore run-time di LabVIEW, che contiene il codice precompilato per eseguire le comuni attività definite dal linguaggio G. Questo motore è quello che governa il flusso di esecuzione e fornisce un'interfaccia coerente a vari sistemi operativi, grafici e componenti hardware.

Il pannello frontale

Il pannello frontale è l'interfaccia che verrà utilizzata dall'utente. In Figura 2 potete vederne un esempio.

Figura 2: pannello frontale di una applicazione per il monitoraggio della temperatura

Selezionando sul pannello frontale View >> Controls Palette o cliccando col tasto destro su uno spazio vuoto sulla finestra front panel, si può accedere alla casella che contiene i controlli e gli indicatori per creare il pannello frontale, appunto. Questa finestra può essere suddivisa in diverse categorie, visualizzabili secondo l'esigenza. In questa maniera si crea il pannello frontale contenente controlli ed indicatori, cioè i terminali di ingresso ed uscita del nostro VI. Avremo controlli come pulsanti e manopole, mentre indicatori come grafici e LED. Mentre i controlli forniscono dati al nostro diagramma a blocchi, gli indicatori visualizzano i dati che il diagramma acquisisce o genera.

I dati numerici possono essere rappresentati in diverse maniere, ma generalmente gli oggetti più usati sono il controllo numerico e l'indicatore. Per inserire o modificare i valori si possono utilizzare gli strumenti Operating o Labeling. I dati booleani rappresentano solo variabili TRUE o FALSE oppure ON/OFF. Gli oggetti con valori booleani simulano pulsanti, interruttori e LED. Le sequenze di caratteri ASCII indicano i controlli stringa; questi controlli servono per ricevere testo o per mostrarlo. Oggetti di questo tipo sono tabelle e caselle di testo. Una volta costruito il pannello frontale, si possono aggiungere simboli grafici che rappresentano le funzioni di controllo degli oggetti e che sono il codice sorgente grafico di LabView.

Il diagramma a blocchi

Nei diagrammi a blocchi abbiamo terminali, sub-programmi, funzioni, strutture e tutti quegli oggetti che trasferiscono dati. Ne vediamo un esempio in Figura 3.

Figura 3: esempio di diagramma a blocchi

I terminali rappresentano gli oggetti del pannello frontale e sono le porte di ingresso e uscita che scambiano informazioni tra il diagramma a blocchi e il pannello frontale; in pratica sono parametri e costanti dei linguaggi testuali. Questi oggetti comprendono controlli, indicatori e nodi e si possono vedere senza o con la visualizzazione a icona. I dati del pannello frontale passano attraverso il terminale di controllo e successivamente nelle funzioni Add e Subtract, che producono nuovi valori dei dati, inviati ai terminali indicatori. Gli ingressi e le uscite del diagramma a blocchi sono rappresentati da controlli, indicatori e costanti.

I nodi effettuano le operazioni (funzioni, sub-programmi o strutture) quando un programma è in esecuzione; rappresentano dichiarazioni, operatori e funzioni nei linguaggi testuali. Le strutture rappresentano gli elementi di controllo del processo, mentre le funzioni sono gli elementi operativi. Come già detto, Add e Subtract sono funzioni; questo tipo di nodi non hanno corrispondenza nel pannello frontale o nel diagramma a blocchi, ma hanno un loro pannello connector. I sub-programmi sono invece VI disponibili sulla palette Functions. Ogni programma può essere utilizzato come sub-programma, quindi è facilmente testabile prima dell'inserimento in una certa routine. Per utilizzare un VI in questa maniera bisogna costruire un connector pane; si tratta di un insieme di terminali che corrispondono a controlli e indicatori del programma che ci interessa, e ai parametri di chiamata di funzione nei linguaggi testuali. Tipi particolari di sub-programmi sono gli Espress VI; si tratta di nodi che sono configurati con finestre di dialogo e sono utilizzati per task di misura comuni. Quindi, la palette Functions contiene i programmi, le funzioni e le costanti per creare il diagramma a blocchi. Sono presenti diverse categorie, visualizzabili a seconda delle esigenze ed è personalizzabile. È possibile localizzare funzioni, controlli e programmi sulle palette anche tramite la funzione Search.

Svantaggi

I programmi LabVIEW sono più lenti del corrispettivo codice C, sebbene l'ottimizzazione del programma spesso consenta di mitigare i problemi con la velocità di esecuzione. Poiché il linguaggio G è non testuale, strumenti come il controllo delle versioni, il confronto affiancato o il rilevamento delle modifiche del codice non possono essere applicati alla stessa maniera del linguaggio di programmazione testuale. Tuttavia, sono presenti alcuni strumenti aggiuntivi per confrontare e fondere il codice con strumenti di controllo del codice sorgente.

Software correlati

La National Instruments offre anche un prodotto chiamato Measurement Studio; si tratta di un set di componenti di test e misurazione che si integra nell'ambiente Microsoft Visual Studio. Ciò consente agli sviluppatori di sfruttare alcuni dei punti di forza di LabVIEW in una rete basata su testo. Come alternativa per i programmatori ANSI C è disponibile anche LabWindows/CVI, un ambiente di programmazione testuale che utilizza le stesse librerie e moduli di acquisizione dati di LabVIEW. Quando le applicazioni necessitano di sequenziamento, si può utilizzare il software di gestione dei test TestStand, sempre della National Instruments. Per lo scripting si può incorporare l'interprete Ch per linguaggio C/C++. ModeFRONTIER, un ambiente di progettazione e ottimizzazione multidisciplinare, ha un nodo diretto con LabVIEW che gli consente l'accoppiamento a quasi tutti gli strumenti di ingegneria.

Un esempio di VI

Può fare molto comodo, soprattutto se ancora non si ha molta praticità con questo genere di programmazione, cominciare modificando il codice di un esempio secondo le proprie esigenze. LabVIEW ha la funzione Example Finder, che permette di cercare o visionare numerosi esempi, già installati nel software. Sul sito della National Instruments sono presenti molti altri esempi che includono il codice NI per lo sviluppo delle applicazioni e sono scaricabili gratuitamente. In questa sezione vedremo come è possibile realizzare un cardiofrequenzimetro; il programma raccoglie dati da una fotoresistenza per identificare e contare i picchi per una determinata frequenza cardiaca. [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2057 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend