LabVIEW is a program development environment developed by National Instruments (NI), similar to C and BASIC development environments, but the significant difference between LabVIEW and other computer languages is that other computer languages use text-based languages to generate code , And LabVIEW uses the graphical editing language G to write programs, and the generated programs are in the form of block diagrams.
LabVIEW software is the core of the NI design platform and is also ideal for developing measurement or control systems. The LabVIEW development environment integrates all the tools engineers and scientists need to quickly build a variety of applications, and is designed to help engineers and scientists solve problems, increase productivity, and continuously innovate
Like C and BASIC, LabVIEW  is also a general-purpose programming system with a huge library of functions to complete any programming task. The function library of LabVIEW  includes data acquisition, GPIB, serial port control, data analysis, data
Display and data storage, etc. LabVIEW  also has traditional program debugging tools, such as setting breakpoints, displaying the results of data and its subroutines (subVIs) in an animated manner, single-step execution, etc., to facilitate program debugging.
LabVIEW  (Laboratory Virtual Instrument Engineering Workbench) is a graphical programming language for creating applications with icons instead of text lines. The traditional text programming language determines the program execution order based on the order of statements and instructions, while LabVIEW uses data flow programming. The data flow between the nodes in the block diagram determines the execution order of VIs and functions. VI refers to virtual instrument and is a program module of LabVIEW.
LabVIEW  provides many controls that look similar to traditional instruments (such as oscilloscopes, multimeters) and can be used to easily create user interfaces. The user interface is called the front panel in LabVIEW. Using icons and wiring, you can programmatically control the objects on the front panel. This is the graphical source code, also known as G code. The graphical source code of LabVIEW is similar to a flowchart to some extent, so it is also called block diagram code.
General hardware is used as much as possible, and the difference between various instruments is mainly software.
It can give full play to the computer's capabilities, has powerful data processing functions, and can create more powerful instruments.
Users can define and manufacture various instruments according to their own needs.
Another problem of virtual instrument research is the interconnection of various standard instruments and the connection with computers. The most used is the IEEE488 or GPIB protocol. Future instruments should also be networked.
LabVIEW (Laboratory Virtual instrument Engineering Workbench) is a graphical programming language development environment, which is widely accepted by industry, academia and research laboratories as a standard data acquisition and instrument control software. LabVIEW integrates all functions of communication with hardware and data acquisition cards that meet GPIB, VXI, RS-232 and RS-485 protocols. It also has built-in library functions that facilitate the application of software standards such as TCP/IP and ActiveX. This is a powerful and flexible software. It can be used to easily build your own virtual instrument, and its graphical interface makes the programming and use process vivid and interesting.
Graphical programming language, also known as "G" language. When programming in this language, basically no program code is written, instead a flowchart or block diagram. It uses terminology, icons, and concepts familiar to technicians, scientists, and engineers as much as possible. Therefore, LabVIEW is a tool for end users. It can enhance your ability to build your own scientific and engineering systems, and provides a convenient way to implement instrument programming and data acquisition systems. When it is used for principle research, design, test and implementation of instrument system, it can greatly improve work efficiency.
Using LabVIEW, an executable file that can be run independently can be generated. It is a true 32-bit/64-bit compiler. Like many important software, LabVIEW provides multiple versions of Windows, UNIX, Linux, Macintosh.
Its main convenience is that, in the case of a hardware, you can achieve the functions of different instruments by changing the software. It is very convenient, which is equivalent to software that is hardware! The graphic is mainly the upper-level system. The domestic single-chip programming system has been developed (supports 32-bit embedded systems and can be expanded), and is constantly being improved (you can search CPUVIEW for more detailed information;).
A virtual instrument is a computer-based instrument. The close integration of computers and instruments is an important direction for the development of instruments. Roughly speaking, there are two ways of this combination, one is to install the computer into the instrument, and its typical example is the so-called intelligent instrument. With the increasingly powerful functions of computers and the shrinking of their size, the functions of such instruments are becoming more and more powerful, and instruments with embedded systems have appeared. Another way is to install the instrument into the computer. Relying on general computer hardware and operating system, various instrument functions are realized. Virtual instrument mainly refers to this way.
Virtual instrument is actually a data acquisition system organized according to the requirements of the instrument. The basic theories involved in the research of virtual instruments are mainly computer data acquisition and digital signal processing. At present, in this field, the widely used computer language is LabVIEW of NI Company.
The origin of virtual instruments can be traced back to the 1970s. At that time, computer measurement and control systems had developed considerably in the fields of national defense and aerospace. After the appearance of the PC, instrumentation-level computerization became possible. Even before the birth of Microsoft's Windows, NI Corporation has launched versions of LabVIEW 2.0 on Macintosh computers. The long-term, systematic and effective research and development of virtual instruments and LabVIEW make the company a recognized authority in the industry. At present, the latest version of LabVIEW is LabVIEW2014, and LabVIEW 2009 adds more features to the multi-threading function. This feature was first introduced in version 5 of 1998. Using LabVIEW software, users can take advantage of the software environment it provides. This environment, due to its data flow programming features, LabVIEW Real-Time tool support for multi-core development on embedded platforms, and a top-down software hierarchy designed for multi-core , Is the first choice for parallel programming.
The ordinary PC has some inevitable weaknesses. The performance of the virtual instrument or computer test system built with it cannot be too high. An important development direction as a computerized instrument is the VXI standard, which is a card-type instrument. Each instrument is a plug-in card. In order to ensure the performance of the instrument, more hardware is used, but these card instruments themselves do not have a panel, and the panel still appears on the computer screen in a virtual way. These cards are inserted into a standard VXI chassis and then connected to a computer to form a test system. VXI instruments are expensive, and now a cheaper PXI standard instrument has been introduced.
LABVIEW has many advantages, especially its characteristics are outstanding in some special fields.
Test and measurement: LABVIEW was originally designed for test and measurement, so test and measurement is the most widely used field of LABVIEW. After years of development, LABVIEW has been widely recognized in the field of test and measurement. So far, most mainstream test instruments and data acquisition equipment have dedicated LabVIEW drivers. Using LabVIEW can control these hardware devices very conveniently. At the same time, users can easily find various LabVIEW toolkits suitable for the field of test and measurement. These toolkits cover almost all the functions that users need. It is much easier for users to develop programs based on these toolkits. Sometimes even simply calling the functions in a few toolkits can form a complete test and measurement application.
Control: Control and testing are two highly correlated fields. LabVIEW, which started from the testing field, naturally first expanded into the control field. LabVIEW has a module dedicated to the control field----LabVIEWDSC. In addition, the devices and data lines commonly used in the industrial control field usually also have corresponding LabVIEW drivers. Using LabVIEW can be very convenient to compile various control programs.
Simulation: LabVIEW contains a variety of mathematical operation functions, especially suitable for simulation, simulation, prototype design and other work. Before designing electromechanical equipment, you can use LabVIEW to build a simulation prototype on the computer to verify the rationality of the design and find potential problems. In the field of higher education, sometimes if you use LabVIEW for software simulation, you can achieve the same effect, so that students will not lose the opportunity to practice.
Children's education: Because the graphics are beautiful and easy to attract children's attention, and the graphics are more easily accepted and understood by children than text, LabVIEW is very popular with children. For children without any computer knowledge, LabVIEW can be understood as a special "building block": by putting together different originals, you can achieve the functions you need. The famous programmable toy "Lego brick" uses the LabVIEW programming language. After a short period of instruction, children can use the bricks provided by Lego to build various vehicle models, robots, etc., and then use LabVIEW to write programs to control their movement and behavior. In addition to being used in toys, LabVIEW also has a version specifically designed for use by primary and secondary school students.
Rapid development: According to the statistics of some projects that the author participated in, to complete a large-scale application software with similar functions, the development time required for a skilled LabVIEW programmer is only about 1/5 of the time required for a skilled C programmer. Therefore, if the project development time is tight, you should give priority to using LabVIEW to shorten the development time.
Cross-platform: If the same program needs to run on multiple hardware devices, you can also prefer to use LabVIEW. LabVIEW has good platform consistency. The LabVIEW code can run on the three common desktop operating systems without any modification: Windows, Mac OS, and Linux. In addition, LabVIEW also supports various real-time operating systems and embedded devices, such as common PDAs, FPGAs, and RT devices running VxWorks and PharLap systems.
The starting point for every LabVIEW user is the development system, which is also the basic environment for graphical programming. The functions of the following software packages complement each other and can help users meet current and future needs.
LabVIEW includes basic version, full version and professional version.
Graphical user interface development
Report generation and file I/O
More than 700 math/analysis functions
External code integration (.dll)
Advanced user interface development
Application release (creat.exe)
Source code control
Due to the modular nature of LabVIEW, NI and third-party additional software can be added to meet customer project needs. The various LabVIEW functions and advanced tools listed below can be used to help users develop specific applications and deploy them to the terminal.
Integrated deployment hardware: combined with programmable automation controller (PAC), design, prototype and deploy hardware terminals, such as real-time systems and field-programmable gate array (FPGA)-based systems.
For example: LabVIEW Real-Time Module, LabVIEW FPGA Module, NI LabVIEW Embedded Module for ARM Microcontrollers, NI LabVIEW Mobile Module, NI LabVIEW Touch Screen Module, NI LabVIEW Wireless Sensor Network Module, LabVIEW C Code Generator, NI Real-Time Management procedures
Signal processing, analysis and connection: Add special image and signal processing functions for sound and vibration measurement, machine vision, RF communication, transient and short-term signal analysis, etc.
For example: LabVIEW Vision Application Development Module, Sound and Vibration Measurement Suite, Sound and Vibration Toolkit, NI LabVIEW Internet Toolkit, NI LabVIEW Advanced Signal Processing Toolkit, NI LabVIEW Adaptive Filter Toolkit, NI LabVIEW Digital Filter Design Tool Package, NI LabVIEW MathScript RT Module, Spectrum Measurement Toolkit, NI LabVIEW Modulation Toolkit, NI LabVIEW Robot Module, LabVIEW Biomedical Toolkit, LabVIEW Power Suite, ECU Measurement and Calibration Toolkit, GPS Simulation Toolkit for LabVIEW, Measurement kit for fixed WiMAX, NI WLAN measurement kit, automotive diagnostic instruction set, LabVIEW GPU analysis tool.
Control and simulation: Use advanced control algorithms, dynamic simulation and motion control software to design, simulate and execute control systems.
For example: NI LabVIEW PID and Fuzzy Logic Toolkit, NI LabVIEW Control Design and Simulation Module, NI LabVIEW System Identification Toolkit, NI LabVIEW Simulation Interface Toolkit, LabVIEW NI SoftMotion Module.
Data management, recording and report generation: quickly record, manage, search and export collected data to third-party software tools (such as Microsoft Office and industry-standard databases).
For example: NI LabVIEW Data Recording and Monitoring Module, NI LabVIEW Microsoft Office Report Generation Toolkit, NI LabVIEW Database Connection Toolkit, NI LabVIEW DataFinder Toolkit, NI LabVIEW SignalExpress.
Development tools and verification: Users can use code analyzers and unit test architectures to evaluate the quality of graphical code and automate operations such as regression testing and verification based on development needs.
For example: NI LabVIEW VI Analyzer Toolkit, NI LabVIEW State Diagram Module, NI LabVIEW Desktop Execution Tracking Toolkit, NI Requirements Management Software, NI Real-Time Execution Tracking Toolkit, NI LabVIEW Unit Test Architecture Toolkit
Application publishing: publish LabVIEW applications to users by creating executable programs, installers, and DLLs; or share the user interface via the network or the Internet.
Example: NI LabVIEW Application Builder (Windows version)
A brief review of the recent development history of LabVIEW (also limited to the version I can collect), from here you can also indirectly experience how fast LabVIEW is developing. Judging from the software version of LabVIEW (which I can collect), there should be LabVIEW 5 series, LabVIEW 6 series, LabVIEW 7 series, and LabVIEW 8 series. The year of publication may be incorrect, subject to NI.
LabVIEW 1.0 was released in: 1986, running on Apple's Macintosh platform.
LabVIEW 2.0 was released in 1988. In 1990, the virtual instrument panel and structured data stream were awarded two US patents.
LabVIEW 3.0 was released: 1994
LabVIEW 4.0 was released: 1996
LabVIEW 5.0 was released: 1998
LabVIEW 5.1.1 released: March 2000
LabVIEW 6.02 was released: February 2001
LabVIEW 6.1 released: January 2002
LabVIEW 7.0 was released: May 2003
LabVIEW 7.1 released: April 2004
LabVIEW 7.1.1 was released: November 2004
LabVIEW 8.0 released: October 2005
LabVIEW 8.0.1 released: February 2006
LabVIEW 8.20 released: August 2006
LabVIEW 8.2.1 Released: March 2007
LabVIEW 8.2.1f4 released: September 2007
LabVIEW 8.5 released: August 2007
LabVIEW8.5.1 Released: April 2008
LabVIEW8.6 was released: August 2008
LabVIEW8.6.1 Released on: February 2009
LabVIEW 2010 Released: August 2010
LabVIEW 2011 Released: August 2011
LabVIEW 2012 Released: August 2012
LabVIEW 2013 Released: August 2013
LabVIEW 2014 was published on: August 2014
From NI's LabVIEW version number, we can see:
1. Serial number: 5, 6, 7, and 8 indicate a new series, and the software structure or function may be significantly improved (paid upgrade)
2. Version numbers: 5.x, 6.x, 7.x, 8.x means that the software has new content or relatively large improvements (paid upgrade)
3. Version numbers: 5.x.x, 6.x.x, 7.x.x, 8.x.x means that the software has been patched compared to the previous version (free upgrade)
FPGA XC5200 Family 10K Gates 784 Cells 83MHz 0.5um Technology 5V 144-Pin TQFP
FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 400-Pin FBGA
FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 256-Pin FTBGA
CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 256MHz 0.18um Technology 1.8V 208-Pin PQFP