Line Debouncer#
十分な長さの信号のみがカメラを通過し、有効になります。
This feature is similar to the Input Filter feature, which is only available on ace 2, boost, and dart R cameras.
機能を使用する#
仕組み#
ラインデバウンサーは、着信ハードウェアトリガー信号の立ち上がりエッジおよび立ち下がりエッジから不要な短い信号(接点バウンス)を除外します。これを実現するために、ラインデバウンサーはハードウェア信号の論理状態のすべての変化と期間を評価します。
The maximum duration of this evaluation period is defined by the LineDebouncerTime
parameter. The line debouncer acts like a clock that measures the durations of the signals to identify valid signals.
クロックは、ハードウェア信号がその論理状態(高から低、またはその逆)を変更するたびにカウントを開始します。
- 新しい論理状態の継続時間が指定されたラインデバウンスタイムより短い場合、新しい論理状態は無効と見なされ、影響はありません。
- 新しい論理状態の継続時間がラインデバウンスタイムと同等、またはそれ以上の場合、新しい論理状態は有効と見なされ、カメラで有効になります。
情報
ラインデバウンスタイムを指定すると、カメラに到着した有効なトリガー信号と、関連する論理状態の変化がカメラに渡された瞬間との間に遅延が発生します。
The duration of the delay is at least equal to the value of the LineDebouncerTime
parameter. This is because the camera waits for the time specified to determine whether the signal is valid. Similarly, the line debouncer delays the end of a valid trigger signal.
The figure below illustrates how the line debouncer filters out invalid signals from the rising and falling edge of a hardware trigger signal. Line debouncer times that allow a change of logical state in the camera are labeled "OK". Also illustrated are the delays relative to the hardware trigger signal.
Line Debouncerの有効化#
- カメラがハードウェアトリガー用に設定されていることを確認します。
- パラメーターを
LineSelector
parameter to the desired input line, e.g.,Line1
. - Enter a value for the
LineDebouncerTime
parameter.
Debouncer Valueの選択#
- Choosing a
LineDebouncerTime
value that is too low results in accepting invalid signals and signal states. - 値が大きすぎると、有効な信号や信号状態が拒否されてしまいます。
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を使用して、パラメーターを簡単に設定することもできます。