Buffered ring acquisition with IMAQ 1394 2.0 (beta)

Hi,
the IMAQ 1394 low level buffer access topic comes up again. National Instruments promised that low level buffer
access will be feasible in the 2.0 (beta) version of the IMAQ 1394 driver. However, I still encounter problems.
I want to run a continuous ring acquisition. The ring shall consist of 40 buffer cells. I configure the acquisition
using IMAQ 1394 configure acquisition.vi and wiring "40" to "number of buffers" and "continuous" to "continuous?".
If I am testing the ring, it appears that the ring only has 20 buffer cells. After an image had been written into cell
no. 19, the next image is written into cell no. 0 and not into no. 20.
Is there a maximum number of buffer cells implemented? In the online help, nothing is written about such a fact. In
addition, the help statements are quite puzzling. There they write:
Use the Continuous? and Number of buffers parameters to select the type of acquisition that you want to configure,
as follows:
Snap One-shot; one buffer
Sequence One-shot; multiple buffers
Grab Continuous; one buffer
The combination of "continuous" and "one buffer"
sounds rather antithetically. Is any beta tester around there who can make sense out of this?
Thankful for any hint,
Peter

What I want to do is to setup the camera and store the settings to the camera memory and do a flat-field calibration of the camera (and maybe also store the calibration image in the camera).
I will use your method to handle the default settings. Thanks!!!
Then I will remove the camera from the calibration setup and use it in a machine performing measurements not using LabVIEW. I could make all the setup in the machine again but that would mean more work than to use LabVIEWs functionality (I'm just lazy).
I just want to be sure that all settings have reached the camera memory and that they were stored there. It does not seem that the Property Node communicates directly with the camera like the "IMAQ1394 Write Registers" command does.
Richard

Similar Messages

  • Ring acquisition with NI-IMAQ 1394

    Our project requires saving captured images onto the hard drive with no frame loss, so Grab acquisition may not be sufficient. I wonder if there is a way to carry out ring acquisition with IMAQ1394 like that of the original IMAQ?
    I was hoping to find equivalent functions of "IMAQ Configure List.vi", "IMAQ Configure Buffer.vi" and "IMAQ Extract Buffer.vi" in IMAQ1394, but none of them seems to exist.
    "IMAQ1394 Get Image.vi" appears to be able to accept only one image at any one time, the option, image index, seems to be redundant to me. The example "Low-Level Sequence.vi" still runs after I removed the connection between the loop counter and "image index".
    It is also unclear what the option, "no. of buffer" in "IMAQ1394 Configure
    Acquisition.vi" could do. The example mentioned above uses multiple buffers, but nothing is connected to this option.
    On a side note, I found that the buffering in IMAQ 1394 is not as logical as in IMAQ. Image(s) created along side the acquisition configuration would be used as its buffer frame(s) even though there is no connection between the two.
    I would be very grateful if someone could share their ideas.
    Regards,
    Calvin Tsang
    PS. I'm using IMAQ1394 version 1.1

    Calvin,
    This is one of the biggest problems I have had with IMAQ 1394. I was able to set up a continuous buffer, but there is no way to find out which buffer is the current one. The other problem with IMAQ 1394 is that it is software based instead of hardware, which means your CPU speed and operating system latencies can all affect it and make you miss frames.
    What I ended up doing was making my own buffer, and using Grab to get each image. By checking the time elapsed between each frame acquired, I was able to detect missing frames. As long as the frame rates were low or I didn't update the display very often, I rarely missed frames.
    My basic conclusion is that IMAQ 1394 is much better for snapshot type applications. Applications that require
    continuous video with no missing frames work much better with the IMAQ boards than 1394.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • Buffer acquisitio​n with NI-IMAQ 1394

    I would like to be sure that the acquisition frame rate is constant despite some image processing.
    It's why i need to use a buffer (with more than one image) as it seems possible to do with standard NI-IMAQ.
    I didn't find such options with IMAQ 1394 (similar to "IMAQ Configure List.vi", "IMAQ Configure Buffer.vi" and "IMAQ Extract Buffer.vi" in NI-IMAQ).
    I read on a previous post entitled "Ring acquisition with NI-IMAQ 1394" that it is not possible.
    Does the new version of Labview (7) or new upgrades of NI_IMAQ solve this problem.
    Is it exist an alternative way to do that ?
    Thanks

    IVision can solve this problem. You can do realtime saving into avi file or buffer them up (by using different image names). Using the callback vis you can make sure to capture each frames without dropping. Get a demo version to try out at: http://www.hytekautomation.com/Products/IVision.ht​ml
    Irene He

  • IMAQ 1394 Grab setup and Grab acquire

    Hi, everyone
    I am very new to Labview and have a general question on grabbing images using my CCD camera.
    I set "IMAQ 1394 configure trigger.vi" before " IMAQ 1394 grab setup.vi" and then achieve the most current using " IMAQ 1394 grab acquire.vi".  The configure trigger is on Mode 0 (Low activity) and my digital trigger is a pulse train with a trigger frequency of 10Hz.
    My questions is as follows:
    1. How many images will the camera grab when the trigger turns to a falling edge? Just one or the camera will grab continuously?
    If the camera grab continuously, which image is copied when a "IMAQ grab acquire.vi" is called?
    2 Does the image grabbing process stop when the trigger turns to the rising edge?
    Thanks!
    Attachments:
    IMAQ1394grab.jpg ‏99 KB

    Hi Haiyueli,
    The NI-IMAQ for IEEE 1394 has been replaced by the IMAQdx driver. We usually recommend that you upgrade your driver. That being said, I would recommend looking at the help to determine what the mode does. To do this right click the VI and select Help. This should give you a more in-depth look at the function.
    Here is a forum post which describes mode 1:
    http://forums.ni.com/t5/Machine-Vision/Problem-with-IMAQ-1394-trigger-mode-1/td-p/300534
    Paolo F.
    National Instruments
    Applications Engineer

  • Getting timestamp for analog acquisition with NI6110.

    When I use the AI Read VI to get a waveform containing a sequence of scans, the waveform has a timestamp that presumably represents the absolute time of acquisition of the first scan as measured using the system clock. (I can't find any documentation on this, by the way. Where is this documented?) I notice that the AI Read VI can alternatively be used to return a "binary" array of measurements. For various reasons, I prefer to use this form of the AI Read VI, but I'd also like to get the timestamp that would be included in waveform returned by the waveform version. However, I don't want to call the AI Read VI twice, one time to get the binary array and a second time to get the whole waveform just so that I can g
    et the timestamp. Is there a way to get this timestamp without getting the whole waveform?
    Thanks,
    Neal.

    Thanks for replying.
    I'm performing digitally triggered, buffered data acquisition with my 6110E, with the possibility of pretrigger sampling. The data I'm acquiring may extend several second before and after the trigger. Furthermore, my application may call the AI READ VI at some unpredictable time several seconds after data acquisition is complete. I'm assuming that the timestamp that would be returned as part of the waveform by the AI READ VI (whose exact nature appears to be undocumented) is calculated from the system clock at the time at which the digital trigger occurs, and wouldn't depend on when the AI READ VI was called. The article you referenced doesn't tell me how to do what I want. I want to get EXACTLY the timestamp that the AI READ
    VI would include with waveform data, were it asked to return waveform data, but I want to use it to only return binary data. To the best of my understanding, the method described by the article for a obtaining a timestamp when binary data is retrieved provides no guarantee that the timestamp obtained will be the same one that would be returned as part of a waveform by the AI READ VI. Indeed, using the "Get Date/Time In Seconds" VI would seem, under the circumstances in which I would use it, to produce a timestamp that differs unpredictably from the time of the trigger by seconds.
    Thanks,
    Neal.

  • IMAQ 1394 with 12 bit color CCD

    Hi,
    I am using Labview 7.1 with the IMAQ 1394 in combination with a Basler
    color CCD (A311fc) which has a resolution of 12 bits. When looking at
    all supplied Labview examples I find no way to get beyond 8 bit
    resolution (i.e. 32 bit images). How do I actually acquire and store
    the full 12 bit (i.e. 64 bit) images?
    Regards,
    raclaser

    Hello Raclaser,
    Could you please send the acquired picture from your basler camera to
    our vision specialist.
    He will go further ahead with this issue. And contact you if he has
    further questions.
    Please send the picture to: [email protected]
    Kind regards
    Ulrich Möschel
    Application engineer
    NICER

  • Flexmotion single point acquisition with Analog buffered acquisition

    I am trying to read the ADC's with a 7344 motion card using a looping single point acquisition equivalent to 50Hz. This is occurring at the same time as I am performing a buffered analog acquistion on a PCI6023 E-series at 1000Hz.
    The values from the ADC's are stored in an array, but when I view this array there are hardly any data points, maybe about 20 in total.
    I am guessing that it is because of the buffered acquisition, but can anyone help me understand this problem a little better? Can I accomplish what I have described?
    Thanks
    Chris

    I checked and the Read Position VI loop runs properly while the motion profile is running (without any analog acquisition through my 6023E card).
    Likewise, with no read position loop, all the analog acquisition with motion runs properly.
    I have attached a simpler example that I tried, so that there was no triggering involved. The analog acquisition runs, and I find that the Read Position VI loop only starts displaying once the analog acquisition is finished (after 2000 samples/ 2 seconds).
    It seems that it cannot do the two processes at once and that the analog DAQ on my 6023E card has priority over the Read position loop????!!!!???
    The example is in LV5.1.1 format
    Any help would be much appreciated!
    Chris
    Attachments:
    simultaneous_DAQ_on_6023E_and_reading_7344_flexmotion_(simple_example).vi ‏149 KB

  • Multi-buffered acquisition with digital trigger

    I have a PCI-MIO-16E1 and I need to do three channel (250KHz/channel - ~400 scans/trigger) multi-buffered acquisition with digital trigger (trigger => 30 Hz).
    I could not find any example of multi-buffered acquisition. Could anybody help me?

    Hello,
    I assume that you are refering to a retriggering setup where each time you recieve a trigger you take 400 samples on each channel at a rate of 250kHz per channel (total scan rate = 3CH * 250kHz = 750kHz).
    In order to keep the system hardware timed you can use the two counters on the board to produce a retriggerable pulse train that will act as your scan clock. For example each time the counter recieves a trigger it will output a clock signal of 750kHZ with 400 or so pulses in order to take ~400 scans/trigger.
    This clock signal can then act as the scan clock for your 3 channel analog input operation.
    Now we have to figure out how to set up the retriggerable pulse train from the counters and have the analog input use the counter output as a sca
    n clock.
    Good thing there is an example that is already written
    http://zone.ni.com/devzone/explprog.nsf/6c163603265406328625682a006ed37d/aab61e455564a04d862568930018e725?OpenDocument.
    Good Luck.

  • IMAQ Create for compressed .avi - cannot open the new file afterwards with IMAQ Open

    Hi there,
    i hope i'm in the right board.
    I recently tried to compress avi-files i collected from various cameras throughout the last years.
    At first i used VDub and ffdshow with a FFVH codec - it worked fine as long as i won't try to open the compressed avi using IMAQ Open.
    I googled a bit and read a lot in these forums, tried several solutions - none of them worked.
    So i gave it a last, let's call it fail-proof, try:
    I took the original .avi (uncompressed, openable with IMAQ Open) and used my newly gained knowledge to use LV for the compression work, i chose from IMAQ AVI Get Filter Names the ffdshow Video Codec and built a small read-write for-loop to convert the AVI frame for frame.
    All worked fine despite the problem, that i still cannot open the compressed file in IMAQ Open - and i do not know why.
    I would be glad to force labview to decode and open the compressed file with a certain codec, but i found no option for this.
    Thanks in advance
    Markus
    P.S.
    I'm using LabView 2010 and VAS of 02/2014.

    Hello Markus,
    have you had a look at this:
    Writing a Compressed AVI File with the IMAQ Vision Acquisition Software
    Compressing avi files-Discussion Forums
    Regards,
    eletra

  • 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.

  • 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

  • How do I clear IMAQ 1394 Occurences?

    I am trying to use the IMAQ1394 Occurence Config to generate occurences to control the timing for my imaging acquisition. I've followed the example "Low-Level Grab Async.vi" in the IMAQ1394 examples library, and I have successfully generated occurences to control a low-level continuous grab. When I stop the grab with IMAQ Stop Acquisition, and then try to restart the acquistition with IMAQ1294 Start, the occurence no longer works. I am not able to clear the occurence, and I cannot create a new one. Do I have to close the session and restart it in order for the occurences to work again?

    I'm trying to understand the sequence of commands you did. Is it as per the attached vi? it should work.
    Do you see an error code/message?
    Attachments:
    LL_Occurrence_Ring.vi ‏113 KB

  • IMAQ 1394 version 2.0 - setting the shutter integration time

    I am using IMAQ 1394 version 2.0 with a CCDdirect firewire camera.  I am trying unsuccessfully to set the shutter attribute  in absolute mode to a value of several seconds.  I cant seem to get an integration time greater then .13 seconds to be accepted, even when I try to set it in MAX.  Any suggestions would be appreciated.  I am also using Labview 7.1 Developers suite
    thanks,
    Ronen

    Hello Ronen,
    I'm not familiar with CCDdirect cameras.  Is there a particular model that you are using?
    What happens when you set the value greater than 0.13 seconds?
    Some cameras that I have worked with in the past require that the camera be placed in an "extended" shutter mode in order to use long integration times.  Does your camera offer any additional shutter modes that will allow you to increase this value? 
    What shutter/integration time attributes show up in MAX?  These attributes and there values/ranges are read directly in from the camera.  I have also worked with some cameras in the past that have additional attributes that do not show up in MAX.  Typically these are attributes/features that are not part of the DCAM compliance.  MAX and the IMAQ 1394 driver only access DCAM specific features.  If the correct values do not show up, perhaps the camera manufacturer can show you how to set these attributes.
    Let me know the answers to the above questions if you are still unable to accomplish what you need.  I would be more than happy to help out in any way possible.
    Best Regards,
    Jesse D.
    Applications Engineering
    National Instruments

  • Multibuffer acquisition with PCI-6115

    I am trying multi-buffer acquisition with a PCI-6115 board. I seem to get an error (-10026) that suggests that this board does not support multi-buffer acq. does anyone know if this is so?

    By multi-buffer acquisition, do you mean doing buffered acquisition for different channels simultaneously? If this is the case, PCI-6115 boards allow this since each analog channel has its own DAC.
    Are you trying to do Analog Input or Analog Output?
    What value are you putting as buffer size?
    Can you sample one channel continuously without a problem?
    Please let me know,
    LA

  • Acquisition with vendor and without vendor

    Dear All,
    This is my first time using FA in SAP Business One.
    I have a lot of question about FA in SAP B1 especially in FA Acquisition.
    There are two kinds of acquisition. With vendor and without vendor.
    If we choose the aquisition with vendor, we must enter the vendor and the JE will be created like this
                                      Debit             Credit
    V01                                                 1500 USD
    Asset Computer       1500USD
    It seems the the JE create like AP invoice, so we can continue the out going payment for the vendor.
    But the problem is in Acquisition without vendor.
    I have a scenario.
    I buy a car. I create PO > GRPO> AP invoice--> Out going Payment.
    After that if i run the acquisition without vendor.
    The JE will be created like this
                                                                    Debit       Credit
    Clearing Acc. Asset Acquisition                             1500Usd
    Asset Car                                                 1500 USD
    ( Please correct me if my Journal is wrong )
    From this Journal Posting, i find some thing odd.
    When i buy a car and i created the GRPO.
    The JE will  create the Asset car position in Debit.
    After that i create the Acquisition without vendor. The Journal also posting the Asset Car account in Debit. So the Asset Car account balance become 3000 USD.
    So what must i do to avoid this problem.
    I check the document FA. It is said that before create the Acquisition without vendor, the AP invoice must already be  created.
    In the documentation, they create the AP invoice in service type. Is it a must to create the AP invoice like this ?
    Please tell me what should i do if create the Acquisition without vendor.
    Any suggest or solution would be great.
    Thanks in advance
    Regards
    KK

    Fixed Assets are created in the add on, not the item master.
    Your choice is that
    1. all fixed asset puchases go through a clearing account and a different team is responsible for creating the assets & performing the acquisition,  (1 step for one team, two for another) or  
    2 that the person acquiring the asset creates the master data item in fixed assets, then the acquisition with vendor (one two step process)
    Depends on the size of the organisation and the roles & responsibilities within the organisation

Maybe you are looking for

  • Error while deploying SOA composite

    Hi, I am getting the below error while deploying the SOA composite. Error(45,34): Failed to compile bpel generated classes. failure to compile the generated BPEL classes for BPEL process "ApprovalProcess" of composite "default/ResourceSerialApproval!

  • Configuration Status of an order

    Hi All,   Does anybody have an idea where does configuration status of an order gets stored(Table) ??

  • Question about audiobook download

    I downloaded an audiobook that shows I have part 1of 2 and part 2 of 2 downloaded.  However it will not let me open part 2 of 2.  It will only let me listen to 2 of 2 which is chapter 20.  What do I do???  

  • Networking on virtual server

    Hi, So I can't get networking on a virtual machine (CentOS) running, the parent virtual machine connects propperly and can ping everything OK. The virt has all the correct settings and it's own IP address but can't ping anything, even the host server

  • HT5312 Can I have new questions

    I want different security questions to verify my account