跳转到内容

Acquisition Start, Stop, and Abort#

Acquisition Start, Stop, and Abort 命令让您可以控制图像采集。

信息

  • 无法通过 pylon Viewer 功能树使用这些命令。在使用 pylon Viewer 工具栏中的单拍连拍停止按钮时,系统自动生成 AcquisitionStartAcquisitionStop 命令。
  • pylon C++ API 和 pylon .NET API 提供了自动处理这些命令的相机类。Basler 推荐使用这些类。
    有关更多信息,请参见 Basler pylon Camera Software Suite 随附的 C++ 程序员指南和参考文档pylon .NET 程序员指南和参考文档中的“采集”代码示例。

该功能的使用#

开始图像采集#

要打开图像采集,请执行 AcquisitionStart 命令。

执行此命令后,相机会等待触发信号。触发信号既可以在相机内部生成(自由运行),也可以从外部应用(触发图像采集)。

信息

要检查相机当前是否正在等待触发信号,请监视相机的触发等待信号或使用 Acquisition Status 功能。

停止图像采集#

要关闭图像采集,请执行 AcquisitionStop 命令。

执行此命令后,将发生以下情况:

  • 如果相机当前未在采集帧,则图像采集功能会立即关闭。
  • 如果相机当前正在读出图像数据,则系统会允许读出过程完成。之后,图像采集功能会关闭。
  • 如果相机当前正在帧曝光过程中:
    • 在部分型号的相机上,执行 AcquisitionStop 命令将中止曝光。在这种情况下,相机会立即停止曝光并开始读取图像数据。系统将允许读出过程完成。之后,图像采集功能会关闭。
    • 在某些型号的相机上,您可以配置是否执行 AcquisitionStop 命令中止曝光。为此,请将 BslAcquisitionStopMode 参数设置为 AbortExposureCompleteExposure

中止图像采集#

要中止图像采集,请执行 AcquisitionAbort 命令(如果可用)。

执行此命令后,将发生以下情况:

  • 如果相机当前未在采集帧,则图像采集功能会立即关闭。
  • 如果相机当前正在帧曝光过程中,相机将立即停止曝光。如果读出图像数据过程已启动,则会中止。当前帧将不完整。之后,图像采集功能将关闭。
  • 如果相机当前正在读出图像数据,则相机会立即停止读出过程。当前帧将不完整。之后,图像采集功能会关闭。

详情#

显示所有相机型号

相机型号 AcquisitionAbort 命令可用 AcquisitionStop 命令中止曝光
a2A1920-51gcBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A1920-51gcPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A1920-51gmBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A1920-51gmPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A1920-160ucBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A1920-160ucPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A1920-160umBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A1920-160umPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-22gcBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-22gcPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-22gmBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-22gmPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-60ucBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-60ucPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-60umBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A2590-60umPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-13gcBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-13gcPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-13gmBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-13gmPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-45ucBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-45ucPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-45umBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A3840-45umPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-5gcBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-5gcPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-5gmBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-5gmPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-18ucBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-18ucPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-18umBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A4504-18umPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-7gcBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-7gcPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-7gmBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-7gmPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-23ucBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-23ucPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-23umBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5320-23umPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-4gcBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-4gcPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-4gmBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-4gmPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-15ucBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-15ucPRO 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-15umBAS 可通过 BslAcquisitionStopMode 参数进行配置
a2A5328-15umPRO 可通过 BslAcquisitionStopMode 参数进行配置
acA640-90gc
acA640-90gc
acA640-90gm
acA640-90uc
acA640-90um
acA640-120gc
acA640-120gm
acA640-120uc
acA640-120um
acA640-121gm
acA640-300gc
acA640-300gm
acA640-750uc
acA640-750um
acA720-290gc
acA720-290gm
acA720-520uc
acA720-520um
acA780-75gc
acA780-75gm
acA800-200gc
acA800-200gm
acA800-510uc
acA800-510um
acA1280-60gc
acA1280-60gm
acA1300-22gc
acA1300-22gm
acA1300-30gc
acA1300-30gm
acA1300-30uc
acA1300-30um
acA1300-60gc
acA1300-60gm
acA1300-60gmNIR
acA1300-75gc
acA1300-75gm
acA1300-200uc
acA1300-200um
acA1440-73gc
acA1440-73gm
acA1440-220uc
acA1440-220um
acA1600-20gc
acA1600-20gm
acA1600-20uc
acA1600-20um
acA1600-60gc
acA1600-60gm
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
acA1920-150uc
acA1920-150um
acA1920-155uc
acA1920-155ucMED
acA1920-155um
acA1920-155umMED
acA2000-50gc
acA2000-50gm
acA2000-50gmNIR
acA2000-165uc
acA2000-165um
acA2000-165umNIR
acA2040-25gc
acA2040-25gm
acA2040-25gmNIR
acA2040-35gc
acA2040-35gm
acA2040-55uc
acA2040-55um
acA2040-90uc
acA2040-90um
acA2040-90umNIR
acA2040-120uc
acA2040-120um
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-8gc
acA4024-8gm
acA4024-29uc
acA4024-29um
acA4096-11gc
acA4096-11gm
acA4096-30uc
acA4096-30ucMED
acA4096-30um
acA4096-30umMED
acA4096-40uc
acA4096-40ucMED
acA4096-40um
acA4096-40umMED
acA4112-8gc
acA4112-8gm
acA4112-20uc
acA4112-20ucMED
acA4112-20um
acA4112-20umMED
acA4112-30uc
acA4112-30ucMED
acA4112-30um
acA4112-30umMED
acA4600-7gc
acA4600-10uc
acA5472-5gc
acA5472-5gm
acA5472-17uc
acA5472-17ucMED
acA5472-17um
acA5472-17umMED
blaze-101 Acquisition Start, Stop, and Abort feature not supported -
boA4096-93cc 可通过 BslAcquisitionStopMode 参数进行配置
boA4096-93cm 可通过 BslAcquisitionStopMode 参数进行配置
boA4112-68cc 可通过 BslAcquisitionStopMode 参数进行配置
boA4112-68cm 可通过 BslAcquisitionStopMode 参数进行配置
daA1280-54lc
daA1280-54lm
daA1280-54uc
daA1280-54um
daA1600-60lc
daA1600-60lm
daA1600-60uc
daA1600-60um
daA1920-15um
daA1920-30uc
daA1920-30um
daA1920-160uc 可通过 BslAcquisitionStopMode 参数进行配置
daA1920-160um 可通过 BslAcquisitionStopMode 参数进行配置
daA2500-14lc
daA2500-14lm
daA2500-14uc
daA2500-14um
daA2500-60mc
daA2500-60mci
daA4200-30mci
puA1280-54uc
puA1280-54um
puA1600-60uc
puA1600-60um
puA1920-30uc
puA1920-30um
puA2500-14uc
puA2500-14um

示例代码#

// Configure continuous image acquisition on the cameras
camera.AcquisitionMode.SetValue(AcquisitionMode_Continuous);
// Switch on image acquisition
camera.AcquisitionStart.Execute();
// The camera waits for trigger signals
// (...)
// Switch off image acquisition
camera.AcquisitionStop.Execute();
// Switch image acquisition back on
camera.AcquisitionStart.Execute();
// The camera waits for trigger signals
// (...)
// Abort image acquisition
camera.AcquisitionAbort.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Configure continuous image acquisition on the cameras
CEnumerationPtr(nodemap.GetNode("AcquisitionMode"))->FromString("Continuous");
// Switch on image acquisition
CCommandPtr(nodemap.GetNode("AcquisitionStart"))->Execute();
// The camera waits for trigger signals
// (...)
// Switch off image acquisition
CCommandPtr(nodemap.GetNode("AcquisitionStop"))->Execute();
// Switch image acquisition back on
CCommandPtr(nodemap.GetNode("AcquisitionStart"))->Execute();
// The camera waits for trigger signals
// (...)
// Abort image acquisition
CCommandPtr(nodemap.GetNode("AcquisitionAbort"))->Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Configure continuous image acquisition on the cameras
CEnumParameter(nodemap, "AcquisitionMode").SetValue("Continuous");
// Switch on image acquisition
CCommandParameter(nodemap, "AcquisitionStart").Execute();
// The camera waits for trigger signals
// (...)
// Switch off image acquisition
CCommandParameter(nodemap, "AcquisitionStop").Execute();
// Switch image acquisition back on
CCommandParameter(nodemap, "AcquisitionStart").Execute();
// The camera waits for trigger signals
// (...)
// Abort image acquisition
CCommandParameter(nodemap, "AcquisitionAbort").Execute();
// Configure continuous image acquisition on the cameras
camera.Parameters[PLCamera.AcquisitionMode].SetValue(PLCamera.AcquisitionMode.Continuous);
// Switch on image acquisition
camera.Parameters[PLCamera.AcquisitionStart].Execute();
// The camera waits for trigger signals
// (...)
// Switch off image acquisition
camera.Parameters[PLCamera.AcquisitionStop].Execute();
// Switch image acquisition back on
camera.Parameters[PLCamera.AcquisitionStart].Execute();
// The camera waits for trigger signals
// (...)
// Abort image acquisition
camera.Parameters[PLCamera.AcquisitionAbort].Execute();
// Configure continuous image acquisition on the cameras
Pylon.DeviceFeatureFromString(hdev, "AcquisitionMode", "Continuous");
// Switch on image acquisition
Pylon.DeviceExecuteCommandFeature(hdev, "AcquisitionStart");
// The camera waits for trigger signals
// (...)
// Switch off image acquisition
Pylon.DeviceExecuteCommandFeature(hdev, "AcquisitionStop");
// Switch image acquisition back on
Pylon.DeviceExecuteCommandFeature(hdev, "AcquisitionStart");
// The camera waits for trigger signals
// (...)
// Abort image acquisition
Pylon.DeviceExecuteCommandFeature(hdev, "AcquisitionAbort");
/* 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 */
/* Configure continuous image acquisition on the cameras */
errRes = PylonDeviceFeatureFromString(hdev, "AcquisitionMode", "Continuous");
CHECK(errRes);
/* Switch on image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStart");
CHECK(errRes);
/* The camera waits for trigger signals */
/* (...) */
/* Switch off image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStop");
CHECK(errRes);
/* Switch image acquisition back on */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStart");
CHECK(errRes);
/* The camera waits for trigger signals */
/* (...) */
/* Abort image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionAbort");
CHECK(errRes);

您也可以使用 pylon Viewer 轻松设置参数。