Why use FIFO to read analog signal?

Why must we use FIFO to obtain analog signal from FPGA? I can use a normal method of calling the FPGA using Read/Write Control and the results in a waveform chart is much more smoother. 

I've uploaded 2 real-time VIs with and without FIFO. MQ convert is the subVI in my computer. Do have a look at it...
My waveform chart is done that way so that I can easily export to excel ( i think) but this is a different problem in a different topic http://forums.ni.com/t5/LabVIEW/3-Waveform-Chart-to-a-Single-Excel-but-in-Different-Spreadsheet/m-p/...
Attachments:
Real-Time With FIFO.vi ‏397 KB
Real-Time without FIFO.vi ‏391 KB
MQ Convert.vi ‏19 KB

Similar Messages

  • Reading analog signal using DAQPad-6016

    I'm trying to read an analog signal using DAQPad-6016.  One input is ground, the other is Vdc.  I can't get it to work in MAX and I'm confused becaue MAX only gives me an option for differential reading, but the pinouts don't give enough information on how to connect differentially.  Is there a reference as well?
    Solved!
    Go to Solution.

    Hello Bernadette,
    This link should have everything you need to get set up correctly: http://www.ni.com/gettingstarted/setuphardware/dataacquisition/analogvoltage.htm
    After you have a task set up, specifically see step 11 to verify the connections to the device. 
    I hope this helps!
    Matthew R.
    Applications Engineer
    National Instruments

  • How should i do?when i use the sc2345 for analog signal acquired!

    please help me!
    I have to use the sc2345+NI6221 for analog signal acquired. but i don't have a analog input module such as SCC-AIXX.
    So I want to pass the signal to the DAQ device. how should i do to connect the wire on the sc2345?
    how can I use the sc2345 for a pass connector?
    Thank you very much and look forward to your reply...
    Solved!
    Go to Solution.

    What kind of signal do you want to acquire?
    If it does not need any conditioning, then, you can connect the signal to 6221 with a terminal block such as SCB-68.
    Best regards,
    NISH AE Haiping.Fei

  • Why I am unable to read/write thermocouple data using FIFO

    I like get data using 9213 module. I used example VI for this. And to get the data according to my desired samling rate, I used FIFO.
    The problem is, if I use FIFO, I do not get any data when run the real time VI.
    But, if I like to get data using cluster, then it is OK.
    Also, can you tell me why the error comes when I use FIFO and run the program?
    My sampling desired rate is 1200 sample/sec. I like to acquire data for 30 seconds after the trigger.
    Attachments:
    Error_50400.jpg ‏34 KB
    FPGA.jpg ‏201 KB
    realtime_temp.jpg ‏249 KB

    Good Afternoon,
    I would suggest lowering the number of elements into the invoke node in your real time VI.  You only need the number fo samples times the sampling rate for the number of elements input.  Hope this helps!
    -Cody C

  • How can analog signals are measured every several counters from Quadrature Encoder using USB-6221

    how can I sample analog signals every counters from quadrature encoder using usb-6621?

    There is a well documented example of what you are trying to do at :
    http://zone.ni.com/devzone/explprog.nsf/webmain/DD85F07A7CA99F8F862568690062DE54?opendocument
    Don't be afraid because of the BNC-2120. It is just used in this example to simulate the pulses from a device. So it is not needed in your case. Obviously, you will need to change the number of increments/rev according to your encoder to get correct RPM values.

  • Niscope for pxi5105, use a digital pulse signal to control analog signal sample

    i want to use ni-scope to drive pxi5105. And the PFI1 connect to a digital pulse signal(10KHz, 0-3.3V), to control a single channel analog signal continuous sample(Chan 0). I want a loop when the digital signal falling, the analog singal start to sample, and when the digtal signal rising, the analog singal stop. And by the low level of the digital singal, the analog singal sample (coupling by DC) can get an average and export to txt. I have tried the "start_and_reference_trigger.vi " and it did not work correctly. i need your help, thank you very much.
    Attachments:
    start and stop triggers for analog sample.vi ‏94 KB

    Hi Phil,
    The SCC carrier is only conditioning your signals (i.e. if your signals are not in optimal ranges, bandwidth or need external excitation). The actual counters and all digital lines are controlled directly by the M-series board. This means you will never be able to refer to a counter in the SCC module.
    If you route the signals of the M-Series board, is as if you had done so externally from the SCC. Look at this example and might give you more insight to how to implement it (This is software timing). The hardware timing would be doing correlation DIO. Here is an example that needs to be modified to adapt to your timing: http://zone.ni.com/devzone/cda/epd/p/id/4414
    Hope this helps,
    Yardov
    Gerardo O.
    RF Systems Engineering
    National Instruments
    Attachments:
    Finite Dig Output High.vi ‏31 KB

  • Triggering an analog signal using USB6008

    Hi I'm trying to use the start trigger with DAQmxBase acquiring analog signals with the USB 6008.
    When i configure the trigger as Start Digital Edge I become an answer, but only starting at an rising edge.
    I want the acquisition to start at a define level, so I've tried with Start Analog Edge, but the acquisition is stopped.
    Can someone help me how to configure better than i do?
    Thanks.
    Regards
    Patrick
    Patrick Etoumann

    Hi!
    It's not possible to configure an analog trigger with an USB 6008 -> only digital trigger is available!
    If you want to start on a predefined level then is the only option to do this with an analog-software trigger!
    http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=C16B1501B4D9168DE034080020E74861&p_...
    regards
    ThSa
    http://www.newgistics.com

  • 4 analog signal to read

    Hai guyz,
    How do I configure my DAQmx or coding so that it would be able to  read four signal at once. Im trying to read 4 analog voltage signal from my sensor. I appreciate any help.
    Regards,
    Newbie92
    Attachments:
    FrontpanelCombined.png ‏93 KB
    combinedcoding.png ‏267 KB

    Here's a quick example.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Combine1_BD.png ‏31 KB

  • PCI-4451 Analog Output using FIFO allocation mode

    I'm using a PCI-4451 DSA device to generate a short length (<50 updates) repeating pulse train. I want to write directly to the 4451's onboard FIFO so that I only have to transfer data to the device once and let the 4451 continuously regenerate the pulse train on its own. Using the the AOCONFIG.vi I set the allocation mode to "6" (use FIFO Memory). But when I write to the buffer, and then call AOSTART.vi, I get no output. Sometimes my system simply crashes. In either case, I get no LabVIEW generated errors when I set the allocation mode to "use FIFO memory." According to my 4451 documentation, I do have an AO FIFO, so it should be working. What could be going wrong?

    Thanks for your response,
    I used the VI you linked to and the non-FIFO mode AO works fine. In FIFO mode, it does end up generating an output, but it only iterates through the buffer once, no matter what the input to "number of buffer iterations" is on AOSTART.vi. I want it to regenerate indefinitely, but wiring "0" to "number of buffer iterations" and allowing regeneration on AOWRITE.vi doesn't make it do that. Could this be caused by a driver problem?
    Also, I figured out that if I run a non-FIFO mode AO, stop the VI (I allow AOCLEAR.vi to execute), and then switch to a FIFO mode AO without first shutting down LabVIEW, my system locks up. It's not enough to just close the VI and reopen it to get FIFO mode to run again without locking up; I
    actually have to exit and restart LabVIEW. Running a FIFO mode AO first and then runnning a non-FIFO mode AO causes no problems. I'm using Win2k professional and LabVIEW 7.

  • Why parallel query use direct path read ??

    I think because access buffer cache needs latch and buffer block lock,if parallel query don't use direct path read ,parallel query will be impacted by Serialization mechanism such as latch and lock .so oracle choose direct path read to avoid it .
    anybody have a good idea ??
    Edited by: jinyu on Dec 8, 2008 7:52 AM

    jinyu wrote:
    I think because access buffer cache needs latch and buffer block lock,if parallel query don't use direct path read ,parallel query will be impacted by Serialization mechanism such as latch and lock .so oracle choose direct path read to avoid it .Jinyu,
    basically, yes I think that's it. The purpose of parallel query is to scan a very large segment, because the overhead of communication between the processes and maintaining/starting up the parallel slave renders the operation inefficient for small segments.
    Therefore I guess the assumption is that the segment to scan is probably very large, the fraction of the blocks in the buffer cache would be only very small in comparison to the blocks to scan, and therefore the reduced overhead of directly reading the blocks bypassing all the serialization issues of the buffer cache should outweigh the "un-buffered" blocks issue and save the buffer cache for objects that benefit more from being cached.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Updated Firefox doesn't like to use Adobe Acrobat reader to read pdf files. Why

    Since I have upgraded to a newer version of Firefox, I can no longer read or print most pdf files found on the internet with Adobe Acrobat reader. This is very frustrating. It has been happening for the past 3 weeks.

    https://support.mozilla.com/en-US/kb/Using+the+Adobe+Reader+plugin+with+Firefox
    https://support.mozilla.com/en-US/kb/Opening+PDF+files+within+Firefox

  • How to acquire analog signal and send a TTL pulse at the same time based on PXI 6123

    Hi,
    I am using a PXI-6123 data acquisition card, as the picture show in the attachment ,I want to acquire the analog signal of ai0 through reference analog window and at the same time send a TTL signal to trigger my camera. I have tried two methods, one is using the DAQmx Export signal.vi another is using DAQmx connect terminals, but when the data acquisition card acquire the analog signal, the DAQmx Export signal.vi and the DAQmx connect terminals sometime can send an TTL pulse ,sometime can not.
    I don’t know why?  or some other method that can achieve my arm is appreciated.
    Regards
    chunlei
    Attachments:
    method export signal.vi ‏21 KB
    method connect terminal.vi ‏36 KB
    Send a TTL pulse.JPG ‏288 KB

    Hi,
    Have things changed over the years?
    I need to syncronise a digital output (Modul NI9474) and an analoge input (AI-Modul NI9203) module. I need to measure time intervals from a flank in signal A to a flank in signal B. I would like accuracies of the order of 1 ms. Currently, the signals are not synchronised, with errors of the order of 2 times the block length (block size x sample rate), sometimes much higher. The best I got so far was a block size of around 20 with a sample rate of 1 kHz.
    If I use the master and slave settings on the RTSL settings, my program doesn't run properly.
    If I use digital signals for input and output, I can syncronise them with RTSL settings and everything is good, but I can't always do that.
    Also, if I do anything in the GUI (such as scrollowing something or going to another window), my output gets screwed up properly.
    1. What can be done to synchronise AI with DO?
    2. Is there something that can be done to avoid messing up the output when something happens in the user interface? (I know that I am messing up the outputs as they make some valves switch and that is loud).
    Thanks in advance!

  • Analog signal from PXI

    Hi everybody,
    I have a problem: I cannot acquire 6 analog signals with a PXIe 8135 with 4MS/s. I use two boards with 4 MS/s, 16 bits and 8 Analog Inputs. I use a subVI of SAMPLE CLOCK for configuration with this parameters, Continuous SIGNAL, SAMPLE RATE = 4MS/s ( see attachment ). With one signal is ok, but with 2 signals, i have an overload Memory Message.
    Where is the problem in the VI?
    Thanks for your help.
    Attachments:
    acq_and_graph.zip ‏165 KB
    acquire&loggdata.png ‏230 KB

    Quickly looking through your code now, try removing the "Number of Samples analog".  Since you are using Continuous Samples, you are just limiting the buffer and also limiting how many samples you can read at a time.
    But you might want to think about using Finite Samples.  You know how long you want to log for and you know your sample rate.  So why not just do the simple math and tell DAQmx to get that many samples?  You can use the DAQmx Task Done? VI to see if it is done.  That would be much simpler than checking the time that has elapsed.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Determining Analog Signal Frequency with Prebuilt VIs

    Don't know what is wrong with this code.  Am trying to determine the frequency of a signal from an analog signal (paddlewheel flowmeter).  As a starting point, I'm using a simulated square wave with the "Timing and Transition Measurements" VI and am getting following error:
    ~~~~~~~~
    Error -20308 occurred at Timing and Transition Measurements -> frequency_determination_example.vi
    :3"  (waveform index 0 of 1)
    Possible reason(s):
    Analysis:  The waveform did not cross the mid reference level enough times to perform this measurement. Check the signal length, reference levels, and ref level units.
    ~~~~~~~~~
    However, there seems to not be any options in the "Timing and Transition Measurements" VI to set mid reference levels.
    Any insight into why this simple problem is occuring would be appreciated.  Attached is my program's simple code.
    -tsippel
    Attachments:
    frequency_determination_example.vi ‏101 KB

    Hi,
    Dennis was right (without looking at the code). You generate one (1) square wave, if you had generated 1000 sampled you'd get the correct answer.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • Graphing two analog signals vs. a third with xy plot

    I am trying to plot two analog signals on the y
    axis vs. an analog signal on the x axis on an xy plot. If anyone knows how to do this or has
    an example vi showing it I would appreciate it.

    I think the best starting point for you is the XY graph.vi example. You will locate it in examples\general\graphs\gengraph.llb directory. The example that most probably matches your needs is '(X and Y arrays) Multi Plot' graph.
    Hope it helps
    Roberto
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

Maybe you are looking for