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:
- Binning (currently only monochrome) of up to 4x4
- Block-based flat field correction (FFC) for monochrome cameras
- PGI high quality Debayering and image quality improvements
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#
CXP-12インターフェースカード4C#
適切なアプレットの選択#
シングルチャンネル(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 |
Line Scan Applets for the CXP-12 Interface Card 1C#
1チャンネルカメラの容量 | 2チャンネルカメラの容量 | 4チャンネルカメラの容量 | アプレット | ROIステップサイズ[px] | トポロジー |
---|---|---|---|---|---|
1 | Acq_SingleCXP12Line | x:4 y: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 | |||
2 | Acq_DualCXP12Area | x:8 y:1 | |||
1 | Acq_SingleCXP12Area | x:16 y:1 |
Line Scan Applets for the CXP-12 Interface Card 2C#
1チャンネルカメラの容量 | 2チャンネルカメラの容量 | 4チャンネルカメラの容量 | アプレット | ROIステップサイズ[px] | トポロジー |
---|---|---|---|---|---|
1 | Acq_DualCXP12Line | x:8 y:1 | |||
2 | Acq_DualCXP12Line | x:8 y:1 | |||
1 | Acq_SingleCXP12Line | x:16 y:1 |
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 | |||
2 | Acq_QuadCXP12Area | x:8 y:1 | |||
3 | Acq_QuadCXP12Area | x:8 y:1 | |||
4 | Acq_QuadCXP12Area | x:8 y:1 | |||
1 | Acq_DualCXP12Area | x:16 y:1 | |||
2 | Acq_DualCXP12Area | x:16 y:1 | |||
1 | Acq_SingleCXP12Area | x:32 y:1 | |||
1 | 1 | Acq_TripleCXP12Area | x:8 y:1 | ||
2 | 1 | Acq_TripleCXP12Area | x:8 y:1 |
Line Scan Applets for the CXP-12 Interface Card 4C#
1チャンネルカメラの容量 | 2チャンネルカメラの容量 | 4チャンネルカメラの容量 | アプレット | ROIステップサイズ[px] | トポロジー |
---|---|---|---|---|---|
1 | Acq_QuadCXP12Line | x:8 y:1 | |||
2 | Acq_QuadCXP12Line | x:8 y:1 | |||
3 | Acq_QuadCXP12Line | x:8 y:1 | |||
4 | Acq_QuadCXP12Line | x:8 y:1 | |||
1 | Acq_DualCXP12Line | x:16 y:1 | |||
2 | Acq_DualCXP12Line | x:16 y:1 | |||
1 | Acq_SingleCXP12Line | x:32 y:1 | |||
1 | 1 | Acq_TripleCXP12Line | x:8 y:1 | ||
2 | 1 | Acq_TripleCXP12Line | x:8 y:1 |
アプレットの変更#
インターフェースカード上で実行されるアプレットによって、その機能が定義されます。一部のカメラ設定では、デフォルトのアプレットを変更する必要があります。
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
:
インターフェースカードを使用したBasler boost CXP-12カメラの起動#
情報
このセクションは、インターフェースカードを介してカメラをトリガーする場合にのみ関係があります。通常、カメラはカメラのI/Oコネクターを介してトリガーされます。詳細については、「トリガーされた画像取得」を参照してください。
ハードウェアトリガー(外部)#
外部トリガーが有効な場合、トリガー入力信号をインターフェースカードに送信できます。インターフェースカードはこれらの信号をBasler boostカメラに転送します。
外部ハードウェアトリガー用にインターフェースカードを設定するには:
AreaTriggerMode
パラメーターをExternal
に設定します。TriggerInSource
パラメーターを目的の「Front GPI」入力ラインに設定します。
たとえば、外部トリガーにGPI0(インターフェースカードのピン11と12)を使用する場合は、パラメーターをFrontGpiTriggerSource0
に設定します。TriggerCameraOutSelect
パラメーターを、対応する「Bypass」オプションに設定します。
たとえば、FrontGpiTriggerSource0
を選択した場合は、TriggerCameraOutSelect
パラメーターをBypassFrontGpi0
に設定します。TriggerState
パラメーターをActive
に設定します。- 必要に応じて、以下の説明に従ってトリガー信号を設定します。
すべてのトリガー信号は、カメラのソース信号CxpTrigger0
およびCxpTrigger1
に転送されます。信号は、さまざまな目的に使用できます。最も一般的な使用事例は画像取得です。下記の例を参照してください。
ハードウェアトリガー(内部)#
内部トリガーが有効な場合、インターフェースカードは、指定された周波数でトリガー信号を内部で生成します。すべての外部トリガー信号は無視されます。
内部ハードウェアトリガー用にインターフェースカードを設定するには:
AreaTriggerMode
パラメーターをGenerator
に設定します。TriggerOutputFrequency
パラメーターを目的のトリガー出力周波数に設定します。例えば、パラメーターを8に設定すると、インターフェースカードは1秒あたり8つのトリガー信号を生成します。TriggerCameraOutSelect
パラメーターを、目的の出力ライン(PulseGenerator0
など)に設定します。TriggerState
パラメーターをActive
に設定します。
これで、画像取得を開始する際には必ず、インターフェースカードが指定された周波数でトリガー信号を生成します。
すべてのトリガー信号は、カメラのソース信号CxpTrigger0
およびCxpTrigger1
に転送されます。信号は、さまざまな目的に使用できます。最も一般的な使用事例は画像取得です。下記の例を参照してください。
例:画像取得のトリガー信号の使用#
インターフェースカードによって生成された外部または内部トリガー信号を使用して画像を取得するには:
- カメラで、
TriggerSelector
パラメーターをFrameStart
に設定します。 TriggerMode
パラメーターをOn
に設定します。ExposureMode
パラメーターをTimed
に設定します。- Set the
TriggerSource
parameter toCxpTrigger0
orCxpTrigger1
.
これで、インターフェースカードがトリガー信号を受信または生成するたびに、カメラは画像を取得します。
情報
トリガー信号は、信号源によって制御されるあらゆるBasler boostカメラ機能のソースとして使用できます。例えば、CounterTriggerSource
パラメーターをCxpTrigger0
に設定すると、インターフェースカードを使用してCounter機能を制御できます。
インターフェースカードでのデベイヤリングの実行#
CXP-12インターフェースカード1Cでは、インターフェースカードでディベートを行うことができます。これにより、カメラとホストコンピューターのコンピューティング負荷が軽減されます。
これを行うには:
- Start the pylon Viewer and open a connection to the interface card and the camera.
- 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 |
カメラで使用できない出力形式を使用するには:
- カメラで、
PixelFormat
パラメーターを目的のカメラピクセルフォーマット(Mono12
など)に設定します。 - インターフェースカードで、
AutomaticFormatControl
パラメーターをfalse
に設定します。
これにより、カメラで使用されるピクセルフォーマットとは別に出力フォーマットを設定できます。 - インターフェースカードで、
Format
パラメーターを目的の出力フォーマット(Gray16bit
など)に設定します。
上記の例の値を使用すると、インターフェースカードは12ビットカメラの画像データに基づいて16ビットの画像データを出力します。パディングビット(ゼロ)は、下図のように挿入されます。
Configuring the Trigger Signals Using the gpioTool#
gpioToolコマンドラインツールを使用すると、インターフェースカードで受信または送信されるトリガー信号の物理的特性を次のように設定できます。
- シングルエンドまたは差動信号を受信するように入力ラインを設定できます。
- プルアップまたはプルダウンモードで動作するように入力ラインを設定できます。
- 出力信号を反転するかどうかを指定できます。
The gpioTool is included in the pylon Software Suite.
ツールを起動するには:
- コマンドプロンプトウィンドウ(Windows)またはターミナルウィンドウ(Linux)を開きます。
-
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
-
以下のオプションを使用してgpioToolを起動します。
オプション#
次のオプションが使用できます。
-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 | 出力ラインの反転を有効にします。 |
-
多くのアプリケーションでは、このモードを設定する必要があります。インターフェースカードは10kΩプルアップ抵抗を有効にして、NPNトランジスター(オープンコレクター、オープンドレイン)からの信号を受信します。
-
インターフェースカードは、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
Example: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を使用して、パラメーターを簡単に設定することもできます。