Trigger Selector

The Trigger Selector camera feature allows you to select which trigger type should be configured.

Once selected, you can use the trigger type for a number of camera configuration tasks, e.g., enabling hardware triggering.

In this topic Hide

Using the Feature

Selecting a Trigger Type

To select a trigger type, set the TriggerSelector parameter to one of the following values:

Common Tasks

Once you have selected a trigger type, you can do the following:

Task Feature
Enabling or disabling the selected trigger type Trigger Mode
Selecting the input line or software command to act as the source for the trigger type selected Trigger Source
Selecting the signal transition necessary for activating the trigger type selected Trigger Activation
Configuring a delay between the receipt of a hardware signal and the moment when the trigger type selected becomes effective Trigger Delay

Available Trigger Types

Frame Burst Start (= Acquisition Start), End, and Active Trigger

The Frame Burst Start trigger and the Acquisition Start trigger are identical, only the names differ. The naming depends on your camera model. In the following, the term "Frame Burst Start trigger" is used to describe both types.

If available, you can use the Frame Burst Start, End, and Active triggers to control the acquisition of a series of images (a "burst" of images).

The number of images per series is specified by the AcquisitionFrameCountAcquisitionBurstFrameCount parameter. The maximum number of images per series depends on your camera model.

By default, these triggers are disabled, and the camera acquires single images only.

If you enable these triggers and the camera receives the corresponding signal via the trigger source configured, the following happens:

Frame Start, End, and Active Trigger

If available, you can use the Frame Start, End, and Active triggers to control the acquisition of a single image. These are the trigger types used most commonly. In most image applications, you will only need to configure these trigger types.

By default, these triggers are disabled, and the camera controls image acquisition automatically.

If you enable these triggers and the camera receives the corresponding signal via the trigger source configured, the following happens:

Exposure Start, End, and Active Trigger

If available, you can use the Exposure Start, End, and Active triggers to control the exposure of a single image.

By default, these triggers are disabled, and the camera exposes images automatically.

If you enable these triggers, set the exposure mode to TriggerControlled, and the camera receives the corresponding signal via the trigger source configured, the following happens:

Using the Trigger Types

Use Case 1: Frame Burst Triggering

Assume you want to trigger the acquisition of a series of images with only one trigger signal.

To achieve this, enable the Frame Burst Start trigger and disable all other available trigger types. Also, set the AcquisitionFrameCountAcquisitionBurstFrameCount parameter to 3.

This way, every time the camera successfully receives a Frame Burst Start trigger signal, the camera automatically acquires a complete series of three images.

Afterwards, the camera waits for the next Frame Burst Start trigger signal. On the next trigger signal, the camera acquires another 3 images, and so on.

Timing Diagram for Use Case 1

Use Case 2: Exposure Triggering

Assume that you want to avoid the exposure start delay, i.e., start exposure as fast as possible after applying a trigger signal. Also assume that the Exposure Start trigger is available for your camera.

In this case, set the exposure mode to TriggerControlled, enable the Frame Start trigger and the Exposure Start trigger, and disable all other available trigger types.

This way, every time the camera successfully receives a Frame Start trigger signal, the camera initializes image acquisition, but does not yet start exposing. Instead, the camera waits in its prepared state and is ready to expose immediately when receiving an Exposure Start trigger signal.

After the image has been exposed, the camera ignores all further Exposure Start trigger signals. You must apply a new Frame Start trigger signal to initialize the next image acquisition.

Specifics

Camera Model

Available Trigger Types

Maximum Number of Images per Series

All ace 2 GigE camera models
  • Frame Start
  • Frame End
  • Frame Active
  • Frame Burst Start
  • Frame Burst End
  • Frame Burst Active
  • Exposure Start
  • Exposure End
  • Exposure Active
1023
All ace 2 USB 3.0 camera models
  • Frame Start
  • Frame End
  • Frame Active
  • Frame Burst Start
  • Frame Burst End
  • Frame Burst Active
  • Exposure Start
  • Exposure End
  • Exposure Active
1023
acA640-90gm
  • Frame Start
  • Acquisition Start
255
acA640-90gc
  • Frame Start
  • Acquisition Start
255
acA640-120gm
  • Frame Start
  • Acquisition Start
255
acA640-120gc
  • Frame Start
  • Acquisition Start
255
acA640-121gm
  • Frame Start
  • Acquisition Start
255
acA640-300gm
  • Frame Start
  • Acquisition Start
255
acA640-300gc
  • Frame Start
  • Acquisition Start
255
acA720-290gm
  • Frame Start
  • Acquisition Start
255
acA720-290gc
  • Frame Start
  • Acquisition Start
255
acA780-75gm
  • Frame Start
  • Acquisition Start
255
acA780-75gc
  • Frame Start
  • Acquisition Start
255
acA800-200gm
  • Frame Start
  • Acquisition Start
255
acA800-200gc
  • Frame Start
  • Acquisition Start
255
acA1280-60gm
  • Frame Start
  • Acquisition Start
255
acA1280-60gc
  • Frame Start
  • Acquisition Start
255
acA1300-22gm
  • Frame Start
  • Acquisition Start
255
acA1300-22gc
  • Frame Start
  • Acquisition Start
255
acA1300-30gm
  • Frame Start
  • Acquisition Start
255
acA1300-30gc
  • Frame Start
  • Acquisition Start
255
acA1300-60gm
  • Frame Start
  • Acquisition Start
255
acA1300-60gmNIR
  • Frame Start
  • Acquisition Start
255
acA1300-60gc
  • Frame Start
  • Acquisition Start
255
acA1300-75gm
  • Frame Start
  • Acquisition Start
255
acA1300-75gc
  • Frame Start
  • Acquisition Start
255
acA1440-73gm
  • Frame Start
  • Acquisition Start
255
acA1440-73gc
  • Frame Start
  • Acquisition Start
255
acA1600-20gm
  • Frame Start
  • Acquisition Start
255
acA1600-20gc
  • Frame Start
  • Acquisition Start
255
acA1600-60gm
  • Frame Start
  • Acquisition Start
255
acA1600-60gc
  • Frame Start
  • Acquisition Start
255
acA1920-25gm
  • Frame Start
  • Acquisition Start
255
acA1920-25gc
  • Frame Start
  • Acquisition Start
255
acA1920-40gm
  • Frame Start
  • Acquisition Start
255
acA1920-40gc
  • Frame Start
  • Acquisition Start
255
acA1920-48gm
  • Frame Start
  • Acquisition Start
255
acA1920-48gc
  • Frame Start
  • Acquisition Start
255
acA1920-50gm
  • Frame Start
  • Acquisition Start
255
acA1920-50gc
  • Frame Start
  • Acquisition Start
255
acA2000-50gm
  • Frame Start
  • Acquisition Start
65535
acA2000-50gmNIR
  • Frame Start
  • Acquisition Start
65535
acA2000-50gc
  • Frame Start
  • Acquisition Start
65535
acA2040-25gm
  • Frame Start
  • Acquisition Start
65535
acA2040-25gmNIR
  • Frame Start
  • Acquisition Start
65535
acA2040-25gc
  • Frame Start
  • Acquisition Start
65535
acA2040-35gm
  • Frame Start
  • Acquisition Start
255
acA2040-35gc
  • Frame Start
  • Acquisition Start
255
acA2440-20gm
  • Frame Start
  • Acquisition Start
255
acA2440-20gc
  • Frame Start
  • Acquisition Start
255
acA2500-14gm
  • Frame Start
  • Acquisition Start
255
acA2500-14gc
  • Frame Start
  • Acquisition Start
255
acA2500-20gm
  • Frame Start
  • Acquisition Start
255
acA2500-20gc
  • Frame Start
  • Acquisition Start
255
acA2500-20gmMED
  • Frame Start
  • Acquisition Start
255
acA2500-20gcMED
  • Frame Start
  • Acquisition Start
255
acA3088-16gm
  • Frame Start
  • Acquisition Start
255
acA3088-16gc
  • Frame Start
  • Acquisition Start
255
acA3800-10gm
  • Frame Start
  • Acquisition Start
255
acA3800-10gc
  • Frame Start
  • Acquisition Start
255
acA4024-8gm
  • Frame Start
  • Acquisition Start
255
acA4024-8gc
  • Frame Start
  • Acquisition Start
255
acA4096-11gm
  • Frame Start
  • Acquisition Start
255
acA4096-11gc
  • Frame Start
  • Acquisition Start
255
acA4112-8gm
  • Frame Start
  • Acquisition Start
255
acA4112-8gc
  • Frame Start
  • Acquisition Start
255
acA4600-7gc
  • Frame Start
  • Acquisition Start
255
acA5472-5gm
  • Frame Start
  • Acquisition Start
255
acA5472-5gc
  • Frame Start
  • Acquisition Start
255
acA640-750um
  • Frame Start
  • Frame Burst Start
255
acA640-750uc
  • Frame Start
  • Frame Burst Start
255
acA640-90um
  • Frame Start
  • Frame Burst Start
255
acA640-90uc
  • Frame Start
  • Frame Burst Start
255
acA640-120um
  • Frame Start
  • Frame Burst Start
255
acA640-120uc
  • Frame Start
  • Frame Burst Start
255
acA720-520um
  • Frame Start
  • Frame Burst Start
255
acA720-520uc
  • Frame Start
  • Frame Burst Start
255
acA800-510um
  • Frame Start
  • Frame Burst Start
255
acA800-510uc
  • Frame Start
  • Frame Burst Start
255
acA1300-200um
  • Frame Start
  • Frame Burst Start
255
acA1300-200uc
  • Frame Start
  • Frame Burst Start
255
acA1300-30um
  • Frame Start
  • Frame Burst Start
255
acA1300-30uc
  • Frame Start
  • Frame Burst Start
255
acA1440-220um
  • Frame Start
  • Frame Burst Start
255
acA1440-220uc
  • Frame Start
  • Frame Burst Start
255
acA1600-20um
  • Frame Start
  • Frame Burst Start
255
acA1600-20uc
  • Frame Start
  • Frame Burst Start
255
acA1920-25um
  • Frame Start
  • Frame Burst Start
255
acA1920-25uc
  • Frame Start
  • Frame Burst Start
255
acA1920-40um
  • Frame Start
  • Frame Burst Start
255
acA1920-40uc
  • Frame Start
  • Frame Burst Start
255
acA1920-40umMED
  • Frame Start
  • Frame Burst Start
255
acA1920-40ucMED
  • Frame Start
  • Frame Burst Start
255
acA1920-150um
  • Frame Start
  • Frame Burst Start
255
acA1920-150uc
  • Frame Start
  • Frame Burst Start
255
acA1920-155um
  • Frame Start
  • Frame Burst Start
255
acA1920-155uc
  • Frame Start
  • Frame Burst Start
255
acA1920-155umMED
  • Frame Start
  • Frame Burst Start
255
acA1920-155ucMED
  • Frame Start
  • Frame Burst Start
255
acA2040-90um
  • Frame Start
  • Frame Burst Start
255
acA2040-90umNIR
  • Frame Start
  • Frame Burst Start
255
acA2040-90uc
  • Frame Start
  • Frame Burst Start
255
acA2000-165um
  • Frame Start
  • Frame Burst Start
255
acA2000-165umNIR
  • Frame Start
  • Frame Burst Start
255
acA2000-165uc
  • Frame Start
  • Frame Burst Start
255
acA2040-55um
  • Frame Start
  • Frame Burst Start
255
acA2040-55uc
  • Frame Start
  • Frame Burst Start
255
acA2040-120um
  • Frame Start
  • Frame Burst Start
255
acA2040-120uc
  • Frame Start
  • Frame Burst Start
255
acA2440-35um
  • Frame Start
  • Frame Burst Start
255
acA2440-35uc
  • Frame Start
  • Frame Burst Start
255
acA2440-35umMED
  • Frame Start
  • Frame Burst Start
255
acA2440-35ucMED
  • Frame Start
  • Frame Burst Start
255
acA2440-75um
  • Frame Start
  • Frame Burst Start
255
acA2440-75uc
  • Frame Start
  • Frame Burst Start
255
acA2440-75umMED
  • Frame Start
  • Frame Burst Start
255
acA2440-75ucMED
  • Frame Start
  • Frame Burst Start
255
acA2500-14um
  • Frame Start
  • Frame Burst Start
255
acA2500-14uc
  • Frame Start
  • Frame Burst Start
255
acA2500-60um
  • Frame Start
  • Frame Burst Start
255
acA2500-60uc
  • Frame Start
  • Frame Burst Start
255
acA3088-57um
  • Frame Start
  • Frame Burst Start
255
acA3088-57uc
  • Frame Start
  • Frame Burst Start
255
acA3800-14um
  • Frame Start
  • Frame Burst Start
255
acA3800-14uc
  • Frame Start
  • Frame Burst Start
255
acA4024-29um
  • Frame Start
  • Frame Burst Start
255
acA4024-29uc
  • Frame Start
  • Frame Burst Start
255
acA4096-30um
  • Frame Start
  • Frame Burst Start
255
acA4096-30uc
  • Frame Start
  • Frame Burst Start
255
acA4096-30umMED
  • Frame Start
  • Frame Burst Start
255
acA4096-30ucMED
  • Frame Start
  • Frame Burst Start
255
acA4096-40um
  • Frame Start
  • Frame Burst Start
255
acA4096-40uc
  • Frame Start
  • Frame Burst Start
255
acA4096-40umMED
  • Frame Start
  • Frame Burst Start
255
acA4096-40ucMED
  • Frame Start
  • Frame Burst Start
255
acA4112-20um
  • Frame Start
  • Frame Burst Start
255
acA4112-20uc
  • Frame Start
  • Frame Burst Start
255
acA4112-20umMED
  • Frame Start
  • Frame Burst Start
255
acA4112-20ucMED
  • Frame Start
  • Frame Burst Start
255
acA4112-30um
  • Frame Start
  • Frame Burst Start
255
acA4112-30uc
  • Frame Start
  • Frame Burst Start
255
acA4112-30umMED
  • Frame Start
  • Frame Burst Start
255
acA4112-30ucMED
  • Frame Start
  • Frame Burst Start
255
acA4600-10uc
  • Frame Start
  • Frame Burst Start
255
acA5472-17um
  • Frame Start
  • Frame Burst Start
255
acA5472-17uc
  • Frame Start
  • Frame Burst Start
255
boA4096-93cm tbd tbd
boA4096-93cc tbd tbd
boA4112-68cm tbd tbd
boA4112-68cc tbd tbd
All dart BCON for LVDS camera models Frame Start N/A
All dart BCON for MIPI camera models Trigger Selector feature not supported Trigger Selector feature not supported
All dart USB 3.0 camera models Frame Start N/A
All pulse USB 3.0 camera models Frame Start N/A

Sample Code

// Select and enable the Frame Start trigger
camera.TriggerSelector.SetValue(TriggerSelector_FrameStart);
camera.TriggerMode.SetValue(TriggerMode_On);
// Select and enable the Acquisition Start trigger
camera.TriggerSelector.SetValue(TriggerSelector_AcquisitionStart);
camera.TriggerMode.SetValue(TriggerMode_On);
// Set the number of images to be acquired per Acquisition Start trigger signal to 3
camera.AcquisitionFrameCount.SetValue(3);
// Select and enable the Frame Start trigger
camera.TriggerSelector.SetValue(TriggerSelector_FrameStart);
camera.TriggerMode.SetValue(TriggerMode_On);
// Select and enable the Frame Burst Start trigger
camera.TriggerSelector.SetValue(TriggerSelector_FrameBurstStart);
camera.TriggerMode.SetValue(TriggerMode_On);
// Set the number of images to be acquired per Frame Burst Start trigger signal to 3
camera.AcquisitionBurstFrameCount.SetValue(3);
INodeMap& nodemap = camera.GetNodeMap();
// Select and enable the Frame Start trigger
CEnumerationPtr(nodemap.GetNode("TriggerSelector"))->FromString("FrameStart");
CEnumerationPtr(nodemap.GetNode("TriggerMode"))->FromString("On");
// Select and enable the Acquisition Start trigger
CEnumerationPtr(nodemap.GetNode("TriggerSelector"))->FromString("AcquisitionStart");
CEnumerationPtr(nodemap.GetNode("TriggerMode"))->FromString("On");
// Set the number of images to be acquired per Acquisition Start trigger signal to 3
CIntegerPtr(nodemap.GetNode("AcquisitionFrameCount"))->SetValue(3);
// Select and enable the Frame Start trigger
CEnumerationPtr(nodemap.GetNode("TriggerSelector"))->FromString("FrameStart");
CEnumerationPtr(nodemap.GetNode("TriggerMode"))->FromString("On");
// Select and enable the Frame Burst Start trigger
CEnumerationPtr(nodemap.GetNode("TriggerSelector"))->FromString("FrameBurstStart");
CEnumerationPtr(nodemap.GetNode("TriggerMode"))->FromString("On");
// Set the number of images to be acquired per Frame Burst Start trigger signal to 3
CIntegerPtr(nodemap.GetNode("AcquisitionBurstFrameCount"))->SetValue(3);
// Select and enable the Frame Start trigger
camera.Parameters[PLCamera.TriggerSelector].SetValue(PLCamera.TriggerSelector.FrameStart);
camera.Parameters[PLCamera.TriggerMode].SetValue(PLCamera.TriggerMode.On);
// Select and enable the Acquisition Start trigger
camera.Parameters[PLCamera.TriggerSelector].SetValue(PLCamera.TriggerSelector.AcquisitionStart);
camera.Parameters[PLCamera.TriggerMode].SetValue(PLCamera.TriggerMode.On);
// Set the number of images to be acquired per Acquisition Start trigger signal to 3
camera.Parameters[PLCamera.AcquisitionFrameCount].SetValue(3);
// Select and enable the Frame Start trigger
camera.Parameters[PLCamera.TriggerSelector].SetValue(PLCamera.TriggerSelector.FrameStart);
camera.Parameters[PLCamera.TriggerMode].SetValue(PLCamera.TriggerMode.On);
// Select and enable the Frame Burst Start trigger
camera.Parameters[PLCamera.TriggerSelector].SetValue(PLCamera.TriggerSelector.FrameBurstStart);
camera.Parameters[PLCamera.TriggerMode].SetValue(PLCamera.TriggerMode.On);
// Set the number of images to be acquired per Frame Burst Start trigger signal to 3
camera.Parameters[PLCamera.AcquisitionBurstFrameCount].SetValue(3);
// Select and enable the Frame Start trigger
Pylon.DeviceFeatureFromString(hdev, "TriggerSelector", "FrameStart");
Pylon.DeviceFeatureFromString(hdev, "TriggerMode", "On");
// Select and enable the Acquisition Start trigger
Pylon.DeviceFeatureFromString(hdev, "TriggerSelector", "AcquisitionStart");
Pylon.DeviceFeatureFromString(hdev, "TriggerMode", "On");
// Set the number of images to be acquired per Acquisition Start trigger signal to 3
Pylon.DeviceSetIntegerFeature(hdev, "AcquisitionFrameCount", 3);
// Select and enable the Frame Start trigger
Pylon.DeviceFeatureFromString(hdev, "TriggerSelector", "FrameStart");
Pylon.DeviceFeatureFromString(hdev, "TriggerMode", "On");
// Select and enable the Frame Burst Start trigger
Pylon.DeviceFeatureFromString(hdev, "TriggerSelector", "FrameBurstStart");
Pylon.DeviceFeatureFromString(hdev, "TriggerMode", "On");
// Set the number of images to be acquired per Frame Burst Start trigger signal to 3
Pylon.DeviceSetIntegerFeature(hdev, "AcquisitionBurstFrameCount", 3);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Select and enable the Frame Start trigger */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerSelector", "FrameStart");
CHECK(errRes);
errRes = PylonDeviceFeatureFromString(hdev, "TriggerMode", "On");
CHECK(errRes);
/* Select and enable the Acquisition Start trigger */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerSelector", "AcquisitionStart");
CHECK(errRes);
errRes = PylonDeviceFeatureFromString(hdev, "TriggerMode", "On");
CHECK(errRes);
/* Set the number of images to be acquired per Acquisition Start trigger signal to 3 */
errRes = PylonDeviceSetIntegerFeature(hdev, "AcquisitionFrameCount", 3);
CHECK(errRes);
/* Select and enable the Frame Start trigger */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerSelector", "FrameStart");
CHECK(errRes);
errRes = PylonDeviceFeatureFromString(hdev, "TriggerMode", "On");
CHECK(errRes);
/* Select and enable the Frame Burst Start trigger */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerSelector", "FrameBurstStart");
CHECK(errRes);
errRes = PylonDeviceFeatureFromString(hdev, "TriggerMode", "On");
CHECK(errRes);
/* Set the number of images to be acquired per Frame Burst Start trigger signal to 3 */
errRes = PylonDeviceSetIntegerFeature(hdev, "AcquisitionBurstFrameCount", 3);
CHECK(errRes);

You can also use the pylon Viewer to easily set the parameters.