mengineer's blog

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

NI-IMAQdx GigE Visionカメラをつなぐ。

引き続きIMAQdxネタです、前回はUSB3 Vision云々と言ってましたが、
その前に、現状でGigE Visionカメラをつなぐ場合の話について。

ハードやソフトの環境設定などは、下記を参照して下さい。

How to Acquire from GigE Vision Cameras with Vision Acquisition Software - National Instruments

これらの環境設定済みの前提で、実際にカメラをつないだ時の動作だとか、
よく有るエラー、便利なツールなどを、以下小ネタ集的にまとめました。

2016/5/7 追記有り

NI MAXを起動 → カメラ認識まで

いきなりですがNI-MAXというソフトを起動します、こんなアイコン。

 f:id:mengineer:20160425111024p:plain

起動中の画面表示、MAXはMeasurement& Automation Explorerの略ですかね。

f:id:mengineer:20160425111518p:plain

カメラも計測機器の一種みたいな位置付けで、本ソフト内で管理するようです、
起動後、画面左側の”ソフトウェア”でIMAQdxのバージョンを参照可能です。

f:id:mengineer:20160425111729p:plain f:id:mengineer:20160425111847p:plain

ここで実際にカメラを接続すると、”デバイスとインターフェイス”に
自動でNI-IMAQdx Devicesという項目が現れ、認識されたカメラが表示されます。

f:id:mengineer:20160425113119p:plain

ここではcam2,cam3の2つが接続状態、番号はcam0から自動で割り振られますが、
たまに途中から始まることも有ります。(何らかの条件有るはずだが未解明)

操作したいカメラをダブルクリックで選択すると、右画面でカメラを操作出来ます。

取込開始時のError 0xBFF69031はFireWall設定

通常はGrabボタンで画像取込開始しますが、下記エラーが出る場合が有ります。

f:id:mengineer:20160425132615p:plain

NICの設定(JumboFrames)等は合っているのに、このエラーが発生する時は、
WindowsのFireWallが有効になっている場合が多いです。

下記リンクも参照して下さい。

Troubleshooting Error 0xBFF69031 When Acquiring from a GigE Camera - National Instruments

Error 0xBFF6901D はカメラ側が原因の場合も

操作したいカメラをダブルクリック時、下記エラーが発生する場合が有ります。

f:id:mengineer:20160425144010p:plain

このエラーは少し厄介です、通常はカメラを認識するとカメラ内のXMLファイルが、
PC内の所定フォルダ内に読み込まれます、下記はWindows7での例。 

f:id:mengineer:20160425143556p:plain

このXMLファイルにはカメラの一連の設定情報が記述されており、
選択したカメラのファイルから情報が展開され、MAXの右画面に反映されます。

フォルダ内に該当カメラのXMLが存在しないと上記エラーが発生しますが、
たまに、XMLファイルは読み込まれているのにエラーになるケースも有ります。

この時はXMLファイルの中身(記述)に誤りがあることがほとんどですので、
カメラメーカーに問い合わせする必要が有ります。

CameraValidatorでXMLファイルを検証可能

実はXMLファイルを検証出来るCameraValidatorというツールも準備されています。
C:\Program Files\National Instruments\NI-IMAQdx\Utility 内

f:id:mengineer:20160425173559p:plain

そのままダブルクリックすると接続されたカメラの動作をチェックしますが、
コマンドプロンプトから /ATTRIBUTES オプション付きで実行すると、
カメラから読み取ったXMLファイル内の全attributeの整合性をチェックします。

チェック結果は、下記フォルダ(Windows7の場合)に保存されます。

f:id:mengineer:20160425175127p:plain

Attributes Debug.txt が/ATTRIBUTES 付きでの検証結果、中身はこんな感じです。

f:id:mengineer:20160425175615p:plain

XMLファイル内の各Attribute毎に設定値の記述を検証します、
validationが全てPASSEDならOKですが、上記の0xBFF6901Dが発生する場合は、
どこかにFAILEDの項目が有るはずなので、その記述を修正する必要有り。

と言ってもカメラ内の情報なので、通常はメーカーに修正を依頼します。
(通常は、メーカーでも事前にXMLをチェックしてから製品をリリースするはず)

NIのサイトにも下記の情報が有りましたので、併せて参照して下さい。

IEEE1394カメラやGiGEカメラとNI-IMAQdxの互換性テスト - National Instruments

ちなみにこのXMLファイルは、GenICamというマシンビジョン関係の規格で、
詳細が定められていますが、正直あまり良く判っていないので、またの機会に。

2016/5/7 追記
NI-IMAQdx 14.5 (Vision Acquisition Software February 2015に含まれる)では、
XMLのチェックが一部緩和されているようです、下記リンクで情報発見。

What's New in NI-IMAQdx? - National Instruments

以下抜粋、一番下の out-of-range でも上記のError 0xBFF6901Dが出ていましたが、
14.5からは無視してくれるようです、上記エラーの発生頻度も減るかも。 f:id:mengineer:20160508093529p:plain