LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Checking when an output becomes available

Solved!
Go to solution

I typically use error out / error in signals to sequence the execution of my VIs. However, I am using a really old instrument with an old VI (HP 54501A oscilloscope if you are interested). Basically, my task is that I want to trigger the oscilloscope through hardware (BNC cable) and only then acquire data from the oscillloscope.

 

The triggering instrument is an Agilent 33250A function generator (have to use a VISA write to switch its output trigger on). However, how do I correctly sequence the oscilloscope read VI in the code - it must occur immediately after (the excitation is about 200 microseconds long) the output on the agilent is switched on ?

 

There is no error in input to the HP VI. I have thought of writing a dummy or gate that provides one of the inputs to the HP VI (after a calculation) but since the OS is non-deterministic (Linux), there is no way of ensuring that the oscilloscope read will take place at the right time. 

0 Kudos
Message 1 of 9
(4,562 Views)

I take it you have soem sort of connectivity to the scope? 

 

Can you read the trigger status?

 

A common SCPI command on scopes is TRIG?

 

Possibly read it's status regesters.

 

Or you could always run and error cluster through the vi and use a sequence and a 200ms delay to keep the error from just passing right through

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 2 of 9
(4,557 Views)
The HP is GPIB interfaced, so I can read the trigger status. However, that query will take even longer than the quasi-solution I hinted at in my question. So, this won't help.
0 Kudos
Message 3 of 9
(4,548 Views)

Could you explain in more detail the difficulty you are having? If the VIs don't have an error in/error out, it's trivial to add them. Even without them, you could always use a (ugh) sequence structure.

 

I'm curious though. Since you are commanding the function gen to issue the trigger, what's the difference than just doing a software trigger of the scope?

0 Kudos
Message 4 of 9
(4,523 Views)
Solution
Accepted by topic author m-s

I don't know if I understand your set up, but this is how I would do it.

 

Set the 54501A to single sweep mode

 

Set 54501A trigger to the ready and waiting for trigger state

 

Trigger the 33250A

 

(this shoule trigger the 54501A)

 

Check the 54501A trigger status

 

If the 54501A has been triggered acquire data from 54501A

Message Edited by RTSLVU on 01-13-2010 07:32 AM
========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 5 of 9
(4,502 Views)

Since I do not have the manual for this old oscilloscope (we are using this because none of our more modern scopes have a GPIB interface), I am not entirely certain how to set the single sweep mode. Here is what I plan on doing:

 

1. Use an unused channel (in my case 2) as the trigger source (which the 33250A puts out).

2. Set the number of averages on the monitored channels (1 and 4) to 1.

 

Now, I am using the NI developer zone VIs for the 54501a (and they have taught me more about using this scope than the short introduction pdf that I found on the net).

 

I did not find a trigger check VI. I do not mind writing GPIB code for this but since I do not have the manual, I do not know what the checking command is (?TRG ?). 

0 Kudos
Message 6 of 9
(4,465 Views)

You can download the programming manual from the Agilent website.

 

Ben

0 Kudos
Message 7 of 9
(4,455 Views)

I bet Dennis has the entire command set memorized 🙂

 

But if not, and you really need a manual, there are some programmer's reference ones for purchase here:

 

http://www.manualsplus.com/catalog/mp_find.php

 

-AK2DM

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 8 of 9
(4,450 Views)

Thanks for the response, and the question.

 

The issue here is that the fngen puts out a two period burst of a custom waveform. I want to monitor the response as a function of time during that burst.

 

With the software trigger, I do not know (I could be wrong on this), whether the process of excitation and measurement are going to be sync'ed. That is why I want to use a TTL signal from the fngen to trigger the scope on an unused channel (channel 2), do a single sweep and get the waveform.

 

For sanity check purposes, I am using channel 4 on the scope to monitor the burst and channel 1 for the response. That way, I hope to get both the signals on the same time scale and see if there is a triggering delay imposed by the coax BNC connecting the fngen to the scope.

 

A later post has really cleared up one of the cobwebs in my mind (as I think of it) - I just need to check if it was triggered *after* the measurement is complete and get the waveform.

 

And a big thanks to whoever suggested that I search for the manual on Agilent's website. Here is a link:

 

http://www.home.agilent.com/agilent/techSupport.jspx?pid=322798&pageMode=MN&cc=US&lc=eng

 

Duh 🙂

 

I will keep you guys posted to see if this works. 

0 Kudos
Message 9 of 9
(4,422 Views)