LabVIEW Real-Time with USB Frequently Asked Questions (FAQ)

Updated Jul 28, 2023

Reported In

Hardware

  • USB 3.0 Cable

Software

  • LabVIEW Real-Time Module

Driver

  • NI-DAQmx
  • NI CompactRIO

Issue Details

I want to use USB connectivity as part of my LabVIEW Real-Time application. Are there any caveats or limitations I should be aware of?

Solution

The following is a list of frequently asked questions (FAQs) regarding the use of USB devices with LabVIEW Real-Time:
  • Does LabVIEW Real-Time support USB connectivity?
    As of LabVIEW Real-Time 8.6 and later, UHCI (low-speed) and EHCI (high-speed) USB devices such as thumb drives and external hard drives are supported for real-time targets with onboard USB hardware. OHCI USB devices are not supported.
  • Can you hot-swap USB drives?
    Yes, a USB drive is hot-swappable because you do not have to power down the system before removing the drive. There is no special command needed to remove the device before pulling it out. However, do not remove USB drives if a file read/write operation is in progress.
  • Can you have more than one USB drive at once?
    If the real-time target has more than one port for onboard USB hardware then the device can support more than one USB drive at once. Each USB drive will have a different letter.
  • Can you remove the internal drive of a real-time system and only use an external USB drive?
    No. It is not recommended to remove the internal drive of any real-time system.
  • ​Does my external USB drive have to be formatted for any particular file system?
    • For PharLap systems, external USB drives can use either FAT32 or Reliance file formats.
    • On VxWorks, the only supported format is FAT32.
    • For LinuxRT, external USB drives should be formatted as be FAT32. For raw NAND devices UBIFS is accepted.
  • What is the purpose of the USB Type-B port on the on my Real-Time controller?
    Some cRIO, sbRIO, and cDAQ controllers feature a USB Type-B port. Connecting your development computer to the USB Type-B port allows you to configure and deploy code to the target as you would with an ethernet connection.
  • What is the difference between the USB Type-C ports on my Real-Time controller?
    Some controllers provide one or more USB Type-C ports with unique features in addition to typical functionality as a USB host.
    • A “Dual Role” port can function as either a USB host or USB device port. When this port is connected to a development computer it is automatically configured as a USB device port. This allows the controller to be programmed from the development computer via USB, similar to the USB Type-B functionality explained above.
    • A “Host” port cannot configure itself as a USB device port and cannot be used to program the controller from a development computer. Some controllers, including all cRIO-904x models, feature a DisplayPort alternate mode on the “Host” port. A monitor can be connected to this port via an adapter to view the Embedded UI.
  • Can I use my USB DAQ device with LabVIEW Real-Time?
    Most USB cDAQ devices are supported on a subset of Real-Time targets. Other USB DAQ devices, including Low-Cost Multifunction I/O devices, are not supported. Support for USB cDAQ devices is outlined below:

Pharlap Support

  • USB cDAQ devices (except the cDAQ-9172 and cDAQ-9179) are supported on PharLap Real-Time systems with DAQmx 9.6 or later and LabVIEW Real-Time 2012 or later.
  • The cDAQ-9179 USB 3.0 chassis is an exception. It is not supported on PharLap Real-Time systems. For information about how to use the cDAQ-9179 on a Linux RT system, refer to cDAQ-9179 USB 3.0 Connection Not Supported on Linux RT.
     

NI Linux RT Support

The following NI Linux RT systems support USB cDAQ devices (except the cDAQ-9172) with the listed driver versions:

  • cDAQ-9132 and cDAQ-9134 - DAQmx 14.1 or later
  • cDAQ-9133 and cDAQ-9135 - DAQmx 14.5 or later
  • cDAQ-9136 and cDAQ-9137 - DAQmx 15.1 or later
  • IC-317x - DAQmx 17.1 or later
  • CVS-1458RT and CVS-1459RT - DAQmx 14.1 or later
  • cRIO-9035 Sync and cRIO-9039 Sync - DAQmx 17.1 or later
  • cRIO-904x - DAQmx 17.6 or later
     

VxWorks Support

  • No USB DAQ devices are supported on VxWorks Real-Time systems.