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

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

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

情報

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

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

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

制限事項

どの阿プレットでも、4 GBを超えるバッファを割り当てることはできません。アプレットでより大きなバッファサイズが許可されている場合でも、ドライバーとファームウェアの制限により、4 GBを超えるバッファの割り当ては行えません。

バッファサイズは次のように計算できます。

バッファサイズ = 画像の高さ * 画像の幅 * (ピクセル幅 / 8)

RGB画像の場合:バッファサイズ = (画像の高さ * 画像の幅 * (ピクセル幅 / 8)) * 3

利用可能なエリアスキャン用アプレットおよびデフォルトアプレット#

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

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

Acquisition Appletsに加えて、Enhanced Appletsを使用することもできます。Enhanced Appletsはプロトタイプであり、お近くのBaslerの営業担当者またはフィールドアプリケーションエンジニアを通じてリクエストした場合のみご利用いただけます。すべてのEnhanced Appletsには、以下の追加機能があります。

利用可能なラインスキャン用アプレット#

インターフェースカードのモデルに応じて、以下のアプレットが利用可能です。なお、デフォルトアプレット(つまり、デフォルトでロードされるアプレット)は常にエリアスキャン用アプレットです。そのため、ラインスキャン用アプレットを使用する場合は、Changing the Appletで説明されているように、最初にそれをロードする必要があります。

アプレット名 インターフェースカードで利用可能
Acq_SingleCXP12Line 1C、2C、4C
Acq_DualCXP12Line 2C、4C
Acq_TripleCXP12Line 4C
Acq_QuadCXP12Line 4C

Documentation#

以下のセクションでは、acquisition applets のドキュメントへのリンクを提供しています。

CXP-12インターフェースカード1C#

GenTL Fglib
Acq_SingleCXP12x1Area PDF Acq_SingleCXP12x1Area PDF
Acq_SingleCXP12Line PDF Acq_SingleCXP12Line PDF
Frame Grabber Test Applet PDF Frame Grabber Test Applet PDF

CXP-12インターフェースカード2C#

GenTL Fglib
Acq_SingleCXP12Area PDF Acq_SingleCXP12Area PDF
Acq_DualCXP12Area PDF Acq_DualCXP12Area PDF
Acq_SingleCXP12Line PDF Acq_SingleCXP12Line PDF
Acq_DualCXP12Line PDF Acq_DualCXP12Line PDF
Frame Grabber Test Applet PDF Frame Grabber Test Applet PDF

CXP-12インターフェースカード4C#

GenTL Fglib
Acq_SingleCXP12Area PDF Acq_SingleCXP12Area PDF
Acq_DualCXP12Area PDF Acq_DualCXP12Area PDF
Acq_TripleCXP12Area PDF Acq_TripleCXP12Area PDF
Acq_QuadCXP12Area PDF Acq_QuadCXP12Area PDF
Acq_SingleCXP12Line PDF Acq_SingleCXP12Line PDF
Acq_DualCXP12Line PDF Acq_DualCXP12Line PDF
Acq_TripleCXP12Line PDF Acq_TripleCXP12Line PDF
Acq_QuadCXP12line PDF Acq_QuadCXP12line PDF
FrameGrabberTest Frame Grabber Test Applet PDF

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

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

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

どちらのアプレットが適切かは、カメラ数、カメラあたりのチャンネル数、目的のROIステップサイズによって異なります。

ROIステップサイズは画像前処理の並列性によって異なるため、カメラやフレームグラバーによって異なります。

CXP-12インターフェースカード1C#

CXP-12 Interface Card 1C用のエリアスキャン用アプレット#

最大カメラ台数 1チャンネルカメラの数 2チャンネルカメラの数 4チャンネルカメラの数 アプレット ROIステップサイズ[px]
1 1 Acq_SingleCXP12x1Area x:4
y:1

CXP-12 Interface Card 1C用のラインスキャン用アプレット#

最大カメラ台数 1チャンネルカメラの数 2チャンネルカメラの数 4チャンネルカメラの数 アプレット ROIステップサイズ[px]
1 1 Acq_SingleCXP12Line x:4
y:1

CXP-12インターフェースカード2C#

CXP-12 Interface Card 2C用のエリアスキャン用アプレット#

最大カメラ台数 1チャンネルカメラの数 2チャンネルカメラの数 4チャンネルカメラの数 アプレット ROIステップサイズ[px]
2 1 Acq_DualCXP12Area x:8
y:1
2 2 Acq_DualCXP12Area x:8
y:1
1 1 Acq_SingleCXP12Areaa x:16
y:1
1 1 Acq_SingleCXP12Area x:16
y:1

CXP-12 Interface Card 2C用のラインスキャン用アプレット#

最大カメラ台数 1チャンネルカメラの数 2チャンネルカメラの数 4チャンネルカメラの数 アプレット ROIステップサイズ[px]
2 1 Acq_DualCXP12Line x:8
y:1
2 2 Acq_DualCXP12Line x:8
y:1
1 1 Acq_SingleCXP12Lineb x:16
y:1
1 1 Acq_SingleCXP12Line x:16
y:1

CXP-12インターフェースカード4C#

CXP-12 Interface Card 4C用のエリアスキャン用アプレット#

最大カメラ台数 1チャンネルカメラの数 2チャンネルカメラの数 4チャンネルカメラの数 アプレット ROIステップサイズ[px]
4 1 Acq_QuadCXP12Area x:8
y:1
4 2 Acq_QuadCXP12Area x:8
y:1
4 3 Acq_QuadCXP12Area x:8
y:1
4 4 Acq_QuadCXP12Area x:8
y:1
3 1 Acq_TripleCXP12Areac x: 16/8/8
y: 1
3 2 Acq_TripleCXP12Areac x: 16/8/8
y: 1
3 3 Acq_TripleCXP12Areac x: 16/8/8
y: 1
3 1 Acq_TripleCXP12Aread x: 16/8/8
y: 1
3 1 1 Acq_TripleCXP12Area x: 16/8/8
y: 1
3 2 1 Acq_TripleCXP12Area x: 16/8/8
y: 1
2 1 Acq_DualCXP12Areac x:16
y:1
2 2 Acq_DualCXP12Areac x:16
y:1
2 1 1 Acq_DualCXP12Area x:16
y:1
2 1 Acq_DualCXP12Areae x:16
y:1
2 2 Acq_DualCXP12Area x:16
y:1
1 1 Acq_SingleCXP12Areac x:32
y:1
1 1 Acq_SingleCXP12Areaf x:32
y:1
1 1 Acq_SingleCXP12Area x:32
y:1

CXP-12 Interface Card 4C用のラインスキャン用アプレット#

最大カメラ台数 1チャンネルカメラの数 2チャンネルカメラの数 4チャンネルカメラの数 アプレット ROIステップサイズ[px]
4 1 Acq_QuadCXP12Line x:8
y:1
4 2 Acq_QuadCXP12Line x:8
y:1
4 3 Acq_QuadCXP12Line x:8
y:1
4 4 Acq_QuadCXP12Line x:8
y:1
3 1 Acq_TripleCXP12Lineg x: 16/8/8
y: 1
3 2 Acq_TripleCXP12Lineg x: 16/8/8
y: 1
3 3 Acq_TripleCXP12Lineg x: 16/8/8
y: 1
3 1 Acq_TripleCXP12Lineh x: 16/8/8
y: 1
3 1 1 Acq_TripleCXP12Line x: 16/8/8
y: 1
3 2 1 Acq_TripleCXP12Line x: 16/8/8
y: 1
2 1 Acq_DualCXP12Lineg x:16
y:1
2 2 Acq_DualCXP12Lineg x:16
y:1
2 1 Acq_DualCXP12Line x:16
y:1
2 1 1 Acq_DualCXP12Linei x:16
y:1
2 2 Acq_DualCXP12Line x:16
y:1
1 1 Acq_SingleCXP12Line x:32
y:1
1 1 Acq_SingleCXP12Line x:32
y:1
1 1 Acq_SingleCXP12Line x:32
y:1

アプレットの変更#

インターフェースカード上で実行されるアプレットによって、その機能が定義されます。一部のカメラ設定では、デフォルトのアプレットを変更する必要があります。

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

pylon:アプレットの変更

インターフェースカードを使用した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。これらの信号はさまざまな目的に使用できます。最も一般的なユースケースは画像取得です。次を参照してください: 以下の例.

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

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

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

  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.

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

情報

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

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

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

これを行うには:

  1. pylon Viewerを起動し、インターフェースカードおよびカメラとの接続を開きます。
  2. フィーチャツリーを使用して、以下の設定を行います。
    • カメラ側で、Pixel FormatオプションをBayerピクセルフォーマット(例: Bayer RG 12)に設定します。
    • Device Transport Layerに移動し、Automatic Format Controlオプションを無効にします。
      これにより、カメラで使用されるピクセルフォーマットとは独立して出力フォーマットを設定できます。
    • インターフェースカード側で、OutputFormatオプションを対応するRGBピクセルフォーマットに設定します。
      ビット深度は、Bayerピクセルフォーマットのビット深度の3倍である必要があります。例えば、Bayer RG 12(カメラ) = Color 36 bit(インターフェースカード)となります。

これで、インターフェースカードは、カメラの生画像データでデベイヤリングを実行し、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 パラメータを希望のカメラのPixel Formatに設定します(例: Mono12.
  2. インターフェースカードで、 AutomaticFormatControl パラメータを false.
    これにより、カメラで使用されるピクセルフォーマットとは独立して出力フォーマットを設定できます。
  3. インターフェースカードで、 Format パラメータを希望の出力フォーマットに設定します(例: Gray16bit.

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

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

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

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

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

gpioToolはpylon Software Suiteに含まれています。

ツールを起動するには:

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

    • Windows(64ビット):%programfiles%\Basler\pylon x\Runtime\x64\pylonCXP\bin
    • Windows(32ビット):%programfiles%\Basler\pylon x\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 Interface Cardを対象とするかを指定します。このパラメータは、 -h.
の値の範囲は、 [board_index] は、システムにインストールされているすべてのCXP-12 Interface Cardボードのインデックス番号です。システムにCXP-12 Interface Cardが1枚のみの場合は、 [board_index] を0に設定します。

-b [board_index] -g
指定したCXP-12 Interface Cardの現在のGPIOバンク設定を表示します。

-b [board_index] -v
詳細情報を含めて、現在のGPIOバンク設定を表示します。

-b [board_index] -s [bank]:[settings]
指定したCXP-12 Interface CardのGPIOバンクを設定します。
[bank] はGPIOバンクのインデックス番号を指定します。CXP Interface Card 1Cでは、正確に1つのGPIOバンク(フロントGPIO)が利用可能です。したがって、常に [bank] を0に設定します。
[settings] は設定を構成します。次を参照してください: 以下.

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

設定#

内の [settings] の部分については、 -b [board_index] -s [bank]:[settings]において次の設定を利用できます:

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

設定は次の形式で入力する必要があります: [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: フロント GPIO が差動信号を受信し(ds)、プルアップモードで動作し(pu)、出力信号を反転させずに送信するように(ni)設定します。

設定のリセット#

ボードおよび GPIO バンクをデフォルト設定にリセットするには、以下を開始します gpioTool を [settings] が次のように設定されている場合: default:

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

例: gpioTool -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を使用して、パラメーターを簡単に設定することもできます。


  1. 8K ピクセルを超える画像をミラーリングする必要がある場合にのみ推奨されます。そうでない場合は、DualCXP12Area を使用してください。

  2. 21840 ピクセルを超える画像をミラーリングする必要がある場合にのみ推奨されます。そうでない場合は、DualCXP12Line を使用してください。

  3. 8K ピクセルを超える画像をミラーリングする必要がある場合にのみ推奨されます。そうでない場合は、QuadCXP12Area を使用してください。

  4. 非推奨です。代わりに DualCXP12Area を使用してください。

  5. 8K ピクセルを超える画像をミラーリングする必要がある場合にのみ推奨されます。そうでない場合は、TripleCXP12Area(シングルチャンネルカメラのみ)を使用してください。

  6. 21840 ピクセルを超える画像をミラーリングする必要がある場合にのみ推奨されます。そうでない場合は、DualCXP12Area を使用してください。

  7. 8K ピクセルを超える画像をミラーリングする必要がある場合にのみ推奨されます。そうでない場合は、QuadCXP12Line を使用してください。

  8. 非推奨です。代わりに DualCXP12Line を使用してください。

  9. 8K ピクセルを超える画像をミラーリングする必要がある場合にのみ推奨されます。そうでない場合は、TripleCXP12Line(シングルチャンネルカメラのみ)を使用してください。

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

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