Assembly: FVILdevice (in FVILdevice.dll) Version: 3.1.0.0 (3.1.0.5)
Syntax
C# |
---|
public virtual CFviEncoderParam3 EncoderParam { get; set; } |
Visual Basic |
---|
Public Overridable Property EncoderParam As CFviEncoderParam3 Get Set |
Return Value
Type: CFviEncoderParam3エンコーダパラメータの取得または設定を行います。
FVC08エンコーダパラメータの取得または設定を行います。指定可能な値については、CFviEncoderParam3 構造体の説明をご参照ください。 エンコーダ起動モードとトリガモード(Trigger)の組み合わせに制限があります。
エンコーダー起動モードで外部トリガを指定する場合は、トリガモードは外部トリガモードにしてください。
エンコーダー起動モードでCPU、Z相を指定する場合は、トリガモードは内部トリガにしてください。
相対位置エンコーダ:
比較レジスタ1の設定分、カウントを待機後、トリガ信号(一致パルス)を出力し、その後、比較レジスタ2の間隔でトリガ信号(一致パルス)を出力します。
比較レジスタ1が0の場合は、比較レジスタ2の間隔でトリガ信号(一致パルス)を出力します。
絶対位置エンコーダ:
絶対位置カウントが比較レジスタ1の値と一致すると、トリガ信号(一致パルス)を出力し、その後、比較レジスタ2の間隔でトリガ信号(一致パルス)を出力します。
比較レジスタ1が0の場合は、エンコーダ起動モードが発生したタイミングでカメラに対しトリガ信号(一致パルス)を出力し、その後、比較レジスタ2の間隔でトリガ信号(一致パルス)を出力ます。
Initについて
エンコーダカウンタ初期化を[0:1フレーム完了後にエンコーダカウンタ初期化]に設定すると、フレーム毎に、エンコーダ起動モード(start)の入力が必要です。
連続取込時、1フレーム毎に外部トリガで撮像したい場合などに使用します。
相対値エンコーダのときは、カウンタ値がリセットされ、絶対値エンコーダのときは、カウンタ値が保持されます。
Signalsourceについて
FVC08の取込チャネル数は4で、エンコーダ設定はチャネル毎に設定できますが、FVC08のエンコーダ信号入力チャネル数は2です。
Signalsource パラメータは、カメラ設定ファイルの[Encoder]ENCSignalSource と等価で、規定値は 0:A#0、B#0、Z#0(エンコーダ入力チャネル0) です。
規定値のカメラ設定ファイルをロードすると、すべての取込チャネルはエンコーダ入力チャネル0と結びつきます。
エンコーダ入力チャネル1からエンコーダ入力したい場合は、Signalsource=1:A#1、B#1、Z#1 にしてください。
カメラ設定ファイルについて
カメラ設定ファイルのエンコーダパラメータと本関数のパラメータ値は異なります。カメラ設定ファイルについては以下を参照してください。
内容 | パラメータ名 | パラメータ値 | カメラ設定ファイル項目 | カメラ設定ファイル値 |
---|---|---|---|---|
サンプリング速度 | Mlt | [0:A相x1倍 1:A相x2倍 2:AB相x4倍] | [Encoder]ENCSampling | [0:AB相x4倍 1:A相x2倍 2:A相x1倍] |
エンコーダ起動モード | Start | [0:CPU 1:外部トリガ 2:Z相 3:未使用] | [Encoder]ENCStart | [0:未使用 1:外部トリガ 2:内部トリガ 3:Z相] |
パルスの方向 | Pulse | [0:CW 1:CCW] | [Encoder]ENCDir | [0:CW 1:CCW] |
比較レジスタ1 | Comp1 | [Encoder]ENCComp1 | ||
比較レジスタ2 | Comp2 | [Encoder]ENCComp2 | ||
エンコーダカウンタ初期化設定 | Init | [0:1フレーム取込完了後に初期化する 1:初期化しない 2:全取込完了時に初期化する] | [Encoder]ENCResetSource | [0:初期化しない 1:1フレーム取込完了後に初期化する 2:全取込完了時に初期化する] |
エンコーダ種類 | Cntenb | [0:無効 1:相対位置エンコーダ 2:絶対位置エンコーダ] | [Cameralink]EncoderMode | [0:エンコーダを使用しない 1:ラインスキャン(相対値) 2:ライン選択(相対値) 3:ラインスキャン(絶対値) 4:ライン選択(絶対値)] |
A相/B相入替 | Swapab | [0:無効 1:有効] | [Encoder]ENCSwapAB | [0:無効 1:有効] |
エンコーダー入力チャネル | Signalsource | [0:A#0、B#0、Z#0 1:A#1、B#1、Z#1] | [Encoder]ENCSignalSource | [0:A#0、B#0、Z#0 1:A#1、B#1、Z#1] |
処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
25 | FVIL.ErrorCode.NOT_OPENED | デバイスがオープンされていません。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | 引数に指定された値が不正です。 |
31078 | FVIL.Video.ErrorCode.SET_PARAMETER | パラメータの設定に失敗しました。 |
31079 | FVIL.Video.ErrorCode.GET_PARAMETER | パラメータの取得に失敗しました。 |
Examples
このプロパティはインスタンスの参照を返すものではありません。 従って、CFviEncoderParam3 構造体の インスタンスのメンバを個別に変更する事は出来ません。 設定を変更するには下記の何れかの方法で行ってください。
以下は、CFviEncoderParam3 構造体の 初期値指定コンストラクタで構築したインスタンスを代入する方法です。
C# | Copy |
---|---|
video.EncoderParam = new FVIL.Video.CFviEncoderParam3( 1, 1, 0, 10, 100, 0, 0, 0, 0, 0); |
以下は、このプロパティから現在値を取得して、一部のパラメータを変更して再度代入する方法です。
C# | Copy |
---|---|
FVIL.Video.CFviEncoderParam3 object = video.EncoderParam; // (1) 現在値取得 object.Sampling = 1; // (2) サンプリング速度のみ変更 video.EncoderParam = object; // (3) 再度、代入 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |