LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQmx start trigger delay property node error

I have a project where I am sending a transmit signal upon receipt of a digital trigger. I set a delay start property node of the start trigger with units in seconds so that the user can set the delay time to transmit after the digital trigger is received. This works great on one of my PC's that I am using but for some reason when I use it on one of my older PC's it says that the longest delay I can use is less than 1 sec. (See attached screenshot of error received)Basically if I set the delay to greater than 830 millisec an error message appears saying that the delay is longer than the onboard computer can generate. I tried updating my LabView to a newer version but that didn't do anything. The computer that works is using the PCI-6251 card and the one that doesn't work is using PCI-6733. I am not sure if the error has something to do with using 16 bit vs 32 bit,  but I am able to set timers in other parts of my code that are longer than 1 second.  So questions are: Is there a way to set what onboard computer the delay property node is looking at? How can I use a slower timebase rate? Is there something else that I am missing?

 

Thanks for your help

Download All
0 Kudos
Message 1 of 2
(2,329 Views)

This is a hardware limitation in the older PCI-6733 board which is based on the DAQ-STC timing chip. It has 24-bit counters and a default internal timebase of 20 MHz.  And it turns out that (2^24 / 20e6) = ~839 msec.  That's what drives the limitation you observe, not the OS or LabVIEW version.

 

I'm not near real hardware to check -- have you tried setting the DelayUnits to SampleClockPeriods to see if that might let you extend your delay time?  

 

Another possible option is to delay the trigger by means of a counter task.  Set your original task to be triggered by something like "/Dev1/Ctr0InternalOutput".  Then configure Ctr0 to be a single pulse task that's triggered by your original "/Dev1/PFI1".

 

When configuring the single pulse task, you can set the "Initial Delay" parameter to values longer than 1 second.  DAQmx is smart enough to select the slower 100 kHz timebase for tracking time, so 24-bit rollover won't occur until (2^24/100e5) ~= 168 sec.

 

(Note: I have a nagging suspicion that the old DAQ-STC counters might behave a bit differently than newer counter generations (NI-TIO, DAQ-STC2, DAQ-STC3)  when it comes to triggers and initial delay.  You might need to experiment.  I seem to recall that I would usually wire the same value to "low time" and "initial delay" as a way to get consistent behavior across different generations of boards.  But I don't recall what kind of timing need that trick worked for -- it may or may not be relevant to your needs here.

   In short, you'd better experiment to check out the behavior across the different board types you need to support.)

 

 

-Kevin P

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 2 of 2
(2,294 Views)