01-14-2010 08:13 PM
Hi,
I have a photonfocus MV-D1024E-160-CL-CMOS camera. I am generating a square wave signal from a NI-DAQ. I want the camera to acquire images on either each falling edge or rising edge of the signal. I have seen examples related to IMAQdx drivers to obtain a sequence of images using an external trigger like this but there are no examples for the IMAQ. If anyone can post some examples it would be really helpful. I have seen the triggered snap example and tried using it. But I think that if I use the coding used in that example it will only initiate the sequence rather than what I want. Thank you in advance for anyone who can help me in this regard.
Solved! Go to Solution.
01-15-2010 02:36 PM
Hi Farhan,
There are a few shipping examples in C that utilize triggers. Head to Start»Programs»National Instruments»Vision»Text Based Examples»NI-IMAQ»MSVC»Signal IO.
01-19-2010 03:03 PM
I am programing using CVI and I have gone through the examples. The examples do not tell how to change the camera mode to operate based on the trigger. It only allows the start of an acquisition based on the trigger. I want to get a sequence of images, each obtained at either the rising edge or the falling edge of an external signal. There are examples for IMAQdx but not for IMAQ.
01-20-2010 02:27 PM
Hi again,
I don't think I know of a good CVI example for NI-IMAQ, but there is this example from LabVIEW. See the attached screenshot of LL Triggered Ring VI with the labels all visible. We can pull out the equivalent from the C API. I think if you take another look at the MSVC examples for NI-IMAQ, you'll see they are relevant even if they're not set up for CVI. Check out VHA Ring.c - specifically the OnRing function.
Basically, you open a session (imgSessionOpen), configure a buffer list (imgCreateBufList), setup the buffers for the whole list (imgCreateBuffer and imgSetBufferElement2), configure the trigger (imgSessionTriggerConfigure2 with the IM_TRIG_ACTION_BUFFER as the option for action), start the acquisition (imgSessionAcquire), then extract the buffers one by one (imgSessionCopyBuffer), and finally close the reference (imgClose).
01-30-2010 12:37 AM
Hi again,
I have been able to trigger the camera externally. Now I have another problem. When I change the camera mode to external trigger mode with the exposure defined by the trigger pulse width, it does not give me any image. The image I get is totally black. Also if I do not change my camera mode to an external trigger mode and keep it on free running mode, the CVI program runs the sequence based on the external trigger but exposure time is based on what I set in the pfremote which makes sense. I want to set the exposure time based on the pulse width of the external signal.
02-01-2010 02:28 PM
Hello,
Have you been able to acquired triggered images in MAX when using the pulse width to determine the exposure time? It is always good to take a step back with such changes and verify that things are working at a more basic level.
-Zach
02-01-2010 06:29 PM
Hi,
Thanks for pointing me towards MAX. I was not able to do it in MAX also because the setting in MAX were not right. But now after changing the settings in MAX I am able to trigger the camera externally with the exposure time based on the trigger pulse width.
05-18-2010 09:08 PM
Hi again,
I am having the same problem again. All my setting in MAX are what they should be for external trigger but I am unable to get images based on the external trigger. Does anyone of you have any information about the I/O board that comes with the PCIe 1429.
05-19-2010 05:14 PM
Hi Farhan,
The following article should give you the information you are looking for with regards to the I/O extension board. The manual is linked here.
05-19-2010 06:24 PM