LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why viWrite works and VISA Write does not (insufficient location information)?

Solved!
Go to solution

Pfff ... Raw socket started sort of to work on two of the PSU's (after several full system restarts).

 

This is a Hercules console with direct plain socket:
Connecting to 192.168.1.202 ...
Connected to 192.168.1.202
*IDN?{0A}ITECH Ltd.,IT-M3223,804634011777270010,0.40-1.21-0.07{0A}
Connection closed
Connecting to 192.168.1.203 ...
Connected to 192.168.1.203
*IDN?{0A}ITECH Ltd.,IT-M3812-32-480,805341011777450003,00.01.0301,408.R,156.R{0A}
Connection closed
Connecting to 192.168.1.201 ...
Connected to 192.168.1.201
*IDN?{0A} <== this one beeps with error on the PSU screen
Connection closed

Crazy. The beep for sure is an issue with the firmware or SCPI parser in the unit on IP 201 what I will have to investigate (something with the PSU, no VISA related, I'll have to investigate, I have seen firmware versions are not the same).

 

The raw socket works with Simple VISA.vi works too with the two PSU's which are answering correctly on plain tcp connection ...

 

However I still don't understand why VXI-11 autodetect is working from VISA test panel (viWrite) and does not from Visa read/write Labview calls ... I suppose that is the issue why the 1st one works and 2nd one not:

BarnaCsenteri_0-1663075785016.png

 

As of firewall - that should not be issue since it is completely disabled from Windows settings (and the plain TCP with Hercules works).

0 Kudos
Message 11 of 12
(628 Views)
Solution
Accepted by topic author BarnaCsenteri

Another weird stuff - I got a feedback from NI support that I should try synchronous VISA just for a test ...

 

Guess what - the error disappears and the IDN query starts working.

 

I have no idea why sync VISA works and async does not with VXI-11 VISA link but both are working ok with raw socket type ...

 

Other than auto detectable VXI-11 instruments having some parallel autodetection code with write which becomes sequential with sync and have some collision with async write (with possibly crappy implementation in the instrument itself).

 

Anyway sync VISA is not really ok for me - this setup is huge with ~40 instruments and 4 parallel threads (running the exact same code but with different instruments) which needs to be really parallel, I cannot permit sequential VISA (unless there is a way to have it sequential per VISA link but not between them). 

 

0 Kudos
Message 12 of 12
(594 Views)