Acquisition Mode#
資訊
- 此功能無法透過 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 參數設定為以下值之一:
SingleFrame:啟用 Single Frame 擷取模式。Continuous:啟用 Continuous 擷取模式。
可用的 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 來輕鬆設定參數。