I am working for a project to counting every photon for about 10 seconds.
I used the pci-6602 and a computer with a 2.8Ghz Core i5-2300 CPU and a 16GB RAM.
The software is Measure studio 2010 SP1 and NI DAQmx 9.5.
But there will be an error:
Data was overwritten before it could be read by the system.
If Data Transfer Mechanism is Interrupts, try using DMA. Otherwise, divide the input signal before taking the measurement.
For average 300kHz input signal, the error appeared immediately, but for average 1kHz input signal, the error still appeared after 3-5 seconds.
Here is my setting:
myTask.CIChannels.CreatePeriodChannel(counterComboBox.Text, "",
Convert.ToDouble(minValueTextBox.Text),
Convert.ToDouble(maxValueTextBox.Text), edge,
CIPeriodMeasurementMethod.LowFrequencyOneCounter, 0.001, 4, CIPeriodUnits.Seconds);
myTask.Timing.ConfigureImplicit(SampleQuantityMode.ContinuousSamples, 100000);
myTask.CIChannels.All.DataTransferMechanism = CIDataTransferMechanism.Dma;
myTask.CIChannels.All.DuplicateCountPrevention = false;
myTask.Stream.ReadWaitMode = ReadWaitMode.Poll;
myTask.Stream.ConfigureInputBuffer(1000000);
I tried many solutions and changed many setting, but the result didn’t changed.
I heard that the on board memory of pci6602 is small, but for 1kHz signal it still can’t work.
Please help me to solve this problem.
Thanks very much.