Rapid acquisition with PCI-5152

Using the card PCI-5152, I try to make an acquisition of signal 2 seconds with a loop clocked for 2000 forms of waves, or 1ms by acquired signal. The example attached to this message does not reach this speed and would certainly be optimized. I am looking for any opportunity for improvement of this loop.

Hello

In your VI, he y ' has several points that bother me and that would be good to improve:

  • The loop of the of the in UN file to the writing: strongly, that slowed your acquisition, because access to a hard drive is quite ready.
  • Operations and different manipulations on your signal: it slowed down also the acquisition.

Pour it, I you Council out the ' writing the file of the loop, and perform your operations after the acquisition. "

Pour do this, we recommend using the architecture of programming say "producer / consumer. A loop to load manner the acquisition, while the second is in charge of dealing with the different operations on the signal. Communication between the two loops using a FIFO or queue waiting.

I you Council to look at this example:

http://decibel.NI.com/content/docs/doc-2431

Kind regards

Tags: NI Hardware

Similar Questions

  • IMAQ extracted buffer is suspended in an ongoing acquisition with PCIe-1429

    I acquire images of 500 x 500 pixels at 1000 FPS from a camera of the Basler A504k using a PCIe-1429 (LabView 8.6, x 64 Vista). The images are processed online, and all works - some time. From time to time the program and out of just to extract vi buffer never gets. No error is produced. I need to kill Labview and restart it to leave. I read http://forums.ni.com/t5/Machine-Vision/BUG-with-PCIe-1429-Cameralink-full-config-Basler-sprint-lines... and implementation of the proposed solution, but no luck. I followed the lost images and buffer number called and can't find any problems. My VI is attached. The images, go to a queue and treatment by another part of the program. Any help will be much appreciated.

    Thanks Vinod,

    Another thing is that the structure of your program looks a little broken. You are extracting tampons from the ring, put a reference to the image in your queue, and then going back and extract a different buffer. This means that your previous buffer is no longer checked and could be replaced, but your loop else may not have finished processing this image yet.

    While this should be causing your current problem, but I thought it is interesting to point out. I think I have two queues of the source images. One that contains free images and one that contains the populated images. You producer loop of who you've given here would consume the free queue, take in one of these images, and then place it in the populated queue. Your consumer loop would be remove from the populated queue, process the image, and then put the image in the free queue.

    Eric

  • How to stop the acquisition with a relaxation with the NI PCIe-6323

    Hi all

    I wonder if it is possible to stop data acquisition or pcie-6323 with a trigger pulse the same way that I begin to acquire samples with a finished sample mode trigger pulse.

    Thanks in advance

    M.

    The samplesPerChannel that you can show what the sample clock configuration defines the total number of samples for the acquisition of finishes.  In your case, you will read the data previously triggered so permanently in force this setting really only sets the size of the buffer.  If you want to just be large enough to avoid overtaking (although...) If the window you buy is potentially very short, you might want to explicitly configure the size of the buffer to something bigger and maintain the value of samplesPerChannel down so that the reference trigger can be accepted earlier).

    The numberOfSamples you specify when you start the player defines the number of samples for the next call for reading.  If you can read the small windows of streaming data to avoid having a blocking with a large timeout call.  If you do not want to change the time-out period, it is a property of the DAQStream class.

    The "continuous" examples (e.g. this one) should show how you can read back data asynchronous as it is acquired.  Your configuration looks more like a "continuous" example

    Since you want to start and stop using the same line as the trigger, perhaps an alternative to the evolution of the default read pointer would be to set up a central task of analog input with a relaxing break.  The caveat to this is that the break does not stop at the task and as soon as the line goes back to you will begin to acquire the data again - I would say using a meter to separate groups of samples in the buffer zone continued.  If you wish to purchase multiple windows of data in short succession well, then I would go with that instead to avoid having to restart the task (and potentially Miss samples during the restart of the task).

    Best regards

  • DI/O cards such as the 651 x are compatible with PCIe 1 x?

    Hello

    This can be a bit of a stupid question, but it's my first outing with NEITHER and yet I somehow received some amount of responsibility for a very strange procurement process.  I hope the question is easy to answer and that will mitigate its possible idiocy.

    Are maps such as the NI 651 x (http://www.ni.com/datasheet/pdf/en/ds-105) compatible with PCIe 1 x?  Of the image, it looks like they are designed to run on PCIe 16 x, but since the speed is not a major concern, that I wondered if she settle and operate normally on PCIe 1 x.

    I am limited in contracts with a default value, extensive construction of tower PC organization, whose mother has two PCIe 16 x and two PCIe 1 x.  Since I will probably need three cards, I was hoping that it would be compatible with the PCIe 1 x slot and we would save the hassle of special purchase order form.

    Thanks for any help!

    N ° it is even not a PCIe connection.  It's PCI.  I recommend that you call your local representative of OR discuss your needs and they can help steer you in the right direction.

  • docking w520 with pci-e slot, but few likely?

    Hi, is there such a thing? I have a w520 I want to put a raid or hba cards. My t61 had a dock with pci-e slot and I'm looking for something similar.

    no such thing with the ThinkPad W510, W520 W530, new.

  • CAN I USE PXI-8330 WITH PCI-8331

    CAN I USE PXI-8330 (CHASSIS) WITH PCI-8331 (PC)?

    CAN I USE PXI-8331 (CHASSIS) WITH PCI-8330 (PC)?

    CAN I USE OR PXI-8110 (CHASSIS) WITH PCI-8330 (PC)?

    IS CONTROLLER MUST BE THE SAME MODEL?

    Hello

    MXI controllers have a pair use, as you can see the manual on page 1-4.

    http://www.NI.com/PDF/manuals/370840b.PDF

    OR PXI-8110 is a PXI controller, so it's a computer doesn´t need to be connected to a PC using a card-MXI.

    Kind regards

    Abel

    OR Brazil

  • The confocal issue custom with PCI-based 1409 acquisition

    We use a PCI-1409 to acquire a video from a custom confocal system flow and high definition image. We use the junction box BNC to send in luminance, hsync and vsync in the PhotoMultiplierTube and our custom control box.

    Because of the way we scan using Resonators, we have two corrections that we hold in the video stream and that you are not sure if this is possible at the level of the camera, i.e., place the code in the .icd file, we did, or if it is something that must be completed in LabView. Any help would be greatly appreciated.

    One distortion: Acquire us information of luminance in both sense of sweep. Our image is one where all other lines is reversed. Is it possible to invert all other lines and register? Now double us the apparent width of the image and then having to crop the image twice, reverse a stack of image and then interleave.

    Two distortion: mirrors scanning speed varies sinusoidally and stretching that occurs on the edges so there. How would we go about filtering the stream in order to fix this? I guess it's something that should be done in LabView as pixel clock is fixed.

    The file .icd, we have changed the default settings to get a stable picture with the two aforementioned distortions is attached.

    -sb

    I would just use a single CIM file with odd and even lines.  For the preview, use deinterlace or extract to remove the odd lines.  For full images, make the post processing later.

    Bruce

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

    Hello

    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:

    CSR

    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,

    Gerardo

    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.

  • With the help of screws of Vision Acquisition with the PCIe-1429

    Greetings earthlings,

    Y at - it a tutorial/book white/site that can give me an introduction on the use of the Vision Acquisition IMAQdx screw to capture images using the PCIe-1429? I am brand new to this kind of thing and it is a little outside my area of expertise, and I don't know where to start. I don't even know the basics of a general approach for the implementation of the process.  Any suggestions would be most appreciated. I am aware that I need to set up a file from the camera via the MAX application.

    Thank you!

    Candice

    Hi Candice,.

    There are a number of references on our site to help you get started. For starters there is the Manual and Quick start guide.

    What device do you want to buy from? Depending on whether you have the camera, you can download the file from camera on our site. To learn more about the files of camera here, which includes links to where to find ready made camera files. Finally, there are a number of examples in the example LabVIEW and CVI finders that explain how to acquire images using IMAQdx. You can access these examples via

    "' ' ' 'Help' example Finder. '" In the pop-up window, access the material record of entry and exit"IMAQdx.

  • Acquisition of fast pulses with PCI-5122


    Hello

    in your VI you write in a PDM file as a binary file. You want to save in a spreadsheet file or txt instead? Or just have the waveform data available in other datatype in LabVIEW?

    The output of Element.vi Dequeue is table 1 d of waveform: each element of waveform is a cluster of dt (double value), t0 (of a double value) and an array of values double. So, if you need get a 2D with all data table (if I understand correctly), you each elemnt of the 1 d of waveform of the index table, extract the double table in each waveform and then built a 2D array.

    You can find an example here.

    I hope this helps!

    Bye,.

    Licia

  • With PCI-6229 NMI Parity error

    Currently, I'm trying to get a PCI-6229 to work with one of our lab computers. We'll use LabVIEW 8.5.1 with DAQmx 6.7.1 to program the card. Using our measurement VI owner, the computer will crash at some point (not really in reproducible way) with a blue screen saying "NMI: Parity Check / Memory parity error. All the tests of auto and examples of NOR (delivered with LabVIEW) perform well however.

    Most likely, this problem is not a RAM issue (MemTest I tried, different memory chips, different memory banks). Also, the PCI computer bus works very well otherwise (for any other acquisition cards for example). Annoying enough, the card seems to do a great job in an old and slow computer. Which is maybe something to look at? Or are there other ideas?
    Our workplace is a Fujitsu-Siemens of Celsius M460 with BIOS version 6.00 rel. 1.09 running Windows XP (32-bit version). The software to use with the card is LabVIEW 8.5.1 with DAQmx 6.7.1.

    Dear Lutz,

    I could reproduce the blue screen, and
    changed your program in order to avoid the race condition. What is
    actually happens is you want 2 tasks over time the
    AOSampleClock as a source before the task of AO started.

    When
    programming as in the example I sent you (see attachment VI), you
    shouldn't deal with this blue screen problem more. However, I recognize
    that such a thing should not happen even when it's 'bad' programming... I'm going to
    inform the development so that it will be corrected with the next DAQmx
    version of the driver.

    Merry Christmas,

    P. Lawrence

    National Instruments

  • SCXI and acquisition with Windows 7 x 64

    Our just updated IT to update our phones and we have received Windows 7 x 64.

    Data acquisition, we use the SCXI hardware in the SCXI-1000DC chassis and an acquisition of data SCXI-1600 USB card.  Doing my gear OR set up on the new laptop, I discovered that neither does not support Windows 7 x 64 for the SCXI-1600. The other options to connect the SCXI-1000 chassis to a laptop are the DAQcard-6062E and DAQcard-6036E, nor which supports Windows 7 x 64.  According to the information below, there are no plans to support x 64.

    What are my options to continue the use of the material, we have invested with the laptop running Windows 7 x 64?

    You will need the NI SCXI-1349 connection block and SH68-68-EP cable.  The SCXI-1349 plug at the rear of your SCXI module and cable connects the 1349 the USB device series M mass termination.  The rest of the configuration is identical to any PCI/PXI E Series device.  The USB M Series device will be the analog-to-digital converter for the system instead of the SCXI-1600.

  • Noise thermocouple with PCI-6230

    What level of noise should be expected for a K type thermocouple used with an acquisition of data PCI-6230 and a map derivation CB-37F-HVD? I read the data with LabVIEW and Daq Assist module on the setting of the thermocouple and the noise see of +/-1 ° C. For a type thermocouple K 41uV / ° C is 3 times the 6230 noise expected (13 uVrms) runs around 0.2 full scale. I think it should be more stable measures or is this a normal behavior?

    http://sine.NI.com/DS/app/doc/p/ID/DS-31/lang/en

    Thank you

    Dan

    This level of noise is expected. To improve, you can use a card with a noise filter. A dedicated thermocouple module would also work, but this includes a noise filter as well.

  • Multifunction with PCI 6221

    Hello

    I want to build a program with card PCI 6221 multifunction. In the program, it generates two analog signals to trigger a CCD camera and turn on an LED. Meanwhile, program to acquire an analog signal for a specific duration, and images that are acquired by the camera must be displayed. Above activities in signal acquisition and generation happens to a user the period (the time is currently 1500ms) and the whole process is repeated 40 times. A while-time loop thus serves to launch the signal generation and acquisition and acquisition of streaming images.

    Analog signal acquisition should start at a point that specifies the user and he should continue for a set period of time. This is currently done using a digital signal, created and use the port this signal as a trigger of break for AI System. However, all these signals generating and absorbing processors should be well synchronized and accurate at the time. An external clock is shared by all of the clocks used sampling in GOT it, AO and DO (CTR0). Literature, I realized that digital output cannot be triggered in the M-series card, so I use a system of internal release (as shown in the examples in LabView 2010 multi functions).

    Question: Is there a good way to start the analog and digital output using another output signal (lets assume a signal generated by CTR1) each cycle in order to maintain a highly synchronized system. (I don't like running the timed loop sample clock and continues to HAVE it and AO).

    The 6221 does not have a digital output timing engine, so you cannot trigger directly (or define a.) ReferenceClock, well it's not like that's what you want to do anyway).  You can directly use a sample from another source clock, then this clock signal is what needs to be triggered.

    I agree with software distribution is not a good idea - you can probably implement this with hardware timing instead, although I don't know how the camera fits into the equation.

    I assume you are using CTR0 as an output meter finish, task redeclenchables.  Then you use that signal as a sample for AO clock, and I?  This is probably what you want to do.  Finished Counter tasks require the use of two meters on the boards of the M series: DAQ, so you would not be able to use CTR1 indepdently of CTR 0 if you want to use the outputs of the redeclenchables counter finished.  You can always generate 0 if you do not want any voltage output during the acquisition.

    Best regards

  • Acquire simultaneously with PCIe-6535

    Hello

    -J' use a PCIe-6535 to manage an electronic home-made (working) card. The electronic card has a FIFO used to store data.
    I need to read that data during the acquisition, and the moment for playback is defined by a product a DDS signal that
    I have to read too. I'm programming with CVILabwindow version 10.0.0.

    In the software "processes", I start the DDS, and I expect a signal(or event) I detect it with the next part of the code (thread0):

    DAQmxCreateTask("",&line_Clk_TaskHandle);
    DAQmxCreateDIChan (line_Clk_TaskHandle, "port2line3/Dev1", "", DAQmx_Val_ChanPerLine);
    DAQmxCfgChangeDetectionTiming (line_Clk_TaskHandle, "Dev1/port2/line3", "line3/port2/Dev1", DAQmx_Val_ContSamps, 1); I perceive the event UP and DOWN and up and down.
    DAQmxRegisterSignalEvent(line_Clk_TaskHandle,DAQmx_Val_ChangeDetectionEvent,0,ChangeDetectionDD3,);
    DAQmxGetTaskAttribute (line_Clk_TaskHandle, DAQmx_Task_NumChans, & line_NumLines);

    ChangeDetectionDD3 is a function that started with the acquisition of FIFO.
    Acquisition of FIFO is controlled by the following portion of the code (thread1):

    DAQmxErrChk (DAQmxCreateTask("",&taskRead));
    DAQmxErrChk (DAQmxCreateDIChan (taskRead, ' Dev1/port0","Digitalin", DAQmx_Val_ChanForAllLines));
    DAQmxErrChk (DAQmxCfgSampClkTiming (taskRead, "OnboardClock", 5000000, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, NUM_SAMP));
    DAQmxErrChk (DAQmxExportSignal (taskRead, DAQmx_Val_SampleClock, "/ Dev1/PFI5"));
    DAQmxSetTimingAttribute (taskRead, DAQmx_SampQuant_SampMode, DAQmx_Val_FiniteSamps);

    SYSEn [0] = 0;          ALLOWING the acquisition chain
    RES = DAQmxWriteDigitalLines (Task_SYSENn_Handle, 1, 1, 10.0, DAQmx_Val_GroupByChannel, SYSEn, NULL, NULL);
                
    R4T [0] = 0;          ALLOWING playback of the FIFO
    RES = DAQmxWriteDigitalLines (Task_FIFO_R4T_Handle, 1, 1, 10.0, DAQmx_Val_GroupByChannel, R4T, NULL, NULL);
    READ FIFO
    RES = DAQmxReadDigitalU8 (taskRead, NUM_SAMP, 10.0, DAQmx_Val_GroupByChannel, ftell, NUM_SAMP, & sampsPerChanRead, NULL);
                
    R4T [0] = 1;          STOP reading
    RES = DAQmxWriteDigitalLines (Task_FIFO_R4T_Handle, 1, 1, 10.0, DAQmx_Val_GroupByChannel, R4T, NULL, NULL);

    Since I have to read more than one set of data, I get in this part of the code several times (each time DDS AD9910 send a change on the RAMP_SWP_OVER of two-way continuous line signal ramp Mode RAM, in the case).

    -The problem I get is due to a resource that is already in use"when I read the FIFO through DAQmxReadDigitalU8.
    In particular:
    RUNTIME ERROR NO MORTAL: "Read_FIFO_Thread.c", line 44, col 23, 0x000014C8, int id thread id 1: function DAQmxReadDigitalU8: (is-200022 return value [0xfffcf2aa]). Resource requested by this task has already been reserved by another task. Feature: Dev1 task name: the State _unnamedTask<134> Code:-200022

    I've already simplified to the limits of the code, and I get this ERROR only when I read that both inputs line. When I run the code for a signal acquisition
    only the code works and I have read the FIFO or I read each shipment of the event by the DDS on port2/line3. I thought the problem resides on
    the countdown on the PCIe (which may not be apart as I want: port0 and port2/line3) implicitly used by functions
    dedicated to the detection of the event generated by the DDS.
    I guess the first question is: can I use the Onboard clock in this configuration?
    and if I can use how do I manage it? I mean, what do I have to configure?

    Carlo


Maybe you are looking for

  • You can drag down to default widgets?

    I just bought a new iPhone with iOS 10 7. On my 5s, I could swipe down from the top of the screen and automatically bring up the widgets where I had time at the top. It was perfect because no matter what I did everything I had to do was shot down and

  • Pogo games window is cut only in Firefox

    I tried the suggestions and in all cases, the playroom at any game pogo does not show full screen. I had used pogo for 2 years with no problems.Normally the window opens but the screen seems cut about 1 "on the right side and 1" from the bottom. I tr

  • G10: Question about firmware UJ - 831 S.

    I updated my firmware for the UJ - 831 S DVD RAM of my G10 to 1.02. He still does not write platinum DVD + R 8 speed (A2Z MID'DAXON) at the right speed. It is still burning speed 2.5.When is a new firmware with the latest ID. til (A2Z DAXON for examp

  • Impossible to read 4 channels with the or 9234

    Hey, I'm tasting 4 simultaneous channels to 51.2 kech / s rate for each channel with the NI 9234 module.I use a callback function to read from the buffer.I am accept to get to playback 4 channels of 51.2 k * 4 = 204.8 k s/s.and I still recive data 51

  • Implement a graph data Structure

    First time posting here, I was introduced to LabVIEW while participating in the FIRST. I was reading on The graph data Structuresand wanted to see if I could use them in LabVIEW, because it looked like a good way to convey information. Unfortunately,