Frequency of aquiring data

Dear users,
We're trying to use LabVIEW to aquire data from Eagle uDAQ,but we have a
problem with frequency of aquiring data,actually we can't get more than
40 sample per second.Is there anyone to help us o solve the poblem?!

The biggest problem may be in the EDRE_ADSingle.vi which you did not post.  That VI gets called 16 times for each iteration of the loop.  How long does it take on each call? Is it doing anything which does not need to be done on each iteration, like initializing the external device?
Other things which may slow you down: Writing to file can be slow.  You do it twice in each iteration of the loop.  Moving the file writes to a parallel loop may allow the acquisition to run faster.  You are doing the the same thing many times.  Make subVIs.  Use arrays and for loops. Avoid coercion dots. Move indicators to a parallel loop - writing to the display can slow the loop.
The Producer/Consumer Design Pattern is an example of how to use parallel loops for something like this.
Lynn

Similar Messages

  • To develop an VI to aquire data of thermocouples from a remote chamber in labVIEW real time, should use NIDAQ or NIDAQmx?

    Hai
    I need to develop an VI to aquire data at real time. Am using LabVIEW RT as the OS and i need to know, if i can use NIDAQ 7.0 or should i use NIDAQmx? what is the diffrence between the two? is it just that NIDAQmx makes job simpler?
    Also can anybody please tell me, how to access a channel in labVIEW? am not clear about the path to follow to get the physical channel as a virtual channel on the LabVIEW.
    I am using a 8186 PXI with labVIEW RT and a SCXI, with both scxi and daq card on the same chassis.
    the development will be done on Windows XP which will be the host machine.
    Thanx in advance for any answers
    Arun

    Arun,
    DAQmx is our new Data Acquisition driver and should be considered as the primary option when writing new applications because of supportability in the future.
    DAQmx does make Data Acquisition tasks much simpler, abstracting many of the board implementation details and giving you a common API for 99% of the tasks you might want to accomplish.
    There are a couple of minimum requirements for using DAQmx on LabVIEW Real Time:
    - You will need LabVIEW Real-Time 7.1 (or higher)
    - You will need DAQmx 7.2 (or higher)
    These requirements are mentioned in the following Knowledgebase:
    Is NI-DAQmx Supported in LabVIEW Real-Time?
    The other thing you might want to make sure of is that DAQmx supports the DAQ hardware you already have or are planning to use. DAQmx does support most of the existing DAQ and SCXI hardware products, and reading thermocouples should become a very simple task.
    With DAQmx you can use physical channels, Global Channels (Aliases for preconfigured physical channels, equivalent to the Traditional DAQ Virtual Channels) or DAQmx Tasks (Preconfigured Data Acquisition tasks that include channel, timing and triggering information). A good place to start to learn about these features could be:
    Advantages of NI-DAQmx
    The following link might be useful to check Hardware support:
    http://www.ni.com/support/daq/versions.htm
    The driver can be downloaded by following these links:
    ni.com -> Support -> Drivers and Updates -> Current Software Versions -> Multifunction DAQ -> NI-DAQ Version 7.3 for Windows 2000/NT/XP
    This includes the latest version of DAQmx and our Traditional DAQ driver. Please note that DAQmx base is also listed but that's our Register-Level Programming (RLP) driver, which provides DAQ support for previously unsupported platforms.
    I hope this helps,
    Alejandro

  • How to measure the frequency of the data plotted on the waveform chart

    i have made a virtual instrument in labview that acquire data (say sine wave) into a spreadsheet file and also on the chart from the function generator. I measured the frequency of the data from the chart but it is coming out to be very less. How can i calculate the frequency of the plotted sine wave and also from the spreadsheet file.

    If you want to get an idea of the base-frequency of an periodic signal, you can measure the number of samples in between two maxima or in between two minima of the periodic signal.
    Multiply the number of samples by the sample-interval (1/Fsample in [sec]) gives you a rough estimate.
    FFT, I mentioned is one of the more advanced calculation-methods.
    The method calculates the spectrum from a waveform.
    Hope this helps,
    Patrick

  • Trying to write current aquired data to file while a continuous aquisition is occurring.

    I have a vi named pj_pushbutton.vi in the attached library. The vi is aquiring data continuously. I have a button that when pushed will write the data to the file. It does this fine except that it seems to be writing the samples from the buffer immediately. I guess I want to aquire the latest samples not all the samples that are n the buffer so that I get the real time aquisition. When I push the button I have it set up to read the number of samples based on time on the front panel. I want to sample 2 seconds and it calculated the sample rate multiplies by the seconds to give me the number of samples. When I run the program the push the button to write the data to the file
    it seems to be writing from all the recodes in the buffer not just the most current. So instead of taking 2 seconds to write the data it writes whatever is in the buffer immediately. How do I keep it from doing this? My file is attached in a zip. Thanks for your help.
    Attachments:
    filebutton.zip ‏719 KB

    Hi HAL,
    I don't have time to figure out exactly what you are asking but I can offer this tid-bit that may be handy to know.
    "Delete from array" will by default return the last eelement in an array. This is ewasier and cleaner than iterating through all the elements and just keeping the last.
    Add some comments (fre labels) showing me where to look if you want me to be of more help.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Reading aquired data

    Hello, i am writing a program to read my aquired data, i did't know it
    was that hard! I got my header reading block finished and a have my 1D
    binairy to 2D converter also ready i can read the data in blocks of 2 4
    10 or 20 seconds and i can page trough them, But now i want to do more
    with the data but don't want to have it all the time in my while loop
    (cause it slows down the program!) has anyone wrote a data reader
    program where you can do more with the data then only see it on your
    screen?!
    Anyone?
    Regards Thijs

    You can store the array in a global variable and clear your array in the
    loop. now you have access to your data from any other vi.
    Niko
    > Hello, i am writing a program to read my aquired data, i did't know it
    > was that hard! I got my header reading block finished and a have my 1D
    > binairy to 2D converter also ready i can read the data in blocks of 2 4
    > 10 or 20 seconds and i can page trough them, But now i want to do more
    > with the data but don't want to have it all the time in my while loop
    > (cause it slows down the program!) has anyone wrote a data reader
    > program where you can do more with the data then only see it on your
    > screen?!
    >
    > Anyone?
    >
    > Regards Thijs
    Ingenieurbüro Mencke & Tegtmeyer
    Laubbreite 21
    D-31789 Hameln
    Tel. 0 51 51 / 96 33 68
    F
    ax 0 51 51 / 96 33 69
    e-Mail: [email protected]

  • What is the best way to stack DAQ aquired data in labview?

    I'm developing an application to work with an M-series daq card and labview 8.5 to output a signal and then record on 8 differential inputs for a short period of time (~10 ms). I need to stack my data, however, because the incoming signal will be very, very small, even after amplification. So basically i'm running a slightly modified version of the multifunction Synch AI-AO.vi (included with the install of daqmx). What is the best way for me to rerun this vi a set number of times and add new data directly to the old data (not cat-ing or anything, like |sample 1 of run 1| + |sample 1 of run 2| = stacked stample 1).
    A slightly modified version of the mutlifunction synch AI-AO.vi is attached.
    Attachments:
    des_v2_Multi-Function-Synch AI-AO.vi ‏143 KB

    Hi LSU,
    see attachment on how to "stack" several measurements. I simply add the waveforms and use a shift register to keep the last iterations value.
    Writing to files in each iteration is extremly CPU consuming - especially with express vis. Using for loops for just one iteration is "senseless". You could enable the conditional terminal of the for loop to realize your stop feature.
    For your message 4:
    Have you ever tried all the things you asked for? Sometimes it's easiest to just try&error
    And for the "n=n+x" question: It really helps to take the free online courses offered by NI!
    Message Edited by GerdW on 11-11-2009 06:27 PM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    des_v2_Multi-Function-Synch AI-AO.vi ‏128 KB

  • How to use Counter/ti​mer PWM Pulse as a trigger to aquire data??

    I posted this question on the Counter/timer BOARD, but i got no replies. So i decided to post it here.
    (1) I'm using the NI DAQpad 6015 multi-function card with the DAQmx Driver. I'm using the counter/timer (counter 0, and counter 1) to generate 2 different PWM pulses to supply my sensor circuit. each pulse is a 1 second in duration. The pulse with 5m.sec duty cycle is the supply for my sensor. (Imanaged to generate the required pulses). 
    In addition to that  I'd like to use the 5 m.sec as a trigger to aquire the sensor reading. The DETECTIN POINT should be the middle of the HIGH State of the 5m.sec pulse (i.e just after the 2.5 m.sec point of the high state). Detection takes place only at the HIGH State of the pulse. How Can i read my sensor voltage for this limited duaration (2.5 m.sec) each time the pulse is high.
    (2) another point is: how to display the counter/timer pwm output pulses on the front pannel?? 
    Attached is the VI i'm using (Complete PWM.vi), and the pulses diagram
    regards,
    Attachments:
    Complete PWM.vi ‏49 KB
    pulse.JPG ‏10 KB

    This question has been replied to on this other post.
    Thank you,
    Raajit L
    National Instruments

  • How to use Counter/timer PWM Pulse as a trigger to aquire data??

    (1) I'm using the NI DAQpad 6015 multi-function card with the new DAQmx Driver. I'm using the counter/timer (counter 0, and counter 1) to generate 2 different PWM pulses to supply my sensor circuit. each pulse is a 1 second in duration. The pulse with 5m.sec duty cycle is the supply for my sensor. In addition to that, I'd like to use the 5 m.sec as a trigger to aquire the sensor reading. The DETECTIN POINT should be the middle of the HIGH State of the 5m.sec pulse (i.e just at the 2.5 m.sec point of the high state).  
    (2) another point is: how to display the counter/timer pwm output pulses on the front pannel?? 
    Attached is the VI i'm using (Complete PWM.vi)
    regards,
    Attachments:
    Complete PWM.vi ‏49 KB

    Hello alaali,
    It sounds like what you need is a trigger delay property node.  This property node specifies an amount of time to wait after the Start Trigger is received before acquiring or generating the first sample. This value is in the units you specify with Start.DelayUnits.  This way you can still acquire using the trigger, and you can specify the delay to be 2.5 ms so that the point that you actually acquire will be 2.5 ms after the trigger.
    Hope this helps.
    Regards,Message Edited by Raajit L on 04-23-2007 04:34 PM
    Raajit L
    National Instruments
    Attachments:
    DAQmx Trigger Delay.jpg ‏6 KB

  • Error 200279 and number / frequency of logged data

    Hello,
    I am new to LabVIEW and I am writing a VI that sends 2 voltage (AO voltage) to a motor, and read the voltage input (AI voltage) from a strain gauge and one of the corresponding AO signal that I sent out to the motor. Also, the VI reads encoder value. I am using a PCI 6230.
    I am unsure of the difference between the number of samples per channel in DAQmx Read (AI Volt), DAQmx Read (Encoder), and DAQmx Write (AO volt).
    If I set all three values to 1 (like in the attached VI), I will get a log data that has logical data for DAQmx Write (AO volt) and DAQmx Read (Encoder) (values changing and logged every 1ms). However, the log data from DAQmx Read (AO volt) has some error (it's not logging data with increment of 1ms), then the Error 200279 shows up.
    If I set DAQmx Read (AO volt) to 1000, and the other two to 1, I will get DAQmx Read (AO volt) data with increment of 1ms, and the others increment of 1s. While if I set all to 1000, my encoder and DAQmx write data will lag (shows up late in the log) by 1s (transient data is not shown, only stedy state after 1s).
    I have been trying to troubleshoot and read about the error description but found no helpful clues.
    Appreciate your help.
    Thanks a lot!
    Attachments:
    AnalogOutputandInputRev1b.vi ‏135 KB

    Hi Thomas,
    Thanks for your inputs. I have tried using the "Shared Sample Clock" example but I have an error which says:
    Error -200077 occurred at Property Node DAQmx Timing (arg 1) in DAQmx Timing (Sample Clock).vi:6->AnalogOutputandInputRev1c.vi
    Possible reason(s):
    Requested value is not a supported value for this property. The property value may be invalid because it conflicts with another property.
    Property: SampTimingType
    Requested Value: Sample Clock
    You Can Select: On Demand
    Task Name: _unnamedTask<2DE>
    And then,
    Error -50103 occurred at DAQmx Start Task.vi:3
    Possible reason(s):
    NI Platform Services: The specified resource is reserved. The operation could not be completed as specified.
    Task Name: _unnamedTask<2DF>
    I have attached my modified VI here as well.
    I would like all my tasks to occur at the same time, and most importantly, logged at the time it happens without some delay.
    Would you please advise on what's going wrong with my VI this time?
    Thank you very much.
    Attachments:
    AnalogOutputandInputRev1c.vi ‏131 KB

  • How to aquire data of Bluetooth device connected to USB port by using LABVIEW?

    I am using LabVIEW2010 and want to acquire data of Bluetooth device which is connected to USB port while i am using OS xp3
    THANKS

    Does it have a driver to use it as a serial port?
    Say hello to my little friend.
    RFC 2323 FHE-Compliant

  • Synchronize aquire data from AI and action DO

    Sonic
    Diffrent Strokes for Different Folks
    Attachments:
    1.JPG ‏38 KB

     bulid a test station with two unit been tested synchronization, but I find sometimes it will run a error as attached file.
    I found that if I lock some test item with daqmx action and make sure AI and DO work asynchronism , it work well.
    I think AI and DO action have no conflict,but now  I am failed.
    by the way , I uesed DAQ 6221.
    BR
    Sonic
    Sonic
    Diffrent Strokes for Different Folks

  • How to calculate rms voltage, rms current and frequency from real time data?

    Hello,
    I need to calculate the real time rms voltage, rms current and frequency of the received voltage and current graphs using visa read. Actually am trying to monitor the voltage and current parameters of AC load, in this case, am using a set of 4 light bulbs at the moment. Expected frequency is 50 Hz, and rms voltage close to 240v AC, current about 1A. 
    Attached is the vi picture of what I have been able to achieve so far, courtesy of labview forums. But I need to finally finish this vi by calculating the Vrms, Irms and frequecy. The front panel shows the voltage (Chart V) and current (Chart I) after scaling. Chart VI represents ADC value 0 ~ 1023 of received data. Aray V & I show the binary bits received up to 10 bits of useful data from ADC. Each sine wave from ADC is sampled at 25 samples for the ADC conversion, and sampling frequency of 1.28kH.
    I have tried using the RMS vi, but seems I don't know how to configure it correctly to get desired results. Also when I make changes like switching of one of the bulbs so that their is current change, I need to refresh the SERIAL port first before changes show up on the VI. Any ideas on how to improve on this are highly appreciated.
    Otherwise, I would appreciate if somebody helps me MODIFY my VI to read the rms values and frequency from received data. This is the last piece of my project, I do appreciate all the help rendered. Am currently using labview labview 2014, student version!
    Gavin.
    Attachments:
    Test_revised1.vi ‏39 KB
    Test_frontpanel.png ‏196 KB
    Test_blockdiagram.png ‏187 KB

    hello,
    note that peak voltage (Vpeak) is (240 * 1.414) = 399 V and peak current about 1.414 if intended rms current is 1A.
    Gavin.

  • What is Averaging Time & Data Reduction Factor in Frequency-Weighted Acceleration?

    I have to analyse the Ride Comfort Data of one vehicle (as per ISO2631-1). It has Acceleration levels of driver seat in X, Y, Z directions.
    I need to plot Frequnecy Weighting in dB vs Frequency in Hz. Data is recorded at 500 Hz for 9.95 secs.
    How much Averaging time & Data Reduction Factor should i take and how to convert them in as above said graph.

    In ISO2631-1 it says that while analysing the data you should take weighing factors for seating condition. For driver seat it is 1 it is also mentioned in Frequency Weighted Averaging in Diadem as Wk & Wd etc in signal analysis.
    Output should come as Frequency weighted RMS of individual X, Y , Z and combined RMS of X, Y , Z. for that i need to know the "Averaging Time Constant Required" & Data Reduction Factor. As changing any of these will change the results.
    I need to have one final RMS value of X, Y, Z representing the ride comfort of that vehicle & If possible combined RMS too.
    And how to change that value to dB. I know how to do it manually by taking a reference value and taking log with base 10 by dividing by reference value.

  • Will somebody provide me with a QBASIC 4.5 PROGRAM for Interfacing with a Anritsu make(model-MS710) Rf spectrum analyser through GPIB ( NI-488.2 ) in DOS environment? I would like to aquire from the instrument and save the data in PC.the data

    Will somebody provide me with a QBASIC 4.5 PROGRAM for Interfacing with an Anritsu make(model-MS710) RFspectrum analyser through GPIB ( NI-488.2 ) in DOS environment? I would like to aquire data from the instrument and save it in PC for printing purpose.

    Hello,
    Unfortunately I was unable to find a driver for this instrument. This leaves you with one of a couple options. First, I would like you to submit a request for this driver at:
    http://www.ni.com/devzone/idnet/other.htm
    We develop drivers in CVI and LabVIEW based on demand and popularity so the more requests we have for it, the greater the possibility that we will develop one. While this would not provide you with a QBASIC program, you may be able to create a DLL that you could call from QBASIC.
    If you would like to try developing your own instrument driver (or modify the existing one), we have documentation, model instrument drivers, and driver templates to help at :
    http://www.ni.com/devzone/idnet/development.htm
    We also have a syndica
    te of third party vendors that specialize in National Instruments' products and services. Some of the vendors specialize in driver development. I would suggest contacting one of the Alliance members at:
    http://www.ni.com/alliance
    Good Luck,
    Kim L.
    Applications Engineer
    National Instruments

  • Problems with displaying read data from a .lvm file

    Hi all.
    I aquire data with the PCMCIA card 6036E. I aquire online in Labview 7 and store the data in a .lvm file. When i try to display the same data i aquired before with the "read .lvm file" express vi, the waveform chart redraws itself after an undefined time, sometimes it redraws faster and sometimes it takes longer. WHY? i have only one header per aquisition and if i restart the aquisition a new file is written! I tried almost everything. Is this a bug from labview 7?
    I really appreciate your help.
    best regards,
    Bernd

    Hi Khalid,
    Here is a simplified version of my VI and also 2 .lvm files from the logged data. Sorry for the size, but I aquire with a sample rate of 20 kS/s and my main frequency is only 0.3 Hz. In the 6MB file I aquired a little more than 3 periods. When you run the VI with this file at the beginning it redraws very often and very fast, then after some time it draws about 1 period and then it redraws again and so on. I want that the hole data from this file is displayed at once. The 900kB file is aquired with 10kS/s and about 1.5 periods. This is the last size the displaying is working with. You think it is possible that the VI only works until 1MB? But my data usually is much bigger than that. I hope you can use the data because it is
    zipped, but otherwise it wouldnt be possible to post it.
    Thank you very much for your help, I really appreciate it!
    Best regards,
    Bernd
    Attachments:
    simplified_VI_for_offline_data_display.vi ‏79 KB
    2004-07-01_Messung9.zip ‏191 KB
    2004-07-01_Messung4.zip ‏680 KB

Maybe you are looking for