LabVIEW: Difference between revisions

Content deleted Content added
Repositories and libraries: Fixed LAVA CR link
Citation bot (talk | contribs)
Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 500/990
 
(558 intermediate revisions by more than 100 users not shown)
Line 1:
{{Short description|System-design platform and development environment}}
{{Infobox_Software
{{third-party|date=May 2015}}
| name = LabVIEW
{{Infobox Software
| logo = [[Image:Labview-logo.png|right|300px|LabVIEW logo.]]
| name = LabVIEW
| screenshot =
| logo = LabVIEW Logo.jpg
| caption =
| screenshot =
| developer = [[National Instruments]]
| caption =
| latest_release_version = 2009
| developer = [[National Instruments]]
| latest_release_date = {{release date|2009|08|04}}
| released = {{Start date and age|1986|df=yes}}
| operating_system = [[Cross-platform]]: [http://ni.com/labview/requirements Windows, Mac OS X, Linux]
| latest release version = LabVIEW NXG 5.1<br/>LabVIEW 2024 Q3
| genre = [[Data acquisition|Data Acquisition]], [[Instrument control|Instrument Control]], [[Test automation|Test Automation]], [[Signal processing|Analysis and Signal Processing]], [[Industrial Control Systems|Industrial Control]], [[Embedded|Embedded Design]]
| latest release date = {{Start date and age|2024|07}}
| license = [[Proprietary software|Proprietary]]
| operating system = [[Cross-platform]]: [[Microsoft Windows|Windows]], [[macOS]], [[Linux]]
| website = [http://www.ni.com/labview/ ni.com/labview]
| genre = [[Data acquisition]], [[instrument control]], [[test automation]], analysis and [[signal processing]], [[Industrial control system|industrial control]], [[embedded system]] design
| license = [[Proprietary software|Proprietary]]
| website = {{URL|https://www.ni.com/labview}}
| programming language = [[C (programming language)|C]], [[C++]], [[C Sharp (programming language)|C#]]
}}
'''Laboratory Virtual Instrument Engineering Workbench''' ('''LabVIEW''')<ref name=kring2006>{{Cite book|title=LabVIEW for everyone : graphical programming made easy and fun.|last=Jeffrey.|first=Travis|date=2006|publisher=Prentice Hall|others=Kring, Jim.|isbn=0131856723|edition=3rd|___location=Upper Saddle River, NJ|oclc=67361308}}</ref>{{rp|3}} is a graphical ''system design and development'' ''platform'' produced and distributed by [[National Instruments]], based on a programming environment that uses a [[visual programming language]]. It is widely used for [[data acquisition]], [[instrument control]], and industrial [[automation]]. It provides tools for designing and deploying complex test and measurement systems.<ref name="schneiderman">{{cite web |last=Schneiderman |first=Rob |date=October 21, 2002 |title=James Truchard and Jeff Kodosky: Turning PCs into Virtual Instruments |url=http://www.elecdesign.com/Articles/Index.cfm?AD=1&ArticleID=2860 |url-status=dead |archive-url=https://archive.today/20110811014341/http://www.elecdesign.com/Articles/Index.cfm?AD=1&ArticleID=2860 |archive-date=August 11, 2011 |access-date=2007-03-02 |publisher=Electronics Design}}</ref>
'''LabVIEW''' (short for Laboratory Virtual Instrumentation Engineering Workbench) is a platform and development environment for a [[visual programming language]] from [[National Instruments]].
 
The graphical language is named "G". Originally released for the [[Apple Macintosh]] in 1986, LabVIEW is commonly used for [[data acquisition]], [[instrument control]], and [[Automation|industrial automation]] on a variety of platforms including [[Microsoft Windows]], various flavors of [[Unix|UNIX]], [[Linux]], and [[Mac OS X]]. The latest version of LabVIEW is version LabVIEW 2009, released in August 2009.
The visual (aka graphical) programming language is called "G" (not to be confused with [[G-code]]). It is a dataflow language originally developed by National Instruments.<ref>{{cite book|title=Software synthesis from dataflow models for G and LabVIEW|date=November 1998 |volume=2 |pages=1705–1709 vol.2 |doi=10.1109/ACSSC.1998.751616|s2cid=7150314}}</ref> LabVIEW is supported on a variety of [[operating system]]s (OSs), including [[macOS]] and other versions of [[Unix]] and [[Linux]], as well as [[Microsoft Windows]].
 
The latest versions of LabVIEW are LabVIEW 2024 Q3 (released in July 2024) and LabVIEW NXG 5.1 (released in January 2021).<ref>{{cite web|title=Upgrade LabVIEW|url=https://www.ni.com/en-us/shop/labview/upgrade.html|website=Forums|publisher=National Instruments}}</ref> National Instruments released the free for non-commercial use LabVIEW and LabVIEW NXG Community editions on April 28, 2020.<ref>{{Cite web|url=https://www.businesswire.com/news/home/20200428005266/en/NI-Releases-Free-Editions-Flagship-Software-LabVIEW|title=NI Releases Free Editions of Flagship Software: LabVIEW|date=2020-04-28|website=www.businesswire.com|language=en|access-date=2020-04-28}}</ref>
 
== Dataflow programming ==
The programming languageparadigm used in the LabVIEW, also"G" referredlanguage tois asbased G,on data availability. If there is enough data available to a [[dataflowfunction, programming]]it languagewill execute. ExecutionThe execution flow is determined by the structure of a graphical block diagram (the LVLabVIEW-source code) on which the programmer connectsplaces different function-''nodes'' and connects them by drawing ''wires''. TheseA node can be a ''control'', ''indicator'', ''structure'', ''function,'' or recursively, ''another block diagram''. An example of a simple four-node block diagram is two controls and an indicator wired to the addition function, causing the indicator to display the sum of the two controls. The wires connecting nodes propagate data as variables, and any node can execute as soon as all its input variables (data) become available. Since this might be the case for multiple nodes simultaneously, GLabVIEW iscan inherentlyconceptually capableexecute ofin parallel.<ref executionname=bress2013>{{cite book|last1=Bress|first1=Thomas J.|title=Effective LabVIEW Programming|date=2013|publisher=NTS Press|___location=[S.l.]|isbn=978-1-934891-08-7}}</ref>{{rp|1–2}} [[Multi-processing]] and [[Thread (computer science)|multi-threading]] hardware is automatically exploited automatically by the built-in scheduler, which [[multiplexing|multiplexes]] multiple [[Operating System|OS]] threads over the nodes ready for execution.
 
== Graphical programming ==
[[File:Labview code example.png|thumb|An example of Labview code]]
LabVIEW ties the creation of user interfaces (called front panels) into the development cycle. LabVIEW programs/subroutines are called virtual instruments (VIs). Each VI has three components: a block diagram, a front panel, and a connector panel. The last is used to represent the VI in the block diagrams of other, calling VIs. Controls and indicators on the front panel allow an operator to input data into or extract data from a running virtual instrument. However, the front panel can also serve as a programmatic interface. Thus a virtual instrument can either be run as a program, with the front panel serving as a user interface, or, when dropped as a node onto the block diagram, the front panel defines the inputs and outputs for the given node through the connector pane. This implies each VI can be easily tested before being embedded as a subroutine into a larger program.
LabVIEW integrates the creation of user interfaces (termed front panels) into the program development cycle. LabVIEW programs are collections of one or more ''virtual instruments'' (VIs). Each VI has three components, a ''front panel'', ''back panel'', and ''connector panel'', all composed of nodes and wires represented graphically to the user. The ''front panel'' is built using controls and indicators. Controls are inputs, they allow a user to supply information to the VI. Indicators are outputs, they indicate or display the results based on the inputs given to the VI. The ''back panel'' consists of a ''block diagram'' containing the graphical source code. All of the objects placed on the front panel will appear in the back panel block diagram as terminals. The block diagram also contains structures and functions, chosen from a Functions palette, which perform operations on controls and supply data to indicators. The ''connector panel'' has terminals whose wires go to or come from nodes in the front and back panels, and is used to represent the VI within the back panel of upstream (calling) VIs and downstream (called) VIs to which it might be connected.
 
There are two ways to run a VI. It can be run by itself as a program, with the front panel serving as a user interface. Alternatively, it can be treated as a node that is dropped onto the block diagram of another VI and wired to its nodes through the connector panel. In that case it runs as a subroutine within a larger program, and the front panel controls the inputs and outputs of the VI node. Thus, each VI can be easily tested as a stand-alone program before being embedded as a subroutine into a larger program.
The graphical approach also allows non-programmers to build programs by dragging and dropping virtual representations of lab equipment with which they are already familiar. The LabVIEW programming environment, with the included examples and the documentation, makes it simple to create small applications. This is a benefit on one side, but there is also a certain danger of underestimating the expertise needed for good quality "G" programming. For complex algorithms or large-scale code, it is important that the programmer possess an extensive knowledge of the special LabVIEW syntax and the topology of its memory management. The most advanced LabVIEW development systems offer the possibility of building stand-alone applications. Furthermore, it is possible to create distributed applications, which communicate by a client/server scheme, and are therefore easier to implement due to the inherently parallel nature of ''G''-code.
 
The "G" graphical approach allows non-programmers to easily build programs by dragging and dropping virtual representations of lab equipment with which they are already familiar. The LabVIEW programming environment includes examples and documentation to guide and simplify the creation of small applications. As with all introductory programming guides, the ease of construction of working "G" programs may cause the programmer to underestimate the expertise needed for high-quality "G" programming. For complex algorithms or large-scale code, a programmer must possess extensive knowledge of the special LabVIEW syntax and the topology of its memory management. The most advanced LabVIEW development systems offer the ability to build stand-alone applications. Furthermore, it is possible to create distributed applications that communicate using a simple [[client–server model]] which takes advantage of the inherently parallel nature of "G".
Below an illustration of a simple LabVIEW program showing the dataflow source code in the form of the block diagram in the lower left frame and the input and output variables as graphical objects in the upper right frame. The two are the essential components of a LabVIEW program referred to as a Virtual Instrument VI.
 
== Common application design patterns ==
[[File:WikipediaFPandBD.png]]
Applications in LabVIEW are typically designed using well-known architectures{{citation needed|date=November 2021}} known as [[design pattern]]s. The most common design patterns for graphical LabVIEW applications are listed in the table below.
{| class="wikitable"
|+Common design patterns for LabVIEW applications
!Design pattern
!Purpose
!Implementation details
!Use cases
!Limitations
|-
|Functional Global Variable
|Exchange information without using global variables
|A shift register of a [[while loop]] is used to store the data and the while loop runs only one iteration in a "non-reentrant" virtual instrument (VI)
|Exchange information with less wiring
|All owning virtual instruments (VIs) are kept in memory.
|-
|State machine<ref>{{cite web |url=http://www.ni.com/white-paper/3024/en/ |title=Application Design Patterns: State Machines |date=8 September 2011 |website=National Instruments whitepapers |accessdate=21 September 2017 |url-status=live |archiveurl= https://web.archive.org/web/20170922002635/http://www.ni.com/white-paper/3024/en/ |archivedate=22 September 2017}}</ref>
|Controlled execution that depends on past events
|[[Switch statement|Case structure]] inside a while loop passes an [[Enumerated type|enumerated variable]] to a shift register, representing the next state; complex state machines can be designed using the Statechart module
|User interfaces,
complex logic,
communication protocols
|All possible states must be known in advance.
|-
|Event-driven user interface
|Lossless processing of user actions
|GUI events are captured by an event structure queue, inside a while loop; the while loop is suspended by the event structure and resumes only when the desired events are captured
|Graphical user interface
|Only one event structure in a loop.
|-
|Master-slave<ref>{{cite web |url=http://www.ni.com/white-paper/3022/en/ |title=Application Design Patterns: Master/Slave |date=7 October 2015 |website=National Instruments whitepapers |accessdate=21 September 2017 |url-status=live |archiveurl= https://web.archive.org/web/20170922002540/http://www.ni.com/white-paper/3022/en/ |archivedate=22 September 2017 }}</ref>
|Run independent processes simultaneously
|Several parallel while loops, one of which functions as the "master", controlling the "slave" loops
|A simple GUI for data acquisition and visualization
|Attention to and prevention of [[race condition]]s is required.
|-
|Producer-consumer<ref>{{cite web |url=http://www.ni.com/white-paper/3023/en/ |title=Application Design Patterns: Producer/Consumer |author=<!--Not stated--> |date=24 August 2016 |website=National Instruments whitepapers |access-date=21 September 2017 |url-status=live |archive-url=https://web.archive.org/web/20170922002635/http://www.ni.com/white-paper/3023/en/ |archive-date=22 September 2017 }}</ref>
|Asynchronous or multithreaded execution of loops
|A master loop controls the execution of two slave loops, that communicate using notifiers, queues and semaphores; data-independent loops are automatically executed in separate threads
|Data sampling and visualization
|Order of execution is not obvious to control.
|-
|Queued state machine with event-driven producer-consumer
|Highly responsive user-interface for multithreaded applications
|An event-driven user interface is placed inside the producer loop and a state machine is placed inside the consumer loop, communicating using queues between themselves and other parallel VIs
|Complex applications
|
|}
 
== BenefitsFeatures and Resources ==
{{Advert section|date=July 2022}}
One benefit of LabVIEW over other development environments is the extensive support for accessing instrumentation hardware. Drivers and abstraction layers for many different types of instruments and buses are included or are available for inclusion. These present themselves as graphical nodes. The abstraction layers offer standard software interfaces to communicate with hardware devices. The provided driver interfaces save program development time. The sales pitch of National Instruments is, therefore, that even people with limited coding experience can write programs and deploy test solutions in a reduced time frame when compared to more conventional or competing systems. A new hardware driver topology (DAQmxBase), which consists mainly of G-coded components with only a few register calls through NI Measurement Hardware DDK (Driver Development Kit) functions, provides platform independent hardware access to numerous data acquisition and instrumentation devices. The DAQmxBase driver is available for LabVIEW on Windows, Mac OS X and Linux platforms.
=== Interfacing to devices ===
LabVIEW includes extensive support for interfacing to instruments, cameras, and other devices. Users interface to hardware by either writing direct bus commands (USB, GPIB, Serial) or using high-level, device-specific drivers that provide native "G" function nodes for controlling the device. National Instruments makes thousands of device drivers available for download on their ''Instrument Driver Network'' (IDNet).<ref>{{cite web |title=3rd Party Instrument Drivers - National Instruments |url=http://www.ni.com/downloads/instrument-drivers/ |url-status=live |archive-url=https://web.archive.org/web/20141128134304/http://www.ni.com/downloads/instrument-drivers/ |archive-date=2014-11-28 |website=www.ni.com}}</ref>
 
LabVIEW has built-in support for other National Instruments products, such as the [[CompactDAQ]] and [[CompactRIO]] hardware platforms and ''Measurement and Automation eXplorer'' (MAX) and ''Virtual Instrument Software Architecture'' (VISA) toolsets.
In terms of performance, LabVIEW includes a [[compiler]] that produces native code for the CPU platform. The graphical code is translated into executable machine code by interpreting the syntax and by compilation. The LabVIEW syntax is strictly enforced during the editing process and compiled into the executable machine code when requested to run or upon saving. In the latter case, the executable and the source code are merged into a single file. The executable runs with the help of the LabVIEW [[Run-time system|run-time]] engine, which contains some precompiled code to perform common tasks that are defined by the G language. The run-time engine reduces compile time and also provides a consistent interface to various operating systems, graphic systems, hardware components, etc. The run-time environment makes the code portable across platforms. Generally, LV code can be slower than equivalent compiled C code, although the differences often lie more with program optimization than inherent execution speed.
 
=== Code compiling and execution ===
Many [[Library (computing)|libraries]] with a large number of functions for data acquisition, signal generation, mathematics, statistics, signal conditioning, analysis, etc., along with numerous graphical interface elements are provided in several LabVIEW package options. The number of advanced mathematic blocks for functions such as integration, filters, and other specialized capabilities usually associated with data capture from hardware sensors is immense. In addition, LabVIEW includes a text-based programming component called MathScript with additional functionality for signal processing, analysis and mathematics. MathScript can be integrated with graphical programming using "script nodes" and uses a syntax that is generally compatible with [[MATLAB]].
LabVIEW includes a [[compiler]] that translates "G" code into native code for supported CPU platforms. The graphical code is converted into Dataflow Intermediate Representation, and then translated into chunks of executable [[machine code]] by a compiler based on [[LLVM]]. These code chunks are called by the "G" [[Run-time system|run-time]] engine, providing for fast, high-performance native execution of the graphical code. The LabVIEW syntax is strictly enforced during the editing process, and when "G" code is run or saved, the compiler is automatically invoked. "G" code is saved to a single binary file that contains both the source and executable code. Execution is controlled by the run-time engine, which contains some pre-compiled code to perform common tasks defined in the "G" language. The run-time engine manages execution flow, and provides a consistent interface to supported operating systems, graphic systems and hardware components. The use of a portable run-time environment makes the source code files portable across supported platforms. LabVIEW programs are slower than equivalent compiled C code, although it is often possible to mitigate speed issues with program optimizations.<ref>{{cite web|url=https://www.ni.com/pl-pl/support/documentation/supplemental/10/ni-labview-compiler--under-the-hood.html#section-1599648034|title=NI LabVIEW Compiler: Under the Hood|date=4 February 2020|website=ni.com}}</ref>
 
=== Large libraries ===
The fully modular character of LabVIEW code allows code reuse without modifications: as long as the data types of input and output are consistent, two sub VIs are interchangeable.
LabVIEW includes a large number of [[Library (computing)|libraries]] containing functions for data acquisition, signal generation, mathematics, statistics, signal conditioning, analysis, integration, filtering, and other specialized abilities such as data capture from hardware sensors. In addition, it includes ''MathScript'', a text-based programming component with built-in functions for signal processing, analysis, and mathematics. MathScript can be integrated with graphical programming using ''script nodes'' and uses a syntax that is generally compatible with [[MATLAB]].<ref>{{cite web|title=LabVIEW MathScript RT Module|url=http://www.ni.com/labview/mathscript/|website=www.ni.com|url-status=live|archive-url=https://web.archive.org/web/20160805161725/http://www.ni.com/labview/mathscript/|archive-date=2016-08-05}}</ref>
 
=== Parallel programming ===
The LabVIEW Professional Development System allows creating stand-alone executables and the resultant executable can be distributed an unlimited number of times. The run-time engine and its libraries can be provided freely along with the executable.
LabVIEW is an inherently [[concurrent language]], so it is very easy to program multiple tasks that are performed in parallel via multithreading, for example by drawing two or more parallel while loops and connecting them to two separate nodes. This provides a great benefit for test system automation, where it is common practice to run processes like test sequencing, data recording, and hardware interfacing in parallel.
 
=== Ecosystem ===
A benefit of the LabVIEW environment is the platform independent nature of the G code, which is (with the exception of a few platform-specific functions) portable between the different LabVIEW systems for different operating systems (Windows, Mac OS X and Linux). National Instruments is increasingly focusing on the capability of deploying LabVIEW code onto an increasing number of targets including devices like [[Phar Lap (company)|Phar Lap]] or [[VxWorks]] OS based LabVIEW Real-Time controllers, [[FPGA]]s, PocketPCs, PDAs, and [[Wireless sensor network]] nodes.
Due to the longevity and popularity of the LabVIEW platform and the ability for users to extend its functions, a large ecosystem of third-party add-ons has developed via contributions from the community. Most of these add-ons are available for direct download and installation into LabVIEW using the VI Package Manager (VIPM),<ref>{{Cite web|url=https://www.vipm.io/desktop|title=VIPM Desktop|website=www.vipm.io|access-date=2023-06-09}}</ref> the official package manager for LabVIEW add-ons. National Instruments also hosts a marketplace for both free and paid LabVIEW add-ons, called the ''NI Tools Network''.
 
=== User community ===
There is a low cost LabVIEW Student Edition aimed at educational institutions for learning purposes. There is also an active community of LabVIEW users who communicate through several e-mail groups and [[Internet forum]]s.
There is a low-cost LabVIEW Student Edition aimed at educational institutions for learning purposes. There is also an active community of LabVIEW users who communicate through several [[electronic mailing list]]s (email groups) and [[Internet forum]]s.
 
===Home Bundle Edition===
==Criticism==
National Instruments provides a low cost LabVIEW Home Bundle Edition.<ref>{{cite web|url=http://sine.ni.com/nips/cds/view/p/lang/en/nid/213095|title=LabVIEW Home Bundle for Windows - National Instruments|website=sine.ni.com|url-status=live|archive-url=https://web.archive.org/web/20160704163634/http://sine.ni.com/nips/cds/view/p/lang/en/nid/213095|archive-date=2016-07-04}}</ref>
LabVIEW is a [[proprietary software|proprietary]] product of [[National Instruments]]. Unlike common programming languages such as [[C Programming Language|C]] or [[FORTRAN]], LabVIEW is not managed or specified by a third=party standards committee such as [[American National Standards Institute|ANSI]].
 
=== Community Edition ===
As of version 8, all LabVIEW installations on Windows computers require customers to contact National Instruments by Internet or phone to "activate" the product. Macintosh and Linux users are not subject to this requirement.<ref name="Activation FAQ">{{cite news |url=http://www.ni.com/support/licensing/licensefaq.htm
National Instruments provides a free-for-non-commercial use version called LabVIEW Community Edition.<ref>{{Cite web|url=https://www.ni.com/en-us/shop/labview/select-edition/labview-community-edition.html|title=LabVIEW Community Edition - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref> This version includes everything in the Professional Editions of LabVIEW, has no watermarks, and includes the LabVIEW NXG Web Module for non-commercial use. These editions may also be used by K-12 schools.<ref>{{Cite web|url=https://www.ni.com/en-us/support/documentation/supplemental/20/labview-community-edition-usage-details.html|title=LabVIEW Community Edition Usage Details - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref>
|publisher=National Instruments |title=Product Activation FAQ}}</ref>
 
== Criticism ==
Building a stand-alone application with LabVIEW requires the Application Builder component which is included with the Professional Development System but requires a separate purchase if using the Base Package or Full Development System.<ref name="Building a Stand-Alone Application">{{cite news |url= http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/building_a_stand_alone_app/ | publisher=National Instruments |title= Building a Stand-Alone Application }}</ref> Compiled [[executable]]s produced by the Application Builder are not truly standalone in that they also require that the LabVIEW run-time engine be installed on any target computer on which users run the application.<ref name="Using the LabVIEW Run-Time Engine">{{cite news |url= http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/using_the_lv_run_time_eng/ | publisher=National Instruments |title= Using the LabVIEW Run-Time Engine }}</ref> The use of standard controls requires a [[runtime library]] for any language and all major operating system suppliers supply the required libraries for common languages such as C. However, the runtime required for LabVIEW is not supplied with any operating system and is required to be specifically installed by the administrator or user. This requirement can cause problems if an application is distributed to a user who may be prepared to run the application but does not have the inclination or permission to install additional files on the host system prior to running the executable.
LabVIEW is a [[proprietary software|proprietary]] product of National Instruments. Unlike common programming languages such as [[C Programming Language|C]] or [[Fortran]], LabVIEW is not managed or standardized by any third-party standards committee.
 
=== Non-textual ===
According to the [[National Instruments]] [[license agreement]] an executable build with LabVIEW should contain a note that the software is written in LabVIEW.
Since the "G" language is non-textual, common software tools such as versioning, side-by-side (or diff) comparison, and version code change tracking cannot be applied in the same manner as for textual programming languages. There are, however, some source code control (versioning) tools that do enable code comparison and merging, such as subversion, CVS and Perforce.<ref>{{cite web |title=Thinking in G » Top 5 bad excuses for not using source code control |url=http://thinkinging.com/2007/06/17/top-5-bad-excuses-for-not-using-source-code-control/ |url-status=live |archive-url=https://web.archive.org/web/20161028215453/http://thinkinging.com/2007/06/17/top-5-bad-excuses-for-not-using-source-code-control/ |archive-date=2016-10-28 |access-date=2016-10-28}}</ref><ref>{{cite web |title=Software Configuration Management and LabVIEW - National Instruments |url=http://www.ni.com/white-paper/4114/en/ |url-status=live |archive-url=https://web.archive.org/web/20161029043345/http://www.ni.com/white-paper/4114/en/ |archive-date=2016-10-29 |website=www.ni.com}}</ref><ref>{{cite web |title=Configuring LabVIEW Source Code Control (SCC) for use with Team Foundation Server (TFS) - National Instruments |url=http://www.ni.com/tutorial/14304/en/ |url-status=live |archive-url=https://web.archive.org/web/20161028215645/http://www.ni.com/tutorial/14304/en/ |archive-date=2016-10-28 |website=www.ni.com}}</ref>
 
== Release history ==
<pre>(1.) You include the following copyright notice "Copyright © [insert year] National Instruments Corporation.
In 2005, starting with LabVIEW 8.0, major versions are released around the first week of August, to coincide with the annual National Instruments conference NI Week, and followed by a bug-fix release the following February.
All Rights Reserved." in (a) the Authorized Application′s About Box (if applicable) and (b)(i) any
applicable written documentation or, (ii) if no such documentation exists, in a "read me" or other .txt file
distributed with each copy of the Authorized Application (you may include your own copyright notice
with the notice(s) required above);</pre><ref>http://www.ni.com/pdf/legal/us/software_license_agreement.pdf</ref>,
There is some debate as to whether LabVIEW is really a general purpose programming language (or in some cases whether it is really a programming language at all) as opposed to an application-specific development environment for measurement and automation.<ref>[http://zone.ni.com/devzone/cda/tut/p/id/5313 Is LabVIEW a general purpose programming language?]</ref> Critics point to a lack of features, common in most other programming languages, such as, until version 2009, native [[recursion]] and, until version 8.20, object oriented features.
 
In 2009, National Instruments began naming releases after the year in which they are released. A bug-fix is termed a Service Pack, for example, the 2009 service pack 1 was released in February 2010.
Also, for an environment heavily targeted for test, LabVIEW includes no built-in functions for formally testing limits, reading a limits file, and conveniently tracking the passing or failing results. Companies tend to build their own proprietary functions for this basic feature if they choose not to use TestStand.
 
In 2017, National Instruments moved the annual conference to May and released LabVIEW 2017 alongside a completely redesigned LabVIEW NXG 1.0 built on Windows Presentation Foundation (WPF).
Support for non Windows platforms, especially for drivers, tends to be poor and does not lend itself to general purpose data acquisition, for instance, through VIs which require lengthy initialisation making it difficult to support scripts and external APIs.
{| class="wikitable" style="font-size: 90%; text-align: left; "
 
|-
While it is easy to produce seemingly parallel code, it is difficult for beginners to control this at a fine-grained level making multi-interface systems unwieldy and unreliable. The detailed complexity of such systems is often hidden and inaccessible or obfuscated by the top-level design, making procedural events across devices difficult to manage.
! Name and version !! Build number !! Date !! Notes
 
|-
== Timing System ==
| LabVIEW project begins
LabVIEW uses the January 1, 1904 [[Epoch (reference date)]] as its "zero" time. Other programs that use the January 1, 1904 epoch are [[Apple Inc.]]'s [[Mac OS]] through version 9, [[Palm OS]], [[MP4]], Microsoft Excel (optionally)[13]
|
 
| April 1983
== Release history ==
|-
{| border="1" cellpadding="3" cellspacing="0"
|- LabVIEW 1.0
|
! Name/Version !! Build Number !! Date
| October 1986 || for Macintosh
|-
|-
| LabView 1.0 (for Macintosh)
| LabVIEW 2.0
| ??
|
| 1986
| January 1990
|-
|-
| LabView 2.0
| LabVIEW 2.5
| ??
|
| 1990
| August 1992 || first release for Sun{{which|date=March 2021}} and Windows
|-
|-
| LabView (for Sun & Windows)
| LabVIEW 3.0
| ??
|
| 1992
| July 1993 || Multiplatform
|-
|-
| LabView (Multiplatform)
| LabVIEW 3.0.1
| ??
|
| 1993
| 1994 || first release for Windows NT
|-
|-
| LabView 4.0
| LabVIEW 3.1
| ??
|
| 1994
|-
| LabVIEW 3.1.1
|
| 1995 || first release with "application builder" ability
|-
| LabVIEW 4.0
|
| April 1996
|-
| LabVIEW 4.1
|
| 1997
|-
| LabViewLabVIEW 5.0
| ??
| February 1998
|-
| LabVIEW RT
| LabView Real-Time
| ??
| May 1999 || Real-time
|-
| LabViewLabVIEW 6.0 (6i)
| 6.0.0.4005
| ??
| 26 July 2000
|-
| LabVIEW 6.1
| LabView 7 Express
| 6.1.0.4004
| ??
| 12 April 2001
| 2003
|-
| LabVIEW 7.0 (Express)
| LabView 8
| 7.0.0.4000
| ??
| April 2003
| 2005
|-
| LabVIEW PDA module
| LabView 8.20
| ??
| May 2003 || first release of the module
| 2006
|-
| LabVIEW FPGA module
| LabView 8.5
| R?
| June 2003 || first release
| 2/19/2008
|-
| LabVIEW 7.1
| 7.1.0.4000
| 2004
|-
| LabVIEW Embedded module
|
| May 2005 || first release
|-
| LabVIEW 8.0
| 8.0.0.4005
| September 2005
|-
| LabVIEW 8.20
|
| August 2006 || native object-oriented programming
|-
| LabVIEW 8.2.1
| 8.2.1.4002
| 21 February 2007
|-
| LabVIEW 8.5
| 8.5.0.4002
| 2007
|-
| LabVIEW 8.6
| 8.6.0.4001
| 7/24/ July 2008
|-
| LabVIEW 2009 (32 and 64-bit)8.6.1
| 8.6.0.4001
| 10 December 2008
|-
| LabVIEW 2009
| 9.0.0.4022
| 4 August 2009 || 32-bit and 64-bit
| 8/4/2009
|-
| LabVIEW 2009 SP1
| 9.0.1.4011
| 8 January 2010
|-
| LabVIEW 2010
| 10.0.0.4032
| 4 August 2010
|-
| LabVIEW 2010 f2
| 10.0.0.4033
| 16 September 2010
|-
| LabVIEW 2010 SP1
| 10.0.1.4004
| 17 May 2011
|-
| LabVIEW for LEGO MINDSTORMS
|
| August 2011 || 2010 SP1 with some modules
|-
| LabVIEW 2011
| 11.0.0.4029
| 22 June 2011
|-
| LabVIEW 2011 SP1
| 11.0.1.4015
| 1 March 2012
|-
| LabVIEW 2012
| 12.0.0.4029
| August 2012
|-
| LabVIEW 2012 SP1
| 12.0.1.4013
| December 2012
|-
| LabVIEW 2013
| 13.0.0.4047
| August 2013
|-
| LabVIEW 2013 SP1
| 13.0.1.4017
| March 2014<ref>{{cite web|url=http://www.ni.com/white-paper/5920/en/|title=What's New in NI Developer Suite - National Instruments|website=www.ni.com|url-status=dead|archive-url=https://web.archive.org/web/20140331131311/http://www.ni.com/white-paper/5920/en/|archive-date=2014-03-31|access-date=2014-03-31}}</ref>
|-
| LabVIEW 2014
| 14.0
| August 2014
|-
| LabVIEW 2014 SP1
| 14.0.1.4008
| March 2015
|-
|LabVIEW 2015
|15.0f2
|August 2015
|-
|LabVIEW 2015 SP1
|15.0.1f1
|March 2016
|-
|LabVIEW 2016
|16.0.0
|August 2016
|-
|LabVIEW 2017
|17.0f1
|May 2017
|-
|LabVIEW NXG 1.0
|1.0.0
|May 2017
|-
|LabVIEW 2017 SP1
|17.0.1f1
|Jan 2018<ref>{{Cite web|url=http://www.ni.com/product-documentation/54421/en/|title=LabVIEW 2017 SP1 Patch Details - National Instruments|website=www.ni.com|access-date=2018-05-28}}</ref>
|-
|LabVIEW NXG 2.0
|2.0.0
|Jan 2018<ref>{{Cite web|url=http://www.ni.com/pdf/manuals/376808c.html|title=LabVIEW NXG 2.0 Readme - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref>
|-
|LabVIEW 2018
|18.0
|May 2018
|-
|LabVIEW NXG 2.1
|2.1.0
|May 2018<ref>{{Cite web|url=http://www.ni.com/pdf/manuals/376808d.html|title=LabVIEW NXG 2.1 Readme - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref>
|-
|LabVIEW 2018 SP1
|18.0.1
|Sep 2018<ref>{{Cite web|url=https://www.ni.com/pdf/manuals/374715k.html|title=LabVIEW 2018 SP1 Readme for Windows - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref>
|-
|LabVIEW NXG 3.0
|3.0.0
|Nov 2018<ref>{{Cite web|url=http://www.ni.com/pdf/manuals/376808e.html|title=LabVIEW NXG 3.0 Readme - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref>
|-
|LabVIEW 2019
|19.0
|May 2019
|-
|LabVIEW NXG 3.1
|3.1.0
|May 2019<ref>{{Cite web|url=http://www.ni.com/pdf/manuals/376808f.html|title=LabVIEW NXG 3.1 Readme - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref>
|-
|LabVIEW 2019 SP1
|19.0.1
|Nov 2019
|-
|LabVIEW NXG 4.0
|4.0.0
|Nov 2019<ref>{{Cite web|url=http://www.ni.com/pdf/manuals/376808g.html|title=LabVIEW NXG 4.0 Readme - National Instruments|website=www.ni.com|access-date=2020-04-28}}</ref>
|-
|LabVIEW 2020 and<br/>LabVIEW NXG 5.0 Community Edition
|
|April 2020<ref>{{Cite web|url=https://www.businesswire.com/news/home/20200428005266/en/NI-Releases-Free-Editions-Flagship-Software-LabVIEW|title=NI Releases Free Editions of Flagship Software: LabVIEW|date=2020-04-28|website=www.businesswire.com|language=en|access-date=2020-04-28}}</ref>
| first releases
|-
|LabVIEW 2021
|21.0
|August 2021
|-
|LabVIEW 2022 Q3
|22.3
|July 2022
|-
|LabVIEW 2023 Q1
|23.1
|January 2023
|-
|LabVIEW 2023 Q3
|23.3
|July 2023
|-
|LabVIEW 2024 Q1
|24.1
|January 2024
|-
|LabVIEW 2024 Q3
|24.3
|July 2024
|-
|LabVIEW 2025 Q1
|25.1
|January 2025
|}
 
==Repositories and libraries==
[[OpenG]], as well as [http://lavag.org/files/?s=f7d4a4dd06e1aae1cfde6565ef190055and LAVA Code Repository (LAVAcr)], serve as repositories for a wide range of Open Source LabVIEW applications and [[Library (computing)|libraries]]. [[SourceForge]] has LabVIEW listed as one of the possible languages in which code can be written.
[[Sourceforge]] has LabVIEW listed as one of [https://sourceforge.net/search/?&fq%5B%5D=trove%3A545 the possible langauges] where code can be written in.
 
[[VI Package Manager]] has become the standard [[package manager]] for LabVIEW libraries. It is very similar in purpose to Ruby's [[RubyGems]] and Perl's [[CPAN]], although it provides a graphical user interface similar to the [[Synaptic Package Manager]]. VI Package Manager provides access to a repository of the OpenG (and other) libraries for LabVIEW.
 
Tools exist to convert [[MathML]] into "G" code.<ref>{{cite web|url=https://decibel.ni.com/content/docs/DOC-13859|title=Math Node - A new way to do math in LabVIEW|date=25 October 2010|website=ni.com|url-status=live|archive-url=https://web.archive.org/web/20110225172619/http://decibel.ni.com/content/docs/DOC-13859|archive-date=25 February 2011}}</ref>
 
==Related software==
National Instruments also offers a product called [http://www.ni.com/mstudio/ [Measurement Studio]], whicha product that offers many of the test, measurement, and control capabilitiesabilities of LabVIEW, as a set of classes for use with [[Microsoft]] [[Visual Studio]]. This allows developers to harness some of LabVIEW's strengths within the text-based [[.NET frameworkFramework]]. National Instruments also offers [http://www.ni.com/lwcvi/ [LabWindows/CVI]] as an alternative for ANSI C programmers.
 
When applications need sequencing, users often use LabVIEW with the National Instruments ''TestStand'' test management software.
The TRIL Centre Ireland offers the [http://biomobius.org/ BioMobius platform] as an alternate to LabVIEW which is free for research purposes.
 
The [[Ch interpreter]] is a [[C (programming language)|C]]/[[C++]] interpreter that can be embedded in LabVIEW for scripting.<ref name="chlabview">{{cite web|url=http://iel.ucdavis.edu/projects/chlabview/|title=Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting|website=iel.ucdavis.edu|url-status=live|archive-url=https://web.archive.org/web/20110515065700/http://iel.ucdavis.edu/projects/chlabview/|archive-date=2011-05-15}}</ref>
[[FlowStone DSP]] is an alternative to LabView.
 
DSP Robotics' FlowStone DSP also uses a form of graphical programming similar to LabVIEW but is limited to the robotics industry.
 
LabVIEW has a direct node with [[modeFRONTIER]], a multidisciplinary and multi-objective optimization and design environment, written to allow coupling to almost any [[computer-aided engineering]] tool. Both can be part of the same process workflow description and can be virtually driven by the optimization technologies available in modeFRONTIER.
 
== See also ==
* [[Comparison of numerical-analysis software]]
* [[Dataflow programming]]
* [[GraphicalFourth-generation programming language]]
* [[Visual programming language]]
* [[Graphical system design]]
 
;
;Related software titles
* [[Lego Mindstorms NXT]], whose programming environment NXT-G is based on LabVIEW and can be programmed within LabVIEW.
* [[20-sim]]
* [[LabWindows/CVI]]
* [[MATLAB]]/[[Simulink]]
* [[Virtual instrumentation]]
* [[CompactDAQ]]
* [[Comparison of numerical analysis software]]
* [[CompactRIO]]
* [[Fourth-generation programming language]]
* [[TOMVIEW]]
* [[Lego Mindstorms|Lego Mindstorms NXT]], whose programming environment is based on LabVIEW.
 
;
;Free and open-source packages
* [[PWCT]] &mdash; GPL license
* [[DRAKON]] &mdash; public ___domain, with some open-source components
 
== References ==
{{Reflist}}
 
==Further reading==
== Further reading ==
* Peter A. Blume: ''The LabVIEW Style Book'', February 27 2007, Prentice Hall. Part of the National Instruments Virtual Instrumentation Series series. ISBN 0-13-145835-3
* {{cite book|last1=Bress|first1=Thomas J.|title=Effective LabVIEW Programming|date=2013|publisher=NTS Press|___location=[S.l.]|isbn=978-1-934891-08-7}}
* Jeffrey Travis, Jim Kring: ''LabVIEW for Everyone: Graphical Programming Made Easy and Fun, 3rd Edition'', July 27 2006, Prentice Hall. Part of the National Instruments Virtual Instrumentation Series. ISBN 0-13-185672-3
* {{cite book|last1=Blume|first1=Peter A.|title=The LabVIEW Style Book|date=2007|publisher=Prentice Hall|___location=Upper Saddle River, NJ|isbn=978-0-13-145835-2}}
===Articles about specific applications of LabVIEW===
* {{cite book|last1=Travis|first1=Jeffrey|last2=Kring|first2=Jim|title=LabVIEW for Everyone : Graphical Programming Made Easy and Fun.|date=2006|publisher=Prentice Hall|___location=Upper Saddle River, NJ|isbn=0-13-185672-3|edition=3rd}}
* {{cite book|last1=Conway|first1=Jon|last2=Watts|first2=Steve|title=A Software Engineering Approach to LabVIEW|date=2003|publisher=Prentice Hall PTR|___location=Upper Saddle River, NJ|isbn=0-13-009365-3}}
* {{cite book|last1=Olansen|first1=Jon B.|last2=Rosow|first2=Eric|title=Virtual Bio-Instrumentation : Biomedical, Clinical, and Healthcare Applications in LabVIEW|date=2002|publisher=Prentice Hall PTR|___location=Upper Saddle River, NJ|isbn=0-13-065216-4}}
* {{cite book|last1=Beyon|first1=Jeffrey Y.|title=LabVIEW Programming, Data Acquisition and Analysis|date=2001|publisher=Prentice Hall PTR|___location=Upper Saddle River, NJ|isbn=0-13-030367-4}}
* {{cite book|last1=Travis|first1=Jeffrey|title=Internet Applications In LabVIEW|date=2000|publisher=Prentice Hall PTR|___location=Upper Saddle River, NJ|isbn=0-13-014144-5}}
* {{cite book|last1=Essick|first1=John|title=Advanced LabVIEW Labs|date=1999|publisher=Prentice Hall|___location=Upper Saddle River, NJ|isbn=0-13-833949-X}}
 
=== Articles on specific uses ===
*{{cite journal
| lastlast1 = Desnica V, Schreiner M
| first =
| authorlink =
| coauthors =
| title = A LabVIEW-controlled portable x-ray fluorescence spectrometer for the analysis of art objects
| journal = X-Ray Spectrometry
| volume = 35
| issue = 5
| pages = 280–286
|date=October 2006
| publisher =
| month = October | year = 2006
| url = http://www3.interscience.wiley.com/cgi-bin/abstract/112748693/ABSTRACT
| archive-url = https://archive.today/20100818064910/http://www3.interscience.wiley.com/cgi-bin/abstract/112748693/ABSTRACT
| url-status = dead
| archive-date = 2010-08-18
| doi = 10.1002/xrs.906
| idfirst1 = Vladan
| accessdatelast2 = }}Schreiner
| first2 = Manfred| bibcode = 2006XRS....35..280D
| url-access = subscription
}}
*{{cite journal
| lastlast1 = Keleshis C, Ionita C, Rudin S
| first =
| authorlink =
| coauthors =
| title = Labview <nowiki>[sic]</nowiki> graphical user interface for micro angio-fluoroscopic high resolution detector
| journal = Medical Physics
| volume = 33
| issue = 6
| pages = 2007
| publisher date=June 2006
| month = June | year = 2006
| url = http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=MPHYA6000033000006002007000001&idtype=cvips&gifs=Yes
| doi = 10.1118/1.2240285
| idfirst1 = C.
| accessdatelast2 = }}Ionita
| first2 = C.
| last3 = Rudin
| first3 = S.| url-access = subscription
}}
*{{cite journal
| lastlast1 = Fedak W., Bord D., Smith C., Gawrych D., Lindeman K .
| title = Automation of the Franck-Hertz experiment and the Tel-X-Ometer x-ray machine using LABVIEW
| first =
| authorlink =
| coauthors =
| title = Automation of the Franck-Hertz experiment and the Tel-X-Ometer x-ray machine using LABVIEW
| journal = American Journal of Physics
| volume = 71
Line 202 ⟶ 473:
| pages = 501–506
| publisher = AAPT
| month date= May | year = 2003
| url = http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=AJPIAS000071000005000501000001&idtype=cvips&gifs=Yes
| doi = 10.1119/1.1527949
| idfirst1 = W.
| accessdatelast2 = }}Bord
| first2 = D.
| last3 = Smith
| first3 = C.
| last4 = Gawrych
| first4 = D.
| last5 = Lindeman
| first5 = K.| bibcode =2003AmJPh..71..501F
| url-access = subscription
}}
 
===Articles abouton usingeducation LabVIEW in educationuses===
*{{cite journal
| lastlast1 = Belletti A., Borromei R., Ingletto G .
| firstlast2 = Borromei
| authorlinkfirst2 = R.
| coauthorslast3 = Ingletto
| first3 = G.| title = Teaching physical chemistry experiments with a computer simulation by LabVIEW
| journal = Journal of Chemical Education
| volume = 83
Line 220 ⟶ 500:
| pages = 1353–1355
| publisher = ACS
| month date= September | year = 2006
| doi = 10.1021/ed083p1353
| url = http://jchemed.chem.wisc.edu/Journal/Issues/2006/Sep/abs1353.html
| first1 = A.| bibcode =2006JChEd..83.1353B
| doi =
}}
| id =
| accessdate = }}
*{{cite journal
| lastlast1 = Moriarty PJP.J., Gallagher BLB.L., Mellor CJC.J., Baines RR R.R.
| first =
| authorlink =
| coauthors =
| title = Graphical computing in the undergraduate laboratory: Teaching and interfacing with LabVIEW
| journal = American Journal of Physics
Line 236 ⟶ 512:
| pages = 1062–1074
| publisher = AAPT
| month date= October | year = 2003
| url = http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=AJPIAS000071000010001062000001&idtype=cvips&gifs=Yes
| doi = 10.1119/1.1582189
| idfirst1 = P. J.
| accessdatelast2 = }}Gallagher
| first2 = B. L.
| last3 = Mellor
| first3 = C. J.
| last4 = Baines
| first4 = R. R.| bibcode =2003AmJPh..71.1062M
| url-access = subscription
}}
*{{cite journal
| last = Lauterburg
| first = Urs
| authorlink =
| coauthors =
| title = LabVIEW in Physics Education
| journal = A whiteWhite paperPaper aboutAbout usingUsing LabVIEW in physicsPhysics demonstrationDemonstration and laboratoryLaboratory experimentsExperiments and simulationsSimulations.
| volume date=June 2001
| url = http://www.lauterburg.ch/UrsLPublications/LV-PhysicsWPPrint.pdf
| issue =
}}
| pages =
| publisher =
| month = June | year = 2001
| url = http://tycphysics.org/FL03_Sm04/LVLPMtS11_03/LV-PhysicsWPScreen.pdf
| doi =
| id =
| accessdate = |format=PDF}}
*{{cite journal
| lastlast1 = Drew SM
| first =
| authorlink =
| coauthors =
| title = Integration of National Instruments' LabVIEW software into the chemistry curriculum
| journal = Journal of Chemical Education
Line 268 ⟶ 540:
| pages = 1107–1111
| publisher = ACS
| month date= December | year = 1996
| doi = 10.1021/ed073p1107
| url = http://jchemed.chem.wisc.edu/Journal/Issues/1996/Dec/abs1107.html
| first1 = Steven M.| bibcode =1996JChEd..73.1107D
| doi =
}}
| id =
| accessdate = }}
*{{cite journal
| lastlast1 = Muyskens MA, Glass SV, Wietsma TW, Gray TM
| firstlast2 = Glass
| authorlinkfirst2 = Samuel V.
| coauthorslast3 = Wietsma
| first3 = Thomas W.
| title = Data acquisition in the chemistry laboratory using LabVIEW software
| last4 = Gray
| first4 = Terry M.| title = Data acquisition in the chemistry laboratory using LabVIEW software
| journal = Journal of Chemical Education
| volume = 73
Line 284 ⟶ 557:
| pages = 1112–1114
| publisher = ACS
| month date= December | year = 1996
| doi = 10.1021/ed073p1112
| url = http://jchemed.chem.wisc.edu/Journal/Issues/1996/Dec/abs1112.html
| first1 = Mark A.| bibcode =1996JChEd..73.1112M
| doi =
}}
| id =
| accessdate = }}
*{{cite journal
| lastlast1 = Ogren PJ, Jones TP
| firstlast2 = Jones
| first2 = Thomas P.| title = Laboratory interfacing using the LabVIEW software package
| authorlink =
| coauthors =
| title = Laboratory interfacing using the LabVIEW software package
| journal = Journal of Chemical Education
| volume = 73
Line 300 ⟶ 570:
| pages = 1115–1116
| publisher = ACS
| month date= December | year = 1996
| doi = 10.1021/ed073p1115
| url = http://jchemed.chem.wisc.edu/Journal/Issues/1996/Dec/abs1115.html
| first1 = Paul J.| bibcode =1996JChEd..73.1115O
| doi =
}}
| id =
| accessdate = }}
*{{cite journal
| last = Trevelyan
| first = J.P.
| authorlink =
| coauthors =
| title = 10 Years Experience with Remote Laboratories
| journal = International Conference on Engineering Education Research
| volume =
| issue =
| pages =
| publisher = ACS
| month date= June | year = 2004
| url = http://telerobot.mech.uwa.edu.au/Information/Trevelyan-INEER-2004.pdf
}}
|format=PDF| doi =
| id =
| accessdate = }}
 
== External links ==
* {{Official website|www.ni.com/labview}}{{Prone to spam|date=November 2018}}<!--
*[http://www2.rohde-schwarz.com/en/service_and_support/Downloads/Drivers/?driverType=LabVIEW&driverTypeButton=Go&query=# LabVIEW Drivers for R&S Instruments]
{{No more links}}
* [http://www.ni.com/labview/ Official Home Page] - The National Instruments web site for the LabVIEW product line.
 
** [http://zone.ni.com/reference/en-XX/help/371361B-01/ LabVIEW Help] - NI's entire set of online help documentation for LabVIEW 8.20.
Please be cautious adding more external links.
** [http://www.ni.com/labviewzone Official LabVIEW Community Home Page] - NI's "LabVIEW Zone" web site.
 
* [http://lavag.org/ LAVA (LabVIEW Advanced Virtual Architects)] - Independent community, with discussion forums and a code repository.
Wikipedia is not a collection of links and should not be used for advertising.
* [http://www.info-labview.org Info-LabVIEW] - A LabVIEW [[electronic mailing list]]
 
* [http://openg.org/ OpenG] - [[Open-source]] LabVIEW utilities.
Excessive or inappropriate links will be removed.
* [http://labviewwiki.org/ The LabVIEW Wiki] - A user editable LabVIEW knowledge base powered by [[MediaWiki]].
 
* [http://cnx.org/content/col10241/latest/ Free, online LabVIEW programming course] - This course was authored by NI, and is hosted by [[Connexions]].
See [[Wikipedia:External links]] and [[Wikipedia:Spam]] for details.
* [http://www.labviewportal.eu/ International multi-language (mostly Russian and German) forum and site dedicated to LabVIEW]
 
* [http://itpointed.com/ ITpointed LabVIEW Forum]
If there are already suitable links, propose additions or replacements on
* [http://wiljanden.com/videotutoriales-v/videotutoriales-labview-86-2009 wiljanden.com videotutoriales LabVIEW Creative Commons license (Spanish)]
the article's talk page.
-->
 
{{National Instruments}}
{{Numerical analysis software}}
 
{{DEFAULTSORT:Labview}}
[[Category:Cross-platform software]]
[[Category:Numerical analysis software for Linux]]
[[Category:Numerical analysis software for macOS]]
[[Category:Numerical analysis software for Windows]]
[[Category:Numerical programming languages]]
[[Category:Numerical software]]
[[Category:Pedagogic integrated development environments]]
[[Category:Software modeling language]]
[[Category:Synchronous programming languages]]
[[Category:Visual programming languages]]
[[Category:Numerical programmingProgramming languages supporting units of measure]]
[[Category:Linux numerical analysis software]]
[[Category:Cross-platform software]]
 
[[bg:LabVIEW]]
[[ca:LabVIEW]]
[[de:LabVIEW]]
[[es:LabVIEW]]
[[fa:لب‌ویو]]
[[fr:LabVIEW]]
[[hy:ԼաբՎԻՈՒ]]
[[id:LabVIEW]]
[[it:LabVIEW]]
[[he:LabVIEW]]
[[nl:LabVIEW]]
[[ja:LabVIEW]]
[[pl:LabVIEW]]
[[pt:LabVIEW]]
[[ro:LabVIEW]]
[[ru:LabVIEW]]
[[fi:LabVIEW]]
[[tr:Labview]]
[[vi:LabVIEW]]
[[zh:LabVIEW]]