Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

nonzero output during AO 'pause'

Dear gurus,

In my application I need to output a different set of analog output values every time a digital pulse is generated in the counter/timer (PCI 6711 board). Since the values are different every time, and there isn't enough time to change the values in the buffer I decided to use the "pause while gate is TTL low" option. I fill the buffer with all the data in advance, and on each pulse it outputs a different set of values. The only problem with this mode is that in between pulses, the output is zero on all channels.
Is there a way of having the last (or first) value fill the 'pause time'?
Perhaps I'm missing something and there is a way of using a trigering mode rather than a pause setting? As far as I understand th
e only way of using the trigger is such that the whole buffer is output at once - no partial output.

many thanks, Shy
0 Kudos
Message 1 of 4
(2,700 Views)
Shy,

I'm not sure what your application is doing. Are you wanting to continuously output a buffer of data at the highest speed? Do you just want to reload the buffer with new data?

From what I understand, what I would use is retriggerable pulse generation (there are shipping examples /or on the web) to generate the pulse train which is gated by the other counter. Therefore, your up pulse train will not be a continous stream but it will have pauses at predetermined values. Use this output signal as the Update clock. From the analog output perspective, I would constantly be outputting values. This means you are looping and constantly writting data to the analog output. But if you could give me a couple more details about your system I might be able
to give you a more specific solution.

I hope this helps.

Ron
0 Kudos
Message 2 of 4
(2,700 Views)
Ron,

thanks for the e-mail. I'm attaching a figure that describes the output I need from the 6711. I basically want the analog output to be buffered in advance and gated by counter 1, but I need the in-between values to be non-zero. One option would be to clock on counter 2, but it's a bit delayed relative to when I need the AO to switch value. I'm not sure what you mean by using counter 1 as the update clock.

Any ideas?
thanks, Shy

Any ideas?
0 Kudos
Message 3 of 4
(2,700 Views)
Hi Shy,

I've been playing with my PCI-6711 board and whenever I write a buffer of data out of my channel, it will hold the last voltage output. For example, I wrote a simple program that outputs a 1000 points that are always 5V and the system remains at 5V even after I clear the analog task. This leads me to believe that if you stop or pause, it will automatically retain the last point output from the DAC.

I've also taken a look at your picture and it looks like you are using 2 counters. One to provide the continous scan clock and the other counter to gate the continous counter. Is this correct? I also used an external clock source that I would occasionally pause and it would retain the last value on the output. What I did was I used
another DAQ board to generate a pulse train in the Measurement & Automation Explorer Test Panels and I would reset the pulse train occasionally. I noticed that each time I stopped the pulse train, my PCI-6711 board would stop outputting but would continue outputting the last value before the clock stopped.

This leads me to believe that you might be setting a zero in your program somewhere. A difference could be that I was continuously outputting from the PCI-6711 (I never stopped generating data).

Try adapting the Continous Generation - ExtClk.vi and use your counters to provide the external clock (manually route a wire from the counter output to pin 6 of your board). This would use 2 separate programs running at the same time but I think it would demonstrate this ability. Anyway, hope that helps.

Ron
0 Kudos
Message 4 of 4
(2,700 Views)