Programmatically Discover CompactRIO XNET Modules in NI LabVIEW

Updated Aug 28, 2019

Reported In


  • CompactRIO Controller


  • LabVIEW
  • LabVIEW FPGA Module
  • LabVIEW Real-Time Module



Issue Details

I am trying to create a LabVIEW program on my CompactRIO which programmatically detects all C Series XNET modules on my CompactRIO chassis. However, even after I manually add the XNET modules to the Project Explorer, why does my application fail to detect my XNET interfaces?


When using a C Series NI-XNET module on a CompactRIO chassis, the communication between the NI-XNET RT driver and module does not exist in the default FPGA VI that ships with the CompactRIO. Before using NI-XNET features or implementing an XNET module discovery routine, you must first compile and run an FPGA VI on the chassis which contains the required communication logic for XNET modules.

You can refer to the Getting Started with CompactRIO section of the NI-XNET Hardware and Software Manual for more detailed instructions on how to discover NI-XNET C series modules on a CompactRIO. You could also use the LabVIEW community example Programmatic Discovery of CompactRIO XNET C Series Modules in LabVIEW for XNET module detection on a cRIO.

Additional Information

On older CompacRIO it is necessary to compile and deploy a blank FPGA bitfile to be able to use the NI-XNET module in Real-Time. If you use these older CompactRIOs you also need the LabVIEW FPGA Module to be able to compile the bitfile. Modern CompactRIO have no need for that blank FPGA bitfile any more as mentioned in the document : Do I Need to Compile a Blank Bitfile for NI-XNET in VeriStand.