This website is being translated through machine translation by a third-party service. Basler does not warrant the accuracy, reliability or timeliness of any information translated by this system and will not accept liability for loss or damage incurred as a result. Content that has not yet been translated appears in English. Switch to English version
Parameter names may not apply to your camera model.
To display appropriate parameter names, select a camera model:
a2A1280-125umSWIR
a2A1280-80gmSWIR
a2A1920-160ucBAS
a2A1920-160ucPRO
a2A1920-160umBAS
a2A1920-160umPRO
a2A1920-165g5cBAS
a2A1920-165g5mBAS
a2A1920-51gcBAS
a2A1920-51gcPRO
a2A1920-51gmBAS
a2A1920-51gmPRO
a2A2048-110umSWIR
a2A2048-114g5cBAS
a2A2048-114g5mBAS
a2A2048-114ucBAS
a2A2048-114ucPRO
a2A2048-114umBAS
a2A2048-114umPRO
a2A2048-35gmSWIR
a2A2048-37gcBAS
a2A2048-37gcPRO
a2A2048-37gmBAS
a2A2048-37gmPRO
a2A2440-98g5cBAS
a2A2440-98g5mBAS
a2A2448-105g5cBAS
a2A2448-105g5mBAS
a2A2448-120cc
a2A2448-120cm
a2A2448-210cc
a2A2448-210cm
a2A2448-23gcBAS
a2A2448-23gcPRO
a2A2448-23gmBAS
a2A2448-23gmPRO
a2A2448-75ucBAS
a2A2448-75ucPRO
a2A2448-75umBAS
a2A2448-75umPRO
a2A2560-20gmSWIR
a2A2560-70umSWIR
a2A2590-22gcBAS
a2A2590-22gcPRO
a2A2590-22gmBAS
a2A2590-22gmPRO
a2A2590-60ucBAS
a2A2590-60ucPRO
a2A2590-60umBAS
a2A2590-60umPRO
a2A2600-20gcBAS
a2A2600-20gcPRO
a2A2600-20gmBAS
a2A2600-20gmPRO
a2A2600-64ucBAS
a2A2600-64ucPRO
a2A2600-64umBAS
a2A2600-64umPRO
a2A2840-14gcBAS
a2A2840-14gcPRO
a2A2840-14gmBAS
a2A2840-14gmPRO
a2A2840-14gmUV
a2A2840-48ucBAS
a2A2840-48ucPRO
a2A2840-48umBAS
a2A2840-48umPRO
a2A2840-48umUV
a2A2840-67g5cBAS
a2A2840-67g5mBAS
a2A2840-67g5mUV
a2A2840-86cc
a2A2840-86cm
a2A3536-31ucBAS
a2A3536-31ucPRO
a2A3536-31umBAS
a2A3536-31umPRO
a2A3536-42g5cBAS
a2A3536-42g5mBAS
a2A3536-9gcBAS
a2A3536-9gcPRO
a2A3536-9gmBAS
a2A3536-9gmPRO
a2A3840-13gcBAS
a2A3840-13gcPRO
a2A3840-13gmBAS
a2A3840-13gmPRO
a2A3840-45ucBAS
a2A3840-45ucPRO
a2A3840-45umBAS
a2A3840-45umPRO
a2A4096-30ucBAS
a2A4096-30ucPRO
a2A4096-30umBAS
a2A4096-30umPRO
a2A4096-44g5cBAS
a2A4096-44g5mBAS
a2A4096-67cc
a2A4096-67cm
a2A4096-9gcBAS
a2A4096-9gcPRO
a2A4096-9gmBAS
a2A4096-9gmPRO
a2A4200-12gcBAS
a2A4200-12gcPRO
a2A4200-12gmBAS
a2A4200-12gmPRO
a2A4200-40ucBAS
a2A4200-40ucPRO
a2A4200-40umBAS
a2A4200-40umPRO
a2A4504-18ucBAS
a2A4504-18ucPRO
a2A4504-18umBAS
a2A4504-18umPRO
a2A4504-27g5cBAS
a2A4504-27g5mBAS
a2A4504-42cc
a2A4504-42cm
a2A4504-5gcBAS
a2A4504-5gcPRO
a2A4504-5gmBAS
a2A4504-5gmPRO
a2A4508-20ucBAS
a2A4508-20ucPRO
a2A4508-20umBAS
a2A4508-20umPRO
a2A4508-6gcBAS
a2A4508-6gcPRO
a2A4508-6gmBAS
a2A4508-6gmPRO
a2A5060-15ucBAS
a2A5060-15umBAS
a2A5060-21g5cBAS
a2A5060-21g5mBAS
a2A5060-35cc
a2A5060-35cm
a2A5060-4gcBAS
a2A5060-4gmBAS
a2A5320-23ucBAS
a2A5320-23ucPRO
a2A5320-23umBAS
a2A5320-23umPRO
a2A5320-34g5cBAS
a2A5320-34g5mBAS
a2A5320-52cc
a2A5320-52cm
a2A5320-7gcBAS
a2A5320-7gcPRO
a2A5320-7gmBAS
a2A5320-7gmPRO
a2A5328-15ucBAS
a2A5328-15ucPRO
a2A5328-15umBAS
a2A5328-15umPRO
a2A5328-22g5cBAS
a2A5328-22g5mBAS
a2A5328-35cc
a2A5328-35cm
a2A5328-4gcBAS
a2A5328-4gcPRO
a2A5328-4gmBAS
a2A5328-4gmPRO
a2A640-240gmSWIR
a2A640-240umSWIR
acA1280-60gc
acA1280-60gm
acA1300-200uc
acA1300-200um
acA1300-60gc
acA1300-60gm
acA1300-60gmNIR
acA1300-75gc
acA1300-75gm
acA1440-220uc
acA1440-220um
acA1440-73gc
acA1440-73gm
acA1600-20gc
acA1600-20uc
acA1600-60gc
acA1600-60gm
acA1920-150uc
acA1920-150um
acA1920-155uc
acA1920-155ucMED
acA1920-155um
acA1920-155umMED
acA1920-25gc
acA1920-25gm
acA1920-25uc
acA1920-25um
acA1920-40gc
acA1920-40gm
acA1920-40uc
acA1920-40ucMED
acA1920-40um
acA1920-40umMED
acA1920-48gc
acA1920-48gm
acA1920-50gc
acA1920-50gm
acA2000-165uc
acA2000-165um
acA2000-50gc
acA2000-50gm
acA2040-120uc
acA2040-120um
acA2040-25gc
acA2040-25gm
acA2040-25gmNIR
acA2040-35gc
acA2040-35gm
acA2040-55uc
acA2040-55um
acA2040-90uc
acA2040-90um
acA2040-90umNIR
acA2440-20gc
acA2440-20gm
acA2440-35uc
acA2440-35ucMED
acA2440-35um
acA2440-35umMED
acA2440-75uc
acA2440-75ucMED
acA2440-75um
acA2440-75umMED
acA2500-14gc
acA2500-14gm
acA2500-14uc
acA2500-14um
acA2500-20gc
acA2500-20gcMED
acA2500-20gm
acA2500-20gmMED
acA2500-60uc
acA2500-60um
acA3088-16gc
acA3088-16gm
acA3088-57uc
acA3088-57ucMED
acA3088-57um
acA3088-57umMED
acA3800-10gc
acA3800-10gm
acA3800-14uc
acA3800-14um
acA4024-29uc
acA4024-29um
acA4024-8gc
acA4024-8gm
acA4096-11gc
acA4096-11gm
acA4096-30uc
acA4096-30ucMED
acA4096-30um
acA4096-30umMED
acA4096-40uc
acA4096-40ucMED
acA4096-40um
acA4096-40umMED
acA4112-20uc
acA4112-20ucMED
acA4112-20um
acA4112-20umMED
acA4112-30uc
acA4112-30ucMED
acA4112-30um
acA4112-30umMED
acA4112-8gc
acA4112-8gm
acA5472-17uc
acA5472-17ucMED
acA5472-17um
acA5472-17umMED
acA5472-5gc
acA5472-5gm
acA640-121gm
acA640-300gc
acA640-300gm
acA640-750uc
acA640-750um
acA720-290gc
acA720-290gm
acA720-520uc
acA720-520um
acA800-200gc
acA800-200gm
acA800-510uc
acA800-510um
blaze-101
blaze-102
boA13440-17cm
boA1936-400cc
boA1936-400cm
boA2448-250cc
boA2448-250cm
boA2832-190cc
boA2832-190cm
boA4096-180cc
boA4096-180cm
boA4096-93cc
boA4096-93cm
boA4112-68cc
boA4112-68cm
boA4500-45cc
boA4500-45cm
boA4504-100cc
boA4504-100cm
boA5120-150cc
boA5120-150cm
boA5120-230cc
boA5120-230cm
boA5320-150cc
boA5320-150cm
boA5328-100cc
boA5328-100cm
boA6500-36cc
boA6500-36cm
boA8100-16cc
boA8100-16cm
boA9344-30cc
boA9344-30cm
boA9344-70cc
boA9344-70cm
daA1280-54uc
daA1280-54um
daA1440-220uc
daA1440-220um
daA1600-60uc
daA1600-60um
daA1920-15um
daA1920-160uc
daA1920-160um
daA1920-30uc
daA1920-30um
daA2448-70uc
daA2448-70um
daA2500-14uc
daA2500-14um
daA2500-60mc
daA2500-60mci
daA3840-30mc
daA3840-45uc
daA3840-45um
daA4200-30mci
daA720-520uc
daA720-520um
dmA1440-73gc
dmA1440-73gm
dmA1920-51gc
dmA1920-51gm
dmA2048-37gc
dmA2048-37gm
dmA2448-23gc
dmA2448-23gm
dmA2840-14gc
dmA2840-14gm
dmA3536-9gc
dmA3536-9gm
dmA4096-9gc
dmA4096-9gm
dmA720-290gc
dmA720-290gm
puA1280-54uc
puA1280-54um
puA1600-60uc
puA1600-60um
puA1920-30uc
puA1920-30um
puA2500-14uc
puA2500-14um
r2L16384-120cm
r2L2048-172cm
r2L2048-172g5m
r2L2048-29gc
r2L2048-58gm
r2L2048-62cc
r2L2048-62g5c
r2L4096-14gc
r2L4096-29gm
r2L4096-42cc
r2L4096-42g5c
r2L4096-84cm
r2L4096-84g5m
r2L8192-200cm
The information in this topic does not apply to your camera model.
The Sequencer camera feature allows you to define sets of parameter settings and apply them to a sequence of image acquisitions.
You can define up to 64 sets of parameter settings, called sequence sets. As the camera acquires images, it applies one sequence set after the other. This enables you to quickly change camera parameters without compromising the maximum frame rate.
For example, you can use the Sequencer feature to quickly change between preconfigured image ROIs or exposure times.
All other camera parameters can't be controlled using the Sequencer feature.
Info
Loading or saving a sequence set will always load or save all of the above parameters, even those you haven't changed. For example, if you only changed the exposure time and left all other parameters at their default values, the values of all other parameters will also be stored – and overwritten on load.
To configure sequence sets, the sequencer must be disabled.
All changes made to sequence sets are lost when the camera is disconnected from power. Also, sequencer settings can't be saved in a user set. In order to preserve your settings, Basler recommends that you write suitable program code using the pylon API to re-populate the sequence sets every time the camera is powered on.
Before you can use the Sequencer feature, you must populate the sequence sets with your desired settings. Each sequence set has a unique sequence set index number, ranging from 0 to 63.
To populate the sequence sets:
Set the SequenceSetTotalNumber parameter to the total number of sequence sets you want to use.
Repeat steps 2 and 3 for all sequence sets you want to use. Make sure to always use a continuous series of index numbers starting with index number 0, e.g., use sequence sets 0, 1, 2, and 3.
Example: Assume you need two sequence sets and want to populate them with different image ROI settings. To do so:
Set the SequenceSetTotalNumber parameter to 2.
Create the first image ROI by adjusting the Width, Height, OffsetX, and OffsetY parameter values.
Sequence sets are loaded automatically during sequencer operation. However, loading a sequence set manually can be useful for testing purposes or when configuring the sequencer.
To manually load a sequence set:
Set the SequenceSetIndex parameter to the desired sequence set.
Execute the SequenceSetLoad command.
The values of all sequence set parameters are overwritten and replaced by the values stored in the selected sequence set.
After you have configured the sequence sets, you must configure the sequencer.
Info
To configure the sequencer, the sequencer must be disabled.
All changes made to the sequencer configuration are lost when the camera is disconnected from power. Also, sequencer settings can't be saved in a user set. Basler recommends that you write suitable program code using the pylon API to reconfigure the camera every time it is powered on.
You can use the SequenceSetIndex chunk to keep track of the sequence sets used. When enabled, each image contains chunk data including the index number of the sequence set used for image acquisition.
The sequencer can be operated in three modes, called "advance modes":
This mode is useful if you want to configure a fixed sequence which is repeated continuously.
You can enable this mode by setting the SequenceAdvanceMode parameter to Auto.
In this mode, the advance from one sequence set to the next occurs automatically as Frame Start trigger signals are received.
The SequenceSetTotalNumber parameter specifies the total number of sequence sets to be used. After the sequence set with the highest index number has been used, the cycle starts again at 0.
Example: Assume you want to configure the following sequence cycle:
To configure the above sequence cycle:
Set the SequenceAdvanceMode parameter to Auto.
Set the SequenceSetTotalNumber parameter to 5.
Using Sequence Sets Multiple Times
Optionally, each sequence set can be used several times in a row.
To specify how many times you want to use each sequence set:
Configure the SequenceSetExecutions parameter for this sequence set. By default, the parameter is set to 1 for all sets which means that each sequence set is used once per cycle.
Example: Assume you want to configure the following sequence cycle:
To configure the above sequence cycle:
Set the SequenceAdvanceMode parameter to Auto.
Set the SequenceSetTotalNumber parameter to 6.
Configure the SequenceSetExecutions parameter for each sequence set:
Sequence sets 0, 2, 3, and 4 are to be used only once per cycle. Therefore, you can skip these sets and leave the SequenceSetExecutions parameter at the default value of 1.
Sequence set 1 is to be used three times in a row. Load sequence set 1, set the SequenceSetExecutions parameter to 3, and save sequence set 1.
Sequence set 5 is to be used two times in a row. Load sequence set 5, set the SequenceSetExecutions parameter to 2, and save sequence set 5.
This mode is useful if you want to configure a dynamic sequence which can be controlled via line 1 or software commands.
Info
For real-time applications, Basler strongly recommends not to control the sequencer via software commands. The delay between sending a software command and it becoming effective depends on the specific installation and the current load on the network. Therefore, it's impossible to predict how many image acquisitions may occur between sending the software command and it becoming effective.
When you're controlling the sequencer using line 1, you have to bear in mind that it takes one microsecond between setting the status of the line and the rise of the Frame Start trigger signal. You also have to maintain the status of the line for at least one microsecond after the Frame Start trigger signal has risen. Monitor the Frame Trigger Wait signal to optimize the timing.
You can enable this mode by setting the SequenceAdvanceMode parameter to Controlled.
As in the other modes, the advance always proceeds in ascending order, starting from sequence set index number 0.
You can, however, control the following:
Sequence set advance: When do you want the sequencer to advance to the next sequence set?
Sequence set restart: When do you want the sequence cycle to start again from sequence set 0?
The SequenceSetTotalNumber parameter specifies the total number of sequence sets you want to use. After the sequence set with the highest index number has been used, the cycle starts again at 0.
Set the SequenceControlSelector parameter to Advance.
Set the SequenceControlSource parameter to one of the following options:
Line1: Sequence set advance will be controlled via line 1. If line 1 is low (0) while a frame start trigger signal is received, the sequencer does not advance and the current sequence set is used again for image acquisition. If line 1 is high (1) while a Frame Start trigger signal is received, the sequencer advances and the next sequence set in the cycle is used for image acquisition.
Disabled: Sequence set advance will be controlled using the SequenceAsyncAdvance software command. When this command is received, the sequencer advances without acquiring an image. When the next Frame Start trigger signal is received, the sequence set indicated by the SequenceCurrentSet parameter value is used for image acquisition.
AlwaysActive: The sequencer behaves as if Line1 was selected and line 1 was always high (1). As a result, the sequencer advances every time a frame start trigger signal is received. This way of operating the sequencer is similar to operating it in auto sequence advance mode when each sequence set is used only once per cycle. The only difference is that sequence set 1 is used as the first sequence set instead of sequence set 0.
Set the SequenceControlSelector parameter to Restart.
Set the SequenceControlSource parameter to one of the following options:
Line1: Sequence set restart will be controlled via line 1. If line 1 is low (0) while a frame start trigger signal is received, the next sequence set is used. If line 1 is high (1) while a Frame Start trigger signal is received, the sequence cycle is restarted and sequence set 0 is used.
Disabled: Sequence set restart will be controlled using the SequenceAsyncRestart software command. When this command is received, the sequence cycle is restarted without acquiring an image. When the next Frame Start trigger signal is received, sequence set 0 is used.
This mode is useful if you want to quickly change between freely selectable sequence sets without having to observe any particular order. You use the input lines of your camera to determine the sequence.
Info
Bear in mind that it takes one microsecond between setting the status of the line and the rise of the Frame Start trigger signal. You also have to maintain the status of the line for at least one microsecond after the Frame Start trigger signal has risen. Monitor the Frame Trigger Wait signal to optimize the timing.
How to configure free selection advance mode depends on how many input lines are available on your camera:
Sequence sets are chosen according to the status of input line 1:
If line 1 is low (0) while a frame start trigger signal is received, sequence set 0 is used for image acquisition.
If line 1 is high (1) while a Frame Start trigger signal is received, sequence set 1 is used for image acquisition.
Only sequence sets 0 and 1 are available.
To enable free selection advance mode:
Set the SequenceAdvanceMode parameter to FreeSelection.
Set the SequenceSetTotalNumber parameter to 2.
The SequenceAddressBitSelector and SequenceAddressBitSource parameters also control the operation of the free selection advance mode. However, these parameters are preset and can't be changed.
Sequence sets are chosen according to the status of line 1 (opto-coupled input line) and line 3 (GPIO line, must be configured as input), resulting in four possible combinations. This allows you to choose between four sequence sets. Consequently, only sequence sets 0, 1, 2, and 3 are available.
In order to configure the free selection advance mode, you must assign a "sequence set address bit" to each line. The combinations of these address bits determine the sequence set index number. The following table shows the possible combinations and their respective outcomes.
Address Bit 1
Address Bit 0
Sequence Set That Will Be Selected
0
0
Sequence set 0
0
1
Sequence set 1
1
0
Sequence set 2
1
1
Sequence set 3
For example, you can assign line 1 to bit 1 and line 3 to bit 0. This results in the following sample configuration:
If line 1 is low (0) and line 3 is low (0) while a frame start trigger signal is received, sequence set 0 is used for image acquisition.
If line 1 is low (0) and line 3 is high (1) while a frame start trigger signal is received, sequence set 1 is used for image acquisition.
If line 1 is high (1) and line 3 is low (0) while a frame start trigger signal is received, sequence set 2 is used for image acquisition.
If line 1 is high (1) and line 3 is high (1) while a frame start trigger signal is received, sequence set 3 is used for image acquisition.
To configure the bits and enable free selection advance mode:
Set the SequenceAdvanceMode parameter to FreeSelection.
Set the SequenceSetTotalNumber parameter to 4.
Set the SequenceAddressBitSelector parameter to Bit0.
Set the SequenceAddressBitSource parameter to the line that you want to assign to bit 0, e.g., Line3.
Set the SequenceAddressBitSelector parameter to Bit1.
Set the SequenceAddressBitSource parameter to the line that you want to assign to bit 1, e.g., Line1.
Info
You can also use only one input line in free selection advance mode. To do so, set the SequenceSetTotalNumber parameter to 2. Now, only bit 0 is used to choose a sequence set. The free selection advance mode will behave as described under "Cameras with One Input Line".
// ** Configuring sequence sets **// Disable the sequencer during configurationcamera.SequenceEnable.SetValue(false);// Enable configuration mode (available on selected cameras only)camera.SequenceConfigurationMode.SetValue(SequenceConfigurationMode_On);// Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.SetValue(2);// Configure the parameters that you want to store in the first sequence setcamera.Width.SetValue(500);camera.Height.SetValue(300);// Select sequence set 0 and save the parameter valuescamera.SequenceSetIndex.SetValue(0);camera.SequenceSetStore.Execute();// Configure the parameters that you want to store in the second sequence setcamera.Width.SetValue(800);camera.Height.SetValue(600);// Select sequence set 1 and save the parameter valuescamera.SequenceSetIndex.SetValue(1);camera.SequenceSetStore.Execute();// ** Configuring the sequencer for auto sequence advance mode// Assuming you want to configure the following sequence cycle:// 0 - 0 - 1 - 1 - 1 (- 0 - 0 - ...) **// Disable the sequencer during configurationcamera.SequenceEnable.SetValue(false);camera.SequenceAdvanceMode.SetValue(SequenceAdvanceMode_Auto);// Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.SetValue(2);// Load sequence set 0 and specify that this set is to be used// 2 times in a rowcamera.SequenceSetIndex.SetValue(0);camera.SequenceSetLoad.Execute();camera.SequenceSetExecutions.SetValue(2);camera.SequenceSetStore.Execute();// Load sequence set 1 and specify that this set is to be used// 3 times in a rowcamera.SequenceSetIndex.SetValue(1);camera.SequenceSetLoad.Execute();camera.SequenceSetExecutions.SetValue(3);camera.SequenceSetStore.Execute();// Enable the sequencercamera.SequenceEnable.SetValue(true);// ** Configuring the sequencer for controlled sequence advance mode **// Disable the sequencer during configurationcamera.SequenceEnable.SetValue(false);camera.SequenceAdvanceMode.SetValue(SequenceAdvanceMode_Controlled);// Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.SetValue(2);// Specify that sequence set advance is controlled via line 1camera.SequenceControlSelector.SetValue(SequenceControlSelector_Advance);camera.SequenceControlSource.SetValue(SequenceControlSource_Line1);// Specify that sequence set restart is controlled// via software commandcamera.SequenceControlSelector.SetValue(SequenceControlSelector_Restart);camera.SequenceControlSource.SetValue(SequenceControlSource_Disabled);// Enable the sequencercamera.SequenceEnable.SetValue(true);// Restart the sequencer via software command (for testing purposes)camera.SequenceAsyncRestart.Execute();// ** Configuring the sequencer for free selection advance mode// on cameras with ONE input line **// Disable the sequencer during configurationcamera.SequenceEnable.SetValue(false);camera.SequenceAdvanceMode.SetValue(SequenceAdvanceMode_FreeSelection);// Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.SetValue(2);// Enable the sequencercamera.SequenceEnable.SetValue(true);// ** Configuring the sequencer for free selection advance mode// on cameras with TWO input lines (1x opto-coupled, 1x GPIO set for input) **// Disable the sequencer during configurationcamera.SequenceEnable.SetValue(false);camera.SequenceAdvanceMode.SetValue(SequenceAdvanceMode_FreeSelection);// Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.SetValue(4);// Assign sequence address bit 0 to line 3camera.SequenceAddressBitSelector.SetValue(SequenceAddressBitSelector_Bit0);camera.SequenceAddressBitSource.SetValue(SequenceAddressBitSource_Line3);// Assign sequence address bit 1 to line 1camera.SequenceAddressBitSelector.SetValue(SequenceAddressBitSelector_Bit1);camera.SequenceAddressBitSource.SetValue(SequenceAddressBitSource_Line1);// Enable the sequencercamera.SequenceEnable.SetValue(true);
INodeMap&nodemap=camera.GetNodeMap();// ** Configuring sequence sets **// Disable the sequencer during configurationCBooleanParameter(nodemap,"SequenceEnable").SetValue(false);// Enable configuration mode (available on selected cameras only)CEnumParameter(nodemap,"SequenceConfigurationMode").SetValue("On");// Set the total number of sequence sets to 2CIntegerParameter(nodemap,"SequenceSetTotalNumber").SetValue(2);// Configure the parameters that you want to store in the first sequence setCIntegerParameter(nodemap,"Width").SetValue(500);CIntegerParameter(nodemap,"Height").SetValue(300);// Select sequence set 0 and save the parameter valuesCIntegerParameter(nodemap,"SequenceSetIndex").SetValue(0);CCommandParameter(nodemap,"SequenceSetStore").Execute();// Configure the parameters that you want to store in the second sequence setCIntegerParameter(nodemap,"Width").SetValue(800);CIntegerParameter(nodemap,"Height").SetValue(600);// Select sequence set 1 and save the parameter valuesCIntegerParameter(nodemap,"SequenceSetIndex").SetValue(1);CCommandParameter(nodemap,"SequenceSetStore").Execute();// ** Configuring the sequencer for auto sequence advance mode// Assuming you want to configure the following sequence cycle:// 0 - 0 - 1 - 1 - 1 (- 0 - 0 - ...) **// Disable the sequencer during configurationCBooleanParameter(nodemap,"SequenceEnable").SetValue(false);CEnumParameter(nodemap,"SequenceAdvanceMode").SetValue("Auto");// Set the total number of sequence sets to 2CIntegerParameter(nodemap,"SequenceSetTotalNumber").SetValue(2);// Load sequence set 0 and specify that this set is to be used// 2 times in a rowCIntegerParameter(nodemap,"SequenceSetIndex").SetValue(0);CCommandParameter(nodemap,"SequenceSetLoad").Execute();CIntegerParameter(nodemap,"SequenceSetExecutions").SetValue(2);CCommandParameter(nodemap,"SequenceSetStore").Execute();// Load sequence set 1 and specify that this set is to be used// 3 times in a rowCIntegerParameter(nodemap,"SequenceSetIndex").SetValue(1);CCommandParameter(nodemap,"SequenceSetLoad").Execute();CIntegerParameter(nodemap,"SequenceSetExecutions").SetValue(3);CCommandParameter(nodemap,"SequenceSetStore").Execute();// Enable the sequencerCBooleanParameter(nodemap,"SequenceEnable").SetValue(true);// ** Configuring the sequencer for controlled sequence advance mode **// Disable the sequencer during configurationCBooleanParameter(nodemap,"SequenceEnable").SetValue(false);CEnumParameter(nodemap,"SequenceAdvanceMode").SetValue("Controlled");// Set the total number of sequence sets to 2CIntegerParameter(nodemap,"SequenceSetTotalNumber").SetValue(2);// Specify that sequence set advance is controlled via line 1CEnumParameter(nodemap,"SequenceControlSelector").SetValue("Advance");CEnumParameter(nodemap,"SequenceControlSource").SetValue("Line1");// Specify that sequence set restart is controlled// via software commandCEnumParameter(nodemap,"SequenceControlSelector").SetValue("Restart");CEnumParameter(nodemap,"SequenceControlSource").SetValue("Disabled");// Enable the sequencerCBooleanParameter(nodemap,"SequenceEnable").SetValue(true);// Restart the sequencer via software command (for testing purposes)CCommandParameter(nodemap,"SequenceAsyncRestart").Execute();// ** Configuring the sequencer for free selection advance mode// on cameras with ONE input line **// Disable the sequencer during configurationCBooleanParameter(nodemap,"SequenceEnable").SetValue(false);CEnumParameter(nodemap,"SequenceAdvanceMode").SetValue("FreeSelection");// Set the total number of sequence sets to 2CIntegerParameter(nodemap,"SequenceSetTotalNumber").SetValue(2);// Enable the sequencerCBooleanParameter(nodemap,"SequenceEnable").SetValue(true);// ** Configuring the sequencer for free selection advance mode// on cameras with TWO input lines (1x opto-coupled, 1x GPIO set for input) **// Disable the sequencer during configurationCBooleanParameter(nodemap,"SequenceEnable").SetValue(false);CEnumParameter(nodemap,"SequenceAdvanceMode").SetValue("FreeSelection");// Set the total number of sequence sets to 2CIntegerParameter(nodemap,"SequenceSetTotalNumber").SetValue(4);// Assign sequence address bit 0 to line 3CEnumParameter(nodemap,"SequenceAddressBitSelector").SetValue("Bit0");CEnumParameter(nodemap,"SequenceAddressBitSource").SetValue("Line3");// Assign sequence address bit 1 to line 1CEnumParameter(nodemap,"SequenceAddressBitSelector").SetValue("Bit1");CEnumParameter(nodemap,"SequenceAddressBitSource").SetValue("Line1");// Enable the sequencerCBooleanParameter(nodemap,"SequenceEnable").SetValue(true);
// ** Configuring sequence sets **// Disable the sequencer during configurationcamera.Parameters[PLCamera.SequenceEnable].SetValue(false);// Enable configuration mode (available on selected cameras only)camera.Parameters[PLCamera.SequenceConfigurationMode].SetValue(PLCamera.SequenceConfigurationMode.On);// Set the total number of sequence sets to 2camera.Parameters[PLCamera.SequenceSetTotalNumber].SetValue(2);// Configure the parameters that you want to store in the first sequence setcamera.Parameters[PLCamera.Width].SetValue(500);camera.Parameters[PLCamera.Height].SetValue(300);// Select sequence set 0 and save the parameter valuescamera.Parameters[PLCamera.SequenceSetIndex].SetValue(0);camera.Parameters[PLCamera.SequenceSetStore].Execute();// Configure the parameters that you want to store in the second sequence setcamera.Parameters[PLCamera.Width].SetValue(800);camera.Parameters[PLCamera.Height].SetValue(600);// Select sequence set 1 and save the parameter valuescamera.Parameters[PLCamera.SequenceSetIndex].SetValue(1);camera.Parameters[PLCamera.SequenceSetStore].Execute();// ** Configuring the sequencer for auto sequence advance mode// Assuming you want to configure the following sequence cycle:// 0 - 0 - 1 - 1 - 1 (- 0 - 0 - ...) **// Disable the sequencer during configurationcamera.Parameters[PLCamera.SequenceEnable].SetValue(false);camera.Parameters[PLCamera.SequenceAdvanceMode].SetValue(PLCamera.SequenceAdvanceMode.Auto);// Set the total number of sequence sets to 2camera.Parameters[PLCamera.SequenceSetTotalNumber].SetValue(2);// Load sequence set 0 and specify that this set is to be used// 2 times in a rowcamera.Parameters[PLCamera.SequenceSetIndex].SetValue(0);camera.Parameters[PLCamera.SequenceSetLoad].Execute();camera.Parameters[PLCamera.SequenceSetExecutions].SetValue(2);camera.Parameters[PLCamera.SequenceSetStore].Execute();// Load sequence set 1 and specify that this set is to be used// 3 times in a rowcamera.Parameters[PLCamera.SequenceSetIndex].SetValue(1);camera.Parameters[PLCamera.SequenceSetLoad].Execute();camera.Parameters[PLCamera.SequenceSetExecutions].SetValue(3);camera.Parameters[PLCamera.SequenceSetStore].Execute();// Enable the sequencercamera.Parameters[PLCamera.SequenceEnable].SetValue(true);// ** Configuring the sequencer for controlled sequence advance mode **// Disable the sequencer during configurationcamera.Parameters[PLCamera.SequenceEnable].SetValue(false);camera.Parameters[PLCamera.SequenceAdvanceMode].SetValue(PLCamera.SequenceAdvanceMode.Controlled);// Set the total number of sequence sets to 2camera.Parameters[PLCamera.SequenceSetTotalNumber].SetValue(2);// Specify that sequence set advance is controlled via line 1camera.Parameters[PLCamera.SequenceControlSelector].SetValue(PLCamera.SequenceControlSelector.Advance);camera.Parameters[PLCamera.SequenceControlSource].SetValue(PLCamera.SequenceControlSource.Line1);// Specify that sequence set restart is controlled// via software commandcamera.Parameters[PLCamera.SequenceControlSelector].SetValue(PLCamera.SequenceControlSelector.Restart);camera.Parameters[PLCamera.SequenceControlSource].SetValue(PLCamera.SequenceControlSource.Disabled);// Enable the sequencercamera.Parameters[PLCamera.SequenceEnable].SetValue(true);// Restart the sequencer via software command (for testing purposes)camera.Parameters[PLCamera.SequenceAsyncRestart].Execute();// ** Configuring the sequencer for free selection advance mode// on cameras with ONE input line **// Disable the sequencer during configurationcamera.Parameters[PLCamera.SequenceEnable].SetValue(false);camera.Parameters[PLCamera.SequenceAdvanceMode].SetValue(PLCamera.SequenceAdvanceMode.FreeSelection);// Set the total number of sequence sets to 2camera.Parameters[PLCamera.SequenceSetTotalNumber].SetValue(2);// Enable the sequencercamera.Parameters[PLCamera.SequenceEnable].SetValue(true);// ** Configuring the sequencer for free selection advance mode// on cameras with TWO input lines (1x opto-coupled, 1x GPIO set for input) **// Disable the sequencer during configurationcamera.Parameters[PLCamera.SequenceEnable].SetValue(false);camera.Parameters[PLCamera.SequenceAdvanceMode].SetValue(PLCamera.SequenceAdvanceMode.FreeSelection);// Set the total number of sequence sets to 2camera.Parameters[PLCamera.SequenceSetTotalNumber].SetValue(4);// Assign sequence address bit 0 to line 3camera.Parameters[PLCamera.SequenceAddressBitSelector].SetValue(PLCamera.SequenceAddressBitSelector.Bit0);camera.Parameters[PLCamera.SequenceAddressBitSource].SetValue(PLCamera.SequenceAddressBitSource.Line3);// Assign sequence address bit 1 to line 1camera.Parameters[PLCamera.SequenceAddressBitSelector].SetValue(PLCamera.SequenceAddressBitSelector.Bit1);camera.Parameters[PLCamera.SequenceAddressBitSource].SetValue(PLCamera.SequenceAddressBitSource.Line1);// Enable the sequencercamera.Parameters[PLCamera.SequenceEnable].SetValue(true);
/* Macro to check for errors */#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)GENAPIC_RESULTerrRes=GENAPI_E_OK;/* Return value of pylon methods *//* ** Configuring sequence sets ** *//* Disable the sequencer during configuration */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",0);CHECK(errRes);/* Enable configuration mode (available on selected cameras only) */errRes=PylonDeviceFeatureFromString(hdev,"SequenceConfigurationMode","On");CHECK(errRes);/* Set the total number of sequence sets to 2 */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetTotalNumber",2);CHECK(errRes);/* Configure the parameters that you want to store in the first sequence set */errRes=PylonDeviceSetIntegerFeature(hdev,"Width",500);CHECK(errRes);errRes=PylonDeviceSetIntegerFeature(hdev,"Height",300);CHECK(errRes);/* Select sequence set 0 and save the parameter values */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetIndex",0);CHECK(errRes);errRes=PylonDeviceExecuteCommandFeature(hdev,"SequenceSetStore");CHECK(errRes);/* Configure the parameters that you want to store in the second sequence set */errRes=PylonDeviceSetIntegerFeature(hdev,"Width",800);CHECK(errRes);errRes=PylonDeviceSetIntegerFeature(hdev,"Height",600);CHECK(errRes);/* Select sequence set 1 and save the parameter values */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetIndex",1);CHECK(errRes);errRes=PylonDeviceExecuteCommandFeature(hdev,"SequenceSetStore");CHECK(errRes);/* ** Configuring the sequencer for auto sequence advance mode *//* Assuming you want to configure the following sequence cycle: *//* 0 - 0 - 1 - 1 - 1 (- 0 - 0 - ...) ** *//* Disable the sequencer during configuration */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",0);CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceAdvanceMode","Auto");CHECK(errRes);/* Set the total number of sequence sets to 2 */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetTotalNumber",2);CHECK(errRes);/* Load sequence set 0 and specify that this set is to be used *//* 2 times in a row */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetIndex",0);CHECK(errRes);errRes=PylonDeviceExecuteCommandFeature(hdev,"SequenceSetLoad");CHECK(errRes);errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetExecutions",2);CHECK(errRes);errRes=PylonDeviceExecuteCommandFeature(hdev,"SequenceSetStore");CHECK(errRes);/* Load sequence set 1 and specify that this set is to be used *//* 3 times in a row */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetIndex",1);CHECK(errRes);errRes=PylonDeviceExecuteCommandFeature(hdev,"SequenceSetLoad");CHECK(errRes);errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetExecutions",3);CHECK(errRes);errRes=PylonDeviceExecuteCommandFeature(hdev,"SequenceSetStore");CHECK(errRes);/* Enable the sequencer */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",1);CHECK(errRes);/* ** Configuring the sequencer for controlled sequence advance mode ** *//* Disable the sequencer during configuration */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",0);CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceAdvanceMode","Controlled");CHECK(errRes);/* Set the total number of sequence sets to 2 */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetTotalNumber",2);CHECK(errRes);/* Specify that sequence set advance is controlled via line 1 */errRes=PylonDeviceFeatureFromString(hdev,"SequenceControlSelector","Advance");CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceControlSource","Line1");CHECK(errRes);/* Specify that sequence set restart is controlled *//* via software command */errRes=PylonDeviceFeatureFromString(hdev,"SequenceControlSelector","Restart");CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceControlSource","Disabled");CHECK(errRes);/* Enable the sequencer */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",1);CHECK(errRes);/* Restart the sequencer via software command (for testing purposes) */errRes=PylonDeviceExecuteCommandFeature(hdev,"SequenceAsyncRestart");CHECK(errRes);/* ** Configuring the sequencer for free selection advance mode *//* on cameras with ONE input line ** *//* Disable the sequencer during configuration */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",0);CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceAdvanceMode","FreeSelection");CHECK(errRes);/* Set the total number of sequence sets to 2 */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetTotalNumber",2);CHECK(errRes);/* Enable the sequencer */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",1);CHECK(errRes);/* ** Configuring the sequencer for free selection advance mode *//* on cameras with TWO input lines (1x opto-coupled, 1x GPIO set for input) ** *//* Disable the sequencer during configuration */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",0);CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceAdvanceMode","FreeSelection");CHECK(errRes);/* Set the total number of sequence sets to 2 */errRes=PylonDeviceSetIntegerFeature(hdev,"SequenceSetTotalNumber",4);CHECK(errRes);/* Assign sequence address bit 0 to line 3 */errRes=PylonDeviceFeatureFromString(hdev,"SequenceAddressBitSelector","Bit0");CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceAddressBitSource","Line3");CHECK(errRes);/* Assign sequence address bit 1 to line 1 */errRes=PylonDeviceFeatureFromString(hdev,"SequenceAddressBitSelector","Bit1");CHECK(errRes);errRes=PylonDeviceFeatureFromString(hdev,"SequenceAddressBitSource","Line1");CHECK(errRes);/* Enable the sequencer */errRes=PylonDeviceSetBooleanFeature(hdev,"SequenceEnable",1);CHECK(errRes);
# ** Configuring sequence sets **# Disable the sequencer during configurationcamera.SequenceEnable.Value=False# Enable configuration mode (available on selected cameras only)camera.SequenceConfigurationMode.Value="On"# Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.Value=2# Configure the parameters that you want to store in the first sequence setcamera.Width.Value=500camera.Height.Value=300# Select sequence set 0 and save the parameter valuescamera.SequenceSetIndex.Value=0camera.SequenceSetStore.Execute()# Configure the parameters that you want to store in the second sequence setcamera.Width.Value=800camera.Height.Value=600# Select sequence set 1 and save the parameter valuescamera.SequenceSetIndex.Value=1camera.SequenceSetStore.Execute()# ** Configuring the sequencer for auto sequence advance mode# Assuming you want to configure the following sequence cycle:# 0 - 0 - 1 - 1 - 1 (- 0 - 0 - ...) **# Disable the sequencer during configurationcamera.SequenceEnable.Value=Falsecamera.SequenceAdvanceMode.Value="Auto"# Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.Value=2# Load sequence set 0 and specify that this set is to be used# 2 times in a rowcamera.SequenceSetIndex.Value=0camera.SequenceSetLoad.Execute()camera.SequenceSetExecutions.Value=2camera.SequenceSetStore.Execute()# Load sequence set 1 and specify that this set is to be used# 3 times in a rowcamera.SequenceSetIndex.Value=1camera.SequenceSetLoad.Execute()camera.SequenceSetExecutions.Value=3camera.SequenceSetStore.Execute()# Enable the sequencercamera.SequenceEnable.Value=True# ** Configuring the sequencer for controlled sequence advance mode **# Disable the sequencer during configurationcamera.SequenceEnable.Value=Falsecamera.SequenceAdvanceMode.Value="Controlled"# Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.Value=2# Specify that sequence set advance is controlled via line 1camera.SequenceControlSelector.Value="Advance"camera.SequenceControlSource.Value="Line1"# Specify that sequence set restart is controlled# via software commandcamera.SequenceControlSelector.Value="Restart"camera.SequenceControlSource.Value="Disabled"# Enable the sequencercamera.SequenceEnable.Value=True# Restart the sequencer via software command (for testing purposes)camera.SequenceAsyncRestart.Execute()# ** Configuring the sequencer for free selection advance mode# on cameras with ONE input line **# Disable the sequencer during configurationcamera.SequenceEnable.Value=Falsecamera.SequenceAdvanceMode.Value="FreeSelection"# Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.Value=2# Enable the sequencercamera.SequenceEnable.Value=True# ** Configuring the sequencer for free selection advance mode# on cameras with TWO input lines (1x opto-coupled, 1x GPIO set for input) **# Disable the sequencer during configurationcamera.SequenceEnable.Value=Falsecamera.SequenceAdvanceMode.Value="FreeSelection"# Set the total number of sequence sets to 2camera.SequenceSetTotalNumber.Value=4# Assign sequence address bit 0 to line 3camera.SequenceAddressBitSelector.Value="Bit0"camera.SequenceAddressBitSource.Value="Line3"# Assign sequence address bit 1 to line 1camera.SequenceAddressBitSelector.Value="Bit1"camera.SequenceAddressBitSource.Value="Line1"# Enable the sequencercamera.SequenceEnable.Value=True