Remote Usage of NI-VISA with Ethernet Expansion Chassis

Updated Mar 27, 2020

Reported In

Hardware

  • NI-9149
  • NI-9148
  • NI-9147
  • NI-9146
  • CompactRIO Chassis
  • NI-9870
  • NI-9871

Issue Details

I would like to use my NI-9870 or NI-9871 VISA Module in a daisy-chain configuration using any CompactRIO Chassis and any of the EthernetRIO expansion chassis mentioned in the Reported In section.
I successfully followed the instructions in the whitepaper: Connect an Ethernet RIO Expansion Chassis to a Secondary Ethernet Port on a Real-Time Controller

When starting my Project using only the EthernetRIO chassis and my host computer I can successfully open a VISA Ressource on either the NI-9870 or NI-9871.
When I try to access a VISA resource from my CompactRIO system using the daisy chain configuration from the whitepaper, I receive 

"Error -1073807343 occurred at VISA Open 
Possible reason(s): 
VISA:  (Hex 0xBFFF0011) Insufficient location information or the device or resource is not present in the system." 

Solution

The error message is received when the access device is not able to find the VISA resource name on the Ethernet RIO expansion chassis. 

To solve this issue follow the troubleshooting steps:

 

  1. Make sure you updated to the latest available firmware through NI-MAX.
  2. Install the NI-VISA Remote Passport Software on your CompactRIO Chassis using NI-MAX.
  3. Use a programmatic readout of the available VISA resources on the EthernetRIO Chassis using the VISA Find Resource function with the visa://<hostname>/?* expression to validate available VISA resources on the remote IP address.
  4. After each reboot of the EthernetRIO and CompactRIO chassis it may take a couple of seconds until the VISA resources are available. 
  5. If you are using a static IP and a LinuxRT system, it maybe necessary to add a line to /etc/hosts so your cRIO System is able to resolve it's own hostname. Follow these instructions to access you cRIO using a remote shell. Then navigate to your hosts file under /etc/hosts and add the following line:
Static IP Address "cRIO Name and Serial Number" "cRIO Name in Max"

e.g.:

192.168.0.10 NI-cRIO-9033-01B381D6 NI-cRIO-9033