Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

[NI X series(pcie6363) DAQmx] can i use start trigger to achieve a retriggerable impicit buffered pulse measurement task

Solved!
Go to solution

Hi!

I want to achieve a retriggerable task(a implicit buffered pulse width measurement task which  can be retriggered by a external pulse signal).But I find an error:

 

nidaq call failed with error -200452: 'Specified property is not supported by the device or is not applicable to the task.

 

here is my code:

65216_0-1671541465640.png

 

I'd like to know:can i achieve this by this method?(I guess It may be a hardware issue because the counter gate input is used by pulse width measurement,but start trigger also use the Gate input? )

 

If I can't achieve by this method,can I use other method?

 

Thanks a lot !!!

 

 

 

0 Kudos
Message 1 of 3
(1,358 Views)
Solution
Accepted by 65216

Tough one.

 

First, I'm no help for any text language syntax, just general knowledge of DAQmx and X-series devices.  So here's some info:

 

1. Counter input tasks need to use a special "Arm Start" trigger rather than the normal start trigger.  Dunno exactly why, it's just been that way for a very very long time.  (On the other hand, counter output tasks can use either, or even both.)

   It's likely your error is caused by trying to configure a regular trigger.

 

2. The Arm Start trigger can't be set to be retriggerable on any NI DAQ device I know of.

 

3. You'll probably be stuck with a compromise where you need to stop and restart the task from your software to be ready for a future "Arm Start" trigger signal.

 

4. Pro tip - there are some special DAQmx functions that'll allow the stop-restart to proceed faster.  In LabVIEW there's a function DAQmx Control Task where you "commit" the task before the first time you start it.  Doing this causes subsequent stop/restarts to be faster.  More info here.

 

5. I tried to get clever by playing out some variations that would configure a counter output task to be retriggerable and then have your pulse width task use that output signal as its timebase.  But it didn't really pan out.  To be retriggerable, it'd have to be a finite pulse train.  And since you likely don't know how *long* to generate such a finite pulse train, you'd end up needing to stop and restart that output task anyway.  So you may as well stick with restarting the single input task as described in #3 above.

 

 

-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.
Message 2 of 3
(1,339 Views)

Thanks a lot!  Maybe I will find a way from other hardware to solve it, because it's tough as you said.

 

Still very appreciate for your answer!!

 

I learn a lot!

0 Kudos
Message 3 of 3
(1,318 Views)