Showing results for 
Search instead for 
Did you mean: 

TTL trigger signal (CO) using USB-6001 DAQ card



I have a running setup with different counter outputs and synchronization using PCIe 6353. I now want to copy a very simple part of the code/application, which basically just sends a TTL signal to trigger an external device somewhere between 10 Hz - 120 kHz. Since getting another 6353 would be total overkill, I want to use a simple USB DAQ card, if possible USB-6001 - but I don't have it yet.


If possible, I would like to use my code with as little changes as possible.

Knowing the 'Sample Clock Timebase' of the PCI-6353 (100 MHz), I am currently defining my task using the CO Pulse ticks.   

When I simulate the USB-6001 in NI MAX and simply want to check the CO timebase, I cannot even select the counter of the simulated device 3.


If I read the manual correctly, there should be one counter that I can use to trigger external devices.

1)  Can the USB-6001 do what I want - create a TTL output between 10 Hz and 120kHz?

2)  How can I configure that? CO does not seem to work with the simulated device or maybe I am doing something wrong?!


Thank you!






0 Kudos
Message 1 of 25

According to the spec sheet for the 6001, it only has 1 counter that can only do edge-counting, not pulse train generation.  You would need a more capable device.  Sorry, I don't have enough knowledge of the low-cost product line to give a specific recommendation.



-Kevin P

0 Kudos
Message 2 of 25

Hi Kevin,


Thanks for your reply. I have also never worked with the low-cost product line.


In the end, I am just looking dor a USB DAQ that can output pulse trains. The NI overview of all the available DAQs just shows the no. of counters but not if they can be used as CO task - or just for edge counting.


The USB 6210 seems to work but it is quite expensive when only needing a trigger for an external device. I am still hoping there is a cheaper module available.



0 Kudos
Message 3 of 25

Should have thought of this sooner -- are you using the AO subsystem?   If not, you could create a dummy task that regenerates 0 V, while exporting the sample clock out to a PFI pin to serve as your pulse train.


AO tasks even allow changing the frequency on the fly (at least I *think* X-series still supports that).   Here's a MWE (minimum working example) I whipped up that ran without error on a simulated X-series, but note that I was unable to test with actual hardware.



-Kevin P


MWE dummy ao.png

Download All
0 Kudos
Message 4 of 25

If this works, I would not be limited to the sample rate (AO or DO) but the actual sample clock? Or is the output frequency still determined the 'rate'?  In that case, why not directly use the DO, which is limited by the device's sample rate?



0 Kudos
Message 5 of 25

The exported "sample clock" signal will be a digital pulse train and the "rate" config input determines its frequency.


I chose AO because I know you can change the rate on-the-fly and you indicated that the pulse train frequency may need to vary.  And the "dummy task" approach seems simpler to me than needing to define a pulse train with a buffered, hw-clocked DO task, though such an approach should also be feasible.  I'm also not sure if a DO task can change its sample rate on-the-fly, I don't think I've ever experimented, so I simply don't know if a "dummy DO task" would be another viable approach.



-Kevin P

0 Kudos
Message 6 of 25

Thank you for all your suggestions. I will probably just go with the USB-6210. It is more expensive but I will save time not having to reprogram the trigger generation. Although this is not too cmplicated, the whole program is quite large and the trigger accessed/changed at several points. Using the CO as I am doing it right now is definitely more straight forward.


That being said, I would really like to know if your suggestion also works!


Thank you

0 Kudos
Message 7 of 25

Hi, Labview friends

Today I meet a problem in writting my labview program!


1、I want to control(trigger or stop)Counter to generate  and end sigal with my AO signal.

How can I finish this function?


2、And I really do not understand the difference <start trigger(Digital Edge).vi> and <trigger property Node >. I can not discover the use of <trigger property Node> in my program.


Thank you


0 Kudos
Message 8 of 25

1. Unfortunately, with your USB-6001, you can't.  The single counter on that device can only be used to count edges, not generate pulses.


2. The Trigger property node gives access to more settings and capabilities than the regular DAQmx Trigger function.  However, if you're kinda new to things, it also requires more knowledge about what combination of properties are necessary and compatible.  The regular DAQmx Trigger function is much easier to use for the things it supports.



-Kevin P

0 Kudos
Message 9 of 25

Thank you for your reply!

My device is USB6363(BNC).

I want to know if  the counter below  can start and stop with the other counter?



Also,I wanf to know that how to make Counter can start and stop with the AO?

relative program is in enclosure.

Thank you ~





0 Kudos
Message 10 of 25