Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Error -10843 - digital output 6534

Hi,

I need to output 64X64 array of 8 bit data from 6534 continously using an external clock. I have connected the clock to REQ1 of 6534 - it runs at 250KHz.
I am using Labview 7.1. I have enabled "Pattern Generation Loop Enable" in "DIO parameter.vi". The problem is after a while, I get an error 10843 occured at digital write buffer.I have attached the program. Could anyone please help me out?

Thanks
Sameer
0 Kudos
Message 1 of 8
(4,497 Views)
Just wondering, why do you have the 100ms wait in the loop? I thought the Write Buffer VI will make sure that the buffer is not written in a part that is being read.
0 Kudos
Message 2 of 8
(4,479 Views)
Hi Serges,

I believe, I need that 100ms time to check for Error status? Every 100ms it would check if there is any error ?

please advice

Sameer
0 Kudos
Message 3 of 8
(4,470 Views)
You do not need a delay to check for errors. If you want to check if errors have occured, you can unbundle the error cluster coming out of the Buffer Write VI and check the status.
0 Kudos
Message 4 of 8
(4,456 Views)
Hi Sameer,

We will take a look to see if we can reproduce this error. Since you have enabled regeneration from onboard memory, you should not have to worry about underflow errors, especially at a sample rate of 250 kHz.

Allowing 100 ms of delay to check for errors should not be hurting you, either, and should be a good way to prevent excessive CPU usage.

While we are looking at this, I would like to suggest that you take a look at the DAQmx driver. Starting with version 7.4, the PCI and PXI 6534 are supported in DAQmx (as well as the PXI and PCI-6533). Open the Cont Write Dig Port-Ext Clk example. Insert a DAQmx channel property node in front of the DAQmx Start Task VI. Choose the "Use Only Onboard Memory" property (Digital Output --> General Properties --> Advanced --> Data Transfer and Memory) and set it to True. That will cause the data in "pattern" to loop from the onboard memory.

Allen
0 Kudos
Message 5 of 8
(4,447 Views)
Hi Allen,

Thanks for your input. I will try what you have suggested. Meanwhile, I tried something with DAQmx.

Please refer to the program attached. ( you need to select the binary file when you run it)

Case1: using DAQmx driver if I use onboard clock, I WILL NOT get this error.

Case2: external clock at 250KHz and the while loop just for "DAQmx Is Task Done.vi" and error status check: GET THE SAME ERROR

Case3: external clock at 250KHz and the while loop for all the daqmx tasks (as shown in the program) : NO ERROR

I believe, I need to clear the task before i write another frame. But this will take too much time.

I will try other combinations and get back to you.

Thanks again

Sameer
0 Kudos
Message 6 of 8
(4,441 Views)
I have one more question: Instead of looping, if the binary file has 200 frames, can I load this to the onboard memory and send it out with the external clock?
0 Kudos
Message 7 of 8
(4,440 Views)
Hi Sameer,

That's a good start, but I recommend that you follow the scheme in the example program that I mentioned in my earlier post. You should not need to put all of the DAQmx commands inside of the loop...just the Is Done function. Also, it will help if you also include the On Board Memory Only property that I discussed earlier. That is the same as turning on the Loop Enable parameter in traditional DAQ.

I hope that helps,
Allen
0 Kudos
Message 8 of 8
(4,428 Views)