LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error -200279 - application unable to keep up with hardware acquisition in continuous logging

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.

0 Kudos
Message 1 of 4
(805 Views)

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:

  1. setting a too high samplerate (does the temperature really change so fast?)
  2. reading just 1 sample per iteration

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, 


  • You should "adjust" your code to use NO DAQAssistent at all! Read this excellent paper!
  • You should also learn basic LabVIEW knowledge like using a loop with some autoindexed arrays (or polymorphism)! No need to split DDT wires into 16 signals to apply the very same math routine on each of the signals before merging them again into one DDT wire…
  • The same applies to that huge case structure to select 1-32 channels from your TC signals. Oh boy, a simple ArraySubset will do the same once you work with plain DAQmx functions and read a 1D array of waveforms…

 

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 4
(781 Views)

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.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 3 of 4
(769 Views)

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).


  • The NI9220 allows 100kS/s combined for all channels, making ~6.67kS/s per channel max.
  • The NI9214 is spec'd to 68S/s for all channels. Reading 16 channels will give you ~4S/s/ch…
  • The NI9485 uses SSRs, limiting you to ~100S/s output rate.

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…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 4 of 4
(763 Views)