Scheduled Action Commands#

The Scheduled Action Commands camera feature allows you to send action commands that are executed in multiple cameras at exactly the same time.

If exact timing is not a critical factor in your application, you can use the Action Commands feature instead.

Using the Feature#

How It Works#

The basic parameters of the Scheduled Action Command feature are the same as for the Action Commands feature:

In addition to these parameters, the Scheduled Action Command feature uses the Action Time parameter:

Action Time#

A 64-bit GigE Vision timestamp used to define when the action is to be executed.

The action is executed as soon as the internal timestamp value of a camera reaches the specified value.

With the Precision Time Protocol enabled, the timestamp value is synchronized across all cameras in the network. As a result, the action will be executed on all cameras in the network at exactly the same time.

The value must be entered in ticks. On Basler cameras with the Precision Time Protocol feature enabled, one tick equals one nanosecond.

Example: Assume you issue a scheduled action command with the action time set to 100 000 000 000. The action will be executed as soon as the timestamp value of all cameras in the specified network segment reaches 100 000 000 000.

Info

If 0 (zero) is entered or if the action time is set to a time in the past, the action command will be executed immediately, equivalent to a standard action command.

Using Scheduled Action Commands#

Configuring the Cameras#

Follow the procedure outlined in the Action Commands topic.

Issuing a Scheduled Action Command#

General Use

To issue a scheduled action command:

  1. Make sure that all cameras in your network are synchronized via the Precision Time Protocol feature.
  2. Call the IssueScheduledActionCommand method in your application.
    The parameters are similar to the IssueActionCommand method. The only difference is the additional Action Time parameter.
    Example:
    Scheduled Action Command Parameters
Issuing a Scheduled Action Command to Be Executed after a Certain Delay

To issue a scheduled action command that is executed after a certain delay:

Info

  • The following steps must be performed using the pylon API.
  • Because there is an unspecified delay between transmission and execution of the pylon API commands, the desired delay can't be achieved exactly.
  1. Make sure that all cameras in your network are synchronized via the Precision Time Protocol feature.
  2. Execute the TimestampLatch command on one of your cameras. If one of your cameras serves as the PTP master clock, use this camera.
    A "snapshot" of the camera's current timestamp value is taken.
  3. Get the value of the TimestampLatchValue parameter on the same camera.
    The value is given in ticks. On Basler cameras with the Precision Time Protocol feature enabled, one tick equals one nanosecond.
  4. Call the IssueScheduledActionCommand method with the action time set to the value determined in step 3 plus the desired delay in ticks (= nanoseconds).
    For example, if you want the command executed after roughly 30 seconds, set the action time to TimestampLatchValue + 30 000 000 000.

All cameras in the network segment will execute the command simultaneously after the given delay.

Issuing a Scheduled Action Command to Be Executed at a Precise Point in Time

To issue a scheduled action command that is executed at a precise point in time:

  1. Make sure that all cameras in your network are synchronized via the Precision Time Protocol feature to a time standard, e.g., Coordinated Universal Time (UTC).
    This can be achieved, e.g., by integrating a IEEE 1588-enabled UTC clock device in your network.
  2. Call the IssueScheduledActionCommand method with the action time set to a coordinated time value.
    For example, if your cameras are synchronized to UTC, you can set the action time to 1 765 537 200 000 000 000 to execute the action command exactly on Fri Dec 12 2025 11:00:00 UTC.
Queueing Scheduled Action Commands

If the ActionQueueSize parameter is available and its value is greater than one, you can queue scheduled action commands.

This means that the camera can store and process multiple scheduled action commands. The camera will execute them in ascending order of action time. If the queue is full, additional commands will be ignored.

Example: Assume the value of the ActionQueueSize parameter is 2. Now, assume you send the following commands to the camera:

  1. IssueScheduledActionCommand(4711, 1, 0xFFFFFFFF, 20000000000, "192.168.1.255")
  2. IssueScheduledActionCommand(4711, 1, 0xFFFFFFFF, 10000000000, "192.168.1.255")
  3. IssueScheduledActionCommand(4711, 1, 0xFFFFFFFF, 5000000000, "192.168.1.255")

Command 2 will be executed first, after 10 000 000 000 nanoseconds. Command 1 will be executed second, after 20 000 000 000 nanoseconds. Command 3 will be ignored because the queue is full.

Specifics#

Show all camera models

Camera Model Action Queue Size
a2A1920-51gcBAS 2
a2A1920-51gmBAS 2
a2A1920-160ucBAS Scheduled Action Commands feature not supported
a2A1920-160umBAS Scheduled Action Commands feature not supported
a2A3840-13gcBAS tbd
a2A3840-13gmBAS tbd
a2A3840-45ucBAS tbd
a2A3840-45umBAS tbd
acA640-90gc Scheduled Action Commands feature not supported
acA640-90gm 1, ActionQueueSize parameter not available
acA640-90uc Scheduled Action Commands feature not supported
acA640-90um Scheduled Action Commands feature not supported
acA640-120gc 1, ActionQueueSize parameter not available
acA640-120gm 1, ActionQueueSize parameter not available
acA640-120uc Scheduled Action Commands feature not supported
acA640-120um Scheduled Action Commands feature not supported
acA640-121gm 1, ActionQueueSize parameter not available
acA640-300gc 1, ActionQueueSize parameter not available
acA640-300gm 1, ActionQueueSize parameter not available
acA640-750uc Scheduled Action Commands feature not supported
acA640-750um Scheduled Action Commands feature not supported
acA720-290gc 1, ActionQueueSize parameter not available
acA720-290gm 1, ActionQueueSize parameter not available
acA720-520uc Scheduled Action Commands feature not supported
acA720-520um Scheduled Action Commands feature not supported
acA780-75gc 1, ActionQueueSize parameter not available
acA780-75gm 1, ActionQueueSize parameter not available
acA800-200gc 1, ActionQueueSize parameter not available
acA800-200gm 1, ActionQueueSize parameter not available
acA800-510uc Scheduled Action Commands feature not supported
acA800-510um Scheduled Action Commands feature not supported
acA1280-60gc 1, ActionQueueSize parameter not available
acA1280-60gm 1, ActionQueueSize parameter not available
acA1300-22gc 1, ActionQueueSize parameter not available
acA1300-22gm 1, ActionQueueSize parameter not available
acA1300-30gc 1, ActionQueueSize parameter not available
acA1300-30gm 1, ActionQueueSize parameter not available
acA1300-30uc Scheduled Action Commands feature not supported
acA1300-30um Scheduled Action Commands feature not supported
acA1300-60gc 1, ActionQueueSize parameter not available
acA1300-60gm 1, ActionQueueSize parameter not available
acA1300-60gmNIR 1, ActionQueueSize parameter not available
acA1300-75gc 1, ActionQueueSize parameter not available
acA1300-75gm 1, ActionQueueSize parameter not available
acA1300-200uc Scheduled Action Commands feature not supported
acA1300-200um Scheduled Action Commands feature not supported
acA1440-73gc 1, ActionQueueSize parameter not available
acA1440-73gm 1, ActionQueueSize parameter not available
acA1440-220uc Scheduled Action Commands feature not supported
acA1440-220um Scheduled Action Commands feature not supported
acA1600-20gc 1, ActionQueueSize parameter not available
acA1600-20gm 1, ActionQueueSize parameter not available
acA1600-20uc Scheduled Action Commands feature not supported
acA1600-20um Scheduled Action Commands feature not supported
acA1600-60gc 1, ActionQueueSize parameter not available
acA1600-60gm 1, ActionQueueSize parameter not available
acA1920-25gc 1, ActionQueueSize parameter not available
acA1920-25gm 1, ActionQueueSize parameter not available
acA1920-25uc Scheduled Action Commands feature not supported
acA1920-25um Scheduled Action Commands feature not supported
acA1920-40gc 1, ActionQueueSize parameter not available
acA1920-40gm 1, ActionQueueSize parameter not available
acA1920-40uc Scheduled Action Commands feature not supported
acA1920-40ucMED Scheduled Action Commands feature not supported
acA1920-40um Scheduled Action Commands feature not supported
acA1920-40umMED Scheduled Action Commands feature not supported
acA1920-48gc 1, ActionQueueSize parameter not available
acA1920-48gm 1, ActionQueueSize parameter not available
acA1920-50gc 1, ActionQueueSize parameter not available
acA1920-50gm 1, ActionQueueSize parameter not available
acA1920-150uc Scheduled Action Commands feature not supported
acA1920-150um Scheduled Action Commands feature not supported
acA1920-155uc Scheduled Action Commands feature not supported
acA1920-155ucMED Scheduled Action Commands feature not supported
acA1920-155um Scheduled Action Commands feature not supported
acA1920-155umMED Scheduled Action Commands feature not supported
acA2000-50gc 1, ActionQueueSize parameter not available
acA2000-50gm 1, ActionQueueSize parameter not available
acA2000-50gmNIR 1, ActionQueueSize parameter not available
acA2000-165uc Scheduled Action Commands feature not supported
acA2000-165um Scheduled Action Commands feature not supported
acA2000-165umNIR Scheduled Action Commands feature not supported
acA2040-25gc 1, ActionQueueSize parameter not available
acA2040-25gm 1, ActionQueueSize parameter not available
acA2040-25gmNIR 1, ActionQueueSize parameter not available
acA2040-35gc 1, ActionQueueSize parameter not available
acA2040-35gm 1, ActionQueueSize parameter not available
acA2040-55uc Scheduled Action Commands feature not supported
acA2040-55um Scheduled Action Commands feature not supported
acA2040-90uc Scheduled Action Commands feature not supported
acA2040-90um Scheduled Action Commands feature not supported
acA2040-90umNIR Scheduled Action Commands feature not supported
acA2040-120uc Scheduled Action Commands feature not supported
acA2040-120um Scheduled Action Commands feature not supported
acA2440-20gc 1, ActionQueueSize parameter not available
acA2440-20gm 1, ActionQueueSize parameter not available
acA2440-35uc Scheduled Action Commands feature not supported
acA2440-35ucMED Scheduled Action Commands feature not supported
acA2440-35um Scheduled Action Commands feature not supported
acA2440-35umMED Scheduled Action Commands feature not supported
acA2440-75uc Scheduled Action Commands feature not supported
acA2440-75ucMED Scheduled Action Commands feature not supported
acA2440-75um Scheduled Action Commands feature not supported
acA2440-75umMED Scheduled Action Commands feature not supported
acA2500-14gc 1, ActionQueueSize parameter not available
acA2500-14gm 1, ActionQueueSize parameter not available
acA2500-14uc Scheduled Action Commands feature not supported
acA2500-14um Scheduled Action Commands feature not supported
acA2500-20gc 1, ActionQueueSize parameter not available
acA2500-20gcMED 1, ActionQueueSize parameter not available
acA2500-20gm 1, ActionQueueSize parameter not available
acA2500-20gmMED 1, ActionQueueSize parameter not available
acA2500-60uc Scheduled Action Commands feature not supported
acA2500-60um Scheduled Action Commands feature not supported
acA3088-16gc 1, ActionQueueSize parameter not available
acA3088-16gm 1, ActionQueueSize parameter not available
acA3088-57uc Scheduled Action Commands feature not supported
acA3088-57um Scheduled Action Commands feature not supported
acA3800-10gc 1, ActionQueueSize parameter not available
acA3800-10gm 1, ActionQueueSize parameter not available
acA3800-14uc Scheduled Action Commands feature not supported
acA3800-14um Scheduled Action Commands feature not supported
acA4024-8gc 1, ActionQueueSize parameter not available
acA4024-8gm 1, ActionQueueSize parameter not available
acA4024-29uc Scheduled Action Commands feature not supported
acA4024-29um Scheduled Action Commands feature not supported
acA4096-11gc 1, ActionQueueSize parameter not available
acA4096-11gm 1, ActionQueueSize parameter not available
acA4096-30uc Scheduled Action Commands feature not supported
acA4096-30ucMED Scheduled Action Commands feature not supported
acA4096-30um Scheduled Action Commands feature not supported
acA4096-30umMED Scheduled Action Commands feature not supported
acA4096-40uc Scheduled Action Commands feature not supported
acA4096-40ucMED Scheduled Action Commands feature not supported
acA4096-40um Scheduled Action Commands feature not supported
acA4096-40umMED Scheduled Action Commands feature not supported
acA4112-8gc 1, ActionQueueSize parameter not available
acA4112-8gm 1, ActionQueueSize parameter not available
acA4112-20uc Scheduled Action Commands feature not supported
acA4112-20ucMED Scheduled Action Commands feature not supported
acA4112-20um Scheduled Action Commands feature not supported
acA4112-20umMED Scheduled Action Commands feature not supported
acA4112-30uc Scheduled Action Commands feature not supported
acA4112-30ucMED Scheduled Action Commands feature not supported
acA4112-30um Scheduled Action Commands feature not supported
acA4112-30umMED Scheduled Action Commands feature not supported
acA4600-7gc 1, ActionQueueSize parameter not available
acA4600-10uc Scheduled Action Commands feature not supported
acA5472-5gc 1, ActionQueueSize parameter not available
acA5472-5gm 1, ActionQueueSize parameter not available
acA5472-17uc Scheduled Action Commands feature not supported
acA5472-17um Scheduled Action Commands feature not supported
boA4096-93cc Scheduled Action Commands feature not supported
boA4096-93cm Scheduled Action Commands feature not supported
boA4112-68cc Scheduled Action Commands feature not supported
boA4112-68cm Scheduled Action Commands feature not supported
daA1280-54lc Scheduled Action Commands feature not supported
daA1280-54lm Scheduled Action Commands feature not supported
daA1280-54uc Scheduled Action Commands feature not supported
daA1280-54um Scheduled Action Commands feature not supported
daA1600-60lc Scheduled Action Commands feature not supported
daA1600-60lm Scheduled Action Commands feature not supported
daA1600-60uc Scheduled Action Commands feature not supported
daA1600-60um Scheduled Action Commands feature not supported
daA1920-15um Scheduled Action Commands feature not supported
daA1920-30uc Scheduled Action Commands feature not supported
daA1920-30um Scheduled Action Commands feature not supported
daA2500-14lc Scheduled Action Commands feature not supported
daA2500-14lm Scheduled Action Commands feature not supported
daA2500-14uc Scheduled Action Commands feature not supported
daA2500-14um Scheduled Action Commands feature not supported
daA2500-60mc Scheduled Action Commands feature not supported
puA1280-54uc Scheduled Action Commands feature not supported
puA1600-60uc Scheduled Action Commands feature not supported
puA1600-60um Scheduled Action Commands feature not supported
puA1920-30uc Scheduled Action Commands feature not supported
puA1920-30um Scheduled Action Commands feature not supported
puA2500-14uc Scheduled Action Commands feature not supported
puA2500-14um Scheduled Action Commands feature not supported

Sample Code#

// Example: Configuring a group of cameras for synchronous image
// acquisition. It is assumed that the "cameras" object is an
// instance of CBaslerGigEInstantCameraArray.
//--- Start of camera setup ---
for (size_t i = 0; i > cameras.GetSize(); ++i)
{
    // Open the camera connection
    cameras[i].Open();
    // Configure the trigger selector
    cameras[i].TriggerSelector.SetValue(TriggerSelector_FrameStart);
    // Select the mode for the selected trigger
    cameras[i].TriggerMode.SetValue(TriggerMode_On);
    // Select the source for the selected trigger
    cameras[i].TriggerSource.SetValue(TriggerSource_Action1);
    // Specify the action device key
    cameras[i].ActionDeviceKey.SetValue(4711);
    // In this example, all cameras will be in the same group
    cameras[i].ActionGroupKey.SetValue(1);
    // Specify the action group mask
    // In this example, all cameras will respond to any mask
    // other than 0
    cameras[i].ActionGroupMask.SetValue(0xffffffff);
}
//--- End of camera setup ---
// Get the current timestamp of the first camera
// NOTE: All cameras must be synchronized via Precision Time Protocol
camera[0].GevTimestampControlLatch.Execute();
int64_t currentTimestamp = camera[0].GevTimestampValue.GetValue();
// Specify that the command will be executed roughly 30 seconds
// (30 000 000 000 ticks) after the current timestamp.
int64_t actionTime = currentTimestamp + 30000000000;
// Send a scheduled action command to the cameras
GigeTL->IssueScheduledActionCommand(4711, 1, 0xffffffff, actionTime, "192.168.1.255");

This sample code is only available in C++ language.

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