Software Signal Pulse

The Software Signal Pulse camera feature allows you to execute a software command that can be used for multiple purposes.

The feature serves as an alternative to software commands that are limited to a specific purpose, e.g., the Trigger Software command.

In this topic Hide

Using the Feature

Why Use Software Signal Pulse Commands

Standard software commands can only be used for a single purpose. For example, you can use the TriggerSoftware command only to trigger the camera and the UserSetLoad command only to load a user set.

The SoftwareSignalPulse command, however, can be used for multiple purposes. You can also use the command to control multiple camera features in a single operation.

How It Works

Supported Camera Features

Depending on your camera model, the Software Signal Pulse feature can be used to control the following camera features:

Signal Channels

Depending on your camera model, up to three signal channels are available, e.g., SoftwareSignal1 and SoftwareSignal2.

Using different signal channels is useful if you want to keep the camera features you control separate. For example, you can trigger the camera via signal channel 1 and advance the sequencer via signal channel 2.

Using Software Signal Pulse Commands

To configure the SoftwareSignalPulse command:

  1. Set the source of the desired camera feature to one of the available signal channels. For example, set the TriggerSource parameter to SoftwareSignal1.
  2. Repeat the step above for all camera functions that you want to control with the Software Signal Pulse feature. If you want to control multiple features at the same time, assign the same signal channel to each of them. If you want to keep the controlled features separate, assign a different signal channel to each of them.

To execute a SoftwareSignalPulse command:

  1. Set the SoftwareSignalSelector to one of the available signal channels, e.g., SoftwareSignal1.
  2. Execute the SoftwareSignalPulse command.
    A software signal is sent. The signal uses the selected signal channel and executes the assigned action(s), e.g., advances the sequencer.

Specifics

Camera Model

Supported Camera Features

Available Software Signal Channels

All ace 2 GigE camera models
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
All ace 2 USB 3.0 camera models
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA640-750um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA640-750uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA640-90um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA640-90uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA640-120um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA640-120uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA720-520um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA720-520uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA800-510um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA800-510uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1300-200um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1300-200uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1300-30um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1300-30uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1440-220um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1440-220uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1600-20um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1600-20uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-25um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-25uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-40um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-40uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-40umMED
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-40ucMED
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-150um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-150uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA1920-155um
  • Software Signal 1
  • Software Signal 2
acA1920-155uc
  • Software Signal 1
  • Software Signal 2
acA1920-155umMED
  • Software Signal 1
  • Software Signal 2
acA1920-155ucMED
  • Software Signal 1
  • Software Signal 2
acA2040-90um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2040-90umNIR
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2040-90uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2000-165um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2000-165umNIR
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2000-165uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2040-55um
  • Software Signal 1
  • Software Signal 2
acA2040-55uc
  • Software Signal 1
  • Software Signal 2
acA2040-120um
  • Software Signal 1
  • Software Signal 2
acA2040-120uc
  • Software Signal 1
  • Software Signal 2
acA2440-35um
  • Software Signal 1
  • Software Signal 2
acA2440-35uc
  • Software Signal 1
  • Software Signal 2
acA2440-35umMED
  • Software Signal 1
  • Software Signal 2
acA2440-35ucMED
  • Software Signal 1
  • Software Signal 2
acA2440-75um
  • Software Signal 1
  • Software Signal 2
acA2440-75uc
  • Software Signal 1
  • Software Signal 2
acA2440-75umMED
  • Software Signal 1
  • Software Signal 2
acA2440-75ucMED
  • Software Signal 1
  • Software Signal 2
acA2500-14um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2500-14uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2500-60um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA2500-60uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA3088-57um
  • Software Signal 1
  • Software Signal 2

acA3088-57uc

  • Software Signal 1
  • Software Signal 2
acA3800-14um
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA3800-14uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA4024-29um
  • Software Signal 1
  • Software Signal 2
acA4024-29uc
  • Software Signal 1
  • Software Signal 2
acA4096-30um
  • Software Signal 1
  • Software Signal 2
acA4096-30uc
  • Software Signal 1
  • Software Signal 2
acA4096-30umMED
  • Software Signal 1
  • Software Signal 2
acA4096-30ucMED
  • Software Signal 1
  • Software Signal 2
acA4096-40um
  • Software Signal 1
  • Software Signal 2
acA4096-40uc
  • Software Signal 1
  • Software Signal 2
acA4096-40umMED
  • Software Signal 1
  • Software Signal 2
acA4096-40ucMED
  • Software Signal 1
  • Software Signal 2
acA4112-20um
  • Software Signal 1
  • Software Signal 2
acA4112-20uc
  • Software Signal 1
  • Software Signal 2
acA4112-20umMED
  • Software Signal 1
  • Software Signal 2
acA4112-20ucMED
  • Software Signal 1
  • Software Signal 2
acA4112-30um
  • Software Signal 1
  • Software Signal 2
acA4112-30uc
  • Software Signal 1
  • Software Signal 2
acA4112-30umMED
  • Software Signal 1
  • Software Signal 2
acA4112-30ucMED
  • Software Signal 1
  • Software Signal 2
acA4600-10uc
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
acA5472-17um
  • Software Signal 1
  • Software Signal 2
acA5472-17uc
  • Software Signal 1
  • Software Signal 2
All ace GigE camera models - Software Signal Pulse feature not supported.
All boost CXP-12 camera models
  • Software Signal 1
  • Software Signal 2
  • Software Signal 3
All dart BCON for LVDS camera models - Software Signal Pulse feature not supported.
All dart BCON for MIPI camera models - Software Signal Pulse feature not supported.
All dart USB 3.0 camera models - Software Signal Pulse feature not supported.
All pulse USB 3.0 camera models - Software Signal Pulse feature not supported.

Sample Code

// Set software signal 1 as "path 0" trigger signal (sequencer reset)
camera.SequencerTriggerSource.SetValue(SequencerTriggerSource_SoftwareSignal1);
// Select software signal channel 1
camera.SoftwareSignalSelector.SetValue(SoftwareSignalSelector_SoftwareSignal1);
// Execute the command
camera.SoftwareSignalPulse.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Set software signal 1 as "path 0" trigger signal (sequencer reset)
CEnumerationPtr(nodemap.GetNode("SequencerTriggerSource"))->FromString("SoftwareSignal1");
// Select software signal channel 1
CEnumerationPtr(nodemap.GetNode("SoftwareSignalSelector"))->FromString("SoftwareSignal1");
// Execute the command
CCommandPtr(nodemap.GetNode("SoftwareSignalPulse"))->Execute();
// Set software signal 1 as "path 0" trigger signal (sequencer reset)
camera.Parameters[PLCamera.SequencerTriggerSource].SetValue(PLCamera.SequencerTriggerSource.SoftwareSignal1);
// Select software signal channel 1
camera.Parameters[PLCamera.SoftwareSignalSelector].SetValue(PLCamera.SoftwareSignalSelector.SoftwareSignal1);
// Execute the command
camera.Parameters[PLCamera.SoftwareSignalPulse].Execute();
// Set software signal 1 as "path 0" trigger signal (sequencer reset)
Pylon.DeviceFeatureFromString(hdev, "SequencerTriggerSource", "SoftwareSignal1");
// Select software signal channel 1
Pylon.DeviceFeatureFromString(hdev, "SoftwareSignalSelector", "SoftwareSignal1");
// Execute the command
Pylon.DeviceExecuteCommandFeature(hdev, "SoftwareSignalPulse");
/* 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 */
/* Set software signal 1 as "path 0" trigger signal (sequencer reset) */
errRes = PylonDeviceFeatureFromString(hdev, "SequencerTriggerSource", "SoftwareSignal1");
CHECK(errRes);
/* Select software signal channel 1 */
errRes = PylonDeviceFeatureFromString(hdev, "SoftwareSignalSelector", "SoftwareSignal1");
CHECK(errRes);
/* Execute the command */
errRes = PylonDeviceExecuteCommandFeature(hdev, "SoftwareSignalPulse");
CHECK(errRes);

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