LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench)
What is LabVIEW?
LabVIEW is a development environment from National Instruments that has existed since 1986 and was designed for creating applications that acquire, process and display data and signals. Its main areas of use are measurement, control, testing and automation technology.
In these fields, LabVIEW has today become established as the preferred development tool in a wide variety of scientific and technical industries. This is due both to the successive expansion of its range of functions and to the fact that the graphical programming language built into LabVIEW allows ideas and solutions to be implemented quickly without sacrificing flexibility and performance.
The LabVIEW development environment
Programming language G
Development with LabVIEW uses the graphical, dataflow-oriented programming language G. This programming language makes it very easy for the user to connect graphical, predefined function blocks with data wires in the so-called block diagram, which contains the logic of the application, and thus obtain the desired functionality.
The dataflow orientation of G also makes parallel programming easy to implement, as program sections that are independent in terms of data are automatically executed in several threads.
Libraries
LabVIEW provides a large number of libraries with a wide range of functionality. In addition to the usual basic functions of a programming language, it also offers special function blocks and algorithms adapted to the field of application. Interactive, ready-made controls and indicators such as charts, graphs and buttons are included, which can be used to display the data and signals on the user interface (front panel).
Furthermore, hardware drivers are supplied for supported devices. This allows a single development tool to be used consistently for implementing communication with the device and for the subsequent processing and display of the data. This is where the potential of efficient development with LabVIEW becomes apparent.
Modules already written in C# or C/C++ can be integrated via .NET, ActiveX, DLLs and XML.
Integrated development environment
The integrated development environment comes with a large number of settings and tools that allow efficient development. Here, too, breakpoints and probes can be used for debugging in order to examine selected function nodes and the data content of objects.
The integrated compiler is used to compile the block diagrams. It translates the block diagrams directly into machine code, so that applications created in LabVIEW also perform very well.
Development with LabVIEW
The usual software development cycles also apply in LabVIEW. However, the dataflow orientation of LabVIEW must be taken into account in both requirements analysis and software design. It is therefore more practical to analyse the system using state diagrams, whose representation of the abstracted problem allows simple and fast implementation in the graphical programming language G.
For system design, National Instruments recommends design patterns depending on the problem, which allow a scalable, modular and easily extensible LabVIEW application to be built. Common patterns are Master/Slave, Producer/Consumer and Event Driven User Interface, but also more complex, combined patterns such as the Queued State Machine - Event Driven Producer/Consumer (QSM-PC). The most suitable pattern must be chosen depending on the functionality and the constraints of the application.
Advantages
- Graphical programming does not require in-depth programming knowledge and reduces the time needed to get started
- Supplied hardware drivers and device interfaces make it easier to work directly with connected devices in a single development environment
- Options for simulating hardware/devices
- Extensive libraries are available that are tailored specifically to certain fields of application, e.g. Vision & Motion, Automation, etc.
- Extensive documentation of the functions
- Fast, efficient development that is nevertheless flexible, reusable and high-performance
- Very fast prototyping possible
Disadvantages
- Implementing complex algorithms in LabVIEW is very cumbersome or even impossible. This requires a text-based programming language that is integrated into LabVIEW. The latter can turn out to be very difficult
- The way of thinking in graphical programming is not intuitive
- LabVIEW requires a great deal of memory
- Block diagrams quickly become confusing
- A runtime environment is required on the target computer
- Projects can only be opened with the version in which they were developed
We extend LabVIEW for you and connect your hardware to LabVIEW.
Further information on graphical programming systems and simulations.
