Synchronisation of frame grabber and DAQ board

I want to aquire images and analog voltage signals at the same time, and synchronised, using a NI PCI-1428 Camera Link frame grabber and a NI PCI-6014 DAQ board. Can this be done using the RTSI trigger functions? I know that the frame grabber supports this, but what about the DAQ board?
How about synchronising a NI-board with a non-NI frame grabber?
Thanks a lot!
Peter

Hi, Peter,
No, the PCI-6014 DAQ board does not support RTSI. However, most of the low-cost E-series NI data acquisition cards do support RTSI, such as the PCI-6024E or PCI-6036E, so you might consider using one of those boards instead.
If you decide to go that route, there is a useful tutorial that describes the signals that can be routed over RTSI for NI DAQ and IMAQ boards:
Developer Zone Tutorial: Synchronizing Motion, Vision, and Data Acquisition
as well as several example programs:
Developer Zone Example: Integra
ting IMAQ and DAQ with Single Display
Developer Zone Example: Low-level Triggered Ring (with DAQ-supplied triggers)
As for a non-NI frame grabber, that would really depend on what support the frame grabber has for timing and synchronization. You could route a trigger signal or scan clock out over the PFI pins on the PCI-6014, but you would need to see if the frame grabber is designed to receive these types of signals.
I hope that helps!
Best regards,
Dawna P.
Applications Engineer
National Instruments

Similar Messages

  • Current loop measurement and DAQ board

    Hi.
    I want to acquire some values coming from sensors outputting a 4-20 mA signal.
    I designed a solution with SCXI-1125 and E series card.
    In other side, somebody -from NI- gave me a price offer with just E-Series DAQ card and a connecting board with resistors (and thus measuring Voltage). I can understand this solution (when the range are compatible).
    So, can you explain me what are the benefits if I choose the most expensive solution (SCXI + E-series)compare to the cheapest one (E-series + resistor)
    Thanks a lot.
    SB.

    Basically, the SCXI solution would provide a known level of accurracy and reconfiguration is much easier.
    If you used a resistor network to convert the currents into voltages, you would be able to measure these voltages with your E-Series DAQ card with no problem. However, in order to convert these voltages back into the original currents you would have to apply scaling within MAX. This would require that you know each of the resistance values. Since many resistors have a slight tolerance, each resistor would likely have a slightly different value and need to be measured individually. The resistors could possibly change value over time or depending on the environmental temperature.
    The signal conditioning solution, on the other hand, can provide you with a
    known level of accurracy based on the specifications of the modules used. Additionally, if you ever required a change in your design you would only have to modify the configuration in MAX and no hardware changes would be needed since newer SCXI modules are software configurable.

  • Is the NI 1426 frame grabber compatible with a Line/Linear array scanner?

    Is the NI 1426 frame grabber compatible with a Line/Linear array scanner?
    I am currently doing a feasibility study of project which uses NI 1426 frame grabber and a Linear Array Scanner, and I would like to know if they are compatible with each other.
    Thanks in advance
    Sandeeo
    Solved!
    Go to Solution.

    Hi sandeepchinni,
    I agree with gunnesjr that we need more information about what you mean by Linear Array Scanner.  Like he said if it is a line or area scan camera then yes it will most likely be compatible.  A little correction from what he said.  You do not need to purchase NI Vision if all you need to do is acquire images.  The framegrabber will come with the software that is need to work.  If you need to do any kind of image processing then you will need NI Vision.  The following knowledgebase lists what is installed with driver for the card.  Which Vis are Installed with NI-IMAQ and Vision Acquisition Software?
    Adam H
    National Instruments
    Applications Engineer

  • Labview won't believe that my frame grabber board is configured?

    Thank you in advance for any help
    I am new to labview. I am sorry if this is a silly question, but I have worked on it for hours and haven't been able to find the solution.
    I am using a NI-IMAQ PCI-1422 board to aquire images from a Pulnix TM 1020 camera. I can successfully see the camera from both the MAX and IMAQ vision builder. When I go to the DAQ Solution Wizard in Labview it says that "You have no DAQ hardware currently configured," and it sends me back to the Measurement and Automation Explorer 3.0 It looks configured to me and all my attempts to configure it more fully didn't make the system happy so I don't understand what else I need to do.
    Also, where are the instrument driver VIs f
    or this? Do I already have them hidden somewhere or do I need to go and download them?
    Any advice that you could give me would be greatly appreciated.
    -Anita
    Also, in case you are bored, here is an overview of what I am trying to do. I want to write a labview program which will allow me to specify a delay in seconds and then have labview acquire a an image from the frame grabber board and save it to disk, wait the specified delay period and then acquire and save ...

    Anita,
    Since you are using an NI-IMAQ PCI-1422 board you will not be able to use the DAQ Solution Wizard. Your board uses the NI-IMAQ driver software instead of the NI-DAQ software. You will want to use the Vision VIs which can be found by right-clicking on the block diagram and selecting Functions->All Functions->NI Measurements->Vision.
    You can find some LabVIEW examples by checking your LabVIEW directory and navigating to the Examples->Vision directory. You can also find these examples by using the LabVIEW example finder by navigating to Help->Find Example
    I have attached a helpful excerpt from an online knowledge base. The full knowledge base can be found pendocument >here. Please post back if you are still having troubles!
    Craig H.
    National Instruments
    Attachments:
    IMAQ_Quick_Example.GIF ‏24 KB

  • I am using PCI-6033E IO card and i would like to send 5 volts (high logic ) to the trigger box. the trigger box will trigger the frame grabber card, that i am using for image acquisition.

    i am using PCI-6033E IO card and i would like to send 5 volts (high logic ) to the trigger box. the trigger box will trigger the frame grabber card, that i am using for image acquisition.

    Hello;
    The first thing you need to figure out is the shape of the trigger pulse needed.
    In case you just need a logic high TTL pulse, you can use one of the digital lines of your DAQ device.
    In case you need a pulse train (multiple trigger pulses), you will need to configure one of the general purpose counters to accomplish that task.
    You can find examples in both Labview and NI-DAQ showing how to program your DAQ board to accomplish both approaches.
    Hope this helps.
    Filipe A.
    Applications Engineer
    National Instruments

  • Control exposure time and gain with FPGA as frame grabber

    Hi,
    I'm using a Basler acA2000 340kc camera with a PCIe1473R FPGA as frame grabber.
    I managed to obtain images succesfully by modifying some of the sample codes. I can also control some of the camera settings thorugh the Pylon software.
    Nevertheless, I'd like to control the exposure time and gain in   LabView.
    Any idea on how to do this?
    Thanks

    Ultimate the serial port on the board is controlled by the code on the FPGA. There are shipping examples that provide the FPGA-side implementation of interfacing the serial port to a host-side interface, which then bridges it to a TCP port, which is bridged to a DLL called "clsernif.dll", which interfaces through the common "clallserial.dll" that Pylon can use to access the camera.
    Depending on your needs, you could interface at any of these layers.
    -If you need to do this with the ultimate in determinism, you could have the FPGA issue these serial commands directly as needed
    -If can do it from the host CPU, you could modify the host-side code and send/receive serial traffic to the FPGA code directly
    -You could examine the example code that bridges to a TCP port and simple write some host VIs that talk directly to it by opening a TCP session to the socket it uses.
    Eric

  • I want to run my program with continuous aquisition and write data to file when a button is pressed and get the most recent samples from the DAQ board.

    This is an update to a question I asked earlier. I am still trying to solve the problem. I have included a zip file with a library file. The file to open in pj_pushbutton.vi. I have placed comments explaining the issues and problems in this vi and the subvi's.
    When I push my button to write the data to file I think it is writing the data that has already been stored in the buffer and writing to file all at once. I want the data that is taken from the DAQ board from the time that I press the Write File button. How do I do this?
    Attachments:
    pj_pushbutton.zip ‏692 KB

    Hi,
    1. In AI read, you need to set the Read/Search option to "Relative to End of Data".
    2. Next you should not start AI Read VI until you press the Write to File. I am attaching an example VI below. Please see if it helps.
    Regards,
    Sastry V
    applications Engineer
    National Instruments
    Attachments:
    MostRecentAcquiredData.vi ‏97 KB

  • Encoder and E-series DAQ Board

    Hello!
    I am connecting a Quadrature Encoder to a PCI-MIO-16E-4 DAQ board.  The board is now called a PCI-6040E.  I am wondering how exactly to connect the Encoder to the DAQ board.  Direction is not necessarily that important, but it would be cool if the DAQ board could tell when the direction changed.  On the board are an out, gate and clock.  I don't know what to put where???  Please help me???
    Thank you,
    Tiffany Bierly

    CTR0 :
    A --> CTR0 SRC (pin 37)
    B --> P0.6 (pin 16)
    CTR1 :
    A --> CTR1 SRC (pin 42)
    B --> P0.7 (pin 48)
    See chapter 4 of this document for more details about using quadrature encoders with series E DAQ boards.

  • Measurement Computing DAQ Boards and LV

    I have been using LV and NI DAQ boards for several years with
    excellent results. Goodby C++ forever (well...).
    My boss sent me a flyer for Measurement Computing DAQ Boards and the
    prices are great. They even offer a card I can't get from NI.
    My question is: how well do these boards work with LV? Can I use all
    the NI supplied VI's or must I use only the ones provided with the
    Measurement Computing card?
    Does anyone sell a card that clones a NI card so all the NI VI's work?
    Thanks,
    Linuz

    Here's an opinion from somebody who doesn't work for NI also...
    The measurement computing boards are technically very good, and also very
    inexpensive. However the last one (a multifunction DAQ card, I forget the
    model number) definately suffered from the SW differences you describe.
    I already have enough difficulty getting the NI cards to work properly; for
    a complicated project I wouldn't want to add a 3rd party card to the mix!
    Usually it's worth a couple hundred bucks to have the full NI-DAQ driver,
    support with NI-MAX, standard NI vis, and technical support if (when) the
    whole system doesn't work as documented. I have had enough trouble using
    RTSI synchronization between genuine boxed NI products. For an ambitious
    project I would rarely consider a 3rd party DAQ solution.
    On the other hand, if your application is straightforward and you like the
    cost savings then go for it. When I tried the computerboards card, the SW
    was lackluster but functional. The HW was very solid and around 1/3 of the
    price. Given that Labview PDS is so freaking expensive, I would definately
    consider a 3rd party board for routine tasks. I had a fine experience with
    the computerboards card and the approx $500 savings (at the time) made the
    project affordable.
    -joey
    "Greg McKaskle" wrote in message
    news:[email protected]...
    > > I have been using LV and NI DAQ boards for several years with
    > > excellent results. Goodby C++ forever (well...).
    > >
    > > My boss sent me a flyer for Measurement Computing DAQ Boards and the
    > > prices are great. They even offer a card I can't get from NI.
    > >
    > > My question is: how well do these boards work with LV? Can I use all
    > > the NI supplied VI's or must I use only the ones provided with the
    > > Measurement Computing card?
    > >
    > > Does anyone sell a card that clones a NI card so all the NI VI's work?
    >
    > Any board can work with LV provided it has a driver to control it or you
    > are ready to do peeking and poking to the board. Ideally it will also
    > have the DLL calls into the driver wrapped into some VIs for easier use
    > by LV users.
    >
    > Measurement Computing does have drivers, and you can purchase LV VIs for
    > their cards.
    >
    > Before I go on, remember that I work for NI, so feel free to get another
    > opinion or look into it yourself, but you will see a BIG difference in
    > the SW support for boards from various manufacturers. NI provides lots
    > of SW tools, VIs, and tech support, and that is reflected in the price
    > of the boards. If a company sells the same board for less, they may be
    > providing less in the SW and support side. You and your manager will
    > have to determine the overall price of the project based upon your time
    > spent installing, troubleshooting, writing VIs, and the price of the HW.
    >
    > As for a company making a clone of our HW so they can redistribute our
    > driver? That has happened in the past, but to my knowledge no boards on
    > the market currently do that.
    >
    > Greg McKaskle
    >

  • I want use c++ for NI DAQ board and remote data access(RDA)

    how can i control NI DAQ board with c++(bolandc) through network?

    This is a forum for Measurement Studio development tools for Visual C++. You should post questions like this to the Measurements->Multifunction IO section of Developer's Exchange.
    Best Regards,
    Chris Matthews
    National Instruments

  • How to generate a pulse of 5 V -ve polarity in synchronis​ation with a 10 v input using PCI 6251 DAQ board

    HI
    I want to generate a 5V -ve polarity pulse to trigger my IEEE 1394 camera using an PCI 6251 (scb68 pin E) device, furthermore I am reading a standard Vsync signal from a SVGA port which is 10 v.
    Now I want to synchronise the image capture of an IEEE 1394 camera with the Vsync signal so that camera is triggered to capture at every 4th Vsync signal (which is 50HZ.). Presently I am able to read the Vsync signal and also generate the -5 v signal But the Daq board generates a continues -5v signal while I want a 1 ms pulse (for every 4th Vsync).
    Also this 5 v signal is generated even if the vi is stopped running.
    Can anybody guide me so this problem can be solved.
    Thanks a lot in advance
    Shri

    You can use the Write function, that is you can use the 10 volt signal as a trigger for the task, and when you get this trigger, the task starts and generate (writes) a waveform you defined in an array ("data", in the example).
    Something like this..
    DAQmxCreateTask("",&taskHandle);
    DAQmxCreateAOVoltageChan (taskHandle, clokSource, your_sampling_freq, -10.0, 10.0,
    DAQmx_Val_Volts, "");
    DAQmxCfgSampClkTiming (taskHandle, clockSource, SAMPLING_RATE,
    DAQmx_Val_Rising, DAQmx_Val_FiniteSamps,
    samp_to_read);
    DAQmxCfgAnlgEdgeStartTrig (taskHandle, input_channel, DAQmx_Val_RisingSlope, 9.0);
    DAQmxWriteAnalogF64 (taskHandle, 1000, 0, 10.0,
    DAQmx_Val_GroupByChannel, data, //data contain a pulse
    &samp_per_channel, 0);
    DAQmxStartTask(taskHandle);
    // and then you create a loop....
    For example you can specify data to be like this:
    data[0] = -5;
    for(i=1;i<1000; i++){
    data[i] = 0;
    Tell me if you need more help.....
    bye

  • DAQ Assistant in subvi not updating output to DAQ board with each call...

    Hi All,
    I am calling a simple subvi that creates a user-defined number of pulses with "Square Waveform.vi."  This square wave (with the given total number of pulses) is then used as an input to a DAQ Assistant controlling an analog output signal on a NI USB-6259 DAQ board.  I am using Labview 8.5 right now.
    However, each time I call this subvi from my main program, the output I measure from the DAQ board is identical to whatever I set in the first call (i.e., if i created two pulses in the first call, I get two pulses on every call, regardless of the input I feed to the subvi).  The multiple calls to this subvi are made in sequential frames in a stacked sequence.  I believe stacked sequences are frowned upon by good labview people, right?  But putting that aside for the moment...
    The "#-of-pulses" input I give to the subvi is updated in a subvi front panel number indicator and a graph of this waveform.  Just not in the real output I measure from the board.  Why is the hardware output being asserted (with the original input value) before this new number can reach the DAQ Assistant?
    The sloppy fix to this is just to put that square wave creation code in my main program each time I need it.  This does work and fixes my problem.  However, I would like to use subvis to keep things clean.
    I am not a good Labview programmer, but have used this software for a number of projects and am stumped by this.  Any ideas?
    Thanks,
    John

    Hi John,
    I am running your code over here and seeing
    the same results.  I believe the problem is that the DAQ Assistant is
    being called inside a loop (really a sequence structure, but
    nonetheless more than once).  Sometimes it is difficult to troubleshoot
    the DAQ Assistant in cases like this--it is trying to be "smart" and
    seems to be avoiding re-configuring its parameters inside the loop. 
    This is intended to improve loop speed for when customers are
    performing continuous operations.  In this case, it is performing a
    finite generation, and the number of samples generated appears to carry
    over from one loop iteration to the other.
    It sounds
    like you have discovered one workaround for this already: putting a DAQ
    Assistant in each frame of the main VI.  Two other options that come to mind are:
    Use the lower-level DAQmx functions inside
    the sub VI.  Here you will have explicit control over when the task is
    created and cleared, and when parameters are set.  You can find
    examples of how to use the DAQmx API in the Example Finder at:
    Help >> Find Examples... >> Hardware Input and Output >> DAQmx
    Write
    a consistent amount of samples to the DAQ assistant by "zero-padding"
    your signal.  For example, instead of writing [10, 1010], try writing
    [1000, 1010].  In this case, it wouldn't need to reconfigure the number
    of samples to generate.
    One lesson to take away here is
    that the DAQ Assistant is good for basic functionality, but for more
    advanced control over the execution and configuration of your task you
    should learn to use the lower-level DAQmx functions.  In this case it
    sounds like the problem is actually a bug.  I'll file a bug report, since the DAQ
    Assistant is not checking for waveform timing changes even though your
    timing is set to Use
    Waveform Timing.
    Thank you for pointing out this odd
    behavior--out of curiosity which version of DAQmx are you using? 
    -John
    John Passiak

  • Question abou daq board buffer

    Hi, everyone:
    I am using Labview 7.1 and the daq board is NI6023E.  My program computes AI analog inputs (4 channels), I used a For loop to gather a certain number of anlog input data, and do the calculation with each input data, and put the calculated data to an array, and then find the minimum value among the array elements. So whenever I push a control button on the front panel, the program is supposed to give me a minimum value. When I run the program the first time it will work, then if the program is running and I push the button a few times, I found the first few elements in the array is not real, it seems they came from the data result when I pushed the button previously. I am not sure if this has to do with daq board buffer. Please help.
    I used a stacked sequencial structure (3 frames) for AI config, AI scan, AI clear in each frame. For the for loop I set a delay time 20ms, I found if I increase the delay time, the number of unrealistic data will decrease. For example, if I set 20ms, then I got 15 unrealistic data, if I set 100ms, I only got 3 bad data. But then I cannot set the delay too long because N number of the for loop is  hundreds!
    Thanks,
    bj

    I am not sure if this has to do with daq board buffer
    Yes, Probably it has nothing to do with your buffer
    Attach your VI / pic of your block diagram so that we can have a look and suggest better

  • Interfacing with Scion Image Frame Grabber?

    I have a Scion Image Frame Grabber in my PC & am trying to control it via LabView Vision. Scion has no LabView drivers, but has a dll & SDK available. However, their driver expects C++ pointers as arguments & returns ptrs. My thought is to write a cover driver in C++ to shield labview.
    Anyone have drivers for this, or experience with this frame grabber board?

    Thank you for posting on the forums. While National Instrument's driver and native IMAQ support obviously does not interface to third party boards, if your board does include a dll that allows you to control the frame grabber then you may be able to get the board working in LabVIEW. LabVIEW has a few options available for calling dlls, and this is probably the route you will want to go, unless another user already has a driver for this board and LabVIEW available.
    To get more information on calling dlls and interfacing to external code (particularly C/C++ code), then I would start by looking at the "Using External Code in LabVIEW" document. You can find this by opening LabVIEW, going to the Help menu, and clicking on "Search the LabVIEW Bookshelf..." This will ope
    n a pdf document that links to other great resources, one of which is the large "Using External Code in LabVIEW" document. Glance through this manual and then other information/examples on ni.com/support for some help in getting starting in calling DLLs from within LabVIEW if you have never had experience with this before.
    Regards,
    Michael
    Applications Engineer
    National Instruments

  • FPGA and DAQ card synchroniz​ation

    Hi, we are controlling and acquiring data from multiple hardware devices (including translational stages and photodetectors). Until last week, we used to peform all control and acquisition using a PCIe 7852R FPGA board. However, we decided to switch the acquisition part to a PCIe 6363 DAQ card to improve the voltage resolution. During testing, I found that the internal clocks in the FPGA and the DAQ cards are slightly mismatched (not just a phase delay, but a difference in time-period).
    I know this because I generated a square wave (period = 20us) using the FPGA and acquired it using the DAQ card (at a rate of 200kHz, i.e., 1 sample every 5us). I observed that the acquired square shifts by 5us every 5 seconds or so. Such a shift does not occur if the generation and acquisition is done using the same board. Therefore, the only explanation is that the clock frequencies of FPGA and DAQ cards differ. According to my calculation, percentage difference between their clock times must be 5us/5s = 0.0001%. 
    Therefore, I am wondering if there is anyway to synchronise the clocks between them. Or, is there a way I can drive the DAQ device based on the FPGA clock, or vice versa? Also, please let me know if there is something trivial that I have fix.
    Thank you very much.
    Regards,
    Varun
    Solved!
    Go to Solution.

    Hi GerdW,
    Thank you for your reply. 
    I understand both solutions you have suggested. I had conceptually thought about the first one (to control the sampling rate). However, I still haven't figured out how to accurately generate a 200kHz square wave - I think I can figure that one out this morning.
    However, I am unsure how to implement the second option. I presume the default internal clock inside the DAQ is running at 100MHz or so. Therefore, inorder to obtain the same performance while using an external clock, I would have to generate at least a 80MHz TTL clock-out from the FPGA. Could you please tell me how I can do that? I couldn't find any clock-out capabilities on my FPGA. Or would I have to generate a clock of my own using Single-Cycle-Timed-Loops?
    Not only did you provide two different solutions, your reply suggested that I wasn't wrong in interpreting that the clock periods of our FPGA and DAQ must be slightly off. 
    Thank you very much.
    Regards,
    Varun

Maybe you are looking for

  • Dvi to TV upside down

    dvi to TV used to work just fine. Now the display on the TV is upside down. The macbook screen shows right side up. This happens whether the macbook and TV are on or off when plugged in.

  • Multiple Void Checks

    If I select a lot of invoice to pay, B1 print the first check then void the followings checks. I can't use the option to limit the number of invoice per check. There other option or workaround to print only the first check, then create a report with

  • Cleanup Temporary Tablespace

    Our programmer has me increasing the size of our temporary tablespace due to a materialized view he is having trouble with. The error message he is getting says he is running out of temp space, so he has had me create 4 temp spaces on the C drive(tem

  • Question About Uploading XML Sitemap

    Hi Folks! I uploaded an XML Sitemap well over a year ago. I've created alot of new content since then so I created a new Sitemap. I see my old sitemap.xml in my site, along with a sitemap.xml-bkp Before I upload the new one, should I delete those oth

  • Symbol for NASDAQ

    What symbol does one use to post the NASDAQ on the stocks page???