You are on page 1of 8


LabVIEW is an open development platform that has gained acceptance in many different
application areas and industries. Why? At its core, the LabVIEW graphical programming
language has enabled thousands of scientists and engineers to develop complex measurement and
control applications very quickly and easily. However, the language is only one element of the
platform that has powered its acceptance over the past 20 years. There are four key elements that
will be explored as critical elements of the LabVIEW development platform:

 Intuitive graphical programming language
 High-level application-specific tools
 Integrated measurement and control-specific capabilities
 Multiple computing targets

Intuitive Graphical Programming Language

The LabVIEW language has a tremendous collection of libraries and structures that have been
introduced and improved over the past 20 years. A few key concepts that set the Language apart:


LabVIEW is a development environment based on a graphical programming language. This
approach to developing applications significantly reduces the learning curve because graphical
representations are a more natural design notation for engineers and scientists than text-based
code. We can access the tools and functions through interactive palettes, dialogs, menus, and
hundreds of function blocks, known as VIs (virtual instruments). We can drag and drop these VIs
onto a diagram to define the behavior of your applications. This point-and-click approach
significantly reduces the time it takes to get from initial setup to a final solution.

Interactive Execution and Debugging
The LabVIEW language is interactive as well, which means users can easily experiment with
different functions in the libraries during development, which is particularly important when
programming I/O resources. For example, when configuring a data acquisition (DAQ) operation,
users can simply select an acquisition function from the built-in DAQ library and run it
independently. This operation will actually retrieve data from the DAQ board in the computer, so
the user can inspect the data to see if the operation is appropriate for the program. If so, simply

step over/into/out of. the user can work at a higher conceptual level to develop a solution. and feedback loops .drop the VI into the program and continue. and performance of the compiled LabVIEW language. If not. A unique debugging capability of LabVIEW is the ability to visualize data anywhere within the algorithms you develop without degrading the performance of the algorithm or requiring complex programming. such as a knob or slide control. In addition to being easy to learn and use. flexibility. featuring all of the common capabilities of traditional programming tools. if you are developing a complex signal processing algorithm in LabVIEW. discrete. try another VI in the library until you find the right one. The compiled language executes at speeds comparable to traditional compiled text languages. there may be higher-level ways to represent a solution (or part of the solution) than using low-level code. With most of these tools. This ability to interactively peek and poke at data and parameter values makes debugging much faster and more intuitive in LabVIEW. These development tools include:  Control block diagrams – for designing linear. differentiators. Debugging in LabVIEW is also interactive. and so on. and continuous control systems. High-Level Application-Specific Development Tools The LabVIEW graphical language is an intuitive way for scientists and engineers to develop their measurement and control applications. Users can develop them using traditional control concepts such as transfer function blocks. integrators. to vary input parameter values of the algorithm. for many applications. However. nonlinear. For example. such as breakpoints. you can connect a control. Or. you can easily drop graph controls on the front panel and wire them to the data path to view the data at that point in the algorithm. LabVIEW has a growing collection of higher-level tools targeted at solving particular types of structures or constructs much faster. which is then converted into the low-level LabVIEW code to deliver all of the openness. the language also delivers the performance needed for advanced applications.

The structure receives information about each user event that can be processed in different panes of the event structure. State Diagram  Formula/script nodes – for implementing complex formulas in text or importing algorithms defined in traditional math tools such as The MathWorks MATLAB® or MATRIXx. Figure 3.  User interface programming – for managing very complex user interfaces in graphical code using the event structure in LabVIEW. . LabVIEW Simulation Diagram  State diagram – for defining multiple states and transition logic between them using a graphical state diagram representation Figure 4..

etc)  Vision/image acquisition  Motion control Analysis  Signal processing  Sound and vibration  Order analysis (rotational machinery analysis)  Spectral measurements and modulation Display  Graphs. meters. valves. tanks . The language itself naturally manages continuous. Inc. RS232. Integrated I/O Capabilities LabVIEW is best known as a data acquisition and instrument control tool. pipes  Thermometers.By combining these high-level concepts to build specific applications with the flexibility of the LabVIEW language. looping data acquisition operations. MATLAB® is a registered trademark of The MathWorks. These capabilities are built into the language and are pervasive throughout the environment. gauges  Pumps. strip charts  Knobs. users get the best of both approaches in one platform. and delivers significant time savings to developers simply because the tool provides functionality throughout with an engineering and scientific perspective in the areas listed below: I/O Libraries:  Plug-in data acquisition devices  Modular instruments  Stand-alone instruments (GPIB.

LabVIEW Front Panel The out-of-the-box integration of all of these different types of engineering-specific controls and libraries cannot be underestimated. and Linux. for applications that require determinism or additional reliability. LabVIEW also runs on industrial real-time platforms. And finally. Windows CE. . Mac OS X. Figure 5. these technologies are often found on flat panel displays used in machines or industrial systems. LabVIEW programs also can be targeted to handheld devices running Windows Mobile. or Palm OS. In addition to the obvious handheld PDA or smart phone devices. The native LabVIEW compiler runs on all popular desktop OSs. the LabVIEW embedded family of products convert LabVIEW diagrams into C code for execution on 32-bit microprocessors. Multiple Computing Targets Another advantage to the LabVIEW platform is its open back end that can target a wide variety of computing platforms. such as Windows.

The adoption of synthetic instrumentation represents a significant development in the specification of future Military ATE systems. and synchronization compared to traditional systems. For example. throughput. resolution. test and design engineers can create user-defined measurement systems that deliver greater flexibility. In order to reduce the cost of ownership of test systems and increase reuse. to offer integrated timing and synchronization resources. How are virtual instruments and synthetic instruments different? A fundamental trend in the automated test industry is a heavy shift toward software-based test systems. through the Navy’s NxTest program. and PC buses. the DoD. requires an understanding of the hardware platforms and software tools in the market. . Successful implementation of software-based test systems. has specified that future ATE use architecture built on modular hardware and reconfigurable software called synthetic instrumentation. PCI Express. as well as an understanding of the distinction between system-level architectures and instrument-level architectures. or speeds. DACs. which combine stand-alone instrument quality and measurement capabilities with the flexibility and scalability of NI data acquisition products. IEEE 1394 (FireWire). For measurements that require higher performance. and Mac OS X. the United States Department of Defense (DoD) is one of the world’s largest customers of automated test equipment (ATE). FPGAs. and reflects a fundamental shift as reconfigurable software takes center-stage in future systems. as well as the latest commercial technologies such as ADCs. including PCI. and work with the industry's most popular operating systems such as Windows. PXI. Using NI modular instruments with powerful NI LabVIEW software. accuracy. and USB. NI multifunction DAQ devices are available on the most widely used buses. Linux. engineers use NI modular instruments. NI data acquisition (DAQ) products continue to improve measurement speed and accuracy while reducing costs for engineers and scientists. such as synthetic instrumentation.Modular Hardware By integrating commercially available silicon and bus technologies with innovative designs.

is a dataflow programming language. Thus a virtual instrument can either be run as a program. and industrial automation on a variety of platforms including Microsoft Windows. instrument control. the execution sequence of the LabVIEW graphical syntax is as well-defined as with any textually coded language such as C. and Mac OS. The latter may represent the VI as a subVI in block diagrams of calling VIs. . In reality. the wire type is defined by the data-supplying node. LabVIEW programs/subroutines are called virtual instruments (VIs). this stems from a misunderstanding of the data-flow paradigm. G is inherently capable of parallel execution. called "G". or. typically by linking inputs and outputs of nodes) completely defines the execution sequence. The graphical language is named "G". Originally released for the Apple Macintosh in 1986. Programmers with a background in conventional programming often show a certain reluctance to adopt the LabVIEW dataflow scheme. a front panel and a connector pane. the front panel can also serve as a programmatic interface. released in August of 2007. LabVIEW LabVIEW (short for Laboratory Virtual Instrumentation Engineering Workbench) is a platform and development environment for a visual programming language from National Instruments. when dropped as a node onto the block diagram. Execution is determined by the structure of a graphical block diagram (the LV-source code) on which the programmer connects different function-nodes by drawing wires. claiming that LabVIEW is prone to race conditions. Linux. Controls and indicators on the front panel allow an operator to input data into or extract data from a running virtual instrument. LabVIEW does not require type definition of the variables. Multi-processing and multi-threading hardware is automatically exploited by the built-in scheduler. LabVIEW supports polymorphism in that wires automatically adjust to various types of data.5. various flavors of UNIX. Dataflow programming: The programming language used in LabVIEW. The latest version of LabVIEW is version 8. the front panel defines the inputs and outputs for the given node through the connector pane. Visual BASIC. The aforementioned data- flow (which can be "forced". These wires propagate variables and any node can execute as soon as all its input data become available. and that can be fully controlled by the programmer. with the front panel serving as a user interface. This implies each VI can be easily tested before being embedded as a subroutine into a larger program. Furthermore. Thus. Graphical programming: LabVIEW ties the creation of user interfaces (called front panels) into the development cycle. which multiplexes multiple OS threads over the nodes ready for execution. LabVIEW is commonly used for data acquisition. Each VI has three components: a block diagram. However. Python etc. Since this might be the case for multiple nodes simultaneously.

The hardware part is made of sensors. The software part is made of the data acquisition logic and the analysis software (and some other utilities that can be used to configure the logic or to move data from data acquisition memory to a laptop or to a mainframe computer). user-defined measurement system. carried out by a data acquisition system (DAS). Another example: a data acquisition system can be placed on a race car to measure RPM and vehicle speed to analyze car's behavior once it's back to pits and improve the car setup. Data acquisition uses a combination of PC-based measurement hardware and software to provide a flexible. the measurement data is then stored for analysis to improve quality assurance. you must condition sensors and signals before a data acquisition device acquires them. PC-Based Data Acquisition System Data acquisition is the process of gathering or generating information in an automated fashion from analog and digital measurement sources such as sensors and devices under test. can be used to measure parameters such as temperature and humidity in storage facilities with perishable products. attenuation. and isolation. cables and electronics components (among which memory is where information are stored). A data acquisition system is a device designed to measure and logs some parameters. Learn about conditioning signals including amplification. An example: Data logging. Oftentimes. . The data acquisition system is normally electronics based. and it is made of hardware and software. The purpose of the data acquisition system is generally the analysis of the logged data and the improvement of the object of measurements.