I am wanting to sample 4 rosette strain gages, and thus 12 total strain values. I am trying to get to sample at 10KHZ, code is written using DAQmx as it was suggested to me earlier that it is more ideal that the express option. I am gathering from 12 individual channels and using a producer/consumer setup as well, this enabled me to collect 3 data sets at 10KHZ. I have applied a lowpass filter at 2KHZ and am still getting an error 200279. Does anyone have any suggestions on how I can achieve the desired sampling rate?
Thank you in advance for your time and suggestions!
Solved! Go to Solution.
Hi, first can you post your VI so that we can see what you have done. It will help a with solving your problem.
This error occurs when the DAQ buffer overflows because you are not reading data quickly enough. The most common cause of this problem is because you are trying to do too much processed in the loop where you are doing your acquisition.
The easiest way of fixing this is to have two loops, one just acquiring data and sending it to a second loop using a queue. You can do any processing/logging in the second loop. This will allow your DAQ loop to run much quicker whilst the processing loop can be doing its thing in parallel without holding up the DAQ.
I would also recommend that you don't use the DAQmx express VI's. They hide alot of functionality and can result in unexpected results.
See this link for more info. https://www.ni.com/en-us/support/documentation/supplemental/06/learn-10-functions-in-ni-daqmx-and-ha...
As a side note. Depending upon your configuration and DAQ hardware you may not have to measure each strain gauge individually. Some of your bridges may be best used as a compenstation or dummy gauge. Without knowing more though I couldn't say for sure.
Here is my VI as it stands right now. Let me know if you see any way in which I can work to improve the performance, thanks! Also, I am using 1/4 bridge, 3 9237 DAQs attached to a 9174 chassis if it helps for reference.
Move the filtering into the consumer loop, no need for it to be in the consumer loop. Also, change how many samples are being read at a time. I generally wire in sample rate/10 for the number of samples to read.
I appreciate the input! Some issues I had in the past prevented me from going with the higher sample value, but they are not showing up in the data getting written to the file. Probably had something wrong at that time. Regardless, it is working as intended now so thank you!