[Title will be auto-generated]

Page 1

文書番号 :SSB003 Revision :1.00

SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ

RunTime5.2.0

アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”

株式会社アプロリンク


文書番号 :SSB003 Revision :1.00

目次 はじめに ........................................................................................................................................................................... 5 1 概要 ............................................................................................................................................................................. 6 1-1 SILICON SOFTWARE アドバンスド画像取得アプレット.............................................................................................. 6 1-2 Acq_BaseAreaBayer12 アプレットの機能 ................................................................................................................ 7 1-2-1 パラメータ設定の順番 ................................................................................................................................... 9 1-3 バンド幅 .............................................................................................................................................................. 9 1-4 カメラインターフェース ...................................................................................................................................... 10 1-5 PC メモリへのイメージ転送 .................................................................................................................................. 10 2 ソフトウェアインターフェース ..................................................................................................................................... 12 3 カメラリンク ............................................................................................................................................................... 13 3-1 FG_CAMERA_LINK_CAMTYPE .............................................................................................................................. 13 3-2 FG_USEDVAL ...................................................................................................................................................... 14 4 ROI(Region of Interest) ........................................................................................................................................... 15 4-1 FG_WIDTH .......................................................................................................................................................... 16 4-2 FG_HEIGHT......................................................................................................................................................... 17 4-3 FG_XOFFSET ....................................................................................................................................................... 18 4-4 FG_YOFFSET ....................................................................................................................................................... 19 5 トリガー ..................................................................................................................................................................... 20 5-1 エリアトリガーの特徴と機能ブロック ................................................................................................................... 20 5-1-1 Trigger Input ............................................................................................................................................. 21 5-1-2 Input Pulse Processing............................................................................................................................... 21 5-1-3 Output Pulse Form Generators................................................................................................................... 21 5-1-4 Trigger Output .......................................................................................................................................... 21 5-2 ピン配置 ............................................................................................................................................................ 23 5-3 イベントの概要 ................................................................................................................................................... 23 5-4 トリガー状況 ...................................................................................................................................................... 24 5-4-1 内部信号ジェネレータ ................................................................................................................................. 24 5-4-2 外部トリガー信号 ....................................................................................................................................... 27 5-4-3 照明 3 機の制御 ......................................................................................................................................... 31 5-4-4 ソフトウェアトリガー ................................................................................................................................. 35 5-4-5 トリガーキューを使用したソフトウェアトリガー ........................................................................................... 40 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

1


文書番号 :SSB003 Revision :1.00 5-4-6 トリガーキューを使用した外部トリガー ....................................................................................................... 42 5-4-7 外部トリガー信号のバイパス ....................................................................................................................... 43 5-4-8 複数のカメラを使用するアプリケーション .................................................................................................... 43 5-4-9 ハードウェアシステム解析とエラー検出 ....................................................................................................... 43 5-5 パラメータ ......................................................................................................................................................... 45 5-5-1 FG_AREATRIGGERMODE ............................................................................................................................. 45 5-5-2 FG_TRIGGERSTATE ..................................................................................................................................... 46 5-5-3 FG_TRIGGER_FRAMESPERSECOND .............................................................................................................. 47 5-5-4 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS..................................................................................................... 48 5-5-5 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR ......................................................................................... 49 5-5-6 FG_TRIGGER_LEGACY_MODE ...................................................................................................................... 49 5-5-7 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0 .......................................................................................... 50 5-5-8 Legacy ....................................................................................................................................................... 50 5-5-9 トリガー入力.............................................................................................................................................. 58 5-5-10 シーケンサ ............................................................................................................................................... 71 5-5-11 キュー ..................................................................................................................................................... 72 5-5-12 パルス信号ジェネレータ 0 ........................................................................................................................ 75 5-5-13 パルス信号ジェネレータ 1 ........................................................................................................................ 80 5-5-14 パルス信号ジェネレータ 2 ........................................................................................................................ 80 5-5-15 パルス信号ジェネレータ 3 ........................................................................................................................ 80 5-5-16 CC 信号のマッピング ................................................................................................................................ 80 5-5-17 デジタル出力............................................................................................................................................ 82 5-5-18 出力イベント............................................................................................................................................ 87 6 オーバーフロー............................................................................................................................................................ 89 6-1 FG_FILLLEVEL ..................................................................................................................................................... 89 6-2 FG_OVERFLOW ................................................................................................................................................... 90 6-3 FG_OVERFLOW_CAM0......................................................................................................................................... 90 7 イメージセレクタ ........................................................................................................................................................ 93 7-1 FG_IMG_SELECT_PERIOD ..................................................................................................................................... 94 7-2 FG_IMG_SELECT.................................................................................................................................................. 94 8 シェーディング補正 ..................................................................................................................................................... 96 8-1 FG_SHADING_OFFSET_ENABLE ............................................................................................................................ 97 8-2 FG_SHADING_GAIN_ENABLE................................................................................................................................ 97 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

2


文書番号 :SSB003 Revision :1.00 8-3 オートシェーティング補正 ................................................................................................................................... 98 8-3-1 FG_SHADING_BLACK_FILENAME ................................................................................................................. 99 8-3-2 FG_SHADING_GRAY_FILENAME ................................................................................................................... 99 8-3-3 FG_SHADING_GAIN_CORRECTION_MODE ................................................................................................. 100 8-3-4 FG_SHADING_GAIN_NORMALIZATION_VALUE ........................................................................................... 100 9 シェーディングカスタム値 .......................................................................................................................................... 102 10 ベイヤーフィルタ .................................................................................................................................................... 104 10-1 G_BAYERINIT .................................................................................................................................................. 104 11 ホワイトバランス .................................................................................................................................................... 107 11-1 FG_SCALINGFACTOR_GREEN........................................................................................................................... 107 11-2 FG_SCALINGFACTOR_RED............................................................................................................................... 108 11-3 FG_SCALINGFACTOR_BLUE ............................................................................................................................. 108 12 LUT(Look Up Table) ............................................................................................................................................ 110 12-1 FG_LUT_TYPE ................................................................................................................................................. 110 12-2 FG_LUT_VALUE_RED ....................................................................................................................................... 111 12-3 FG_LUT_VALUE_GREEN ................................................................................................................................... 112 12-4 FG_LUT_VALUE_BLUE ...................................................................................................................................... 112 12-5 FG_LUT_CUSTOM_FILE .................................................................................................................................... 113 12-6 FG_LUT_SAVE_FILE ......................................................................................................................................... 114 12-7 アプレットプロパティ ..................................................................................................................................... 114 12-7-1 FG_LUT_IMPLEMENTATION_TYPE ........................................................................................................... 114 12-7-2 FG_LUT_IN_BITS ..................................................................................................................................... 115 12-7-3 FG_LUT_OUT_BITS ................................................................................................................................. 115 13 プロセッシング........................................................................................................................................................ 117 13-1 FG_PROCESSING_OFFSET ................................................................................................................................ 118 13-2 FG_PROCESSING_GAIN .................................................................................................................................... 119 13-3 FG_PROCESSING_GAMMA ............................................................................................................................... 120 13-4 FG_PROCESSING_INVERT ................................................................................................................................ 121 14 出力フォーマット .................................................................................................................................................... 123 14-1 FG_FORMAT ................................................................................................................................................... 123 14-2 FG_BITALIGNMENT ......................................................................................................................................... 123 14-3 FG_PIXELDEPTH .............................................................................................................................................. 124 15 カメラシミュレータ ................................................................................................................................................. 126 15-1 FG_GEN_ENABLE ............................................................................................................................................. 126 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

3


文書番号 :SSB003 Revision :1.00 15-2 FG_GEN_START .............................................................................................................................................. 127 15-3 FG_GEN_WIDTH .............................................................................................................................................. 127 15-4 FG_GEN_HEIGHT ............................................................................................................................................. 128 15-5 FG_GEN_LINE_GAP .......................................................................................................................................... 129 15-6 FG_GEN_FREQ ................................................................................................................................................ 129 15-7 FG_GEN_ACCURACY ....................................................................................................................................... 130 15-8 FG_GEN_TAP1、その他.................................................................................................................................... 131 15-9 FG_GEN_ROLL ................................................................................................................................................ 132 15-10 FG_GEN_ACTIVE ........................................................................................................................................... 132 15-11 FG_GEN_PASSIVE .......................................................................................................................................... 133 15-12 FG_GEN_LINE_WIDTH.................................................................................................................................... 133 16 その他多方面のパラメータ(Miscellaneous:MISC モジュール) ................................................................................ 135 16-1 FG_TIMEOUT .................................................................................................................................................. 135 16-2 FG_APPLET_VERSION ...................................................................................................................................... 135 16-3 FG_APPLET_REVISION ..................................................................................................................................... 136 16-4 FG_APPLET_ID ................................................................................................................................................ 136 16-5 FG_HAP_FILE .................................................................................................................................................. 137 16-6 FG_DMASTATUS ............................................................................................................................................. 137 16-7 FG_CAMSTATUS ............................................................................................................................................. 138 16-8 FG_CAMSTATUS_EXTENDED ........................................................................................................................... 138 改定履歴 ....................................................................................................................................................................... 140

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

4


文書番号 :SSB003 Revision :1.00

はじめに この度は株式会社アプロリンク取り扱い製品をご使用いただき誠にありがとうございます。ご使用の前に、この資料をお読みい ただき、正しくお使い下さい。 ・

本書は、お客様が Windows/MAC の基本操作に習熟している事を前提にしております。

本書内で使用されている表示画面、イラスト等は説明用に作成されたものです。お客様の環境により実際の表示画像と違う 場合がございます。

ご使用のパソコン・周辺機器・オペーレーティングソフトなどお客様のご利用環境により正常に動作しない場合があります。

本書に使用する内容の一部、または全部は、株式会社アプロリンクによる許可なく転載することはできません。

本書の内容について、万一不審な点や記載漏れなどお気付きの点がありましたら、ご連絡下さい。

本書の内容に疑問点などが生じた場合は、メーカー発行の英文技術資料および英文マニュアルを正しい情報として下さい。

本書の内容は予告なしに変更する場合がありますのでご了承ください。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5


文書番号 :SSB003 Revision :1.00

1

概要 このドキュメントでは、SILICON SOFTWARE 社フレームグラバーの Runtime5.2.0 シリーズで追加されたアドバンスド画像取 得アプレット"Acq_BaseAreaBayer12"について説明します。 アドバンスド画像取得アプレットの一般的な説明から始まり、機能とアドバンスド画像取得アプレットのメリットについて説明 します。さらに、出力フォーマットとソフトウェアインターフェースについて説明します。ドキュメントのメインパートは、ア プレットモジュールやパラメータの詳細な説明を含んでいます。 本機能をサポートするフレームグラバーは microEnable IV AD4-CL/PoCL 、VD4-CL/PoCL です。 このマニュアルは、SILICON SOFTWARE 社の了解を得て、株式会社アプロリンクが英文マニュアルを基に作成したものです。 内容に疑問点などが生じた場合は、英文技術資料および英文マニュアルを正しい情報として参考にしてください。 本書に使用するマニュアルの一部、または全部は、株式会社アプロリンクによる許可なく転載することはできません。 なお、本書の内容は予告なしに変更する場合がありますのでご了承ください。

1-1 SILICON SOFTWARE アドバンスド画像取得アプレット アドバンスド画像取得アプレットは、すぐに使用できるリアルタイム画像処理機能です。それぞれのアプレットは、画像処理機 能の定数と割り付けを含み、データフロー化され、様々なカメラインターフェースカメラをサポートしています。 使用するカメラに依存しますが、アプレットで使用できるサブセットが提供されており、最適な画像処理機能を実現できます。 カメラリンクアプリケーションのために用意されたアドバンスド画像取得アプレットで使用するハードウェアは、次の A シリー ズ、V シリーズフレームグラバーです。: ・

microEnable IV AD4-CL / -PoCL

microEnable IV VD4-CL / -PoCL

主な画像処理は次の処理です。: ・

デッドピクセル補正を含むシェーディング補正

イメージセレクタ

ノイズフィルタ

トリガー機能

・ ・

ROI 高品質ベイヤー変換とホワイトバランス

LUT(Look Up Table)

アドバンスド画像取得アプレットは、長年実績のある画像取得アプレット(標準アプレット)の代用品ではありません。 アドバンスド画像取得アプレットは、他の SILICON SOFTWARE アプレットと同様の方法で使用する事ができます。: ・

ビューアーソフトウェア「microdisplay」上でフレームグラバーにアプレットをロードし、画像取得のセットアップ制御(画 像取得の開始、停止、定義)することができます。

SILICON SOFTWARE の API、SDK を使用し、フレームグラバーにアプレットをロードし、画像取得のセットアップ制御(画 像取得の開始、停止、定義)することができます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

6


文書番号 :SSB003 Revision :1.00

図 1.1 SILICON SOFTWARE アドバンスド画像取得アプレット一覧

1-2 Acq_BaseAreaBayer12 アプレットの機能

図 1.2 Acq_BaseAreaBayer12 のブロックダイアグラム アプレット Acq_BaseAreaBayer12 はシングルカメラで使用するアプレットです。 カメラリンクカメラインターフェースは、8~16bit のベイヤーピクセルを転送するベースモードに定義します。フレームグラバ ーグラバー生成、外部生成、ソフトウェア生成など様々なトリガーパルス信号でカメラや外部デバイスを制御できるマルチ機能 エリアトリガーが含まれています。エリアスキャンカメラは、最大 4096x4096 ピクセルまでの画像データ転送をサポートし、 アプレットは 12bit でデータを処理します。カメラポートのイメージセレクタは、パラメータ設定で連続イメージから出力する イメージを選択することができ、この機能によって複数のフレームグラバーや PC へのイメージ分配が実現できます。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

7


文書番号 :SSB003 Revision :1.00 アドバンスド画像取得アプレットには、2D エリアシェーディング補正が含まれています。この補正機能は、減算オフセット補 正と乗算ゲイン補正で構成されています。補正値はそれぞれのピクセルごと定義が可能です。さらに、黒とグレーのリファレン スイメージをシェーディングモジュールにロードするオートシェーディング補正を行うことができます。 シェーディング補正は、オフセット補正に係数 4bit を含む 16bit を使用します。 ゲイン補正も 12bit を分数表現に使用する 16bit を使用します。取得したイメージはグラバーメモリにバッファリングされ、さらなる処理のために ROI を選択する事ができます。 ROI のステップサイズは X 方向で 4 ピクセル、Y 方向で 1 ピクセルです。高品質ヘイヤーパターンは 5x5 のカーネルサイズで す。ホワイトバランスモジュールで各カラーコンポーネンツのゲインを調整してイメージの品質を向上させることができます。 フルフレーム上での LUT は、ユーザー定義またはプロセッサテーブルを使用して行うことができます。プロセッサテーブルには、 イメージ品質を向上させるためのオフセット、ゲイン、ガンマ等のプリデファインされた機能が用意されています。カラーコン ポーネンツは、個別に処理されます。 処理されたイメージデータは、高速 DMA チャンネル経由で出力されます。出力ピクセルフォーマットはピクセルあたり 24bit または 48bit で RGB 順に出力されます。 アプレットは、SILICON SOFTWARE Runtime を使用してユーザーアプリケーションに簡単に組み込むことができます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

8


文書番号 :SSB003 Revision :1.00 表 1.1 Acq_BaseAreaBayer12 の機能一覧 Feature

Applet Property

Applet Name Acq_BaseAreaBayer12

Type of Applet

AcquisitionApplets Advanced

Board

microEnable IV AD4-CL/-PoCL

Camera Type

Camera Link Base Configuration (1 Tap 8 Bit, 2 Tap 8 Bit, 3 Tap 8 Bit, 1 Tap 10 Bit, 2 Tap

Sensor Type

Area Scan

Processing Bit Depth

12 Bit per color component

Maximum Images

4096 * 4096

ROI Stepsize

x: 4, y: 1

Noise Filter

No

No. of Cameras

Camera Format

Dimensions

Image Selector Shading Correction

1 , asynchronous or synchronous 10 Bit, 1 Tap 12 Bit, 2 Tap 12 Bit, 1 Tap 14 Bit, 1 Tap 16 Bit) Bayer Pattern

Yes

Yes, Area

Offset Correction Value Range: [0, 4096[, Stepsize 1/16 (12 integer bits, 4 fractional bits) Gain Correction Value Range: [0, 16[, Stepsize 1/4096 (4 integer bits, 12 fractional bits)

Dead Pixel Interpolation

No

Bayer Filter

Yes, High Quality Extended (HQe)

Lookup Table

Full Resolution

DMA Image Output

BGR 24 or 48 bits

Event Generation

Yes

Overflow Control

Yes

Color White Balancing DMA

Format

Yes

High Speed

1-2-1 パラメータ設定の順番 カメラ設定、シェーディング補正、デッドピクセル補正などのセンサ補正に関連する機能ブロックの定義を最初に行ってくださ い。次のステップでホワイトバランス、ノイズフィルタ、LUT 等のイメージ改善機能ブロックの設定を行います。

1-3 バンド幅 Acq_BaseAreaBayer12 アプレットの最大バンド幅は「表 1.2 Acq_BaseAreaBayer12 のバンド幅」で確認できます。 表 1.2 Acq_BaseAreaBayer12 のバンド幅 種類

バンド幅

Max. CamClk カメラの Peak Bandwidth

85 MHz

カメラの Mean Bandwidth per Camera

225 MPixel/s

DMA Bandwidth

872 MByte/s (PC のメインボードに依存します)

248 MPixel/s

Max. CamClk は、使用するカメラリンクカメラの最大ピクセルクロック周波数を参照します。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

9


文書番号 :SSB003 Revision :1.00 低い方のピクセルクロック周波数を使用できます。 カメラの Peak Bandwidth は、カメラインターフェースのそれぞれのカメラで許可される最大バンド幅を表しています。このバ ンド幅でカメラからフレームグラバーへデータ転送を行う場合、フレームグラバーのバッファでデータバッファリングされます が、この速度では処理を行いません。Peak bandwidth は、カメラリンクインターフェースモードとピクセルクロック周波数に 関係しており、使用するカメラのカメラリンクタップとピクセル周波数の合計が Peak bandwidth の値を超えてはいけません。 カメラの Mean bandwidth は、カメラインターフェースで許可される最大の平均バンド幅を表しています。フレームレートと イメージピクセルの合計です。例えば、1 メガピクセルの画像でフレームレートが 100fps の場合、Mean bandwidth は 100 MPixel/s です。 要求されるアプレットの出力バンド幅は、入力バンド幅と異なります。ROI(Region of Interest)と出力フォーマットによって 要求される出力バンド幅と最大平均バンド幅は変更されます。また、このアプレットはベイヤーアプレットです、カラー変換を 行うため出力バンド幅は入力バンド幅の 3 倍になります。 MPixel/s と MByte/s の関係、MByte/s はアプレットとパラメータ設定に依存します。1 MByte は 1,000,000 Byte です。

変動するバンド幅 実際の最大 DMA バンド幅は、使用する PC のメインボードとチップセットに依存します。カメラのバンド幅はイメージサイズ に依存します。これらの条件でバンド幅の値は変化します。

1-4 カメラインターフェース アプレット Acq_BaseAreaBayer12 は、1台のカメラリンクカメラのベースコンフィグレーションモードをサポートしています。 フレームグラバーは、2 つのカメラリンクコネクタが用意されています。このアプレットを使用する場合、カメラはポート A の みに接続します。

図 1.3 カメラインターフェースとカメラケーブルのセットアップ

1-5 PC メモリへのイメージ転送 フレームグラバーと PC 間のイメージ転送は DMA 転送によって行われます。このアプレットには、イメージデータを転送する ため 1 つの DMA チャンネルが用意されています。DMA チャンネルのインデックスは 0 です。アプレットの出力フォーマット は、出力フォーマットモジュールのパラメータ設定で行います。「出力フォーマット」を参照下さい。全ての出力はリトルエン ディアンでコード化されています。

DMA イメージタグ このアプレットは、有効な DMA イメージタグ(FG_IMAGE_TAG)を生成しません。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

10


文書番号 :SSB003 Revision :1.00 ロストまたは破損したフレームについては、「オーバーフロー」にあるオーバーフローモジュールを使用して確認します。また、 トリガーシステムではロストしたトリガー信号を検知する事ができます、詳細な説明は「トリガー」を参照して下さい。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

11


文書番号 :SSB003 Revision :1.00

2

ソフトウェアインターフェース ソフトウェアインターフェースは、SILICON SOFTWARE Runtime と完全互換です。microenable フレームグラバーとアプレッ トをアプリケーションに組み込む方法は、SILICON SOFTWARE Runtime の SDK マニュアルで確認して下さい。 Runtime には、各機能を使用した SDK サンプルが含まれています。これらのサンプルのほとんどは、アドバンスド画像取得ア プレットでも使用することができます。サンプルは画像の取得方法、パラメータの設定方法、イベントの使用法を理解するうえ で非常に役に立ちます。 ドキュメントは、アプレットの機能とパラメータ設定に重点をおき説明しています。次の章以降で、このアプレットで使用でき る全てのパラメータの一覧が確認できます。複数のカメラを使用するアプレットでは、パラメータはそれぞれのカメラに個別に 設定できる点にご注意ください。サンプルソースコードでは、1台のカメラのみにパラメータ設定を行っています。 サンプルソースコードにあるインデックスを変更することにより接続するカメラ毎にパラメータ設定を行う事ができます。 ほとんどのアプレットのパラメータは、関数を使用して読み書きを行うことができます。 ・

int Fg_setParameter(Fg_Struct *Fg, const int Parameter, const void *Value, const unsigned int index)

int Fg_setParameterWithType(Fg_Struct *Fg, const int Parameter, const void *Value, const unsigned int index, const enum FgParamTypes type)

int Fg_getParameter(Fg_Struct *Fg, int Parameter, void *Value, const unsigned int index)

int Fg_getParameterWithType(Fg_Struct *Fg, const int Parameter, void *Value, const unsigned int index, const enum FgParamTypes type)

インデックスは、DMA チャンネル、カメラインデックスまたは処理の論理インデックスのアドレッシングに使用されます。 カメラ、プロセス、パラメータ、DMA チャンネルの関係を理解することは非常に重要です。アドバンスド画像取得アプレット は、シングルカメラアプレットで 1 つの DMA チャンネルで使用されます。また、全てのパラメータ設定は index 0 のみ使用し て行います。 複数のカメラで複数の DMA チャンネルを使用するアプレットでは、インデックス間の関係はより複雑になります。詳細な説明 は、関係するドキュメントで確認して下さい。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

12


文書番号 :SSB003 Revision :1.00

3

カメラリンク このアドバンスド画像取得アプレット Acq_BaseAreaBayer12 は、カメラリンクの 1 台のカメラで使用します。使用するカメラ から正常な画像データを受け取るためにカメラの出力フォーマットとフレームグラバーの入力フォーマットを合わせることが重 要です。 次のパラメータは、フレームグラバーのカメラインターフェースを個々のカメラプロパティに合わせるための定義です。 ほとんどのカメラは異なるオペレーションモードをサポートしていますので、カメラで要求されるデータフォーマットに必要な 情報を取得するために、使用するカメラのマニュアルを参照ください。

3-1 FG_CAMERA_LINK_CAMTYPE このパラメータは接続しているカメラのデータフォーマットを定義します。 カメラインターフェースは、カメラリンク規格で定義されている異なるデータフォーマットをサポートするために定義します。 アドバンスド画像取得アプレット Acq_BaseAreaBayer12 では、処理されるデータビットは 12bit です。カメラインターフェー スは、選択したカメラのフォーマットとは関係なくビットシフトによって 12bit フォーマットへの自動変換を行います。カメラ リンクのビット長が処理ビット長より大きい場合、内部ビット長に合わせる為に右シフトされます。カメラリンクのビット長が 処理ビット長より短い場合、内部ビット長に合わせる為に左シフトされます。この場合、下位ビットは 0 に固定されます。 表 3.1 パラメータプロパティ:FG_CAMERA_LINK_CAMTYPE Property

Value

Name

FG_CAMERA_LINK_CAMTYPE

Access policy

Read/Write/Change

Storage policy

Persistent

Type

Allowed values

Enumeration

FG_CL_SINGLETAP_8_BIT Single Tap 8bit

FG_CL_SINGLETAP_10_BIT Single Tap 10bit

FG_CL_SINGLETAP_12_BIT Single Tap 12bit

FG_CL_SINGLETAP_14_BIT Single Tap 14bit

FG_CL_SINGLETAP_16_BIT Single Tap 16bit

FG_CL_DUALTAP_8_BIT Dual Tap 8bit

FG_CL_DUALTAP_10_BIT Dual Tap 10bit

FG_CL_DUALTAP_12_BIT Dual Tap 12bit

FG_CL_TRIPLETAP_8_BIT Default value

Triple Tap 8bit

FG_CL_SINGLETAP_8_BIT

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

13


文書番号 :SSB003 Revision :1.00 サンプル 3.1 FG_CAMERA_LINK_CAMTYPE int result = 0;

unsigned int value = FG_CL_SINGLETAP_8_BIT;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_CAMERA_LINK_CAMTYPE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_CAMERA_LINK_CAMTYPE, &value, 0, type)) < 0) { }

/* error handling */

3-2 FG_USEDVAL このパラメータを使用してカメラリンクの規格に完全に準拠していないカメラをサポートすることが出来ます。 値 FG_YES を選択すると、ピクセル値をデコードするために DVAL、LVAL、FVAL 信号が使用されます。 値 FG_NO をセットすると LVAL と FVAL 信号のみが使用されます。必要な設定が分からない場合は、値を FG_YES のままにし てください。 表 3.2 パラメータプロパティ:FG_USEDVAL Property

Value

Type

Enumeration

Access policy

Read/Write/Change

Allowed values

FG_YES

Name

FG_USEDVAL

Storage policy

Persistent Yes

FG_NO No

Default value

FG_YES

サンプル 3.2 G_USEDVAL int result = 0;

unsigned int value = FG_YES;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_USEDVAL, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_USEDVAL, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

14


文書番号 :SSB003 Revision :1.00

4

ROI( Region of Interest) このモジュールでは、ROI(または AOI)のサイズを定義します。ROI は、入力イメージより小さい一部のピクセル領域を選択 します。 パラメータ FG_XOFFSET FG_WIDTH

FG_YOFFSET

FG_HEIGTH を使用して定義します。 下図は、これらのパラメータを表しています。

図 4.1 ROI(Region of Interest) 図に見られる通り ROI(Region of Interest)は、入力画像サイズ内に設定します。そのため、カメラから入力される画像サイ ズが ROI のパラメータ以上の場合、アプレットは ROI のピクセル領域を完全に割り当てますが、カメラから入力される画像が定 義した ROI 領域より小さい場合、X 方向の入力サイズを超えた領域は、ランダムなピクセル内容で埋められ、Y 方向は切り取ら れるかランダムイメージラインで埋められます。「図 4.2 入力イメージサイズを超える ROI 選択」を参照下さい。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

15


文書番号 :SSB003 Revision :1.00

図 4.2 入力イメージサイズを超える ROI 選択 また、カメラから送られる画像サイズは、フレームグラバーで設定できる最大サイズ(4096pxx4096px)を超えてはいけませ ん。選択した ROI の設定は、アプレットの最大バンド幅に影響を与えます。 パラメータは動的な値の範囲を持っています。例えば、高い X オフセット値を設定するために、最初にイメージ幅を減少させま す。このように、このモジュールではパラメータの設定順番が重要です。SDK でコールされる関数の返り値は、変更が有効か確 認するため常に確認して下さい。 また、パラメータの最少ステップサイズについて注意が必要です。アプレットは、幅と X オフセットで最小 4 ピクセルステップ、 高さと Y オフセットで 1 のピクセルステップで使用して下さい。 アプレットを microDisplay で使用する場合、このモジュールで行われる設定によって表示サイズとバッファサイズが設定され ます。ユーザープログラムでアプレットを使用する場合、DMA 転送に使用するバッファサイズの設定が必要になります。 全ての ROI パラメータは、画像取得中は設定することができません。

カメラの ROI 機能 多くのカメラは、カメラ内で ROI の設定を行う事が出来ます。ここで説明されている ROI 設定は、カメラ設定とは異なります。

バンド幅への影響 ROI の設定は、要求されるバンド幅を大きく減少させます。アプレットで画像サイズを減少させるより、直接カメラ内の ROI 定 義で画像サイズを減少させてください。その結果カメラ=フレームグラバー間のバンド幅が大きく減少されます。

4-1 FG_WIDTH このパラメータは、ROI の幅を設定します。 パラメータ FG_WIDTH

FG_XOFFSET の値は最大イメージ幅 4096px を超えてはいけません。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

16


文書番号 :SSB003 Revision :1.00 表 4.1 パラメータプロパティ:FG_WIDTH Property

Value

Name

FG_WIDTH

Access policy

Read/Write

Allowed values

Minimum

Type

Unsigned Integer

Storage policy

Persistent 8

Maximum 4096

Stepsize

4 Default value

1024

Unit of measure

pixel

サンプル 4.1 FG_WIDTH int result = 0;

unsigned int value = 1024;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_WIDTH, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_WIDTH, &value, 0, type)) < 0) { }

/* error handling */

4-2 FG_HEIGHT このパラメータは、ROI の高さを設定します。 パラメータ FG_HEIGHT

FG_YOFFSET の値は最大イメージ高さ 4096px を超えてはいけません。 表 4.2 FG_HEIGHT のパラメータプロパティ Property

Value

Name

FG_HEIGHT

Type

Unsigned Integer

Storage policy

Persistent

Default value

1024

Unit of measure

pixel

Access policy Allowed values

Read/Write

Minimum2Maximum4096Stepsize1

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

17


文書番号 :SSB003 Revision :1.00 サンプル 4.2 FG_HEIGHT の使用方法 int result = 0;

unsigned int value = 1024;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_HEIGHT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_HEIGHT, &value, 0, type)) < 0) { }

/* error handling */

4-3 FG_XOFFSET このパラメータは X 方向のオフセットアドレス(ROI の開始位置)を設定します。 表 4.3 パラメータプロパティ:FG_XOFFSET Property

Value

Name

FG_XOFFSET

Type

Unsigned Integer

Storage policy

Persistent

Access policy

Read/Write

Allowed values

Minimum 0

Maximum 4088

Stepsize

4

Default value

0

Unit of measure

pixel

サンプル 4.3 FG_XOFFSET int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_XOFFSET, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_XOFFSET, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

18


文書番号 :SSB003 Revision :1.00

4-4 FG_YOFFSET このパラメータは Y 方向のオフセットアドレス ROI の開始位置)を設定します。 表 4.4 パラメータプロパティ:FG_YOFFSET Property

Value

Type

Unsigned Integer

Storage policy

Persistent

Allowed values

Minimum

Name

FG_YOFFSET

Access policy

Read/Write

0

Maximum 4095

Stepsize

1

Default value

0

Unit of measure

pixel

サンプル 4.4 FG_YOFFSET int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_YOFFSET, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_YOFFSET, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

19


文書番号 :SSB003 Revision :1.00

5

トリガー エリアトリガーシステムによって microEnable IV フレームグラバーと接続したカメラの画像取得プロセスを制御することが可 能です。トリガーによってカメラの実際の露光時間や外部のデバイスを制御することが可能であり、トリガーソースは外部デバ イス、内部ジェネレータ、ユーザーのソフトウェアを使用できます。 「図 5.1 microEnable IV トリガーシステム」は、信号の流れの概要です。8 個の入力信号を使用することができ、外部トリガ ー入力は SILICON SOFTWARE の I/O ボード経由でフレームグラバーに接続されます。microEnable IV は、トリガーシステムで 設定された入力イベントからトリガー出力と制御信号を生成します。トリガーシステムの出力は、カメラリンクの CC 信号経由 でカメラに送られます。加えてフラッシュ照明などの外部デバイスを制御する出力は、トリガーボードの出力に送られます。

図 5.1 microEnable IV トリガーシステム 次項で、SILICON SOFTWARE microEnable IV トリガーシステムについて説明します。様々なトリガー状況で可能性と機能を説 明しており、トリガーシステムを理解するのに役に立ちます。ドキュメントは、トリガーシステムで使用する全てのパラメータ のリファレンスを含んでいます。

5-1 エリアトリガーの特徴と機能ブロック SILICON SOFTWARE トリガーシステムは様々なアプリケーションでの要望を満たすためにデザインしています。 トリガー生成、 制御、モニタリングのためのパワフルな機能が含まれています。次の機能が含まれています。: ・

カメラと外部デバイスへのトリガー信号生成

エンコーダなど外部デバイスのトリガーソース利用と信号生成の制御

トリガーパルス信号の生成に内部ジェネレータも使用できます

トリガー信号のジェネレータはソフトウェアで完全に制御可能です。シングルパルスまたは連続パルス信号を生成すること ができ、自動制御、出力周波数を制限も可能です。

入力信号モニタリング

入力信号の周波数解析とパルスカウント

入力信号デバウンス

入力信号ダウンスケール

シーケンサや制御可能な最大出力周波数でパルス信号を増加することができます。1 つの入力信号から最大 65,000 の出力 パルス信号を生成できます。

最大 2000 パルスのトリガーパルスキューバッファと最大周波数を使用した出力制御

個々にパルス幅、ディレイ、ダウンスケーリングを制御できる 4 つのパルス信号をジェネレータで生成

カメラリンク制御出力(CC 出力)で最大 8 個の出力パルス

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

20


文書番号 :SSB003 Revision :1.00 ・

入力信号のパルス信号を維持と出力、カメラに転送するバイパスオプション

アプリケーションソフトウェアで入力と出力をモニタリングできるイベントジェネレータ

モニタリングのためのフィルレベル、トリガーイベント、トリガービジーとロストトリガー信号によるシステムの完全制御

カメラロスフレームの通告

トリガー信号の安定化とエラー検知

トリガーシステムはパラメータを使用して制御や定義を行います。読み込み専用パラメータは現在のトリガーの状態に関連する 情報を返し、ソフトウェア、フレームグラバー、外部ハードウェアのモニタリングや制御で使用するイベント生成機能が搭載さ れています。 複雑なトリガーシステムでも簡単に使用することができます。「図 5.2 microEnable IV トリガーシステムのブロックダイアグ ラム」は 4 つのメイン機能ブロックから構成されているトリガーシステムのブロックダイアグラムです。

5-1-1 Trigger Input トリガー入力は、ソフトウェアで生成される入力や周波数ジェネレータと同じく外部信号です。複数のカメラアプレットを使用 している場合、カメラ間同期を取ることができ、最初のカメラのトリガー定義で制御することが出来ます。 外部入力信号はモニタリングやさらなる処理のために複数のパスに分割されます。

5-1-2 Input Pulse Processing トリガーシステムの 2 番目のメインブロックは入力パルス処理です。ソフトウェアで生成したパルス信号と同様に外部入力は、 キューになりシーケンサで増加されます。全ての外部トリガーパルス信号は最大周波数で処理されます。周波数がパラメータの 上限を超える場合、パラメータの値で処理されます。入力で高周波がある場合、パルス信号は拒絶されるかトリガーパルスキュ ーがアクティブの場合フィルになります。最大周波数の値で、出力パルス信号がカメラで処理される可能な最大周波数を超えて いないか確認します。

5-1-3 Output Pulse Form Generators 入力パルス信号が処理されると、4 つのオプションパルス信号に増やされます。これらのジェネレータのパルスは信号幅、ディ レイ、ダウンスケールを定義できます。ジェネレータからの 4 つのパルスは任意で出力に割り付けることが出来ます。

5-1-4 Trigger Output トリガー出力に関連する最終ブロック。ジェネレータからのパルス信号は、イベントやレジストを使用してカメラまたはモニタ リングのためにデジタルで出力されます、

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

21


文書番号 :SSB003 Revision :1.00

図 5.2 microEnable IV トリガーシステムのブロックダイアグラム

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

22


文書番号 :SSB003 Revision :1.00

5-2 ピン配置 トリガーシステムは、8 個のデジタル入力と 8 個のデジタル出力をサポートしています。これらの入力と出力はトリガーI/O ボ ードのピンに割り付けられています。入力ピン 0~7 については、トリガーI/O ボードと microEnable IV AD4-CL/ -PoCL のド キュメントで説明しています。 出力ピン 0~7 の割付はカメラの仕様に依存します。シングルカメラのアプレットを使用する場合、8 個の出力全てを使用でき ます。出力インデックスと出力ピン間での割付はハードウェアのドキュメントで確認できます。デュアルカメラアプレットでは、 出力 0~3 ピンが 1 台目のカメラのトリガーシステムで使用でき、出力 4~7 ピンが2台目のカメラのトリガーシステムで使用 できます。このアプレットはシングルカメラアプレットですので8個の出力全て使用できます。

トリガーI/O ボード トリガーのデジタル入力と出力は microEnable IV AD4-CL/ -PoCL フレームグラバーの入力と出力を参照して下さい。これら の I/O のマッピングの説明は関連するドキュメントを参照ください。

5-3 イベントの概要 この項ではトリガーシステムの全てのイベントを記載しています。詳細な説明は、それぞれのモジュールに説明があります。 ・

パラメータ FG_TRIGGER_INPUT0_RISING

FG_TRIGGER_INPUT0_FALLING から FG_TRIGGER_INPUT7_RISING

FG_TRIGGER_INPUT7_FALLING トリガーの入力イベント、イベントは全てのトリガー入力で生成されます。イベントは立ち上がりまたは立下りでトリガー されます。 「FG_TRIGGER_INPUT0_RISING 、その他」と「FG_TRIGGER_INPUT0_FALLING、その他」を参照ください。 ・

パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0 ロストした入力トリガーパルスのために生成されるイベント 「FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0」を参照ください。

パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_ON

FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_OFF トリガーキューが最大または最少の閾値を超えた場合に生成されるイベント 「FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0」を参照ください。 ・

パラメータ FG_TRIGGER_OUTPUT_CAM0 トリガー出力のためのイベント 「FG_TRIGGER_OUTPUT_CAM0」を参照ください。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

23


文書番号 :SSB003 Revision :1.00

パラメータ FG_MISSING_CAM0_FRAME_RESPONSE カメラフレームの応答を受け取れなかった場合に生成されるイベント 「FG_MISSING_CAM0_FRAME_RESPONSE」を参照ください。

5-4 トリガー状況 次節からは、状況に合わせたトリガーシステムを説明しています。トリガーシステムを使用するにあたり、また独自の要望を追 加するために非常に役に立ちます。 ここでは実際の定義を行っており、条件下の入力それに必要なパラメータとその値をリスト化しています。

5-4-1 内部信号ジェネレータ シンプルなシナリオでトリガーシステムを開始します。 このケースでは、カメラの画像出力とフレームグラバーの露光時間の周波数を制御します。トリガーイベントのための外部のソ ースや照明がありませんのでフレームグラバーのトリガーシステムはトリガーパルスと露光時間の周波数のみを制御します。 「図 5.3 内部信号ジェネレータシナリオ」はハードウェアのセットアップをあらわしています。カメラをフレームグラバーに 接続して下さい。

図 5.3 内部信号ジェネレータシナリオ このシナリオを実行するためにカメラを外部トリガーモードにセットします。カメラの設定方法はカメラメーカーのマニュアル を参照ください。一般的にはカメラリンクカメラは、シリアルインターフェースで設定を行います。フレームグラバーは、この インターフェースを提供しており、カメラリンクケーブル経由でカメラにコマンドを送ります。カメラメーカーによっては、カ メラ定義のソフトウェアツールを提供する、あるいはカメラへコマンドラインの入力で定義を行います。この場合、SILICON SOFTWARE が提供する clshell ツールを使用します。 カメラを外部トリガーモードに設定すると、露光期間と露光時間をカメラコントロール入力(CC1~CC4)から制御することがで きます。大抵のカメラは CC1 入力を使用しています。(カメラメーカーのマニュアルを参照ください)カメラトリガーモードの 名前は様々ですが、露光期間をプログラムできる外部トリガーモードを使用する必要があります。フレームグラバーを使用した 露光時間設定を行いたい場合、カメラでこのトリガーモードをサポートしている必要があります。 「図 5.4 波形:内部信号ジェネレータ」は、フレームグラバーのトリガー出力をあらわしています。大抵のカメラは、信号の 立ち上がりまたは立下りエッジで画像取得を開始し、露光時間は信号の長さで定義します。使用するカメラによっては反転入力 を使用する場合がある点に注意が必要です。この場合信号は、'high active'の代わりに'low active'に設定します。これでフレー ムグラバーの信号は反転します。(後に説明します) [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

24


文書番号 :SSB003 Revision :1.00

図 5.4 波形:内部信号ジェネレータ ハードウェアのセットアップとカメラ定義が終わったら、フレームグラバーのトリガーシステムパラメータ設定を開始します。 パラメータ設定は、ユーザーアプリケーション、microDisplay、microEnable の定義ファイル(.mcf)を編集することで変更 可能です。アプレットのパラメータ設定は SILICON SOFTWARE Runtime ドキュメントを参照ください。 次に、必要なパラメータとその値をリストアップします。「図 5.5 エリアトリガーモードブロックダイアグラム:ジェネレー タモードを強調」は、関連する部分を強調したトリガーシステムのブロックダイアグラムです。 ・

パラメータ FG_AREATRIGGERMODE = ATM_GENERATOR 最初に、トリガーシステムで内部周波数ジェネレータを使用するための設定を行います。

パラメータ FG_TRIGGER_FRAMESPERSECOND = 10 次に出力周波数を定義します。この例では、周波数を 10Hz に設定します。

パラメータ FG_TRIGGER_PULSEFORMGEN0_WIDTH = 200 ここまでで、トリガーシステムを 10Hz のレートでトリガーパルスを生成するように設定しましたが、パルス信号の形状(信 号長または信号幅)を設定していません。フレームグラバーのトリガーシステムには、信号幅、ディレイ、ダウンスケール を設定できる 4 つのパルス信号ジェネレータが提供されています。サンプルでは、1 つの出力を使用しますので、ジェネレ ータ 0 から 1 つのパルス形成を設定し、信号幅を設定します。ここではディレイとダウンスケールは設定しません。 必要な露光時間は 200µs と仮定します。パラメータに 200.00 をセットします。パラメータの単位は µs です。

パラメータ FG_CCSEL0 = CC_PULSEGEN0 最後の設定はジェネレータ 0 の出力パルス信号を出力 CC1 へ割り付けます。カメラがローアクティブ信号を必要とする場 合は、代わりに値 CC_NOT_PULSEGEN0 を選択して下さい。

次にトリガー信号生成の定義を行います。 システムを開始するためには、パラメータ FG_TRIGGERSTATE に値 TS_ACTIVE をセットし、画像取得を開始して下さい。トリ ガー生成を先に開始するかまたは画像取得開始後に行うかの順番はどちらでも大丈夫です。トリガーシステムを最初に開始する とカメラはフレームグラバーに画像転送を開始します。これらの画像は削除され画像取得は行われません。 これでカメラからの画像データを受け取ることが出来ます。周波数と信号幅を変更すると、これらのパラメータの影響を確認で きます。高周波を設定するとフレームレートが高くなり、短い露光時間を設定すると取得する画像が暗くなります。また、露光 ピリオドより長い露光時間は設定できず、パラメータの書き込みでエラーが発生します。そのため、パラメータ変更の順番が重 要になります。また、カメラの仕様を超える周波数や露光時間を設定しないでください。この場合、カメラ側で処理できないた めにロストトリガーとなりますのでカメラマニュアルにある最大範囲を確認ください。 パルス信号生成を停止する場合、パラメータ FG_TRIGGERSTATE に値 TS_SYNC_STOP をセットします。トリガーシステムは現 在のパルス信号を終了し、再度システムがアクティブになるまで出力を停止します。このシナリオでは非同期停止モードは必要 ありません。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

25


文書番号 :SSB003 Revision :1.00

図 5.5 エリアトリガーモードブロックダイアグラム:ジェネレータモードを強調

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

26


文書番号 :SSB003 Revision :1.00

5-4-2 外部トリガー信号 前節のサンプルでは、カメラの露光時間を制御するためにフレームグラバー内部で生成する信号を使用しました。 このシナリオでは、外部ソースを使用し露光タイミングを設定します。例えば、「図 5.6 外部トリガー信号制御シナリオ」に ある光バリアです。オブジェクトがカメラの下に位置する場合、オブジェクトがカメラの前に移動するタイミングを光バリアに 設定します。一般的に光バリアとカメラを正確な位置に配置することはできませんので、カメラへトリガー入力する前に、パル ス信号を遅延する光バリアからのディレイが必要になります。さらのこのシナリオでは、トリガーシステムで照明制御を行いま す。

図 5.6 外部トリガー信号制御シナリオ① 「図 5.7 波形:外部トリガー信号」の波形は、入力信号の情報を提供しており、要求される出力信号を表しています。入力は、 図内の一番上です。信号の立ち下がりエッジがトリガー生成のタイミングですので、信号は'low active'です。立ち下がりエッジ のみ検出され、外部入力パルス信号の長さはイグノア(2 番目)されています。 カメラへの出力は「CC1」です。ここにディレイ(Delay0)があることが確認できます。このディレイで光バリアとカメラの位 置を調整します。使用するカメラのトリガーモードによっては、出力 CC1 の信号幅で露光時間を定義する場合があります。照明 の制御は、トリガー出力 0 を使用して行い、ここでもディレイを追加しています。照明の条件に依存しますが、このディレイは、 CC1 出力のディレイより長い、または短い必要があります。同じく、要求されるパルス信号の長さはハードウェアによって異な ります。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

27


文書番号 :SSB003 Revision :1.00

図 5.7 波形:外部トリガー信号 アプレットのパラメータ設定を行う前に、カメラを外部トリガーモードに設定して下さい。前接のトリガーモードを参照下さい。 このサンプルでは、トリガーモードで入力ソースと 2 つのトリガー出力を設定します。「図 5.8 エリアトリガーモードブロッ クダイアグラム:外部トリガーを強調」は、関連するブロックを表したエリアトリガーのブロックダイアグラムです。 ・

パラメータ FG_AREATRIGGERMODE = ATM_EXTERNAL 外部トリガーモードでは、トリガーシステムはフレームグラバー内部の周波数ジェネレータを使用しません。外部パルス信 号によってトリガー信号の出力を制御します。入力ソースの選択と入力の極性定義が必要になります。

パラメータ FG_TRIGGERIN_SRC = TRGINSRC_2 このパラメータでトリガー入力を選択します。複数カメラを接続するアプレットを使用する場合、カメラは同じトリガーソ ースを共有することができます。

パラメータ FG_TRIGGERIN_POLARITY = FG_LOW_ACTIVE このシナリオでは、トリガーは、入力信号の立ち下がりエッジを使用します。

パラメータ FG_TRIGGER_FRAMESPERSECOND = 500 このパラメータの設定は必須です。いずれのトリガーシステムを使用する場合でも、このパラメータの正しい設定が要求さ れます。フレームグラバー内部で周波数を生成しない場合、このパラメータは、最大許容トリガーパルス周波数を定義しま す。別の言葉で表現すると、このパラメータで制限を設定します。周波数の制限はカメラの最大露光周波数です。 この制限を設定することのアドバンテージは、ロストトリガー信号の情報を得ることです。外部トリガー信号の周波数が カメラやアプレットより高いと仮定した場合、イメージロストや破損画像を取得する事になります。正確な周波数の制限を 設定した場合、トリガーシステムはこれらの制限を超えるラインの情報を提供できます。この情報はレジスタアクセスまた はイベントシステムを使用することによって取得でき、アプリケーションでの問題発生、不明確な状態を防ぐことができ、 いつどれだけのパルス信号をロストしたかの情報を常に受け取ることができます。 パラメータ FG_TRIGGER_FRAMESPERSECOND パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0 で詳細な情報を確認して下さい。 エラー検出と解析についての詳細な情報は、「ハードウェアシステム解析とエラー検出」で確認することができます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

28


文書番号 :SSB003 Revision :1.00

短期間に短いパルス信号を使用する場合、トリガーシステムはトリガーパルスをキューとして使用することもできます。後 のシナリオに説明があります。 このサンプルでは最大周波数を 500fps に設定します。この機能を使用したくない場合、 パラメータ FG_TRIGGER_FRAMESPERSECOND に 1MHz など高い値を設定して下さい。 ・

パラメータ FG_TRIGGER_PULSEFORMGEN0_WIDTH = 200 ここまで外部信号を受け付けて、その信号からトリガーパルスを生成する設定を行いました。次にこれらのパラスを出力す る出力信号のパルス形成定義を行います。前節のシナリオと同様、CC1 のパルス形成を生成するためパルス信号ジェネレー タ 0 を使用します。ここではパルス幅を 200µs に設定します。

パラメータ FG_TRIGGER_PULSEFORMGEN0_DELAY = 50 信号幅に加えて、光バリアが正確な位置に配置されていないため出力のディレイを設定します。ここでは、ディレイを 50μs に設定します。

パラメータ FG_TRIGGER_PULSEFORMGEN1_WIDTH = 250 CC 出力に加え照明制御を行います。パルス信号ジェネレータ 1 を使用します。ここでは信号幅を 250µs に設定します。

パラメータ FG_TRIGGER_PULSEFORMGEN1_DELAY = 25 照明出力のディレイをセットします。

パラメータ FG_CCSEL0 = CC_PULSEGEN0 最後にパルス信号ジェネレータ 0 を出力 CC1 に割り付けます。

パラメータ FG_TRIGGEROUT_SELECT0 = PULSEGEN1 出力 0 に接続したフラッシュライトは、パルス信号ジェネレータ 1 に割り付けます。

パラメータ FG_TRIGGEROUT_SELECT1 = PULSEGEN0 ロジックアナライザを使用してカメラのトリガー出力を計測する必要があると仮定し、出力 1 をパルス信号ジェネレータ 0 に割り付けます。

トリガー定義は完了しました。前のシナリオでも説明したとおり、画像取得を開始してパラメータ FG_TRIGGERSTATE でトリガ ーシステムをアクティブにして下さい。 これで各外部トリガーパルスによるカメラからの画像を取得できます。検証のために生成されたトリガー信号による外部パルス 信号の数と受け取ったフレーム数を比較します。 入力パルス信号と生成されたパルス信号数は、 Trigger Input カテゴリ -> Input Statistics のパラメータ FG_TRIGGERIN_STATS_PULSECOUNT と出力統計パラメータ FG_TRIGGEROUT_STATS_PULSECOUNT を使用して取得できます。受け取ったフレーム数とこれらの値を比較します。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

29


文書番号 :SSB003 Revision :1.00

図 5.8 エリアトリガーモードブロックダイアグラム:外部トリガーを強調

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

30


文書番号 :SSB003 Revision :1.00

5-4-3 照明 3 機の制御 このシナリオは前節とよく似ており、カメラと照明を制御する外部トリガーを使用します。異なる点は、1 つの外部トリガーパ ルスで 3 つの画像を取得する点です。連続するイメージから取り出す 3 つの画像は異なる光源を使用する必要があります。その ため、このシナリオではマルチトリガーでトリガーパルスを増やす方法とトリガーに接続されている 3 機の照明の制御方法を確 認します。 このシナリオにあるアプリケーションのアイデアは、異なる光源を使用したオブジェクトでの画像取得です。高いダイナミック レンジのイメージ取得や標準的な照明と赤外照明を切り替えるアプリケーションで使用することが出来ます。「図 5.9 外部ト リガー信号制御シナリオ②」はハードウェアセットアップをあらわしています。3 機の光源が用意されています。オブジェクト はカメラの前を移動します。光バリアは、カメラのトリガータイミング情報を提供します。カメラの前でオブジェクトが停止す るか、異なる照明で 3 つの画像が取得できる移動速度を想定してください。

図 5.9 外部トリガー信号制御シナリオ② 波形を確認する前に仮想ハードウェアのスペックを確認します。 表 5.1 3 機の照明を使用した仮想ハードウェア仕様 要素

制限

オブジェクトの速度

最大 1 秒間に 100 オブジェクト

最少カメラ露光時間

50µs

最少カメラフレームタイム

70µs

オブジェクトの速度は 1 秒間に 100 オブジェクトです。カメラの最少露光時間は 50µs で最小フレームタイムは 70µs です。そ のため、3 つの画像を取得するためには 210µs 必要です。次の波形は、入力と出力信号と同様にマルチトリガーで追加された入 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

31


文書番号 :SSB003 Revision :1.00 力信号をあらわしています。最初の列は入力を表しており、それぞれの立下りエッジで 2 列目に示される光バリアのイベントを 表しています。3 列目は、追加させた入力パルス信号とのパルス間で 70µs のギャップを確認できます。それぞれのパルス信号 で CC1 信号が生成されており、トリガー出力 0、1、2 は 3 にダウンスケールされディレイが追加されています。

図 5.10 波形:3 機の照明制御する外部トリガー信号 パラメータ設定は前節のサンプルと似ていますが、ここではマルチトリガー係数と 4 つのパルス信号ジェネレータを使用し、ト リガーパルスシーケンサを設定する必要があります。ブロックダイアグラム「図 5.11 エリアトリガーモードブロックダイア グラム:3 機の照明制御外部トリガーを強調」で関連するブロックを確認して下さい。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

32


文書番号 :SSB003 Revision :1.00

図 5.11 エリアトリガーモードブロックダイアグラム:3 機の照明制御外部トリガーを強調 ・

パラメータ FG_AREATRIGGERMODE = ATM_EXTERNAL

パラメータ FG_TRIGGERIN_SRC = 2

パラメータ FG_TRIGGERIN_POLARITY = FG_LOW_ACTIVE

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

33


文書番号 :SSB003 Revision :1.00 ・

パラメータ FG_TRIGGER_MULTIPLY_PULSES = 3 パラメータは、シーケンサのマルチトリガー係数を定義します。各入力パルス信号のために、3 つの内部パルス信号を生成 する必要があります。マルチトリガー増加の期間はパラメータ FG_TRIGGER_FRAMESPERSECOND で定義します。

パラメータ FG_TRIGGER_FRAMESPERSECOND = 14285 追加されたトリガーパルス間のギャップに対応した最大フレームレート。70µs のギャップが必要なので周波数は 14285Hz です。

パラメータ FG_TRIGGER_PULSEFORMGEN0_WIDTH = 50 再度、CC 信号の生成にパルス信号ジェネレータ 0 を使用します。パルス信号幅は 50µs です。ディレイやダウンスケール は設定する必要はありません。

パラメータ FG_TRIGGER_PULSEFORMGEN1_WIDTH = 50 照明のパルス信号幅は、使用しているハードウェアに依存します。このサンプルでは 50µs と仮定します。

パラメータ FG_TRIGGER_PULSEFORMGEN2_WIDTH = 50

パラメータ FG_TRIGGER_PULSEFORMGEN3_WIDTH = 50

パラメータ FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE = 3 照明からの出力は、3 つのダウンスケールが必要です。全ての照明パルス信号ジェネレータで設定します。

パラメータ FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE = 3

パラメータ FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE = 3

パラメータ FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE_PHASE = 0 出力信号をダウンスケールさせるために位相シフトを使用します。代わりにディレイを使用できますが、周波数を変更する 度にディレイを変更する必要があります。パルス信号ジェネレータ 1 の位相シフトで最初の照明の番号は 0 です。

パラメータ FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE_PHASE = 1 パルス信号ジェネレータ 2 の位相シフトで 2 番目の照明の番号は 1 です。

パラメータ FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE_PHASE = 2 パルス信号ジェネレータ 3 の位相シフトで 3 番目のフラッシュライトの番号は 2 です。

パラメータ FG_CCSEL0 = PULSEGEN0 出力の割付です。

パラメータ FG_TRIGGEROUT_SELECT0 = PULSEGEN1

パラメータ FG_TRIGGEROUT_SELECT1 = PULSEGEN2

パラメータ FG_TRIGGEROUT_SELECT2 = PULSEGEN3 パラメータ FG_TRIGGERSTATE でトリガーシステムを開始します。光バリアで外部トリガーパルスが生成されるとフレー ムグラバーから 3 フレーム(3 倍)の画像を取得します。前節と同様に、アプリケーション実行時、または、周波数が制限 値を超え外部のハードウェアが入力パルス信号を生成しない場合、入力で限度を超えるでライン期間を確認します。 1 度の外部トリガーパルスで 3 フレームの画像を取得する為にトリガーシステムをアクティブにする前に画像取得を開始し て下さい。トリガーシステムの後に画像取得を開始すると最初に転送された画像が連続取得画像の 1 番目であるか確認でき ません。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

34


文書番号 :SSB003 Revision :1.00

5-4-4 ソフトウェアトリガー 前節のサンプルは、トリガー撮影とデジタル出力信号を出力するため、内部信号ジェネレータの使用方法と外部トリガーパルス の使用方法を説明しました。その他のトリガーモードはソフトウェアトリガーです。このモードでは、ソフトウェアアプリケー ションを使用してトリガーパルスの生成を制御することができます。 ソフトウェアトリガーモードを使用するには、パラメータ FG_AREATRIGGERMODE に値 ATM_SOFTWARE をセットします。 次に、パルス信号ジェネレータ、出力を定義してトリガーシステムをスタート後、画像取得を行います。パラメータ FG_SENDSOFTWARETRIGGER に値 1 を書き込むとトリガーパルスが生成され、 書き込みの度にトリガーパルスは生成されます。 「図 5.12 エリアトリガーモードブロックダイアグラム:ソフトウェアトリガーを強調」で関連するブロックを確認して下さ い。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

35


文書番号 :SSB003 Revision :1.00

図 5.12 エリアトリガーモードブロックダイアグラム:ソフトウェアトリガーを強調 2 つのパルス信号間は、最大トリガー周波数で制限されている 1 / FG_TRIGGER_FRAMESPERSECOND より大きい値を設定して 下さい。トリガーシステムは、新しいソフトウェアトリガーパルスを受け付ける(ビジー状態でないか)か確認することができ ます。 パラメータ FG_SOFTWARETRIGGER_IS_BUSY を読み込むことで状態を確認でき、パラメータ値が IS_BUSY の間、パラメータ FG_SENDSOFTWARETRIGGER への書き込みは許可されません。従い、書き込みを行う前にシステムがビジー状態であるか確認 して下さい。ロストパルス信号の確認はパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS を読み込んで行います。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

36


文書番号 :SSB003 Revision :1.00

各ソフトウェアトリガーの連続パルス信号を生成したい場合があります。これを行うためには、パラメータ FG_TRIGGER_MULTIPLY_PULSES に必要な連続長をセットします。これで全てのトリガーパルスがトリガーシステムに書き込ま れます。定義した連続長とパラメータ FG_TRIGGER_FRAMESPERSECOND で定義された周波数が生成されます。この場合も同様、 システムはシーケンスが処理されている間、追加の入力を受け付けることはできません。 トリガーシステムをソフトウェアトリガーで使用する方法は、各フローチャートを参照ください。フローチャートは、仮想のユ ーザーソフトウェアを視覚化しています。最初の例では、パラメータ FG_SENDSOFTWARETRIGGER を使用して 1 度のソフトウ ェアトリガーを生成しています。アプレットがパルス信号を受け取るとカメラにトリガーを送ります。カメラは画像データをフ レームグラバーに送り、その後 DMA 転送で PC に出力されます。ユーザーアプリケーションは DMA 転送を待つことになります。 アプリケーションが新しい画像データが PC に完全に転送されたとの通知を受け取ると新しいソフトウェアトリガーパルを送り、 フレームグラバーとカメラは再度新しい画像データの生成を開始します。ソフトウェアアプリケーションは、新しい転送を待っ ている間、前に受けとった画像データの処理を開始します。そのため、ソフトウェアは、画像生成が行われている間に処理を行 う事ができます。もちろん、最初にイメージ処理を行った後に、新しいトリガーパルスを生成する事も可能です。 ステップは:ソフトウェアトリガーパルスの生成、イメージ転送待ち、ソフトウェアトリガーパルスの生成、画像データ転送待 ちとなります。「図 5.13 フローチャート:ソフトウェアトリガー」はこのサンプルのフローチャートです。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

37


文書番号 :SSB003 Revision :1.00

図 5.13 フローチャート:ソフトウェアトリガー このサンプルアプリケーションでは、画像データを受け取った後ビジー状態ではありませんので、ソフトウェアトリガーのビジ ー状態を確認する必要はありません。このサンプルにある 1 つのループバックは、新しいトリガーパルスを生成する前に画像デ ータの完全転送を待つ必要があるため、最大スピードでフレームを取得できない場合を表しています。カメラは画像データ転送 中に新しいトリガーパルスを受け取ることができます。「図 5.14 フローチャート:シーケンサとソフトウェアトリガー」サ ンプルはトリガーシーケンサを説明しています。 このサンプルは 2 つのスレッドを持っており、1 つ目のスレッドはトリガー生成のスレッド、2 つ目は画像取得と処理のスレッ ドです。前節のサンプルと比較すると、マルチトリガーパルスのためにトリガーシーケンサを使用していますので、ビジーフラ グを使用する必要があります。これで高いフレームレートで画像取得を行う事ができます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

38


文書番号 :SSB003 Revision :1.00

図 5.14 フローチャート:シーケンサとソフトウェアトリガー メインスレッドでは、定義、トリガーシステムの開始、画像取得を行います。フレームグラバーに送る各ソフトウェアトリガー パルスは 1000 パルスを生成し、パラメータ FG_TRIGGER_FRAMESPERSECOND で定義したフレームレートでカメラに送りま す。フレームグラバーにソフトトリガーパルスを送った後、パラメータ FG_SOFTWARETRIGGER_IS_BUSY レジスタを確認して ソフトウェアがビジー状態でなくなるまで待ちます。生成したトリガーパルス数を制御するため、成功したシーケンス生成の数 をカウントします。より多くのフレームレートが必要な場合、新しいシーケンサを開始してソフトウェアトリガーパルスをフレ ームグラバーに送ります。 2 つ目のスレッドは、画像取得と画像データの処理に使用します。ここでは、ソフトウェアは新しい画像データの転送(パラメ ータ Fg_getLastPicNumberBlockingEx()等を使用します)を待ち、受け取った画像データの処理を行います。指定した数のフ レームを取得して処理が終了するとスレッドは終了します。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

39


文書番号 :SSB003 Revision :1.00

5-4-5 トリガーキューを使用したソフトウェアトリガー ソフトウェアトリガーについて再度確認します。今回トリガーキューを使用しています。トリガーキューは、外部ソース、また はソフトウェアトリガーのトリガーパルスのバッファリングを行うことができ、このパルス信号をパラメータ FG_TRIGGER_FRAMESPERSECOND で定義した許容周波数で出力します。そのため、トリガーシステムがビジー状態の間、パラ メータ FG_SENDSOFTWARETRIGGER に何度も書き込みを行います。 キューがフルの状態では、パラメータ FG_SOFTWARETRIGGER_IS_BUSY は、値 IS_BUSY のみを持っています。 パラメータ FG_SENDSOFTWARETRIGGER に何度も書き込みを行う代わりに、このパラメータに直接要求パルス信号数を書き込 むことができます。 トリガーキューは最大 2040 パルスまでのバッファリングが可能です。このバッファはシーケンサを含んでいませんので、シー ケンス長が 1,000 のパルスを持ち、現在のパルスキューが 200 パルスである場合、トリガーシステムでは 200,000 パルスの出 力が残ります。パラメータ FG_TRIGGERQUEUE_FILLLEVEL でフィルレベルを確認することができます。 「図 5.15 フローチャート:トリガーキューを使用したソフトウェアトリガー」フローチャートでキューのフィルレベルで最 少 10 パルスの制限を確認できます。この仮想アプリケーションで、キューのフィルレベルを確認し、制限値と比較します。 少ないパルス信号がキューにある場合新しいソフトウェアトリガーパルスを生成しますので、スタートアップでキューは 10 パ ルスになるまで埋められた状態です。トリガーシステムに送るソフトウェアトリガーパルスをカウントします。連続長を増やす ことでカメラに送られるパルス信号数を取得することが出来ます。十分なパルス信号が生成された場合、トリガーのパルス生成 を停止することができます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

40


文書番号 :SSB003 Revision :1.00

図 5.15 フローチャート:トリガーキューを使用したソフトウェアトリガー 「図 5.16 波形:キューサンプルとソフトウェアトリガー」を確認すると、キューが埋められている初期フェーズが確認でき ます。フィルレベル 10 に到達するとソフトウェアトリガーはアプレットに書き込まれません。システムは、トリガーパルスの 出力を継続します。連続長 1000 パルスなので、フィルレベルが変更されるまでに 1000 パルスが生成されるのを待ち続ける必 要があります。1000 番目のパルスが生成された後、フィルレベルは 9 に変更されます。これで、別のソフトウェアトリガーパ ルスの生成を行うことができるようになりフィルレベルは再び 10 になります。

図 5.16 波形:キューサンプルとソフトウェアトリガー

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

41


文書番号 :SSB003 Revision :1.00 トリガーキューを使用している時のトリガーシステムの停止について、パラメータ FG_TRIGGERSTATE を値 TS_SYNC_STOP に 設定すると、トリガーシステムは、ソフトウェアトリガーパルスなど入力の受け付けを停止しますが、キューが空になり、全て のパルスが完全に出力されるまでトリガーパルスの生成は行われます。トリガーステータスを値 TS_ASYNc_STOP に設定するこ とでパルス信号生成をキャンセルすることができます。

5-4-6 トリガーキューを使用した外部トリガー 外部トリガーでトリガーキューを使用することもできます。これによって外部のエンコーダまたは、それ以外のトリガー信号ジ ェネレータからバッファリングを行うことができます。動作環境を 50Hz の周波数でトリガーパルスを生成する外部エンコーダ と最大周波数 52Hz で動作するカメラで仮定します。パラメータ FG_TRIGGER_FRAMESPERSECOND を 52Hz に設定します。 外部ハードウェアは変動があり、その平均は 50Hz です。52Hz より高い周波数を持つ入力があった場合、最低でも 1 パルスを ロストします。このロストパルスは、トリガーロストイベントまたはパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS を 読み込むことで確認できます。 キューを有効にしている場合、同じシナリオを参照します。キューを有効に設定するとトリガーパルスのバッファリングを行う ため、上限を超える入力周波数をバッファに溜め、カメラ最大トリガー周波数(このサンプルでは 52Hz です)でパルス信号を 出力することができます。入力周波数が減少したら、キューは空になりパルス信号出力は、再度入力と同期します。 ディレイによってオブジェクト位置のシフトなど取得イメージに影響がある可能性がある点にご注意ください。 キューを有効にするためには、パラメータ FG_TRIGGERQUEUE_MODE に値 FG_ON を書き込みます。 「図 5.17 波形:キューを使用した外部トリガー」は入力信号、キューのフィルレベル、出力信号を表しています。最初、2 つの入力信号間のギャップは 20ms で、周波数は 52Hz より低い状態です。そのため、キューには、パルスが埋まることはなく トリガーシステムは、2 番目のパルス信号を直接出力します。2 番目と 3 番目と同様に 4 番目のパルス間は 19.2ms より低くな っているため、最低ギャップ 19.2ms を確保するためパルスの出力にディレイをかけます。この期間、キューのフィルレベルは、 短い期間 1 になります。4 番目と続く入力パルスのギャップは長いですが、システムはこれらのパルスにもディレイをかけます。

図 5.17 波形:キューを使用した外部トリガー

注意 キューがフルの状態(オーバーフローの状態)になった場合のみトリガーロストイベントとパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS はセットされます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

42


文書番号 :SSB003 Revision :1.00

5-4-7 外部トリガー信号のバイパス 外部トリガー信号を使用する場合デューティーサイクル(信号幅または信号長)はイグノアされますので、外部ソースを直接出 力にバイパスさせることができます。例えば、外部ソースで露光時間を制御する場合外部ソースからカメラへバイパスさせるこ とができます。そのため、周波数の確認は行わず、またはダウンスケールを行うことができます。 バイパスをジェネレータやソフトトリガーモードと混合させることができます。そのため、CC1 が内部周波数ジェネレータまた は、別の外部ソースからのパルスを含んだ状態でバイパス信号を CC2 に出力することができます。 トリガー入力を選択して使用するバイパスを定義するには、パラメータ FG_TRIGGERIN_BYPASS_SRC を使用します。必要であ れば、パラメータ FG_CCSEL0 をパラメータ FG_CCSEL3 に、パラメータ FG_TRIGGEROUT_SELECT0 とパラメータ FG_TRIGGEROUT_SELECT3 を値 INPUT_BYPASS または NOT_INPUT_BYPASS にセットします。

5-4-8 複数のカメラを使用するアプリケーション 基本的なアプリケーションは、同じトリガーソースで複数のカメラを 1 つまたはそれ以上のフレームグラバーに接続します。 全てのカメラがトリガーパルス毎に画像を取得する必要があるとします。トリガーソースを全てのフレームグラバーに接続して 全てのカメラに同じトリガー定義をセットします。いくつかのアプレットは、1 つ以上のカメラをサポートしています。この場 合、全てのカメラに同じパラメータをセットする必要があります。同じトリガーソースを共有します。 外部トリガーソースがない場合、ジェネレータやソフトウェアトリガーを使用するとトリガーをカメラの露光と同じタイミング で使用することができます。デジタルトリガー出力でカメラコントロール信号を出力し、この出力をマスターとして同期させる フレームグラバーのデジタル入力に接続します。 スレーブアプレットでは、入力をカメラコントロール(CC)出力にバイパスさせます。アプレットが 1 台以上のカメラをサポー トしている場合、特別なトリガーモード、SYNCHRONIZED を使用することができます。このモードは最初のカメラ以外の全て のカメラで選択することができます。スレーブカメラは、最初のカメラからの出力されるトリガーパルスを入力ソースとして使 用しますが、スレーブカメラのトリガーシステムでパルス生成を定義する必要があり、これらをトリガー出力に割り付ける必要 があります。

5-4-9 ハードウェアシステム解析とエラー検出 SILICON SOFTWARE トリガーシステムには、パワフルなモニタリング機能が含まれています。便利で効果的なシステム解析機 能でハードウェアセットアップや不正なパラメータ検出に役立ちます。 再度シンプルな外部トリガーサンプルを参照ください。全てのデバイスのセットアップとアプレットの定義が完了していると仮 定し、システムを開始して画像取得を行います。期待通りのフレーム数またはフレームレートが取得できてない場合、いくつか のトリガー信号または、フレームをロストしていることを意味します。エラーを解析するために、モニタリングアプレットレジ スタを参照します。

5-4-9-1 トリガー入力統計 トリガー入力統計カテゴリのパラメータで外部トリガーパルスの解析を行うことができます。パラメータ FG_TRIGGERIN_STATS_FREQUENCY は、入力信号の連続周波数を計測し、この値をトリガー入力信号と比較します。 また、パラメータ FG_TRIGGERIN_SRC で正しいトリガー入力が選択されているか、入力のパルス信号幅がハードウェアで検出 するのに十分な長さであるかの確認を行います。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

43


文書番号 :SSB003 Revision :1.00 連続する入力信号を確認するため、パラメータ FG_TRIGGERIN_STATS_MAXFREQUENCY とパラメータ FG_TRIGGERIN_STATS_MINFREQUENCY で最大及び最小検出周波数を確認します。スタートアップで、外部パルス信号を検出 できないような低周波を受け取ります。そのため、統計をクリアするために最初にパラメータ FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR を使用します。想定する値から逸脱した値を検出、または最小と最大周 波数間に差がありすぎる場合、外部トリガーを生成するハードウェアは、信号の変化が激しいと言えます。パルス増加を引き起 こすパルス信号のスキップまたは、跳ね上がりです。この場合、高いデバウンス値の設定、周波数が許容する低い最大値の設定 (「外部トリガー信号」を参照下さい)またはトリガーキュー(「トリガーキューを使用した外部トリガー」)を使用して問題 を補うことができます。 入力統計モジュールのもう一つの機能は、パルス信号のカウントです。この機能は、入力パルスと出力パルス、取得したフレー ム数を比較するために使用します。パラメータ FG_TRIGGERIN_STATS_PULSECOUNT からパルスカウント値を読み込むことが できます。入力といずれかの出力それに取得した画像の同期カウントを明確にするために、外部トリガー入力を生成する前にパ ルスカウンタをクリアしてください。

5-4-9-2 トリガー出力統計 パルスカウンタはトリガー出力にも使用します。ここでは、パラメータ FG_TRIGGEROUT_STATS_SOURCE を使用してパルス信 号ジェネレータを選択し、パラメータ FG_TRIGGEROUT_STATS_PULSECOUNT から値を読み込みます。 入力パルスカウンタと比較するためにパルスカウント値を使用します。値に差がありすぎる場合、フレームグラバーのパルスは、 捨てられます。入力信号が、パラメータ FG_TRIGGER_FRAMESPERSECOND で設定した最大許容周波数より高い場合にこの現象 が発生します。この現象が発生すると、パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS フラグがセットされます。 また、パルスカウンタの値が大きく異なる場合、トリガー乗算とダウンスケールはセットされません。 パラメータ FG_TRIGGERIN_DOWNSCALE、パラメータ FG_TRIGGER_MULTIPLY_PULSES とパルス信号ジェネレータのダウンス ケールパラメータを確認してください。 入力/出力パルスと入力/出力イベントはパラメータ FG_TRIGGER_OUTPUT_CAM0 でカウントすることができます。

5-4-9-3 カメラリスポンスチェック トリガーパルスは、カメラへのリンクやトリガー周波数がカメラ処理に対して高すぎる場合ロストする可能性があります。 この場合、フレームグラバーで受け取ったフレーム数は送ったトリガー信号数と異なります。このエラーをチェックするため、 ロストしたカメラフレーム応答を検出するモジュールを用意しています。このモジュールは、ロストしたフレームを検出して各 ロストフレームに対してイベントの生成や、レジスタをセットします。「統計」で詳細な情報と使用方法を確認することができ ます。

5-4-9-4 取得画像比較 取得した画像をカウントすることもできます、DMA 転送数と生成されたトリガーパルスを比較します。 値が異なる場合、カメラでトリガーパルスをロストしている可能性があります。この場合、カメラに対しトリガー信号周波数が 高すぎないか確認します。イメージをロストしているオーバーフロー状態でアプレットを動作させないでください。オーバーフ ロー状態でアプレットが動作しているかは、アプレットの最大バンド幅で確認できます。小さいサイズの ROI を設定することで 問題を解決できます。

注意 全てのモニター値に対してパラメータの最大、最小範囲をチェックします。パルスカウンタが最大値に到達するとリセットされ 0 からスタートします。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

44


文書番号 :SSB003 Revision :1.00

5-5 パラメータ

5-5-1 FG_AREATRIGGERMODE アドバンスド画像取得アプレットのエリアトリガーシステムは、3 つのオペレーションモードで実行できます。 ・

Generator 内部の周波数ジェネレータで定義した周波数がトリガーソースに使用されます。全てのデジタルトリガー入力とソフトウェ アトリガーパルスはイグノアされます。

External このモードでは、1 つのデジタル入力をトリガーソースとして使用します。トリガー生成に外部ソースを使用します。

Software ソフトウェアトリガーモードでは、トリガー入力信号を手動で生成する必要があります。パラメータをアプレットへ書き込 みます。

フリーランモード カメラをフリーランモードで動作させる場合、上で説明したいずれのモードも使用できます。カメラはトリガーパルスをイグノ アします。必要であればば出力を無効にまたは、パラメータ FG_TRIGGERSTATE を使用してトリガーを無効にすることができま す。

許容周波数 外部トリガーやソフトウェアトリガーモードでパラメータ FG_TRIGGER_FRAMESPERSECOND の影響にご注意ください。 これらのモードでは、このパラメータを必ずセットします。

5.2 パラメータプロパティ:FG_AREATRIGGERMODE Property

Value

Type

Enumeration

Name

Access policy

FG_AREATRIGGERMODE Read/Write/Change

Storage policy

Persistent

Allowed values

ATM_GENERATOR Generator

ATM_EXTERNAL External

ATM_SOFTWARE Default value

Software

ATM_GENERATOR

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

45


文書番号 :SSB003 Revision :1.00 サンプル 5.1 FG_AREATRIGGERMODE int result = 0;

unsigned int value = ATM_GENERATOR;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_AREATRIGGERMODE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_AREATRIGGERMODE, &value, 0, type)) < 0) { }

/* error handling */

5-5-2 FG_TRIGGERSTATE エリアトリガーシステムは 3 つのトリガーステータスで動作します。Active ステータスでは、モジュールは全て有効です。 トリガーソースは使用され、パルス信号はキューになり、ダウンスケール、乗算、出力信号は、パラメータ設定されたパルス信 号を取得します。トリガーを Sync Stop モードに設定すると、モジュールはさらなる入力パルスをイグノアするかパルス生成を 停止します。 モジュールはシステム内でパルス信号を処理します。これは、貯め込まれたキューとシーケンサはパルス処理を継続し、ジェネ レータからのパルス信号は、パラメータに関連する信号を出力します。最終的に Async Stop モードで非同期に、または直ちに トリガーシステムを停止します。この停止は、現在の信号生成が割り込むため不明な信号長を持つ出力信号となり、前に停止し たトリガーの再スタート、すなわち Active ステータスへの切り替えによってキューとシーケンサをクリアします。 表 5.3 パラメータプロパティ:FG_TRIGGERSTATE Property

Value

Name

FG_TRIGGERSTATE

Access policy

Read/Write/Change

Allowed values

TS_ACTIVE

Type

Storage policy

Enumeration Persistent Active

TS_ASYNC_STOP

Async Stop

TS_SYNC_STOP Sync Stop

Default value

TS_SYNC_STOP

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

46


文書番号 :SSB003 Revision :1.00

サンプル 5.2 FG_TRIGGERSTATE int result = 0;

unsigned int value = TS_SYNC_STOP;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERSTATE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERSTATE, &value, 0, type)) < 0) { }

/* error handling */

5-5-3 FG_TRIGGER_FRAMESPERSECOND このパラメータは、トリガーシステムで非常に重要なパラメータです。複数の機能で使用します。 Generator モードで動作するとジェネレータの周波数を定義し、External または Software Trigger モードで動作すると、最大 許容入力周波数を定義します。入力周波数がこの上限を超えると、入力信号のパルスロスを引き起こします。このエラー通知を 行うために、エラーフラグを含む読み込みレジスタまたはイベントを生成します。トリガーキューが有効な場合、上限を超えた キューはバッファリングされパラメータ FG_TRIGGER_FRAMESPERSECOND で定義された最大周波数で出力されますので、最大 キュー出力周波数をパラメータで定義することができます。また、最大シーケンサ周波数も定義することができます。

注意 パラメータ範囲はジェネレータからのパルス設定に依存します。周波数を増加させたい場合は、ジェネレータから送られるパル ス信号のディレイ幅を減少させて下さい。

方程式 5.1 周波数とパルス信号ジェネレータの依存性 ・

fps = FG_TRIGGER_FRAMESPERSECOND

WIDTH[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_WIDTH

DELAY[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DELAY

DOWNSCALE[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE

一般的なトリガーシステムの説明と関連するパラメータの説明を参照ください。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

47


文書番号 :SSB003 Revision :1.00 表 5.4 パラメータプロパティ:FG_TRIGGER_FRAMESPERSECOND Property

Value

Type

Double

Name

FG_TRIGGER_FRAMESPERSECOND

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

Minimum NaN

Maximum

6250000.0 Stepsize

2.220446049250313E-16

Default value

8.0

Unit of measure

Hz

サンプル 5.3 FG_TRIGGER_FRAMESPERSECOND int result = 0;

double value = 8.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGER_FRAMESPERSECOND, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_FRAMESPERSECOND, &value, 0, type)) < 0) { }

/* error handling */

5-5-4 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS 入力信号周波数がパラメータ FG_TRIGGER_FRAMESPERSECOND で定義した最大許容周波数を超えると読込み専用レジスタは 値 FG_YES となります。キューを有効にし、フル状態で新しい入力パルスをストアできない場合レジスタがセットされます。 レジスタの読み込みでレジスタはリセットされません。 レジスタリセットはパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR への書き込みを行います。 表 5.5 パラメータプロパティ:FG_TRIGGER_EXCEEDED_PERIOD_LIMITS Property

Value

Type

Enumeration

Access policy

Read-Only

Allowed values

FG_YES

Name

Storage policy

FG_TRIGGER_EXCEEDED_PERIOD_LIMITS

Transient Yes

FG_NO No

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

48


文書番号 :SSB003 Revision :1.00 サンプル 5.4 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS int result = 0;

unsigned int value = FG_NO;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGER_EXCEEDED_PERIOD_LIMITS, &value, 0, type)) < 0) { }

/* error handling */

5-5-5 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR このパラメータで FG_TRIGGER_EXCEEDED_PERIOD_LIMITS をリセットします。 表 5.6 パラメータプロパティ:FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR Property

Value

Type

Enumeration

Name

FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR

Access policy

Read/Write/Change

Storage policy

Transient

Allowed values

FG_APPLY

Default value

FG_APPLY

Apply

サンプル 5.5 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR int result = 0;

unsigned int value = FG_APPLY;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

5-5-6 FG_TRIGGER_LEGACY_MODE モジュールの定義に数多くのパラメータを使用できるパワフルな機能を搭載しています。以前の画像取得アプレット (Runtime5.2 以前)から Acq_BaseAreaBayer12 アプレットに変更するユーザーのため、以前のトリガーパラメータを再利用 できるようになっています。パラメータ FG_TRIGGER_LEGACY_MODE を FG_ON にセットすると、現在のアプレットに存在し ない以前のバージョンのアプレットのパラメータを再利用することができます。トリガーシステムをレガシーモードに設定する と新しいパラメータの書き込みは無効になりますが、以前のパラメータから新しいパラメータへのマッピングを読み込むことは 可能です。さらにこのパラメータの変更により、トリガーシステムをデフォルトにリセットします。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

49


文書番号 :SSB003 Revision :1.00 以前のパラメータについてはこのドキュメント内で言及していません。詳細な説明は以前のアプレットの Runtime マニュアルを 参照ください。

現在のバージョンのパラメータセットを推奨 SILICON SOFTWARE は、現在のバージョンのパラメータセットを使用する事を推奨します。 以前のパラメータサポートは将来なくなり、また過去のトリガーシステムのパラメータ設定は保障できません。

表 5.7 パラメータプロパティ:FG_TRIGGER_LEGACY_MODE Property

Value

Name

FG_TRIGGER_LEGACY_MODE

Access policy

Read/Write/Change

Storage policy

Persistent

Type

Enumeration

Allowed values

FG_ON

On

FG_OFF

Off

Default value

FG_OFF

サンプル 5.6 FG_TRIGGER_LEGACY_MODE int result = 0;

unsigned int value = FG_OFF;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_LEGACY_MODE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_LEGACY_MODE, &value, 0, type)) < 0) { }

/* error handling */

5-5-7 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0 イベントは、ロスした各入力トリガーパルスで生成します。入力周波数がパラメータ FG_TRIGGER_FRAMESPERSECOND で設定 した最大許容周波数より高い場合トリガーロスは発生します。(「FG_TRIGGER_FRAMESPERSECOND」参照のこと) トリガーキューが有効な状態で、キューが埋った(オーバーフロー)場合にイベントが生成されます。一般的なトリガーモード では、イベントは生成されません。タイムスタンプ以外の追加データはイベントには含まれません。

5-5-8 Legacy このカテゴリは、トリガーのレガシーパラメータについて説明します。以前の画像取得アプレットからこのアプレットに移行し た場合、以前のトリガーパラメータも使用することができます。これらのパラメータの再利用については、 「FG_TRIGGER_LEGACY_MODE」で説明が記載されています。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

50


文書番号 :SSB003 Revision :1.00 次のパラメータには、記述テキストが含まれていません。これらのパラメータの説明は以前の画像取得アプレットのトリガード キュメントを参照下さい。

5-5-8-1 FG_TRIGGERMODE 表 5.8 パラメータプロパティ:FG_TRIGGERMODE Property

Value

Name

FG_TRIGGERMODE

Type

Enumeration

Storage policy

Persistent

Access policy

Read/Write/Change

Allowed values

FREE_RUN

Free Run

GRABBER_CONTROLLED Grabber controlled

ASYNC_TRIGGER Async Trigger

ASYNC_SOFTWARE_TRIGGER

Async Software Trigger Default value

FREE_RUN

サンプル 5.7 FG_TRIGGERMODE int result = 0;

unsigned int value = FREE_RUN;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERMODE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERMODE, &value, 0, type)) < 0) { }

/* error handling */

5-5-8-2 FG_EXSYNCON 表 5.9 パラメータプロパティ:FG_EXSYNCON Property

Value

Type

Enumeration

Name

Access policy

FG_EXSYNCON Read/Write/Change

Storage policy

Persistent

Allowed values

FG_ON

On

FG_OFF Off

Default value

FG_OFF

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

51


文書番号 :SSB003 Revision :1.00 サンプル 5.8 FG_EXSYNCON int result = 0;

unsigned int value = FG_OFF;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_EXSYNCON, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_EXSYNCON, &value, 0, type)) < 0) { }

/* error handling */

5-5-8-3 FG_FLASHON 表 5.10 パラメータプロパティ:FG_FLASHON Property

Value

Type

Enumeration

Name

FG_FLASHON

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

FG_ON

On

FG_OFF Off

Default value

FG_OFF

サンプル 5.9 FG_FLASHON int result = 0;

unsigned int value = FG_OFF;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_FLASHON, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_FLASHON, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

52


文書番号 :SSB003 Revision :1.00

5-5-8-4 FG_EXPOSURE 表 5.11 パラメータプロパティ:FG_EXPOSURE Property

Value

Type

Unsigned Integer

Access policy

Read/Write/Change

Allowed values

Minimum

Name

FG_EXPOSURE

Storage policy

Persistent 10

Maximum 124990

Stepsize 10

Default value

4000

サンプル 5.10 FG_EXPOSURE int result = 0;

unsigned int value = 4000;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_EXPOSURE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_EXPOSURE, &value, 0, type)) < 0) { }

/* error handling */

5-5-8-5 FG_EXSYNCDELAY 表 5.12 パラメータプロパティ:FG_EXSYNCDELAY Property

Value

Name

FG_EXSYNCDELAY

Access policy

Read/Write/Change

Type

Storage policy

Allowed values

Double

Persistent

Minimum 0.0

Maximum 10230.0 Stepsize 10.0

Default value

0.0

Unit of measure

microseconds

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

53


文書番号 :SSB003 Revision :1.00 サンプル 5.11 FG_EXSYNCDELAY int result = 0;

double value = 0.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_EXSYNCDELAY, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_EXSYNCDELAY, &value, 0, type)) < 0) { }

/* error handling */

5-5-8-6 FG_EXSYNCPOLARITY 表 5.13 パラメータプロパティ:FG_EXSYNCPOLARITY Property

Value

Name

FG_EXSYNCPOLARITY

Access policy

Read/Write/Change

Type

Enumeration

Storage policy

Persistent

Allowed values

FG_ZERO

Low Active FG_ONE

High Active

Default value

FG_ZERO

サンプル 5.12 FG_EXSYNCPOLARITY int result = 0;

unsigned int value = FG_ZERO;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_EXSYNCPOLARITY, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_EXSYNCPOLARITY, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

54


文書番号 :SSB003 Revision :1.00

5-5-8-7 FG_STROBEPULSEDELAY 表 5.14 パラメータプロパティ:FG_STROBEPULSEDELAY Property

Value

Type

Double

Access policy

Read/Write/Change

Allowed values

Minimum

Name

FG_STROBEPULSEDELAY

Storage policy

Persistent 0.0

Maximum 10230.0 Stepsize 10.0

Default value

0.0

Unit of measure

microseconds

サンプル 5.13 FG_STROBEPULSEDELAY int result = 0;

double value = 0.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_STROBEPULSEDELAY, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_STROBEPULSEDELAY, &value, 0, type)) < 0) { }

/* error handling */

5-5-8-8 FG_FLASH_POLARITY 表 5.15 パラメータプロパティ:FG_FLASH_POLARITY Property

Value

Type

Enumeration

Access policy

Read/Write/Change

Allowed values

FG_ZERO

Name

Storage policy

FG_FLASH_POLARITY

Persistent

Low Active FG_ONE

High Active

Default value

FG_ZERO

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

55


文書番号 :SSB003 Revision :1.00 サンプル 5.14 FG_FLASH_POLARITY int result = 0;

unsigned int value = FG_ZERO;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_FLASH_POLARITY, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_FLASH_POLARITY, &value, 0, type)) < 0) { }

/* error handling */

5-5-8-9 FG_PRESCALER 表 5.16 パラメータプロパティ:FG_PRESCALER Property

Value

Type

Double

Name

FG_PRESCALER

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

Minimum 0.032

Maximum 1048.56 Stepsize 0.016

Default value

10.0

Unit of measure

microseconds

サンプル 5.15 FG_PRESCALER int result = 0;

double value = 10.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PRESCALER, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_PRESCALER, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

56


文書番号 :SSB003 Revision :1.00

5-5-8-10 FG_CCSEL0、その他 注意 この説明は次のパラメータにも適用されます。: FG_CCSEL1 FG_CCSEL2 FG_CCSEL3 表 5.17 パラメータプロパティ:FG_CCSEL0 Property

Value

Name

FG_CCSEL0

Access policy

Read/Write/Change

Type

Enumeration

Storage policy

Persistent

Allowed values

CC_EXSYNC Exsync

CC_NOT_EXSYNC !Exsync

CC_STROBEPULSE Flash

CC_NOT_STROBEPULSE !Flash

CC_GND Gnd

CC_VCC Vcc

Default value

CC_EXSYNC

サンプル 5.16 FG_CCSEL0 int result = 0;

unsigned int value = CC_EXSYNC;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_CCSEL0, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_CCSEL0, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

57


文書番号 :SSB003 Revision :1.00

5-5-8-11 FG_DIGIO_OUTPUT 表 5.18 パラメータプロパティ:FG_DIGIO_OUTPUT Property

Value

Type

Unsigned Integer

Access policy

Read/Write/Change

Allowed values

Minimum

Name

FG_DIGIO_OUTPUT

Storage policy

Persistent 0

Maximum 3

Stepsize 1

Default value

3

サンプル 5.17 FG_DIGIO_OUTPUT int result = 0;

unsigned int value = 3;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_DIGIO_OUTPUT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_DIGIO_OUTPUT, &value, 0, type)) < 0) { }

/* error handling */

5-5-9 トリガー入力 トリガー入力カテゴリのパラメータは、トリガーシステムの入力ソースの定義に使用します。 このカテゴリはサブカテゴリに分割されており、全ての外部ソースは外部カテゴリで、ソフトウェアカテゴリではソフトウェア トリガーソースのモニタリングや制御の定義を行います。統計カテゴリでは、入力イベントの統計をあらわすパラメータが用意 されています。

5-5-9-1 外部カテゴリ

5-5-9-1-1 FG_TRIGGERIN_DEBOUNCE 一般的に安定したトリガー入力信号は実際には保証されていません。悪いシールド環境で長いケーブルを使用して転送する接続 と操作は、信号の品質に重大な影響を及ぼします。典型的な問題は、信号の切り替わり時にデジタル信号のエッジが平になるこ とです。「図 5.18 正常ではない信号とトリガー入力信号の生成」は、悪い影響の例を表しています。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

58


文書番号 :SSB003 Revision :1.00

図 5.18 正常ではない信号とトリガー入力信号の生成 トリガーシステムは、問題が発生しやすい信号の状況下においても高く安定したイベントで動作するためにデザインされており、 入力の内部デバンスで不要なトリガーパルスを除去します。これはヒステリシスと比較する事ができます。指定した時間の定数 (「図 5.18 正常ではない信号とトリガー入力信号の生成」内の L)による信号の変更は受け、入力のパルス信号の詰まりに反 応しません。また、スロー信号の転送と跳ね返りを引き起こすマルチトリガーを無効にすることもできます。必要なデバンス時 間をマイクロ秒単位で設定します。

注意 デバンス時間はトリガー信号が処理される前のディレイ時間でもあります。このパラメータの設定は、全てのデジタル入力設定 に影響します。 表 5.19 パラメータプロパティ:FG_TRIGGERIN_DEBOUNCE Property

Value

Name

FG_TRIGGERIN_DEBOUNCE

Access policy

Read/Write/Change

Allowed values

Minimum0.096Maximum3.024Stepsize0.048

Default value

1.0

Type

Double

Storage policy

Persistent

Unit of measure

us

サンプル 5.18 FG_TRIGGERIN_DEBOUNCE int result = 0;

double value = 1.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_DEBOUNCE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_DEBOUNCE, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

59


文書番号 :SSB003 Revision :1.00

5-5-9-1-2 FG_DIGIO_INPUT アドバンスド画像取得アプレットは 8 個のデジタル入力を搭載しています。パラメータ FG_DIGIO_INPUT でこれらの入力の現 在のステータスを読み込むことができます。読み込んだ値の Bit0 は入力0、Bit1 は入力 1 を表しています。例えば、値 37(0x25) を取得した場合、フレームグラバーは、デジタル入力 0、2、5 が High の状態です。 デジタル入力のモニタリングには、入力イベントも使用できます。 表 5.20 パラメータプロパティ:FG_DIGIO_INPUT Property

Value

Name

FG_DIGIO_INPUT

Type

Unsigned Integer

Storage policy

Transient

Access policy

Read-Only

Allowed values

Minimum0Maximum255Stepsize1

サンプル 5.19 FG_DIGIO_INPUT int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_DIGIO_INPUT, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-1-3 FG_TRIGGERIN_SRC 外部トリガーを使用するためには、イメージトリガー信号の入力を選択する必要があります。8 個の入力から 1 つを選択します。 パラメータ FG_AREATRIGGERMODE に外部が選択されていない場合、このパラメータは、入力統計のための入力のみが選択さ れます。 表 5.21 パラメータプロパティ:FG_TRIGGERIN_SRC Property

Value

Type

Enumeration

Storage policy

Persistent

Allowed values

TRGINSRC_0

Name

Access policy

FG_TRIGGERIN_SRC Read/Write/Change

Trigger Source 0 TRGINSRC_1

Trigger Source 1 TRGINSRC_2

Trigger Source 2 TRGINSRC_3

Trigger Source 3 TRGINSRC_4

Trigger Source 4 TRGINSRC_5

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

60


文書番号 :SSB003 Revision :1.00 Trigger Source 5 TRGINSRC_6

Trigger Source 6 TRGINSRC_7

Trigger Source 7 Default value

TRGINSRC_0

サンプル 5.20 FG_TRIGGERIN_SRC int result = 0;

unsigned int value = TRGINSRC_0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_SRC, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_SRC, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-1-4 FG_TRIGGERIN_POLARITY パラメータ FG_TRIGGERIN_SRC を使用して選択した入力には、このパラメータでポラリティをセットします。 表 5.22 パラメータプロパティ:FG_TRIGGERIN_POLARITY Property

Value

Name

FG_TRIGGERIN_POLARITY

Access policy

Read/Write/Change

Allowed values

LOW_ACTIVE

Type

Enumeration

Storage policy

Persistent

Low Active

HIGH_ACTIVE High Active

Default value

HIGH_ACTIVE

サンプル 5.21 FG_TRIGGERIN_POLARITY int result = 0;

unsigned int value = HIGH_ACTIVE;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_POLARITY, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_POLARITY, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

61


文書番号 :SSB003 Revision :1.00

5-5-9-1-5 FG_TRIGGERIN_DOWNSCALE 外部トリガーモードでトリガーシステムを使用する場合、パラメータ FG_TRIGGERIN_SRC でトリガー入力をダウンスケールさ せることができます。詳細な情報は「FG_TRIGGERIN_DOWNSCALE_PHASE」を参照下さい。 表 5.23 パラメータプロパティ:FG_TRIGGERIN_DOWNSCALE Property

Value

Name

FG_TRIGGERIN_DOWNSCALE

Type

Unsigned Integer

Storage policy

Persistent

Access policy

Read/Write/Change

Allowed values

Minimum 1

Maximum 256

Stepsize

1

Default value

1

サンプル 5.22 FG_TRIGGERIN_DOWNSCALE int result = 0;

unsigned int value = 1;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_DOWNSCALE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_DOWNSCALE, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-1-6 FG_TRIGGERIN_DOWNSCALE_PHASE パラメータ FG_TRIGGERIN_DOWNSCALE とパラメータ FG_TRIGGERIN_DOWNSCALE_PHASE は、外部トリガー入力のダウン スケールに使用します。ダウンスケール値は、係数であらわします。例えば、値 3 は、3 つの入力のうち 2 つの連続するトリガ ー信号を取り除くことを意味します。 フェーズは、連続パルス信号からパルス信号を選択します。この場合、フェーズを 0 にセットすると、3 つの入力の内最初のパ ルス信号を転送し、2 番目と 3 番目は取り除かれます。「図 5.19 トリガーのダウンスケール」で詳細な例が確認できます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

62


文書番号 :SSB003 Revision :1.00

図 5.19 トリガーのダウンスケール ダウンスケール係数とフェーズは独立していますが、ダウンスケール係数値はフェーズの値より大きい値である必要があります。 表 5.24 パラメータプロパティ:FG_TRIGGERIN_DOWNSCALE_PHASE Property

Value

Type

Unsigned Integer

Name

FG_TRIGGERIN_DOWNSCALE_PHASE

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

Minimum 0

Maximum 255

Stepsize 1

Default value

0

サンプル 5.23 FG_TRIGGERIN_DOWNSCALE_PHASE int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_DOWNSCALE_PHASE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_DOWNSCALE_PHASE, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-1-7 FG_TRIGGERIN_BYPASS_SRC バイパスする出力信号に使用する外部トリガーソースを選択します。バイパスはパルス形成を維持、つまり外部信号の長さを維 持します。出力と CC 信号出力で使用します。選択したバイパスが選択されます。出力定義は「FG_TRIGGERCC_SELECT0、そ の他」と「デジタル出力」を参照下さい。 表 5.25 パラメータプロパティ:FG_TRIGGERIN_BYPASS_SRC Property

Value

Name

FG_TRIGGERIN_BYPASS_SRC

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

63


文書番号 :SSB003 Revision :1.00 Type

Enumeration

Access policy

Read/Write/Change

Allowed values

TRGINSRC_0

Storage policy

Persistent

Trigger Source 0 TRGINSRC_1

Trigger Source 1 TRGINSRC_2

Trigger Source 2 TRGINSRC_3

Trigger Source 3 TRGINSRC_4

Trigger Source 4 TRGINSRC_5

Trigger Source 5 TRGINSRC_6

Trigger Source 6 TRGINSRC_7

Trigger Source 7

Default value

TRGINSRC_0

サンプル 5.24 FG_TRIGGERIN_BYPASS_SRC int result = 0;

unsigned int value = TRGINSRC_0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_BYPASS_SRC, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_BYPASS_SRC, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-2 ソフトウェアトリガー

5-5-9-2-1 FG_SENDSOFTWARETRIGGER トリガーシステムをソフトウェアトリガーモード(パラメータ FG_AREATRIGGERMODE を参照下さい。)で動作させる場合、 このパラメータをアクティブにします。ソフトウェアトリガーを入力するためにはこのパラメータに 1 を書き込みます。トリガ ーキューがアクティブになると複数のソフトウェアトリガーパルスをフレームグラバーに書き込むことができます。キューが埋 められ、パラメータ FG_TRIGGER_FRAMESPERSECOND で設定された最大周波数で処理されます。

注意 ソフトウェアトリガー信号はパラメータ FG_TRIGGERSTATE でアクティブになったときのみ書き込まれます。また、キューがア クティブではない場合、システムがビジー状態でなければ新しいソフトウェアトリガー信号が書き込まれます。そのためパラメ ータの書き込みは、エラーパラメータ FG_SOFTWARE_TRIGGER_BUSY を引き起こします。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

64


文書番号 :SSB003 Revision :1.00 表 5.26 パラメータプロパティ:FG_SENDSOFTWARETRIGGER Property

Value

Type

Unsigned Integer

Storage policy

Transient

Allowed values

Minimum

Name

FG_SENDSOFTWARETRIGGER

Access policy

Read/Write/Change

1

Maximum 1

Stepsize

1

Default value

1

Unit of measure

pulses

サンプル 5.25 FG_SENDSOFTWARETRIGGER int result = 0;

unsigned int value = 1;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SENDSOFTWARETRIGGER, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SENDSOFTWARETRIGGER, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-2-2 FG_SOFTWARETRIGGER_IS_BUSY トリガーシステムに 1 または複数のソフトウェアトリガー信号を書き込むと、しばらくビジー状態になります。このパラメータ を使用して、パルス信号が残っているかどうか確認するためのこのパラメータを使用します。 表 5.27 パラメータプロパティ:FG_SOFTWARETRIGGER_IS_BUSY Property

Value

Name

FG_SOFTWARETRIGGER_IS_BUSY

Access policy

Read-Only

Storage policy

Transient

Type

Enumeration

Allowed values

IS_BUSY

Busy Flag is set IS_NOT_BUSY

Busy Flag is not set

サンプル 5.26 FG_SOFTWARETRIGGER_IS_BUSY int result = 0;

unsigned int value = IS_NOT_BUSY;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T;

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

65


文書番号 :SSB003 Revision :1.00 if ((result = Fg_getParameterWithType(FG_SOFTWARETRIGGER_IS_BUSY, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-3 FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL このパラメータの値は、ソフトウェアキューで処理が行われる必要があるパルス信号数を表しています。フィルレベルは、パラ メータ FG_SENDSOFTWARETRIGGER に書き込んだパルス信号数に依存します。トリガーパルスは、パラメータ FG_TRIGGER_MULTIPLY_PULSES 係数で乗算し、最大出力周波数はパラメータ FG_TRIGGER_FRAMESPERSECOND で定義され ます。デクリメント値はパラメータ FG_TRIGGER_MULTIPLY_PULSES の手順で提供されます。 表 5.28 パラメータプロパティ:FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL Property

Value

Name

FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL

Type

Unsigned Integer

Storage policy

Transient

Allowed values

Minimum

Access policy

Read-Only

0

Maximum 2040

Stepsize

1

Unit of measure

pulses

サンプル 5.27 FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-4 統計 トリガー入力統計モジュールでは、選択した入力の周波数解析とパルス信号をカウントします。統計のためのデジタル入力はパ ラメータ FG_TRIGGERIN_POLARITY で選択し、計測はダウンスケール前のデバウンスとポラリティ選択後に行われます。

5-5-9-4-1 FG_TRIGGERIN_STATS_PULSECOUNT このパラメータで入力パルスはカウントされ現在の値が読み込まれます。カウンタ値と取得イメージ数を比較してシステムの検 証などに使用して下さい。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

66


文書番号 :SSB003 Revision :1.00 表 5.29 パラメータプロパティ:FG_TRIGGERIN_STATS_PULSECOUNT Property

Value

Type

Unsigned Integer

Name

FG_TRIGGERIN_STATS_PULSECOUNT

Access policy

Read-Only

Storage policy

Transient

Allowed values

Minimum 0

Maximum 65535

Stepsize 1

Unit of measure

pulses

サンプル 5.28 FG_TRIGGERIN_STATS_PULSECOUNT int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_PULSECOUNT, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-4-2 FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR このレジスタに書き込みを行うと入力パルスのカウンタをクリアします。 表 5.30 パラメータプロパティ:FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR Property

Value

Name

FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR

Access policy

Read/Write/Change

Type

Enumeration

Storage policy

Transient

Allowed values

FG_APPLY

Apply

Default value

FG_APPLY

サンプル 5.29 FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR int result = 0;

unsigned int value = FG_APPLY;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

67


文書番号 :SSB003 Revision :1.00

5-5-9-4-3 FG_TRIGGERIN_STATS_FREQUENCY 現在の周波数は、このパラメータを使用して読み込むことができます。パラメータは、フレームグラバーで受け取った最後の 2 つのパルス信号の周波数を表しています。 表 5.31 パラメータプロパティ:FG_TRIGGERIN_STATS_FREQUENCY Property

Value

Name

FG_TRIGGERIN_STATS_FREQUENCY

Type

Double

Access policy

Read-Only

Storage policy

Transient

Allowed values

Minimum 0.0

Maximum 6.25E7

Stepsize

2.220446049250313E-16

Unit of measure

Hz

サンプル 5.30 FG_TRIGGERIN_STATS_FREQUENCY int result = 0;

double value = 0.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_FREQUENCY, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-4-4 FG_TRIGGERIN_STATS_MINFREQUENCY トリガーシステムは、検知した最小入力周波数を記憶します。これにより周波数のピーク情報を取得することができます。 表 5.32 パラメータプロパティ:FG_TRIGGERIN_STATS_MINFREQUENCY Property

Value

Type

Double

Access policy

Read-Only

Allowed values

Minimum

Name

Storage policy

FG_TRIGGERIN_STATS_MINFREQUENCY

Transient 0.0

Maximum 6.25E7

Stepsize

2.220446049250313E-16

Unit of measure

Hz

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

68


文書番号 :SSB003 Revision :1.00 サンプル 5.31 FG_TRIGGERIN_STATS_MINFREQUENCY int result = 0;

double value = 0.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_MINFREQUENCY, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-4-5 FG_TRIGGERIN_STATS_MAXFREQUENCY トリガーシステムは、検知した最大入力周波数を記憶します。これにより周波数のピーク情報を取得することができます。 表 5.33 パラメータプロパティ:FG_TRIGGERIN_STATS_MAXFREQUENCY Property

Value

Name

FG_TRIGGERIN_STATS_MAXFREQUENCY

Access policy

Read-Only

Type

Double

Storage policy

Transient

Allowed values

Minimum 0.0

Maximum 6.25E7

Stepsize

2.220446049250313E-16

Unit of measure

Hz

サンプル 5.32 FG_TRIGGERIN_STATS_MAXFREQUENCY int result = 0;

double value = 0.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_MAXFREQUENCY, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-4-6 FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR 最小及び最大周波数の計測結果をクリアする場合は、このレジスタへ書き込みを行います。最小及び最大周波数は現在の入力周 波数に置き換えられます。 表 5.34 パラメータプロパティ:G_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR Property

Value

Name

FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR

Type

Enumeration

Storage policy

Transient

Access policy

Read/Write/Change

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

69


文書番号 :SSB003 Revision :1.00 Allowed values

FG_APPLY

Apply

Default value

FG_APPLY

サンプル 5.33 G_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR int result = 0;

unsigned int value = FG_APPLY;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

5-5-9-4-7 FG_TRIGGER_INPUT0_RISING 、その他 注意 この説明は次のイベントにも適用されます。: FG_TRIGGER_INPUT1_RISING

FG_TRIGGER_INPUT2_RISING FG_TRIGGER_INPUT3_RISING FG_TRIGGER_INPUT4_RISING FG_TRIGGER_INPUT5_RISING FG_TRIGGER_INPUT6_RISING FG_TRIGGER_INPUT7_RISING このイベントは、トリガー入力 0 の各立ち上がりエッジで生成されます。このイベントは、タイムスタンプ以外のデータは含ん でいません。入力信号の高速切り替えは、システムを低下させる高い割り込みレートを引き起こす点にご注意ください。

5-5-9-4-8 FG_TRIGGER_INPUT0_FALLING、その他 注意 この説明は次のイベントにも適用されます。: FG_TRIGGER_INPUT1_FALLING FG_TRIGGER_INPUT2_FALLING FG_TRIGGER_INPUT3_FALLING FG_TRIGGER_INPUT4_FALLING FG_TRIGGER_INPUT5_FALLING FG_TRIGGER_INPUT6_FALLING FG_TRIGGER_INPUT7_FALLING このイベントは、トリガー入力 0 の各立ち下がりエッジで生成されます。このイベントは、タイムスタンプ以外のデータは含ん でいません。入力信号の高速切り替えは、システムを低下させる高い割り込みレートを引き起こす点にご注意ください。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

70


文書番号 :SSB003 Revision :1.00

5-5-10 シーケンサ シーケンサは、1 つの入力パルスから複数のパルス信号を生成するパワフルな機能です。外部トリガー及びソフトトリガーモー ドで使用することができますが、ジェネレータモードでは使用できません。 シーケンサはパラメータ FG_TRIGGER_MULTIPLY_PULSES でセットされた係数を使用して入力パルスを増やします。挿入され たパルス信号は、パラメータ FG_TRIGGER_FRAMESPERSECOND の設定によって、オリジナル信号からのタイムディレイ設定が できます。そのため、入力パルスと挿入されたパルス信号は同じタイミングで出力されずパラメータ FG_TRIGGER_FRAMESPERSECOND で定義されたディレイが追加されますので、パラメータ設定したディレイを持つパルス信号 の分割は、入力信号のロスを引き起こしません。 サンプルを参照下さい。外部トリガーソースで 1 秒間に 1 度のパルスを生成すると仮定します。入力周波数は 1Hz です。シー ケンサは、係数 2 が設定されパラメータ FG_TRIGGER_FRAMESPERSECOND で定義される最大周波数には 2.1Hz が設定されて います。 それぞれの外部パルス信号をトリガーシステムに転送し、2 番目のパルス信号 0.48 秒後に生成されます。分割係数は入力周波 数の 2 倍が設定されていますので、様々な入力周波数に対して対応できます。2 つ入力パルス信号間が最低 0.96 秒以下の場合、 2 番目のパルス信号をロストします。SILICON SOFTWARE はパルス信号をロストしない程度の周波数設定を行う、またはトリガ ーキューを使用して補足することを推奨します。ロストパルスはパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS で確認 できます。

5-5-10-1-1 FG_TRIGGER_MULTIPLY_PULSES トリガー入力乗算係数をセットします。 表 5.35 パラメータプロパティ:FG_TRIGGER_MULTIPLY_PULSES Property

Value

Name

FG_TRIGGER_MULTIPLY_PULSES

Access policy

Read/Write/Change

Allowed values

Minimum

Type

Unsigned Integer

Storage policy

Persistent 1

Maximum 65535

Stepsize

1 Default value

1

サンプル 5.34 FG_TRIGGER_MULTIPLY_PULSES int result = 0;

unsigned int value = 1;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_MULTIPLY_PULSES, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_MULTIPLY_PULSES, &value, 0, type)) < 0) { /* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

71


文書番号 :SSB003 Revision :1.00 }

5-5-11 キュー トリガーの最大出力周波数は、パラメータ FG_TRIGGER_FRAMESPERSECOND 設定で制限し、検出しにくいカメラのトリガーロ ストパルスを防ぎます。いくつかのケースで、外部トリガーソースの周波数を変更することができます。トリガーロストパルス を防ぐために、バッファへのトリガーキューをアクティブにしてこのパルス信号をバッファリングします。シーケンサとソフト トリガーを使用する場合は、キューはバッファトリガー入力パルスのために使用します。 トリガーキューをアクティブにするためにはパラメータ FG_TRIGGERQUEUE_MODE を使用します。 キューのフィルレベルは、パラメータ FG_TRIGGERQUEUE_FILLLEVEL で 2 つイベントでのモニタリングが可能です。 パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD と パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD を使用して、2 つの閾値をセットします。フィルレベルが ON-threshold を超えるとイベント FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_ON が生成されます。フィルレベル が下がるか OFF-threshold 以下になるとイベント FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_OFF が生成されます。

注意 フィルレベルの値 n は、n と n+1 トリガーパルス間のトリガーパルスがシステムで処理されたことを表します。 そのため、フィルレベルの値 0 は、これ以上の値はキューにないことを意味しますが、現在も処理待ちのパルス信号が残ってい る(あるいはシーケンサを使用している場合は複数のパルス信号が残っている)可能性があると見えます。 例外として、パラメータ FG_TRIGGERQUEUE_FILLLEVEL で値 0 を取得した場合、パラメータにおけるこの値はこれ以上のパル スはキューに存在せず全てのパルスは完全に処理されたことを意味します。

5-5-11-1 FG_TRIGGERQUEUE_MODE キューをアクティブにするには、このパラメータを使用します。キューのアクティブにすると、現在のキュー設定が削除されま すので注意下さい。 表 5.36 パラメータプロパティ:FG_TRIGGERQUEUE_MODE Property

Value

Name

FG_TRIGGERQUEUE_MODE

Access policy

Read/Write/Change

Allowed values

FG_ON

Type

Enumeration

Storage policy

Persistent On

FG_OFF Off

Default value

FG_OFF

サンプル 5.35 FG_TRIGGERQUEUE_MODE int result = 0;

unsigned int value = FG_OFF;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERQUEUE_MODE, &value, 0, type)) < 0) { [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

72


文書番号 :SSB003 Revision :1.00

}

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERQUEUE_MODE, &value, 0, type)) < 0) { }

/* error handling */

5-5-11-2 FG_TRIGGERQUEUE_FILLLEVEL 現在のキューパルスはこのパラメータで取得します。 最大値 2040 パルスでキューを実行できます。フィルレベルは、シーケンサが生成したパルス信号以外のキューの入力パルス、 すなわち、外部トリガーパルス、ソフトウェアトリガーパルスを含んでいます。トリガーシステムがビジー状態でない場合、フ ィルレベルは 0、つまりこれ以上のパルスは処理されない状態です。 表 5.37 パラメータプロパティ:FG_TRIGGERQUEUE_FILLLEVEL Property

Value

Type

Unsigned Integer

Access policy

Read-Only

Allowed values

Minimum

Name

FG_TRIGGERQUEUE_FILLLEVEL

Storage policy

Transient 0

Maximum 2040

Stepsize

1 Unit of measure

pulses

サンプル 5.36 FG_TRIGGERQUEUE_FILLLEVEL int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGERQUEUE_FILLLEVEL, &value, 0, type)) < 0) { }

/* error handling */

5-5-11-3 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD このパラメータを使用してフィルレベルイベント生成に ON-threshold をセットします。 表 5.38 パラメータプロパティ:FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD Property

Value

Name

FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD

Access policy

Read/Write/Change

Storage policy

Persistent

Type

Unsigned Integer

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

73


文書番号 :SSB003 Revision :1.00 Allowed values

Minimum 2

Maximum 2047

Stepsize 1

Default value

2047

Unit of measure

pulses

サンプル 5.37 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD int result = 0;

unsigned int value = 2047;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD, &value, 0, type)) < 0) { }

/* error handling */

5-5-11-4 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD このパラメータを使用してフィルレベルイベント生成に OFF-threshold をセットします。 表 5.39 パラメータプロパティ:FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD Property

Value

Name

FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD

Access policy

Read/Write/Change

Allowed values

Minimum

Type

Unsigned Integer

Storage policy

Persistent 2

Maximum 2047

Stepsize 1

Default value

2

Unit of measure

pulses

サンプル 5.38 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD int result = 0;

unsigned int value = 2;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD, &value, 0, type)) < 0) {

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

74


文書番号 :SSB003 Revision :1.00

}

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD, &value, 0, type)) < 0) { }

/* error handling */

5-5-11-5 FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_ON キューのフィルレベルが、パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD でセットした ON-threshold を超えるとイベントが生成されます。イベントはタイムスタンプ以外の追加データは含みません。

5-5-11-6 FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_OFF キューのフィルレベルが、パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD でセットした OFF-threshold を超えるとイベントが生成されます。イベントはタイムスタンプ以外の追加データは含みません。

5-5-12 パルス信号ジェネレータ 0 前項で説明したパラメータは、ソースの選択、周波数、キュー等のトリガーパルスの生成に使用します。ここではに出力のため のパルス信号について説明します。SILICON SOFTWARE のエリアトリガーシステムは、ジェネレータから生成する 4 つのパル スを含んでおり、出力信号の幅とディレイを定義し、パルス信号のダウンサンプルもサポートしています。ジェネレータからの パルス信号を設定し、設定したパルス信号を任意に割り付けることができます。 「図 5.21 パルス信号ジェネレータ」は、ジェネレータからのパルス信号の出力とパラメータをあらわしています。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

75


文書番号 :SSB003 Revision :1.00

図 5.20 パルス信号ジェネレータ

注意 パラメータ値の範囲は、パルス信号ジェネレータのの設定とパラメータ FG_TRIGGER_FRAMESPERSECOND 設定に依存します。 周波数を増加させたい場合は、パルス信号ジェネレータから送られるパルスのディレイ幅を減少させる必要があります。

方程式 5.2 周波数とパルス信号ジェネレータの依存性 ・

fps = FG_TRIGGER_FRAMESPERSECOND

WIDTH[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_WIDTH

DELAY[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DELAY

DOWNSCALE[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE

5-5-12-1 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE、その他 注意 この説明は次のパラメータにも適用されます。: FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE

FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE トリガーパルスはダウンスケールすることができます。このパラメータを使用してダウンスケール係数を設定します。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

76


文書番号 :SSB003 Revision :1.00 ダウンスケール係数とフェーズの関係に注意が必要です。詳細な説明は FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE_PHASE を参照ください。 表 5.40 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE Property

Value

Type

Unsigned Integer

Storage policy

Persistent

Allowed values

Minimum

Name

FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE

Access policy

Read/Write/Change

1

Maximum 7

Stepsize 1

Default value

1

サンプル 5.39 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE int result = 0;

unsigned int value = 1;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE, &value, 0, type)) < 0) { }

/* error handling */

5-5-12-2 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE、その他 注意 この説明は次のパラメータにも適用されます。: FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE_PHASE FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE_PHASE

FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE_PHASE パラメータ FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE

FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE_PHASE は、トリガーパルスのダウンスケールに使用します。ダウンスケール値は係数を表しています。例えば、値 3 は 3 つの入力のう ち 2 つを削除する事を意味します。フェーズは、連続パルスからパルスを選択します。この場合、フェーズを 0 にセットすると、 1 番目のパルス信号を転送し、2 番目と 3 番目のパルス信号は削除されます。詳細な説明は「パルス信号ジェネレータ 0」を参 照下さい。 ダウンスケール係数とフェーズの関係には注意が必要です。係数はフェーズより大きい値を設定する必要があります。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

77


文書番号 :SSB003 Revision :1.00 表 5.41 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE Property

Value

Type

Unsigned Integer

Storage policy

Persistent

Allowed values

Minimum

Name

FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE

Access policy

Read/Write/Change

0

Maximum 6

Stepsize

1

Default value

0

サンプル 5.40 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE, &value, 0, type)) < 0) { }

/* error handling */

5-5-12-3 FG_TRIGGER_PULSEFORMGEN0_DELAY、その他 注意 この説明は次のパラメータにも適用されます。: FG_TRIGGER_PULSEFORMGEN1_DELAY FG_TRIGGER_PULSEFORMGEN2_DELAY FG_TRIGGER_PULSEFORMGEN3_DELAY 信号のディレイを設定します。このパラメータの単位はマイクロ秒です 表 5.42 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_DELAY Property

Value

Type

Double

Name

Access policy

FG_TRIGGER_PULSEFORMGEN0_DELAY Read/Write/Change

Storage policy

Persistent

Allowed values

Minimum 0.0

Maximum 3.4E7

Stepsize 0.016

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

78


文書番号 :SSB003 Revision :1.00 Default value

0.0

Unit of measure

us

サンプル 5.41 FG_TRIGGER_PULSEFORMGEN0_DELAY int result = 0;

double value = 0.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DELAY, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DELAY, &value, 0, type)) < 0) { }

/* error handling */

5-5-12-4 FG_TRIGGER_PULSEFORMGEN0_WIDTH 、その他 注意 この説明は次のパラメータにも適用されます。: FG_TRIGGER_PULSEFORMGEN1_WIDTH FG_TRIGGER_PULSEFORMGEN2_WIDTH FG_TRIGGER_PULSEFORMGEN3_WIDTH 信号幅すなわち出力信号のアクティブタイムを設定します。このパラメータの単位はマイクロ秒です。 表 5.43 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_WIDTH Property

Value

Name

FG_TRIGGER_PULSEFORMGEN0_WIDTH

Access policy

Read/Write/Change

Allowed values

Minimum

Type

Double

Storage policy

Persistent 1.0

Maximum 6.8E7

Stepsize 0.016

Default value

4000.0

Unit of measure

us

サンプル 5.42 FG_TRIGGER_PULSEFORMGEN0_WIDTH int result = 0;

double value = 4000.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_WIDTH, &value, 0, type)) < 0) { /* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

79


文書番号 :SSB003 Revision :1.00 } if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_WIDTH, &value, 0, type)) < 0) { }

/* error handling */

5-5-13 パルス信号ジェネレータ 1 ジェネレータ 1 からのパルスの設定は、パルス信号ジェネレータ 0 と同じ設定を行います。詳細な説明は「パルス信号ジェネレ ータ 0」を参照ください。

5-5-14 パルス信号ジェネレータ 2 ジェネレータ 2 からのパルスの設定は、パルス信号ジェネレータ 0 と同じ設定を行います。詳細な説明は「パルス信号ジェネレ ータ 0」を参照ください。

5-5-15 パルス信号ジェネレータ 3 ジェネレータ 3 からのパルスの設定は、パルス信号ジェネレータ 0 と同じ設定を行います。詳細な説明は「パルス信号ジェネレ ータ 0」を参照ください。

5-5-16 CC 信号のマッピング カメラリンクインターフェースでは、CC1、CC2、CC3、CC4 の 4 つのカメラ入力信号が定義されています。 通常カメラは、画像取得のトリガーと露光時間の定義に 4 つの CC 入力信号を使用します。必要な信号と CC1~CC4 のマッピ ングはカメラメーカーが提供するマニュアルを参照下さい。 アドバンスド画像取得アプレットのトリガーシステムは、CC ラインへのソースのマッピングに複数の方法を提供しています: ・

パルス信号ジェネレータ 0~3 ジェネレータからのパルスはトリガーシステムのメイン出力ソースです。4 つのソースから CC ラインへ直接または、ロー アクティブ信号が必要な場合は信号を反転させることができます。

CC ライン使用しない場合、あるいは一時的にラインの ON/OFF を切り替えたい場合、グランドまたは VCC を使用するこ とができます。

入力バイパス トリガーシステムは、入力信号の信号長をイグノアします。CC ラインへ送る入力のうち 1 つをバイパスさせたい場合、CC ラインをバイパスまたは反転したバイパスをセットすることができます。ソースはパラメータ FG_TRIGGERIN_BYPASS_SRC で選択します。

5-5-16-1 FG_TRIGGERCC_SELECT0、その他 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

80


文書番号 :SSB003 Revision :1.00

注意 この説明は、次のパラメータでも適用されます。: FG_TRIGGERCC_SELECT1 FG_TRIGGERCC_SELECT2 FG_TRIGGERCC_SELECT3 表 5.44 パラメータプロパティ:FG_TRIGGERCC_SELECT0 Property

Value

Type

Enumeration

Storage policy

Persistent

Allowed values

CC_PULSEGEN0

Name

FG_TRIGGERCC_SELECT0

Access policy

Read/Write/Change

Pulse Generator 0 CC_PULSEGEN1

Pulse Generator 1 CC_PULSEGEN2

Pulse Generator 2 CC_PULSEGEN3

Pulse Generator 3 CC_GND Gnd

CC_VCC Vcc

CC_NOT_PULSEGEN0 !Pulse Generator 0

CC_NOT_PULSEGEN1 !Pulse Generator 1

CC_NOT_PULSEGEN2 !Pulse Generator 2

CC_NOT_PULSEGEN3 !Pulse Generator 3 CC_INPUT_BYPASS

Input Bypass

CC_NOT_INPUT_BYPASS

!Input Bypass

Default value

CC_NOT_PULSEGEN0

サンプル 5.43 FG_TRIGGERCC_SELECT0 int result = 0;

unsigned int value = CC_NOT_PULSEGEN0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERCC_SELECT0, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGERCC_SELECT0, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

81


文書番号 :SSB003 Revision :1.00

5-5-17 デジタル出力 microEnable IV AD4-CL フレームグラバーは、シングルカメラアプレットである 8 個のデジタル出力が搭載されており、出力 0 ~3 までを使用することができます。 アドバンスド画像取得アプレットのトリガーシステムは、ソースからデジタル出力信号にマッピングする様々な方法を提供しま す。: ・

パルス信号ジェネレータ 0~4 パルス信号ジェネレータで生成するパルスは、トリガーシステムのメイン出力ソースです。4 つのソースから 1 つを出力す る、あるいはローアクティブ信号を使用したい場合、信号を反転させることもできます。

デジタル出力を使用しない場合、あるいは手動で信号レベルを設定した場合、グランドまたは VCC を使用することができ ます。

入力バイパス トリガーシステムは、入力信号の信号長をイグノアします。デジタル出力のために入力の 1 つをバイパスしたい場合、デジ タル出力を'bypass' または 'inverted bypass'に設定すると、入力信号は直接出力されます。ソースはパラメータ FG_TRIGGERIN_BYPASS_SRC で選択されます。

5-5-17-1 FG_TRIGGEROUT_SELECT0、その他 注意 この説明は次のパラメータにも適用されます。: FG_TRIGGEROUT_SELECT1 FG_TRIGGEROUT_SELECT2 FG_TRIGGEROUT_SELECT3 FG_TRIGGEROUT_SELECT4 FG_TRIGGEROUT_SELECT5 FG_TRIGGEROUT_SELECT6

FG_TRIGGEROUT_SELECT7 表 5.45 パラメータプロパティ:FG_TRIGGEROUT_SELECT0 Property

Value

Type

Enumeration

Name

Access policy

FG_TRIGGEROUT_SELECT0 Read/Write/Change

Storage policy

Persistent

Allowed values

PULSEGEN0

Pulse Generator 0 PULSEGEN1

Pulse Generator 1 PULSEGEN2

Pulse Generator 2 PULSEGEN3

Pulse Generator 3 GND Gnd

VCC

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

82


文書番号 :SSB003 Revision :1.00 Vcc

NOT_PULSEGEN0

!Pulse Generator 0 NOT_PULSEGEN1

!Pulse Generator 1 NOT_PULSEGEN2

!Pulse Generator 2 NOT_PULSEGEN3

!Pulse Generator 3 INPUT_BYPASS Input Bypass

NOT_INPUT_BYPASS !Input Bypass

Default value

NOT_PULSEGEN0

サンプル 5.44 FG_TRIGGEROUT_SELECT0 int result = 0;

unsigned int value = NOT_PULSEGEN0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGEROUT_SELECT0, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_SELECT0, &value, 0, type)) < 0) { }

/* error handling */

5-5-17-2 統計 出力統計モジュールは出力パルス数をカウントします。ソースは、パラメータ FG_TRIGGEROUT_STATS_SOURCE で選択します。 カウント値はパラメータ FG_TRIGGEROUT_STATS_PULSECOUNT で読み込むことができます。パラメータ FG_TRIGGEROUT_STATS_SOURCE は見失ったフレーム検出にも使用できます。

5-5-17-2-1 FG_TRIGGEROUT_STATS_SOURCE 表 5.46 パラメータプロパティ:FG_TRIGGEROUT_STATS_SOURCE Property

Value

Name

FG_TRIGGEROUT_STATS_SOURCE

Access policy

Read/Write/Change

Allowed values

PULSEGEN0

Type

Storage policy

Enumeration Persistent

Pulse Generator 0 PULSEGEN1

Pulse Generator 1 PULSEGEN2

Pulse Generator 2

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

83


文書番号 :SSB003 Revision :1.00 PULSEGEN3

Pulse Generator 3

Default value

PULSEGEN0

サンプル 5.45 FG_TRIGGEROUT_STATS_SOURCE int result = 0;

unsigned int value = PULSEGEN0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGEROUT_STATS_SOURCE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_STATS_SOURCE, &value, 0, type)) < 0) { }

/* error handling */

5-5-17-2-2 FG_TRIGGEROUT_STATS_PULSECOUNT 出力パルスカウント読み込みレジスタ、パラメータ FG_TRIGGEROUT_STATS_SOURCE でパルスカウンタのソースを選択します。 表 5.47 パラメータプロパティ:FG_TRIGGEROUT_STATS_PULSECOUNT Property

Value

Type

Unsigned Integer

Name

FG_TRIGGEROUT_STATS_PULSECOUNT

Access policy

Read-Only

Storage policy

Transient

Allowed values

Minimum 0

Maximum 65535

Stepsize 1

Unit of measure

pulses

サンプル 5.46 FG_TRIGGEROUT_STATS_PULSECOUNT int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_STATS_PULSECOUNT, &value, 0, type)) < 0) { }

/* error handling */

5-5-17-2-3 FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR 出力パルスのカウントレジスタをクリアします。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

84


文書番号 :SSB003 Revision :1.00 表 5.48 FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR Property

Value

Name

FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR

Access policy

Read/Write/Change

Allowed values

FG_APPLY

Default value

FG_APPLY

Type

Enumeration

Storage policy

Transient Apply

サンプル 5.47 FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR int result = 0;

unsigned int value = FG_APPLY;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

5-5-17-2-4 FG_MISSING_CAMERA_FRAME_RESPONSE このアプレットにはトリガーパルスに対し、カメラフレームがレスポンスを返さない場合、これ検出する機能を装備しています。 カメラが各出力トリガーパルスに対してフレームを送信しない場合、パラメータ FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR の書き込みでクリアされるまでレジスタに FG_YES がセットされています。 ロストフレーム検出はトリガーシステムで生成される全てのトリガーパルスのためにあり、カメラはフレームグラバーにフレー ムを送ることができます。トリガーパルスをロストした場合、またはカメラがフレームを送信できない場合、このレジスタに FG_YES がセットされます。2 つの CC 出力信号のエッジ間には、立ち上がりの FVAL エッジが存在します。別の言葉で表現する と:FVAL エッジなしに 2 つまたはそれ以上の連続する CC エッジは存在しません。「図 5.21 ロストフレーム検出」はこの動 作について表現しています。

図 5.21 ロストフレーム検出 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

85


文書番号 :SSB003 Revision :1.00 パルス信号ジェネレータのパルス信号は、CC 信号ラインに設置してパラメータ FG_TRIGGEROUT_STATS_SOURCE を選択する ことでイメージトリガーパルスを転送します。フレームロス検出機能は、異なるタイミングのカメラモデルでは正常に動作しま せん。

CC 信号ラインの選択 それぞれのソースにパラメータ FG_TRIGGEROUT_STATS_SOURCE を設定し、パルス信号ジェネレータから CC 信号ラインへの パルス信号設定を行って下さい。

トリガーをアクティブにする前に必ず画像取得を開始 ロストトリガーを起こさない為、トリガーをアクティブにする前に必ず画像取得を開始してください。また、カメラ定義の変更 は不正なデータ転送を引き起こす可能性があることを踏まえて下さい。

ロストフレーム検出のイベント ロストフレームのタイミングやフレーム数をモニターしたい場合、イベント FG_MISSING_CAM0_FRAME_RESPONSE を使用し ます。 表 5.49 パラメータプロパティ:FG_MISSING_CAMERA_FRAME_RESPONSE Property

Value

Name

FG_MISSING_CAMERA_FRAME_RESPONSE

Access policy

Read-Only

Type

Enumeration

Storage policy

Transient

Allowed values

FG_YES Yes

FG_NO No

サンプル 5.48 FG_MISSING_CAMERA_FRAME_RESPONSE int result = 0;

unsigned int value = FG_NO;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_MISSING_CAMERA_FRAME_RESPONSE, &value, 0, type)) < 0) { }

/* error handling */

5-5-17-2-5 FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR フラグ FG_MISSING_CAMERA_FRAME_RESPONSE をクリアする場合、このパラメータに書き込みを行います。 表 5.50 パラメータプロパティ:FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR Property

Value

Name

FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR

Access policy

Read/Write/Change

Type

Enumeration

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

86


文書番号 :SSB003 Revision :1.00 Storage policy

Transient

Allowed values

FG_APPLY

Default value

FG_APPLY

Apply

サンプル 5.49 FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR int result = 0;

unsigned int value = FG_APPLY;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR, &value, 0, type)) < 0) { }

/* error handling */

5-5-17-2-6 FG_MISSING_CAM0_FRAME_RESPONSE 各カメラのために生成されるロストフレーム検出イベントは、フレーム応答のないトリガーパルスを出力します。イベント検出 の説明とメカニズムの定義は「FG_MISSING_CAMERA_FRAME_RESPONSE」を確認して下さい。メカニズム上、使用するカメラ と設定が正しければイベント番号はロストフレーム番号と一致します。イベントはタイムスタンプ以外の追加データを持ってい ません。

5-5-18 出力イベント

5-5-18-1 FG_TRIGGER_OUTPUT_EVENT_SELECT 出力イベントのソースはレジスタ FG_TRIGGER_OUTPUT_CAM0 で選択します。パルス信号ジェネレータから転送するパルス信 号を選択することができます。 表 5.51 パラメータプロパティ:FG_TRIGGER_OUTPUT_EVENT_SELECT Property

Value

Name

FG_TRIGGER_OUTPUT_EVENT_SELECT

Type

Enumeration

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

PULSEGEN0

Pulse Generator 0 PULSEGEN1

Pulse Generator 1 PULSEGEN2

Pulse Generator 2 PULSEGEN3 Default value

Pulse Generator 3 PULSEGEN0

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

87


文書番号 :SSB003 Revision :1.00 サンプル 5.50 FG_TRIGGER_OUTPUT_EVENT_SELECT int result = 0;

unsigned int value = PULSEGEN0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_OUTPUT_EVENT_SELECT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TRIGGER_OUTPUT_EVENT_SELECT, &value, 0, type)) < 0) { }

/* error handling */

5-5-18-2 FG_TRIGGER_OUTPUT_CAM0 このイベントはトリガーパルス出力開始毎に生成されます。パルス信号ジェネレータからのパルス信号は、パラメータ FG_TRIGGER_OUTPUT_EVENT_SELECT で選択することができます。イベントはタイムスタンプ以外の追加データを持っていま せん。高い出力周波数は、システムを低下させる高い割込みレートを発生させます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

88


文書番号 :SSB003 Revision :1.00

6

オーバーフロー アプレットは可能な限り高速に画像データを処理します。カメラから送られてくる画像データは、直ちに処理され PC に転送さ れます。待ち時間は僅かです。一般的に、グラバー内では 1 つの並行ラインのみストアされ処理されますが、DMA チャンネル 経由の PC への転送バンド幅には、他のハードウェアや CPU 負荷によって頻繁な割り込みが発生し、変動するトリガーによって カメラのフレームレートも変動します。この場合、アプレットは入力フレームを溜めるバッファメモリを用意しており、このバ ッファには、最大 32、000 イメージラインまでストアすることができます。バッファの使用率は、パラメータ FG_FILLLEVEL を 読み込むことで取得できます。 標準のオペレーション環境では、バッファはほとんど空の状態です。カメラのバンド幅が変動する、または短時間で高速な画像 取得の場合バッファはすぐに埋まってしまいます。もちろん、入力バンド幅がアプレットの最大バンド幅を超えてはなりません。 「バンド幅」を参照下さい。バッファの使用率が 100%に到達するとアプレットはオーバーフロー状態になり、これ以上のデー タのバッファリングを行うことができずカメラデータは削除されます。これにより次の 2 種類の動作が発生します。: ・

Corrupted Frames: 現在のフレーム転送はオーバーフローによって中断されます。これは、フレームの最初のピクセルまたはラインがバッファ に転送されますが、完全なフレームは転送されないことを意味します。アプレットの出力、すなわち DMA 転送はフルフレ ームより少なくなり、出力イメージは完全な高さを持っていません。

Lost Frames: バッファメモリが埋まっていることでカメラの完全なフレームは削除されます。削除されたフレームは DMA 転送されませ ん。これはアプレットが出力するフレーム数がアプレットに入力されたフレーム数と異なる事を意味します。

オーバーフローの検出方法は、パラメータ FG_OVERFLOW を読み込むか、イベント FG_OVERFLOW_CAM0 を確認します。 パラメータからの読み込むとオーバーフローの状態が提供されます。パラメータを読み込むとすぐにリセットされます。パラメ ータを使用するとオーバーフローの状態を検出できますが現在のフレーム番号とタイミングを取得することはできません。これ らを取得するにはオーバーフローイベントを使用します。

6-1 FG_FILLLEVEL このアドバンスド画像取得アプレットで使用されるフレームグラバーバッファの使用率は、このパラメータを使用して読み出す ことができます。値によってカメラの平均入力バンド幅がアプレットの処理に対して高すぎるかどうかを確認することができま す。 表 6.1 パラメータプロパティ:FG_FILLLEVEL Property

Value

Name

FG_FILLLEVEL

Access policy

Read-Only

Type

Storage policy

Allowed values

Unsigned Integer Transient

Minimum 0

Maximum 100

Stepsize 1

Unit of measure

%

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

89


文書番号 :SSB003 Revision :1.00 サンプル 6.1 FG_FILLLEVEL int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_FILLLEVEL, &value, 0, type)) < 0) { }

/* error handling */

6-2 FG_OVERFLOW オーバーフローが発生した状態でアプレットを実行したとき、このパラメータを読み込むと 1 が返り、オーバーフローは画像デ ータを失っている事を意味しています。オーバーフローを避けるためには入力バンド幅を減少させる必要があります。 このパラメータは、各読み出しサイクルでリセットされます。microDisplay は、継続的に値を出力しますので、オーバーフロ ーの発生は、microDisplay では確認できません。 オーバーフローを検知する効果的な方法は、イベントシステムです。 表 6.2 パラメータプロパティ:FG_OVERFLOW Property

Value

Name

FG_OVERFLOW

Access policy

Read-Only

Type

Unsigned Integer

Storage policy

Transient

Allowed values

Minimum 0

Maximum 1

Stepsize 1

サンプル 6.2 FG_OVERFLOW int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_OVERFLOW, &value, 0, type)) < 0) { }

/* error handling */

6-3 FG_OVERFLOW_CAM0 オーバーフローイベントは、それぞれの破損やロストフレームごとに生成されます。ドキュメントに記載されている他のイベン トとは反対に、オーバーフローイベントではオーバーフローのタイプ、フレーム番号、タイムスタンプ等データの転送が行われ ます。「図 6.1 オーバーフローデータパケット」はイベントデータを表しており、データは 64bit のデータパケットに含まれ ています。最初の 32bit は、フレーム番号で、bit32~47 はオーバフローマスクです。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

90


文書番号 :SSB003 Revision :1.00

図 6.1 オーバーフローデータパケット

注意 フレーム番号は画像取得開始時にリセットされる点に、DMA 転送開始フレームの番号が 1 であるのに対して、最初のフレーム はフレーム番号 0 である点にもご注意ください。 フレーム番号は 32bit 値です。最大数に到達すると再び 0 からカウントされます。64bit 版のランタイムでは、DMA 転送番号 は 64bit 値です。破損フレームフラグがセットされると、イベントが発生したフレームとフレーム番号は破損しますので、この フレームは最大のフレームサイズを持たないまま DMA チャンネルに転送されます。ロストフレームフラグがセットされるとイ ベントが発生したフレームとフレーム番号は完全に削除されます。このフレームの DMA 転送は行われません。フレーム破損フ ラグとロストフレームフラグは同じタイミングで発生することはありません。”event loss occurred before”フラグは追加のセ キュリティメカニズムです。これは、イベントをロストした事を意味します。これは、非常に高いイベントレート下でのみ発生 し、標準の状態では発生しません。 オーバーフローイベントの解析はユーザー使用条件に依存します。「図 6.2 オーバーフローデータの分析」は、イベントや DMA 転送を解析することにより DMA データの完全性を明確にする例です。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

91


文書番号 :SSB003 Revision :1.00

図 6.2 オーバーフローデータの解析 サンプルでは、2 フレームをロスト、そのうち 1 フレームは破損としてマークされています。イベントは DMA 転送とは非同期 ですので、解析を行うためにはイベントを DMA 転送に割り付けるソフトウェアキュー(プッシュとプル)が必要になります。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

92


文書番号 :SSB003 Revision :1.00

7

イメージセレクタ イメージセレクタでは、画像ストリームから P 周期の画像を切り出し、その中からフレーム番号 n のフレームを選択する事がで きます。 このモジュールを使用する典型的なセットアップ例を次に示します: 2 枚のフレームグラバーと 1 枚の CLIO を1台または2台の PC にインストールします。 CLIO モジュールは、コピーしたイメージを p フレームグラバーに出力します。各フレームグラバーのイメージセレクタは、フ レームグラバーでの処理レートつまり PCIe インターフェースのフレームレートを減少させるために p イメージの中から 1 つの み受け付けるようプログラムすることができます。PC がフルのデータレートを処理できない場合、または異なる前処理をボード ごとに行う場合は非常に便利な機能です。

図 7.1 カメラリンク IO ボード「CLIO」セットアップ 次の例は、パラメータ FG_IMG_SELECT_PERIOD とパラメータ FG_IMG_SELECT で行う p と n の設定を表しています。 1台のカメラに CLIO 経由で 2 枚のフレームグラバーが接続していると仮定します。フレームグラバーグラバー0 は、偶数のフ レームのみ処理が必要で、グラバー1 は奇数のフレームのみ処理が必要とします。: 1

Grabber 0 の設定:

FG_IMG_SELECT_PERIOD = 2 FG_IMG_SELECT = 0 2

Grabber 1 の設定:

FG_IMG_SELECT_PERIOD = 2 FG_IMG_SELECT = 1

両方のフレームグラバーは同期し、カメラにトリガーを使用することもできます。そのためには、両方のフレームグラバーの初 期化と定義が必要になります。カメラを外部トリガーモードに設定してトリガーシステムをグラバー0 に指定します、グラバー0 はカメラに接続します。次に、両方のグラバーの画像取得を開始してトリガージェネレータを有効にします。(一般的にはパラ [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

93


文書番号 :SSB003 Revision :1.00 メータ FG_TRIGGERSTATE を有効にします)カメラは画像データの転送を開始してフレームグラバーは同期した状態で動作しま す。詳細な情報は「トリガー」を参照下さい。

7-1 FG_IMG_SELECT_PERIOD このパラメータは周期長 p を定義します。このパラメータはいつでも変更することができますが、画像取得中の変更は非同期の 切り替えとなりフレームグラバーの同期がなくなります。画像取得停止中のパラメータ変更を推奨します。 FG_IMG_SELECT より大きい値を設定するして下さい。 表 7.1 パラメータプロパティ:FG_IMG_SELECT_PERIOD Property

Value

Name

FG_IMG_SELECT_PERIOD

Access policy

Read/Write/Change

Type

Unsigned Integer

Storage policy

Persistent

Allowed values

Minimum 1

Maximum 256

Stepsize 1

Default value

1

Unit of measure

image

サンプル 7.1 FG_IMG_SELECT_PERIOD int result = 0;

unsigned int value = 1;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_IMG_SELECT_PERIOD, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_IMG_SELECT_PERIOD, &value, 0, type)) < 0) { }

/* error handling */

7-2 FG_IMG_SELECT パラメータ FG_IMG_SELECT は、パラメータ FG_IMG_SELECT_PERIOD で定義されたイメージセットから特定の画像を選択しま す。このパラメータはいつでも変更することができますが、画像取得中の変更は非同期の切り替えとなりフレームグラバーの同 期がなくなります。画像取得停止中のパラメータ変更を推奨します。 FG_IMG_SELECT_PERIOD より小さい値を設定して下さい。 表 7.2 パラメータプロパティ:FG_IMG_SELECT Property Name

Value

FG_IMG_SELECT

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

94


文書番号 :SSB003 Revision :1.00 Type

Unsigned Integer

Access policy

Read/Write/Change

Allowed values

Minimum

Storage policy

Persistent 0

Maximum 255

Stepsize 1

Default value

0

Unit of measure

image

サンプル 7.2 FG_IMG_SELECT int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_IMG_SELECT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_IMG_SELECT, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

95


文書番号 :SSB003 Revision :1.00

8

シェーディング 補 正 アドバンスド画像取得アプレットには、フラットフィールド補正とも呼ばれる 2D シェーディング補正機能が含まれています。 シェーディング補正は、各フレームのそれぞれのピクセルに適用される減算(オフセットシェーディング補正)と乗算(ゲインシェ ーディング補正)で構成されています。 ・

オフセット(減算)補正は、カメラセンサのダークカレントを削除し、固定パターンノイズを調整します。

ゲイン(乗算)補正は、使用している光源やレンズによるばらつきを平衡させます。

使用 独自の補正値を設定するかオートシェーディング補正機能を使用することができます。 シェーディング補正を使用するには、2 つの方法があります。 1 つ目はフレーム内にあるピクセル位置に補正値を定義する方法です。すなわち、フレームの各ピクセル位置にオフセットとゲ イン補正値をロードする方法です。2 つ目は、黒とグレーの参照画像をアプレットにアップロードして参照画像として使用する オートシェーディング補正機能です。アプレット自身で補正値を決定します。 両方の補正モードを理解するためには、「オートシェーティング補正」と「シェーディングカスタム値」を参照下さい。ここで は計算方法についての技術的な情報を提供します。この説明はシェーディング補正を行う上で必要ありませんが実装するにあた り機能を理解する上で非常に役に立ち、フレームグラバーが出力するデータの再計算処理を行いやすくなります。 次の公式はアプレットのシェーディング補正で使用している方程式です。

方程式 8.1 シェーディング補正 I は入力イメージを I*は出力画像をあらわしています。u と v は、画像座標です。使用するアプレットに応じてビット数を変更し て算出します。 アドバンスド画像取得アプレットは、12bitの深度で画像データを処理しています。オフセット補正は 16bitの固定小数点計算を 使用しています。12bit画像のピクセルは 12bitの整数 4bitの少数(左シフト)を持つと 16bitの固定少数点の値に変換されますの で、オフセット補正の精度は、オフセット補正値のステップサイズであらわされる は、0 ~

1 1 = となります。オフセット補正値 16 24

216-1 の範囲を持ちます。オフセット補正の結果は、減算の結果はマイナス値になります。マイナス値は、0 にクリ 24

ップされます。アプレットのゲイン補正も 16bitの固定小数点値を使用します。 補正値は 4 の正数bitと 12 の小数bitを含みます。 そのため範囲は 0 ~

1 1 216-1 =15.99 となりステップサイズは 12 = です。シェーディング補正の出力は、再び 12bitと 212 4096 2

なります。 次に実際の数字を用いたサンプルで説明します。ピクセル値 453、オフセット補正値 12.5、ゲイン補正値 1.2 とします。 結果は 529 となります:

方程式 8.2 シェーディング補正:計算例

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

96


文書番号 :SSB003 Revision :1.00 表 8.1 シェーディング補正のビット深度 Correction

Correction Value From

Offset

Correction Value To

Stepsize

4096 - 1/16

1/16

0

Gain

0

16 - 1/4096

Integer Bits

1/4096

12 4

Fractional Bits 4

12

このアプレットはベイヤーカメラからのデータをカラー変換して出力します。シェーディング補正はカラー補正前に実行されま す。

8-1 FG_SHADING_OFFSET_ENABLE このパラメータでオフセット補正の ON/OFF を切り替えます。オフセット補正は、フレームグラバーに補正値がアップロードさ れた時のみ行うことができます。これは、オートホワイトバランス機能または補正値のテーブルをマニュアルで設定する方法の どちらでも行うことができます。オフセット補正は、画像取得中を含むどのタイミングでも ON/OFF の切り替えを行うことがで きます。 表 8.2 パラメータプロパティ:FG_SHADING_OFFSET_ENABLE Property

Value

Name

FG_SHADING_OFFSET_ENABLE

Access policy

Read/Write/Change

Storage policy

Persistent

Type

Enumeration

Allowed values

FG_ON On

FG_OFF

Off

Default value

FG_OFF

サンプル 8.1 FG_SHADING_OFFSET_ENABLE int result = 0;

unsigned int value = FG_OFF;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SHADING_OFFSET_ENABLE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SHADING_OFFSET_ENABLE, &value, 0, type)) < 0) { }

/* error handling */

8-2 FG_SHADING_GAIN_ENABLE このパラメータでゲイン補正の ON/OFF を切り替えます。ゲイン補正は、フレームグラバーに補正値がアップロードされた時の み行うことができます。これは、オートホワイトバランス機能または補正値のテーブルをマニュアルで設定する方法のどちらで も行うことができます。ゲイン補正は、画像取得中を含むどのタイミングでも ON/OFF の切り替えを行うことができます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

97


文書番号 :SSB003 Revision :1.00 表 8.3 パラメータプロパティ:FG_SHADING_GAIN_ENABLE Property

Value

Type

Enumeration

Storage policy

Persistent

Allowed values

FG_ON

Name

FG_SHADING_GAIN_ENABLE

Access policy

Read/Write/Change

On

FG_OFF

Off Default value

FG_OFF

サンプル 8.2 FG_SHADING_GAIN_ENABLE int result = 0;

unsigned int value = FG_OFF;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SHADING_GAIN_ENABLE, &value, 0, type)) < 0) { /* error handling */

}

if ((result = Fg_getParameterWithType(FG_SHADING_GAIN_ENABLE, &value, 0, type)) < 0) { /* error handling */

}

8-3 オートシェーティング補正 オートシェーディング補正機能で、カメラのシェーディング補正を簡単に行うことができます。必要なものは、黒とグレーの 2 つの参照画像です。これらの画像データは、標準の TIFF 形式ファイルでストアして下さい。画像を作成するには様々な方法があ りますが、一番簡単な方法は、SILICON SOFTWARE Runtime に含まれる microDisplay を使用する方法です。カメラを希望す るオペレーションモードで動作させます。アプレットを使用した参照画像の保存には、カメラからの RAW データを使用して下 さい。 黒参照画像は、オフセット補正の計算に使用し、カメラのイメージセンサのダークカレントを除去します。画像を保存する場合、 センサに光が入ることを防ぐためカメラにレンズキャップを装着します。黒参照画像のピクセル値は、オフセット補正値をあら わします。これらは、カメラのダークカレントを除去するために取得したイメージから減算されます。 グレー参照画像は、標準の条件で光をあてて取得しますが、カメラ画像が飽和することは避けてください。ゲイン補正値はグレ ー参照画像を使用して作成されます。オートシェーディング補正は、全てのイメージピクセルに同じ参照値を割り付けるために 各ピクセルに必要な乗算係数をグレー参照画像で決定します。パラメータ FG_SHADING_GAIN_CORRECTION_MODE を使用し てホワイトリファレンス値を設定する方法は 3 つあります。 ・

最大値: 参照値としてグレー参照画像ファイルにある最大値をもつピクセルのピクセル値をセットします。

平均値: 参照値としてグレー参照画像ファイルにあるピクセル値の平均強度で定義されます。

最大範囲:

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

98


文書番号 :SSB003 Revision :1.00 ホワイトリファレンスは、可能な最大値が定義されます、すなわちアプレットでは 212 – 1 となります。従いオートシェー ディング補正では、全ての白い値から飽和した値を持つゲイン補正値を探します。 次の項では、記録した参照画像のファイル名を使用してアプレットをパラメータ化する方法が説明しています。 全ての設定の効果がでるのは、パラメータ FG_SHADING_APPLY_SETTINGS に書き込むことで有効になる点に注意して下さい。

8-3-1 FG_SHADING_BLACK_FILENAME 黒参照ファイルのファイル名とパスを定義します。 表 8.4 パラメータプロパティ:FG_SHADING_BLACK_FILENAME Property

Value

Name

FG_SHADING_BLACK_FILENAME

Access policy

Read/Write/Change

Storage policy

Persistent

Type

String

Default value

""

サンプル 8.3 FG_SHADING_BLACK_FILENAME int result = 0;

char* value = "";

const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_setParameterWithType(FG_SHADING_BLACK_FILENAME, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SHADING_BLACK_FILENAME, &value, 0, type)) < 0) { }

/* error handling */

8-3-2 FG_SHADING_GRAY_FILENAME グレー参照ファイルのファイル名とパスを定義します。 表 8.5 パラメータプロパティ:FG_SHADING_GRAY_FILENAME Property

Value

Type

String

Storage policy

Persistent

Default value

""

Name

FG_SHADING_GRAY_FILENAME

Access policy

Read/Write/Change

サンプル 8.4 FG_SHADING_GRAY_FILENAME int result = 0;

char* value = "";

const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR;

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

99


文書番号 :SSB003 Revision :1.00 if ((result = Fg_setParameterWithType(FG_SHADING_GRAY_FILENAME, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SHADING_GRAY_FILENAME, &value, 0, type)) < 0) { }

/* error handling */

8-3-3 FG_SHADING_GAIN_CORRECTION_MODE オートホワイトバランスのコアがゲイン補正値を計算する方法を指定します。モードの説明は「オートシェーティング補正」を 参照ください。 表 8.6 パラメータプロパティ:FG_SHADING_GAIN_CORRECTION_MODE Property

Value

Type

Enumeration

Name

FG_SHADING_GAIN_CORRECTION_MODE

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

FG_MAX_VALUE

Maximum Value

FG_MEAN_VALUE Mean Value

FG_MAX_RANGE

Maximum Range

Default value

FG_MAX_VALUE

サンプル 8.5 FG_SHADING_GAIN_CORRECTION_MODE int result = 0;

unsigned int value = FG_MAX_VALUE;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SHADING_GAIN_CORRECTION_MODE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SHADING_GAIN_CORRECTION_MODE, &value, 0, type)) < 0) { }

/* error handling */

8-3-4 FG_SHADING_GAIN_NORMALIZATION_VALUE パラメータ設定に依存しますが、パラメータ FG_SHADING_GAIN_CORRECTION_MODE で参照するピクセル強度を設定できま す。詳しくは「オートシェーティング補正」を参照ください。パラメータ FG_SHADING_GAIN_CORRECTION_MODE に値 FG_CUSTOM_VALUE セットしていない場合、読み取り専用のパラメータになります。パラメータ FG_SHADING_APPLY_SETTINGS でシェーディング設定を適応後、モード FG_MAX_VALUE、FG_MEAN_VALUE 、 FG_MAX_RANGE を使用して、決定した値を確認できます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

100


文書番号 :SSB003 Revision :1.00 表 8.7 パラメータプロパティ:FG_SHADING_GAIN_NORMALIZATION_VALUE Property

Value

Type

Double

Name

FG_SHADING_GAIN_NORMALIZATION_VALUE

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

Minimum 0.0

Maximum NaN

Stepsize NaN

Default value

NaN サンプル 8.6 FG_SHADING_GAIN_NORMALIZATION_VALUE

int result = 0;

double value = NaN;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SHADING_GAIN_NORMALIZATION_VALUE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SHADING_GAIN_NORMALIZATION_VALUE, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

101


文書番号 :SSB003 Revision :1.00

9

シェーディングカスタム 値 シェーディング補正は、各ピクセルの値を定義するか参照画像を使用して値を決定するオートシェーディング補正があることを 説明しました。ここでは、シェーディング補正モジュールに定義した補正値をロードする方法について説明します。基本的に SDK のシェーディング機能を使用します。使用する関数の詳細な説明は、SILICON SOFTWARE Runtime のユーザーマニュアルで確 認して下さい。 アプレット Acq_BaseAreaBayer12 は、ベイヤーパターンのイメージを処理するアプレットです。シェーディング補正は、セン サの RAW データに対して処理を行いますので、各ピクセルに対して 1 つのオフセットとゲイン補正値が定義されます。ユーザ ーはセンサピクセルに対して補正値を計算する必要があります。RGB 補正値を定義することはできませんが、各ピクセルの現在 のカラーコンポーネンツは選択したベイヤーパターンとピクセル座標を使用して決定する事ができます。次のソースコードは、 シェーディング補正モジュールにカスタム値をロードする SDK サンプルです。 サンプル 9.1 シェーディング補正モジュールにカスタム値をロード // ... Fg_Init(...) int shadingSet = 0; // Always 0 for this applet

int cameraIndex = 0; // Select the index of the camera int channel = 0; //

Only once color component exists for each pixel.

//In this examples, the same correction values are applied for all pixels:

float offset = 0.1; // An offset of 0.1 results in a subtraction of 0.1 * 2^12 from each pixel value float gain = 1.5; // Each pixel value will be multiplied with value 1.5 ShadingMaster* sm = Fg_AllocShading(fg, shadingSet, port); if (sm == 0)

return -1;

if (Shad_GetAccess(fg, sm) != FG_OK) return -1;

int height = Shad_GetMaxLine(fg, sm); // Determines the maximum image height (4096 for this applet) if (height <= 0) return -1;

int width = 4096; for (int y = 0; y < height; ++y) {

// --- change values in the current line for (int x = 0; x < width; ++x) {

if (Shad_SetSubValueLine(fg, sm, x, channel, offset) != FG_OK) return -1;

if (Shad_SetMultValueLine(fg, sm, x, channel, gain) != FG_OK) }

return -1;

// store the current line as line y (invalidates the values in the current line for the next usage) }

Shad_WriteActLine(fg, sm, y);

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

102


文書番号 :SSB003 Revision :1.00 // write the stored lines to the hardware if (Shad_FreeAccess(fg, sm) != FG_OK) return -1;

if (Fg_FreeShading(fg, sm) != FG_OK) return -1;

シェーディング値のために一時バッファを割り付けます 全てのピクセル値に対して処理を行うループ。許容される範囲で各ピクセルに補正値を設定する必要はありません。 ROI のみまたは失敗したピクセルのリトライのみ値を設定する事ができます。 オフセット補正値をセット ゲイン補正値をセット 現在のラインの値設定終了 この時点で値はフレームグラバーにロードされていません。 フリーアクセス関数で値をフレームグラバーへのアップロードを開始します。 アップロードには数秒処理時間がかかります。 パラメータ FG_SHADING_OFFSET_ENABLE とパラメータ FG_SHADING_GAIN_ENABLE でフレームグラバーの補正値が有効 になります。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

103


文書番号 :SSB003 Revision :1.00

10

ベイヤーフィルタ

ベイヤーモザイクは、イメージセンサの RGB カラーフィルタにアレンジするカラーフィルタ配列です。ほとんどのシングルチッ プのイメージセンサで使用されています。フィルタパターンは 50%のグリーン、25%のレッドと 25%のブルーです。 アドバンスド画像取得アプレットは、カーネルサイズ 5x5 ピクセルの高品質ベイヤーデモザイクフィルタを使用しています。 フィルタは、フルプロセス処理ビットに加えて、浮動小数点の為にサブピクセルの精度で計算を行います。 センサに対応して 4 種類のベイヤーフィルタ配列の定義が用意されています。フレームグラバーのベイヤー変換アルゴリズムは、 正しいカラー変換を行うために最初のピクセル(左上のピクセル)と隣のピクセルの色情報を必要とします。これらの値はカメ ラモデルに依存します。ベイヤーフィルタのオリエンテーションは、カメラマニュアルの関連する章を参照ください。

注意 カメラ内の ROI のオフセットによってフレームグラバーに転送される左上(最初)のピクセルが変更される可能性がある点に注 意が必要です。一方、フレームグラバーの ROI 設定では、いずれかのオフセットでアプレットによって自動的補正されます。 カメラのベイヤーフィルタ配列にマッチさせるためのアプレットの定義は、次のセクションでパラメータ FG_BAYERINIT と合わ せて説明しています。

10-1 G_BAYERINIT カメラのベイヤーフィルタ配列の定義にアプレット設定を合わせて使用します。センサのフィルタ配列に対して次の 4 種類のフ ィルタマッピングが使用できます。

図 10.1 ベイヤーフィルタ配列:G(緑)に R(赤)が続く配列

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

104


文書番号 :SSB003 Revision :1.00

図 10.2 ベイヤーフィルタ配列:R(赤)に G(緑)が続く配列

図 10.3 ベイヤーフィルタ配列:B(青)に G(緑)が続く配列

図 10.4 ベイヤーフィルタ配列:G(緑)に B(青)が続く配列

図は、フレームグラバーに転送された画像の左上にある最初のピクセルをあらわしています。一般的には、カメラの左上の最初 のピクセルですが、カメラの ROI 設定により変更します。センサのピクセルは、図にある 4 つのベイヤーパターンの1つでオー バーレイされます。使用するカメラに対応するベイヤーパターンを選択します。 表 10.1 パラメータプロパティ:FG_BAYERINIT Property

Value

Name

FG_BAYERINIT

Type

Enumeration

Access policy

Read/Write

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

105


文書番号 :SSB003 Revision :1.00 Storage policy

Persistent

Allowed values

GreenFollowedByRed

Green Followed By Red GreenFollowedByBlue

Green Followed By Blue RedFollowedByGreen

Red Followed By Green BlueFollowedByGreen

Blue Followed By Green

Default value

RedFollowedByGreen

サンプル 10.1 FG_BAYERINIT int result = 0;

unsigned int value = RedFollowedByGreen;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_BAYERINIT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_BAYERINIT, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

106


文書番号 :SSB003 Revision :1.00

11

ホワイトバランス

アプレットは、アプリケーションの照明の状況に応じて画像の分光調整を行うことができます。カメラセンサ分光感度を調整す るために赤、緑、青の各コンポーネンツのカラー値はそれぞれ係数によって増加または減少させることができます。 アプレット Acq_BaseAreaBayer12 はベイヤーパターンの画像を処理するアプレットです。後続する障害を避けるため、ホワイ トバランスはセンサの RAW データで処理を行います。

シェーディング補正を用いたホワイトバランス 各ピクセル値のそれぞれのホワイトバランスは、2D シェーディング補正によって実現できます。シェーディング補正では、オ ートホワイトバランスも有効にすることができます。「シェーディング補正」により詳細な説明が記載されています。 シェーディングキャリブレーションを行う場合は、ホワイトバランスのパラメータを変更する前にキャリブレーションを行って ください。

11-1 FG_SCALINGFACTOR_GREEN 表 11.1 パラメータプロパティ:FG_SCALINGFACTOR_GREEN Property

Value

Name

FG_SCALINGFACTOR_GREEN

Access policy

Read/Write/Change

Allowed values

Minimum

Type

Double

Storage policy

Persistent 0.0

Maximum 4.0

Stepsize

9.77E-4 Default value

1.0

サンプル 11.1 FG_SCALINGFACTOR_GREEN int result = 0;

double value = 1.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SCALINGFACTOR_GREEN, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SCALINGFACTOR_GREEN, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

107


文書番号 :SSB003 Revision :1.00

11-2 FG_SCALINGFACTOR_RED 表 11.2 パラメータプロパティ:FG_SCALINGFACTOR_RED Property

Value

Type

Double

Access policy

Read/Write/Change

Allowed values

Minimum

Name

FG_SCALINGFACTOR_RED

Storage policy

Persistent 0.0

Maximum 4.0

Stepsize 9.77E-4

Default value

1.0

サンプル 11.2 FG_SCALINGFACTOR_RED int result = 0;

double value = 1.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SCALINGFACTOR_RED, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SCALINGFACTOR_RED, &value, 0, type)) < 0) { }

/* error handling */

11-3 FG_SCALINGFACTOR_BLUE 表 11.3 パラメータプロパティ:FG_SCALINGFACTOR_BLUE Property

Value

Name

FG_SCALINGFACTOR_BLUE

Access policy

Read/Write/Change

Type

Storage policy

Allowed values

Double

Persistent

Minimum 0.0

Maximum 4.0

Stepsize 9.77E-4

Default value

1.0

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

108


文書番号 :SSB003 Revision :1.00 サンプル 11.3 FG_SCALINGFACTOR_BLUE int result = 0;

double value = 1.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SCALINGFACTOR_BLUE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_SCALINGFACTOR_BLUE, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

109


文書番号 :SSB003 Revision :1.00

12

LUT( Look Up Table)

アドバンスド画像取得アプレットは、3 つのカラーコンポーネンツに対してフルフレームの LUT(Look Up Table)が含まれま す。設定は取得した画像をホスト PC へ転送する前に適用されますので、フレームグラバー上での最後の前処理となります。 LUT は、全ての入力ピクセル値に対して 1 つのエントリーが含まれています。ピクセル値は LUT の要素値に置き換えられます、 即ち各ピクセルに新しい値が割り当てられます。この機能は、プロセッシングモジュールで行われた追加されたオフセット、ゲ イン係数またはガンマ補正などの画像品質を向上させるために使用されます。(「プロセッシング」を参照ください。) LUT は、カスタム値でロードすることができます。アプリケーション領域は:カスタム画像改良またはピクセルの分類です。 アプレットでは 12bit でデータを処理します。そのため LUT は 12bit の入力を持ち、ピクセル値は 0~4095 の範囲です。これ らの 4096 の要素に対し、LUT は新しい出力値に置き換えて出力します。新しい値は 0~4095 の範囲です。 全てのカラーコンポーネンツは並列に処理されます。 次に LUT で使用するパラメータを説明します。LUT のオペレーションモードを定義するパラメータ FG_LUT_TYPE は、正しく設 定して使用して下さい。

12-1 FG_LUT_TYPE LUT を定義するには2つの方法があります。1 つ目は、画像品質向上のためにオフセット、ゲインそれにガンマなどのパラメー タを使用した内部プロセッサを使用する方法です。詳細な情報は「プロセッシング」を参照ください。パラメータに LUT_TYPE_PROCESSING をセットするとプロセッサを使用することができます。 LUT を使用する 2 つ目の方法は、LUT にファイルからカスタム値をロードする方法です。パラメータを LUT_TYPE_CUSTOM に 設定すると LUT のエントリーにカスタムファイルをロードすることができます。 この 2 つの方法以外に、フィールドパラメータ FG_LUT_VALUE_RED

FG_LUT_VALUE_GREEN

FG_LUT_VALUE_BLUE を使用して常に直接 LUT に書き込みを行うことができます。これらのパラメータを使用するとプロセッサまたはカスタム入力フ ァイルからの設定を上書きします。逆にプロセッサパラメータやロードしたカスタム LUT ファイルの値を変更するとフィールド パラメータの設定を上書きできます。 表 12.1 パラメータプロパティ:FG_LUT_TYPE Property

Value

Type

Enumeration

Access policy

Read/Write/Change

Allowed values

LUT_TYPE_PROCESSING

Name

Storage policy

FG_LUT_TYPE

Persistent Processor

LUT_TYPE_CUSTOM User file

Default value

LUT_TYPE_PROCESSING

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

110


文書番号 :SSB003 Revision :1.00 サンプル 12.1 FG_LUT_TYPE int result = 0;

unsigned int value = LUT_TYPE_PROCESSING;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_LUT_TYPE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_LUT_TYPE, &value, 0, type)) < 0) { }

/* error handling */

12-2 FG_LUT_VALUE_RED 表 12.2 パラメータプロパティ:FG_LUT_VALUE_RED Property

Value

Type

Unsigned Integer Field

Storage policy

Transient

Default value

0

Name

FG_LUT_VALUE_RED

Access policy

Read/Write/Change

サンプル 12.2 FG_LUT_VALUE_RED int result = 0; FieldParameterInt access;

const enum FgParamTypes type = FG_PARAM_TYPE_STRUCT_FIELDPARAMINT; for (unsigned int i = 0; i < 4096; ++i) {

acces.index = i;

access.value = 0; if ((result = Fg_setParameterWithType(FG_LUT_VALUE_RED, &access, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_LUT_VALUE_RED, &access, 0, type)) < 0) {

}

}

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

111


文書番号 :SSB003 Revision :1.00

12-3 FG_LUT_VALUE_GREEN 表 12.3 パラメータプロパティ:FG_LUT_VALUE_GREEN Property

Value

Type

Unsigned Integer Field

Access policy

Read/Write/Change

Default value

0

Name

FG_LUT_VALUE_GREEN

Storage policy

Transient

サンプル 12.3 FG_LUT_VALUE_GREEN int result = 0; FieldParameterInt access;

const enum FgParamTypes type = FG_PARAM_TYPE_STRUCT_FIELDPARAMINT; for (unsigned int i = 0; i < 4096; ++i) {

acces.index = i;

access.value = 0; if ((result = Fg_setParameterWithType(FG_LUT_VALUE_GREEN, &access, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_LUT_VALUE_GREEN, &access, 0, type)) < 0) {

}

}

/* error handling */

12-4 FG_LUT_VALUE_BLUE 表 12.4 パラメータプロパティ:FG_LUT_VALUE_BLUE Property

Value

Name

FG_LUT_VALUE_BLUE

Type

Unsigned Integer Field

Storage policy

Transient

Access policy Default value

Read/Write/Change 0

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

112


文書番号 :SSB003 Revision :1.00 サンプル 12.4 FG_LUT_VALUE_BLUE int result = 0; FieldParameterInt access;

const enum FgParamTypes type = FG_PARAM_TYPE_STRUCT_FIELDPARAMINT; for (unsigned int i = 0; i < 4096; ++i) {

acces.index = i;

access.value = 0; if ((result = Fg_setParameterWithType(FG_LUT_VALUE_BLUE, &access, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_LUT_VALUE_BLUE, &access, 0, type)) < 0) {

}

}

/* error handling */

12-5 FG_LUT_CUSTOM_FILE パラメータ FG_LUT_TYPE に LUT_TYPE_CUSTOM をセットするとカスタム LUT のファイル名とパスがセットされます。ファイ ルが有効であればファイルの値が LUT にロードされます。不正なファイルの場合、このパラメータへのコールはエラーを返しま す。 LUT ファイルフォーマットの詳細な説明は Runtime ユーザーマニュアルを参照下さい。 ドラフトファイルを取得する簡単な方法は、パラメータ FG_LUT_SAVE_FILE を使用して現在の LUT 設定を保存する方法です。 表 12.5 パラメータプロパティ:FG_LUT_CUSTOM_FILE Property

Value

Type

String

Access policy

Read/Write/Change

Default value

""

Name

FG_LUT_CUSTOM_FILE

Storage policy

Persistent

サンプル 12.5 FG_LUT_CUSTOM_FILE int result = 0;

char* value = "";

const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_setParameterWithType(FG_LUT_CUSTOM_FILE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_LUT_CUSTOM_FILE, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

113


文書番号 :SSB003 Revision :1.00

12-6 FG_LUT_SAVE_FILE 現在の LUT の定義をファイルに保存するためには、このパラメータに出力するファイル名を書き込みます。定義したファイルの 完全パスを書き込んで下さい。 現在の LUT の設定をファイルに書き込むための、簡単な方法はプロセッサによって作られた設定を利用することです。さらに LUT ファイルフォーマットのドラフトバージョンを取得することができます。出力ファイルの値は、パラメータ FG_LUT_CUSTOM_FILE を使用して再度ロードして使用することができます。 表 12.6 パラメータプロパティ:FG_LUT_SAVE_FILE Property

Value

Name

FG_LUT_SAVE_FILE

Access policy

Read/Write/Change

Storage policy

Transient

Type

String

Default value

""

サンプル 12.6 FG_LUT_SAVE_FILE int result = 0;

char* value = "";

const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_setParameterWithType(FG_LUT_SAVE_FILE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_LUT_SAVE_FILE, &value, 0, type)) < 0) { }

/* error handling */

12-7 アプレットプロパティ LUT を使用するためのいくつかのプロパティについて説明します。

12-7-1 FG_LUT_IMPLEMENTATION_TYPE このアプレットではフル LUT を使用します。 表 12.7 パラメータプロパティ:FG_LUT_IMPLEMENTATION_TYPE Property

Value

Type

Enumeration

Access policy

Read-Only

Allowed values

LUT_IMPLEMENTATION_FULL_LUT

Name

Storage policy

FG_LUT_IMPLEMENTATION_TYPE

Transient Full LUT

LUT_IMPLEMENTATION_KNEELUT

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

114


文書番号 :SSB003 Revision :1.00 KneeLUT

サンプル 12.7 FG_LUT_IMPLEMENTATION_TYPE int result = 0;

unsigned int value = LUT_IMPLEMENTATION_FULL_LUT;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_LUT_IMPLEMENTATION_TYPE, &value, 0, type)) < 0) { }

/* error handling */

12-7-2 FG_LUT_IN_BITS このアプレットは、入力ビット 12bit の LUT を使用します。 表 12.8 パラメータプロパティ:FG_LUT_IN_BITS Property

Value

Type

Unsigned Integer

Access policy

Read-Only

Unit of measure

bit

Name

FG_LUT_IN_BITS

Storage policy

Transient

サンプル 12.8 FG_LUT_IN_BITS int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_LUT_IN_BITS, &value, 0, type)) < 0) { }

/* error handling */

12-7-3 FG_LUT_OUT_BITS このアプレットは、出力ビット 12bit の LUT を使用します。 表 12.9 パラメータプロパティ:FG_LUT_OUT_BITS Property

Value

Name

FG_LUT_OUT_BITS

Type

Unsigned Integer

Storage policy

Transient

Unit of measure

bit

Access policy

Read-Only

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

115


文書番号 :SSB003 Revision :1.00 サンプル 12.9 FG_LUT_OUT_BITS int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_LUT_OUT_BITS, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

116


文書番号 :SSB003 Revision :1.00

13

プロセッシング

画像品質を改善させる近道はプロセッシングパラメータを使用することです。このパラメータを使用するとオフセット、ゲイン、 ガンマ補正の他、画像反転を行うことができます。

プロセッサのアクティベーション プロセッシングパラメータは、補正値を決定するために LUT を使用しています。プロセッシングパラメータをアクティブにする ためには、LUT カテゴリにあるパラメータ FG_LUT_TYPE を LUT_TYPE_PROCESSING に設定します。このパラメータを設定し ないと、パラメータ変更の効果はありません。 全ての変換は次の手順で行います。: 1.

オフセット補正, 範囲 [-1.0, +1.0], 値= 0

2.

ゲイン補正, 範囲 [0, 212[, 値= 1.0

3.

ガンマ補正, 範囲 ]0, ∞], 値= 1.0

4.

反転, 値= 'off'

このアプレットでは、補正を行うために m=12 入力ビットと n=12 出力ビットのフル LUT が使用されています。 値は次の式によって決定されます

方程式 13.1 LUT 処理:反転なし

反転を使用した場合、出力値は次の式で決定されます。

方程式 13.2 LUT 処理:反転あり

x は、入力ピクセル値を表しており、0 から 212 – 1 の範囲です。算出された出力値が 0 より低い場合、0、また 212 – 1 より大きい 場合は 212 – 1 がセットされます。 アプレットは、各カラーコンポーネンツに対して同じ処理パラメータを使用して、それぞれのコンポーネンツに対して並列に処 理を行います。 パラメータが変更されていない場合、「図 13.1 LUT 処理:恒等式」のように出力値は入力値と同じになります。次の項目か らそれぞれの処理パラメータについて説明します。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

117


文書番号 :SSB003 Revision :1.00

図 13.1 LUT 処理:恒等式

13-1 FG_PROCESSING_OFFSET オフセットは、各ピクセルに相対値が加えられます、これはブライトネス調整とよく似ています。相対オフセットは、例えばピ クセルに 0.5 を加えると全体のブライトネスの 50%です。8bit ピクセルを使用した場合の絶対値では、128(0.5 x 255 = 127.5) が各ピクセルに加えられます。各ピクセルに絶対値を加えたい場合は次の計算式を参照下さい。: 例 -51 を 8bit ピクセルオフセットに加えると-51/255=-0.2 「図 13.2 LUT 処理:オフセット」はオフセットのサンプルを表しています。恒等式=0.0。

図 13.2 LUT 処理:オフセット

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

118


文書番号 :SSB003 Revision :1.00 表 13.1 パラメータプロパティ:FG_PROCESSING_OFFSET Property

Value

Name

FG_PROCESSING_OFFSET

Access policy

Read/Write/Change

Allowed values

Minimum

Type

Double

Storage policy

Persistent -1.0

Maximum 1.0

Stepsize

2.220446049250313E-16

Default value

0.0

サンプル 13.1 FG_PROCESSING_OFFSET int result = 0;

double value = 0.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PROCESSING_OFFSET, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_PROCESSING_OFFSET, &value, 0, type)) < 0) { }

/* error handling */

13-2 FG_PROCESSING_GAIN ゲインは乗算係数が各ピクセルに適用されます、これはコントラスト調整とよく似ています。各ピクセル値は与えられた値で乗 算されます。恒等式では 1.0 が選択されます。

図 13.3 LUT 処理:ゲイン [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

119


文書番号 :SSB003 Revision :1.00

表 13.2 パラメータプロパティ:FG_PROCESSING_GAIN Property

Value

Name

FG_PROCESSING_GAIN

Type

Double

Storage policy

Persistent

Access policy

Read/Write/Change

Allowed values

Minimum 0.0

Maximum 4096.0

Stepsize

2.220446049250313E-16

Default value

1.0

サンプル 13.2 FG_PROCESSING_GAIN int result = 0;

double value = 1.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PROCESSING_GAIN, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_PROCESSING_GAIN, &value, 0, type)) < 0) { }

/* error handling */

13-3 FG_PROCESSING_GAMMA ガンマ補正は、各ピクセルにべき乗の変換を行います。処理されたピクセル値 p は、[0, 1.0]の範囲で p’=p1/gamma 恒等式 = 1.0 の式で変換されます。

図 13.4 LUT 処理:ガンマ [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

120


文書番号 :SSB003 Revision :1.00

表 13.3 パラメータプロパティ:FG_PROCESSING_GAMMA Property

Value

Name

FG_PROCESSING_GAMMA

Type

Double

Storage policy

Persistent

Access policy

Read/Write/Change

Allowed values

Minimum

2.220446049250313E-16 Maximum

1.7976931348623157E308

Stepsize

2.220446049250313E-16

Default value

1.0

サンプル 13.3 FG_PROCESSING_GAMMA int result = 0;

double value = 1.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PROCESSING_GAMMA, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_PROCESSING_GAMMA, &value, 0, type)) < 0) { }

/* error handling */

13-4 FG_PROCESSING_INVERT 反転パラメータを FG_ON にセットすると、出力は入力イメージから反転します。処理されたピクセル値 p は、[0, 1.0]の範囲で p' = 1 – p の式で変換されます。

図 13.5 LUT 処理:反転 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

121


文書番号 :SSB003 Revision :1.00

表 13.4 パラメータプロパティ:FG_PROCESSING_INVERT Property

Value

Name

FG_PROCESSING_INVERT

Type

Enumeration

Storage policy

Persistent

Access policy

Read/Write/Change

Allowed values

FG_ON On

FG_OFF Off

Default value

FG_OFF

サンプル 13.4 FG_PROCESSING_INVERT int result = 0;

unsigned int value = FG_OFF;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_PROCESSING_INVERT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_PROCESSING_INVERT, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

122


文書番号 :SSB003 Revision :1.00

14

出 力 フォーマット

この章で説明するパラメータは、アプレットの画像フォーマットとビットアライメントである出力フォーマットを定義します。

14-1 FG_FORMAT パラメータ FG_FORMAT は、DMA チャンネルの出力フォーマット設定に使用します。出力フォーマット値は、出力するビット 数とカラーフォーマットを定義します。アプレットで処理するビットサイズは出力フォーマットとは異なり出力フォーマットの ビットサイズに従って調整されます。 表 14.1 パラメータプロパティ:FG_FORMAT Property

Value

Name

FG_FORMAT

Type

Enumeration

Storage policy

Persistent

Access policy

Read/Write

Allowed values

FG_COL24

Color 24bit FG_COL48

Color 48bit

Default value

FG_COL24

サンプル 14.1 FG_FORMAT int result = 0;

unsigned int value = FG_COL24;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_FORMAT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_FORMAT, &value, 0, type)) < 0) { }

/* error handling */

14-2 FG_BITALIGNMENT ビットアライメントは、内部処理ビット深度(アドバンスド画像取得アプレットでは 12bit)のピクセルビットを DMA 出力ビ ット深度にマッピングを行います。出力ビットが内部処理ビットの深度より大きい場合、出力で左または右にシフトできます。 例えば、内部処理ビット 12bit の場合、16bit の出力にマッピングされます。パラメータ値 FG_LEFT_ALIGNED を設定すると、 出力ビットは、bit0~3 には 0 がセットされ、bit4~15 はピクセルデータが転送されます。パラメータ値 FG_RIGHT_ALIGNED を設定すると、出力ビットは、bit0~11 のピクセルデータが転送されます。上位 4bit は 0 がセットされます。 出力ビットの深度が内部処理ビットの深度より低い場合、パラメータの影響はなくピクセルは自動的に左シフトします。 DMA 出力ビットの深度が内部ビットの深度より小さい場合、値は四捨五入されます。例えば、12bit 値 3785(1110 1100 1001) を 8bit 出力にマッピングを行う場合、値は 16(=236.5625)で除算され 237(1110 1101)となります。 ※メーカー英語マニュアルでは、「the output bits 4 to 11」となっています。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

123


文書番号 :SSB003 Revision :1.00 表 14.2 パラメータプロパティ:FG_BITALIGNMENT Property

Value

Type

Enumeration

Name

FG_BITALIGNMENT

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

FG_LEFT_ALIGNED Left Aligned

FG_RIGHT_ALIGNED Right Aligned

Default value

FG_LEFT_ALIGNED

サンプル 14.2 FG_BITALIGNMENT int result = 0;

unsigned int value = FG_LEFT_ALIGNED;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_BITALIGNMENT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_BITALIGNMENT, &value, 0, type)) < 0) { }

/* error handling */

14-3 FG_PIXELDEPTH ピクセル深度は読み取り専用パラメータで、ピクセルごとの有効なビット数の情報を提供します。例えば、12bit アプレットは 16bit 画像データを DMA パッケージとして転送します。つまり、16bit データの 12bit のみ使用されます。 アドバンスト画像取得アプレットでは、各コンポーネントに内部ビット深度 12bit を使用し、24bit あるいは 48bit で出力しま すので、24bit 出力は値 8、48bit 出力は値 12 となります。

表 14.3 パラメータプロパティ:FG_PIXELDEPTH Property

Value

Type

Unsigned Integer

Access policy

Read-Only

Allowed values

Minimum

Name

FG_PIXELDEPTH

Storage policy

Transient 0

Maximum 128

Stepsize 1

Unit of measure

bit

サンプル 14.3 FG_PIXELDEPTH int result = 0; [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

124


文書番号 :SSB003 Revision :1.00 unsigned int value = 8;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_PIXELDEPTH, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

125


文書番号 :SSB003 Revision :1.00

15

カメラシミュレータ

カメラシミュレータは、最初のアプレットテストのためにカメラをシミュレートする機能です。シミュレータを有効にすると、 指定したサイズと周波数でパターンを生成します。画像データはカメラに置き換えることができ、全てのアプレット処理機能は、 生成した画像データに適用されます。 カメラの仕様にあわせて設定するアプレット機能は有りません。カメラシミュレータが有効になっている場合、パラメータ FG_CAMERA_LINK_CAMTYPE とパラメータ FG_USEDVAL での設定は画像に何の影響も与えません。 生成されたパターンは、アプレットがサポートする最大 bit 深度で使用できます。このアプレットでは 12bit までの深度を持っ ています。 生成された画像データは、「図 15.1 カメラシミュレータ生成パターン」にある斜めのグレースケールパターンです。

図 15.1 カメラシミュレータ生成パターン

15-1 FG_GEN_ENABLE このパラメータでジェネレータを有効にします。ジェネレータをアクティブにするには、パラメータ FG_CAMSTATUS を ON に します。 表 15.1 パラメータプロパティ:FG_GEN_ENABLE Property

Value

Name

FG_GEN_ENABLE

Type

Enumeration

Access policy Storage policy

Allowed values

Read/Write/Change Persistent

FG_CAMPORT Camera

FG_GENERATOR Generator

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

126


文書番号 :SSB003 Revision :1.00 Default value

FG_CAMPORT

サンプル 15.1 FG_GEN_ENABLE int result = 0;

unsigned int value = FG_CAMPORT;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_ENABLE, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_ENABLE, &value, 0, type)) < 0) { }

/* error handling */

15-2 FG_GEN_START 画像データ生成の ON/OFF を設定します。 表 15.2 パラメータプロパティ:FG_GEN_START Property

Value

Type

Enumeration

Storage policy

Persistent

Name

FG_GEN_START

Access policy

Read/Write/Change

Allowed values

FG_ON

On

FG_OFF Off

Default value

FG_ON

サンプル 15.2 FG_GEN_START int result = 0;

unsigned int value = FG_ON;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_START, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_START, &value, 0, type)) < 0) { }

/* error handling */

15-3 FG_GEN_WIDTH 生成するフレームの幅を設定します。 [SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

127


文書番号 :SSB003 Revision :1.00 表 15.3 パラメータプロパティ:FG_GEN_WIDTH Property

Value

Name

FG_GEN_WIDTH

Access policy

Read/Write/Change

Allowed values

Minimum

Type

Unsigned Integer

Storage policy

Persistent 0

Maximum 65535

Stepsize 1

Default value

1024

Unit of measure

pixel

サンプル 15.3 FG_GEN_WIDTH int result = 0;

unsigned int value = 1024;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_WIDTH, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_WIDTH, &value, 0, type)) < 0) { }

/* error handling */

15-4 FG_GEN_HEIGHT 生成するフレームの高さを設定します。 表 15.4 パラメータプロパティ:FG_GEN_HEIGHT Property

Value

Type

Unsigned Integer

Access policy

Read/Write/Change

Allowed values

Minimum0Maximum65535Stepsize1

Unit of measure

pixel

Name

FG_GEN_HEIGHT

Storage policy

Persistent

Default value

1024

サンプル 15.4 FG_GEN_HEIGHT int result = 0;

unsigned int value = 1024;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_HEIGHT, &value, 0, type)) < 0) { /* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

128


文書番号 :SSB003 Revision :1.00 } if ((result = Fg_getParameterWithType(FG_GEN_HEIGHT, &value, 0, type)) < 0) { }

/* error handling */

15-5 FG_GEN_LINE_GAP ラインギャップを定義する事ができます。高い値を設定するとカメラシミュレータのラインレートが減少します。 表 15.5 パラメータプロパティ:FG_GEN_LINE_GAP Property

Value

Name

FG_GEN_LINE_GAP

Access policy

Read/Write/Change

Allowed values

Minimum

Type

Unsigned Integer

Storage policy

Persistent 0

Maximum 65535

Stepsize 1

Default value

4

Unit of measure

pixel

サンプル 15.5 FG_GEN_LINE_GAP int result = 0;

unsigned int value = 4;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_LINE_GAP, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_LINE_GAP, &value, 0, type)) < 0) { }

/* error handling */

15-6 FG_GEN_FREQ ピクセル周波数を設定します。ジェネレータは、カメラのシミュレーションのみを行なう点にご注意ください。このパラメータ はにアプレットや SDK の確認を行うために作らていますので、実際のカメラのタイミングや周波数を反映していません。 使用するピクセル周波数とそのフレームレートは、次の式で取得できます。

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

129


文書番号 :SSB003 Revision :1.00

方程式 15.1 ピクセル周波数(fps)

表 15.6 パラメータプロパティ:FG_GEN_FREQ Property

Value

Type

Double

Name

FG_GEN_FREQ

Access policy

Read/Write/Change

Storage policy

Persistent

Allowed values

Minimum 3.0

Maximum 125.0

Stepsize 1.0

Default value

40.0

Unit of measure

MHz

サンプル 15.6 FG_GEN_FREQ int result = 0;

double value = 40.0;

const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_GEN_FREQ, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_FREQ, &value, 0, type)) < 0) { }

/* error handling */

15-7 FG_GEN_ACCURACY このパラメータは、周波数の範囲を高めますが精度が下がります。 表 15.7 パラメータプロパティ:FG_GEN_ACCURACY Property

Value

Name

FG_GEN_ACCURACY

Type

Unsigned Integer

Access policy Storage policy

Allowed values

Read/Write/Change Persistent

Minimum 1

Maximum 65535

Stepsize Default value

1

25

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

130


文書番号 :SSB003 Revision :1.00

サンプル 15.7 FG_GEN_ACCURACY int result = 0;

unsigned int value = 25;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_ACCURACY, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_ACCURACY, &value, 0, type)) < 0) { }

/* error handling */

15-8 FG_GEN_TAP1、その他 注意 この説明は次のパラメータにも適応されます。: FG_GEN_TAP2 FG_GEN_TAP3 FG_GEN_TAP4 タップを無効にすると、パターンの代わりに黒いピクセルが出力されます。このタップはカメラリンク規格のタップには対応し ていません。このカメラリンクのベースコンフィグレーションアプレットでは、ジェネレータは常に 2 タップを使用します。 表 15.8 パラメータプロパティ:FG_GEN_TAP1 Property

Value

Name

FG_GEN_TAP1

Type

Enumeration

Storage policy

Persistent

Access policy

Read/Write/Change

Allowed values

FG_ON

On

FG_OFF Off

Default value

FG_ON

サンプル 15.8 FG_GEN_TAP1 int result = 0;

unsigned int value = FG_ON;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_TAP1, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_TAP1, &value, 0, type)) < 0) { /* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

131


文書番号 :SSB003 Revision :1.00 }

15-9 FG_GEN_ROLL 生成されたパターンの回転速度を変更します。 表 15.9 パラメータプロパティ:FG_GEN_ROLL Property

Value

Name

FG_GEN_ROLL

Access policy

Read/Write/Change

Type

Unsigned Integer

Storage policy

Persistent

Allowed values

Minimum 0

Maximum 255

Stepsize 1

Default value

0

サンプル 15.9 FG_GEN_ROLL int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_ROLL, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_GEN_ROLL, &value, 0, type)) < 0) { }

/* error handling */

15-10 FG_GEN_ACTIVE 表 15.10 パラメータプロパティ:FG_GEN_ACTIVE Property

Value

Type

Unsigned Integer

Name

Access policy

FG_GEN_ACTIVE Read-Only

Storage policy

Transient

Allowed values

Minimum 0

Maximum 65535

Stepsize 1

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

132


文書番号 :SSB003 Revision :1.00

サンプル 15.10 FG_GEN_ACTIVE int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_GEN_ACTIVE, &value, 0, type)) < 0) { }

/* error handling */

15-11 FG_GEN_PASSIVE 表 15.11 パラメータプロパティ:FG_GEN_PASSIVE Property

Value

Name

FG_GEN_PASSIVE

Access policy

Read-Only

Storage policy

Transient

Type

Unsigned Integer

Allowed values

Minimum 0

Maximum 65535

Stepsize 1

サンプル 15.11 FG_GEN_PASSIVE int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_GEN_PASSIVE, &value, 0, type)) < 0) { }

/* error handling */

サンプル 15.11. FG_GEN_PASSIVE の使用方法

15-12 FG_GEN_LINE_WIDTH 表 15.12 パラメータプロパティ:FG_GEN_LINE_WIDTH Property

Value

Type

Unsigned Integer

Name

Access policy

FG_GEN_LINE_WIDTH Read-Only

Storage policy

Transient

Allowed values

Minimum 0

Maximum

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

133


文書番号 :SSB003 Revision :1.00 65535

Stepsize 1 Unit of measure

pixel

サンプル 15.12 FG_GEN_LINE_WIDTH int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_GEN_LINE_WIDTH, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

134


文書番号 :SSB003 Revision :1.00

16

その 他 多 方 面 の パ ラメータ ( Miscellaneous: MISC モ ジュール )

MISC モジュールは、カメラステータス、バッファフィルレベル、DMA 転送長、タイムスタンプなどのその他の読み/書きパラ メータをまとめたものです。

16-1 FG_TIMEOUT このパラメータは DMA 転送のタイムアウトに使用します。タイムアウト後は画像取得を停止します。 表 16.1 パラメータプロパティ:FG_TIMEOUT Property

Value

Type

Unsigned Integer

Storage policy

Persistent

Allowed values

Minimum

Name

FG_TIMEOUT

Access policy

Read/Write/Change

2

Maximum

2147483646 Stepsize 1

Default value

1000000

Unit of measure

seconds

サンプル 16.1 FG_TIMEOUT int result = 0;

unsigned int value = 1000000;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TIMEOUT, &value, 0, type)) < 0) { }

/* error handling */

if ((result = Fg_getParameterWithType(FG_TIMEOUT, &value, 0, type)) < 0) { }

/* error handling */

サンプル 16.1. FG_TIMEOUT の使用方法

16-2 FG_APPLET_VERSION このパラメータはアドバンスド画像取得アプレットのバージョン番号をあらわしています。アプレットについてサポートに問い 合わせを行う場合は、この値をレポートしてください。 表 16.2 パラメータプロパティ:FG_APPLET_VERSION Property

Value

Type

Unsigned Integer

Name

Access policy

FG_APPLET_VERSION Read-Only

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

135


文書番号 :SSB003 Revision :1.00 Storage policy

Transient

サンプル 16.2 FG_APPLET_VERSION int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_APPLET_VERSION, &value, 0, type)) < 0) { }

/* error handling */

16-3 FG_APPLET_REVISION このパラメータはアドバンスド画像取得アプレットのリビジョン番号をあらわしています。アプレットについてサポートに問い 合わせを行う場合は、この値をレポートしてください。 表 16.3 パラメータプロパティ:FG_APPLET_REVISION Property

Value

Type

Unsigned Integer

Storage policy

Transient

Name

FG_APPLET_REVISION

Access policy

Read-Only

サンプル 16.3 FG_APPLET_REVISION int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_APPLET_REVISION, &value, 0, type)) < 0) { }

/* error handling */

16-4 FG_APPLET_ID この値は内部目的でのみ使用します。 表 16.4 パラメータプロパティ:FG_APPLET_ID Property

Value

Type

Unsigned Integer

Access policy

Read-Only

Name

Storage policy

FG_APPLET_ID

Transient

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

136


文書番号 :SSB003 Revision :1.00 サンプル 16.4 FG_APPLET_ID int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_APPLET_ID, &value, 0, type)) < 0) { }

/* error handling */

16-5 FG_HAP_FILE アプレットについてサポートに問い合わせを行う場合は、この読み込み専用の文字列型パラメータをお知らせください。 表 16.5 パラメータプロパティ:FG_HAP_FILE Property

Value

Type

String

Storage policy

Transient

Name

FG_HAP_FILE

Access policy

Read-Only

サンプル 16.5 FG_HAP_FILE int result = 0;

char* value = "";

const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_getParameterWithType(FG_HAP_FILE, &value, 0, type)) < 0) { }

/* error handling */

16-6 FG_DMASTATUS このパラメータで DMA チャンネルの状態を取得することができます。値”1”は、DMA 転送(画像取得)が開始されている事を 示し、値”0”は画像取得を停止している事を示します。 表 16.6 パラメータプロパティ:FG_DMASTATUS Property

Value

Name

FG_DMASTATUS

Type

Unsigned Integer

Storage policy

Transient

Access policy

Read-Only

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

137


文書番号 :SSB003 Revision :1.00 サンプル 16.6 FG_DMASTATUS int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_DMASTATUS, &value, 0, type)) < 0) { /* error handling */

}

16-7 FG_CAMSTATUS このパラメータでレームグラバーがカメラのクロック信号を認識しているかどうか確認できます。読み込み専用パラメータの 値”1”は、グラバーがカメラのクロック信号を認識している状態です。 表 16.7 パラメータプロパティ:FG_CAMSTATUS Property

Value

Name

FG_CAMSTATUS

Type

Unsigned Integer

Storage policy

Transient

Access policy

Read-Only

サンプル 16.7 FG_CAMSTATUS int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_CAMSTATUS, &value, 0, type)) < 0) { }

/* error handling */

16-8 FG_CAMSTATUS_EXTENDED このパラメータは、LVAL、FVAL、トリガー信号、外部リガー信号、バッファオーバーフローステータスなどカメラからのピク セルクロック情報が得られます。8bit の各 bit は、次のリストが示す内容の文字列型データです。: ・

0 = CameraClk

1 = CameraLval

2 = CameraFval

3 = Camera CC1 Signal

4 = ExTrg

5 = BufferOverflow

6 = BufStatus

7 = BufStatus 表 16.8 パラメータプロパティ:FG_CAMSTATUS_EXTENDED

Property

Value

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

138


文書番号 :SSB003 Revision :1.00 Name

FG_CAMSTATUS_EXTENDED

Type Unsigned

Integer

Storage policy

Transient

Access policy

Read-Only

サンプル 16.8 FG_CAMSTATUS_EXTENDED int result = 0;

unsigned int value = 0;

const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_CAMSTATUS_EXTENDED, &value, 0, type)) < 0) { }

/* error handling */

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

139


文書番号 :SSB003 Revision :1.00

改定履歴

日 2013.2

初版(RT5.2.0)

Revision 1.00

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

140


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.