Triggered Image Acquisition (dart E)#
现在大部分成像应用有用到触发图像采集。
该功能的使用#
硬件触发和软件触发#
如果相机配置为硬件触发,则施加到相机任意输入线路的电信号可以用作触发信号。
当相机配置为软件触发时,软件命令或信号将用作触发信号。可以使用 pylon API 执行软件命令。
在配置方面,硬件触发和软件触发的唯一区别在于 Trigger Source。对于硬件触发,您必须选择硬件 Trigger Source。对于软件触发,您必须选择软件 Trigger Source。
此外,某些配置步骤不适用于软件触发,例如选择 Trigger Activation 模式。
配置触发图像采集#
要配置触发图像采集:
- 设置
TriggerMode
parameter to在
to enable triggered image acquisition. - 配置触发器:
- 设置
TriggerSource
parameter to define which signal triggers the trigger. - 如果适用,请设置
TriggerActivation
parameter to define which signal transition triggers the trigger.
- 设置
信息
-
请勿以超过以下一个或两个限制因素的速率触发相机:
- 当前相机设置允许的最大帧速率。如果在相机尚未准备好接收帧开始触发信号时将其应用到相机,该信号将被忽略。
- 主机的数据传输和/或存储容量限制。如果您尝试采集的图像数量超出了主机的处理能力,则可能会丢帧。
Trigger Source#
You can set the trigger source using the TriggerSource
parameter.
此设置定义了如何激活触发。
可以使用以下触发源:
硬件 Trigger Source#
Line1
: The trigger selected can be triggered by applying an electrical signal to I/O line 1.PeriodicSignal1
: The trigger selected can be triggered using the Periodic Signal feature.
软件 Trigger Source#
软件
: The trigger selected can be triggered by executing aTriggerSoftware
command via the pylon API.
触发激活模式#
You can set the activation mode using the TriggerActivation
parameter.
此设置仅适用于硬件触发。它定义了哪个信号转换可激活所选触发。例如,您可以指定触发信号下降时将触发变为活动状态。
可以使用以下触发激活模式:
LevelHigh
: The trigger is active as long as the trigger signal is high.LevelLow
: The trigger is active as long as the trigger signal is low.
示例代码#
// Enable triggered image acquisition for the Frame Start trigger
camera.TriggerMode.SetValue(TriggerMode_On);
// Set the trigger source to Line 1
camera.TriggerSource.SetValue(TriggerSource_Line1);
// Set the trigger activation mode to level high
camera.TriggerActivation.SetValue(TriggerActivation_LevelHigh);
INodeMap& nodemap = camera.GetNodeMap();
// Enable triggered image acquisition for the Frame Start trigger
CEnumParameter(nodemap, "TriggerMode").SetValue("On");
// Set the trigger source to Line 1
CEnumParameter(nodemap, "TriggerSource").SetValue("Line1");
// Set the trigger activation mode to level high
CEnumParameter(nodemap, "TriggerActivation").SetValue("LevelHigh");
// Enable triggered image acquisition for the Frame Start trigger
camera.Parameters[PLCamera.TriggerMode].SetValue(PLCamera.TriggerMode.On);
// Set the trigger source to Line 1
camera.Parameters[PLCamera.TriggerSource].SetValue(PLCamera.TriggerSource.Line1);
// Set the trigger activation mode to level high
camera.Parameters[PLCamera.TriggerActivation].SetValue(PLCamera.TriggerActivation.LevelHigh);
/* 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 */
/* Enable triggered image acquisition for the Frame Start trigger */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerMode", "On");
CHECK(errRes);
/* Set the trigger source to Line 1 */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerSource", "Line1");
CHECK(errRes);
/* Set the trigger activation mode to level high */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerActivation", "LevelHigh");
CHECK(errRes);
您还可以使用 pylon Viewer 轻松设置参数。