Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

-200141, -88709, -200089 errors on 6602 PCI

Hi

 

I have an C# application that utilizes two PCI6602 counter cards for reading PWM signals from 5 sensors. The applicaiton is acquiring data from these 5 sensors for 10sec every 2min and this application have been running for more than two months without any problems. Suddently the application now starts crashing with a number of NI-Daq errors. The crash is so bad that it requires a complete computer restart to recover from.

 

Setup


All five tasks uses DMA transfer. Three sensors on one PCI6602 card and two on the other.

All sensors generate pulses at 50kHz each.

 

Below the details of the crash is listed


1)

Suddently the following -200141 error is thrown when trying to read one of the counters

 

Data was overwritten before it could be read by the system. If Data Transfer Mechanism is Interrupts, try using DMA or USB Bulk. Otherwise, divide the input signal before taking the measurement.Task Name: CS2SamplingTask Status Code: -200141

 

The exception is not only thrown once, but continues to be thrown every time I try to read any of the counters.

 

2)

After a number of these exceptions have been ignored, my application tries to recover by stopping all the tasks, but the -200141 exceptions are also thrown when I try to stop the task.

 

3)

Then I try to recover by resetting the daq devices. This  throws another exception:

 

The specified operation cannot be performed because a task has been aborted or a device has been removed from the system. Handle this situation as required by the application and then, if appropriate, attempt to perform the operation again.
Status Code: -88709

 

4)

Now I try to re-create the tasks after the reset. This throws a third exception:

Task name specified conflicts with an existing task name.Task Name: CS1SamplingTask Status Code: -200089

 

After this nothing works. I cannot even reset the devices in Measurement & Automation. The only cure is a computer restart, which is just a temporary fix until 1) occurs again.

 

 

Questions

 

1) Any ideas what causes this? I understand that the 200141 error indicates that the daqmq driver cannot read the on-board nidaq buffer fast enough. It this correct and how do I fix it?

2) Is there anyway to 'confirm' an exception thrown by NI-daq, so it wil not keep throwing exceptions every time I access a daqmx method after the first exception is thrown?

3) Is there anyway to reset the daqmx driver so I won't have to restart the computer every time it crashes?

 

 

I hope that someone has answers to some of these questions.

 

Regards,

/mola

0 Kudos
Message 1 of 1
(6,048 Views)