Data acquisition high speed (200 ksps / s) with pci-6224 or usb-6211 is possible?


I need assistance to complete a task.

The task:

Record a switch contacts twists every 5 microseconds (200 ksps / s).  DAQ cards I have at my disposal at the present time are PCI-6224 and the USB-6211. The two cards are rated up to 250 kech. / s. I only watch 1 channel that will monitor the voltage.

Here are the settings I use:


Continuous samples

Sampling rate of 200 kech. / s

Analog DBL1 1 sam chan

timeout of 10 seconds (Read DAQmx)

The problem:

(1) every time I try to taste 200 kech. / s I get an error that reads

Measurements: Tried to read samples that are no longer available. The requested sample was already available, but has since been replaced.

Increase in the size of buffer, most frequently the reading of data or by specifying a fixed number of samples to read instead of reading all available samples would correct the problem.

(2) when you try to taste at a much slower pace of 50 kech. / s, the speed of the loop iteration is not realizing this speed setting.

My question is this: are these 2 cards (PCI-6224 or USB-6211) DAQ fast enough at my request and I do something wrong? OR

I use the wrong hardware to accomplish my task?

Thank you in advance,


The number of iterations has nothing to do with the number of samples if you do it right. You specify the rate and the number of samples you want and number of samples returned. You DO NOT loop 200,000 times. If you ask for 200 000 s/s and 200,000 samples, you will get this number of samples every second. It's really as simple as that.

Tags: NI Hardware

Similar Questions

  • Treatment of LabVIEW data and high speed data acquisition C

    Hi all

    I am designing a data acquition VI high speed of 3 cards acquition of data at the maximum speed. Data cards are PCI 2517 Measurement Computing. The sampling frequency for each card is 1 M samples/second, if the total sample of M 3/second of three cards. Problem is the LabVIEW drivers and the screws provided by the provider works very well just for a single card at maximum speed, but does not support multiple cards at maximum speed. Their technical engineer advised me to write code in c#, C++ or VB.NET for this data acquition high speed. If I use C forever, I would like to use LabVIEW for processing of the acquired data to data acquisition. I came across a few examples that suggest the creation of dll C code and then calling it a LabVIEW. But those who have programs simple and none of them speak in C data acquisition. My questions are,

    1. is it possible to call a C data acquisition program high speed of labview and not work in any kind of present of buffer overflow?

    2 would it not simple best to use labwindows CVI?

    3. is there another alternative solution that I'm missing?

    I'll appreciate all the entries.

    Thank you!


    It's pretty easy.  Arguments for CINrun must match wiring.  You can wire your CIN function block and say LabView to generate the C interface code to begin.

    Here's my pairs for the ASIO audio project.

    All the best,


  • data logger high speed


    am very new to Labview. I used a data logger high-speed (labview 6i). Files are saved in the binary format. How can I convert files to ascii format or text for post-processing?

    Thank you

    Hi Valentine,.

    I hope you had a good weekend.

    I had a go at the conversion of the sample code down to LabVIEW 6, so you won't have problems to open it.

    It will be useful.


  • If you use up your data at high speed can still download apps?

    * O.T. > account Microsoft Family

    If you use up your data at high speed can still download apps?

    You can, just slower (whatever the speed your Internet company service provider provides).

  • What is the best way to read data series high speed?

    My goal is to read 14 bytes of binary data of an instrument on the serial RS232 (460800 baud) to 2000 Hz. I didn't get a card series high speed again so I am currently using the standard serial port (115200 baud) and reading at 400 Hz I have configure the port series, empty the buffer, and then enter a while loop to read incoming data. I have a visa 14 bytes read by interation seconds 0.0025 (400 Hz). However it seems that the sensor is spewing data faster that labview can read because the bytes are accumilating in the port. After some time the buffer fills and the program fails.

    Is there a better way to do it?

    Would it not be better to read the larger quantities of data less often, for example as 1400 bytes every 0.25 seconds?

    Thank you


    I think it would be good to read several points in a loop, and keep the loop less than 1000 Hz.  I found in the past, have something to run faster than about 10ms tends to fall down when windows loses interest in the process.  So yes, choose the slower you can get away with reading samples - for example to read every 10ms and read 20 samples every time. You should be able to configure your serial port in order to buffer the samples that I guess.

    Also and the issue of windows - if you use a loop "timed" instead of a while loop, so you can force it to an integer value including the ms.  You can also assign a dedicated processor and set the priority to 100, which means that it is less likely to elapse and decide to scan your hard drive for viruses or consult your account e-mail or what he does when he's bored with your program.  Also it "' tells you if the loop has taken longer that planned to run - you can use this to help iron out bugs etc. - report and/or to the user if you missed a few samples.



    I have Dell Optiplex gx 150 intel pentium 111. Windows xp pro service pack 3. I get a baloon saying there is no port high flow installed on my pc, now I need material or the right drivers to make it work properly. ICAN get my cam digital to work, but I get the ball, saying that I have to install the drivers of controllers host high speed to do my camera to work faster. Now the webcam does not light but I do not get a pic and it gets the same ball to get a host controller driver high speed to make it work right. So I need a piece of hardware or just the drivers on my very old but the pc work great. Please try to answer this question in advance.


    You can update the drivers for this chipset. Contact the manufacturer of the computer and check.
    Also, check the link below:
    Support USB 2.0 in Windows XP: finally high speed

    I hope this helps.

  • Data record high-speed (10 kHz)

    I need to read 15 sensors 10,000 times per second and connect all the data in a file delimited by tabs. The code runs on a cRIO (NI 9082). Data is read on the FPGA level off the coast of three modules of analog voltage NI 9220 and connected to the RT level. I am writing a GPS timestamp plus FXP 15 x 24-bit values. The tests will run as long as 30 minutes is a boatload of data, something like 2.5 GB in a full test.

    I have spent a lot of time trying to figure this on my own and what I have now is a system that failed the cRIO, spoil the other process and loses about 60% of the data points. I use a FIFO to extract the data from the FPGA to the RT, but the RT recorder cannot write all data on the drive even with pads designed to prevent me from losing data. Before I continue my efforts Cocked, I thought I'd ask some advice from someone more experienced.

    If you were designing a system from the ground up, how he would you? It is even possible to connect all this data fast?

    Besides, have you considered using the TDMS format? Looks like a perfect use case. Representing that a lot of data to ASCII adds a ton of load, so you should avoid it if you can.

  • I need to a portable data acquisition that can measure up to 15 thermocouples which is usb

    Hello, a friend of mine who has no experience with labview wonder on what daq can he buy in order to have a portable thermocouple, measuring system.  It must be usb so he can take it with him and his laptop computer and can connect up to 15 thermocouples.  I've seen some usb based systems which are specifically for thermocuple measure but have only 4 entries.  It is all daq usb that I could use for this application and that I also have to cancel any unwanted noise via programming?

    Take a look at Measurement Computing which is a part of National Instruments.  The USB-TC has 8 channels, so 2 of those who would do the job.

  • Capture high speed encoder data


    I have a motion control project where I would record the position data. High speed capture is limited with sampling frequency of 2 kHz. But I have to save a lot more than higher speed.

    I read that there is another option that connects to the motion control card (I use a card PCI-7358) and the map of data acquisition using a RTSI cable and channels A and B of the routing of the data acquisition card encoder using the RTSI lines.

    I have 6143 and 6280, 7358 PCI DAQ cards and a RTSI cable.

    Q1. Which card is better to use? 6143 or 6280?

    Q2. When I look at the examples, I have seen that its possible to phase has the traffic and signals of the phase B of an encoder for the RTSI line with Signal But I couldn't find an example on how to read of DAQ card.

    Q3. How can I contact the encoder position phase has and band B pulses which is acquired from the DAQ cards?


    Hi serkanb,

    The 6143 has no support for measures of encoder quadrature (although you can run a task of count of edge and use the B signal as a line up/down to get a similar effect).  If you are interested, we'll find more information here (the 6143 uses the same SC I ASIC that make the E Series DAQ devices).

    It doesn't really matter too much since you have a 6280 that supports quadrature encoder measures (he uses the STC II ASIC).  To answer your direct questions:

    Q1.  The 6280 is better (see above)

    Q2.  You need to use a channel DAQmx property node to choose what terminals to use for your task of encoder:

    Q3.   I would like to start with an example of the expedition:

    Help > find examples... > input and output material > DAQmx > counter measures > Position > measurement

    You insert the property node before starting the task (but after the channel is created).

    I hope this helps, if you have any questions do not hesitate to post back!

    Best regards

  • How I choose the USB-6251 (full speed or high speed) data transfer rate?

    Hi, this is bose, FAE Samsung in Korea.

    I saw the USB-6251 specifications that it transfer data at high speed or full speed.

    How can I select speed mode?

    It depends on computer?

    Thank you.

    Fairly certain, it is totally dependent on the USB hub.

  • data acquisition won't taste at the specified rate

    Material: C - DAQ 9178, AI 9239, inside a servo and an encoder potentiometer module

    Setup: I use the 9239 to measure the angular position of my servo and encoder of trees by streaming came pressure pot of the servo and my encoder. I put the sampling frequency on the DAQmx - Schedule VI to 100 Hz.

    Problem: I don't think that my DAQ is sampling data at 100 Hz because my VI registers more than 10 000 data points for a 10 second test. In addition, every time I have save my data in a text file, the vector of time my test data resets after a number of iterations.

    To debug, I tried the following configuration:

    I've defined the sampling frequency of 100 Hz (or is that s/s?), the samples per channel (size of buffer for continuous mode) at 2000 samples, number of samples per channel up to 10 and loop milliseconds timer on my VI at 10 m accordingly, data acquisition would send 100 samples per second (or 1 sample every 10 ms) on my PC buffer (which could store 20 X that amount). Then LabVIEW would read up to 10 samples per loop iteration (which is itself ~ 100 Hz) and work with these 10 samples inside the loop. However, since the loop is operating close to the sampling frequency of data acquisition, then LV should only work with 1 sample each iteration of the loop (100 Hz / 100 Hz)-not the 10-sample-max that I specified.

    However, I stumbled on "error-200279: the application is not able to cope with the acquisition of material" when I ran the program. Why?

    My code and materials should be easily able to cope with data acquisition - at least the way I put it in place

    This whole situation wondered my fundamental understanding of data acquisition timing, so I would really appreciate an explanation of exactly how to deliver DAQmx uses data synchronization, why my DAQ sample at 100 Hz, and how can I fix the calendar specified by the user.

    Thank you!

    aeroAggie wrote:

    The C - DAQ 9178 there some minimum sampling rate I will not meet?

    It's actually the 9239 that limit your sampling rate.  Read the data sheeton page 5 there's available data rates.  In short, your data rate allowed is 50kS/s / n, where is goes from 1 to 31.  50 k/31 gives you 1.6kS / s.  So, it's the minimum sampling frequency that can be used.

  • acquisition of data high-speed and simultaneous sampling

    I'm quite familiar with the coding for NOR-DAQ boards in Labview. What worries me with labview, is that each tick is about milliseconds. I intend to retrieve the data simultaneously from 32 channels at 2 MS/s/chan using SMU 6368 s. Wouldn't not possible to enter data, on average 20 to 50 samples to get a unique value, perform simple algebraic manipulations on it and send it to the PC / software to approximately tens of kHz? We already have labview code to perform similar tasks, but it is quite slow and limiting the rate of experience. I said that Simulink is slightly better than Labview in this regard, but suffers a poor user interface and that if something C/C++ offers the ability to perform at high speeds with the same cards OR data acquisition. Could someone advise me please on this issue?

    You can use your PC! You can use a PCI/PCI-e card as the interface to your computer and it should work perfectly. Take a look at these pages ( for more information.

  • Real-time display at the high frequency of data acquisition with continuous recording

    Hi all

    I encountered a problem and you need help.

    I collect tensions and corresponding currents via a card PCI-6221. While acquiriing data, I would like to see the values on a XY graph, so that I can also check current vs only voltage/current / time. In addition, data should be recorded on the acquisition.

    First, I create hannels to analog input with the Virutal DAQmx channel create, then I set the sampling frequency and the mode and begin the tasks. The DAQmx.Read is placed in a while loop. Because of the high noise to signal, I want to average for example every 200 points of the current and acquired for this draw versus the average acquisition time or average voltage. The recording of the data should also appear in the while loop.

    The first thing, I thought, was to run in continuous Mode data acquisition and utilization for example 10 k s/s sampling frequency. The DAQmx.Read is set to 1 D Wfm N Chan N Samp (there are 4 channels in total) and the number of samples per channel for example is 1000 to avoid the errors/subscribe for more of the buffer. Each of these packages of 1000 samples should be separatet (I use Index Array at the moment). After gaining separate waveforms out of table 1 d of waveforms, I extracted the value of Y to get items of waveform. The error that results must then be treated to get average values.

    But how to get these averages without delaying my code?

    My idea/concern is this: I've read 1000 samples after about 0.1 s. These then are divded into single waveforms, time information are subtracted, a sort of loop to sprawl is used (I don't know how this exactly), the data are transferred to a XY Chart and saved to a .dat file. After all that's happened (I hope I understood correctly the flow of data within a while loop), the code in the while loop again then 1000 samples read and are processed.

    But if the treatment was too long the DAQmx.Read runs too late and cycle to cycle, reading buffer behind the generation of data on the card PCI-6221.

    This concern is reasonable? And how can I get around this? Does anyone know a way to average and save the data?

    I mean, the first thing that I would consider increasing the number of samples per channel, but this also increases the duration of the data processing.

    The other question is on the calendar. If I understand correctly, the timestamp is generated once when the task starts (with the DAQmxStartTask) and the time difference betweeen the datapoints is then computed by 1 divded by the sampling frequency. However, if the treatment takes considerable time, how can I make sure, that this error does not accumulate?

    I'm sorry for the long plain text!

    You can find my attached example-vi(only to show roughly what I was thinking, I know there are two averaging-functions and the rate are not correctly set now).

    Best wishes and thank you in advance,

    MR. KSE

    PS: I should add: imagine the acquisition of data running on a really old and slow PC, for example a Pentium III.

    PPS: I do not know why, but I can't reach my vi...

  • high-speed image acquisition

    I need to acquire images from a camera to ac2000-340 km from Basler with PCIe-1433 camera link interface. Rate is from 300 to 340 fps, but especially, I can't afford to drop any blocks or for the rate to fall because post-processing analysis requires a sequence of images Intec for accuracy. Data collection is necessary for 2-3 minutes, which gives about 50 000 images. The sensor of the camera is 2040 x 1088 pixels, but usually, I put the dimension y to 200 or 300 pixels because that fits the shape of the object, I'm Imaging.

    I worked through the speed high Brent Runnels streaming ppt and decided I don't need to write to the disk. I'm glad collection all-in-memory, pushing the images in a queue (I use a computer for Win 7 64 bit with 32 GB of memory), then made and all the disk as a AVI file, afterwards. Using the following code almost works, but the rate has declined steadily and it is therefore unreliable; the slowdown seems to occur because creating the vi IMAQ is inside the loop.

    If I use the other code below, in which all images are created prior to their collection, everything works fine, the rate is constant and no boxes are deleted. However, the first loop to create the large set of images IMAQ (reserve the memory for them?), takes several minutes to run (in particular for 50 000 images). (I'm only show the critical part of the code, the other parts of the sequence just remove the images and write the AVI file).

    Any suggestions on how to more effectively do that?

    Thank you

    Mike Davis

  • High speed continuous measurement of encoder with sampling frequency of 1 kHz

    I am able at all times the position of a linear encoder using a PCI-6602 counter card, and I need to know how to set up so that the counter rotating at high speed, but the data is inserted into the buffer at a frequency of 1 kHz.  I am able suddenly to a hydraulic cylinder, and I am not concerned about the event recording to high frequency except to the extent where they throw off the number considerably if the equipment does not run fast enough to detect all the impulses of the encoder.

    Now, I think is that the external sample clock signal control (routed internal pulse output counter) time rate whereby the equipment detects the impulses of the encoder and the rate at which it inserts data into the buffer.  With a pulse 100 per inch encoder and a sampling frequency of 1 kHz, the extended final position of the cylinder is turned off by +/-0.15 inches, which is unacceptable.

    I need calculate a speed of this information, so I prefer not to use software timed sampling to control this (it's more difficult programming for other reasons as well - several asynchronous measures).  Any ideas on how to configure the hardware to count faster than the speed at which she inserts counties in the buffer?

    OK, you're clearly on the right track here, so I will focus on some details.

    1. How do you know that the +/-0.15 "differences are * measurement error rather than * error of movement?  Why wouldn't be an accurate measure and a proposal which can vary slightly from the nominal value?

    2. I wonder some all electric noise and defects that may produce false edges.  The fact that the behavior was better by using a sampling rate limited (200 kHz) in the digital inputs may be that some of these flaws were so short that they were never captured.

    I did a ton of work with the Commission to 6602 encoder and I can certainly confirm that count equipment is sensitive to the edges in a few tens of MHz.  (I know its 80 MHz for edge counting, but I think I remember that it can be of the order of 20 to 40 MHz to accommodate the time of signal propagation extra of the quadrature decoding circuit).

    A small point of clarification.  You're talking about the speed at which the meter "works to.  The value of count is a register whose value is changed completely by the circuit, * independent * of the sampling frequency.  If you enjoy with material-clocked County in memory buffer or interrogation of software without buffer not a bit for circuits that increments / decrements the value of the counter register.  (In other words, I am completely convinced that you would get commensurate with position end even if you took only 1 sample software-polled after the end of the move instead of sampling at 1 kHz all the way through.)

    So, if the value of the counter is disabled, it is because the circuit detects producers of County of the edges that shouldn't be there.  Something you can try is to set up digital debounce filter for input lines of the PFI corresponding to the encoder Source inputs and to the.

    -Kevin P.

Maybe you are looking for

  • Sense - why it works on my Macbook Pro?

    Hello I have a laptop Macbook Pro for about 6 years now.  I downloaded logic 2 years ago for record ideas at home.  I usually just save my keyboard and vocals.  I have some preset voice settings (including some space and dynamics), but I can't use th

  • cannot scan to PDF

    Hello I have a new computer, but with the same old printer (HP PSC 1410) Before, with Windows XP I could scan in PDF format, now I have Windows 7 and analysis tool is different and more important - doesn't have the ability to scan in PDF format! What

  • Audio drivers - Windows 7 64 bit

    I upgraded a Dell Precision 470 to Windows 7 (64-bit).  I miss audio driver (Analog Devices ADI 198 x integrated Audio) and can not seem to locate one.  Any help would be appreciated

  • Manager of simultaneous

    Dear friendsI just cloned my PROD in the test using the rman backup apps was launched with success but some of the concurrent managers still pointing to the old server name and cannot start itPlease advice

  • the use of syslog without Syslog Collector Vsphere?

    Helloshould I have the plugin to set up a remote syslog server? I see the setting under the Advanced setting, I can add my ip address of the remote server3 guests Esxi with vcenter 5.5 5.5Thank you