コンテンツにスキップ

CXP-12インターフェースカードの設定#

このトピックでは、pylon API、pylon Viewer、またはgpioToolを使用してBasler CXP-12インターフェースカードを設定する方法について説明します。

情報

このトピックでは、基本的な使用事例について説明します。インターフェースカードのソフトウェア機能の詳細については、次のドキュメントを参照してください。

インターフェースカードの設定は、次の状況で特に役立ちます。

  • インターフェースカードで使用するアプレットを変更する場合。
  • インターフェースカードを介して接続されたBasler boost CXP-12カメラをトリガーする場合。
  • 画像処理システムのパフォーマンスを向上させるために、インターフェースカードでデバイエルを実行する場合。
  • 16ビットモノラル形式など、カメラでは使用できない出力形式を使用する場合。
  • インターフェースカードによって送受信されるトリガー信号を設定する場合。

アプレットの変更#

情報

アプレットの変更は、2Cおよび4Cインターフェースカードでのみ可能です。CXP-12インターフェースカード1Cでは、アプレットはAcq_SingleCXP12Areaにプリセットされており、変更できません。

The applet running on the interface card defines its functionality. For certain camera setups, you may have to change the default applet.

インターフェースカードで使用するアプレットを変更するには、ロードするアプレットの名前にInterfaceAppletパラメーターを設定します(例:Acq_DualCXP12Area)。

可用性とデフォルト#

インターフェースカードのモデルに応じて、次のアプレットが使用可能で、デフォルトとして設定されています。

アプレット名 インターフェースカード…で使用可能 インターフェースカード…のデフォルトアプレット
Acq_SingleCXP12Area 1C、2C、4C 1C
Acq_DualCXP12Area 2C、4C 2C
Acq_TripleCXP12Area 4C -
Acq_QuadCXP12Area 4C 4C

適切なアプレットの選択#

シングルチャンネル(1-CXP)カメラのみを使用している場合、デフォルトのアプレットは常に機能し、変更する必要はありません。

ただし、マルチチャンネル(2-CXPや4-CXPなど)のカメラを使用している場合は、カメラ設定に適したアプレットを選択する必要があります。そうしないと、カメラが動作しなかったり、カメラのパフォーマンスが大幅に低下したりする可能性があります。

カメラのセットアップ 取得アプレット
1台のカメラ Acq_SingleCXP12Area
2台のカメラ Acq_DualCXP12Area
3台のカメラ Acq_TripleCXP12Area
4台のカメラ Acq_QuadCXP12Area

インターフェースカードを使用したBasler boost CXP-12カメラの起動#

情報

このセクションは、インターフェースカードを介してカメラをトリガーする場合にのみ関係があります。通常、カメラはカメラのI/Oコネクターを介してトリガーされます。詳細については、「トリガーされた画像取得」を参照してください。

ハードウェアトリガー(外部)#

外部トリガーが有効な場合、トリガー入力信号をインターフェースカードに送信できます。インターフェースカードはこれらの信号をBasler boostカメラに転送します。

外部ハードウェアトリガー用にインターフェースカードを設定するには:

  1. AreaTriggerModeパラメーターをExternalに設定します。
  2. TriggerInSourceパラメーターを目的の「Front GPI」入力ラインに設定します。
    たとえば、外部トリガーにGPI0(インターフェースカードのピン11と12)を使用する場合は、パラメーターをFrontGpiTriggerSource0に設定します。
  3. TriggerCameraOutSelectパラメーターを、対応する「Bypass」オプションに設定します。
    たとえば、FrontGpiTriggerSource0を選択した場合は、TriggerCameraOutSelectパラメーターをBypassFrontGpi0に設定します。
  4. TriggerStateパラメーターをActiveに設定します。
  5. 必要に応じて、以下の説明に従ってトリガー信号を設定します。

すべてのトリガー信号は、カメラのソース信号CxpTrigger0およびCxpTrigger1に転送されます(現在のところ、これら2ラインの挙動に差異はありません)。信号は、さまざまな目的に使用できます。最も一般的な使用事例は画像取得です。下記の例を参照してください。

ハードウェアトリガー(内部)#

内部トリガーが有効な場合、インターフェースカードは、指定された周波数でトリガー信号を内部で生成します。すべての外部トリガー信号は無視されます。

内部ハードウェアトリガー用にインターフェースカードを設定するには:

  1. AreaTriggerModeパラメーターをGeneratorに設定します。
  2. TriggerOutputFrequencyパラメーターを目的のトリガー出力周波数に設定します。例えば、パラメーターを8に設定すると、インターフェースカードは1秒あたり8つのトリガー信号を生成します。
  3. TriggerCameraOutSelectパラメーターを、目的の出力ライン(PulseGenerator0など)に設定します。
  4. TriggerStateパラメーターをActiveに設定します。

これで、画像取得を開始する際には必ず、インターフェースカードが指定された周波数でトリガー信号を生成します。

すべてのトリガー信号は、カメラのソース信号CxpTrigger0およびCxpTrigger1に転送されます。信号は、さまざまな目的に使用できます。最も一般的な使用事例は画像取得です。下記の例を参照してください。

例:画像取得のトリガー信号の使用#

インターフェースカードによって生成された外部または内部トリガー信号を使用して画像を取得するには:

  1. カメラで、TriggerSelectorパラメーターをFrameStartに設定します。
  2. TriggerModeパラメーターをOnに設定します。
  3. ExposureModeパラメーターをTimedに設定します。
  4. TriggerSourceパラメーターをCxpTrigger0またはCxpTrigger1に設定します。
    現在、2つの線の間に動作に違いはないため、どちらか1つを選択できます。

これで、インターフェースカードがトリガー信号を受信または生成するたびに、カメラは画像を取得します。

情報

トリガー信号は、信号源によって制御されるあらゆるBasler boostカメラ機能のソースとして使用できます。例えば、CounterTriggerSourceパラメーターをCxpTrigger0に設定すると、インターフェースカードを使用してCounter機能を制御できます。

インターフェースカードでのデベイヤリングの実行#

CXP-12インターフェースカード1Cでは、インターフェースカードでディベートを行うことができます。これにより、カメラとホストコンピューターのコンピューティング負荷が軽減されます。

これを行うには:

  1. カメラで、PixelFormatパラメーターをBayerピクセルフォーマット(BayerRG12など)に設定します。
  2. インターフェースカードで、AutomaticFormatControlパラメーターをfalseに設定します。
    これにより、カメラで使用されるピクセルフォーマットとは別に出力フォーマットを設定できます。
  3. インターフェースカードで、Formatパラメーターを対応するRGBピクセルフォーマットに設定します。
    ビット深度は、Bayerピクセルフォーマットのビット深度の3倍である必要があります。例えば、BayerRG12(カメラ) = Color36ビット(インターフェースカード)です。

これで、インターフェースカードは、カメラの生画像データでデベイヤリングを実行し、RGB画像データを出力します。

情報

上記の手順3で、正しいRGBピクセルフォーマットを設定していることを確認します。そうでない場合は、画像が正しく取得されません。

カメラでは使用できない出力形式の使用#

Basler boostカメラは、いくつかのピクセルフォーマットで画像データを出力できます(Bayer RG 8やRBG 8など)。詳細については、ピクセルフォーマットのトピックを参照してください。

必要なピクセルフォーマットがカメラで使用できず、ホストコンピューターでの画像変換も避けたい場合は、インターフェースカードが提供するピクセルフォーマットのいずれかを使用できる場合があります。

インターフェースカードには、次の形式があります。

Gray8bit Gray10bit Gray12bit Gray16bit
Color24bit Color30bit Color36bit Color48bit
Bayergr8 Bayergr10 Bayergr12 Bayergr16
Bayerrg8 Bayerrg10 Bayerrg12 Bayerrg16
Bayergb8 Bayergb10 Bayergb12 Bayergb16
Bayerbg8 Bayerbg10 Bayerbg12 Bayerbg16

カメラで使用できない出力形式を使用するには:

  1. カメラで、PixelFormatパラメーターを目的のカメラピクセルフォーマット(Mono12など)に設定します。
  2. インターフェースカードで、AutomaticFormatControlパラメーターをfalseに設定します。
    これにより、カメラで使用されるピクセルフォーマットとは別に出力フォーマットを設定できます。
  3. インターフェースカードで、Formatパラメーターを目的の出力フォーマット(Gray16bitなど)に設定します。

上記の例の値を使用すると、インターフェースカードは12ビットカメラの画像データに基づいて16ビットの画像データを出力します。パディングビット(ゼロ)は、下図のように挿入されます。

12ビットカメラ画像データに基づく16ビット画像データ

gpioToolを使用したトリガー信号の設定#

gpioToolコマンドラインツールを使用すると、インターフェースカードで受信または送信されるトリガー信号の物理的特性を次のように設定できます。

  • シングルエンドまたは差動信号を受信するように入力ラインを設定できます。
  • プルアップまたはプルダウンモードで動作するように入力ラインを設定できます。
  • 出力信号を反転するかどうかを指定できます。

gpioToolは、pylon Camera Software Suiteに付属しています。

ツールを起動するには:

  1. コマンドプロンプトウィンドウ(Windows)またはターミナルウィンドウ(Linux)を開きます。
  2. pylonインストールのbinディレクトリーに移動します。

    • Windows(64ビット):%programfiles%\Basler\pylon 6\Runtime\x64\pylonCXP\bin
    • Windows(32ビット):%programfiles%\Basler\pylon 6\Runtime\Win32\pylonCXP\bin
    • Linux:/opt/pylon/lib/pylonCXP/bin
  3. 以下のオプションを使用してgpioToolを起動します。

オプション#

次のオプションが使用できます。

gpioTool -b [board_index]
         -g
         -v
         -s [bank]:[settings]
         -h

-b [board_index]
システム内のどのCXP-12インターフェースカードにアドレス指定するか指定します。このパラメーターは、-h以外のすべてのオプションで必須です。
[board_index]の値の範囲は、お使いのシステムに取り付けられているすべてのCXP-12インターフェースカードボードのインデックス番号です。システムにCXP-12インターフェースカードが1つしかない場合は、[board_index]を0に設定します。

-b [board_index] -g
指定したCXP-12インターフェースカードの現在のGPIOバンク設定を表示します。

-b [board_index] -v
現在のGPIOバンク設定を詳細出力で表示します。

-b [board_index] -s [bank]:[settings]
指定したCXP-12インターフェースカードでGPIOバンクを設定します。
[bank]は、GPIOバンクのインデックス番号を指定します。CXPインターフェースカード1Cでは、1つのGPIOバンク(フロントGPIO)のみが使用可能です。したがって、常に[bank]は0に設定してください。
[settings]では、設定を行います。以下を参照してください。

-h
ヘルプを表示します。

設定#

-b [board_index] -s [bank]:[settings][settings]部分で、次の設定が使用できます。

設定 結果
[signal] se シングルエンド信号を受信するように入力ラインを設定します。
[signal] ds 差動信号を受信するように入力ラインを設定します。
[pull-up-down] pu プルアップモードで動作するように入力ラインを設定します。a
[pull-up-down] pd プルダウンモードで動作するように入力ラインを設定します。b
[inversion] ni 出力ラインの反転を無効にします。
[inversion] in 出力ラインの反転を有効にします。

  1. 多くのアプリケーションでは、このモードを設定する必要があります。インターフェースカードは10kΩプルアップ抵抗を有効にして、NPNトランジスター(オープンコレクター、オープンドレイン)からの信号を受信します。

  2. インターフェースカードは、10kΩプルダウン抵抗を有効にして、PNPトランジスター(オープンエミッター、オープンソース)から信号を受信します。

設定は、[signal]、[Pull-up-down]、[inversion]の形式で入力する必要があります。例:ds、pu、ni

または、[settings]defaultに設定することもできます。これにより、GPIOバンクの設定がリセットされます。

#

gpioTool -b 0 -s 0:ds,pu,ni

このコマンドは、インターフェースカードを次のように設定します。

  • -b 0:ボード0でGPIOを設定します。
  • -s:実際の設定を開始します。
  • 0::GPIOバンク0(フロントGPIO)を設定します。
  • ds,pu,ni:差動信号(ds)を受信し、プルアップモード(pu)で動作し、発信信号を反転しない(ni)ようにフロントGPIOを設定します。

設定のリセット#

ボードとGPIOバンクをデフォルト設定にリセットするには、まず次のように[settings]defaultに設定し、gpioToolを起動します。

gpioTool -b [board_index] -s [bank]:default

ExamplegpioTool -b 0 -s 0:default

サンプルコード#

// Select the Acq_SingleCXP12Area applet
camera.GetTLParams().InterfaceApplet.SetValue(Acq_SingleCXP12Area);
// Configure the interface card for external triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_External);
camera.GetTLParams().TriggerInSource.SetValue(TriggerInSource_FrontGpiTriggerSource0);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_BypassFrontGpi0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Configure the interface card for internal triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_Generator);
camera.GetTLParams().TriggerOutputFrequency.SetValue(8);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_PulseGenerator0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Use the external or internal trigger signals for image acquisition
camera.TriggerSelector.SetValue(TriggerSelector_FrameStart);
camera.TriggerMode.SetValue(TriggerMode_On);
camera.ExposureMode.SetValue(ExposureMode_Timed);
camera.TriggerSource.SetValue(TriggerSource_CxpTrigger0);
// Perform debayering on the interface card (Bayer RG 12 --> RGB 36 bit)
camera.PixelFormat.SetValue(PixelFormat_BayerRG12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Color36bit);
// Configure the interface card to output 16-bit mono image data based on
// 12-bit mono image data from the camera
camera.PixelFormat.SetValue(PixelFormat_Mono12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Gray16bit);

このサンプルコードは、C++言語でのみ使用できます。

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

トップに戻る