VISA Error 0xBFFF00A7 and NI-RIO Error -63040 Under a CompactRIO Controller in MAX

Updated Jul 30, 2023

Reported In

Driver

  • NI-RIO
  • NI-VISA

Issue Details

I’ve connected my CompactRIO target to my network. However, when I look under remote systems in Measurement & Automation Explorer (MAX) on my host PC, I can see the controller, but under Devices and Interfaces I see both VISA error 0xBFFF00A7 and NI-RIO error -63040.
FPGA Error -63040.jpg
 

Solution

  • In some cases corrupted software installed on the host PC can cause this issue, make sure you installed software in the following order: 
  1. LabVIEW ADE.
  2. LabVIEW Real-Time Module.
  3. LabVIEW FPGA Module.
  4. NI CompactRIO drivers.
  • If you have just moved a real-time controller to a new network environment, you might have to reconfigure the IP address of the controller. Here are two types of common operation steps:

Static to Dynamic Network
If you move your controller from a network where it was assigned a static IP address to another network where it will be dynamically assigned an IP address, the controller will initially show up, but still needs reconfiguration to avoid the errors. 
  1. Open Measurement & Automation Explorer.
  2. Expand the Remote Systems Menu.
  3. Highlight the controller in MAX and select Obtain IP address from DHCP server and click the Apply button on the top bar.
  1. When prompted, reboot the controller.
  2. The error should not be there anymore.
Dynamic to Static Network
If you move your controller from a network where it was dynamically assigned an IP address to one where it needs a static IP address, the steps listed below should be followed to change the IP settings:
  1. Set the IP RESET dip switch on the controller to the ON position. On newer cRIO models the IP RESET dip switch is not present.  In this case IP RESET can be switched on in Measurement & Automation explorer  in the Controller Settings tab for the cRIO. 
  2. Reset the Controller.
  3. After resetting the controller move the IP RESET dip switch back to the OFF position.
  1. Open Measurement & Automation Explorer.
  2. Select Edit the IP Settings and select the Suggest Values option.
  3. Click OK for the suggested values.
  1. Click Apply.
  2. When prompted, reboot the controller.
  3. The Controller should now be configured with a static IP address.
If you are still seeing a VISA or NI-RIO error after reconfiguring your system, right-click your CompactRIO controller in MAX and select Reboot.  If this does not work, try right-clicking Devices and Interfaces and select Refresh

Additional Information

The most common cause for these errors is an incorrectly configured IP address. When moving a real-time controller from one type of network to another, you will have to reconfigure the IP address of your CompactRIO controller accordingly.

Please refer Connecting to a LabVIEW Real-Time (RT) Target with a Crossover Cable , if you are using a crossover cable to connect the CompactRIO directly to your computer.

If the IP address is configured correctly and these errors still occur, there may be something else impeding communication. Common problems include Windows Firewall and multiple network cards. 

Make certain that the device is compatible with the version of RIO installed on the host computer. This may be subtle, but should be listed in the software support for the particular device. For example, a CompactRIO 9012 controller is supported in RIO 2.1.0 and later if it is hardware revision G or prior, but needs RIO 2.4.1 if it is revision H or later. The part number contains the revision as the last character before the hyphen. For example, if the part number is 192168G-01L, the hardware revision is G.

Also be sure that the controller has enough free memory to function. For example, installing all of the optional add-ons (in newer versions of LabVIEW Real-Time) to the cRIO-9002 takes up the majority of its 32 MB of memory without deploying any code. One of the signs that there is no remaining memory on the target is the NI-RIO Error -63040, as the target does not have enough memory to carry out the required network communication