Producer loop and 2 consumer loop for acquisition and process images

Hello everybody,
I'm quite a newbie in Labview 2011 on Windows 7.
Those are what I want to do :
Step 1: When the objects fall with velocity around 2 to 5 m/s, images of these objects will be acquired continuously from PCIe 1433 with Basler spL4096-39kc.
Step 2: The processing of the images continuously in the same time with step 1 will find the datas of the objects in images as colors, patterns and locations. If the patterns and colors at location are as the same sample, the elements in Boolean data array are true.
 Step 3: Every 01 millisecond, values from Boolean data array will be read, the valves of nozzle will be opened if the values are true.
 My question is what is the best way to do my tasks ? I couldn't find any example of program in Labview and I think I use producer/consumer architecture for step 1 and 2 but I don't know how can I set up producer loop for step 3 and transfer Boolean data array from step 2 to step 3 ?
Thank you for reading and help me !

Dear Eric-J,
Thanks for your reply. I want sort the pellets that have 6mm diameter. The pellets were fed in a single layer by a vibratory feeder with a flat-bottom trough, 400mm wide that was supplied with the feeder . The pellets dropped off the end of the feeder onto a chute with 40 parallel U-shaped grooves. Images of these pellets will be acquired continuously. I make the sample from image that was acquired. I use NI Vision for processing  of the images. If the patterns and colors of pellets are as the same sample, the elements in boolean data array are true. As you thought, I would like to interpret data every millisecond and open/close a valve based on the boolean array. The air valve sends a burst of air for 2 - 3 milliseconds to an air nozzle that diverts the pellets into the appropriate channel.
What are your ideas for this task ? Could you explain more clearly about "a real time system" and "determinism" for this task ?
Thanks and best regards

Similar Messages

  • HELP!!??? Trouble with PS CS-6 displaying/ producing grainy and pixelated images after being imported using PS Bridge and Camera-Raw 8.5

    Help!??? I am having trouble with PS CS-6 displaying/ producing/ saving grainy pictures when import NEF files!!!
    Hi all,
    When I import all NEF or RAW files into CS6 from Bridge and Camera Raw from the Nikon D200 and D5000, they become grainy/ pixelated.  However, RAW files from the D800 did not have problem. I set the Color Space in my Nikons to AdobeRGB, in PS Camera Raw 8.5 to AdobeRGB, in PS CS-6 ColorSpace to AdobeRGB, and Save As Jpeg with Max quality (12). When comparing between CS-6 produced file and the original, I can see a big drop in quality and the picture become grainy and pixelated. What can I do to make this right? Any help/ suggestion is appreciated.
    Thank you!
    HN

    Can you show us a screen-shot of the raw in Camera Raw that shows this noise, or if you only see it in the saved JPG, then show us a side-by-side of the raw in Camera Raw and the JPG?  Show the same area of the photo and zoom to 100%.
    It is normal for raw photos to have grain but you can mostly remove it with the Luminance Noise-Reduction sliders in the Detail tab of Camera Raw.
    The amount of grain depends on the ISO sensitivity setting on the camera.

  • Can i use labview to capture and process images from ip cameras connected to a switch.

    Hi,
    i have more then one ip cameras conneted in LAN by a switch. i have a PC conneted to same switch. is it possible to capture images from these ip cameras and process them(for example performing simple barcode scan or QR-code scan or OCR)?  Which IP cameras will be supported?

    There is functionally no difference whether the camera is connected directly to the system or via a switch. Both should work the same. The only real requirement that you'd need to care about is whether the switch can pass multicast UDP traffic correctly (this is used for network discovery of IP cameras). Generally all unmanaged switches (probably what you are using) will treat multicast traffic identical to broadcast traffic, but some managed switches/routers may need to be configured to pass multicast.
    Eric

  • Acquire and save images at high frame rates

    I am attempting to acquire and save images at a rate of 3000 fps for approximately 100 ms using a JAI 6740GE GigE camera, LabView 2011, and IMAQdx.  I can acquire the images at the necessary rates, but am dropping images when I try to save them.  The current test program I am working with contains a producer loop for acquiring the images, converting them into an array, and putting them into a queue, and a consumer loop to write the arrays to a TDMS file.  Currently I can acquire and save the images at a rate of approximately 1200 fps before I begin losing a few frames.  The code is attached below.  I would appreciate any ideas to be able to save the images without dropping frames.
    Attachments:
    Trigger Image to AVI faster.vi ‏38 KB

    Hi Rox,
    How are you verifying that you are loosing the frames during the saving and not during the acquisition? Are you able to determine where you are dropping frames? Is it at the beginning, the end or randomly? Thank you!
    Regards,
    Kira T

  • Set up of system for acquiring/​processing images from digital camera

    Hi all,
    I am new to LabVIEW and I need to choose and install a system camera+software able to acquire and process images. I would like to achieve this as painlessly as possible, by choosing the appropriate equipment. I was thinking of buying an industrian camera with GigE interface amongst the list of NI supported  cameras. 
    Once I have that, what software do I need in order to acquire and process images with LabVIEW? Do I need NI-IMAQdx and If I already have NI-IMAQ, do I need to purchase a license for NI-IMAQdx? 
    What steps are required to install and configure the system? If anyone can give  suggestions on how to implement this systemit would be greatly appreciated.
    Thank you!

    As Paul suggested the software you need will be the NI Vision Acquisition Software, NI-IMAQ alone will not be sufficient.
    Take a look at this tutorial, part one gives a nice bit of background and part two gives you specifics on how to set things up.
    Acquiring form GigE Vision Cameras with Vision Acquisition Software - Part I
    Acquiring form GigE Vision Cameras with Vision Acquisition Software - Part II
    If you need any further help please do not hesitate to call our pre-sales engineers on 01635 523545.
    Regards
    Rich
    NI | UK

  • Producer consumer loop for serial comms

    I have an application where I am trying to read and write to a serial port using a producer consumer loop.  My producer consumer loop seems to work fine until I put the serial comm VIs in the consumer loop.  Prior to that my event structure in the producer loop seems to work fine and all the controls on the front panel send commands into the queue and the expected reaction happens in the consumer loop.  When I put serial comm VIs into the consumer loop the application will read the serial port but none of the other controls on the front panel ever get any reaction from the consumer loop.  I am not sure if I am using the producer consumer loops correctly when using comms at the same time.  Any help would be appreciated!!
    I have attached the VI for your inspection.
    Attachments:
    pinger comms.vi ‏65 KB

    You could probably continue with your original architecture as well.  Just put the check for bytes at port in the Read case of the consumer loop.  As you said, it takes 1-2 seconds for the device to send data.  So the original architecture didn't work because you were queueing up 20 reads per second in the timeout case, but the consumer loop was taking up to a second for a single byte to come in.
    If you check for bytes in the consumer loop, if none are there, the Read case will end quickly and won't wait for that byte to come in.
    You should also probably increase the timeout of the event structure to 100-200 mseconds or even more.  The event structure would still respond instantaneously to user interface events.  And you would only be generating the timeout case a few times per second.  Which means when a byte comes in, it would probably be sitting there only 100 mseconds or so before you read it.  Unless you go click happy and generate lots of other  events not allowing the timeout case to run.

  • Basic Producer/Consumer loops for a newbie

    Labview neewbie here.
    I was looking at Producer Consumer loops.
    Can anybody give me a very basic explanation of how to set one up.
    I want to take readings from a HP 53131A counter and store them in an excel spreadsheet.
    I understand the part about labview slowing down as it opens the Excel file, and a seperate loop will help solve this.
    But I dont understad how to set up the Que function.
    Thanks.

    Multithreading will not make excell open faster but using concurrency you can have more than one operation operate ate different speeds.  The nice thing about the produce consumer model is that the if the consumer is slow or unreliable (freeses up) the producer doesnt care and will continue.  To use a queue is very simple, 1. create the queue, name it(optional) and give it a data type (ie int, array of floats ...)  in the produce loop use the enqueue vi to add items as needed to the queue, in the consumer dequeue these items (using a timeout = -1 the loop will wait for a new item and not consume resources)  the consumer can process the data acquired in the producer loop.
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • Consumer producer - Acquisiton image but only producer loop run

    Dear all
    I try acquire and save image from Basler camera L301kc and NI PCe 1427 framegrabber. I create a producer/ consumer loop because the save take more time that the acquisition and if I do both in the same loop I lose frames. But I have problem: only producer loop run.
    I have read all the threads but I didn't manage to solve my problem.
    I have attached a VI code of how I was trying to do it. I am using LabView 2011.
    Please any comments or help is deeply appreciated.
    Thank in advance
    XuanThuy
    Solved!
    Go to Solution.
    Attachments:
    Acquisition Image for Sample 03.vi ‏75 KB

    Dear Kira T,
    The producer and consumer loop has run but the Image Out in consumer loop is empty. Bruce attention to the error wire from the consumer loop wired to the destroy queue vi. But I don't find error.
    I have attached a new VI code.
    Can you help me ?
    Thanks and regards
    XuanThuy
    Attachments:
    Acquisition Image for Sample 03.vi ‏71 KB
    Linescan camera setup Sub VI.vi ‏26 KB

  • Generate dynamic event of producer loop in multiple consumer loop

    I have one producer loop which used event case to interface with FP controls and 5 consumer loops
    If I have to use the fifth consumer loop to generate dynamic event which send to event case in produer loop. 
    I have to wire register event with dynamic event terminal in producer loop . Also I need to wire user event to consumer loop (at the bottom of screen window) which is far away from producer loop. It is hard to wire them. 
    Is there any other method to let many consumer loop to communicate with one producer loop through dynamic event (the same user event)?

    I like to use an Action Engine to hold control my Event Reference.  Then anybody can send the event commands.
    You may also want to look at the VIs I recently submitted for OpenG here.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Consumer loop slowing down producer loop

    Hi All,
    I'm currently using a PXI to send commands to a chip, then retrieve the results with a DAQ. This process loops to populate a 256x50 array of values.
    Each time the loop is fully populated, I want to display the result onto a 3D plot, using 3d plot lvclass and plot helper. I noticed through the profiler and using timing functions in the loop that the 3D plot would take ~200 ms to update. The array would fully populate in about 100ms, so tripling the time to update was kind of nasty.
    I put the 3d plot into a consumer loop and everything else in a producer loop. It works fine, I don't mind about dropped frames, but it was running at the same speed. Apparently whenever the consumer loop executed, it would freeze completely the producer loop.
    Why is this? It seems like this fellow had the same problem:
    http://forums.ni.com/t5/LabVIEW/Producer-Consumer-Loops-not-independent/td-p/1115665
    But he "solved" it by removing the graph altogether. As showing the graph updating in real time is critically important, I can't just chuck it.

    No, an action engine is sometimes called a LabVIEW 2 Style global. They are basically a VI with a while loop and an unitialized shift register. They are useful when passing large amounts of data since it does not get copied. Also if you have transformations that are made on the data it is a single self contained VI that has data and actions which can be performed on it. Today a LVOOP implementation would be prefered. At any rate, this is a non-reentrant VI which will cause blocking to occur if called from two or more loops at the same time.
    Out of curiosity, what type of graphics card do you have in the PC? Would a better graphics card help?
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • I have GarageBand for iPad 2 and noticed that there are far fewer loops for iPad than for apple laptops. Is there a library available of apple loops? I haven't been able to find any if there are. Any help would be greatly appreciated.

    I have GarageBand for iPad 2 and noticed that there are far fewer loops for iPad than for apple laptops. Is there a library available of apple loops? I haven't been able to find any if there are. Any help would be greatly appreciated.

    Update: An Apple rep called me today to update the status of my return. I was told that the replacements for the BLACK iPad 2's was still another 3 weeks out (at least) so they offered me a brand new WHITE 16GB iPad 2. I could have that or continue waiting. I opted to go ahead and accept the offer of a new white one. Worst case scenario if I don't like the white one I have buddy that just bought a 16GB black one that he would be willing to swap it.

  • The product that I purchased is not working!!!! I need help and I've been stuck in your "Contact us loop" for the last few days and I'm getting frustrated. How do I contact you for HELP!

    The product that I purchased is not working!!!! I need help and I've been stuck in your "Contact us loop" for the last few days and I'm getting frustrated. How do I contact you for HELP!

    Probably the best place to start is the right forum for your product. This is the forum for Distiller Server, a long dead product used by big companies, and probably not what you have. If you can't find the right forum, please let us know the FULL name of what you paid for (please check your invoice, as Adobe have many similar products), and we can perhaps direct you. Good luck!

  • Hi, I have small problem, for some time in music area I had two folders to use 1. Apple loops for soundtrack pro 2. Final Cut pro sound effects now both are gray and with out content may I know what happend

    Hi, I have small problem, for some time in music area I had two folders to use 1. Apple loops for soundtrack pro 2. Final Cut pro sound effects now both are gray and with out content may I know what happend

    I just went through this and it appears that my Focusrite Saffire was the culprit. I connected all the outputs on the focusrite according to the way the jacsk on the back were labeled and then set up the multichannel speaker setup to match. Then I went into STP, created a pink noise clip and panned it around, the LFE, center and rears were not in the right place.
    I reconnected the hardware to match the 5.1 pan pot in STP then changed the multichannel speaker setup to match. Everything appears to be correct now but I would have loved to have been able to just assigned the output busses to correct outputs in the saffire.
    Next step is to pan that pink noise around with my SPL meter to calibrate the room.

  • Can I delete logic pro 9 and keep all the loops for logic pro X

    I am running out of space on my computer and I want to delete as much as I can. I need to know if i delete logic pro 9 will i lose all apple loops for logic pro X.

    This is not the right forum for your question.
    Re-post the question here.
    Russ

  • How to increase the speed of my producer loop?

    Hi,
    I try to monitor two CAN channels and to compare values online. That's why I use a producer loop to collect all CAN messages and a consumer loop to calculate some stuff. But the producer is to slow. The queues of my CANCard are full after some minutes. The queues are already set to maximum.
    The first Channel runs with 500 kBit/s, the second one with 125 kBit/s.
    Should I use two Producer loops or how can I increase the speed of my existing producer?
    How should I handle the different speed of the channels?
    Enclosed screenshots from my VI.
    Thanks,
    Thomas
    Attachments:
    producer.jpg ‏66 KB
    receive.jpg ‏38 KB

    Andy,
    thanks for your support!
    Goal of my project is to measure both CAN channels. Between these channels is a real electronic control unit (ecu) which is able to route CAN messages between the channels. My VI has to check weather the routing works fine or not.
    Each message has an identifier and I kow which messages are routed. That means I have to measure both channels, look for routed messages and compare the data and the timestamp of the messages. I try that in my consumer loop. The data are stored in several 2d arrays. And I have to look for specific data in these arrays. I think the loops over the arrays are to slow. but I have no other chance - I have to buffer the messages somehow and then to compare by their timestamps to find the right order. But that's very difficult because the order of the messages in my producer queue is not ordered by the timestamp...
    If you have any idea how to solve the problem better, let me know - I would be happy!
    Thanks,
    Thomas

Maybe you are looking for