PmcmSetEncoderConfig¶
機能¶
エンコーダ入力の設定をします。
書式¶
INT PmcmSetEncoderConfig(
WORD wID,
WORD wAxis,
WORD wMode,
WORD wConfig
);
パラメータ¶
wID¶
ボードのID番号を指定します。
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
wAxis¶
設定する軸を指定します。複数の軸を指定することができます。
設定値 | 内容 |
---|---|
PMCM_AXIS_X | X軸 |
PMCM_AXIS_Y | Y軸 |
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
wMode¶
設定する項目を指定します。
設定値 | 内容 |
---|---|
PMCM_ENCODER_MODE | エンコーダ入力モード |
PMCM_ENCODER_DIR | A/B入力カウント方向 |
PMCM_ENCODER_FILTER | 入力フィルタ |
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
wConfig¶
設定値を指定します。
設定する項目(wMode)によって値が異なります。
-
wMode : PMCM_ENCODER_MODE
設定値 内容 0 1逓倍 1 2逓倍 2 4逓倍 3 アップ・ダウンの2パルス入力 初期値 : 0
-
wMode : PMCM_ENCODER_DIR
設定値 内容 0 Aの位相が進んでいる時、またはAの立ち上がりでカウントアップ 1 Bの位相が進んでいる時、またはBの立ち上がりでカウントアップ 初期値 : 0
-
wMode : PMCM_ENCODER_FILTER
設定値 内容 0 フィルタ機能OFF 1 フィルタ機能ON A+、A-、B+、B-、Z+、Z-にフィルタを挿入します。
フィルタ機能をONにすると、0.15μsec以下のパルス入力を無効にします。初期値 : 0
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
戻り値¶
関数が正常に終了した場合は0(PMCM_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は0以外が返りますので、その場合はエラーコードを参照してください。
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | INT | int | int | Integer | Long | int32_t |
使用例¶
IDが0のボードの、X軸とY軸のエンコーダ入力モードをアップ・ダウンの2パルス入力に設定します。
C/C++¶
int nResult;
WORD wAxis;
wAxis = PMCM_AXIS_X + PMCM_AXIS_Y;
nResult = PmcmSetEncoderConfig(0, wAxis, PMCM_ENCODER_MODE, 3);
C++/CLI¶
int result;
unsigned short axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetEncoderConfig(0, axis, PMCM_ENCODER_MODE, 3);
C#¶
int result;
ushort axis;
axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;
result = Pmcm.SetEncoderConfig(0, axis, Pmcm.PMCM_ENCODER_MODE, 3);
VB(.NET2002以降)¶
Dim result As Integer
Dim axis As Short
axis = PMCM_AXIS_X + PMCM_AXIS_Y
result = PmcmSetEncoderConfig(0, axis, PMCM_ENCODER_MODE, 3)
VB6.0/VBA¶
Dim lngResult As Long
Dim intAxis As Integer
intAxis = PMCM_AXIS_X + PMCM_AXIS_Y
lngResult = PmcmSetEncoderConfig(0, intAxis, PMCM_ENCODER_MODE, 3)
GCC¶
int32_t result;
uint16_t axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetEncoderConfig(0, axis, PMCM_ENCODER_MODE, 3);