LabVIEW: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
modifica template
Ensahequ (discussione | contributi)
correggo link
 
(27 versioni intermedie di 17 utenti non mostrate)
Riga 5:
|Didascalia =
|Sviluppatore = [[National Instruments]]
|UltimaVersione = 20192023 Q3
|DataUltimaVersione = 18 luglio 2023<ref>{{cita web|https://www.ni.com/it-it/support/downloads/software-products/download.labview.html|LabVIEW Download}}</ref>
|DataUltimaVersione = maggio 2019
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
Riga 22:
'''LabVIEW''' (abbreviazione di '''Lab'''oratory '''V'''irtual '''I'''nstrumentation '''E'''ngineering '''W'''orkbench) è l'[[ambiente di sviluppo integrato]] per il [[linguaggio di programmazione]] visuale di [[National Instruments]]. Tale linguaggio grafico viene chiamato ''Linguaggio G''.
 
Realizzato originariamente per [[Macintosh|Apple Macintosh]] nel [[1986]], LabVIEW viene principalmente utilizzato per programmi di acquisizione e analisi dati, controllo di processi, generazione di rapporti, o più generalmente per tutto ciò che concerne l'[[Automazione|automazione industriale]], su diverse piattaforme come [[Microsoft Windows|Windows]], [[Linux]], [[Mac OSmacOS]] e [[ProgrammableControllore logiclogico controllerprogrammabile|controllori]] National Instruments.
 
== Programmazione G ==
Il linguaggio di programmazione usato in LabVIEW si distingue dai linguaggi tradizionali perché la sua [[Sintassi (informatica)|sintassi]] non è scritta ma grafica, e per questa ragione viene chiamato G-Language (Graphic Language). Un programma o sottoprogramma G, denominato '''VI''' (Virtual Instrument), non esiste sotto forma di [[file di testo|testo]], ma può essere salvato solo come un [[file binario]] che può essere aperto e compilato solo da LabVIEW.
 
La definizione di strutture dati ed [[algoritmo|algoritmi]] avviene con [[icona (informatica)|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]]. Questo tipo di 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 può realizzare spontaneamente il [[multithreading]] senza bisogno di esplicita gestione da parte del programmatore.
 
== Collegamento con l'hardware ==
Interessante è la modalità 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 è predisposto per la comunicazione con l'hardware di tipo [[IEEE 488]], [[VXI]], [[PXI]], [[EIA RS-232|RS-232]], [[EIA RS-485|RS-485]] e dispositivi [[Acquisizione dati|DAQ]] [[plugin (informatica)|plug-in]]. I programmi LabVIEW sono compatibili con molti modelli di strumenti programmabili e schede di acquisizione.
 
== Dettagli dei VI ==
Riga 40:
 
=== Pannello frontale ===
Il pannello frontale è l'[[GUIInterfaccia grafica|interfaccia utente]] del VI. Si realizza con ''controlli'' e ''indicatori'', che costituiscono i terminali interattivi d'ingresso e d'uscita, rispettivamente. Essi sono ben più numerosi e complessi dei [[widget (informatica)|widget]] normalmente forniti dal sistema operativo.
I controlli sono [[matrice|matrici]], manopole, [[potenziometro|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]], [[termometro|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 ===
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:
* terminali
* [[funzione (informatica)|funzioni]]
Riga 56:
Le funzioni sono esse stesse dei 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 [[iterazioneCiclo (informatica)|ciclo FOR]] FOR è rappresentato da un rettangolo che ripete N volte la porzione di schema a blocchi che viene inserita al suo interno.
 
I fili di collegamento possono trasportare teoricamente qualunque mole di dati di qualunque [[tipo di dato|tipo]], anche [[Struttura dati|aggregati]] (''bundle'') definiti dal programmatore. I fili possono essere di diverso spessore e colore per permettere una facile identificazione dei dati che vi scorrono: ad esempio i [[numero intero|numeri interi]] scorrono su fili blu, i [[numero decimale|numeri decimali]] su fili arancioni le [[Stringa (informatica)|stringhe]] su fili rosa.
 
Lo schema a blocchi può essere reso visibile anche durante l'esecuzione, cosa molto utile in fase di [[Debugging|debug]], in quanto esiste la possibilità di visualizzare con un'animazione al rallentatore il movimento dei dati lungo i fili e il loro valore momentaneo.
 
=== Riquadro connettori ===
Riga 67:
 
=== Eseguibili ===
A partire dai VI si possono anche creare [[file eseguibile|eseguibili]] a sé stanti e librerie condivise ([[Dynamic-link library|DLL]]), perché LabVIEW è un vero [[compilatore]] a [[32 bit]]. Per utilizzare 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 ==
Il progetto LabVIEW nasce nel [[1983]] dalla necessità della National Instruments di disporre di un software di programmazione grafica, 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 [[C (linguaggio)|Ansi C]]. Il mese successivo in virtù dell'innovatività dell'approccio grafico alla programmazione, viene pubblicato il [[brevetto]] dal [[United States Patent and Trademark Office|US Patent Office]]. Infine nel settembre [[1992]] ne viene sviluppata una versione [[multipiattaforma]], cioè per [[Microsoft Windows]], [[macOS|Mac OS]] e [[Oracle Solaris|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 orientata agli oggetti|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 2018''2020.
{| class="wikitable" style="font-size: 90%; text-align: left; "
!Versione
!Numero di build
!Data
|-
|Inizio del progetto
|LabVIEW project begins
|
|Aprilaprile 1983
|-
|LabVIEW 1.0 (forper Macintosh)
|??
|Octoberottobre 1986
|-
|LabVIEW 2.0
|??
|Januarygennaio 1990
|-
|LabVIEW 2.5 (firstprima releaseversione forper Sun & Windows)
|??
|Augustagosto 1992
|-
|LabVIEW 3.0 (Multiplatform)
|??
|Julyluglio 1993
|-
|LabVIEW 3.0.1 (firstprima releaseversione forper Windows NT)
|??
|1994
|-
|LabVIEW 3.1
|??
|1994
|-
|LabVIEW 3.1.1 (firstprima releaseversione withcon abilità di "application builder" ability)
|??
|1995
|-
|LabVIEW 4.0
|??
|Aprilaprile 1996
|-
|LabVIEW 4.1
|??
|1997
|-
|LabVIEW 5.0
|??
|Februaryfebbraio 1998
|-
|LabVIEW RT (Real Time)
|??
|Maymaggio 1999
|-
|LabVIEW 6.0 (6i)
|6.0.0.4005
|26 Julyluglio 2000
|-
|LabVIEW 6.1
|6.1.0.4004
|12 Aprilaprile 2001
|-
|LabVIEW 7.0 (Express)
|7.0.0.4000
|Aprilaprile 2003
|-
|Prima versione del LabVIEW PDA module first released
|??
|Maymaggio 2003
|-
|Prima versione del LabVIEW FPGA module first released
|??
|Junegiugno 2003
|-
|LabVIEW 7.1
Riga 152:
|2004
|-
|Prima versione del LabVIEW Embedded module first released
|??
|Maymaggio 2005
|-
|LabVIEW 8.0
|8.0.0.4005
|Septembersettembre 2005
|-
|LabVIEW 8.20 (nativeprogrammazione Objectobject-oriented Oriented Programmingnativa)
|??
|Augustagosto 2006
|-
|LabVIEW 8.2.1
|8.2.1.4002
|21 Februaryfebbraio 2007
|-
|LabVIEW 8.5
Riga 174:
|LabVIEW 8.6
|8.6.0.4001
|24 Julyluglio 2008
|-
|LabVIEW 8.6.1
|8.6.0.4001
|10 Decemberdicembre 2008
|-
|LabVIEW 2009 (32 ande 64-bit)
|9.0.0.4022
|4 Augustagosto 2009
|-
|LabVIEW 2009 SP1
|9.0.1.4011
|8 Januarygennaio 2010
|-
|LabVIEW 2010
|10.0.0.4032
|4 Augustagosto 2010
|-
|LabVIEW 2010 f2
|10.0.0.4033
|16 Septembersettembre 2010
|-
|LabVIEW 2010 SP1
|10.0.1.4004
|17 Maymaggio 2011
|-
|LabVIEW for LEGO MINDSTORMS (2010 SP1 withcon somequalche modulesmodulo)
|
|Augustagosto 2011
|-
|LabVIEW 2011
|11.0.0.4029
|22 Junegiugno 2011
|-
|LabVIEW 2011 SP1
|11.0.1.4015
|1º Marchmarzo 2012
|-
|LabVIEW 2012
|12.0.0.4029
|Augustagosto 2012
|-
|LabVIEW 2012 SP1
|12.0.1.4013
|Decemberdicembre 2012
|-
|LabVIEW 2013
|13.0.0.4047
|Augustagosto 2013
|-
|LabVIEW 2013 SP1
|13.0.1.4017
|Marchmarzo 2014<ref>{{citecita web|url=http://www.ni.com/white-paper/5920/en/|titletitolo=What's New in NI Developer Suite - National Instruments|authorurlmorto=|date=|website=www.ni.com|deadurl=no|archiveurlurlarchivio=https://web.archive.org/web/20140331131311/http://www.ni.com/white-paper/5920/en/|archivedateaccesso=2014-03-3123 maggio 2019|dfdataarchivio=31 marzo 2014}}</ref>
|-
|LabVIEW 2014
|14.0
|Augustagosto 2014
|-
|LabVIEW 2014 SP1
|14.0.1.4008
|Marchmarzo 2015
|-
|LabVIEW 2015
|15.0f2
|Augustagosto 2015
|-
|LabVIEW 2015 SP1
|15.0.1f1
|Marchmarzo 2016
|-
|LabVIEW 2016
|16.0.0
|Augustagosto 2016
|-
|LabVIEW 2017
|17.0f1
|Maymaggio 2017
|-
|LabVIEW 2017 SP1
|17.0.1f1
|Jangennaio 2018 <ref>{{CiteCita web|url=http://www.ni.com/product-documentation/54421/en/|titletitolo=LabVIEW 2017 SP1 Patch Details - National Instruments|website=www.ni.com|access-date=2018-05-28}}</ref>
|-
|LabVIEW 2018
|18.0
|Maymaggio 2018
|-
|LabVIEW 2018 SP1
|18.0.1
|Decdicembre 2018
|-
|LabVIEW 2019
|19.0
|May15 maggio 2019
|-
|LabVIEW project2019 beginsSP1
|19.0.1
|28 ottobre 2019
|-
|LabVIEW 2020
|20.0
|15 maggio 2020
|-
|LabVIEW 2020 SP1
|20.0.1
|8 gennaio 2021
|-
|LabVIEW 2021
|
|13 luglio 2021
|-
|LabVIEW 2021 SP1
|
|16 febbraio 2022
|-
|LabVIEW 2022 Q3
|
|23 luglio 2022
|}
 
Line 277 ⟶ 301:
== Collegamenti esterni ==
* {{cita web|http://www.ni.com/labview/i/|Sito ufficiale National Instruments}}
* {{cita web | 1 = http://www.ilvg.it/ | 2 = ILVG, comunità italiana di utenti LabVIEW | accesso = 24 novembre 2006 | dataarchivio = 14 agosto 2013 | urlarchivio = https://web.archive.org/web/20130814014950/http://www.ilvg.it/ | urlmorto = sì }}
 
{{Portale|informatica}}