LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Pause trigger and T0

Solved!
Go to solution

I have a PXI-6281 M series card and am trying to use a pause trigger to gate acquisition and synchronize two 6281 cards.

 

If the gate activates after the task is started, the T0 of the waveform outputs is based on the task start time.  Any pauses in acquisition result in no gaps in the waveform output.

 

I don't plan to have a pause in the middle of acquisition, but the starting T0 needs to be based on the leading edge of the pause trigger.  Not of the task start VI call.

 

Is there a way to do this?

 

Thanks,

 

XL600

0 Kudos
Message 1 of 5
(3,249 Views)

XL600,

 

I'm having a bit of difficulty understanding exactly what it is you are looking for.

Are you hoping to have a waveform that starts at the same phase no matter how much time has elapsed between the start time and a pause trigger?

 

Thanks,

Alex W.
0 Kudos
Message 2 of 5
(3,193 Views)

No, that's not it at all.  I would like T0 of the first read to be the T0 of the first sample in the buffer.  What I think I'm seeing is even with samples paused after starting the task, T0 is still the T0 of the first sample that would have been in the buffer had the pause not existed.

 

I haven't tried to see if using a start trigger would change that yet.  Can the start trigger be the same as the pause trigger?  I couldn't find any mention of this in any documentation.

0 Kudos
Message 3 of 5
(3,190 Views)

XL600,

 

I also just realized that this is in the LabVIEW board. You may have more luck with Hardware questions in the DAQ board.

 

Thanks,

Alex W.
0 Kudos
Message 4 of 5
(3,187 Views)
Solution
Accepted by topic author xl600

I think I've answered my own question...

 

T0 is latched on the first call of the DAQmx read VI where data is available and has nothing at all to do with the start or pause triggers.  This is described in clear terms here.  T0 is generated by the driver, not the card for M-series DAQ cards.

 

What I used to minimize the delay is an edge detect timing source connected to my acquisition trigger (Which is used to control the start or pause triggers).  I ran this into a timed loop and used the global start time as a timestamp of the 'edge'.  I also sent a notifier to a while loop waiting to read and captured the first T0.  They matched to less than 1 sample clock at multiple rates between 1Hz to 10kHz.  I'm sure there will be some jitter in T0 based on LabView RT priorities but I'm happy the technique works well.

 

An interesting side effect is that T0 in the TDMS log is also latched on the first read in log and read mode (Didn't try log only... might be interesting to find out how that behaves).

 

Thanks for the input,

 

XL600

Message 5 of 5
(3,174 Views)