This is a strange one. I have an instrument (B&K Precision 2563 MSO) that I am trying to send messages to/from via its Ethernet connection. In MAX, I can add the instrument and use the test panel to send an *IDN? query. Everything works as expected. I can also do the same thing when I use the Instrument I/O Assistant, but that ONLY works so long as the panel is open, meaning that when I hit the "Run" button on the assistant, it works properly and I can parse the information when it is returned.
When I do the smallest possible VI, or when I close the I/O Assistant and attach wires to it, I always get a -1073807343 error (0xBFFF0011) on the write. I have tried this out on LabVIEW 2009, 2015, and 2017 with the same results. The primary machine (LabVIEW 2015) is a Windows 10 machine and is new, out of the box, with nothing on it but LabVIEW, the drivers for the instrument from the company, and Wireshark (which was added after the problem surfaced in order to do the following debugging).
I threw on a copy of Wireshark so that I could see the messages to and from the instrument. When I used NI MAX, the VXI-11 messages looked good. When I used the smallest possible open-write-read-close VI's in LabVIEW, the messages looked... ummm... smaller? I'm no expert on VXI-11 protocol, so no idea on this one.
SO... I coded up some TCP/IP VI's and copied the important parts of the good VXI-11 messages that NI MAX generated when running the IDN query. And they ran with no issue and I got the data back that I expected. I'm enclosing a screen shot of the VI with both parts -- VISA read/write and TCP/IP read/write.
Though I know that I could re-code all of the drivers to use TCP/IP VI's, that would be a monstrous time-sink. I would like to get the VISA code working. Please advise.
↧
VISA TCP/IP error when using LabVIEW but NOT when using NI MAX
↧