From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

ACE GigE - external trigger - example needed

When you try to pull acquistion using "IMAQdx Get Image" with option "Next" within a loop, it will timeout if a trigger have not occured. I've solved this issue using event structure (attached vi). Try to run it on you PC, it should work. If not, you ma have problem with your phisical signal. I don't think that CVS will support event structure but it might help you to start using external triggers.

Message 11 of 21
(6,376 Views)

 


Brad_PID wrote:

When you try to pull acquistion using "IMAQdx Get Image" with option "Next" within a loop, it will timeout if a trigger have not occured. I've solved this issue using event structure (attached vi). Try to run it on you PC, it should work. If not, you ma have problem with your phisical signal. I don't think that CVS will support event structure but it might help you to start using external triggers.


 

Thanks, I will try it out and let you know how it goes - really appreciate your help!

0 Kudos
Message 12 of 21
(6,368 Views)
Hey Brad,

This seem to work for me, I get an single frame when I activate the trigger - what would en the best practice to loop this for multiple farmes?
0 Kudos
Message 13 of 21
(6,355 Views)

Do you want to get fixed number of frames (let say 5 frames), at a given rate (let say 30 fps), once you triggered acquisition? Do the event structure work on your CVS-1457RT? As far I know it doesn't work on real time systems but I may be wrong. 

0 Kudos
Message 14 of 21
(6,348 Views)
No, I need an unknown number of frames, at a unknown rate (but not faster than 5fps)
My plan is to have all the inspections in its own loop, and have sort of a que between the two.
The acquisition need to be "real time", as it will be in bursts, but afterwards there is lots of time for the inspections.
I was able to run your vi on the target without any errors
0 Kudos
Message 15 of 21
(6,344 Views)

Classical approach is that you get one frame and then process it. You can enqueue image into a queue in "Event Loop" and then dequeue it in the next "Processing Loop". I don't know how about Real-TIme when you use events but this approach is one frame at unknown rate. But your case seems to be different.Do you want to acquire variable number of frames (let say 3, 5, 7) and then send it to processing loop?

0 Kudos
Message 16 of 21
(6,340 Views)
Yes, basically - but I do know that the max number of frames in one burst, which is 12 - but it could be less.
After getting the frames, I have plenty of time for processing
0 Kudos
Message 17 of 21
(6,335 Views)

It seems interesting. I don't have imidiate solution for it and I don't know wheter I will have but one more question. How do you know that you have the last frame? I mean phiscially. Does some kind of signal is generated? You could buffer frames and once you get this signal you could send it for processing. It might help if you briefely describe the process.

0 Kudos
Message 18 of 21
(6,331 Views)

The system will inspect printed labels - and I have two physical input, one from the main system that indicates that an inspection is required, and the other is from a sensor that detects when the print is i FoV

If I take the basic case, I know that every inspection round will have 8 images - so maybe I should start with a loop that does that - Takes 8 pictures and stores them them in a buffer?

 

0 Kudos
Message 19 of 21
(6,321 Views)

If you assume that you have fixed number of images, then you can use "BufferInterval" parameter to generate event once the specific number of images has been acquired. For example if you set this parameter with value 8, the event is generated once 8 images has been acquiered. If you don't know how many frame will be in one burst you have to utilize your external signal to start and stop acquisition. You have try what will work for you. 

0 Kudos
Message 20 of 21
(6,314 Views)