Tra tutti i Linguaggi di Programmazione Visuali esistenti ed esistiti (sono oltre 100), LabVIEW è forse l’unico che si sia distaccato e che sia entrato nella top 50 dell’indice di popolarità dei linguaggi di programmazione TIOBE. LabVIEW nasce nel 1983 dalla necessità della National Instruments di testare i suoi prodotti Hardware ed oggi, con l’uscita della sua ultima versione LabVIEW 2017, puó essere definito un linguaggio universale in quanto è in grado di integrarsi, oltre che agli strumenti di proprietà della National Instruments, anche ad una vasta quantità di prodotti di terze parti. Inoltre possiede strumenti di progettazione di terze parti tra cui (solo per citarne alcuni) il software MATLAB, SolidWorks, Simulink ed anche strumenti per la compilazione di schede di tipo Arduino e Raspberry. Fornisce funzioni e driver per la connessione a reti e protocolli industriali, e possiede molti strumenti grafici per la creazioni di interfacce grafiche di tipo industriale e non.

Aree di Impiego e alcuni approfondimenti del linguaggio:

Le aree di impiego di LabVIEW sono molteplici grazie alla vasta libreria di funzioni e driver per la gestione e la comunicazione con la quasi totalitá dell’hardware esistente, per questo motivo puó essere facilmente integrato in qualsiasi ambiente professionale. Inoltre, grazie alla programmazione grafica, é in grado di accellerare i tempi di programmazione, semplificando l’integrazione hardware e permettendo quindi di acquisire e visualizzare rapidamente i dati da ogni tipo di dispositivo I/O.

Esempi aree di impiego:

  • Sistemi di controllo e monitoraggio embedded
  • Monitoraggio e controllo industriale
  • Monitoraggio condizioni macchina
  • Sviluppo di sistemi di test di produzione
  • Sistemi di misura con sensori e attuatori
  • Progettazione di sistemi di comunicazione wireless
  • Robotica e veicoli autonomi
  • Progettazione di applicativi ad interfaccia utente
  • Analisi ed elaborazione dati
  • Analisi ed elaborazione del segnale

Inoltre tra i suoi moduli di ampliamento vi sono:

  • Vision Development Module – Pensato per lo sviluppo di applicazioni di visione artificiale. Dispone delle funzioni per l’acquisizione, l’analisi e l’elaborazione di immagini. Viene usato spesso nel settore industriale per rilevare la presenza di oggetti, identificare le caratteristiche e per misurare parti e sezioni.
  • LabVIEW FPGA Module – Permette di lavorare con la tecnologia FPGA senza necessitare di profonde conoscenze di progettazione digitale hardware in quanto possiede gli strumenti per definire sistemi complessi in modo rapido, con l’aiuto di simulatori e funzioni di debug.
  • LabVIEW NI SoftMotion Module – Dispone di un ambiente di sviluppo grafico per la creazione di applicazioni in grado di gestire le impostazioni di movimentazione assi, di effettuare i test per la configurazione e regolare i motori per la loro integrazione.

 

Come funziona:

LabVIEW viene definito dai suoi creatori come linguaggio G (grafico) ed al contrario di quanto si possa pensare, pur non avendo una fase esplicita di compilazione, LabVIEW é un linguaggio compilato. In fase di sviluppo, il programmatore può modificare il codice e subito poi eseguirlo semplicemente cliccando sul “Run button” il quale eseguirà all’istante l’intero progetto senza dover attendere per la compilazione dello stesso.

Senza entrare molto nel dettaglio, di seguito verranno introdotti alcuni degli aspetti importanti che rendono il compilatore di LabVIEW altamente performante:

  • Algoritmo di propagazione dei tipi di dato – Gestisce il controllo dei tipi di dato e della loro “sintassi” identificando eventuali errori.
  • Clumping – Identificazione del parallelismo nei diagrammi raggrupandoli in nodi chiamati “clump” i quali vengono poi eseguiti in parallelo.
  • Inplacer – Algoritmo che riduce notevolmente le prestazioni di esecuzione, é in grado di allocare i dati che poi verranno riutilizzati durante l’esecuzione evitando inutili copie.
  • Linker – I Linker disegnano una mappa delle varie dipendenze che esistono tra i VI (Virtual Instruments) per poi poterli ricompilare.
  • GenAPI – Algoritmo per l’allocazione dei registri.
  • Data Flow Intermediate Representation (DFIR) – Tra le sue varie funzioni possiede gli algoritmi per l’eliminazione del codice morto o irragiungibile, il folding delle costanti e lo spostamento del codice loop-invariante.
  • LLVM – Dal 2010 LabVIEW ha implementato il framework compilatore open source LLVM – Low Level Virtual Machine utilizzato per la creazione di istruzioni macchina eseguibili in memoria.

Community:

Come ogni altro affermato linguaggio di programmazione, anche LabVIEW dispone di una community di utilizzatori che partecipano attivamente. Esistono molti forum sia ufficiali che non, dove poter aprire discussione e reperire materiale utile alla programmazione.

 

 

 

 

 

Sandro Fioravanti

Con ormai 15 anni di esperienza come sviluppatore software e tecnico informatico, ho avuto occasione di lavorare in diverse aree professionali come fabbriche metalmeccaniche, istituti di ricerca, società specializzate in automazione industriale, istituti di calibrazione e qualità ed anche, nel campo dei servizi, come sviluppatore di siti web e, nel campo artistico, come sviluppatore di applicazioni utili alla realizzazione di spettacoli teatrali. Questo mi ha permesso di ottenere un'ampia percezione riguardo le esigenze del cliente e le necessità dei diversi tipi di utenza. Conosco le tecniche utili all'infomatizzazione di hardware di vecchia e nuova generazione, e le materie atte all'amministrazione dei dati generati da sistemi di vario genere. Le mie aree di competenza vanno dall'automazione industriale alla creazione di applicazioni stand alone, quindi dallo studio degli automi a stati finiti fino alla realizzazione di soluzioni e-commerce per la vendita di prodotti online.
Share This