Jump to content

Delay values for large data, buffer?


Recommended Posts

Hello,

 

I think this topic is very important for everybody that are doing advanced DAQ. Because it you want to save an event, you need first to see it(real time analysis), and than to save the transition how the event happened(that means to have values, before the event happened). Using consumer producer structure.

 

i'm trying to save data into some kind of buffer. my main goal is to delay values. I successfully created a delay using Delay values.vi, the problem is i think it makes the while loop slower. If anyone knows what is a good practice to create a delay for large amounts of samples 100k, 200k, 300k samples? Is a delay values.vi good practice, or is there another better way?

 

Thank you

Link to comment

Tnx for the reply :)

So if i understand correctly. I still use consumer producer. In the producer there is only DAQ blocks that fill up queue. In the consumer loop i can than use circular buffer and later save the data?

 

You can still have a producer/consumer loop if you want.  The nice thing about Hoovah's circular buffer is that its DVR based so you could spit the wire and read the data in parallel if you want.  

 

I haven't seen your code and do not know how you want to trigger the save data.  Do you need to analyze the whole buffer every iteration to determine whether to save or are you doing something like just triggering on a rising edge level and only need to look at each daq read chunk?

 

You can probably do all the DAQ reading/triggering/saving in a single loop if you use pipe lining.  But I can only speculate unless you attach code.  A crude example using the Circular Buffer Demo.vi as a starting point:

 

post-549-0-57900900-1435669334.png

Link to comment

Join the conversation

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

Guest
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 Zyga
      LAVA users,
      We are looking for alternatives for NI DAQ devices for industrial automation. Since NI has its devices mostly focused on advanced/high speed/high precison data acquisition/processing its prices are inadequate to simple automation tasks. 
      I would also say that NI PC based daq systems are expensive if need to be distributed systems (found this but still relatively expensive cRIO required).
      Just now we need to extend our compactDAQ based system with two DIO modules. We even have free chassis slots for this, but station that needs this IOs is few meters away from PC. How easier would it be if we could use single ethernet cable..  Ofcourse we can add another small cDAQ (what we probably going to do) but this is slightly expensive solution for our customer.
      Does anyone have some experience with 3rd party solutions? Any known daq devices vendors? Standalone ethernet daq modules?

      Regards,
      Zyga
    • By Gab
      Hello Everyone,
      Need some verification with daq program.
      I have one force sensor that connectd with my usb daq device. with this force sensor, unknown object is connected(hanging) and i want to find the mass of this object (F=ma) so i am taking continous sample and generate waveform graph. After the scaling, my waveform will be in Newton unit.
      my question is: if i take RMS of this waveform(1d Array data point) and divide by g (9.8 m/s2) then whatever value come is my correct mass? (F=ma).
      Thank you in advance
    • By Atron100
      hi
      i have a question in basic understanding of update rate sample rate samples per buffer and cycles per buffer.
      i have DAQ 6343 and electronic circuit. 
      i'm using AO0 for generation sine wave at these frequencies 10Hz, 100Hz, 500Hz, 1kHz, 3kHz this signal enters to electronic circuit.
      and after conversion i must to measure two outputs of this circuit by AI2 and AI3.
      from my understanding of tech spec of the daq analog output update rate is 900kS/s and analog input update rate is 500kS/s
      as i understand if i have freq = 3kHz the maximum sample rate per buffer is 300 samples
      and if i have freq = 10Hz i can generate this signal with 90000 samples per buffer?
      for analog input the formula is the same?
      that meaning of cycles per buffer?
      which sample rate of AI i need to setup to measure data fast and accurately? 
       
      thanks for answers
    • By _Y_
      I am trying to implement a simple DAQ Watchdog with single digital output but cannot find any logical way to reset the Watchdog timeout signal. One of obvious solutions is invoking DAQmx Reset Device.vi. Unfortunately, it does not work. The Watchdog goes to timeout state but the physical output signal does not turn to High.
       
      For some obscure reason (typical non-qualified guess:) I added bottom part of the code that is red-framed in the BD. The only difference between functional and non-functional code is using DAQmx Start Task.vi, that is located in “Solutionâ€-driven case structure. If Boolean control “Solution†is True, the code works; if False, it doesn’t.
       
      Please help to understand why launching conventional Digital Output task is necessary for normal functioning of the Watchdog?
       
      PS: Attempts to use clear expiration command instead of DAQmx Reset Device.vi were not successful.
       
      PSS: HW is PXIe-6358
       
      PSSS: Unfortunately, I cannot post any image here. Any image format results in "You are not allowed to use that image extension on this community" . The VI is attached.
      watchdogTest150817.vi
    • By pkeny
      Hello,
       
      I have created a vi that controls multiple writes (individually) by a switch. I have it so one individual switch controls one individual write (And is linked to individual clear, stop, error daqmx blocks). I do not think this is efficient as it takes about 4-6 seconds for the switch to actually write (True or False). 
       
      So, I was wondering if someone could help me make my code more efficient so it would run a bit faster.
       
      Thank you
      Digital Outs fine.vi
×
×
  • Create New...

Important Information

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