LabVIEW - Graphical Programming


LabVIEW is a graphical programming environment developed and distributed by National Instruments. The acronym means „Laboratory Virtual Instrumentation Engineering Workbench“. With LabVIEW it is possible to develop sophisticated measurement, test, and control systems using intuitive graphical icons and wires that resemble a flowchart (block diagram).  


  • The most important consequence of graphical programming is its simplicity. The result of this simplicity is a very short development time, that is needed to complete the software.


  • With LabVIEW it is possible to design great graphical user interfaces. In principle, no text code is necessary when programming in LabVIEW. The only text integrated, is used for labeling of elements and documentation purposes.


  • Engineers and scientists can rapidly and cost-effectively interface with measurement and control hardware, analyze data, share results, and distribute systems through intuitive graphical programming


  • LabVIEW has become the standard for industrial usage and is compatible with many different target and operating systems.


  • LabVIEW offers unrivaled integration of hardware devices and provides built-in libraries for advanced data analysis and visualization and other mathematical applications.


  • Almost all standard interfaces and bus terminal systems are covered in the function library. A large variety of device drivers exists.


  • Since version 8.6.1, LabVIEW allows for the programming of microcontrollers and DSPs. It also supports several real-time operating systems.


  • LabVIEW offers the possibility of parallel programming of multicore-processors and FPGAs, and the direct access to wireless technologies.


Nodes on a block diagram are connected to one another to express the logical execution flow, and they can be used to easily express parallelism. This principle is called "dataflow model" (Example – see picture above). Dataflow programming models, in contrast to the control flow model implemented in languages such as C, offer the following advantages:


  • The dataflow model allows to execute threads in parallel. In many text-based programming languages, you must explicitly create and handle threads.


  • Parallelism is easily expressed. When a block diagram node receives all required inputs, it produces output data and passes that data to the next node in the dataflow path. The movement of data through the nodes determines the execution order of the functions on the block diagram.


  • Since dataflow programming languages are inherently parallel in nature, developers can create applications that are implicitly parallel. This characteristic of a programming language signifies that developers don't need to be experts in the low-level intricacies of parallel hardware such as multicore processors and FPGAs in order to reap the performance benefits - the language itself helps parallelize the code.    



More information about LabVIEW can be found on the NI homepage