I have two racks of test instruments that I control using MATLAB (R2018a) Note that a different PC controls the instruments at each rack.
All of a sudden, and for no obvious reason, I've started having communication problems with one of the instruments (a Keysight B2962A Power Source) on one of the racks. (Call it Test Rack A.)
I create a VISA object to the instrument using the command:
arb_handle = visa('agilent',sprintf('TCPIP0::%s::instr0::INSTR', WW.XX.YY.ZZ)
where WW.XX.YY.ZZ is the IP address of the B2962A.
I then open a channel to the B2962A with the command:
This has worked in the past. However, I'm now getting an MException error:
identifier: 'instrument:fopen:opfailed'
message: 'Unsuccessful open: Could not open VISA object. Use INSTRHWINFO for a list of available configurations
As I wrote, this method of creating arb_handle and using fopen(arb_handle) has worked in the past. I can ping the B2962A using WW.XX.YY.ZZ, so it's definitely on-line.
We have not knowingly changed anything but it's possible IT did something. Possibly something associated with a Windows Update, possible a firmware update to the B2962A, possibly something else.
I can use a similar technique to create a VISA object and open a communication channel for the other instruments at Test Rack A.
In addition, I can use MATLAB on the PC at Test Rack A to communicate with the B2962A at Test Rack B. It's only the B2962A at Test Rack A where the communication attempt fails. Similarly, an attempt to use MATLAB on the PC at Test Rack B to communicate with the B2962A on Test Rack A fails. In other words, I can use MATLAB on either Test Rack A or Test Rack B to comunicate with the B2962A on Test Rack B, but I cannot use MATLAB on either Test Rack to communicate with the B2962A on Test Rack A.
I did discover that if I change "instr0" to "hislip0" (High Speed LAN Instrument Protocol) when I create the VISA object, I can then use MATLAB to communicate with the B2962A at Test Rack A.
I'm looking for suggestions to help me figure out what changed, and why something that worked in the past no longer works.