コンテンツにスキップ

GenTLインターフェースの使用#

このトピックでは、GenTL Producer の使用方法について説明します。

GenTL Producer を使用して、次の操作を実行できます。

  • 同じインターフェイス(GenApi)を介して、さまざまな規格の GenICam 互換カメラを設定します。サポートされている規格は Camera Link および CoaXPress です。
  • 画像取得システムの階層構造を表示します。
  • 使用するカメラ規格を意識せずに、汎用アプリケーション(GenTL コンシューマ)を開発します。

実装されている GenTL Producer は GenTL 1.5 を提供します。

GenTL Producers#

Basler Framegrabber SDKには、2つのGenTL Producer(CXPフレームグラバー用のProducerCXP.ctiおよびCamera Linkフレームグラバー用のProducerCL.cti)が含まれています。

GenTL設定#

GenTL Producer は、検出された各フレームグラバーの設定ファイルを次のディレクトリに保存します。

  • Windowsの場合:%Appdata%\basler
  • Linuxの場合:~/.config/basler

*.configファイルを削除すると、GenTL Producerがデフォルト設定にリセットされます。

インターフェースアプレット#

インターフェイスモジュールの XML には、 InterfaceApplets カテゴリノードに関する情報が含まれています。 InterfaceApplets> InterfaceApplet ノードでは、別のAppletを選択するか、 .hap ファイルを選択できます(現在読み込まれているAppletとは異なるもの)。Appletの変更は永続的なGenTL設定ファイルに保存されます。ただし、有効になるのは、すべてのデバイスを閉じてデバイスリストを更新した後、またはインターフェイスを閉じてから再度開いた後のみです。Appletを選択してデバイスを更新したら、数秒待ってから、 InterfaceAppletStatus パラメータを確認し、アプレットがロードされたかどうかを確認します。

アプレットが利用可能になるのはどのような場合ですか?

  • On imaWorx および imaFlex フレームグラバーでは、コンピュータのファイルシステム(Framegrabber SDKのインストールディレクトリ、サブディレクトリ)内で利用可能になるとすぐに、Appletを利用できるようになります。 DLL または Hardware Applets)内で利用可能になるとすぐにアプレットを使用できるようになります。アプレットが存在しない場合は、使用するアプレットを含むアプレットインストーラーを実行するか、VisualApplets で作成したアプレットが必要な場合は、アプレットファイル(*.hap)を Framegrabber SDK インストールの Hardware Applets フォルダーにコピーします(例: ...\Basler\FramegrabberSDK5.x.x\Hardware Applets\*.hapを使用します。
  • marathonフレームグラバーでは、Appletがフレームグラバーにフラッシュされるとすぐに利用可能になります。使用するAppletがまだフレームグラバーにフラッシュされていない場合は、marathonフレームグラバーへのAppletのフラッシュトピックの手順に従ってフラッシュしてください。

microDiagnosticsでのAppletの管理方法の詳細については、Appletの管理(microDiagnostics)を参照してください。

アプレット設定#

ペインの UserSetControl インターフェイスモジュールのカテゴリで、現在選択されているAppletの設定ファイルを読み込んで保存できます。これを行うには、既存または存在しない *.mcf ファイルのパスを UserSetFile パラメータを指定して、次のコマンドを実行します。 UserSetLoad または UserSetSave コマンドで指定します。パスを空のままにするか、 *.mcfとは異なるファイル拡張子を使用した場合、コマンド UserSetLoad および UserSetSave 利用できません。

イメージ *.mcf 設定ファイルはAppletの設定を保存しますが、一方 *.config ファイルはGenTL Producerの設定を保存します。 *.mcf ファイルから読み込まれた設定は、Appletの変更やシステムのシャットダウン後には永続化されません。現在読み込まれているAppletが、読み込まれた *.mcf ファイル内のAppletと一致しない場合、GenTL Producerはまず設定を試みます。 InterfaceApplet 設定ファイルをそのファイルに合わせます。この場合、設定を有効にするには、デバイスを閉じてデバイスリストを更新する(システムを閉じずに)必要があります。

擬似デバイス#

ペインの TransportLayerControl インターフェースモジュールのカテゴリにある DiscoveryMethod 列挙ノード。このノードには CameraDiscovery, EmulationDiscoveryおよび MixedDiscovery 値が含まれており、 CameraDiscovery は CXP フレームグラバーのデフォルト値であり、 EmulationDiscovery は、Camera Linkフレームグラバーのデフォルト値です。エミュレートされたデバイスは、Camera Linkフレームグラバーおよび **.hap ファイルを操作する際に特に重要です。

選択した場合 EmulationDiscovery、エミュレーションデバイスが自動的に検出され、基本的なリモートデバイス XML ファイルが生成されます。アプレットにイメージジェネレーターが含まれている場合、イメージジェネレーターはデフォルトで有効になります。Camera Link カメラから画像を受信するには、リモートデバイスノード内でイメージジェネレーターを無効にすることができます。取得チャネルごとにエミュレーションデバイスが存在します。

イメージ MixedDiscovery 実カメラを検出しつつ、空の取り込みチャンネルをエミュレートされたデバイスで埋めます。この値は、 .hap CXPフレームグラバーのファイルに使用します。

検出モードの概要#

検出モードは、カメラまたは疑似デバイスが検出される方法を定義します。デバイスの設定は、次を使用して行います。 DiscoveryMethod ノード( Interface API のセクション内):

モード 説明 ノードパス
エミュレーション検出(CLのデフォルト) 各取り込みチャンネルに対して擬似デバイス(仮想デバイス)を作成し、リモートデバイスをエミュレートします。 Interface.DiscoveryMethod
混合検出 GenCPまたはCLPを使用して実カメラを検索します。実カメラが検出されない場合は、疑似デバイスにフォールバックします。 Interface.DiscoveryMethod
Camera Discovery(CXPのデフォルト) 疑似デバイスを使用せず、実カメラのみを検索します。 Interface.DiscoveryMethod

互換性ステータス#

Compatibility Status カテゴリでは、インターフェースとデバイスのステータスに関する情報が提供されます。

インターフェースの互換性ステータス(例:フレームグラバー)#

  • Interface Driver Version: インターフェースのドライバーのバージョン番号を表示します。
  • Interface Producer Version: 現在の GenTL Producer のバージョン番号を表示します。
  • Interface PCIe Status:
    • 実際の速度が要求速度を満たしているかそれを超えている場合、この機能は検出された PCIe 速度を表示します(例:Gen3x8)。
    • 実際の速度が要求速度を満たしていないかそれを下回っている場合、この機能は Warning: Gen2x1 detected, but Gen3x8 possible を表示します。
  • Interface Power Supply Status:
    • Connected: グラバーの電源コネクタが接続されています。
    • Warning: PCI-Power connector missing: グラバーの電源コネクタが接続されていません。

pylon Viewer では、インターフェースの Compatibility Status は次のように表示されます。

pylon Viewer の Compatibility Status インターフェース

その他のデバイスの互換性ステータス(例:カメラ)#

  • Device Pixelformat Status:
    • Supported: Pixel Format はカメラでサポートされています。
    • Warning: Not supported: Pixel Format はカメラでサポートされていません。
  • Device Automatic ROI Control Status:
    • Deactivated: 自動 ROI は Device Transport Layer -> Image Format Control を介して無効化されました。
    • Activated: 自動 ROI が有効になっています(デフォルト)。
    • Warning: ROI truncated according to stepping: 機能が有効になり、ROI サイズが調整されました。カメラとアプレットのステップサイズが異なり、要求された値を設定できない場合、ROI サイズは次に小さい一致する値に設定されます。
  • Device Tap Geometry Status:
    • Supported: タップジオメトリの一致が見つかりました。
    • Warning: Driver does not support tap geometry setting: ドライバーはタップジオメトリをサポートしていません。
    • Warning: Requested geometry not supported in applet: カメラはサポートされていないタップジオメトリを必要としています。現在 1X1Y がデフォルト値です。 1X2YE は、カメラで必要であり、アプレットでサポートされている場合にのみ設定してください。 1X_1Y モードでは、画像全体が1つのデータストリームとして転送されるように定義します。このモードは、ほとんどのカメラのデフォルトモードです。センサーが大きくなるにつれて、より高速な読み出しが必要になります。これを実現するには、 1X_2YE モードを使用します。 1X_2YE モードでは、センサーは一度に2つのサブフレームで読み出されます。

pylon Viewer では、デバイスの Compatibility Status は次のように表示されます。

pylon Viewer の Compatibility Status デバイス

自動ROIおよびFORMAT#

ペインの ImageFormatControl カテゴリに、 AutomaticFormatControl, AutomaticROIControl, AutomaticTapGeometryControlおよび OutputPacketFormats ノードがあります。 AutomaticFormatControl, AutomaticROIControlおよび AutomaticTapGeometryControl が有効な場合、GenTL Producerはカメラ設定に一致するようにアプレットで正しいフォーマットとROIを設定しようと試みます。これは、microEnable 6フレームグラバーのアプレットに関連しています。

Basler の ProducerCL.cti GenTL Producer は、GenCP または CLP(Camera Link Protocol)を使用して、Camera Link(CL) 接続経由でカメラの XML ファイルへのアクセスを提供します。これは、ほとんどの GenTL プロデューサーがこのようなセットアップに対する XML アクセスを提供しないため、フレームグラバーに接続されたサードパーティ製の Camera Link デバイスにとって特に価値があります。

情報

BaslerのカメラはGenCP互換ではありませんが、CLPをサポートしているため、GenTL Producerを介してカメラのXMLに直接アクセスし、完全な設定を行うことができます。これにより、Camera Linkのセットアップにおける制御性と柔軟性が向上します。

Basler CLPの自動設定#

イメージ ConfigurationForBaslerCLP 機能により、互換性のあるライブラリが利用可能な場合に、Basler Camera Link カメラの自動 XML 検出と最適化された設定が可能になります。この機能はデフォルトで有効になっています。アクティブなときには、Basler 固有の CLP ライブラリを検証します。 BaslerClProtocol.dll 利用可能です。もし GENICAM_CLPROTOCOL 環境変数がアクセス可能であり、Basler CLPライブラリが検出された場合、以下の設定が自動的に適用されます:

  1. DiscoveryMethod が次のように設定されている場合、自動的に無効になります: Mixed インターフェースの初期化中。
  2. ClpSharedLibraryPath は、インターフェース初期化時にBasler固有のCLPライブラリモジュールパスに設定されます。

この自動セットアップにより、Basler CLPライブラリが利用可能な場合に、Camera LinkデバイスのXMLアクセスが簡素化されます。

プロトコルの選択:GenCPとCLPの比較#

以下のセクションでは、フレームグラバーの設定でGenCPおよびCLPの検出モードを切り替える方法について説明します。GenCPとCLPのどちらを設定するかは、お使いのカメラによって異なります。

GenCPの設定#

  • GenCPは、カメラ検出のデフォルトプロトコルです。
  • GenCPを有効にするには、次のように設定します DiscoveryMethod または Mixed Discovery または Camera Discovery で Interface レイヤー。

CLPの設定#

CLPを設定するには、以下の手順に従います:

ステップ ノードパス アクション
検出方法の設定 Interface.DiscoveryMethod Select Mixed Discovery または Camera Discovery.
CLPライブラリパスの指定 Interface.ClpSharedLibraryPath CLP共有ライブラリのフルパスを定義します(DLL または SO)、通常は以下のフォルダにあります GENICAM_CLPROTOCOL.
CLPライブラリパスの確認 Interface.LoadedClpSharedLibraryPath このノードを確認して、CLPライブラリがロードされていることを確認します。

いつ ConfigurationForBaslerCLP が有効で BaslerCLAutoConfig がアクティブな場合、Basler CLPライブラリのパスと検出モードは、以下の条件を満たしている場合に自動的に設定されます: GENICAM_CLPROTOCOL 変数が正しい場所を指しています。

変更の適用と永続化#

次への変更: DiscoveryMethod、GenCP、またはCLPの設定は、デバイスリストを更新した後にのみ有効になります。

構成はフレームグラバーに関連付けられた内部ファイルに保存されるため、プロデューサーが閉じられた後でも、セッションをまたいで設定が維持されます。

一部のコンシューマーにおけるインターフェースノードアクセス

HALCONなどの特定のアプリケーションでは、 Interface ノードは、少なくとも1つのデバイスが検出された場合にのみ使用可能です。もし DiscoveryMethod が次のように設定されている場合、自動的に無効になります: Camera Discovery が正しくないプロトコル(例:GenCPではなくCLP)で設定されている場合、デバイスの検出が妨げられ、検出方法の変更がブロックされる可能性があります。

これが発生した場合は、フレームグラバーのシリアル番号に関連付けられたフレームグラバー構成ファイルを見つけてください:

  • Windowsの場合: %AppData%\basler
  • Linuxの場合: ~/.config/basler

このファイル内の検出方法の設定を変更するか、ファイルを削除して構成をリセットしてください。

GenTL向けVisualApplets設計時の考慮事項#

pylonやその他のGenTLコンシューマーでGenTL Producerと共に使用するアプレットを設計する際には、いくつか考慮すべき点があります。

アプレットファイルの名前付け#

ファイル名は列挙ノードで直接使用されます InterfaceApplets インターフェースXML内の要素であり、GenICamの要件に準拠している必要があります Name 属性。

GenICam規格バージョン2.1.1では、以下の要件が規定されています:

Each node has a Name attribute. The Name must be unique within the camera description
file. Names can be composed of alphanumeric characters [A-Za-z0-9]. The schema also
allows the use of the underscore ‘_’, but not as a leading character.

階層要素とオペレーターインスタンスの名前付け#

アプレット内でアクセスできるパラメータは、VisualAppletsの設計におけるオペレーター階層から形成されます。パラメータ名はGenICamの要件に適合するように処理されますが、GenApiの要件に従ってオペレーターインスタンスや階層要素に名前を付けることで、生成されるノード名をより理解しやすくなります。

GenTLでのVisualApplets製アプレットの使用#

VisualAppletsで設計されたアプレットをpylonまたは他のGenTLコンシューマーのGenTL Producerで使用する場合、通常のカメラ検出方法では不十分な場合があり、カメラパラメータのアプレットへの自動同期が機能しないことがあります。

列挙ノード DiscoveryMethod インターフェースXML内の設定は次のようにする必要があります MixedDiscovery デバイスを列挙する前に、すべての DmaToPc オペレーターインスタンスを有効にします。

デバイスを開いた後、デバイスXML内の以下のブールノードを次のように設定する必要があります false: AutomaticFormatControl, AutomaticROIControl および AutomaticTapGeometryControl.

情報

pylonでBasler製以外のカメラを使用する場合、pylonのライセンスが必要です。1台のカメラに対して複数の DmaToPc オペレーターインスタンスが使用される場合、最初のエントリを除くすべてのチャンネルはBasler製以外のカメラとみなされます。