I am using a USB-6341 and have two VI that I have created DLLs from. When I first start running either one I get perfect results, however after awhile I'll get a warning.
The warning is "Warning 200010 occurred at DAQmx Stop Possible reason(s): Finite acquisition or generation has been stopped before the requested number of samples were acquired or generated."
Once I get that warning at times the VIs will continue to work just fine and other times I'll get an Error -201314 on the count VI and an Error -200284 on the phase VI when I try to run the VIs in LabVIEW
I'm thinking that since the warning has to do with DAQmx Stop it is causing future reading to be inconsistent, but I'm not sure why it would cause that to happen. I'm attaching the two VIs that I am using as well to see if maybe there is just a simple issue with one that I have wrong that could be causing this.
The error states that you are stopping the task before it has completed. There is a VI for checking if the task is done.
Adding DAQmx is task done has made the warning stop appearing, but the results are still inconsistent. At times the count will be significantly low, and at times the phase ends up in the thousands. The signals look great on a scope as well, so I know that it isn't just that the signals are missing pulses.
I'm not 100% certain about this because I am not proficient in DAQmx. But when I look at your Phase VI, I see you using the start task on both of the counters but you also have them configured to start on a digital edge. Is the Start Task necessary and is it starting the task prematurely, causing them to be out of sync?
Also I don't understand the use of the ArmStart. That trigger type would seem to be analogous to flipping open the cover that protects the big red button, preventing you from accidentally blowing up the planet with your "laser". What happens if you change those to a normal start trigger and remove the start task VIs?
I'm on LV 2016 and can't open your latest posted code. It sounds like your app might be closely related to this thread you & I were in. Can you back-save your code to LV 2016 (or earlier)?
What I *can* say is that in the example I posted there for you, both the "Arm Start" trigger and the explicit call to DAQmx Start are necessary. Counter input tasks do not support the standard Start trigger. (As it turns out, counter *output* tasks support both Arm Start and regular Start triggers simultaneously and distinctly. And yes, that can actually be useful sometimes.)