Saturday, September 22, 2012

LabVIEW SOFTWARE


     
          The expanded form of LabVIEW is Laboratory Virtual Instrumentation Engineering Workbench. Graphical programming language that allows for instrument control, data acquisition, and pre/post processing of acquired data. The main feature of this program are easy to use, faster development time, graphical user interface graphical source code, easily modularized, application builder to create stand-alone executables, multi-platform compatibility(perform natural and migrate applications between platforms).The entire Measurement and Automated system can be controlled with  LabVIEW locally, or over the Internet. LabVIEW can acquire data by using DAQ. LabVIEW includes the following tools analyze the data:
-        Analysis Vis for differential equations, optimization, curve fitting, calculus, linear algebra, statistics, etc.
-        Signal processing Vis for filtering, windowing transforms, peak detection, harmonic analysis, spectrum analysis etc.
LabVIEW version 7 has introduced a new concept in interfacing- the use of assistants. The idea behind the introduction is to provide a user interactive way for development of data acquisition, instrument interfacing and code analysis. Thus the assistants provide a user friendly face to the somewhat complex task of interfacing, be it an instrument or a multifunction device. The DAQ assistant icon when placed on the diagram initializes itself and comes up with a display appropriate to the hardware installed.
LabVIEW relies on graphical symbols rather than textual language to describe programming actions. The principle of data flow, in which the functions execute only after receiving the following data, governs execution in straightforward manner. LabVIEW programs are called virtual instruments (VIs) because their appearance and operation imitate actual instruments. However they are analogous to main programs, functions and subroutines from popular languages like C, FORTRAN, and Pascal etc. In LabVIEW we can create or use “Virtual instruments” (VI) for data acquisition. A VI allows computer screen to act as an actual laboratory instrument with characteristics tailored to particular needs. We can also use build-in examples, or use standard templates for setting up your data acquisition input channels.   

BENEFITS

1. Interfacing

A key 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.
Although not a .NET language, Labview also offers an interface to .NET Framework assemblies, which makes it possible to use, for instances, databases and XML files in automation projects.

1.     Code compilation

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 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, LabVIEW code can be slower than equivalent compiled C code, although the differences often lie more with program optimization than inherent execution speed.

 3. Large libraries

Many 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 Math Script with additional functionality for signal processing, analysis and mathematics. Math Script can be integrated with graphical programming using "script nodes" and uses a syntax that is generally compatible with MATLAB.

 4. Code re-use

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. 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. 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.

 5. Parallel Programming

With LabVIEW it is very easy to program different tasks that are performed in parallel by means of multithreading. This is, for instance, easily done by drawing two or more parallel while loops. This is 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.
        A VI has three main parts:
1.  
The front panel: This is an interactive user interface of VI, so named because it can simulate the front panel of the physical instrument. Simply put, the front panel is the window through which the user interacts with the program. When we run VI we must have the front panel open such that we can input dada to the executing program. The front panel where you see your program’s output. The front panel is primarily the combination of controls and indicators. Components of the front panel are controls = inputs from the user = source terminals, indicators = outputs to the user = destinations.


Fig. 8.1: Front Panel of labVIEW software
2.   The block (or wiring) diagram: it is the Vis source code, constructed in LabVIEW’s graphical programming language: G. It is the actual executable program. Subroutine in the block diagram of VI. The block diagram window holds the graphical source code of a LabVIEW VI – it is the actual executable code.

    You construct the block diagram by wiring together the objects that perform specific functions. The various components of a block diagrams are terminals, nodes, and wires.
Fig. 8.2: Block Diagram of labVIEW software
Icons/connectors: A LabVIEW VI is held together wires connecting nodes and terminals; they deliver data from one source terminals to one or more destination 

No comments:

Post a Comment