コンテンツにスキップ
ステージングサーバー
開発サーバー

Line Timeout#

Line Timeout カメラ機能を使用すると、この時間内に次のライン トリガーを受信しなかった場合に フレーム取得を停止する最大時間(マイクロ秒単位)を設定できます。

これは、タイムアウトが発生するまでに取得された不完全なフレーム(部分フレーム)をホストコンピュータに送信する場合に便利です。

この機能は、GigEインターフェースを搭載した Basler racer 2 S カメラでのみ使用できます。

機能を使用する#

仕組み#

Line Timeout機能が有効になっており、 LineTimeout パラメータが設定されている場合、最後のライン トリガーが発行されるとすぐにライン タイムアウトのカウントが開始されます。次のライン トリガーが、 LineTimeout パラメータで設定された時間内に受信されない場合、次の現象が発生します。

  • コマンドが実行された時点までに取得されたラインのみが配信されます。つまり、部分フレームとしてホストコンピュータに転送されます。
  • イベントが有効になっている場合は、ライン タイムアウト イベントが生成されます。

例:テスト対象物を搬送するコンベアベルトが予期せぬ停止をすると、ライン タイムアウトの期限が切れるため、それ以上ライン トリガーを受信しなくなり、画像取得プロセスが中断されます。部分フレームは、さらなる処理のためにホストコンピュータに送信されます。

Line Timeout の設定#

  1. パラメーターを BslLineTimeoutEnable パラメータを true.
  2. パラメーターを BslLineTimeout パラメータを希望の時間(μs)に設定します。

を設定する際、 BslLineTimeout パラメータを使用する際は、以下を考慮してください。

  • の値は、 曝露時間 よりも小さくする必要があります。 BslLineTimeout パラメータ。
  • 搬送装置の速度 (コンベアベルトなど): BslLineTimeout パラメータの値は十分な大きさに設定する必要があります。搬送装置の速度が変動する場合(遅いときや速いときがある場合など)、 LineTimeout パラメータの値が、搬送装置にかかる最大時間よりも大きいことを確認してください。
  • 定期的な停止 搬送装置の動作に影響します。 LineTimeout パラメータの値は、定期的な停止にかかる最大時間よりも大きくする必要があります。

サンプルコード#

// Enable the Line Timeout feature
camera.BslLineTimeoutEnable.SetValue(true);
// Set the line timeout in microseconds
camera.BslLineTimeout.SetValue(1000000);
INodeMap& nodemap = camera.GetNodeMap();
// Enable the Line Timeout feature
CBooleanParameter(nodemap, "BslLineTimeoutEnable").SetValue(true);
// Set the line timeout in microseconds
CIntegerParameter(nodemap, "BslLineTimeout").SetValue(1000000);
// Enable the Line Timeout feature
camera.Parameters[PLCamera.BslLineTimeoutEnable].SetValue(true);
// Set the line timeout in microseconds
camera.Parameters[PLCamera.BslLineTimeout].SetValue(1000000);
/* 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 the Line Timeout feature */
errRes = PylonDeviceSetBooleanFeature(hdev, "BslLineTimeoutEnable", 1);
CHECK(errRes);
/* Set the line timeout in microseconds */
errRes = PylonDeviceSetIntegerFeature(hdev, "BslLineTimeout", 1000000);
CHECK(errRes);
# Enable the Line Timeout feature
camera.BslLineTimeoutEnable.Value = True
# Set the line timeout in microseconds
camera.BslLineTimeout.Value = 1000000

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