LabVIEW

From LabVIEW Wiki

Jump to: navigation, search
LabVIEW Logo Vertical 4c.jpg

Contents

What is LabVIEW?

LabVIEW is a fully featured programming language produced by National Instruments. It is a graphical language quite unique in the method by which code is constructed and saved. There is no text based code as such, but a diagrammatic view of how the data flows through the program. Thus LabVIEW is a much loved tool of the scientist and engineer who can often visualise data flow rather than how a text based conventional programming language must be built to achieve a task.

Language Overview

LabVIEW programs are called virtual instruments, or VIs, because their appearance and operation imitate physical instruments, such as oscilloscopes and multimeters. LabVIEW contains a comprehensive set of tools for acquiring analyzing, displaying, and storing data, as well as tools to help you troubleshoot your code.

LabVIEW VIs contain three components-the front panel, the block diagram, and the icon and connector pane.

In LabVIEW, you build a user interface, or front panel, with controls and indicators. Controls are knobs, push buttons, dials, and other input devices. Indicators are graphs, LEDs, and other displays. After you build the user interface, you add code using VIs and structures to control the front panel objects. The block diagram contains this code. In some ways, the block diagram resembles a flowchart.

You can use LabVIEW to communicate with hardware such as data acquisition, vision, and motion control devices, and GPIB, PXI, VXI, RS-232, and RS-484 devices. LabVIEW also has built-in features for connecting your application to the Web using the LabVIEW Web Server and software standards such as TCP/IP networking and ActiveX.

Using LabVIEW, you can create test and measurement, data acquisitions, instrument control, datalogging, measurement analysis, and report generation applications. You also can create stand-alone executables and shared libraries, like DLLs, because LabVIEW is a true 32-bit compiler.

Purchasing

LabVIEW is developed and sold by National Instruments. This is an American company with distribution via international offices and National Instruments Alliance members. For more details check out the National Instruments Web site

Versions

There are many versions of LabVIEW still in use, although the earlier versions are constrained to hard core dedicated enthusiasts. We have heard whispered mention of the use of Version 3 and there are many active Version 4's in circulation. More recent additions to the legacy software bin are versions 5.0, 5.1, 6.0i and 6.1, while the current version as of December 2007 is 8.5. In addition there are demo versions available from National Instruments, as well as a student versions of 5.0, 6.0 and 7.0 available from Prentice-Hall.

From version 6.0 onwards NI released the product formerly known as BridgeVIEW as a LabVIEW plugin module called the Data Supervisory and Control module (DSC) and with the advent of real time boards and the release of the Fieldpoint real-time network module, there is also a module that allows writing of code for embedded processors referred to as the Real Time module (RT). Lastly, there are two new additions to the LabVEW world in the PDA module (for writing code for PocketPC and PalmOS) and the FPGA module for writing code for Field Programmable Gate Arrays (LabVIEW on a chip!). These modules now keep track with the current LabVIEW version.

OS Support

LabVIEW source code and development is supported by Windows 9x/2000/NT/XP, Apple Macintosh (including X), PowerMax OS, Solaris, HP-Unix, Sun, Linux, the Pharlap RTOS, and VxWorks RTOS (Real-Time Operating Systems, found on National Instruments embedded controllers). Executables can be compiled under their respective development systems to run on these platforms. Code developed under one platform can be ported to any of the others, recompiled and run.

LabVIEW PDA can run on handheld devices, such as Microsoft Windows Mobile for Pocket PC devices.

There are of course exceptions to every rule. In this case platform specific sections of the LabVIEW development system will not be transferable. For example, Active X which is Windows 9x/NT specific. Furthermore, certain third party device drivers or LabVIEW toolkits installed under one system may not necessarily run or be recompiled on a different operating system.

The Future of your LabVIEW Code

LabVIEW has become widely used in so many applications it is hard to think about it going away. It would only disappear if it stopped being used so widely.

From a message posted to Info-LabVIEW in Feb '97:

[quote]> > In buying CINs (or LV code) for that matter one must check the reliability > > of the company and if it will be in business later. Some responsible > > companies put their source code in escrow to be given out if the company > > goes belly up. Some don't. What would we all do if NI stopped supporting > > LV on our favorite platform? We bought it to run on a given platform and > > it does but we have a big investment in code now and unlike C I can't go > > out an buy a "different" compiler! I guess this begs the question to some > > one from NI out there.... "Is the source code for LV in escrow or could we > > be in deep yogurt if NI goes out of business (not that I am suggesting that > > this is likely!)?"[/quote]

Greg McKaskle writes in response: [quote] >NI's quarterly report was posted last week, symbol is NATI, and I think >that you will agree that NI is still growing strong. Never-the-less, the >LV source code is escrowed, and if someone wants details they can >contact the NI legal department. NI manufacturing is ISO certified and >all hardware drawings as well as software source code is kept under >revision control.[/quote]

The fact that LV is escrowed and is ISO certified means that it can exist beyond the existence of NI. If this is of interest to you or your company you might want to contact the NI legal department for a letter explaining the exact circumstances that would release the escrow.

See Also

Personal tools
Namespaces
Variants
Actions
Navigation
interaction
Toolbox