LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DaqMX Delayed Acquisition

Hi,

I'm using DaqMX for Analog multichannel acquisition with LV7.1
The DAQ starts with a delayed digital trigger.

Everything is working fine. I can even change the delay and the amount of measuring time through the front panel.
So there is no problem in starting, stopping, initializing the DAQMX task.

However, I can not disable the delay or set it to zero once I used a delay.

Is there another property which I should use besides Start.Delay and Start.DelayUnits ?
How can I set the delay to zero once it has been defined to a non-zero value ?
0 Kudos
Message 1 of 4
(2,937 Views)
Hi,

My guess is that you are setting the delay time outside of the loop. Make sure that the Delay property node is inside your acquisition loop. You are probably doing a finite acquistion and you set the Delay property outside of the loop with your Daqmx Read Vi. That way you can only set it once. I've tested this with a finite acquisition and by setting the property node inside the loop I can change the trigger delay at run-time and set it to zero when needed.

Regards.

JorisV
0 Kudos
Message 2 of 4
(2,913 Views)
Yes, I's a finite acquisition and the delay setting is INSIDE the loop.
I guess you completely recreate the MX task every time you change a property ?
I do not, I stop it but I don't recreate it.
I use a queued loop to make the acquisition

However I solved my problem by recreating the task if the delay needs to be zero.
If it is zero then I don't touch those delay properties.
If it is non-zero I set them to the desired value.
All the other properties like sample rate, channels, ... can be changed without recreating the task


I'm surprised that you can set it the delay to zero.
I always get this error as in the attached screencopy. It doesn't matter what timebase (Clock, ticks, secs) I choose.


Best regards
Johan
0 Kudos
Message 3 of 4
(2,907 Views)
Hi Johan,

Indeed you are correct that for the Delay function you can never set the time to 0. If you choose seconds or ticks it can never be zero. Example: You need to define a minimum of two ticks. So, the solution you have found seems the only way to do it. So, you need to recreate the task.

Sorry about the previous answer. I didn't really test it with the zero setting. I just tested an example where you set different values for the time delay inside a loop.

Regards.

JorisV
0 Kudos
Message 4 of 4
(2,893 Views)