Software Signal Pulse#
The feature serves as an alternative to software commands that are limited to a specific purpose, e.g., the Trigger Software command.
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:
- Triggered Image Acquisition
You can trigger the camera when required. - Sequencer (USB Cameras)
You can advance the sequencer, reset the sequencer, or both. - Counter
You can count certain camera events. - Timer
You can configure a timer output signal.
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:
- Set the source of the desired camera feature to one of the available signal channels. For example, set the TriggerSource parameter to SoftwareSignal1.
- 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:
- Set the SoftwareSignalSelector to one of the available signal channels, e.g., SoftwareSignal1.
- 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 |
---|---|---|
a2A1920-51gcBAS | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
a2A1920-51gmBAS | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
a2A1920-160ucBAS | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
a2A1920-160umBAS | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
acA640-90gc | None | Software Signal Pulse feature not supported |
acA640-90gm | None | Software Signal Pulse feature not supported |
acA640-90uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA640-90um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA640-120gc | None | Software Signal Pulse feature not supported |
acA640-120gm | None | Software Signal Pulse feature not supported |
acA640-120uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA640-120um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA640-121gm | None | Software Signal Pulse feature not supported |
acA640-300gc | None | Software Signal Pulse feature not supported |
acA640-300gm | None | Software Signal Pulse feature not supported |
acA640-750uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA640-750um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA720-290gc | None | Software Signal Pulse feature not supported |
acA720-290gm | None | Software Signal Pulse feature not supported |
acA720-520uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA720-520um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA780-75gc | None | Software Signal Pulse feature not supported |
acA780-75gm | None | Software Signal Pulse feature not supported |
acA800-200gc | None | Software Signal Pulse feature not supported |
acA800-200gm | None | Software Signal Pulse feature not supported |
acA800-510uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA800-510um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1280-60gc | None | Software Signal Pulse feature not supported |
acA1280-60gm | None | Software Signal Pulse feature not supported |
acA1300-22gc | None | Software Signal Pulse feature not supported |
acA1300-22gm | None | Software Signal Pulse feature not supported |
acA1300-30gc | None | Software Signal Pulse feature not supported |
acA1300-30gm | None | Software Signal Pulse feature not supported |
acA1300-30uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1300-30um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1300-60gc | None | Software Signal Pulse feature not supported |
acA1300-60gm | None | Software Signal Pulse feature not supported |
acA1300-60gmNIR | None | Software Signal Pulse feature not supported |
acA1300-75gc | None | Software Signal Pulse feature not supported |
acA1300-75gm | None | Software Signal Pulse feature not supported |
acA1300-200uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1300-200um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1440-73gc | None | Software Signal Pulse feature not supported |
acA1440-73gm | None | Software Signal Pulse feature not supported |
acA1440-220uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1440-220um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1600-20gc | None | Software Signal Pulse feature not supported |
acA1600-20gm | None | Software Signal Pulse feature not supported |
acA1600-20uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1600-20um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1600-60gc | None | Software Signal Pulse feature not supported |
acA1600-60gm | None | Software Signal Pulse feature not supported |
acA1920-25gc | None | Software Signal Pulse feature not supported |
acA1920-25gm | None | Software Signal Pulse feature not supported |
acA1920-25uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-25um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-40gc | None | Software Signal Pulse feature not supported |
acA1920-40gm | None | Software Signal Pulse feature not supported |
acA1920-40uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-40ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-40um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-40umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-48gc | None | Software Signal Pulse feature not supported |
acA1920-48gm | None | Software Signal Pulse feature not supported |
acA1920-50gc | None | Software Signal Pulse feature not supported |
acA1920-50gm | None | Software Signal Pulse feature not supported |
acA1920-150uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-150um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA1920-155uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA1920-155ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA1920-155um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA1920-155umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2000-50gc | None | Software Signal Pulse feature not supported |
acA2000-50gm | None | Software Signal Pulse feature not supported |
acA2000-50gmNIR | None | Software Signal Pulse feature not supported |
acA2000-165uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2000-165um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2000-165umNIR | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2040-25gc | None | Software Signal Pulse feature not supported |
acA2040-25gm | None | Software Signal Pulse feature not supported |
acA2040-25gmNIR | None | Software Signal Pulse feature not supported |
acA2040-35gc | None | Software Signal Pulse feature not supported |
acA2040-35gm | None | Software Signal Pulse feature not supported |
acA2040-55uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2040-55um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2040-90uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2040-90um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2040-90umNIR | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2040-120uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2040-120um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-20gc | None | Software Signal Pulse feature not supported |
acA2440-20gm | None | Software Signal Pulse feature not supported |
acA2440-35uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-35ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-35um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-35umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-75uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-75ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-75um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2440-75umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA2500-14gc | None | Software Signal Pulse feature not supported. |
acA2500-14gm | None | Software Signal Pulse feature not supported |
acA2500-14uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2500-14um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2500-20gc | - | Software Signal Pulse feature not supported |
acA2500-20gcMED | - | Software Signal Pulse feature not supported |
acA2500-20gm | None | Software Signal Pulse feature not supported |
acA2500-20gmMED | - | Software Signal Pulse feature not supported |
acA2500-60uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA2500-60um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA3088-16gc | None | Software Signal Pulse feature not supported |
acA3088-16gm | - | Software Signal Pulse feature not supported |
acA3088-57uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA3088-57um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA3800-10gc | None | Software Signal Pulse feature not supported |
acA3800-10gm | None | Software Signal Pulse feature not supported |
acA3800-14uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA3800-14um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA4024-8gc | None | Software Signal Pulse feature not supported |
acA4024-8gm | None | Software Signal Pulse feature not supported |
acA4024-29uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4024-29um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-11gc | None | Software Signal Pulse feature not supported |
acA4096-11gm | None | Software Signal Pulse feature not supported |
acA4096-30uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-30ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-30um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-30umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-40uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-40ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-40um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4096-40umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-8gc | None | Software Signal Pulse feature not supported |
acA4112-8gm | None | Software Signal Pulse feature not supported |
acA4112-20uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-20ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-20um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-20umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-30uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-30ucMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-30um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4112-30umMED | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA4600-7gc | None | Software Signal Pulse feature not supported |
acA4600-10uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 Software Signal 3 |
acA5472-5gc | None | Software Signal Pulse feature not supported |
acA5472-5gm | None | Software Signal Pulse feature not supported |
acA5472-17uc | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
acA5472-17um | Triggered Image Acquisition Sequencer (USB Cameras) | Software Signal 1 Software Signal 2 |
boA4096-93cc | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
boA4096-93cm | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
boA4112-68cc | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
boA4112-68cm | Triggered Image Acquisition Counter Timer | Software Signal 1 Software Signal 2 Software Signal 3 |
daA1280-54lc | None | Software Signal Pulse feature not supported |
daA1280-54lm | None | Software Signal Pulse feature not supported |
daA1280-54uc | None | Software Signal Pulse feature not supported |
daA1280-54um | None | Software Signal Pulse feature not supported |
daA1600-60lc | None | Software Signal Pulse feature not supported |
daA1600-60lm | None | Software Signal Pulse feature not supported |
daA1600-60uc | None | Software Signal Pulse feature not supported |
daA1600-60um | None | Software Signal Pulse feature not supported |
daA1920-15um | None | Software Signal Pulse feature not supported |
daA1920-30uc | None | Software Signal Pulse feature not supported |
daA1920-30um | None | Software Signal Pulse feature not supported |
daA2500-14lc | None | Software Signal Pulse feature not supported |
daA2500-14lm | None | Software Signal Pulse feature not supported |
daA2500-14uc | None | Software Signal Pulse feature not supported |
daA2500-14um | None | Software Signal Pulse feature not supported |
daA2500-60mc | None | Software Signal Pulse feature not supported |
puA1280-54uc | None | Software Signal Pulse feature not supported |
puA1280-54um | Software Signal Pulse feature not supported | |
puA1600-60uc | None | Software Signal Pulse feature not supported |
puA1600-60um | None | Software Signal Pulse feature not supported |
puA1920-30uc | None | Software Signal Pulse feature not supported |
puA1920-30um | None | Software Signal Pulse feature not supported |
puA2500-14uc | None | Software Signal Pulse feature not supported |
puA2500-14um | None | 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();
INodeMap& nodemap = camera.GetNodeMap(); // Set software signal 1 as "path 0" trigger signal (sequencer reset) CEnumParameter(nodemap, "SequencerTriggerSource").SetValue("SoftwareSignal1"); // Select software signal channel 1 CEnumParameter(nodemap, "SoftwareSignalSelector").SetValue("SoftwareSignal1"); // Execute the command CCommandParameter(nodemap, "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.