LabVIEW FAQ

Have LabVIEW questions? Here are some answers.

What is LabVIEW? How does LabVIEW work?

LabVIEW is essentially a graphical programming language (technically it’s a development environment, and the language is “G”, but in common usage it’s a language).  Instead of typing keywords and variables like with C++, Python, or other text-based languages, you place and connect visual objects around your screen.

See What is LabVIEW – a developer’s perspective for more detail. See http://www.ni.com/en-us/shop/LabVIEW.html for the official answer from National Instruments.

What is LabVIEW used for?

LabVIEW is used for 4 main purposes:

  1. Automated Manufacturing test of a component/sub-system/system.
  2. Automated Product design validation of a component/sub-system/system.
  3. Control and/or monitoring of a machine/piece of industrial equipment/process.
  4. Condition monitoring of a machine/piece of industrial equipment.

See What is LabVIEW used for? for more detail.

Where is LabVIEW used?

Want to see some companies that use LabVIEW? Some industries? Some job roles that use it? check out:

Where is LabVIEW used? Who uses it?

FPGA programming in LabVIEW – what’s it all about?

Programming an FPGA in LabVIEW is easier than learning to write VHDL or Verilog for an FPGA. However, it’s still quite involved and you can really mess things up or use the FPGA inefficiently if you don’t know what you’re doing.

Check out this article on LabVIEW FPGA – the good, the bad, and the ugly for more.

How to control a PLC with LabVIEW?

You can’t really “control” a PLC from LabVIEW at a detailed level because the PLC follows whatever the ladder logic tells it to do. You can interface with a PLC with LabVIEW via various communications methods such as Modbus and OPC commands.

Can I do ladder logic in LabVIEW?

No. You can’t.

I’m having LabVIEW problems. How can I get help?

  1. National Instruments (creator of LabVIEW) has several online help resources.
  2. If your company is a heavy LabVIEW user with tons of licenses, you may have an agreement that will get you access to NI’s LabVIEW support staff. Either contact your NI sales account manager or ask other LabVIEW users at your facility to find out if you’ve got such an agreement in place.
  3. Find a test system integrator that does LabVIEW programming.

See LabVIEW help options for more.

LabVIEW problems – What are some debugging techniques in LabVIEW?

Debugging is a nontrivial topic. Since LabVIEW is a programming environment, many of the same methodologies and tools used in text languages apply here too. For example, probes, single stepping, verbose output statements, and so on are all possible in LabVIEW. See here (https://www.ni.com/en-us/support/documentation/supplemental/12/debugging-techniques-in-labview.html) for more info.

PLCs vs LabVIEW?

Well, a PLC is a hardware controller, and LabVIEW is software, so they’re quite different. But if you’re trying to decide whether or not you should use a PLC or LabVIEW, here’s some quick thoughts:

  1. For safety-critical control, PLCs have the edge.
  2. For taking lots of fast measurements (dozens or hundreds, some at more than 100 samples per second), LabVIEW generally wins out.

How do I find a LabVIEW developer?

Start at https://partners.ni.com/directory/ and narrow down by capabilities and geography.

What’s a LabVIEW technician?

The typical use of this term describes a person who runs pre-written LabVIEW applications (written by LabVIEW developers/programmers) which might need some knowledge of LabVIEW user interface objects. For example, most completely new users to LabVIEW don’t realize you can change the scale on a graph, but a technician would know about double-clicking on the numbers next to the axis tic marks in order to highlight and edit those numbers.

How to create a database in LabVIEW?

You can’t create a database in LabVIEW, but you can certainly connect to one. We often use SQL Server Express from Microsoft, since it’s free and handles the needs of many of the software solutions we deliver.

How to use LabVIEW?

While there aren’t any shortcuts to mastery, there are better ways than others to get started, and sometimes even ways to solve your problem in a different way than expected. See How to learn LabVIEW quickly.

LabVIEW sensor data acquisition – how to acquire data with LabVIEW

Acquiring data with LabVIEW is most easily accomplished by using data acquisition hardware and signal conditioning from National Instruments because LabVIEW and NI hardware are so tightly integrated (see Which NI platform is most appropriate for my test needs for specifics). The DAQmx driver layer that supports NI hardware allows the creation of data acquisition “tasks” for a wide variety of analog and digital input /output hardware.

For non-NI hardware, almost every vendor of measurement and control hardware offers drivers for LabVIEW, and some (maybe ~60-75%) of those drivers are actually well-done. NI even reviews vendor drivers if they submit them for a style and completeness check, but the vendor is responsible for debugging the driver, and hence some are better than others. Buyer beware rules apply.

NXG LabVIEW – What is it?

LabVIEW NXG is the next generation of LabVIEW. This version of LabVIEW is an entirely separate development environment from “traditional” LabVIEW, built from the ground up with a new user interface and lots of built-in tools to help developers implement applications more quickly. LabVIEW NXG 1.0 was released in 2017.

What data acquisition hardware uses LabVIEW?

While there are lots of data acquisition hardware that can interface with LabVIEW, National Instruments (maker of LabVIEW) supplies most of the hardware that uses LabVIEW directly, especially for hardware utilizing LabVIEW Real-Time and LabVIEW FPGA.

There are 4 main NI platforms to consider:

  1. PXI
  2. cDAQ
  3. cRIO
  4. sbRIO

Depending on your needs, one will likely be more appropriate than another. See Which NI platform is most appropriate for my test needs for more.

What is a virtual instrument in LabVIEW?

A virtual instrument, or VI, is like a function in a text-based language, like ‘C’. A VI runs when called and takes input arguments (called controls) and output arguments (called indicators).

Applications are built by having a main VI call one or more subVIs. One unique feature of VIs as compared to the “usual” text-based functions is that each VI has a front panel user interface that holds the controls and indicators. The developer can more easily test the VI by entering values into the controls and reviewing the results in the indicators, all without having to write any test code. Note that, while this feature is great for early debugging, it shouldn’t replace structured testing methods if you want to produce robust applications.

LabVIEW & C++

Can LabVIEW call C++? Yes, if the C++ code is compiled into a DLL. LabVIEW can call DLLs built in any language, since DLLs are a standard format for code modules.

.NET & LabVIEW

Can LabVIEW call .NET? Yes, if the .NET code is compiled into a .NET assembly. LabVIEW can call .NET assemblies built in any language, since .NET assemblies are a standard format for code assemblies.

LabVIEW – what are the pros and cons?

The single biggest advantage of LabVIEW lies in its ability to quickly facilitate taking measurements.  The biggest disadvantage of LabVIEW is that it’s a proprietary language. Check out Advantages and disadvantages of LabVIEW for a list of the main pros and cons of LabVIEW.

How to add comments in LabVIEW?

Double-click on an empty area of the block diagram and start typing. Later versions of LabVIEW let you drag an arrow from the comment to an item on the block diagram to associate more clearly the comment with the code of interest.

How do I comment out LabVIEW code?

Usually, the Diagram Disable Structure is used, but you may also want to use the Conditional Disable which allows you to disable code based on the execution environment, such as if you are running code in an executable or a development environment. You can also create your own condition disable symbols for each project, similar to a #define in ‘C’ and subsequent usage of #ifdef in the code to demarcate sections of code to include or not in the compilation.

Next Steps

Need a LabVIEW consultant to take the LabVIEW off your plate? Do you work for a US-based manufacturer? Reach out here for a chat.