Graphical System Design Using LabVIEW
Graphical System Design Using LabVIEW
The development of VI is linked to the evolution of small inexpensive personal computers and progress in computer hardware and software. Graphical User Interfaces (GUIs) too played a vital role in the development of VI. While the original application of replacing the controls with a computer link used a command line interface, the use of sophisticated GUI became an essential component in the later versions of VI software. The major developments that helped VI become successful were development of low cost computer systems of adequate computing power, evolution of good GUI, development of standards for buses, and increasingly stable networking platforms. The computing power of the processors improved by leaps and bounds permitting the development of all these resource intensive techniques. Standardization and progress in computing hardware increased. Developments of various interfacing standards lead to a massive reduction in development effort. All these developments have occurred in parallel and have taken us to the situation where VI is the dominant tool for the development and implementation of instrumentation applications and systems.
The term “VI” owes a lot to the development of the Laboratory Virtual Instrument Engineering Workbench (LabVIEW) by National Instruments, Austin, Texas, USA. In 1983, National Instruments began to search for a way to minimize the time needed to program instrumentation systems. LabVIEW made its appearance as an interpreted package on the Apple Macintosh in 1986. LabVIEW 2 was released in 1990, and was a compiled package as against an interpreted package. The first reasonably stable graphical environment (Windows 3.0) made its appearance only in 1990.
In 1992, they introduced LabVIEW for Windows and LabVIEW for Sun based on the new portable architecture. LabVIEW 3 arrived in 1993 for Macintosh, Windows and Sun operating systems. LabVIEW 3 programs written on one platform could run on another. In 1999, LabVIEW became available for the Linux platform as well. LabVIEW 4, released in 1996, featured a more customizable development environment so that users could create their own workspace to match their industry, experience level and development habits. In addition, LabVIEW 4 added high-powered editing and debugging tools for advanced instrumentation systems, as well as OLE-based connectivity and distributed execution tools.
Networking support on smaller systems was first introduced in Version 5. LabVIEW 5 and 5.1 (in 1999) continued to improve on the development tool by introducing a built-in Web server, a dynamic programming and control framework (VI server), integration with ActiveX, and easy sharing of data over the Internet with a protocol called DataSocket. In 2000, LabVIEW 6 (sometimes called 6i) provided both an easy and intuitive programming interface. In 2001, LabVIEW 6.1 introduced event-oriented programming, remote Web control of LabVIEW.
Version 7 has expanded the horizon to make it simpler for the inexperienced user by providing various Express utilities and Assistants. LabVIEW has two closely related products—BridgeVIEW and LabVIEW RT (for realtime applications). BridgeVIEW can also be called LabVIEW industrial. The RT module of LabVIEW was originally designed to support distributed computing and real-time applications. LabVIEW RT is a hardware and software combination that allows you to take portions of your LabVIEW code and download them to be executed on a separate controller board with its own real-time operating system. In certain respects LabVIEW RT and the development of FPGA (Field Programmable Gate Array) support in LabVIEW overlap. It is possible to program FPGA modules to carry out many tasks which may be assigned to RT systems.
National Instruments released LabVIEW 8.5, the latest version of the graphical system design platform for test, control and embedded system development. LabVIEW 8.5 simplifies multicore as well as FPGA-based application development with its intuitive parallel dataflow language. NI LabVIEW 8.6 includes the platform installation DVDs, Block Diagram Cleanup, Quick Drop and Web services creation. In addition to these added tools to the LabVIEW development system, we can explore key new features in the LabVIEW modules and toolkits, including industrial function blocks in the LabVIEW Real-Time Module and new LabVIEW FPGA Module IP.
With the enhanced releases of LabVIEW graphical programming software, system-level engineers as well as domain experts with little to no embedded expertise can accurately work with systems of increased complexity and scale, thereby, drastically reducing the time from concept to prototype.
Graphical Programming and Textual Programming
Graphical programming is a visually-oriented approach to programming. Graphical programming is easier and more intuitive to use than traditional textual programming. Textual programming requires the programmers to be reasonably proficient in the programming language. Non-programmers can easily learn the graphical approach faster at less amount of time.
The main advantage of textual languages like C is that they tend to have faster graphical approach execution time and better performance than graphical programs. Textual programming environments are typically used in determining high throughput virtual instrumentation systems, such as manufacturing test systems.
Textual programming environments are popular and many engineers are trained to use these standardized tools. Graphical environments are better for nonprogrammers and useful for developing virtual instruments quickly and need to be reconfigured rapidly.
Virtual instrumentation is not limited to graphical programming but can be implemented using a conventional programming language. In R & D design characterization or in a troubling shooting situation Microsoft Excel (spreadsheet) or Microsoft Word (word processor) can be used. The most important task is to understand how to use standard analysis packages that can directly input data from the instruments and can be used to analyze, store and present the information in a useful format. Irrespective of whether it is classical or graphical environment any system with a graphical system design can be looked at as being composed of two parts—the user interface and the underlying code. The code in a conventional language like C comprises a number of routines while in the graphical language G it is a collection of icons interconnected by multi-colored lines. Table 1.1 compares text-based programming and graphical programming.