08-29-2012 10:25 AM
hi all,
I'm trying to generate analog signals using 8 channels of pxi 6733 (basically from this generation), and it works well (sample rate 1MHz, with 10000 samples per buffer).
At the same time, I want to fetch the generated analog signals using pxi 5105 (basically using niScope Stream to Disk Queues Win32 File IO_Basic.vi from here), and it runs with no problem. (sample rate 20MHz).
BUT, when I try to get them running together at the same time, I got the error -200018:
"A DAC conversion is started before the data to be converted were available.
Decrease the output frequency to increase the period between two DAC conversions, or reduce the size of the output buffer to the data faster (faster) to write.
When using an external clock, check whether the signal contains noise or voltage spikes."
And I couldn't find any helps for this error, I've tried to reduce the clock rate of pxi 5105, but doesnt help.
Any helps are much appreciated.
Regards,
Yan.
08-29-2012 10:30 AM
this is a screenshot
08-30-2012 12:08 PM
anyone could help?
is there anywhere to find the solution for this error message?
09-03-2012 03:45 AM
Hy Mystogan
the error arise in youre "con get int nuber of periods lv86.vi". Please try to change this aquisiton parameter.
If this won't solve the issue, please attached a MAX report. (Measurement Automation Explorer --> File --> Report)
09-03-2012 04:37 AM
Mystogan,
you made a little, but important mistake in your translation of the error message. It clearly states that the DAC (so the OUTPUT) is running into the error.
So let's focus on the output:
Are you generating data continuously using a regenerative buffer? If so, can you create an output using onboard buffer?
I assume, that your system bus is the bottleneck. Adding input and output is too much load for your system.
What system are you using?
If PXIe, which chassis?
Norbert
09-03-2012 04:58 AM
Sorry
I mean to change the timing and buffer parameters. Not the acquisiton parameters
09-03-2012 05:38 AM
hi,
I'm not sure how to make it work. I've been working on this project for some time, but I dont get much from all of this.
answering norbert:
1. I'm using non regenerative buffer.
2. I think I'm creating output using onboard buffer.
3. pxie 1082.
09-03-2012 06:13 AM
@Mystogan wrote:
[..]
1. I'm using non regenerative buffer.
2. I think I'm creating output using onboard buffer.
[..]
This contradicts. Non regenerative generation means that you have to refill the buffer in a required time frame (depending on buffer size and clock speed of generation). So if you generate a signal with 10kHz, you have to refill the buffer with 20kB/s. This is the load for the bus system.
Look into the specification of the PXIe1082. On page 1-7, you'll see the setup for the PXIe bus in the chassis and how it distributes to the different slots.
Taking your numbers into account, you have 1MHz generation (so 2MB/s) and 20MHz acquisition (40MB/s) as bus load. Adding some overhead, it is something which should be supported in the chassis in any combination of used slots (since all slots do have x4, with MUXing up to two slots, so leaving transferrate of x2 for each slot).
So the next questions are:
What kind of controller are you using?
How does your software write data to the generation task? Is it possible that the loop performing this is starving in your application software?
Norbert
09-03-2012 07:43 AM
hi,
I'm using controller pxie 8370,
I'm writing my first buffer, initialize, then update the generation using while loop from second buffer until the end.
09-03-2012 08:08 AM
Yan,
i take it that you integrate generation (buffer refill) and acquisition in the same loop. Is that correct?
If so, you have to either
hope this helps,
Norbert