08-18-2022 01:04 PM
I am very very new to labview but trying to develop a program for my work to work with our new NI cDAQ-9185 unit (we have the 9485 relay, 9220 voltage and two 9214 temperature cards). We want the program to run at high speeds if needed, but to be able to log as slowly as every 30 seconds to a minute. Since the frequency for the DAQ assistant doesn't seem to allow a rate slower then once a second, I have the frequency set to 1 kHz and have a case statement to allow logging at different rates.
I am now getting an error that says:
Error -200279
"Possible reason(s):
The application is not able to keep up with the hardware acquisition.
Increasing the buffer size, reading the data more frequently, or specifying a fixed number of samples to read instead of reading all available samples might correct the problem.
Property: RelativeTo
Corresponding Value: Current Read Position
Property: Offset
Corresponding Value: 0
Task Name: _unnamedTask<1F>"
I have adjusted the code to minimize how many DAQ assistant blocks exist and made sure they are all at the same frequency, ect, as per some trouble shooting I have seen suggested online, but it hasn't worked. The error is triggered usually within a minute or less of running the program, dependent on what the logging rate is. Does anyone have any recommendations on how to fix this? I am happy to provide more into as required.
The program is meant to monitor up to 32 thermocouples with different options (J, T, K type), 16 voltage channels and it will eventually (but not currently implemented) run up to 8 relays, with adjustments for the voltage channels based on the set ups. So I need to run many channels and DAQ assistants simultaneously.
Please excuse any bad programming practices, I am literally teaching myself as I go on this one. Thanks.
08-18-2022 02:08 PM - edited 08-18-2022 02:14 PM
Hi PTL,
@PTL_HCL wrote:
Since the frequency for the DAQ assistant doesn't seem to allow a rate slower then once a second, I have the frequency set to 1 kHz and have a case statement to allow logging at different rates.
This is plain wrong! Even that dreaded DAQAssistent allows less than 1kS/s samplerate!
Your problem stems from a combination of two things:
Lower the samplerate and read more than one sample per iteration!
@PTL_HCL wrote:
I have adjusted the code to minimize how many DAQ assistant blocks exist and made sure they are all at the same frequency,
08-18-2022 02:31 PM
I didn't even look at the VI but seeing the word "DAQ Assistant" clearly tells that you need to learn to use DAQmx drivers. Please read the article GerdW shared (but skip the DAQ Assistant part).
In short, you're seeing this error due to an incorrect choice of API to acquire data (especially DAQ Assistant). This is like you're trying to win an Olympic bicycle race with a bicycle with training wheels.
08-18-2022 02:40 PM
Hi PTL,
another comment:
@PTL_HCL wrote:
our new NI cDAQ-9185 unit (we have the 9485 relay, 9220 voltage and two 9214 temperature cards).
It's all in the manuals/datasheets, so read them!
One more recommendation:
Put all DAQmx tasks into their own loops, so they will not influence each other (too much). You might read 1kS/s with your voltage signals, but only 1S/s with the TC modules…