跳至內容
測試伺服器
開發伺服器

Acquisition Mode#

Acquisition Mode camera feature 允許您在單張影像或連續影像擷取之間進行選擇。

資訊

  • 此功能無法透過 pylon Viewer 功能樹狀結構使用。相反地,當您使用 pylon Viewer 的工具列中的 Single Shot 和 Continuous Shot 按鈕時,會自動設定擷取模式。
  • pylon C++ API 和 pylon .NET API 提供了設定事件處理常式,可自動設定 AcquisitionMode 參數。Basler 建議使用這些事件處理常式。

如需詳細資訊,請參閱 pylon API Documentation 中的 Grab (C++) 和 Grab (.NET) 程式碼範例。

使用功能#

指定 Acquisition Mode#

若要指定擷取模式,請設定 AcquisitionMode 參數設定為以下值之一:

可用的 Acquisition Modes#

Single Frame Acquisition Mode#

在 Single Frame 擷取模式下,相機將只擷取一張影像。

執行 Acquisition Start command 後,相機將等待觸發訊號。觸發訊號可由相機內部產生(free run)或外部套用(triggered image acquisition)。

資訊

若要檢查相機是否正在等待觸發訊號,請監控相機的 Trigger Wait 訊號,或使用 Acquisition Status 功能(如果有的話)。

當收到 Frame Start trigger signal 或 Line Start trigger signal 且已擷取影像時,相機將關閉影像擷取。若要擷取另一張影像,您必須再次執行 Acquisition Start command。

Continuous Acquisition Mode#

在 Continuous 擷取模式下,相機將持續擷取並傳輸影像,直到關閉擷取為止。

執行 Acquisition Start command 後,相機將等待觸發訊號。觸發訊號可由相機內部產生(free run image acquisition)或外部套用(triggered image acquisition)。相機將持續擷取影像,直到執行 Acquisition Stop command 為止。

範例程式碼#

// Configure single frame acquisition on the camera
camera.AcquisitionMode.SetValue(AcquisitionMode_SingleFrame);
// Switch on image acquisition
camera.AcquisitionStart.Execute();
// The camera waits for a trigger signal.
// When a Frame Start trigger signal has been received,
// the camera executes an Acquisition Stop command internally.
// Configure continuous image acquisition on the camera
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();
INodeMap& nodemap = camera.GetNodeMap();
// Configure single frame acquisition on the camera
CEnumParameter(nodemap, "AcquisitionMode").SetValue("SingleFrame");
// Switch on image acquisition
CCommandParameter(nodemap, "AcquisitionStart").Execute();
// The camera waits for a trigger signal.
// When a Frame Start trigger signal has been received,
// the camera executes an Acquisition Stop command internally.
// Configure continuous image acquisition on the camera
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();
// Configure single frame acquisition on the camera
camera.Parameters[PLCamera.AcquisitionMode].SetValue(PLCamera.AcquisitionMode.SingleFrame);
// Switch on image acquisition
camera.Parameters[PLCamera.AcquisitionStart].Execute();
// The camera waits for a trigger signal.
// When a Frame Start trigger signal has been received,
// the camera executes an Acquisition Stop command internally.
// Configure continuous image acquisition on the camera
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();
/* 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 single frame acquisition on the camera */
errRes = PylonDeviceFeatureFromString(hdev, "AcquisitionMode", "SingleFrame");
CHECK(errRes);
/* Switch on image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStart");
CHECK(errRes);
/* The camera waits for a trigger signal. */
/* When a Frame Start trigger signal has been received, */
/* the camera executes an Acquisition Stop command internally. */
/* Configure continuous image acquisition on the camera */
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);
# Configure single frame acquisition on the camera
camera.AcquisitionMode.Value = "SingleFrame"
# Switch on image acquisition
camera.AcquisitionStart.Execute()
# The camera waits for a trigger signal.
# When a Frame Start trigger signal has been received,
# the camera executes an Acquisition Stop command internally.
# Configure continuous image acquisition on the camera
camera.AcquisitionMode.Value = "Continuous"
# Switch on image acquisition
camera.AcquisitionStart.Execute()
# The camera waits for trigger signals.
# (...)
# Switch off image acquisition
camera.AcquisitionStop.Execute()

您也可以 use the pylon Viewer 來輕鬆設定參數。