PmcmSetEncoder¶
機能¶
エンコーダカウンタ値の設定をします。
書式¶
INT PmcmSetEncoder(
WORD wID,
WORD wAxis,
PLONG plData
);
パラメータ¶
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 |
plData¶
カウンタ値が格納されているバッファへのポインタを指定します。
設定範囲は-134217728 ~ +134217727
バッファは2軸分用意してください
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | PLONG | long* | int | Integer | Long | int32_t* |
戻り値¶
関数が正常に終了した場合は0(PMCM_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は0以外が返りますので、その場合はエラーコードを参照してください。
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | INT | int | int | Integer | Long | int32_t |
備考¶
複数軸同時に設定しない場合でも、カウンタ値バッファは2軸分用意し、配列の先頭アドレスを関数へ設定するようにしてください。
long lData[2]; ←2軸分用意
lData[0] ←X軸のカウンタ値
lData[1] ←Y軸のカウンタ値
使用例¶
IDが0のボードの、X軸のエンコーダカウンタ値を1000、Y軸のエンコーダカウンタ値を-1000に設定します。
C/C++¶
int nResult;
WORD wAxis;
long lData[2];
wAxis = PMCM_AXIS_X + PMCM_AXIS_Y;
lData[0] = 1000;
lData[1] = -1000;
nResult = PmcmSetEncoder(0, wAxis, lData);
C++/CLI¶
int result;
unsigned short axis;
long data[2];
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
data[0] = 1000;
data[1] = -1000;
result = PmcmSetEncoder(0, axis, data);
C#¶
int result;
ushort axis;
int[] data = new int[2];
axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;
data[0] = 1000;
data[1] = -1000;
result = Pmcm.SetEncoder(0, axis, data);
VB(.NET2002以降)¶
Dim result As Integer
Dim axis As Short
Dim data(1) As Integer
axis = PMCM_AXIS_X + PMCM_AXIS_Y
data(0) = 1000
data(1) = -1000
result = PmcmSetEncoder(0, axis, data)
VB6.0/VBA¶
Dim lngResult As Long
Dim intAxis As Integer
Dim lngData(1) As Long
intAxis = PMCM_AXIS_X + PMCM_AXIS_Y
lngData(0) = 1000
lngData(1) = -1000
lngResult = PmcmSetEncoder(0, intAxis, lngData(0))
GCC¶
int32_t result;
uint16_t axis;
int32_t data[2];
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
data[0] = 1000;
data[1] = -1000;
result = PmcmSetEncoder(0, axis, data);