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.
Solved! Go to Solution.
A good place to start might be to check the error-output of GPIB Open and GPIB Trig of the INTFC functions.
It looks like this function does not throw any error. I checked it by probing the error cluster at the output of TRG function.
The context-help says: "Triggers multiple devices simultaneously".
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
can you please describe it by LV block diagram? I am not sure If I would be able to reproduce, what you said.
Using that GPIB "TriggerList" function it seems to be working. Is it possible to do this using VISA?
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.
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.