Showing results for 
Search instead for 
Did you mean: 

DAQ Digital Output - Generate a pulse with specific width (in terms of time)

Go to solution
How can I generate a digital pulse with a specific width? I haven't been able to find any examples online. Thank you!
0 Kudos
Message 1 of 11

First of all, you have to have a DAQ with a timed digital output or a counter.  Then if you look in the Example Finder in LabVIEW (Help->Find Examples), you will find a few examples to do what you want.

There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 2 of 11

I've looked through the examples and I've found how to do it with a counter, but not with digital output.My DAQ has only 1 counter output, but I need to generate pulses on 2 separate lines. But I have a feeling I'm misunderstanding something.

0 Kudos
Message 3 of 11




Which DAQ device are you using?



Message 4 of 11



I'm following the example Counter - Continuous from the Labview examples, and I want to use a property node to set the High and Low times, but this doesn't seem to be an availalbe option from the DAQmx property node when I have the USB-6000 plugged in.


The USB-6000 has a counter so why no counter properties are available?

If I can't change the property while the task is running, does this means if I want my program to be able to dynamically change the high and low times of my digital signal, I have to stop and start the task every time?

0 Kudos
Message 5 of 11

Looks like I don't even have the option to set the CO.Pulse.Term option on this DAQ.

0 Kudos
Message 6 of 11

The USB-6000 has only edge counting capability. It is not configured to generate pulses.  Look at the specifications (page 3) and the User Guide, Figure 3 and Table 4.



0 Kudos
Message 7 of 11

So what options are there for being able to generate a digital pulse of a specific width since all the examples I've found so far rely on a counter.

0 Kudos
Message 8 of 11
Accepted by topic author achb

With the USB-6000 -- essentially none. It has only software timed digital I/O. Depending on your  system you may be able to generate pulses at rates up to a few hundred Hertz but there will be a considerable amount of timing jitter. Tens of milliseconds may be common and even longer variations may occur occasionally.


Please indicate what the timing requirements are for your pulses so someone may be able to provide a specific recommendation to meet your needs.



Message 9 of 11

Thanks. I'm not surewhat the timing requirements are, that's part of what I need to investigate.


I found this example for software timing:


In the block diagram, they use a sequence structure to sequentially write high and low, and the Wait function to control timing. Does this mean DAQmx Write function with the Digital 1 Point 1 Line format, that the line will stay high/low until it is explicitly changed? Or, will it reset back to it's default high impedance state?


0 Kudos
Message 10 of 11