Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

debugging a truncated analog output operation (AOWrite, AOStart, AOClear)

hello -

I'm using an application which writes a waveform to the buffer for analog output.  The waveform is a series of voltage steps which controls an instrument.  I've noticed that my output  waveforms are truncated at about 11560 points (or ~578 ms at 50 µs per point).  There is some variation in exactly how many points come out, but it's always within 2-3 of 11560.

I've traced the array generation all the way up to the AOWrite vi, and verified that it maintains the requested length, but the waveform that comes out does not.  Is there a way to manually inspect the buffer to see what's happening?  Failing that, what are my debugging options?

thanks very much,

Gene
0 Kudos
Message 1 of 4
(3,112 Views)
Hi Gene,

You may be exceeding the buffer size of your board for analog output. Depending on your board, the size varies. Refer to your board's product manual and also the following KB to investigate further. As far as monitoring your buffer allocation, this is reserved for analog input because you should be able to know how many samples you are sending to the AO buffer (specifically the size of your array). I hope that this information can help you solve your problem.

How is the FIFO Buffer Size on Analog Output Devices Measured?
http://digital.ni.com/public.nsf/allkb/ABD7BDAB2884CF2A86256D500067CE49?OpenDocument
PBear
NI RF
0 Kudos
Message 2 of 4
(3,099 Views)
thanks Patrick,

I am using a PCI-6713 card.  I located the document NI 6711/6713/DAQCard-6715 Specifications and found this information:
FIFO buffer size
NI 6713 .......................................16,384 samples

Based on this, I don't think the buffer limit can be the whole story.  My application is loading eight AO channels, so I if this were the only problem the limit should be 16348/8 = 2048 samples per channel.  But my limit appears to be much higher than that (11568 samples per channel).  Is this even possible?  I didn't write the application but I am trying to understand it. Can the FIFO buffer be used continuously so that the output waveform size is not limited by the buffer size?

Gene
0 Kudos
Message 3 of 4
(3,091 Views)
Hi Gene,

Can you try to output on one single channel and see if you see the same truncating output. If so, this could be a software problem and you need to check that you are indeed sending the correct waveform to the DAQ output. Of course, this is just one scenario. There are some FIFO output options and some documentation and examples detailing these options that I would like to point you to. Read the following Knowledge Bases and Dev Zone example to see if you can apply these to your application.

KB 2OI95OEW: What is FIFO Mode Analog Output and How Do I Use It?
KB 3HKCTTTY: Data Transfer Request Condition for Continuous Analog Output using NI-DAQmx
Developers Zone: FIFO vs. Non-FIFO Mode Analog Output

Again, try outputing on a single channel and this should give you a clue as to what is happening. Also edit your code to visually see what you are actually sending to the board. Thanks Gene and have a great day.
PBear
NI RF
0 Kudos
Message 4 of 4
(3,072 Views)