05-28-2008 05:14 PM
05-29-2008 09:59 AM
I think there is some confusion about what MAX does when you press the Grab button and how the framegrabber interacts with the camera. Here is some information that might be helpful to users:
In MAX:
When you press the grab/snap button
1. The Control lines are initialized to the default state (this is specified in the camera file and not settable from MAX). It is located in the Pattern section after all InterfaceInfo sections if you're interested.
2. If you are routing external signals to control lines, these are mapped and start driving control lines. Only the PCIe devices and the 1426 can route external signals. This can be controlled from MAX on the Camera Attributes tab.
3. A 3 ring buffer acquisition is configured.
4. If the flag to Enable Serial Commands from the Camera Atttributes Tab in MAX is enabled, serial commands are sent. The way serial commands are sent follows these rules: Only attributes that are active (selected in the tree of attributes) will send their serial commands. The commands will be sent in order from the top of the attribute tree to the bottom. You will need to open the camera file if you want to see what the serial commands are and if a serial response is expected. The next serial command will not be sent until the expected serial response from the camera is received. Some cameras don't send serial responses, or have a checksum at the end, so we don't always check for serial responses and instead use a delay before sending the next serial command.
5. Any pulse generation actions defined by active attributes are sent on the Control lines if they are not overwritten by external signals (see number 2 above). This usually only happen with attributes that correspond to trigger modes.
For triggered modes, when the camera gets the trigger from the framegrabber, it sends back its triggerred image and since MAX is free running, it will generate the pulse specified by the attribute again once the image is done being acquired. In LabVIEW or other ADEs, if you set up a triggered acquisition, this pulse will not be sent until the external trigger the acquisition is waiting on arrives.
This is why MAX appears to be free running when using a triggered mode, because after acquiring each image, the frame grabber sends another trigger pulse to the camera.
Hope this helps,
Brad