Einstein sosteneva che le idee fossero “la cosa più reale che esista al mondo”. E allora perché non seguirne il flusso per progettare sistemi di controllo, test e misura? È possibile con LabVIEW, il software per la progettazione di sistemi di National Instruments che, usando icone, terminali e collegamenti al posto di caratteri e stringhe, consente a ingegneri, progettisti e sviluppatori di programmare come pensano, in modo rapido e produttivo. LabVIEW include strumenti basati sulla configurazione e funzioni di programmazione avanzate per lo sviluppo di applicazioni di controllo, test e misura con interfacce utente professionali. L'ambiente di programmazione grafica, le librerie integrate di funzioni software e interfacce hardware, le funzioni di analisi, visualizzazione e condivisione hanno un unico obiettivo: consentire all'utente di fare di più in meno tempo.
LabVIEW è un ambiente di sviluppo globale in grado di offrire integrazione senza precedenti con l'hardware e compatibilità ad ampio raggio, elementi fondamentali per progettare e sviluppare sistemi di misura e controllo. Gli ingegneri che hanno la necessità di connettersi ai segnali del mondo reale trovano in LabVIEW uno strumento ideale, perché, oltre a essere il più avanzato ambiente di progettazione di sistemi, diverso dai tradizionali strumenti di programmazione basati su testo, è una piattaforma aperta che consente di continuare a usare i codici di progetti precedenti e di integrare componenti.
Nelle applicazioni di misura e controllo gli ingegneri spesso non hanno il tempo per riscrivere e aggiornare il software per stare al passo con i progressi dell'hardware di calcolo e di misura e dei sistemi operativi: è per loro più importante capire come acquisire, manipolare e presentare i dati, che non inventare metodi per gestire allocazioni di memoria e pool di thread. Con LabVIEW, ciò è fattibile, perché offre la possibilità di sviluppare, mantenere, supportare e testare librerie in modo nativo.
A fare la differenza in LabVIEW è il linguaggio G, che consente una rappresentazione visiva di hardware, dati e algoritmi e può essere combinato con matematica basata su testo, HDL (Hardware Description Language), diagrammi di simulazione e assemblaggi pre-compilati scritti in C, C++ o C#.
Multithreaded e orientato agli oggetti, il linguaggio G offre performance di alto livello e la flessibilità necessaria per eseguire lo stesso codice su una varietà di target differenti, inclusi sistemi operativi su desktop multipli, sistemi in real-time e FPGA. Il linguaggio G segue il modello del dataflow, nel quale, a differenza di quanto accade con i linguaggi di programmazione di tipo sequenziale, l'ordine di esecuzione delle operazioni è determinato dal flusso dei dati: una funzione o nodo del diagramma a blocchi è eseguita quando tutti i suoi input sono disponibili. Quando un nodo completa la sua esecuzione, genera dei dati che, tramite i suoi terminali di uscita, passano al nodo successivo.
La maggior parte delle librerie di LabVIEW è scritta in C o C++, linguaggi relativamente di basso livello: il linguaggio C costringe a prendere in considerazione e a specificare anche i più piccoli dettagli, come le assegnazioni di memoria e i thread, e può essere usato per eliminare l'overhead nella maggior parte delle implementazioni di livello superiore. Operazioni come file I/O e di analisi sono più veloci in LabVIEW perché sono in C, ossia ottimizzate per ogni tipo di piattaforma e sistema operativo supportato da LabVIEW.
LabVIEW è più di un semplice linguaggio di programmazione e librerie associate. Quando si utilizza l'ambiente di sviluppo integrato (IDE - Integrated Development Environment) di LabVIEW con hardware NI di terze parti, si ottiene un'esperienza di sviluppo completa: il software gestisce le risorse hardware disponibili e presenta i canali I/O e target di esecuzione come menu a tendina ed elementi di progetto. Inoltre, esso consente di prevenire le configurazioni errate durante l'editing, per evitare errori di run time difficili da localizzare e correggere.
Abbinato a un hardware di misura di nuova generazione (come ad esempio il ricetrasmettitore di segnali vettoriale NI PXIe-5644R), LabVIEW ne ridefinisce il firmware per raggiungere prestazioni che i tradizionali linguaggi di programmazione non possono offrire.
Quando si utilizza LabVIEW, i driver hardware restituiscono i dati nello stesso formato di quello utilizzato dalle librerie di analisi e i widget dell'interfaccia utente visualizzano i dati nello stesso formato di quello prodotto dalle librerie stesse, eliminando così la necessità di combinare insieme i componenti.
