Basler API C#...
Transcript of Basler API C#...
Edition 2.0 2012 年 8 月 17 日
Basler API C# スタートアップガイド
The Most Advanced GigE Vision camera – ace
ご使用にあたっての注意 Microsoft, Windows, Windows 2000, Windows XP, Windows Vista, Windows 7 および
Visual Basic, Visual C#は、マイクロソフト社の商標もしくは登録商標です。 その他の商品名などは、各社の商標もしくは登録商標です。 本書で使用しているソフトウエアやマニュアルの一部または全部を、株式会社リンクスの書面
による許可なくして転載することはできません。また、このマニュアルで記載している内容や
ソフトウエアを、現状のまま、もしくは一部改良を加えて再販することは固く禁じられていま
すのでご注意ください。 なお、本書の内容は将来予告なしに変更する場合があります。また、内容に関しては万全を期
して作成いたしましたが、万一、本書の記述に誤りがあった場合でも弊社では一切その責任を
負いかねますのでご了承ください。
技術的お問い合わせについて
BASLER カメラのご使用に関して疑問が生じた場合は、下記までお問い合わせください。 株式会社リンクス テクニカルサポートセンター
〒225-0014 神奈川県横浜市青葉区荏田西 1-13-11 FAX : 045-979-0732 e-mail : [email protected] Web : http://www.linx.jp
技術サポートを正確に行うために、お問い合わせはファックスまたは電子メールでお願いしま
す。
更新履歴
初版: 2011 年 2 月 21 日 2 版: 2012 年 8 月 17 日
i
The Most Advanced GigE Vision camera – ace
ii
目次
1. .......................................................................................................................... 1 はじめに
1.1 ........................................................................................................... 1 システム条件
2. ......................................................................... 2 C#サンプルプログラムによる取り込み
2.1 ............................................................. 2 C#サンプルプログラムの読み込みと実行
3. ........................................................................................... 5 VC#によるプログラミング
3.1 ................................................................................................ 5 プログラミング概略
3.2 ...................................................................... 5 画像データのバッファへの取り込み
3.2.1 ................................................................................................ 5 カメラの初期化
3.2.2 ....................................................................................................... 8 画像の取得
3.2.3 ............................................................................................ 9 カメラの終了処理
3.3 ................................................................................................ 9 取り込み画像の表示
3.3.1 ................................................................................. 9 画像表示プログラミング
3.4 .......................................................................................... 12 ビルドの設定について
4. ......................................................................................................... 14 カメラの設定変更
4.1 ....................................................................................... 14 パラメーター変更の手順
4.1.1 .............................................................................................. 15 露光時間の変更
4.2 .............................................................................................. 17 カメラのモード切替
4.2.1 ........................................................................... 17 ソフトウエアトリガモード
4.2.2 ........................................................................... 20 ハードウエアトリガモード
5. .......................................................................................... 22 カメラの設定パラメーター
5.1 ................................................................................................... 22 Analog Controls5.2 ....................................................................................................... 23 Image Format5.3 ......................................................................................................... 24 AOI Controls5.4 ............................................................................................. 25 Acquisition Controls5.5 .............................................................................................. 27 Digital I/O Controls5.6 ............................................................................... 28 Counter and Timer Controls5.7 ......................................................................................................... 30 LUT Controls5.8 ..................................................................................................... 30 Transport Layer5.9 ............................................................................................... 36 Configuration Sets5.10 .................................................................................. 37 Auto Function Parameters5.11 .............................................................................................. 38 Device Information5.12 ............................................................................................ 40 Chunk Data Streams5.13 ................................................................................................ 40 Events Generation5.14 ................................................................................... 41 Remove Parameter Limits
The Most Advanced GigE Vision camera – ace
1. はじめに
本文書では、Pylon で提供されている API で画像取り込みを行うことを説明しています。その
ため、取り込み設定は正常に行われていることを想定しています。取り込み設定に関しては、
「Basler Pylon スタートアップガイド」もしくは「Basler ace スタートアップガイド」をご一
読ください。 本文書では、C#開発言語を利用した方法を説明します。なお、今回提供するサンプルプログラ
ムでは Visual Studio 2005 を利用しています。
1.1 システム条件 本文書ではWindows 上でアプリケーションを構築していくことを想定しています。そのため、
開発環境については以下の条件を満たす必要があります。 C#言語の場合 Visual Studio 2003 以上 .NET の場合 Visual Studio 2005 以上、.NET Framework2.0 の使用
1
The Most Advanced GigE Vision camera – ace
2. C#サンプルプログラムによる取り込み
本節では Visual Studio の開発環境を利用して、C#での画像取り込み方法を説明します。ここ
ではサンプルプログラムを通してプログラミングの説明を行いますが、ここで使用するサンプ
ルプログラムは、Pylon をインストールした際にインストールされるものではなく、別途用意
したプログラムになりますのでご注意ください。本サンプルプログラムは、弊社ホームページ
よりダウンロードすることができます。 リンクスホームページ
http://www.linx.jp/download/camera/index.html
2.1 C#サンプルプログラムの読み込みと実行 本節ではサンプルプログラムを実行し、実際に API を利用して画像の撮影を行います。
1. サンプルプログラムの読み込み
リンクスホームページで配布しているファイルを解凍し、プロジェクトファイルを Visual Studio で開きます。SamplePrograms¥PylonGrabSampleGUI¥PylonGrabSampleStream_CSフォルダにあるプロジェクトファイルを開くと、以下のように表示されます。
2
The Most Advanced GigE Vision camera – ace
2. ビルドの実行
サンプルプログラムのビルドを行います。ソリューションエクスプローラからプロジェクトを
選択し、右クリックにてコンテキストメニューを表示します。コンテキストメニューより“ビ
ルド”を選択します。
3. プログラムの実行
F5 キーにより、プログラムを実行してください。サンプルプログラムが実行され、以下のダ
イアログが表示されます。 プログラムを実行するためには、初めに”Open”ボタンをクリックします。”Open”ボタンを
クリックすることで、画像を取り込むための初期化が行われます。初期化が成功すると、上部
のメッセージボックスに ”カメラのオープンに成功しました” と表示されます。
3
The Most Advanced GigE Vision camera – ace
カメラの初期化に成功後、”Grab”ボタンが有効になります。”Grab”ボタンをクリックするご
とに画像の撮影が行われます。
撮影後、”Close”ボタンをクリックすると、取り込みの終了処理を行います。”Exit”ボタンを
クリックするとプログラムを終了します。
4
The Most Advanced GigE Vision camera – ace
3. VC#によるプログラミング
3.1 プログラミング概略 本章では、カメラから画像を取り込む流れについて説明します。プログラミングの流れを理解
することで、プログラミングにおいてどのような処理が必要か明確化でき、理解が容易になり
ます。 カメラから画像を取得する流れは、大きく分けて以下の 3 つのステップに分けることができま
す。
① カメラオープン処理 ② 画像の取得処理 ③ カメラクローズ処理
それぞれのステップにおいて、行う処理は具体的に以下のとおりです。
① カメラオープン処理 PC に接続されているカメラ情報を取得する 各カメラに対して初期化を行う
② 画像の取得処理
カメラに対して取り込みを実行する
③ カメラクローズ処理 各カメラに対して終了処理を行う
3 つの処理を踏まえたうえで、次項よりプログラミングの詳細を説明します。
3.2 画像データのバッファへの取り込み 本節では具体的なプログラムを通して、画像取り込みについて説明します。 使用するプログラムは も単純な画像取り込み手順であり、カメラから画像を 1 枚取得し、そ
のデータがメモリに展開されるプログラムです。サンプルプログラムはリンクスホームページ
より取得ください。 プログラムについて、3.1プログラミング概略の流れに沿って説明を行います。プログラムフ
ァイルはSamplePrograms¥PylonAPI Program¥C#¥SimpleStreamGrab_CSにあるプロジェク
トファイル(Visual Studio 2010 にて作成)を使用します。
3.2.1 カメラの初期化 カメラの初期化手順は、PC に接続されているカメラの情報取得と、カメラそれぞれに対する
初期化に分割することができます。まずは、PC に接続されているカメラの情報取得について
説明します。
5
The Most Advanced GigE Vision camera – ace
Pylon.Initialize(); ・・・・① numDevices = Pylon.EnumerateDevices(); ・・・・② if (0 == numDevices) { throw new Exception("デバイスが見つかりません."); } まず①において、Pylon 自身の初期化を行います。この初期化処理は、Pylon を使用するアプ
リケーションではプログラムの初期化段階で必ず実行する必要があります。 次に②において、このプログラムを実行する PC に接続されているカメラの数を取得します。
もしカメラが接続されていなければ、0 を返します。 Pylon の初期化が完了すると、カメラに対する初期化を行います。下記の部分が各カメラに対
する初期化になります。
hDev = Pylon.CreateDeviceByIndex(0); ・・・・① Pylon.DeviceOpen(hDev, Pylon.cPylonAccessModeControl |
Pylon.cPylonAccessModeStream); ・・・・② hGrabber = Pylon.DeviceGetStreamGrabber(hDev, 0); ・・・・③ Pylon.StreamGrabberOpen(hGrabber); ・・・・④ hWait = Pylon.StreamGrabberGetWaitObject(hGrabber); ・・・・⑤ Pylon.DeviceFeatureFromString(hDev, "AcquisitionMode", "SingleFrame"); ・・・・⑥ isAvail = Pylon.DeviceFeatureIsWritable(hDev, "GevSCPSPacketSize");・・・・⑦ if (isAvail) { Pylon.DeviceSetIntegerFeature(hDev, "GevSCPSPacketSize", 1500); } Pylon.StreamGrabberSetMaxNumBuffer(hGrabber, 1); ・・・・⑧
payloadSize = (uint)Pylon.DeviceGetIntegerFeature(hDev, "PayloadSize"); ・・・・⑨ Pylon.StreamGrabberSetMaxBufferSize(hGrabber, payloadSize); Pylon.StreamGrabberPrepareGrab(hGrabber); ・・・・⑩
6
The Most Advanced GigE Vision camera – ace
buffer = new PylonBuffer<byte>(payloadSize, true); ・・・・⑪ buffers = new Dictionary<PYLON_STREAMBUFFER_HANDLE, PylonBuffer<Byte>>(); hStream = Pylon.StreamGrabberRegisterBuffer(hGrabber, ref buffer); buffers.Add(hStream, buffer); Pylon.StreamGrabberQueueBuffer(hGrabber, hStream, 0); ・・・・⑫
実際に各カメラに対する制御を行うのは PYLON_DEVICE_HANDLE クラスです。このクラス
のインスタンスに対して、①において、PC に接続されているカメラリストの 1 番目のものを
割り当てています。②では、PYLON_DEVICE_HANDLE のインスタンスにより制御を可能にす
るためのカメラの初期化を行っています。この引数として、第一引数にはカメラを制御するイ
ンスタンスを渡し、第二引数にて、カメラをどのモードで開くか設定します。ここで設定でき
るカメラのモードは以下のとおりです。 Pylon.cPylonAccessModeControl : カメラのすべてのパラメーターを制御することが
できるモードです。
Pylon.cPylonAccessModeStream : カメラから出力される画像データにアクセスする
ことができるモードです。
Pylon.cPylonAccessModeExclusive : このフラグを立てると他のアプリケーションか
らアクセスすることができなくなります。
Pylon.cPylonAccessModeMonitor : カメラのパラメーターを参照することしかでき
なくなります。 上記のうち Pylon.cPylonAccessModeControl と Pylon.cPylonAccessModeStream が有効にな
っているので、カメラのすべてのパラメーターにアクセスでき、なおかつカメラから取得され
るデータの操作が可能になります。 カメラの初期化が終了すると、③において、ストリームグラバーを取得しています。Pylon で
は、カメラ自身を設定するハンドルとは別に、カメラから出力されてくる画像の操作を専門に
行うためのハンドルが用意されています。そのため、画像のバッファなどの設定はこのストリ
ームグラバーに対して行うことになります。 ④でストリームグラバーを初期化し、⑤においてストリームグラバーが画像オブジェクトの待
ちになります。⑥では、カメラの取り込みのモードを変更しています。 ⑦ではカメラのパケットサイズが変更できるか確認を行っています。このパラメーターは必ず
しも設定する必要はありませんが、GigE カメラの場合、パケットはジャンボパケット、つま
り、細切れとなったパケットを数多く転送するのではなく、極力パケットサイズを大きくして
データを送信することを推奨しています。そのため、このサンプルプログラムでも、パケット
サイズが変更できる場合はサイズを変更しています。 ⑧ではストリームグラバーに割り当てるバッファの数を指定しています。⑪で画像バッファを
用意していますが、その画像バッファを確保するために必要な画像のサイズを⑨で取得してい
ます。⑩によりストリームグラバーが取り込みの待ちとなります。その後、⑫によりストリー
7
The Most Advanced GigE Vision camera – ace
ムグラバーの画像バッファも取り込み待ちの状態になります。この関数が実行された後は、バ
ッファに関する変更は不可能になり、変更したい場合には取り込みの待ち状態を解除しなけれ
ばいけません。
3.2.2 画像の取得 カメラの初期化が完了すると、画像の取り込みを行います。画像の取り込みは以下のようなプ
ログラムになります。 Pylon.DeviceExecuteCommandFeature(hDev, "AcquisitionStart"); ・・・・① if (Pylon.WaitObjectWait(hWait, 3000)) ・・・・② { Byte min, max; PylonGrabResult_t grabResult; if (Pylon.StreamGrabberRetrieveResult(hGrabber, out grabResult)) ・・・・③ { if (grabResult.Status == EPylonGrabStatus.Grabbed) { if (buffers.TryGetValue(grabResult.hBuffer, out imgBuf)) { getMinMax(imgBuf.Array, grabResult.SizeX, grabResult.SizeY,
out min, out max); Console.WriteLine("画像取り込み成功!. 小輝度値 = {0},
大輝度値 = {1}", min, max); } else { Console.Error.WriteLine("画像取り込み失敗.
エラーコード = {0}", grabResult.ErrorCode); } } } else{ Console.Error.WriteLine("画像取り込み失敗. エラーコード = {0}", grabResult.ErrorCode); } } else { Console.WriteLine("タイムアウト."); } 実際に取り込みを行うのは①の実行のみです。その後、②において 3 秒取り込み完了を待ちま
す。もしこの間に画像のオブジェクトが得られなければ、タイムアウトエラーになります。取
り込みに成功すると、③において取得画像が正常であるか確認を行い、画像が正常であれば、
画像の輝度値を確認する処理を行います。
8
The Most Advanced GigE Vision camera – ace
3.2.3 カメラの終了処理 取り込みが完了すると、それまでに利用したインスタンスに対して終了処理を実行する必要が
あります。終了処理は以下のとおりです。
imgBuf.Dispose(); ・・・・① Pylon.DeviceClose(hDev); ・・・・② Pylon.DestroyDevice(hDev); ・・・・③ imgBuf = null; ・・・・④ Pylon.Terminate(); ・・・・⑤ Console.Error.WriteLine("¥n終了するにはキーを押してください."); Console.ReadLine();
①において、画像のバッファを破棄しています。その後、②、③において、カメラに対するク
ローズ処理を行っています。 後に④を実行することで、Pylon 全体に対しての終了処理とな
ります。 プログラムを実行すると、カメラが正常に動作した場合 MS-DOS プロンプトにおいて以下の
ように表示されます。
3.3 取り込み画像の表示 本節では、実際に取り込んだ画像の表示を行う方法について紹介します。この節における説明
は、2.1C#サンプルプログラムの読み込みと実行で使用したサンプルプログラムを用いて行い
ます。 画像の表示は、1 次元配列に格納されたデータを bitmap 形式に変換し、ピクチャーボックス
に表示することで行います。
3.3.1 画像表示プログラミング
本節では、取り込み手順は3.2画像データのバッファへの取り込みで説明した内容と同じにな
るため省略します。実際のプログラミングは以下のようになります。
9
The Most Advanced GigE Vision camera – ace
Pylon.DeviceExecuteCommandFeature(hPylonDeviceHandle, "AcquisitionStart"); ・・・・① if (Pylon.WaitObjectWait(hWait, 3000)) { isReady = Pylon.StreamGrabberRetrieveResult(hGrabber, out grabResult); if (isReady) {
if (grabResult.Status == EPylonGrabStatus.Grabbed) { if (buffers.TryGetValue(grabResult.hBuffer, out imgBuf)) { CreateBitmap(ref bitmap, grabResult, imgBuf); ・・・・② if (bitmap != null) { SaveImage.Enabled = true; Display.Image = bitmap; StatusMessage.Text = "画像取込に成功しました。(" + (++counter) + ")"; } else { StatusMessage.Text = "撮像に失敗しました。(ビットマップ生成エラー)"; throw new Exception(); }
Pylon.StreamGrabberQueueBuffer(hGrabber, grabResult.hBuffer, grabResult.Context);
} else { StatusMessage.Text = "撮像に失敗しました。(画像の取得失敗)"; throw new Exception(); } } } else ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private void CreateBitmap( ref Bitmap bitmap, PylonGrabResult_t grabResult, PylonBuffer<Byte> imgBuf ) { PylonBuffer<Byte> newBuffer = null; if (grabResult.PixelType == EPylonPixelType.PixelType_Mono8) ・・・・③ { bitmap = new Bitmap(grabResult.SizeX, grabResult.SizeY, PixelFormat.Format8bppIndexed); ColorPalette colorPalette = bitmap.Palette; for (int i = 0; i < 256; i++) { colorPalette.Entries[i] = Color.FromArgb(i, i, i); } bitmap.Palette = colorPalette; newBuffer = imgBuf; }
10
The Most Advanced GigE Vision camera – ace
else if(grabResult.PixelType == EPylonPixelType.PixelType_YUV422packed) ・・・・④ { bitmap = new Bitmap(grabResult.SizeX, grabResult.SizeY,
PixelFormat.Format32bppRgb); if (!hConverter.IsValid) { hConverter = Pylon.PixelFormatConverterCreate(hPylonDeviceHandle,
1); ・・・⑤ } Pylon.PixelFormatConverterConvert(hConverter, ref newBuffer, imgBuf); } BitmapData bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width,
bitmap.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat); IntPtr ptrBmp = bmpData.Scan0; int imageStride = grabResult.PixelType == EPylonPixelType.PixelType_Mono8 ?
grabResult.SizeX : grabResult.SizeX * 4;
if (imageStride == bmpData.Stride) { Marshal.Copy(newBuffer.Array, 0, ptrBmp, bmpData.Stride * bitmap.Height); } else { for (int i = 0; i < bitmap.Height; ++i) { Marshal.Copy(newBuffer.Array, i * imageStride, new IntPtr(ptrBmp.ToInt64()
+ i * bmpData.Stride), grabResult.SizeX); } } bitmap.UnlockBits(bmpData); }
上記①において、取り込み開始の命令をカメラに対して送信しています。その後の IF 分岐に
より、正常に画像が撮影できたかを確認しています。②において取得画像の表示を行うための
Bitmap に変換しています。 CreateBitmap のメソッドは実際に撮影画像を Bitmap 形式に変換するために実行します。こ
の関数では、データがモノクロかカラーかを判断して、どちらも Bitmap 形式に正常に変換で
きるようになっています。③において取得画像がモノクロであると判断されると、Bitmap 関
数によりデータの作成が行われます。 ④においてカラー画像と判断されると、Bitmap 関数によりデータを作成された後、⑤におい
て PixelFormatConverterCreate 関数を呼び出しています。これは Pylon API で提供されてい
る関数です。接続されているカメラがカラー画像の場合、カメラは RGB のデータを PC に送信
しているのではなく、YUV データのうち YU のデータを PC に送信しています。このデータか
ら RGB のカラーデータに変換する必要があるため、⑤で変換を行っています。データが完成
した後は、Bitmap 形式として画像の幅が 4 の倍数である必要があるため、その並び替えを行
っています。
11
The Most Advanced GigE Vision camera – ace
3.4 ビルドの設定について これまでに紹介したプログラムでは、.NET ライブラリの参照設定をプロジェクトファイルに
設定しているため、特別な設定を行う必要はありません。しかし、実際のアプリケーションで
は設定をアプリケーションごとに行う必要があります。ここでは、.NET ライブラリの参照設
定方法について説明します。
1. ダイアログを開く
ソリューションエクスプローラのツリーにおいて、“参照設定”を選択します。右クリックに
よりコンテキストメニューを開き、“参照の追加”を選択します。
2. 共通言語ランライムサポート
参照の追加のダイアログにおいて、.NET タブを開き、表示されるリストから Pylon.NET を選
択します。
12
The Most Advanced GigE Vision camera – ace
または、同じダイアログの参照タブより C:¥Program Files¥Basler¥pylon 3.1¥pylonc.net¥binを参照することでも同じ設定を行うことができます。
13
The Most Advanced GigE Vision camera – ace
3. 設定の確認
再びソリューションエクスプローラのツリーにおいて、PylonC.NET が追加されていることが
確認できれば、設定は終了です。
4. カメラの設定変更 カメラを実際に使用する場合には、ご利用になる目的や環境に合わせて適切な設定を行う必要
があります。本章では、Pylon API を通してカメラの設定をプログラムから変更する方法につ
いて説明します。
4.1 パラメーター変更の手順 Basler GigE カメラは目的に沿った豊富な設定項目を提供しています。この豊富な設定項目の
中から目的にあったパラメーターを見つけ、Pylon API で設定する方法について、カメラのビ
ューワーソフト Pylon Viewer を用いた容易な方法を紹介します。 パラメーターの変更については、大きく分けて 3 つの手順に分割できます。
1. Pylon Viewer にて目的の機能(パラメーター)を見つける 2. 目的の動作を確認し、Pylon Viewer の説明箇所に表示されるパラメーター名を取
得する 3. Pylon API によりプログラムに実装する
上記 3 つの手続きを踏まえ、実際にパラメーターを変更する機能をアプリケーションに実装し
ます。
14
The Most Advanced GigE Vision camera – ace
4.1.1 露光時間の変更 本節では、実際にPylon APIを利用して露光時間を変更します。プログラムについては、2.1 C#サンプルプログラムの読み込みと実行 を利用して行います。 1. Pylon Viewer にて露光時間を変更 Pylon Viewer を利用して露光時間の変更を行います。Pylon Viewer の使用方法は Basler Pylon スタートアップガイドをご参照ください。露光時間については、下図のようにカメラを
コントロールするための Features にて、Basler → Acquisition Controls →Exposure time (abs)[us]の値を変更することで設定を行うことができます。
2. パラメーター名の確認 Pylon Viewer にて露光時間が変更できることを確認した後、Features の Exposure Time (Abs)[us]を選択した状態で、ツールの下部にある Feature Documentation を確認します。
Feature Documentation には、選択したパラメーターの説明が表示されます。ここで、Node Name に変更したパラメーター名、Interface Type に設定値の型が表示されます。この Node
15
The Most Advanced GigE Vision camera – ace
Name をコピーし、変更する値が IFloat 型であることを控えておきます。 3. パラメーターの実装 先ほど利用したパラメーターをプログラムに実装します。2.1C#サンプルプログラムの読み込
eviceSetFloatFeature 関数は、カメラに対して Float 型の値を設定するために用意されてい
数に対して、カメラへのハンドル、設定パラメーター名、書き込む値を指定して実行し
みと実行 で利用したサンプルプログラムをVisual Studioで開き、Grab_Click関数において
Pylon.DeviceExecuteCommandFeatureで”AcquisitionStart”を実行する関数の前に、以下の
ように追加します。
Dる 関 数 で す 。 こ の 他 に も 、 設 定 値 の 型 に 合 わ せ て DeviceSetBooleanFeature や
DeviceSetIntegerFeature などが用意されています。利用する関数については、Pylon Viewer上で確認できる Feature Documentation に記載されている Interface Type により判断しま
す。 この関
ます。設定パラメーター名には、Feature Documentation で確認したパラメーター名を指定
します。 4. Pylon API プログラムにおける露光時間変更の確認 プログラムを追加した後、実際にアプリケーションを実行して露光時間が変わることを確認し
0000µsec の場合
てください。 4
Pylon.DeviceSetFloatFeature(hPylonDeviceHandle, "ExposureTimeAbs", 10000); //追加部分
ylon.DeviceExecuteCommandFeature(hPylonDeviceHandle, "AcquisitionStart"); P
16
The Most Advanced GigE Vision camera – ace
5000µsec の場合
4.2 カメラのモード切替
えを Pylon API で行う方法について説明します。これまで
4.2.1 ソフトウエアトリガモード について説明します。ソフトウエアトリガモ
本節では、取り込みモードの切り替
のサンプルプログラムでは、カメラのタイミングで画像を取り込むフリーランモードにて取り
込みを行いました。ここでは、ソフト上で撮影のタイミングをカメラに知らせる“ソフトウエ
アトリガモード”、外部からの入力信号のタイミングで画像の撮影を行う“ハードウエアトリガ
モード”の説明を行います。
ここでは、ソフトウエアトリガモードの取り込み
ードの実装方法についても、露光時間の切り替えと同様に、まず初めに Pylon Viewer にて取
り込み動作とパラメーター名を確認し、そのパラメーター名を利用してアプリケーションに実
装します。 1. Pylon Viewer によるソフトウエアトリガ取り込み はじめに Pylon Viewer にてソフトウエアトリガ取り込みを確認します。
17
The Most Advanced GigE Vision camera – ace
取り込みを開始する前に、カメラのモード設定を変更します。Acquisition Controls ツリーにお
いて、Trigger Mode の項目を”On”、Trigger Source の項目を”Trigger Software”に変更しま
す。この変更の後に、連続取り込みの開始ボタンをクリックします。Pylon Viewer に画像表示
用のウインドウが表示されますが、この時点では画像は表示されません。この状態で、Generate Software Trigger の項目にある”Execute”ボタンをクリックします。このとき、初めて画像が撮
影され、ウインドウに画像が表示されます。”Execute”のボタンをクリックするごとに画像が撮
影されることを確認してください。 2. パラメーターの確認 変更したパラメーターを Feature Documentation にて確認します。利用したパラメーターは以
下のとおりです。 Trigger Mode NodeName : TriggerMode
Interface Type : IEnumeration • Interface Type が IEnumeration の場合、文字列を指定します。この場合、設定したい項目
の” Symbolic Name”の値を指定します。このときの文字列は”On”です。 Trigger Source NodeName :TriggerSource
Interface Type : IEnumeration ※ Trigger Source の値は” Software”です Generate Software Trigger NodeName : TriggerSoftware
Interface Type : ICommand • Interface Type が ICommand の場合、コマンドを実行するための関数に、NodeName を指
定します。 3. モード変更の実装
18
The Most Advanced GigE Vision camera – ace
Pylon Viewerに確認したパラメーターを実装します。4.1.1露光時間の変更 と同様にGrab_Click関数のPylon.DeviceExecuteCommandFeatureで”AcquisitionStart”を実行する関数の前に、以
下のように追加します。
関数の①と②において、取り込みのモードを変更しています。取り込みのモードが変更された後
に、③で取り込み開始を行っています。ただし、取り込みがトリガモードに切り替わっているの
で、画像の撮影は行いません。④の関数を実行することで初めて撮影が行われます。 4. 撮影の確認 プログラムを実行して、正しく撮影が行えることを確認してください。なお、 Pylon.DeviceExecuteCommandFeature(hPylonDeviceHandle, "TriggerSoftware");を無効化す
ることで、撮影が行えなくなり、正しくソフトウエアトリガモードで動作していることを確認す
ることができます。
Pylon.DeviceExecuteCommandFeature(hPylonDeviceHandle, "AcquisitionStart");・・・③ Pylon.DeviceExecuteCommandFeature(hPylonDeviceHandle, "TriggerSoftware");・・・④
Pylon.DeviceFeatureFromString(hPylonDeviceHandle, "TriggerMode", "On");・・・① Pylon.DeviceFeatureFromString(hPylonDeviceHandle,
"TriggerSource", "Software");・・・②
19
The Most Advanced GigE Vision camera – ace
4.2.2 ハードウエアトリガモード ここではハードウエアトリガ取り込みについて、Pylon API を用いた実装方法を説明します。
基本的なプログラミングについては、ソフトウエアトリガと変わりません。 1. Pylon Viewer による取り込み確認 ハードウエアトリガによる取り込みが正常に動作するか Pylon Viewer にて確認を行います。
取り込みを開始する前に、カメラの設定を変更します。Acquisition Controls ツリーにおいて、
Trigger Mode の項目を”On”、Trigger Source の項目を”Line 1”もしくは”Line 2”に変更しま
す。この入力ラインの選択に関しては、ご利用環境に合わせて設定してください。次に、トリ
ガの極性を示す Trigger Activation を”Rising Edge”もしくは”Falling Edge”の設定にします。
こちらもご利用環境に合わせて適切な設定を行ってください。変更が完了した後に、連続取り
込みの開始ボタンをクリックします。Pylon Viewer に画像表示用のウインドウが表示されま
すが、この時点では画像は表示されません。外部よりトリガ信号を入力するごとに、画像が表
示されることをご確認ください。 2. パラメーターの確認 変更したパラメーターを Feature Documentation にて確認します。利用したパラメーターは
以下のとおりです。 Trigger Mode NodeName : TriggerMode
Interface Type : IEnumeration ※ Trigger Mode の値は” On”です
20
The Most Advanced GigE Vision camera – ace
Trigger Source NodeName :TriggerSource
Interface Type : IEnumeration ※ Trigger Source の値は” Line1”もしくは” Line2”です。 Trigger Source NodeName : TriggerActivation
Interface Type : IEnumeration ※ Trigger Activation の値は” RisingEdge”もしくは” FallingEdge”です。 4. モード変更の実装
Pylon Viewerに確認したパラメーターを実装します。4.1.1露光時間の変更 と同様に
Grab_Click関数のPylon.DeviceExecuteCommandFeatureで”AcquisitionStart”を実行する関
数の前に、以下のように追加します。
①において、カメラのモードをトリガモードに切り替えています。その後、②において Line1より入力される信号をトリガとして設定し、③においてトリガの極性を指定しています。④に
てトリガ取り込みを開始していますが、実際にはトリガ入力を待つ状態になります。 5. 撮影の確認 プログラムを実行し、Open ボタンで初期化を行い、Grab ボタンで取り込みを開始します。
このとき、ピクチャーボックスには画像は表示されず、トリガが入力されたタイミングで画像
が表示されることを確認してください。
Pylon.DeviceFeatureFromString(hPylonDeviceHandle,
"TriggerActivation", "RisingEdge")・・・③ Pylon.DeviceExecuteCommandFeature(hPylonDeviceHandle,
"AcquisitionStart"); ・・・④
Pylon.DeviceFeatureFromString(hPylonDeviceHandle, "TriggerMode", "On");・・・① Pylon.DeviceFeatureFromString(hPylonDeviceHandle, "TriggerSource", "Line1");・・・②
21
The Most Advanced GigE Vision camera – ace
5. カメラの設定パラメーター
BASLER カメラは非常に多くの設定パラメーターを有しており、これらを適切に設定すること
によって高度な画像取込を実現することができます。この章では Pylon を通して設定可能なカ
メラパラメーター一覧を紹介します。
5.1 Analog Controls カテゴリー パラメーター (Node Name) 説明
GainAuto 自動ゲイン設定機能モードを設定します。自
動ゲイン設定機能を用いてゲインを自動的に
調整する場合に使用します。 Enum Value: Off, Once, Continuous Interface Type: IEnumeration
GainSelector ゲイン制御方法を選択します。 Enum Value: All Interface Type: IEnumeration
ゲイン設定
GainRaw 選択したゲイン制御に指定する値を設定しま
す。設定は整数値です。 Interface Type: IInteger
ブラックレベ
ル設定
BlackLevelSelector ブラックレベル制御方法を選択します。 Enum Value: All Interface Type: IEnumeration
22
The Most Advanced GigE Vision camera – ace
BlackLevelRaw ブラックレベルの制御値を整数で指定しま
す。 Interface Type: IInteger
BalanceWhiteAuto 自動ホワイトバランス機能を適用します。 Enum Value: Off, Once Interface Type: IEnumeration
BalanceRatioSelector BalanceRatio 制御方法を選択します。 Enum Value: Red, Green, Blue Interface Type: IEnumeration
BalanceRatioAbs BalanceRatio の制御値を実数で指定します。 Interface Type: IFloat
ホワイト バランス設定
BalanceRatioRaw BalanceRatio の制御値を整数で指定します。 Interface Type: IInteger
GammaEnable ガンマ補正の適用有無を選択します。 Interface Type: IBoolean
ガンマ補正設
定
Gamma ピクセル輝度のガンマ補正を実施します。通
常は CRT のような表示システムの非線形性を
補正するために使用します。 Interface Type: IFloat
ディジタル シフト設定
DigitalShift ディジタルシフト制御の値を指定します。 Interface Type: IInteger
5.2 Image Format カテゴリー パラメーター (Node Name) 説明
PixelFormat 画像のピクセルフォーマットを指定します。 Enum Value: Mono8, Mono12Packed,
Mono12, BayerBG8, BayerBG12, YUV422Packed, YUV422_YUYV_Packed
Interface Type: IEnumeration
画像フォーマ
ット設定
PixelSize (読取専用パラメーター) 画像のピクセルの深さを bit で示します。こ
の値にはピクセルフォーマットの設定が関係
しています。 Interface Type: IEnumeration
23
The Most Advanced GigE Vision camera – ace
PixelColorFilter (読取専用パラメーター) 取得される画像に適用されているベイヤーフ
ィルター配列を示します。 Interface Type: IEnumeration
PixelDynamicRangeMin (読取専用パラメーター) ピクセルが取りうる 小輝度値を示します。 Interface Type: IInteger
PixelDynamicRangeMax (読取専用パラメーター) ピクセルが取りうる 大輝度値を示します。 Interface Type: IInteger
ReverseX 画像を水平方向に反転して出力します。AOI設定は反転させた後の画像に反映されます。 Interface Type: IBoolean
TestImageSelector テスト画像モードを選択します。 Enum Value: Off, Testimage1 ~ 6 Interface Type: IEnumeration
5.3 AOI Controls カテゴリー パラメーター (Node Name) 説明
Width AOI の幅を指定します。 Interface Type: IInteger
AOI サイズ設
定
Height AOI の高さを指定します。 Interface Type: IInteger
OffsetX AOI の X オフセット(センサーの左端から画
像の左端までの距離)をピクセル単位で指定
します。 Interface Type: IInteger
OffsetY AOI の Y オフセット(センサーの上端から画
像の上端までの距離)をピクセル単位で指定
します。 Interface Type: IInteger
AOI 位置設定
CenterX 画像(AOI)中心の X 座標をセンサー中心に
合わせます。 Interface Type: IBoolean
24
The Most Advanced GigE Vision camera – ace
CenterY 画像(AOI)中心の Y 座標をセンサー中心に
合わせます。 Interface Type: IBoolean
5.4 Acquisition Controls カテゴリー パラメーター (Node Name) 説明 連続取込 枚数設定
AcqusitionFrameCount 一回の取込命令で連続的に取得する画像
の枚数を指定します。(マルチショット機
能) Interface Type: IInteger
TriggerSelector トリガタイプを選択します。 Enum Value: AcquisitionStart,
FrameStart Interface Type: IEnumeration
TriggerMode トリガモードを設定します。 Enum Value: On, Off Interface Type: IEnumeration
TriggerSoftware ソフトウエアトリガ信号を生成します。
TriggerSource を'software'に設定した場
合に使用します。 Interface Type: ICommand
TriggerSource トリガ信号のソースを指定します。 Enum Value: TriggerSoftware, Line1 Interface Type: IEnumeration
TriggerActivation トリガ信号の極性を指定します。 Enum Value: RisingEdge, FallingEdge Interface Type: IEnumeration
トリガ モード設定
TriggerDelayAbs トリガディレイ時間を実数で指定します
(単位:usec)。 トリガ信号を受けてから実際に有効化す
るまでの時間を設定できます。 Interface Type: IFloat
露光モード設
定
ExposureMode 露光モードを指定します。 Enum Value: Timed, TriggerWidth Interface Type: IEnumeration
25
The Most Advanced GigE Vision camera – ace
ExposureAuto 自動露光機能のモードを有効化します。自
動露光機能は、設定可能範囲内で自動的に
露光時間(AutoExposureTimeAbs)を調
整します。 Enum Value: Off, Once, Continuous Interface Type: IEnumeration
ExposureTimeAbs カメラの露光時間を実数で指定します。
(単位:usec) Interface Type: IFloat
ExposureTimeRaw ExposureTimeBase パラメーターへの乗数
を整数値で指定します。実際の露光時間
は、ExposureTimeRaw と
ExposureTimeBaseAbs の積になります。 Interface Type: IInteger
ReadoutTimeAbs (読取専用パラメーター) センサー読み出し時間を示します。(単
位:usec) Interface Type: IFloat
ExposureOverlapTimeMaxAbs TriggerWidth(パルス幅露光)モードにお
いて、センサー露光とセンサー読み出しの
大オーバーラップ時間を実数値で設定
します。(単位:usec) Interface Type: IFloat
ExposureOverlapTimeMaxRaw TriggerWidth(パルス幅露光)モードにお
いて、センサー露光とセンサー読み出しの
大オーバーラップ時間を raw 値で設定
します。 Interface Type: IInteger
AcquisitionFrameRateEnable カメラのフレームレート指定機能を有効
化します。 Interface Type: IBoolean
AcquisitionFrameRateAbs フレームレートを指定します。1 秒間に取
得する画像枚数を実数で指定することが
できます。 Interface Type: IFloat
フレーム レート設定
ResultingFrameRateAbs (読取専用パラメーター) 現在の AOI、露光時間、バンド幅設定にお
ける 大フレームレートを示します。フレ
26
The Most Advanced GigE Vision camera – ace
ームレートは実数で表され、1 秒間に取り
込むことができるフレーム数
(frames/sec)を意味します。 Interface Type: IFloat
AcquisitionStatusSelector AcquisitionStatus で読み取る内部的な状
態を指定します。 Enum Value: FrameTriggerWait Interface Type: IEnumeration
取込状態 感知設定
AcquisitionStatus (読取専用パラメーター) AcquisitionStatusSelector で選択した内
部的な状態を示します(True または
False)。 Interface Type: IBoolean
5.5 Digital I/O Controls カテゴリー パラメーター (Node Name) 説明
LineSelector 使用する I/O ポートの入出力ラインを選択
します。 Enum Value: Line1, Out1 Interface Type: IEnumeration
LineMode カメラの物理ライン(入力または出力)を
制御するために使用されます。ラインが入
力と出力のどちらのモードも対応してい
る場合、電気的な競合を避けるためデフォ
ルトでは入力が選択されています。 Enum Value: Input, Output Interface Type: IEnumeration
LineSource 選択されたラインが Output 設定の場合、
カメラ内部で生成される信号(ソースとな
る信号)を指定します。 Enum Value: ExposureActive,
FrameTriggerWait, TimerActive, UserOutput
Interface Type: IEnumeration
I/O ポート設
定
LineInverter 選択された入力または出力ラインの信号
を極性反転させる場合に使用します。 Interface Type: IBoolean
27
The Most Advanced GigE Vision camera – ace
LineDebouncerTimeAbs 選択された入力ラインの Debouncer 時間
(無効時間)を設定します。(単位:usec)入力信号のパルス幅が設定された時間以
下の場合は無視されます。 Interface Type: IFloat
LineStatus (読取専用パラメーター) 選択された入力ラインの現在の論理状態
を示します。 Interface Type: IBoolean
LineStatusAll (読取専用パラメーター) 使用可能なすべての入力ラインの現在の
論理状態を示します。 Interface Type: IInteger
UserOutputSelector ユーザ定義可能な出力信号を選択します。 Enum Value: UserOutput1 Interface Type: IEnumeration
UserOutputValue ユーザ定義出力信号の状態を指定します。 Interface Type: IBoolean
UserOutputValueAll すべてのユーザ定義出力信号の状態を一
度に指定します。 Interface Type: IInteger
5.6 Counter and Timer Controls カテゴリー パラメーター (Node Name) 説明
TimerDelayTimebaseAbs タイマー遅れ時間の設定において、raw 値
(TimerDelayRaw)に対する乗数(time base 値)を実数で指定します。(単位:
usec) Interface Type: IFloat
TimerDurationTimebaseAbs タイマー持続時間の設定において、raw 値 (TimerDurationRaw)に対する乗数
(time base 値)を実数で指定します。(単
位:usec) Interface Type: IFloat
タイマーモー
ド設定
TimerSelector タイマー設定を選択します。
28
The Most Advanced GigE Vision camera – ace
Enum Value: Timer1 Interface Type: IEnumeration
TimerDelayAbs タイマー遅れ時間を実数で指定します。
(単位:usec) Interface Type: IFloat
TimerDelayRaw
タイマー遅れ時間の raw 値を整数で指定
します。実際のタイマー遅れ時間は、
TimerDelayRaw と
TimerDelayTimeBaseAbs の積になりま
す。 Interface Type: IInteger
TimerDurationAbs
タイマー持続時間を実数で指定します。
(単位:usec) Interface Type: IFloat
TimerDurationRaw タイマー持続時間の raw 値を整数で指定
します。実際のタイマー持続時間は、
TimerDurationRaw と
TimerDurationTimeBaseAbs の積になり
ます。 Interface Type: IInteger
TimerTriggerSource タイマーの開始トリガ信号として使用さ
れるカメラ内部信号を指定します。 Enum Value: ExposureStart Interface Type: IEnumeration
TimerTriggerActivation タイマー開始信号の極性を指定します。 Enum Value: RisingEdge Interface Type: IEnumeration
CounterSelector カウンターを選択します。 Enum Value: Counter1, Counter2 Interface Type: IEnumeration
CounterEventSource カウンターをインクリメントするソース
となるイベントを指定します。 Enum Value: FrameStart Interface Type: IEnumeration
カウンター設
定
CounterResetSource カウンターをリセットするソースを指定
します。 Enum Value: Off, Software, Line1 Interface Type: IEnumeration
29
The Most Advanced GigE Vision camera – ace
CounterReset カウンターのリセットを即座に実行しま
す。リセット後、カウンターはすぐに次の
カウントを開始します。 Interface Type: ICommand
5.7 LUT Controls カテゴリー パラメーター (Node Name) 説明
LUTSelector ルックアップテーブルを設定します。 Enum Value: Luminance Interface Type: IEnumeration
LUTEnable ルックアップテーブルを有効化します。 Interface Type: IBoolean
LUTIndex アクセスするルックアップテーブルの要
素を指定します。LUT 配列のインデックス
指定に使用します。 Interface Type: IInteger
LUT 設定
LUTValue ルックアップテーブル要素の値を指定し
ます。LUTIndex で指定した要素に反映さ
れます。 Interface Type: IInteger
5.8 Transport Layer カテゴリー パラメーター (Node Name) 説明
PayloadSize ペイロードサイズ(単位:バイト)。ペイ
ロードは画像データと CHUNK データ
(AOI サイズなどの付加情報)であり、パ
ケットのヘッダー以外の情報を指します。 Interface Type: IInteger
データ伝送設
定
GevVersionMajor (読取専用パラメーター) カメラがサポートする GigE Vision 規格の
メジャーバージョンを示します。 Interface Type: IInteger
30
The Most Advanced GigE Vision camera – ace
GevVersionMinor (読取専用パラメーター) カメラがサポートする GigE Vision 規格の
マイナーバージョンを示します。 Interface Type: IInteger
GevDeviceModeIsBigEndian (読取専用パラメーター) ブートストラップレジスターのエンディ
アンを示します。'True'の場合、ビッグエ
ンディアンになります。 Interface Type: IBoolean
GevDeviceModeCharacterSet (読取専用パラメーター) キャラクタセットの値です。 1の時、UTF-8を意味します。 Interface Type: IInteger
GevInterfaceSelector 設定を反映するネットワークインターフ
ェースを選択します。 Enum Value: NetworkInterface0 Interface Type: IEnumeration
GevMACAddress (読取専用パラメーター) 選択したネットワークインターフェース
の MAC アドレスを示します。 Interface Type: IInteger
GevSupportedIPConfigurationLLA
(読取専用パラメーター) 選択したネットワークインターフェース
が LLA(自動的に IP アドレスを取得する機
能)に対応しているかを示します。 Interface Type: IBoolean
GevSupportedIPConfigurationDHCP
(読取専用パラメーター) 選択したネットワークインターフェース
が DHCP 方式による IP アドレス設定機能
に対応しているかを示します。 Interface Type: IBoolean
GevSupportedIPConfigurationPersistentIP
(読取専用パラメーター) 選択したネットワークインターフェース
が固定 IP アドレス設定に対応しているか
を示します。 Interface Type: IBoolean
GevCurrentIPConfiguration 選択したネットワークインターフェース
の IP 設定(固定 IP アドレス、DHCP、また
31
The Most Advanced GigE Vision camera – ace
は LLA)を設定します。 Interface Type: IInteger
GevCurrentIPAddress (読取専用パラメーター) 選択したネットワークインターフェース
の現在の IP アドレスを示します。 Interface Type: IInteger
GevCurrentSubnetMask (読取専用パラメーター) 選択したネットワークインターフェース
の現在のサブネットマスクを示します。 Interface Type: IInteger
GevCurrentDefaultGateway (読取専用パラメーター) 選択したネットワークインターフェース
の現在のデフォルトゲートウェイを示し
ます。 Interface Type: IInteger
GevPersistentIPAddress 選択したネットワークインターフェース
が固定 IP アドレス設定に対応しており、か
つ有効化されている場合、固定 IP アドレス
を設定します。 Interface Type: IInteger
GevPersistentSubnetMask 選択したネットワークインターフェース
が固定 IP アドレス設定に対応しており、か
つ有効化されている場合、固定サブネット
マスクを設定します。 Interface Type: IInteger
GevPersistentDefaultGateway 選択したネットワークインターフェース
が固定 IP アドレス設定に対応しており、か
つ有効化されている場合、固定デフォルト
ゲートウェイを設定します。 Interface Type: IInteger
GevLinkSpeed (読取専用パラメーター) 選択したネットワークインターフェース
の接続速度(Mbps)を示します。 Interface Type: IInteger
GevFirstURL (読取専用パラメーター) XML 形式のデバイス記述ファイルへの
URL を示します。
32
The Most Advanced GigE Vision camera – ace
Interface Type: IString
GevSecondURL (読取専用パラメーター) XML 形式のデバイス記述ファイルへの
URL(候補 2)を示します。 Interface Type: IString
GevNumberOfInterfaces (読取専用パラメーター) デバイス上のネットワークインターフェ
ースの数を示します。 Interface Type: IInteger
GevMessageChannelCount (読取専用パラメーター) デバイス上でサポートされているメッセ
ージチャンネルの数を示します。 Interface Type: IInteger
GevStreamChannelCount (読取専用パラメーター) デバイス上でサポートされているストリ
ームチャンネルの数を示します。 Interface Type: IInteger
GevSupportedOptionalCommandsEVENTDATA
(読取専用パラメーター) EVENTDATA_CMD と EVENTDATA_ACKがサポートされているかを示します。 Interface Type: IBoolean
GevSupportedOptionalCommandsEVENT
(読取専用パラメーター) EVENT_CMDとEVENT_ACKがサポートさ
れているかを示します。 Interface Type: IBoolean
GevSupportedOptionalCommandsPACKETRESEND
(読取専用パラメーター) PACKETRESEND_CMD がサポートされて
いるかを示します。 Interface Type: IBoolean
GevSupportedOptionalCommandsWRITEMEM
(読取専用パラメーター) WRITEMEM_CMD と WRITEMEM_ACK が
サポートされているかを示します。 Interface Type: IBoolean
GevSupportedOptionalCommandsConcatenation
(読取専用パラメーター) 単一メッセージでの複数操作機能がサポ
ートされているかを示します。 Interface Type: IBoolean
33
The Most Advanced GigE Vision camera – ace
GevHeartbeatTimeout (読取専用パラメーター) ハートビートタイムアウト時間を示しま
す。(単位:msec) Interface Type: IInteger
GevTimestampTickFrequency (読取専用パラメーター) 1 秒間のタイムスタンプクロック数(tick)
を示します。 Interface Type: IInteger
GevTimestampControlLatchReset
保持されているタイムスタンプコントロ
ール値をリセットします。 Interface Type: ICommand
GevCCP (読取専用パラメーター) コントロールチャンネル優先機能を設定
します。 Enum Value: Control Interface Type: IEnumeration
GevSCPInterfaceIndex (読取専用パラメーター) 使用するネットワークインターフェース
のインデックスを設定します。 Interface Type: IInteger
GevSCPHostPort (読取専用パラメーター) デバイスがデータを送るポートを設定し
ます。 Interface Type: IInteger
GevSCPSDoNotFragment 伝送パケットのサイズが NIC の許容値を
超えている場合に、パケットを一切伝送し
ない設定を有効化/無効化します。有効化し
た場合には、NIC の許容値の調整を必ず行
う必要があります。無効化した場合、デー
タパケットは縮小されて到達し、リセンド
要求を頻発することで伝送を確立しよう
とする挙動になります。 Interface Type: IBoolean
GevSCPSBigEndian (読取専用パラメーター) ビッグエンディアン設定を示します。 Interface Type: IBoolean
GevSCPSPacketSize 選択したストリームチャンネルから伝送
するデータのパケットサイズを設定しま
34
The Most Advanced GigE Vision camera – ace
す(単位:Byte)。パケットの先頭と終端
部分は除きます。(パケットサイズは画像
1 つを等分割したサイズである必要はない
ため、 後のパケットはここで設定したサ
イズよりも小さくなる可能性がありま
す。) Interface Type: IInteger
GevSCPD (Inter-Packet Delay)
選択したストリームチャンネルから伝送
される各パケット間の遅れ時間を設定し
ます。(単位:tick) Interface Type: IInteger
GevSCFTD (Frame Transmission Delay)
選択したストリームチャンネルから伝送
されるパケットの伝送開始までの遅れ時
間を設定します。通常伝送が開始される時
点から実際に開始するまでの時間を設定
します。 Interface Type: IInteger
GevSCBWR (Bandwidth Reserve)
カメラとホスト PC 間において、パケット
再送およびカメラ設定用コントロールデ
ータのために確保するイーサネットバン
ド幅を設定します。パラメーターは
BandWidth Assignedパラメーターに対す
る割合(%)で表されます。例えば、
BandWidth Assigned パラメーターが
30MB/sec であり、この値を 5%に設定し
た場合、1.5MB/sec の帯域が確保されます。 Interface Type: IInteger
GevSCBWRA (Bandwidth Reserve Accumulation)
BandWidth Reserve パラメーターへの積
算値を設定します。この値は、異常時に突
発的にパケット再送要求が急増した場合
に、確保されている帯域を広げるために使
用されます。 Interface Type: IInteger
GevSCBWA (Bandwidth Assigned)
(読取専用パラメーター) カメラが画像データ、Chunk データ、パケ
ット再送およびコントロールデータを伝
送するために使用するバンド幅を示しま
す(単位:Byte/sec)。この値は Packet Sizeと Inter-Packet Delay の設定値から決定さ
れます。
35
The Most Advanced GigE Vision camera – ace
Interface Type: IInteger
GevSCDMT (Device Max Throughput)
(読取専用パラメーター) カメラが現在の設定において理想的な状
態(バンド幅の制限がなく、パケット再送
も発生しない状態)を仮定した場合に生成
するデータ量を示します。(単位:Byte/sec) Interface Type: IInteger
GevSCDCT (Device Current Throughput)
(読取専用パラメーター) カメラが現在の AOI 設定、Chunk 設定、
およびピクセルフォーマット設定におい
て、画像データと Chunk データを伝送す
るために使用する実際のバンド幅を示し
ます。(単位:Byte/sec) Interface Type: IInteger
GevSCFJM (Frame Jitter Max)
(読取専用パラメーター) BandWidth Reserve Accumulation パラ
メーターが高い値に設定されている場合、
データ再送要求が多発した場合であって
もカメラは対応することができます。この
場合、次の画像データ伝送の開始を遅らせ
る可能性があります。Frame Jitter Max パ
ラメーターは、次の画像伝送が開始するま
での許容遅れ時間を設定します。(単位:
tick) Interface Type: IInteger
5.9 Configuration Sets カテゴリー パラメーター (Node Name) 説明
カメラ設定 選択/保存/読込
UserSetSelector 読み込み、保存、または設定するための設
定セット(Configuration Set)を選択しま
す。以下の選択肢があります。 Default : 工場出荷時の初期設定 User Set : ユーザ設定 デフォルト設定が読み込まれると、デバイ
スは工場出荷時の状態になり、連続取込動
作を行うことができます。Default User Set は読取専用パラメーターで、修正する
ことはできません。
36
The Most Advanced GigE Vision camera – ace
Enum Value: Default, UserSet1 ~ 3 Interface Type: IEnumeration
UserSetLoad 選択された設定セット(Configuration Set)をカメラ内部の保存メモリから読み
込んで一時メモリに設定し、有効化しま
す。 Interface Type: ICommand
UserSetSave 選択されたユーザ設定セットに、現在のパ
ラメーター設定を保存します。選択された
ユーザ設定セットに対応するカメラ内部
の保存メモリに設定が書き込まれます。 Interface Type: ICommand
UserSetDefaultSelector カメラ起動時に読み込む設定セットを指
定します。指定されたセットは、カメラ起
動時およびリセット時に読み込まれます。 Enum Value: Default, UserSet1 ~ 3 Interface Type: IEnumeration
DefaultSetSelector どの工場出荷設定をデフォルトセットに
使用するか選択します。 Enum Value: Standard, HighGain,
AutoFunctions Interface Type: IEnumeration
5.10 Auto Function Parameters カテゴリー パラメーター (Node Name) 説明
AutoTargetValue ゲインおよび露光時間の自動調整機能に
おいて、ターゲットとなる平均輝度値を設
定します。 Interface Type: IInteger
AutoGainRawLowerLimit Auto Gain (Raw)パラメーターの下限値を
示します。 Interface Type: IInteger
自動調整機能
設定
AutoGainRawUpperLimit Auto Gain (Raw)パラメーターの上限値を
示します。
37
The Most Advanced GigE Vision camera – ace
Interface Type: IInteger
AutoExposureTimeAbsLowerLimit
Auto Exposure Time (Abs)パラメーター
の下限値を示します。 Interface Type: IFloat
AutoExposureTimeAbsUpperLimit
Auto Exposure Time (Abs)パラメーター
の上限値を示します。 Interface Type: IFloat
AutoFunctionProfile ゲインおよび露光時間を自動かつ同時に
調整する方法を選択します。 Enum Value: GainMinimum,
ExposureMinimum Interface Type: IEnumeration
サブツリー:Auto Function AOIs
AutoFunctionAOISelector 自動調整機能の AOI を選択します。 Enum Value: AOI1, AOI2 Interface Type: IEnumeration
AutoFunctionAOIWidth 自動調整機能の AOI の幅を設定します。
(単位:ピクセル) Interface Type: IInteger
AutoFunctionAOIHeight 自動調整機能の AOI の高さを設定します。
(単位:ピクセル) Interface Type: IInteger
AutoFunctionAOIOffsetX 自動調整機能の AOI を設定するための開
始列を指定します。(単位:ピクセル) Interface Type: IInteger
自動調整機能
用 AOI 設定
AutoFunctionAOIOffsetY 自動調整機能の AOI を設定するための開
始行を指定します。(単位:ピクセル) Interface Type: IInteger
5.11 Device Information カテゴリー パラメーター (Node Name) 説明
カメラ情報取
得
DeviceVendorName (読取専用パラメーター) デバイスのベンダー名をテキスト表記し
ます。
38
The Most Advanced GigE Vision camera – ace
Interface Type: IString
DeviceModelName (読取専用パラメーター) デバイスのモデル名をテキスト表記しま
す。 Interface Type: IString
DeviceManufacturerInfo (読取専用パラメーター) デバイスのベンダーが示すカメラの追加
情報を示します。 Interface Type: IString
DeviceVersion (読取専用パラメーター) デバイスのバージョンを示します。 Interface Type: IString
DeviceFirmwareVersion (読取専用パラメーター) デバイスのファームウエアおよびソフト
ウエアのバージョンを示します。 Interface Type: IString
DeviceID (読取専用パラメーター) シリアル番号や GUID のようなデバイス固
有の情報を示します。 Interface Type: IString
DeviceUserID 読み込みおよび書き込み可能な、ユーザ指
定のデバイス名です。 Interface Type: IString
DeviceScanType (読取専用パラメーター) デバイスに搭載されているセンサーに適
用可能なスキャンタイプを示します。 Enum Value: AreaScan Interface Type: IEnumeration
SensorWidth (読取専用パラメーター) カメラに搭載されているセンサーの実際
の幅を整数で示します。(単位:ピクセル) Interface Type: IInteger
SensorHeight (読取専用パラメーター) カメラに搭載されているセンサーの実際
の高さを整数で示します。(単位:ピクセ
ル) Interface Type: IInteger
39
The Most Advanced GigE Vision camera – ace
WidthMax (読取専用パラメーター) 実際に取得可能な画像の 大幅を整数で
示します。(単位:ピクセル) Interface Type: IInteger
HeightMax (読取専用パラメーター) 実際に取得可能な画像の 大高さを整数
で示します。(単位:ピクセル) Interface Type: IInteger
5.12 Chunk Data Streams カテゴリー パラメーター (Node Name) 説明
ChunkModeActive カメラの Chunk モードを有効化/無効化し
ます。 Interface Type: IBoolean
ChunkSelector 有効化する Chunk を選択します。 Enum Value:
Image, OffsetX, OffsetY, Width, Height, PixelFormat, DynamicRangeMax, DynamicRangeMin, Timestamp, LineStatusAll, Framecounter, Triggerinputcounter, FrameTriggerIgnoredCounter, FrameTriggerCounter, FramesPerTriggerCounter, PayloadCRC16
Interface Type: IEnumeration
Chunk デー
タ設定
ChunkEnable 選択された Chunk データを伝送データに
埋め込むかどうかを設定します。 Interface Type: IBoolean
5.13 Events Generation カテゴリー パラメーター (Node Name) 説明
イベント設定 EventSelector 有効化するイベントのタイプを選択しま
す。
40
41
The Most Advanced GigE Vision camera – ace
Enum Value: ExposureEnd, FrameStartOverTrigger, EventOverrun
Interface Type: IEnumeration EventNotification 選択されたイベントに対して、ホストアプ
リケーションに送られる通知タイプを設
定します。 Enum Value: Off, GenICamEvent Interface Type: IEnumeration
5.14 Remove Parameter Limits カテゴリー パラメーター (Node Name) 説明
ParameterSelector 制限解除機能を適用するパラメーターを
選択します。 Enum Value: Gain Interface Type: IEnumeration
パラメーター
制限設定
RemoveLimits 選択されたパラメーターの工場出荷時の
制限値をなくします。これが適用されたパ
ラメーターは、設定可能な制限範囲が拡張
されます。この範囲は技術的な制約値まで
広げられますが、画像の品質が劣化してし
まう点に注意してください。 Interface Type: IBoolean