コンテンツにスキップ

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

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

情報

This topic covers basic use cases. For in-depth information about the software features of the interface card, see the acquisition applets PDF documentation.

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

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

Limitation

In all applets, buffers larger than 4 GB can't be allocated. Even if the applet allows a larger buffer size, you can't allocate buffers larger than 4 GB due to limitations in the driver and firmware.

You can calculate the buffer size as follows:

Buffer size = image height * image width * (pixel width / 8).

For RGB images: buffer size = (image height * image width * (pixel width / 8)) * 3 .

Available Area Scan Applets and Default Applets#

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

アプレット名 Available For Interface Card Default Applet On Interface Card
Acq_SingleCXP12Area 1C、2C、4C 1C
Acq_DualCXP12Area 2C、4C 2C
Acq_TripleCXP12Area 4C -
Acq_QuadCXP12Area 4C 4C

In addition to the Acqusition Applets, you can also use the Enhanced Applets. The Enhanced Applets are a prototype and are only available upon request via your local Basler Sales representative or field application engineer. All Enhanced Applets have the additional features:

Available Line Scan Applets#

Depending on the interface card model, the following applets are available. Note that the default applet (i.e., the applet that is loaded by default) is always an area scan applet. Thus, if you want to use a line scan applet, you must load it first as described in Changing the Applet.

アプレット名 Available For Interface Card
Acq_SingleCXP12Line 1C、2C、4C
Acq_DualCXP12Line 2C、4C
Acq_TripleCXP12Line 4C
Acq_QuadCXP12Line 4C

Documentation#

The following sections provide links to the acquisition applets documentation:

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#

Area Scan Applets for the CXP-12 Interface Card 1C#

1チャンネルカメラの容量 2チャンネルカメラの容量 4チャンネルカメラの容量 アプレット ROIステップサイズ[px] トポロジー
1 Acq_SingleCXP12x1Area x:4
y:1
1台のカメラ、1つのチャンネル

Line Scan Applets for the CXP-12 Interface Card 1C#

1チャンネルカメラの容量 2チャンネルカメラの容量 4チャンネルカメラの容量 アプレット ROIステップサイズ[px] トポロジー
1 Acq_SingleCXP12Line x:4
y:1
1台のカメラ、1つのチャンネル

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

Area Scan Applets for the CXP-12 Interface Card 2C#

1チャンネルカメラの容量 2チャンネルカメラの容量 4チャンネルカメラの容量 アプレット ROIステップサイズ[px] トポロジー
1 Acq_DualCXP12Area x:8
y:1
1台のカメラ、1つのチャンネル
2 Acq_DualCXP12Area x:8
y:1
2台のカメラ、それぞれ1つのチャンネル
1 Acq_SingleCXP12Area x:16
y:1
1台のカメラ、2つのチャンネル

Line Scan Applets for the CXP-12 Interface Card 2C#

1チャンネルカメラの容量 2チャンネルカメラの容量 4チャンネルカメラの容量 アプレット ROIステップサイズ[px] トポロジー
1 Acq_DualCXP12Line x:8
y:1
1台のカメラ、1つのチャンネル
2 Acq_DualCXP12Line x:8
y:1
2台のカメラ、それぞれ1つのチャンネル
1 Acq_SingleCXP12Line x:16
y:1
1台のカメラ、2つのチャンネル

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

Area Scan Applets for the CXP-12 Interface Card 4C#

1チャンネルカメラの容量 2チャンネルカメラの容量 4チャンネルカメラの容量 アプレット ROIステップサイズ[px] トポロジー
1 Acq_QuadCXP12Area x:8
y:1
1台のカメラ、1つのチャンネル
2 Acq_QuadCXP12Area x:8
y:1
2台のカメラ、それぞれ1つのチャンネル
3 Acq_QuadCXP12Area x:8
y:1
3台のカメラ、それぞれ1つのチャンネル
4 Acq_QuadCXP12Area x:8
y:1
4台のカメラ、それぞれ1つのチャンネル
1 Acq_DualCXP12Area x:16
y:1
1台のカメラ、2つのチャンネル
2 Acq_DualCXP12Area x:16
y:1
2台のカメラ、それぞれ2つのチャンネル
1 Acq_SingleCXP12Area x:32
y:1
1台のカメラ、4つのチャンネル
1 1 Acq_TripleCXP12Area x:8
y:1
1台のカメラ(1つのチャンネル付き)と1台のカメラ(2つのチャンネル付き)
2 1 Acq_TripleCXP12Area x:8
y:1
2台のカメラ(1つのチャンネル付き)と1台のカメラ(2つのチャンネル付き)

Line Scan Applets for the CXP-12 Interface Card 4C#

1チャンネルカメラの容量 2チャンネルカメラの容量 4チャンネルカメラの容量 アプレット ROIステップサイズ[px] トポロジー
1 Acq_QuadCXP12Line x:8
y:1
1台のカメラ、1つのチャンネル
2 Acq_QuadCXP12Line x:8
y:1
2台のカメラ、それぞれ1つのチャンネル
3 Acq_QuadCXP12Line x:8
y:1
3台のカメラ、それぞれ1つのチャンネル
4 Acq_QuadCXP12Line x:8
y:1
4台のカメラ、それぞれ1つのチャンネル
1 Acq_DualCXP12Line x:16
y:1
1台のカメラ、2つのチャンネル
2 Acq_DualCXP12Line x:16
y:1
2台のカメラ、それぞれ2つのチャンネル
1 Acq_SingleCXP12Line x:32
y:1
1台のカメラ、4つのチャンネル
1 1 Acq_TripleCXP12Line x:8
y:1
1台のカメラ(1つのチャンネル付き)と1台のカメラ(2つのチャンネル付き)
2 1 Acq_TripleCXP12Line x:8
y:1
2台のカメラ(1つのチャンネル付き)と1台のカメラ(2つのチャンネル付き)

アプレットの変更#

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

To change the applet used by the interface card in pylon, set the InterfaceApplet parameter to the name of the applet to be loaded, e.g., Acq_DualCXP12Area:

pylon: Changing the Applet

インターフェースカードを使用した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. Set the TriggerSource parameter to CxpTrigger0 or CxpTrigger1.

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

情報

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

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

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

これを行うには:

  1. Start the pylon Viewer and open a connection to the interface card and the camera.
  2. Use the feature tree to make the following settings:
    • On the camera, set the Pixel Format option to a Bayer pixel format, e.g., Bayer RG 12.
    • Navigate to Device Transport Layer and disable the Automatic Format Control option.
      This allows you to set the output format independently of the pixel format used by the camera.
    • On the interface card, set the OutputFormat option to the corresponding RGB pixel format.
      The bit depth must be three times the bit depth of the Bayer pixel format. For example, Bayer RG 12 (camera) = Color 36 bit (interface card).

これで、インターフェースカードは、カメラの生画像データでデベイヤリングを実行し、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ビット画像データ

Configuring the Trigger Signals Using the gpioTool#

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

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

The gpioTool is included in the 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インターフェースカードにアドレス指定するか指定します。このパラメーターは、-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を使用して、パラメーターを簡単に設定することもできます。