mengineer's blog

ニッチなネタばかりですが。

JAISDK USB3カメラをつなぐ

JAISDKは、JAISDKで(そのまんまやな)下記よりダウンロード可能です。

ダウンロード (JAI SDK)

最新版は2.1.6、上記には”GigE Vision対応カメラのテストや評価”と有りますが、
GenICam対応なので、実はUSB3 Visionのカメラなども接続出来るようです。

英語版のサイトには、それらしき内容も記載されていますね。

“Version 2 of the JAI SDK and Control Tool provides a common GenTL and GenICam-based control interface capable of working with Camera Link, CoaXPress, and USB3 Vision cameras, in addition to the same full GigE Vision support provided by the original JAI SDK. ”

ということで、JAISDKでUSB3 Visionカメラをつないで確認してみました。

※インストール手順などは省略しますが、普通にインストールしていけばOKです。
 (上記ページにスタートアップガイドも有るので、参照して下さい)

WindowsXPの場合、ツールは対応していますが、USB3は未対応なので要注意。
 下記リリースノート参照。

Release Note for JAI GigE Vision SDK

USB3関連の設定

JAISDKツールを起動し、右上のSettingのアイコン(赤枠)をクリックします。

f:id:mengineer:20160525113356p:plain

32-bitもしくは64-bit(インストール環境)のFactory Transport Layers
というセクションを開くと、色々なTransport Layersが表示されます。

以前GenICamネタで出てきたGenTLがこの部分に相当すると考えて下さい、
今回はUSB3なので、その中の”JAI_USB3_Vison”を開きます。

f:id:mengineer:20160525113153p:plain

EnabledをFalse→Trueに変更後、”Save and Close”を押します。

f:id:mengineer:20160525121454p:plain

Transport layerの設定が変更された(USB3 Visionが有効になった)ので、
下記ダイアログが表示されます、”はい”で、接続されたカメラをスキャンします。

f:id:mengineer:20160525121835p:plain

あらかじめUSB3 Vision対応のカメラを接続しておくと、
下記の様に表示されます、無事に認識されました、めでたしめでたし。

f:id:mengineer:20160525122003p:plain

この設定は一度変更しておけば、次回からはその状態で起動します。

詳しい内容は、JAISDKのインストール先(デフォルト C:\Program Files\JAI\SDK)の
docフォルダ内に、英文ですがユーザーガイド等が有りますので見てみて下さい。

Feature Listを見てみよう

ツール画面の右側に、カメラの各パラメータが表示されていますが、
これらが、以前GenICamのSFNCの時に出てきたFeature です、
この記事の時に、Featureは下記のグループに分かれているという話を書きました。

f:id:mengineer:20160512113613p:plain

ツールで”Feature Properties”をグループ毎に折りたたんだのが下記画面、
ほとんどの項目が、上記の分類に合致しているのが判ると思います。

f:id:mengineer:20160525125316p:plain

g) Pulse Generatorsと j) JAI Custom Controlが、規格書に無いFeatureです。

例えば、Pulse Generatorsで”Pulse Generator Selector”を選択して、
Node Info(下記赤枠)を押すと、Nodeの詳細情報を参照することが出来ます。

f:id:mengineer:20160525132056p:plain

下記が詳細情報、NameSpaceが”Custom”となっているのが判ります、
規格書に準じたFeatureだと、ここが”Standard”になります。

f:id:mengineer:20160525133956p:plain

PixelFormat → そしてPFNCへ

ということで、Standardの例としてPixelFormatを見てみます、
c) Image Format Controlを開き、”Pixel Format”を選択。

f:id:mengineer:20160525134407p:plain

同様にNode Infoを参照すると、Name Spaceは”Standard”ですね。

f:id:mengineer:20160525135525p:plain

ついでにもうひとつ、下の赤枠がPixelFormatの列挙体の選択肢です。

例えば”10 Bit Monochrome Packed”を見ると、その中身は、

GenICam Name : Mono10p
Value : 17432646

となっていますが、この内容はGenICamのPFNCに準じています、
下記はPixelFormatValueの一覧より抜粋

f:id:mengineer:20160525135142p:plain

GenICam Nameが左端の名称、Valueがその右の数値になっているのが判ります。
(0x010A0046 → 10進数で17432646ですね、念のため)

やっぱりBeginnerは使えない?

これもSFNCの回ですが、ユーザーをレベル(Begnner / Expert / Guru)分けして、
それぞれで参照出来るFeatureを切り換えている、という話を書きました、
JAISDKだと、下記プルダウンリストで変更出来ます。

f:id:mengineer:20160525141106p:plain

e) Analog Controlは、Guruだと下記の内容です、要はGainと黒レベルの調整。

f:id:mengineer:20160525141534p:plain

”Beginner”に変更すると、な、なんと、Black Level Selector等が消えています、
Beginnerに黒レベルは要らないってことですかね?、うーん。

f:id:mengineer:20160525143332p:plain

これはカメラの問題では無く、規格書で、Visibilityが”E"となっているからです、
下記が該当部分の抜粋、BlackLevel関連は全て”E”(Expert) と規定されています。

f:id:mengineer:20160525144803p:plain

SFNCの回で、Beginnerは実質使えないとか書いたのも、この辺からです。

今回は少し長くなりました、先日のGenICam関連の内容も少し出てきたので、
実際のSDKと各規格の関連みたいなものも、多少判ってきたかな。