LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how to use group execute trigger for multiple instruments on the same bus

Solved!
Go to solution

Dear all, 

I am trying to trigger a couple of instruments (voltmeter, interferometer, impedance meter) on the same bus to obtain measurements at the same time.

I switch all the instruments to wait for group execute trigger and then I use function " wait on event" (SRQ) until data is ready. Then I read data. 

If I do this separately for each instrument, the code works fine. At that point the group execute trigger function is tied with VISA address of a particular instrument.

 

However, I don't know how to properly trigger all these three instruments together. I found that instead of address of a particular instrument (e.g. GPIB0::17::INSTR) I should use address of the controller(GPIB0::INTFC). Even though I do this, I still get a timeout error coming from "wait on SRQ" function. 

It looks like if instruments did not get that trigger signal.

0 Kudos
Message 1 of 14
(2,062 Views)

Hi Ivan,

A good place to start might be to check the error-output of GPIB Open and GPIB Trig of the INTFC functions.

0 Kudos
Message 2 of 14
(2,030 Views)

It looks like this function does not throw any error. I checked it by probing the error cluster at the output of TRG function.

 

0 Kudos
Message 3 of 14
(2,000 Views)
Solution
Accepted by topic author IvanRyger

Check-out \Instrument_IO\GPIB\488.2\"TriggerList".

The context-help says: "Triggers multiple devices simultaneously".

 

0 Kudos
Message 4 of 14
(1,992 Views)

Thank you, I will try it.

Ivan

0 Kudos
Message 5 of 14
(1,981 Views)

Set all the instruments to use Bus Triggering, arm all the triggers, send  a *TRIG command and all the instruments should trigger at the same time

-------------------------------------------------------------------
Unfortunately, most readers of this Forum, including some real Experts, have not mastered the skill of being able to read the code that Posters fail to post. If we cannot see "what you did wrong", we are unable to tell you how to fix it. (Bob Schor 28 August 2018)
0 Kudos
Message 6 of 14
(1,978 Views)

can you please describe it by LV block diagram? I am not sure If I would be able to reproduce, what you said.

Thank you.

0 Kudos
Message 7 of 14
(1,975 Views)

Dear all,

Using that GPIB "TriggerList" function it seems to be working. Is it possible to do this using VISA?

0 Kudos
Message 8 of 14
(1,955 Views)

I had never seed the GPIB trigger list, that's a fairly obscure feature.  Any idea what the delay between triggers is?  I'd expect it would vary with GPIB cable length and number of instruments connected.  I'm guessing here that timing of the start of each instrument isn't that critical (+-1s)  Since each instrument has to receive and process the bus trigger.

 

I don't think there's a VISA mechanism to do this, just use the GPIB one.  But this is interesting looks like NXG will have one - http://www.ni.com/documentation/en/gpib-for-labview-nxg/latest/manual/gpib-4882-functions-and-visa-f...

 

I've always used hardware triggering if I want synchronous execution, one instrument sends the trigger out to trigger in of all the other instruments if I need to make simultaneous measurements. 

 

If I just need to trigger a bunch of instrument (set voltage, turn on voltage, set laser power, turn on laser, measure) then I just setup each instrument in LabVIEW using standard VISA.

 

 

0 Kudos
Message 9 of 14
(1,940 Views)

Thank you for detailed description.

 

The reason why I need to trigger all the instrument exactly at the same time is due to ramp voltage applied on sensor. Its characteristics are thus time-varying. If there is a time lag between measurements of two instruments, they won't correspond to the same state of the sensor.

Unfortunately, some of them do not have an external TTL trigger input. Otherwise, it would be easy.

 

Ivan

0 Kudos
Message 10 of 14
(1,930 Views)