Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

digital output timing

I'm using a PCI-6110 card with LabWindows/CVI version 6.

Is there a way to write a "pulse" to one of the digital output lines. Right now I'm doing this set of commands:

1. Pull the line low at startup
2. Digital output - high
3. Digital output - low

The thing is, I need better precision than this set of commands gives me. On one computer the digital output may be high for, say, 50 microseconds. On another computer it will be high for 75 microseconds.

So...
Is there a way to send a pulse of a pre-determined length (time) to a digital output? Can one of the other outputs be used for this? I prefer to stick with digital lines rather than analog lines if possible.

Thanks is advance,
Marianne
0 Kudos
Message 1 of 3
(2,787 Views)
Marianne,

The digital I/O lines on the PCI-6110 are static (software-timed). Thus, the manner in which you are writing to them is your only option. Furthermore, you will never be able to obtain truly precise pulse specs because software is controlling the timing. I would suggest that you use one of your board's counters to generate your pulse. Pulse generation is one of the operations counters are designed to perform. On your computer, you should have an example installed that demonstrates how to perform this task in CVI, STCgenerateSinglePulse. I would suggest taking a look at this example.

Good luck with your application.

Spencer S.
0 Kudos
Message 2 of 3
(2,787 Views)
Spencer,

Thank you for your quick reply. I have looked over the sample code you mentioned (STCGenerateSinglePulse) and it looks to be exactly what I need.

Thanks again!
Marianne
0 Kudos
Message 3 of 3
(2,787 Views)