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

シャフトエンコーダが正転するようにアプレットを設定する方法#

概要#

imaWorxフレームグラバーをラインスキャンカメラで使用する場合、ライン取り込みのTrigger Sourceとしてエンコーダを使用できます。構成によっては、正方向と逆方向の両方でトリガーが発動することがありますが、通常これは望ましくありません。

この記事では、アプレットにおけるシャフトエンコーダロジックの動作原理、正しい設定方法、および正転時のみトリガーパルスが生成されるようにする方法について説明します。

アプレットにおけるシャフトエンコーダの動作#

アプレットでシャフトエンコーダ機能が有効になっている場合、アプレットは ExSync 正転時のみパルスを生成します。

エンコーダが逆転した場合、パルスは ExSync 出力されません。その代わりに、逆方向の移動は内部的に次のように補正されます:

  • エンコーダは逆方向に生成されたパルス数をカウントします。
  • ExSync 正方向の移動が逆方向の移動距離を超えたときにのみ、パルスの出力が再開されます。
  • 逆方向の移動が発生しない場合、トリガーは連続して動作します。

方向を判定するために、フレームグラバーにはエンコーダからのA信号とB信号の両方が必要です。

事前確認#

電源と信号の種類#

  • VCC_IN_AとGND_IN_Aが接続されていることを確認してください。
  • エンコーダ信号は差動入力として供給される必要があります。

参照:フレームグラバードキュメント

gpioToolの設定#

gpioToolコマンドラインツールを開き、現在の設定を確認します:

gpioTool -b 0 -g

ポート A が差動入力用に設定されていない場合は、次のコマンドで設定します。

gpioTool -b 0 -s 1:ds,pd,ni

このコマンド内の引数は次のような意味を持ちます。

  • Bank 1 = トリガーボードポート A
  • ds = 差動
  • pd = プルダウン
  • ni = 非反転

必要なアプレットの設定#

差動入力の設定を確認した後、アプレットで次のパラメータを設定します。

Encoder Signal パラメーター 値
A FG_LINETRIGGERINSRC 0 (GPI0)
B FG_SHAFTENCODERINSRC 2 (GPI2)

これにより、フレームグラバーが A および B の両方の信号を正しく受信し、方向を判定できるようになります。

よくある質問#

シャフトエンコーダのマッピングを手動で定義できますか?#

はい、マッピングは上記のパラメータによって定義されます。A と B の両方を別々の GPI 入力に割り当てる必要があります。

Signal Analyzerでエンコーダパルスを監視できますか?#

はい、次の信号を選択できます。

  • GPI0 (A 信号)
  • GPI2 (B 信号)
  • ExSync (シャフトエンコーダー出力)

これにより、エンコーダーの生入力と結果のトリガー出力の両方を監視できるようになります。

アプレットには 4 つの CXP トリガーソース(0~3)が用意されています。

  • ほとんどの場合、Trigger 0 および 1 を使用する必要があります。
  • Trigger 2 および 3 は CXP 2.0 の一部であり、多くのカメラではサポートされていません。
  • 一部の古いカメラの実装では、立ち上がりエッジと立ち下がりエッジの両方のトリガー(0 および 1)が必要です。

一般的なセットアップでは、CXP Link Trigger 0 が正しい選択肢です。

ナレッジ記事に戻る