Communication Between NI-9149 Expansion Chassis and cRIO Controller

Updated Dec 19, 2023

Reported In


  • NI-9149
  • CompactRIO Controller


  • LabVIEW FPGA Module
  • LabVIEW Real-Time Module

Issue Details

I am using a NI-9149 Ethernet expansion chassis, connected either to the same network or to the secondary Ethernet port of my cRIO controller (such as cRIO-9039 controller). I would like to program the 9149 chassis in FPGA Mode.
How can I transfer data acquired from the 9149 FPGA VI to the real-time application running on the cRIO controller?


To communicate between the FPGA VI running on NI-9149 and the real-time VI running on the cRIO controller you can use the same communication techniques that you can use to exchange data between the cRIO controller and the local cRIO FPGA: In the Real-Time VI, you will need to call Open FPGA Reference VI to be able to communicate between the host VI (running on the cRIO processor) and the FPGA VI (running on the FPGA of 9149): when you configure this function, ensure to point to the proper FPGA target in your LabVIEW project.

Additional Information

For a complete overview of all possible communication tecnhiques, please refer to Understanding Communication Options Between the Windows HMI, RT Processor, and FPGA white paper.