コンテンツにスキップ

Triggered Image Acquisition (dart E)#

カメラがトリガーされた画像取得用に設定されている場合は、特定の時点で画像撮影をトリガーできます。

最新の画像処理アプリケーションの多くは、トリガーされた画像取得に対応しています。

機能を使用する#

ハードウェアとソフトウェアのトリガー#

お使いのカメラがハードウェアトリガー用に設定されている場合、カメラの入力ラインの1つに適用された電気信号はトリガー信号として機能します。

カメラがソフトウェアトリガー用に設定されている場合、ソフトウェアコマンドまたは信号はトリガー信号として機能します。ソフトウェアコマンドは、pylon API を使用して実行できます。

設定の観点からは、ハードウェアトリガーとソフトウェアトリガーの唯一の違いは Trigger Source です。ハードウェアトリガーの場合、ハードウェア Trigger Sourceを選択する必要があります。ソフトウェアトリガーの場合、ソフトウェア Trigger Source を選択する必要があります。

また、一部の設定手順(トリガー起動モードの選択など)は、ソフトウェアトリガーには適用されません。

トリガー画像取得の設定#

トリガー画像取得を設定するには、以下のようにします。

  1. トリガー画像取得を有効にするには、TriggerModeパラメーターをOnに設定します。
  2. トリガーを次のように設定します。
    1. TriggerSource パラメーターを設定して、どの信号がトリガーをトリガーするかを定義します。
    2. 該当する場合は、TriggerActivation パラメーターを設定して、どの信号遷移がトリガーをトリガーするかを定義します。

情報

  • 次の制限要因のいずれか、または両方を超えるレートでカメラをトリガーしないでください。

    • 現在のカメラ設定の最大許容フレームレート。Frame Startトリガー信号を受信する準備ができていないときにカメラに適用すると、信号は無視されます。
    • ホストコンピューターのデータ転送、ストレージ、またはその両方の容量制限。ホストコンピューターが処理できる量を超えて画像を取得しようとすると、フレームがドロップされることがあります。

Trigger Source#

TriggerSource パラメーターを使用して Trigger Source を設定できます。

これは、トリガーどのようにトリガーされるかを定義します。

次のTrigger Sourceを使用できます。

ハードウェア Trigger Source#

  • Line1:選択したトリガーは、I/Oライン1に電気信号を印加することでトリガーされます。
  • PeriodicSignal1:選択したトリガーは、Periodic Signal機能を使用してトリガーされます。

ソフトウェア Trigger Source#

  • Software:選択したトリガーは、pylon API を介して TriggerSoftware コマンドを実行することでトリガーできます。

Trigger Activationモード#

TriggerActivation パラメーターを使用して起動モードを設定できます。

この設定は、ハードウェアトリガーにのみ適用されます。選択したトリガーをどの信号遷移がアクティブにするかを定義します。たとえば、トリガー信号が立ち下がったときにトリガーがアクティブになるように指定できます。

次のトリガー起動モードを使用できます。

  • LevelHigh:トリガー信号がである限り、トリガーはアクティブです。
  • LevelLow:トリガー信号がである限り、トリガーはアクティブです。

サンプルコード#

// 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);
# Enable triggered image acquisition for the Frame Start trigger
camera.TriggerMode.Value = "On"
# Set the trigger source to Line 1
camera.TriggerSource.Value = "Line1"
# Set the trigger activation mode to level high
camera.TriggerActivation.Value = "LevelHigh"

You can also use the pylon Viewer to easily set the parameters.