LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Visa Read Timeout on High Resolution Mode

I'm trying to control an Advantest Q8347 Spectrum Analyzer with a LabView program. One of the objectives of the program is to export the X and Y axis data to a .txt file. When I'm in the normal resolution mode, it runs perfectly, I can save the data in the file and it does what I want. The problem is, when I change to the High Resolution mode and try to export the data I get the Timeout Error -1073807339 in the Visa Read. I've already increased the timeout in the device, and also put a delay between the Visa Write and the Visa Read block, and I still have the same problem. The communication works, if I try to send and read the same command directly to the instrument using the Interactive IO it works no matter the resolution. Any idea on how I can fix the Timeout Error in the High Resolution Mode?

Download All
0 Kudos
Message 1 of 13
(2,516 Views)

When in the interactive mode, how long does it take to get the data when in the high resolution mode?  What do you have as the timeout?


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 13
(2,505 Views)

In the interactive mode it takes around 5000ms to get the data and the timeout is set in 7000ms

0 Kudos
Message 3 of 13
(2,499 Views)

@matt_gf wrote:

In the interactive mode it takes around 5000ms to get the data


Just to be clear, is that the get all of the data or just for the data to start coming in?


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 4 of 13
(2,467 Views)

I'm guessing this instrument uses SCPI to interface with the instrument.  Usually (but not always), you can turn a SCPI command into a query by adding ;*OPC? to the end of the command (followed by a VISA read).  The instrument will then process the command - in this case, it will finish gathering data - and place a "1" (or something similar) in the read buffer for the VISA read to read.  Then do whatever it is you do to get the data.  Check your programmer's guide to see exactly how to implement this, or if it's even possible.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 5 of 13
(2,464 Views)

Are you increasing the timeout of the VISA connection?

 

You may not be waiting long enough to the device to send all of the data.

 

NI IO Trace will show you is happening and may give you some insight.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 6 of 13
(2,462 Views)

Hello, I'm working with the same instrument and unfortunately it does not communicate with SCPI standard, neither IEEE 488.2. This spectrum analyzer works with 488.1. I am trying to figure out a way to read the status byte to get the service request from the device to know when the measurement is finished, but I don't know how to do it with LabVIEW. There is a command "SRQ" in the user's manual that enables the SRQ signal transmission, however the "SRQ?" command only returns the state I previously set. So I want to get the status byte using general 488.1 communication to check if the Service Request signal is working. Do you know how can I achieve this?

0 Kudos
Message 7 of 13
(2,378 Views)

I just figured out a way to make it work. Somehow the LabVIEW VISA function "read status byte" works even though "STB?" does not. With this signal I managed to implement a while loop to wait the signal go to 1.

0 Kudos
Message 8 of 13
(2,331 Views)

Put the splat, "*", in "*STB?"


"Should be" isn't "Is" -Jay
0 Kudos
Message 9 of 13
(2,325 Views)

@JÞB wrote:

Put the splat, "*", in "*STB?"


I know it's off topic but back in the 90's my company used an ancient UNIX based MRP system and in it the Exclamation Point "!" was called a "splat", the Asterisk "*" was called a "star".

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 10 of 13
(2,319 Views)