Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Errors -1074000000 and -1073807339 with Tektronix 7000 Series Instrument Driver Example Programs

Hello all,
I'm attempting to program a Tektronix DPO 7254C Oscilloscope using LabVIEW 2011 with the Tektronix 7000 Series Instrument Driver:
OS: Win 7
VISA driver: 5.1.1
Connection to scope: ethernet crossover cable
I run the example programs:
Tektronix 7000 Series Acquire Waveform.vi,
Tektronix 7000 Series Acquire Continuous Waveform.vi 
and several others without problem. 
However, when I run Tektronix 7000 Series Acquire Multiple Waveform.vi I consistently get error -1074000000:
Instrument reports:
402,"Operation complete"
2241,"Waveform requested is invalid; Waveform data not available; CURV?"
410,"Query INTERRUPTED"
0,"No events to report - queue empty"
I've traced the error down to Tektronix 7000 Series.lvlib:Fetch (Waveform).vi.
In that VI, the error occurs at Step 5.2 when a VISA Read is called after the CURV? command is written (in Step 5.1). The error that comes out of the VISA Read is error -1073807339: Timeout expired before operation completed. Take a look at the attached block diagram screenshot.
Interestingly enough, this same Tektronix 7000 Series.lvlib:Fetch (Waveform).vi is called and gives no errors by the VIs that "work" (e.g. Tektronix 7000 Series Acquire Waveform.vi).
So in other words, Tektronix 7000 Series.lvlib:Fetch (Waveform).vi is called by some example programs and gives no errors, but is called by other example programs and gives error -1073807339.
That VISA Read should read a string which contains the number of digits that make up the entry for the number of bytes. It is obviously empty when it is called by the examples that don't work (because VISA Read gives an error). On the other hand, it contains a #5 when called by example programs that work, which is properly converted to an integer 5 when passed through the Scan from String function. Yes, I've tried to just plug a constant "#5" string into the Scan from String but the subsequent VISA Read will just error out.
That error -1073807339 is eventually converted to error -1074000000 when it passes through Tektronix 7000 Series.lvlib:Error Query.vi which is in the Tektronix 7000 Series.lvlib:Read (Multiple Waveforms).vi.
I am not editing any code, simply running example programs and I get these errors. Anybody have an idea why? The same error occurs when I call the example program Tektronix 7000 Series Edge Triggered Acquisition Waveform.vi.
I've adjusted the VISA Timeout (with a property node) to several seconds without success.
I've looked at these posts, but they don't solve the problem:
Thank you!
0 Kudos
Message 1 of 23
(8,908 Views)

What's the protocol you are using? VXI-11 or Raw Socket?

 

As I know, tek test with VXI-11 only. For Raw socket, you may do some modify.

 

Actually, you should post this issue to http://www.tek.com/forum/viewforum.php?f=5

0 Kudos
Message 2 of 23
(8,902 Views)

I am using VXI-11 protocol.

 

I took a look at the Tek forums and I'll post over there too. It appears that this is more of a problem with the LabVIEW instrument driver rather than with the command set or the scope itself. Several example programs work and they're not terribly different from the ones that don't work, so I'm guessing it has something to do with the order of calls made by the examples.

 

As an update, I've tried several things such as adding Autosetup.vi, removing the Configure Timebase.vi and so on. The greatest "success" has come with passing false into the "Reset?" input of the Initialize VI. Now the examples that didn't work before will work sometimes. Other times they will give the same error as previous or will give another error from the Error Query.vi that also registers as Error -1074000000 but with a different description:

Instrument reports:
221,"Settings conflict"
0,"No events to report - queue empty"

 

This stems from the scope not being reset and so inheriting the settings from the previous examples run. I haven't been able to consistently isolate what those settings are that allow the nonworking examples to run.

0 Kudos
Message 3 of 23
(8,883 Views)

As an update, I've attached the smallest possible block of code that gives the error I referenced above:

 

Error -1074000000

Instrument reports:
402,"Operation complete"
2241,"Waveform requested is invalid; Waveform data not available; CURV?"
410,"Query INTERRUPTED"
0,"No events to report - queue empty"

 

I can edit the attached code and get no error if:

- I set the "Reset?" input to the Initialize.vi to False

- I remove the Configure Channel.vi

 

Not sure yet why the error keeps occurring though...

0 Kudos
Message 4 of 23
(8,833 Views)

Oh also, the "GIVES ERROR.vi" doesn't give an error if I replace the Configure Channel.vi with an Autosetup.vi.

0 Kudos
Message 5 of 23
(8,831 Views)

Hello B Spears,

 

This is Jeff in Applications Engineering at NI. I would like for you to try this VI to see if it gives the same error.

 

Regards,

 

Jeff L.

0 Kudos
Message 6 of 23
(8,794 Views)

Hi Jeff,

I just tried it and yes, it gives the same error.

0 Kudos
Message 7 of 23
(8,742 Views)

B Spears,

 

How many waveforms are you attempting to measure with your instrument? My thought is that the device is giving an error when it is being configured for multiple waveform measurements but it doesn't actually read multiple waveforms.

 

Regards,

 

Jeff L.

0 Kudos
Message 8 of 23
(8,724 Views)

Hi Jeff,

I'm pretty sure that's not the problem because the last VI I attached, "GIVES ERRORS.vi" only acquires from one channel and gives the error. However, if I don't reset with the Initialize VI or put in an Autosetup.vi instead of the Configure Channel.vi, or even remove the Configure Channel.vi altogether I don't get errors.

 

It appears that the error occurring is independent of the number of channels running, but more closely related to what the Configure Channel.vi is doing. I'm pretty sure that's the source of the error because all the example programs that cause an error call that VI, whereas the examples that don't give an error use Autosetup.vi instead. 

 

So, to reiterate, it appears that when Reset is true to the Initialize.vi and Configure Channel.vi is used, this error occurs. Now we need to figure out why that is so we can fix it!

0 Kudos
Message 9 of 23
(8,717 Views)

Hello B Spears,

 

We are in the process of acquiring a Tektronix 7000 Series scope so that we can verify and debug the error that you're experiencing. We will post an update once we know more.

 

Regards,

 

Jeff L.

0 Kudos
Message 10 of 23
(8,676 Views)