Assembly: FVILdevice (in FVILdevice.dll) Version: 3.1.0.0 (3.1.0.5)
Syntax
C# |
---|
public class CFviVideoFHC3312 : CFviVideo |
Visual Basic |
---|
Public Class CFviVideoFHC3312 Inherits CFviVideo |
Remarks
PCI Express カメラリンク対応画像入力ボード(FHC3312)を操作する為のクラスです。
FHC3312は、カメラリンク規格のBaseコンフィグレーション x 2ch に対応した、PCI-Express x 4(Rev 1.0a)の 画像入力ボードです。
※注) PCI Express 2.0仕様(Gen2)のスロットに搭載した場合、正常にリンクアップせず、ボードがソフト ウェアより認識できない場合があるため、該当するスロットへの搭載については動作保証外となります。
■ トピック
- CHについて -
- 使用ボードの指定 -
- チャネルの指定 -
- 画像取込方法 -
- PoCLについて -
- ラインセンサにおける、トリガモード -
- エンコーダ信号入力 -
- ボードバージョンの確認方法 -
CHについて:
画像入力ボードFHC3312側は、CH1、CH2と表記されていますが、ライブラリでは、CH0、CH1として扱います。 FHC3312ボードとライブラリでは表記が違いますので、ご注意ください。 今後、ライブラリ側では、CH0、CH1と表記します。 CH0とCH1は非同期で使用することが可能です。CFviContinuousGrabFHC3312 また、CH0とCH1は同じカメラである必要はありません。 CH0とCH1にカメラを2台接続する場合は、必ず、CFviVideoFHC3312 のインスタンスが二つ必要となります。 同一カメラを2台接続する場合にも CFviVideoFHC3312 のインスタンスは二つ必要で、 チャネル毎にオープンする必要があります。
使用ボードの指定
FHC3312が複数枚装着されている画像処理装置の場合、FHC3312上のディップスイッチによるID指定(SW1)と Open(Int32, Int32) でのID指定での組み合わせでオープンされるボードが決定します。
Open(Int32, Int32)のid引数で、-1を指定した場合、 オープン可能な FHC3312 の中でディップスイッチの ID が最も若いものをオープンするという意味になります。 ID=0~7 を指定した場合、その値と同じディップスイッチ ID の FHC3312 をオープンします。 指定した ID と一致するFHC3312がオープン不可能だった場合、エラーが返されます。
チャネルの指定
Open(Int32, Int32)のch引数に-1を指定した場合、 オープン可能なチャネルをCH0→CH1に探します。 chに0〜1を指定した場合、その値のチャネルをオープンします。 指定したチャネルが既にオープン済みの場合、エラーが返されます。
画像取込方法
単発取込、連続取込ともCFviContinuousGrabFHC3312 を使用する必要があります。 取込枚数を1枚にすることで、単発取込を行うことが可能です。 このクラスの ContinuousGrab プロパティから 取込クラスのインスタンスを得る事ができます。 実際に使用する際は、画像メモリのロック→連続取込の開始→取込完了待ち→画像メモリのアンロックという手順 を踏まなければなりません。
- FHC3312をオープン(Open()()()())し、 使用するカメラ設定ファイルをロード(LoadIniFile(String))します。 -
- 各画像オブジェクトの画像サイズ、BPP、画像タイプを調整しておいてください。 画像メモリのサイズ変更は、 ChangeImageSize(CFviImage) をご利用ください。 -
- 単発取込を行うには、MemoryLock(CFviImage) メソッドで画像メモリを直接ロックします。 -
- 連続取込を行うには、取り込み先の画像オブジェクトのコレクション(List)を Images プロパティに設定し、 MemoryLock(UInt32) メソッドで、取り込み先の画像メモリをロックします。 -
-
取り込みを実行します。
- 同期取り込み(GrabSync(UInt32))の場合、 画像取り込みが完了するまで待機します。 中断するには、 StopCapture()()()() を使用します。 -
- 非同期取り込み(GrabASync(UInt32))の場合、 画像取り込みの完了を待たず、即時 制御が戻ります。 画像取り込みが完了したことを確認するために、 GrabWait()()()() または GrabStatus を使用します。 -
- 画像取り込みが終了し、画像メモリのロックが必要なくなった場合は、 画像メモリのアンロック(MemoryUnlock()()()())を 行ってください。 尚、ロックされたまま、画像入力ボードをクローズした場合、自動的にアンロックを行うようになっています。
PoCLについて
PoCLとは、「Power over CameraLink」の略で、カメラリンクケーブルでカメラ電源を給電できる 機能のことです。 PoCL対応カメラを使用する場合は、PoCL対応のケーブルとFHC3312上のジャンパ設定が必要です。 詳細は取扱説明書を参照してください。 また、PoCL対応カメラで、外部からも電源供給できるカメラの場合、必ずどちらかで一方で電源供給 を行うようにしてください。「PoCL」、「外部電源」の両方で電源供給を行わないでください。 PoCL対応カメラの場合、自動で電源供給が行われるのは、Windows起動時のみです。 電源の再投入を行いたい場合は、 CheckCameraAlive()()()() をご使用ください。
ラインセンサにおける、トリガモード
トリガモードは Trigger で行い、 ノーマル、内部トリガ、外部トリガを切り替えることが可能です。 FHC3312ではラインセンサのカメラの内部同期モード はサポートしていません。 FHC3312でラインセンサカメラを使用する場合は、カメラの外部同期モードによる取込を使用してください。 カメラの外部同期モード(トリガ動作)を使用する場合は、Trigger プロパティで1〜2の値を指定します。
エンコーダ信号入力
-
エンコーダスキャンモード
一致パルス間がライン周期となるモードです。 カメラの設定が「ライン周期=露光時間」である場合、エンコーダの速度によって露光が 変動しますので、エンコーダが遅い場合は明るく、速い場合は暗くなります。 「ライン周期!=露光時間」である場合は、エンコーダの速度によって変動するのはライン 周期のみとなりので、露光は一定に保つことができます。 この時の露光時間は、ExposureTimeで指定した値となります。 - -
エンコーダライン選択モード
一致パルスが取込のトリガとなるモードです カメラに露光時間とライン周期を別々に外部制御する機能はないが、露光を一定に 保ちたい場合などに使用するモードです。 カメラは ExposureTime 、SetTriggerCycleTime(UInt32) で指定した値で動作しており、 一致パルスを検出した直後に1ラインを取り込みます。 この為、一致パルスと実際に取り込みラインには1ラインのずれが生じます。 エンコーダの速度によって変動するのは、取り込みを行うライン数です。 SetTriggerCycleTime(UInt32)で指定したトリガ間隔よりも短い間隔の一致パルスで は正常に動作しません。 -
各チャネルにエンコーダの設定はできますが、入力は1系統のみとなります。エンコーダ入力はCH0、CH1で共用となりますので、ご注意ください。
ボードバージョンの確認方法
ボードバージョンの確認は、次の手順で行う事が出来ます。
- [コントロールパネル]→[管理ツール]→[コンピュータの管理]を開き、デバイスマネージャを表示する。 -
- デバイスマネージャの右のツリーから、[Aip]→[AVALDATA APX-3312(Image Capture Module)]を右クリックし、[プロパティ]を選択。 -
-
プロパティダイアログで、[ステータス]タブを選択し、[F/W Ver]の値を確認する。この値が、ボードのバージョンとなる。
[ステータス]のタブが無い場合、ドライバのバージョンを2.1.2.2以上にアップデートして下さい。 -