Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Triggering AO with ai/StartTrigger and with certain delay

Hi,

 

I have a USB 6366 simultaneous DAQ and want to use ai start trigger to trigger AO as well, but with certain delay time. Basically I want AI task to start first and then start AO task 10ms later.

 

I used below code to use AI start trigger for AO:

DAQmxErrChk (GetTerminalNameWithDevPrefix(AItaskHandle,"ai/StartTrigger",trigName));   // function to get AI trigger name
DAQmxErrChk (DAQmxCfgDigEdgeStartTrig(AOtaskHandle,trigName,DAQmx_Val_Rising)); // Set AO start trigger as AI start trigger 

 

And below code will start both AI and AO tasks at the same time, but want AO start 10ms later...

DAQmxErrChk (DAQmxStartTask(AOtaskHandle));
DAQmxErrChk(DAQmxStartTask(AItaskHandle));

 

 

Can I change the duration of AI start trigger so I can use its falling edge to trigger AO? If so, how should I do?

DAQmxErrChk (DAQmxCfgDigEdgeStartTrig(AOtaskHandle,trigName,DAQmx_Val_Falling)); // Set AO start trigger as AI start trigger 

 

0 Kudos
Message 1 of 3
(725 Views)

I don't know the text language syntax, but in LabVIEW there's a "trigger property node" that let's me set "trigger delay"=0.010 and "delay units"=seconds.  It ran without error for me on a simulated lower-end X-series device, so I expect it should be supported for your higher-end real device.  But again, I don't know the text language syntax needed to configure it that way.   It's probably available from any of the C variants and probably Python, but based on prior conversations I'd be less confident about Matlab support.

 

 

-Kevin P

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
0 Kudos
Message 2 of 3
(699 Views)

Thanks for the tip. I found similar old post for such problem and used its suggestion below. It seems working.

 

DAQmxSetStartTrigDelayUnits(AOtaskHandle , DAQmx_Val_Seconds);
DAQmxSetStartTrigDelay(AOtaskHandle, .00000002
); 

0 Kudos
Message 3 of 3
(694 Views)