トリガー画像取得 (dart E)#
最新の画像処理アプリケーションの多くは、トリガーされた画像取得に対応しています。
機能を使用する#
ハードウェアとソフトウェアのトリガー#
お使いのカメラがハードウェアトリガー用に設定されている場合、カメラの入力ラインの1つに適用された電気信号はトリガー信号として機能します。
カメラがソフトウェアトリガー用に設定されている場合、ソフトウェアコマンドまたは信号はトリガー信号として機能します。ソフトウェアコマンドは、pylon API を使用して実行できます。
設定の観点からは、ハードウェアトリガーとソフトウェアトリガーの唯一の違いは Trigger Source です。ハードウェアトリガーの場合、ハードウェア Trigger Sourceを選択する必要があります。ソフトウェアトリガーの場合、ソフトウェア Trigger Source を選択する必要があります。
また、一部の設定手順(トリガー起動モードの選択など)は、ソフトウェアトリガーには適用されません。
トリガー画像取得の設定#
トリガー画像取得を設定するには、以下のようにします。
- パラメーターを
TriggerModeパラメータをOnトリガー画像取得を有効にするには - トリガーを次のように設定します。
- パラメーターを
TriggerSource定義するパラメータ どの信号が トリガーを起動します。 - If applicable, set the
TriggerActivation定義するパラメータ どの信号遷移 トリガーを起動します。
- パラメーターを
情報
-
次の制限要因のいずれか、または両方を超えるレートでカメラをトリガーしないでください。
- 現在のカメラ設定の最大許容フレームレート。Frame Startトリガー信号を受信する準備ができていないときにカメラに適用すると、信号は無視されます。
- ホストコンピューターのデータ転送、ストレージ、またはその両方の容量制限。ホストコンピューターが処理できる量を超えて画像を取得しようとすると、フレームがドロップされることがあります。
Trigger Source#
Trigger Sourceを使用して設定できます。 TriggerSource パラメータ。
これは、トリガーどのようにトリガーされるかを定義します。
次のTrigger Sourceを使用できます。
ハードウェア Trigger Source#
Line1: 選択したトリガーは、I/Oライン1に電気信号を印加することで起動できます。PeriodicSignal1: 選択したトリガーは、以下を使用して起動できます。 Periodic Signal 機能を使用して制御できます。
ソフトウェア Trigger Source#
Software: 選択したトリガーは、以下の実行によって起動できます。TriggerSoftwareコマンド (pylon API経由)。
Trigger Activationモード#
アクティベーションモードを設定できます。 TriggerActivation パラメータ。
この設定は、ハードウェアトリガーにのみ適用されます。選択したトリガーをどの信号遷移がアクティブにするかを定義します。たとえば、トリガー信号が立ち下がったときにトリガーがアクティブになるように指定できます。
次のトリガー起動モードを使用できます。
LevelHigh: トリガーが有効になります。 以下である限り トリガー信号は High.LevelLow: トリガーが有効になります。 以下である限り トリガー信号は 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 を使用してパラメータを簡単に設定することもできます。