Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

VISA init fails on cRIO, but MAX and project-connected run works

I have a cRIO-9074 with a deployed build written in LV2016 which is connected to some power supplies via a 9870 module.  NI-VISA 16.0 and NI-Serial 15.0.  MAX shows all serial ports and can communicate to all devices successfully.  If I connect to the cRIO from inside the project and run the VI there, everything responds as it should.

 

The problem occurs only when I actually run from the deployed software.  All serial connections fail to initialize.  After trying several things, I added a "VISA Find Resource" to help diagnose, thinking perhaps something odd was happening with port addressing.  What I found is that the deployed code finds no serial ports at all.  However, the code running from the project shows ports matching what is in MAX, as expected.

 

I have reinstalled the software suite for LV16 onto the cRIO in case a corrupt installation of VISA 16.0 or NI-Serial 15.0 may be to blame, but that did not solve the problem.  Any ideas for further troubleshooting are welcome.

0 Kudos
Message 1 of 2
(494 Views)

To update, the problem still exists after trying a number of additional things.  I compared the installed software to another cRIO where everything is working fine.  Nothing was missing (NI-Serial, NI-VISA, etc.).  I swapped out the cRIO with another 9074.  I updated all the software to 2019.  Nothing seems to help so far.  I even tried some code to initialize one of the power supplies against each of the ports sequentially in the event a localized RT run reordered the port designations, but all failed to respond.

 

The biggest leap I have made with the replacement cRIO is that the RT run does report all serial ports (built-in and the 4 on the 9870 module).  What is surprising about this change is this improvement happened using the same software loadout as on the previous cRIO (lifted and reapplied using the RAD utility).

 

The main problem still remains: MAX can see all ports and communicate with the two power supplies connected to the cRIO.  Connecting to the VI from the project and running the VI from the IDE, everything connects, talks, and responds to commands as expected.  As soon as I allow the cRIO to run on its own, VISA errors indicate it cannot find the devices (though it does see the ports).

 

Experience keeps telling me there must be software missing on the cRIO compared to an IDE run, but from what I can see, I am not missing anything compared to any of my other running 9074's using 9870 modules.  I would love any suggestions for further troubleshooting folks might have.

0 Kudos
Message 2 of 2
(374 Views)