LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

MSO-X 4000 Read Waveform Timeout

I'm having trouble using the NI instrument drivers for the Agilent MSO-X 4000 oscope. I'm trying to use the trigger on channel 2 to acquire the waveform on channel 1. Currently, I always get this error code : "VISA Read in Agilent 2000 3000 X-Series.lvlib:Wait for Acquisition Complete.vi->Agilent 2000 3000 X-Series.lvlib:Read Waveforms (Single).vi->"

 

The problem comes from Read Waveform vi timing out. This does not occur if I set the trigger characteristic mode to "Auto" instead of "Normal". I've attached a screen shot of parts of the code. The top section is my initialization phase and I use the bottom section to read after the signal is setup. In both Auto and Normal mode, I get a full waveform on the oscilloscope, but obviously with it constantly triggering in Auto mode, I don't get the correct waveform. I'm completely baffled as to why this is happening. I've dug through the forums and someone recommended updating the firmware, which I did to no avail.

0 Kudos
Message 1 of 4
(3,137 Views)
Those images show a lot of broken wires. What did you do to capture them?

In any case, what is the signal to channel 2 that you are trying to trigger off of? I would hope that you first manually set the scope to this configuration and can successfully capture.
0 Kudos
Message 2 of 4
(3,132 Views)
I copy and pasted into ms paint. They're not screenshots.

Channel 2 is an analog "signal on" trigger in my setup. I have manually gotten this configuration to work. In fact, I have this vi written using a DPO4000 series and it works fine. I couldn't get a satisfactory noise level from the DPO, so I replaced it with a MSO.

I have just discovered something else. If I change the trigger source to channel 1 right before Read Measurement, I don't get a time out error, but I also don't get my expected data as the instrument will update the screen at the same time of execution, despite being in stop mode.
0 Kudos
Message 3 of 4
(3,115 Views)

I've figured out the problem after digging through the MSO Programming guide.

 

I believe there's a programming error in the instrument driver that I downloaded from here:

http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=21187

 

I removed the ":DIG;" command from the Initiate.vi (called by Read Waveform.vi) in the MSO Instrument driver and the program works fine. The "Read Waveform.vi" is actually reading the waveform twice using two different commands. The first read (:DIG) clears the screen, so if the oscope is in triggered/single mode, there won't be a waveform to read for the 2nd time and therefore it will time out. If the oscope is in Auto mode, the screen is updated with data so the .vi doesn't time out, but returns garbage data

0 Kudos
Message 4 of 4
(3,046 Views)