LabVIEW

Da Wikipedia, l'enciclopedia libera.
LabVIEW
Sviluppatore National Instruments
Ultima versione 2013 (2013)
Sistema operativo Microsoft Windows
Mac OS X
Linux
Genere Integrated development environment
Licenza Proprietario
(Licenza chiusa)
Lingua Cinese (semplificato), coreano, francese, giapponese, inglese, tedesco
Sito web http://www.ni.com/labview/i/

LabVIEW (abbreviazione di Laboratory Virtual Instrumentation Engineering Workbench) è l'ambiente di sviluppo integrato per il linguaggio di programmazione visuale di National Instruments. Tale linguaggio grafico viene chiamato Linguaggio G.

Originalmente realizzato per Apple Macintosh nel 1986, LabVIEW viene utilizzato principalmente per acquisizione e analisi dati, controllo di processi, generazione di rapporti, o più generalmente per tutto ciò che concerne l'automazione industriale su diverse piattaforme come Windows, Linux, Mac OS, e controllori National Instruments.

Programmazione G[modifica | modifica wikitesto]

Il linguaggio di programmazione usato in LabVIEW si distingue dai linguaggi tradizionali perché grafico, e per questa ragione battezzato G-Language (Graphic Language). Un programma o sottoprogramma G, denominato VI (Virtual Instrument), non esiste sotto forma di testo, ma può essere salvato solo come un file binario, visualizzabile e compilabile solo da LabVIEW.

La definizione di strutture dati ed algoritmi avviene con icone e altri oggetti grafici, ognuno dei quali incapsula funzioni diverse, uniti da linee di collegamento (wire), in modo da formare una sorta di diagramma di flusso. Tale linguaggio viene definito dataflow (flusso di dati) in quanto la sequenza di esecuzione è definita e rappresentata dal flusso dei dati stessi attraverso i fili monodirezionali che collegano i blocchi funzionali. Poiché i dati possono anche scorrere in parallelo attraverso blocchi e fili non consecutivi, il linguaggio realizza spontaneamente il multithreading senza bisogno di esplicita gestione da parte del programmatore.

Successo[modifica | modifica wikitesto]

La semplicità di programmazione (abbastanza intuitiva in quanto modellata su un diagramma di flusso), la semplicità di utilizzo (l'utente finale dispone di uno strumento virtuale disegnato sullo schermo del computer) e la grande versatilità, hanno reso LabVIEW molto impiegato e diffuso nell'ambito dell'acquisizione dei dati e nel loro controllo nei processi industriali, nonché nel campo della ricerca scientifica (tramite LabView sono gestiti i sistemi DAQ degli acceleratori di particelle)

È determinante anche la velocità di realizzazione del software, che si limita spesso al semplice collegamento di blocchi già pronti, grazie alla vasta libreria di funzioni predefinite e driver per la gestione dell'hardware. LabVIEW è completamente integrato per la comunicazione con l'hardware di tipo IEEE 488, VXI, PXI, RS-232, RS-485 e dispositivi DAQ plug-in. I programmi LabVIEW sono pienamente compatibili con tutti i modelli dei più importanti costruttori di strumenti programmabili e schede di acquisizione.

Dettagli dei VI[modifica | modifica wikitesto]

Un semplice VI che calcola la lunghezza dell'ipotenusa di un triangolo rettangolo. Sono visibili il pannello frontale (in alto) e il diagramma a blocchi (in basso)

Nell'ambiente di sviluppo, i VI constano di tre componenti principali:

  • il pannello frontale
  • lo schema a blocchi
  • il riquadro connettori

Pannello frontale[modifica | modifica wikitesto]

Il pannello frontale è l'interfaccia utente del VI. Si realizza con controlli e indicatori, che costituiscono i terminali interattivi d'ingresso e d'uscita, rispettivamente. Sono ben più numerosi e complessi dei widget normalmente forniti dal sistema operativo. I controlli sono matrici, manopole, potenziometri, pulsanti, quadranti e molti altri; simulano i dispositivi d'ingresso degli strumenti e forniscono dati allo schema a blocchi del VI. Gli indicatori sono grafici, tabelle, LED, termometri e molti altri; simulano i dispositivi d'uscita degli strumenti e visualizzano i dati che lo schema a blocchi acquisisce o genera.

Schema a blocchi[modifica | modifica wikitesto]

Lo schema a blocchi è il diagramma di flusso che rappresenta il codice sorgente in formato grafico. Gli oggetti del pannello frontale appaiono come terminali di ingresso o uscita nello schema a blocchi. Gli oggetti dello schema a blocchi comprendono:

Le funzioni sono chiamate esse stesse VI, anche se non hanno un loro pannello frontale e un loro schema a blocchi. Possono avere un numero indefinito di ingressi e di uscite come ogni VI.

Le strutture eseguono il controllo di flusso di base. Ad esempio il ciclo FOR è rappresentato da un contenitore quadrato, che ripete N volte la porzione di schema a blocchi che si trova al suo interno.

I fili di collegamento possono trasportare teoricamente qualunque mole di dati di qualunque tipo, anche aggregati (bundle) definiti dal programmatore. Il colore e lo spessore del filo cambiano di conseguenza per permetterne una facile identificazione. Ad esempio gli interi scorrono su fili blu e le stringhe su fili rosa.

Lo schema a blocchi può essere reso visibile anche durante l'esecuzione, cosa molto utile in fase di debug, in quanto a richiesta si può visualizzare con un'animazione al rallentatore il movimento dei dati lungo i fili e il loro valore momentaneo.

Riquadro connettori[modifica | modifica wikitesto]

Ogni VI può essere a sua volta utilizzato come subVI (o sottoVI) e comparire all'interno dello schema a blocchi di altri VI, proprio come una qualsiasi funzione, e come tale può avere ingressi e uscite a cui collegare le linee di flusso. Il riquadro connettori serve appunto a definire qual è l'aspetto del VI quando appare come subVI in uno schema a blocchi: che facciata ha l'icona, ma soprattutto come e dove vanno collegate le linee per permettere il passaggio dei dati. In generale con pochi click ogni controllo può essere associato a un ingresso e ogni indicatore può essere associato a un'uscita.

Eseguibili[modifica | modifica wikitesto]

A partire dai VI si possono anche creare eseguibili a sé stanti e librerie condivise (DLL), perché LabVIEW è un vero compilatore a 32 bit. Per usare tali eseguibili e DLL non occorre un'installazione di LabVIEW, ma è necessario che sul computer di destinazione sia installato almeno il run-time engine di LabVIEW, peraltro distribuito gratuitamente.

Storia[modifica | modifica wikitesto]

Il progetto LabVIEW nasce nel 1983 dalla necessità della National Instruments di disporre di un software grafico, con il quale testare rapidamente gli apparati hardware prodotti da tale industria statunitense.

Già nel 1986 è resa pubblica la versione 1 del software compatibile con i sistemi Macintosh. Nel gennaio del 1990 viene pubblicata la versione 2, le migliorie sul software rendono la velocità di esecuzione del VI paragonabile ai programmi compilati in Ansi C. Il mese successivo in virtù dell'innovatività dell'approccio grafico alla programmazione, viene pubblicato il brevetto dal US Patent Office. Infine nel settembre 1992 ne viene sviluppata una versione multipiattaforma, cioè per Microsoft Windows, Mac OS e SunOS. In seguito venne supportato anche Linux.

La versione 8.0, pubblicata nel 2005, introduce per la prima volta anche il supporto per la programmazione a oggetti. Il 4 agosto 2009 è stata pubblicata la versione LabVIEW 2009, a 32 o 64-bit, che succede alla versione 8.6. L'ultima versione distribuita è LabVIEW 2013[1].

Note[modifica | modifica wikitesto]

  1. ^ Novità di LabVIEW 2011 - Scopri le nuove funzioni di LabVIEW 2011 - National Instruments

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]