Can PCI 6031E handle multi-buffered data acquisition

If so can anyone send me some instructions or LabView code. Thank you in advance.

Greetings,
The PCI-6031E can handle single or double buffered acquisitions. The two best sources for examples and instructions are LabVIEW itself and our web site. Go to the "Help -> Find Examples" pull-down menu in LabVIEW to search for shipping examples. Look in the folder "Hardware Input and Output -> DAQ -> Analog Input -> General." Here you will find many analog input examples. Specifically, you should pay attention to the ones with "buffered" in the title.
In addition to LabVIEW itself you will find our web site's Developer Zone extremely useful.
Development Library
http://zone.ni.com/devzone/devzone.nsf/6ae7945502d89dea0625685500506e1f/4d58b1b80ec41ef70625683f006e1d6d?OpenDocument
Regards,
Justin Britten
Applications Engineer
Nati
onal Instruments

Similar Messages

  • I am trying to write a double buffered data acquisition program using MFC and a callback function.

    i am trying to do a double buffer data acquisition using MFC application framework in Visual Studio.i want to use a callback function to notify when the buffer is half full.do you have some sample reference program that can help me?

    What DAQ board are you using? When you installed NI-DAQ you should have selected to install the support files for VC++. Then there will be several examples on how to do double buffered data acquisition.
    If you have already installed NI-DAQ 6.8 or higher and did not select to include the support files, you can run the NI-DAQ setup program and just add them. If you are using an older version, you will have to uninstall and reinstall.
    Once you have the support files, follow this path to the examples.
    >>Program Files>>National Instruments>>NI-DAQ>>Examaples>>Visual C>>
    If you are doing digital acquistion, goto the di folder, if you are doing analog acquisition goto the ai folder.
    As for the callback function, you can use the NI-DAQ function Config_DAQ_
    Event_Message with DAQEvent Type = 1, where N would equal half your buffer.
    Brian

  • Help: can labview support anyone's designing Data acquisition CARD?

    I want to design a " Data Acquistion Card" with PCI interface,and want to drivedand process output data in labview, But I don't know whether Labview has this function to drive or read/write this kind of Data Acquisition Card which designed by myself not by NI company.

    What you use in LabVIEW will depend on what type of low level driver you write. LabVIEW has the Call Library Function Node for calling a DLL, the C Interface Node, Active X, and .NET functions. You can even use VISA and do register reads and writes.

  • Buffered Data Acquisition at different rate

    Hi,
    I have a pb with my data acquisition : I'm using a PXI-4472 AI card and continuous acquiring data to file.
    Until now all channels are acquired at the same frequency : Ok. I know this card does not support multi-frequency acquisition.
    But I want save data at different rate : ex : first channel at the frequency desired (ex 10 KHz), second channel at frequency /2 : 5 Khz ... to reduce amouth of data in the saved file.
    I know the amouth of data retrieve et each AI-Read (ex 2048 scaled data / channel), and the frequency divisor / channel.
    What's the best way (performance) to process the scaled data tab (2 dim) from the AI-READ to save it in the file (using Write File +) with frequency divisor consideration.
    And how to re
    ad the data in the saved file after.
    Can you send me an example please ???
    Thanks
    Eddy DUCHENE
    12 F Chemin de Boutary
    69300 CALUIRE ET CUIRE
    [email protected]

    Hi kdm,
    please stick in one thread for the same topic!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Error -10609!! How to correct for multi-channel data acquisition?

    I am creating a program that will obtain data from all 16 channels of the PCI-DAQ6023E. I keep running into the 10609 Error "Transfer in Progress" when trying to compile and run. How do I set up the code to allow the DAQ card and Visual Basic to analyze all 16 channels at the same time?

    Greetings,
    Most of the time when I see the error 10609 Transfer in Progress it is because multiple calls, such as an analog config or analog start, are being called to the same DAQ device at the same time. Both calls are fighting for the DAQ card's resources. This is an issue with your program.
    I recommend that you take a look at an example program, such as our simple AI example in Visual Basic which can be found in the following directory: \Program Files\National Instruments\NI-DAQ\Examples\Visual Basic\_Getting Started\AI.
    You will see a Component Works control called CWAI. If you right-click on this control and choose properties you will be able to select the channels you wish to read from. You will want to read from all 16 channels by using a
    channel string of 0:15 or 0,1,2,3 .. 15. You do not want to have one CWAI control for each channel.
    You could also take a look at the following example available on our web site.
    Continuous Analog Input on Multiple Channels Using Visual Basic with NI-DAQ Function Calls
    http://venus.ni.com/stage/we/niepd_web_display.DISPLAY_EPD4?p_guid=B45EACE3E25156A4E034080020E74861&p_node=DZ52302&p_submitted=N&p_rank=&p_answer=&p_source=Internal
    Regards,
    Justin Britten
    Applications Engineer
    National Instruments

  • Can the simulator handle multi-touches?

    I know the simulator can handle taps, single touches, drags and pinches with the option key. But is it possible to simulate multiple touches during a event, like three simultaneous touches?
    Thanks,
    doug

    Great idea, but, no, it doesn't seem to work. I have a macbook pro, but it's about a year old. It doesn't support pinching, but I know it supports multitouch, because I use it for sideways scrolling. Interestingly, the simulator does seem to recognize if I'm using two fingers, because it behaves differently using two fingers than one finger. But, it doesn't simulate multitouch. This would be a great feature enhancement to the simulator though. But, one thing they'll never be able to simulate is the accelerometer.

  • Can ws CC handle soap header data?

    Hello Expert,
    as we know for most of the PI adapters, there is a checkbox Adapter-Specific Attributes which could be used to handle/process protocol's header data. However for ws adapter (PI7.1) this checkbox is not available. Does that mean if certain data is provided in the soap header, PI ws adapter/CC will not be able to retrieve it and process it?
    Please advise.
    Thanks
    Jayson

    Hey Jayson,
    It seems that WS adapter does have a place for the adapter specific attribute setting. I dont have access to the PI system right now... so cant exactly point the exact position for ASA in CC
    But check out this : http://help.sap.com/saphelp_nwpi71/helpdata/en/45/874295b8f64d6de10000000a155369/frameset.htm
    Hope it helps.
    Thanks,
    Pooja Pandey

  • Multi-channel data acquisition via GPIB using a digital oscilloscope (Tektronics TDS540C) and LabVIEW 7

    I need to acquire datas from all the 4 channels of digital oscilloscope (model Tektronics TDS540C) using LabView 7. Please give me if you have VI programs to preform this task. Thank you.
    Nozo

    Hi Nozo
    There is a driver available here http://sine.ni.com/apps/we/niid_web_display.download_page?p_id_guid=E3B19B3E9533659CE034080020E74861
    Hope this helps you on your way
    David

  • How can I do a buffered digital acquisition on a single line?

    I am using a NI PCI 6110 DAQ and I need to do a continuous buffered data acquisition (sample rate near or above 5 kS/s). The thing is, the acquisition must be done on a single digital line. Some other lines of the digital port are used for something else (some in write mode, others in read), so they have to remain unaffected by the process.
    It would certainly be better if it could acquire data at the same speed as an analog input (which will be executing at the same time). In fact, it would have been much easier to only add a channel to the AI and I would have got exactly the results I want, but all the AI (4) of the board have already been used .
    The picture I uploaded shows what I'm tryi
    ng to do: I acquire analog data and I want to automatically show the moment a deconnection occured. The purple/pink line, which I added manually, is the one causing me trouble. It shows the voltage (0-5V) of the relay doing the deconnection (that's why it have to be done at the same time than an AI data acquisition).
    Thanks for reading this to the end
    Attachments:
    Graph.jpg ‏55 KB

    Well, you can't get hardware-timed DIO with the 6110, but you can probably use its counters to capture the timestamp you need.
    One method would be to set up a buffered edge-counting task. The analog input's sample clock would be specified as the source signal. This will cause the counter's value to increment at the beginning of each sampling cycle, acting as a measure of time from the start of analog input.
    The falling edge of the relay signal would be the counter's gating signal. For each instance that the relay disconnects, the count value ("time") at that instant will be stored in the counter's buffer for subsequent retrieval.
    Note one small timing subtlety: while the very first sample clock edge puts analog data into the 0th array inde
    x, it will also be incrementing the counter time to 1. This off-by-one deviation will persist.
    There are other variations on this theme, depending on whether you also need to capture re-connection times, or whether there is always one and only one disconnect of interest, etc. You can likely get just the behavior you need using one or both of the on-board counters.
    -Kevin P.

  • Data Acquisition on a 20MHz Timebase with PCI-6110

    I would like to acquire a data point (viz a voltage value) every 50ns (20MHz timebase). Then I would like to write these voltage values and the corresponding time value to a text file and finally plot the voltage values over the time. The data acquisition should be started on a trigger. How can I program this application in LabVIEW 7.1.1? I use a PCI-6110 card for the data acquisition. Thanks for any help!

    I would suggest you look at the shipping examples. Open the Example Finder and from the browse tab, select Hardware Input and Output>DAQmx, Analog Measurements>Voltage. Start with one of the simpler examples such as Cont Acq&Graph Voltage-Int Clk. You can also try the DAQ Assistant. Also, saving data to a text file can be pretty slow and will be a problem trying to maintain high acquisition rates. If you acquire data for a finite amount of time, you'll probably want to save the data once it's all been acquired and not real-time. You can use any number of methods for this. The Write LabVIEW Measurements File can be used to save an array of waveforms that you've captured. There are other shipping examples for saving real-time in a binary format. There are other examples at the NI Developer Zone.

  • Data acquisition with highly accurate GPS time stamping (hh:mm:ss:sss UT)

    A research group has developed a data acquisition system dedicated to daily observations of solar phenomena at radio waves using high time resolution (5-100 ms).
    First, the analog signal from the antenna (1000-2500 MHz) is sent to a spectrum analyzer (HP8559-A). After that, the analog signal is digitized during 5 minutes in a NI USB-6009 device connected to the PC, before to be stored in a file. By that time, other acquisition data cycle is restarted and so on up to the end of day.
    However, we need timestamp (UTC) the solar data at the beginning and end of each sample of 5 milliseconds, during all acquisition process, in order to have the UTC time information of recorded solar events. So, a time resolution of at least 1 ms is required.
    A software permit us to read recorded data and visualize corresponding spectra during last 5 minutes. However, we need UTC time information in the format hh:mm:ss.sss UT. Then, UTC millisecond is important for us, but not available yet.
    To solve this problem, we are searching for a high accuracy timing GPS receiver (on the order of microseconds or nanoseconds), with at least three significant digits of precision (UT time in milliseconds) and which give us the UTC signal at least each 5 milliseconds or even better (1 ms). However, most GPS receivers only outputs 1 PPS (Pulse Per Second = 1000 millisecond).
    Then, we are open to a better addressing on how to solve this problem !!
    We know that GPS time synchronization with PXI-6608 can be used to precisely timestamp data acquisition, but we have to solve this problem with a lower cost. Also, we require a PCI interfacing instead of PXI.
    Do we have to use a timer card? How do we use a timer, GPS and USB-6009 to timestamp data acquisition? Does the NI PCI-6602 solve the problem?
    Obs:
    The data acquisition software was developed in C++ Builder to run on a PC (Pentium III 2 GHz) under Windows XP environment. We used the NI-DAQmxBase driver to sample the signal from the NI USB-6009.
    We are sure your expertise can help us on this matter.
    Regards,

    I better explain my problem in the thread How to timestamp continuous analog data acquisition using USB-6009 and GPS timing board?
    We are considering to use the PCI-1588 or a GPS timing board (low-profile slot too), but I´m not sure that the USB-6009 can be used to solve the problem.
    How to syncronize the data acquisition and timestamps using USB-6009 and PCI-1588 with external GPS?
    In other thread I would appreciate any suggestions for GPS timing board and PCI-1588 too.
    Regards,
    Lilian

  • How can i avoid phase delay in annalog input data acquisition of multi channels

        I am using a PCI-6251 M Series board and wish to acquire two analog signals and output one analog signal simultaneously.  I have a question about multi-function -synch ai-ao.vi .With this Vi I work out annalog  input of one channel  and   data output of one channel synchronously.I take some  change in the vi which I make the sampling rate and sampling number of input and output channel be equal. But when i increase the input channel from one to two,a problem come that is the data acquired always shift towards one direct which depends on the sampling rate(for example data shift turn left when 250kS/s,right when 200kS/s).  Does the phenomena mean phase delay or lag during accquring data? or mean data loss? how it happen ?
         I wonder if the acquisition on both channels is perfectly simultaneous.I  hope the start of data  acquisition each time be the same all time.
              I would appriciate it  if any comment and suggestion.
                Attachments: modified VI from the Multi-Function -synch ai-ao.vi
                I  delete some part about data processing  in while cycle.vi in additonal file

    The specifications for the PCI-6251 state that it is not a simultaneous sampling board. This means that the board has one A/D converter which is multiplexed between channels. How much time delay is between channels is determined by how the board timing works, but it cannot be less than the reciprocal of the maximum sampling rate. For that board this is 1/1.25 MS/s or 800 ns. The delay could be as much as the reciprocal of your actual sampling rate. You need to look at the detailed specification for the device to determine the intersample delay. Some boards require addditional delay when switching channels to allow the multiplexer and amplifier to settle.
    Perhaps you can sample at a rate that is high enough that the delays produce acceptably small phase shifts. If your signals a deterministic enough, you may be able to calculate the shift and compensate.
    If you need true simultaneous sampling, you will need to check the specifications to be sure that the device you select offers that capability. I took a quick look at NI's web site DAQ search page and that is not a top level search option, but as you start to specify channels and sampling rates it becomse available.
    Lynn

  • Can my 600MHz P-3, 256MB Ram handle a data acquisition of more than 1kHz with waveform chart support?

    please suggest tools for acquiring high speed 8 analog channel data.
    can my 600MHz P-3, 256MB Ram handle a data acquisition of more than 1kHz with waveform chart support?

    Arun,
    I have performed data acquisition on a computer with lower specs than the one you described, at rates greater than 1 kHz. I don't quite understand the "waveform chart support" portion of your question, but if you are asking if it is possible to plot the acquired data on a Waveform Chart in LabVIEW, this should not be a problem.
    If you have more specific questions, let me know.
    -D
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • I want to acquire data for multiple channels using PCI 6120 that works on traditional DAQ. I cannot access more than one channel, can someone help me or if someone has data acquisition vi for PCI 6120, please send me over . Thanks

    I have PCI 6120 card and I want to acquire data for more than one channels. I'm using traditional DAQ to get it. But it does not work for more than one channels. If someone has a data acquisition vi for PCI 6120. Or some suggestion how to aquire data please let me know.
    Thanks

    Hello DSPGUY1,
    You can definetly acquire from several channels. For your convenience, I have appended below the content from help that tells you how to configure it:
    "channels specifies the set of analog input channels. The order of the channels in the scan list defines the order in which the channels are scanned during an acquisition. channels is an array of strings. You can use one channel entry per element or specify the entire scan list in a single element, or use any combination of these two methods. If x, y, and z refer to channels, you can specify a list of channels in a single element by separating the individual channels by commas, for example, x,y,z. If x refers to the first channel in a consecutive channel range and y refers to the last channel, yo
    u can specify the range by separating the first and last channels by a colon, for example, x:y."
    Hope this help.
    Serges Lemo
    Applications Engineer
    National Instruments

  • How to do multi-buffered acquisition on NI-6115

    I need to acquire multiple sequential arrays of data over a single channel using an external clock and a digital trigger (~1000 arrays total, 1000 samples/trigger, external clock frequency 500kHz, trigger frequency 250Hz). It is important that the sampling start right after every trigger, and that I do not miss any triggers. I can already do this using simple buffered acquisition with the ai start and ai read vis in a loop, except it misses triggers while the loop re-starts. Is there any way I can define a buffer large enough to hold all of the samples I need, then to have it read only the number of samples I want after each trigger into this large buffer? I don't need to see the data until the whole acquisition (1000 x 10
    00 samples/trigger) is over. Is this what multi-buffered acquisition does? I cannot find any literature on the NI site related to multi-buffered acquisition. Thanks for any help.

    So every 4 msec you get a trigger signal that should initiate a 2 msec acquisition (1000 samples at 500 kHz sampling rate)?
    There's an example of a way to use your board's counters to support retriggered analog acquisition here on the NI site: Retriggered Analog Input Example. The code may look a little complicated, but the basic idea is described pretty well.
    The goal is to make sure the timing is handled in hardware so you don't miss triggers while doing the software reprogramming. AI Start would be called only one time prior to your loop, and only AI Read would be calle
    d inside the loop.
    Just be careful about your timestamp info. The analog acq. task won't have any "awareness" of time intervals between samples. It'll be up to you to slice up the data into appropriate chunks. You can probably do this by simply requesting the right number (1000) from AI Read.
    Good luck,
    -Kevin P.

Maybe you are looking for