コンテンツにスキップ

Acquisition Mode#

Acquisition Mode カメラ機能を使用すると、単一フレームまたは連続画像取得のいずれかを選択できます。

情報

  • この機能は、pylon Viewer機能ツリーからは使用できません。代わりに、pylon ViewerのツールバーSingle ShotContinuous Shotボタンを使用すると、取得モードが自動的に設定されます。
  • pylon C++ APIとpylon .NET APIは、AcquisitionModeパラメーターを自動的に設定する設定イベントハンドラーを提供します。Baslerでは、これらのイベントハンドラーを使用することをおお勧めします。

詳細については、Basler pylon Camera Software Suiteに付属のC++ Programmer's Guide and Reference Documentationおよびpylon .NET Programmer's Guide & Reference Documentationの「Grab」コードサンプルを参照してください。

機能を使用する#

Acquisition Modeの指定#

取得モードを指定するには、AcquisitionModeパラメーターを次のいずれかの値に設定します。

  • SingleFrameSingle Frame取得モードを有効にします。
  • ContinuousContinuous取得モードを有効にします。

使用可能なAcquisition Mode#

Single Frame Acquisition Mode#

Single Frame取得モードでは、カメラは1枚の画像のみを取得します。

Acquisition Startコマンドが実行されると、カメラはトリガー信号を待機します。トリガー信号は、カメラによって内部で生成される(フリーラン)か、外部で適用されます(トリガー画像取得)。

情報

カメラがトリガー信号を待っているかどうかを確認するには、カメラのTrigger Wait信号を監視するか、Acquisition Status機能を使用します。

Frame Start trigger信号を受信して画像を取得すると、カメラは画像取得をオフにします。別の画像を取得するには、Acquisition Startコマンドを再度実行する必要があります。

Continuous Acquisition Mode#

Continuous取得モードでは、取得スイッチがオフになるまで、カメラは画像を連続的に取得して転送します。

Acquisition Startコマンドが実行されると、カメラはトリガー信号を待機します。トリガー信号は、カメラによって内部で生成される(フリーラン画像取得)か外部で適用されます(トリガー画像取得)。カメラは、Acquisition Stopコマンドが実行されるまで、画像の取得を続行します。

サンプルコード#

// 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);

pylon Viewerを使用して、パラメーターを簡単に設定することもできます。