Table Of Contents

Custom Device FAQs

Last Modified: June 10, 2021

Answers to common questions about creating a custom device.

Am I qualified to create a custom device?

Creating a custom device requires specific knowledge and skills. The following table displays the specialized experience areas you need to successfully create a custom device.

You can gain this experience through taking NI educational courses and earning certifications.

Experience area Description
LabVIEW Application Development

To develop a custom device, you must thoroughly understand LabVIEW programming and application architectures. NI recommends a Certified LabVIEW Developer (CLD) level of expertise before beginning development of a custom device.

LabVIEW Real-Time Application Development

As custom devices execute within real-time systems, you must be familiar with programming for real-time operating systems (RTOS) and specialized LabVIEW development techniques for developing real-time applications.

VeriStand Background

To develop a custom device, you must fully understand the VeriStand Engine.

When do I need a custom device?

VeriStand supports most real-time testing applications. Before pursuing a custom device, you should first try to meet your needs with the built-in functionality. If you cannot meet your needs using the built-in VeriStand features, you can extend the functionality with a custom device. The following table lists situations where a custom device is best suited.

Situation Rationale
Integrating VeriStand with third-party hardware

If the hardware you need to integrate with VeriStand is not natively supported, you may be able to integrate it by creating a custom device.

Implementing a measurement or generation mode that VeriStand does not support

If VeriStand does not support the measurement or generation mode you need for your hardware type, you may be able to implement it using a custom device.

For example, VeriStand supports single-point hardware-timed analog acquisition using DAQmx. However, VeriStand does not support force or torque measurements for analog DAQ channels. You can implement this measurement mode as a custom device.

Implementing additional features that VeriStand does not support

A VeriStand project may require a feature that VeriStand does not provide. You can extend VeriStand to meet your needs through a variety of methods. Custom devices are best suited for implementing features that require or use VeriStand channel data on the execution host.

For example, the Embedded Data Logger allows you to log VeriStand channels to a TDMS file without first sending channel data back to the Workspace, as with high-speed streaming. However, if you need to display the previous test results on the workspace while running a new test, a custom workspace object may be more appropriate than a custom device.

If you do not need the full range of custom device functionality, you can fulfill your requirements by converting a LabVIEW VI into a compiled model. Other alternatives include utilizing workspace tools, implementing custom FPGA bitfiles, and exploring the various LabVIEW and .NET APIs that ship with VeriStand.

When do I need a hardware custom device?

Before you begin developing a custom device to interact with unsupported or third-party hardware, NI recommends you evaluate the data requirements of the device and the availability of device drivers and APIs. To support third-party hardware, a custom device must call a hardware or instrument driver. If a hardware or instrument driver does not exist, you will need to either create the driver yourself or ask the vendor for that device for a driver.

Answering the following questions can help you determine whether a custom device is feasible for a specific hardware device:

  • Does a LabVIEW instrument driver exist for the device?

    You can search for instrument drivers on the Instrument Driver Network and NI Hardware Drivers pages.

  • Is a hardware driver/API available for the device and easy to use?
  • If necessary, is the hardware driver executable in LabVIEW Real-Time Module?

    Refer to Verify Your DLL Is Executable in LabVIEW Real-Time for more information about testing DLLs for real-time support.

  • Can you meet the hardware requirements by passing LabVIEW 64-bit double-precision floating point numbers to and from the custom device during steady state operation?

    If the hardware driver returns a vector, structure, or any non-DBL data, you cannot pass the data directly from the custom device to VeriStand. You must coerce the data or design an alternative communication mechanism to pass data from the custom device to the rest of the system.

Recently Viewed Topics