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
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.
Depending on your camera model, the Software Signal Pulse feature can be used to control the following camera features:
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.
To configure the SoftwareSignalPulse command:
To execute a SoftwareSignalPulse command:
Camera Model |
Supported Camera Features |
Available Software Signal Channels |
---|---|---|
All ace 2 GigE camera models |
|
|
All ace 2 USB 3.0 camera models |
|
|
acA640-750um |
|
|
acA640-750uc |
|
|
acA640-90um |
|
|
acA640-90uc |
|
|
acA640-120um |
|
|
acA640-120uc |
|
|
acA720-520um |
|
|
acA720-520uc |
|
|
acA800-510um |
|
|
acA800-510uc |
|
|
acA1300-200um |
|
|
acA1300-200uc |
|
|
acA1300-30um |
|
|
acA1300-30uc |
|
|
acA1440-220um |
|
|
acA1440-220uc |
|
|
acA1600-20um |
|
|
acA1600-20uc |
|
|
acA1920-25um |
|
|
acA1920-25uc |
|
|
acA1920-40um |
|
|
acA1920-40uc |
|
|
acA1920-40umMED |
|
|
acA1920-40ucMED |
|
|
acA1920-150um |
|
|
acA1920-150uc |
|
|
acA1920-155um |
|
|
acA1920-155uc |
|
|
acA1920-155umMED |
|
|
acA1920-155ucMED |
|
|
acA2040-90um |
|
|
acA2040-90umNIR |
|
|
acA2040-90uc |
|
|
acA2000-165um |
|
|
acA2000-165umNIR |
|
|
acA2000-165uc |
|
|
acA2040-55um |
|
|
acA2040-55uc |
|
|
acA2040-120um |
|
|
acA2040-120uc |
|
|
acA2440-35um |
|
|
acA2440-35uc |
|
|
acA2440-35umMED |
|
|
acA2440-35ucMED |
|
|
acA2440-75um |
|
|
acA2440-75uc |
|
|
acA2440-75umMED |
|
|
acA2440-75ucMED |
|
|
acA2500-14um |
|
|
acA2500-14uc |
|
|
acA2500-60um |
|
|
acA2500-60uc |
|
|
acA3088-57um |
|
|
acA3088-57uc |
|
|
acA3800-14um |
|
|
acA3800-14uc |
|
|
acA4024-29um |
|
|
acA4024-29uc |
|
|
acA4096-30um |
|
|
acA4096-30uc |
|
|
acA4096-30umMED |
|
|
acA4096-30ucMED |
|
|
acA4096-40um |
|
|
acA4096-40uc |
|
|
acA4096-40umMED |
|
|
acA4096-40ucMED |
|
|
acA4112-20um |
|
|
acA4112-20uc |
|
|
acA4112-20umMED |
|
|
acA4112-20ucMED |
|
|
acA4112-30um |
|
|
acA4112-30uc |
|
|
acA4112-30umMED |
|
|
acA4112-30ucMED |
|
|
acA4600-10uc |
|
|
acA5472-17um |
|
|
acA5472-17uc |
|
|
All ace GigE camera models | - | Software Signal Pulse feature not supported. |
All boost CXP-12 camera models |
|
|
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. |
// 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.