03-02-2020 12:50 PM
I have three USB 3.O cameras. I wanted to do external hardware triggering and acquire images simultaneously from the three cameras. Is it possible to execute this program without using any NI hardware and by using only NI-IMAQdx drivers in labview?
Solved! Go to Solution.
03-02-2020 01:07 PM
Hi Prawin,
There are certainly many cameras that do accept a hardware trigger, and you can configure whether or not it is waiting for the trigger in LabVIEW. Where will the trigger be supplied from? What cameras do you have?
03-02-2020 01:43 PM
Hi Gregroy,
I am supplying the external triggering using a arduino micro-controller. I am using a FLIR (BFS-U3-04S2M-CS) cameras. I wanted to synchronize three such a cameras and capture images from it simultaneously.
Thanks
03-02-2020 03:00 PM
Are you getting hung up on the hardware side or the LabVIEW side?
On the hardware side you need to get a cable like this: https://www.flir.com/products/hirose-hr10-6-pin-circular-connector/?model=ACC-01-3009
Then wire to the opto isolated input and ground. It looks like that would be pins 2 and 5 from the 2nd page in this document: https://flir.app.boxcn.net/s/4nmu4yffg9h7qov46w5ijcude99nks0u/file/418603801042
In LabVIEW you can use property nodes on the camera session. First set the active attribute, and then set the value. You can use NI MAX to find out what the attribute names are. You just look through the camera properties. I cannot remember the exact names off the top of my head, but it might be something like "Acquisition::TriggerEnabled" which you can set to "True". Then your camera will only acquire an image after the trigger signal is received.
03-02-2020 05:09 PM
HI gregory,
Thank you for the details.
I am hung up on the labview side.
Thanks
03-03-2020 11:14 AM
Search in the examples for IMAQdx and then find "Triggered Grab.vi".
03-03-2020 02:31 PM
Thanks Gregory.
I have another question. Is it possible to run two or more vision acquisitions blocks in a single loop?
Because i have configured one camera in that, but i have more than two cameras and have to start acquiring at the same time. how can i do this.
Thanks
03-03-2020 03:13 PM
Sure it is possible. I would use the IMAQdx functions instead of the vision assistant, and it will become much more scalable. You can either use arrays of camera sessions and images, or have each one in a separate loop. Since they are being triggered you don't have to worry whether the code is reading the cameras at the exact same time or not.
03-03-2020 04:59 PM
Hi Gregory,
Thanks for the suggestions.In my application, I have to connect eight cameras in parallel and should start capturing the images all at a time on a rising clock pulse coming from a micro controller.
For this application i am making the VI as attached (shown for two cameras).
You have suggested me to use IMAQdx functions and configure the property node for external triggering but i am facing trouble in working with the property nodes and even the Trigger Grab.vi is giving errors and i could not fix them.
That is why i moved to vision acquisition. Here its the vi is building itself.
So if i can build this for eight cameras without any error that will serve my purpose.
Thanks
03-03-2020 05:16 PM
Ok, 8 cameras sounds like a lot of data. Be careful if your framerate is too high you might have a hard time getting all of the data off the cameras.