Programmatically Find Information of the cRIO Modules

Updated May 4, 2023

Reported In


  • cRIO-9063

Issue Details

  • I would like to be able to see my module information (name, serial number, vendor, module ID, etc.) within my LabVIEW code. Is there any way to do this programmatically?


For cRIO-904x and cRIO-905x:
  • It will be possible to use the System Configuration API to gather information about devices on both local and remote systems. To see an example of how to do this, navigate to the Show All Hardware Example (NI Example Finder --> Hardware Input and Output --> System Configuration --> Show All Hardware)

For other cRIO chassis:
In older cRIO models as the cRIO-903x and cRIO-906x, C series modules handled by NI-DAQmx won't be detected by the System Configuration API. Because of the lack of DAQmx capabilities in these controllers, the following alternatives can be considered: The example below shows how to get some information for the NI-9104 (Scan Engine mode) and NI-9472 (FPGA target):

  • A second alternative is using the System Management and Information (SMI) Library. The System Management and Information (SMI) Library allows for programmatic retrieval of system configuration information for NI RIO hardware (CompactRIO, Single-Board RIO, myRIO, MXI-ExpressRIO, and EthernetRIO) and Real-Time CompactDAQ, as well as Real-Time PXI controller and chassis information.

Additional Information

C series modules handled by drivers different than NI-DAQmx (i.e Serial, XNET, etc) can be detected and its information can be retrieved with the System Configuration API even if they are inside cRIO models different than cRIO-904x/cRIO-905x.