Jump to content

Timing and/or bandwith issues with the NI-9237

Recommended Posts

Have configured my NI-9237 as an AI bridge, reading in CONTINUOUS with a very low sample rate and SAMPLES at ONE. I'm running on a FAST Dell Precision T7500 with USB to a cDAQ-9178. But I still get warnings of memory overrun due to not being able to read data fast enough. Tried a bunch of other values and none of them work. I rebooted the PC and the cDAQ and still no go. Any ideas?

Link to post

I usually start with a NI example, they aren't perfect but they give a nice starting off point. I recommend the "TDMS Logging - Cont Log and Read Data.vi" found here:

<LabVIEW Directory>\examples\DAQmx\Analog In\Measure Voltage.llb\TDMS Logging - Cont Log and Read Data.vi

I'm guessing your problem is the fact that you are doing a single sample read, which takes a very short amount of time, but then in a loop read again, this whole time the AI read task is still running filling up a buffer, and by the time windows requests another single sample, there maybe hundreds of samples waiting to be read. This eventually fills up and you run out of your buffer on the DAQ hardware. To prevent this try to decrease the sample rate, or increasing the number of samples to read. The example above uses 1K samples at 10KHz.

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Moes
      Hello everyone i am relative new to labview and currently i am bit stuck need help...
      i want to capture data with a digital trigger on my chassis PFI0 (9178), the pulse is 20ms long and occurs on my straingauge 9237 module.
      The pulse comes in 10 times in a row with couple of miliseconds between it, can i measure it every time and push it inside an array like a "last in first out" memmory to evaluate it slower for the user?
      I am currently struggeling with the loop dividing into more then one loop approach.
      How to breach out from accquire->store->plot in one loopdone right with good performance? I don't know how to shape the cure because there is a dependency from loop time to datapoints with the daqmx task inside of it :-/
      Capturing should always be possible and run in background and the user just uses the frontend to play around with filters (me learning what filter shape the cure in which way)
      It would be nice if someone can share their knowledge towards realizing multiple graphs from a pulse that comes in and is stored in a graph.
      I know my program is not pretty right now but with progress it will be nicer, function first to learn!

    • By Yohann
      I'm currently encountering a problem when accessing FPGA indicator with "Reading/ writing a control" node
      The FPGA part acquires data every 10µs
      The RT part Read the indicator every 2000µs
      But when Running the VIs, I see that the elapsed time between 2 Readings of the indicator change from one iteration to another
      Can someone help me?
    • By malef
      Hi all,
      every 10 minutes we are logging data by a LabVIEW 8.2.1 application from a remote control in a 24/7 process. Timing is realized by a timeout in a event structure. This worked well for several years. Some months ago our IT moved the application and RunTimeEngine to a VMware machine. Since that time we have a second data logging within 10 minutes. As I am not familiar with VMware I have no clue what happens.
      Any ideas appreciated.
      Thanks in advance
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.