Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Repeat Generation of a Finite Waveform (Ext Clock) DAQmx

I have a problem (you find vi attached)
I'm generating a waveform on an analog ouput of a 6110 using daqmx.

Now I use as a clock source for the waveform, the frequency generated by another card (What I'm doing is using the 100 kHz timebase of a 6601 and direct it on the Ctr0Out of my 6110. Note that I'm using this 100 kHz timebase as a reference for other vi's that are running so I can not use another one.).

Now if I repeat the waveform by using a loop or a for loop (I have to do this; I can not run a vi that generates a continous waveform because I need to do other things after each waveform is generated) I receive an error.
In particular error 200018 (dac conversion attempted before data to be ocn
verted was available).

How can I solve this problem?
Thanks you a lot for any help
-Claudio
0 Kudos
Message 1 of 9
(5,917 Views)
I ran the attatched VI and it worked fine. Of course I had change the sample clock from Ctr0Out to the the 100kHz timebase since I don't have your setup. I ran it though and it worked.
0 Kudos
Message 2 of 9
(5,916 Views)
hi salvador
yes, the vi works when you use an internal base as sample clock. Unfortunately I can not do that and I have to use an external one. Here problems start to arise.
-Claudio
0 Kudos
Message 3 of 9
(5,917 Views)
I have a very similar problem. The main difference to your vi is, that I am starting, waiting for done and stopping the task in a loop. Have you found any solution ? I tried to insert some kind of delay in the loop, but that did not help.

best regards

Edmund
0 Kudos
Message 4 of 9
(5,898 Views)
Hi,

The description of that error says "DAC conversion attempted before data to be converted was available." This means that your output clock signal may be noisy. How are you routing the timebase from the other board? RTSI?

This error also arises from bandwith limitations in your system. Check out this KB:

Title:
Why do I Receive Transfer and Bandwidth Errors when Using Analog Output and Input with a PCMCIA Card?


Problem:
I developed a LabVIEW VI on a desktop machine with an E series DAQ card. The VI performs continous analog output and analog input. It works great on the developement machine, but when I take it to my laptop with a PCMCIA E series card, I receive Error - 200018, or a similar bandwidth or data transfer error.


Solution :
The PCI bus uses Direct Memory Access (DMA) transfers by default to pass data from the DAQ board to PC memory. The PCMCIA bus is only capable of Interrupt Request (IRQ) data transfers which are less robust. Therefore, a PCI card is capable of much larger analog output and input operations. The PCMCIA bus limits the amount of data you can transfer acrosss the bus significantly. Unfortunately, the limitations are system dependent at this point in time. To reduce these errors, you must limit the use of the PCMCIA bus. If you have an applications generating these errors there are three options:

Use the on-board FIFO memory of the DAQ board to generate the analog output. The output will have to be periodic for each buffer interation, but the PCMCIA bus will now be eliminated for analog output. See the Related Links below for more information on "What is FIFO Mode Analog Output and How Do I Use It?"

Use an external instrument that you can control with serial or GPIB.

Use a DAQPAD (USB DAQ board), PXI, or PCI card.

Check out this KB: http://digital.ni.com/public.nsf/websearch/CC07E585D9F94D2B86256C1A005344EF?OpenDocument


Although you are not using a PCMCIA bus, you still may have bandwidth issues since you are operating several boards simultaneously. Is your analog output board set to use interrupts by any chance? Try the above link and see if that helps.

If you still cannot get it working, please post all of your code. It will be helpful to have the code you are using on both boards to simulate the issue.

Thanks,
Sal
0 Kudos
Message 5 of 9
(5,883 Views)
Hi. The signal I take is the output clock devided by 1024. So it should not be noisy.
I made a sample program that demonstates the error-message without using my hardware. The only hardware required is a connection between ctr1out and PFI1. Depending on the frequency of counter 1 the error-message appears more or less often. If you put a probe inside the loop with a stop on error you will soon find the error. In my application I have parallel an analog input running at higher data rates. In that case even with low DAC-clock-frequency (~1kHz) I regularly get the error message. The output, as I can see it on an oscilloscope, seems to be correct even in the cases of the error message.

Best regards

Edmund Koch
0 Kudos
Message 6 of 9
(5,874 Views)
Hi Edmund,

I would suggest trying some of the "advanced" options in the DAQmxWrite property node for analog output. Specifically the "data transfer and memory" properties. I will test some of these out this evening and let you know if I can improve the results.

-Sal
0 Kudos
Message 7 of 9
(5,854 Views)
Hi All,

I am using the 6259 NI-DAQ card.
I have set the sampling rate and the samples per channel to  500000 and 1000000.
I have used the external clock. The details can be known from the bitmap image attached.
But  am getting the ERROR(200018).
Please respond.

Thanks in advance,
Meenatchi
0 Kudos
Message 8 of 9
(5,060 Views)

Hi Meenatchi,

What is the form factor for your 6259? You may be experiencing some limitations of your data transfer rate. Are you able to make any changes to your sampling rate or samples per channel to get around the error? Initially, I feel your issue is related to Sal's post up above.

Steve B

0 Kudos
Message 9 of 9
(5,030 Views)