Line Debouncer#
十分な長さの信号のみがカメラを通過し、有効になります。
この機能は、ace 2、boost、および dart R カメラでのみ利用可能な Input Filter 機能に似ています。
機能を使用する#
仕組み#
ラインデバウンサーは、着信ハードウェアトリガー信号の立ち上がりエッジおよび立ち下がりエッジから不要な短い信号(接点バウンス)を除外します。これを実現するために、ラインデバウンサーはハードウェア信号の論理状態のすべての変化と期間を評価します。
この評価期間の最大持続時間は、 LineDebouncerTime パラメータによって定義されます。Line Debouncerは、信号の持続時間を測定して有効な信号を特定するクロックのように機能します。
クロックは、ハードウェア信号がその論理状態(高から低、またはその逆)を変更するたびにカウントを開始します。
- 新しい論理状態の継続時間が指定されたラインデバウンスタイムより短い場合、新しい論理状態は無効と見なされ、影響はありません。
- 新しい論理状態の継続時間がラインデバウンスタイムと同等、またはそれ以上の場合、新しい論理状態は有効と見なされ、カメラで有効になります。
情報
ラインデバウンスタイムを指定すると、カメラに到着した有効なトリガー信号と、関連する論理状態の変化がカメラに渡された瞬間との間に遅延が発生します。
遅延の持続時間は、少なくとも LineDebouncerTime パラメータの値と同等になります。これは、カメラが信号が有効かどうかを判断するために指定された時間を待機するためです。同様に、Line Debouncerは有効なトリガー信号の終了を遅延させます。
以下の図は、Line Debouncerがハードウェアトリガー信号の立ち上がりエッジと立ち下がりエッジから無効な信号をどのようにフィルタリングするかを示しています。カメラで論理状態の変更を許可するLine Debouncerの時間は「OK」とラベル付けされています。また、ハードウェアトリガー信号に対する遅延も示されています。
Line Debouncerの有効化#
- カメラがハードウェアトリガー用に設定されていることを確認します。
- パラメーターを
LineSelectorパラメータを目的の入力ラインに設定します(例:Line1. - 次のパラメータに値を入力します:
LineDebouncerTimeパラメータ。
Debouncer Valueの選択#
-
LineDebouncerTimeの値を 低くしすぎると 、無効な信号や信号状態を受け入れる結果になります。 - 値が大きすぎると、有効な信号や信号状態が拒否されてしまいます。
Baslerでは、無効な信号の予想される最長時間よりもわずかに長いラインデバウンスタイムを選択することをお勧めします。
短い有効な信号を拒否するリスクがわずかにありますが、ほとんどのシナリオでは、このアプローチは良好な結果をもたらすはずです。アプリケーションを監視し、必要に応じて、拒否される有効な信号が多すぎる場合は値を調整します。
サンプルコード#
ace Classic/U/L GigEカメラ#
/* 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 */
/* Select the desired input line */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line1");
CHECK(errRes);
/* Set the parameter value to 10 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "LineDebouncerTimeAbs", 10.0);
CHECK(errRes);
その他のカメラ#
/* 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 */
/* Select the desired input line */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line1");
CHECK(errRes);
/* Set the parameter value to 10 microseconds */
errRes = PylonDeviceSetFloatFeature(hdev, "LineDebouncerTime", 10.0);
CHECK(errRes);
pylon Viewerを使用して、パラメーターを簡単に設定することもできます。