PmcmSetComparatorConfig¶
機能¶
コンパレータの設定をします。
書式¶
INT PmcmSetComparatorConfig(
WORD wID,
WORD wAxis,
WORD wMode,
PCOMPPMCM pComp
);
typedef struct {
WORD wConfig;
LONG lCount;
} COMPPMCM, *PCOMPPMCM;
パラメータ¶
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_COMP_COUNTER | 出力パルスコンパレータの比較条件 |
PMCM_COMP_ENCODER | エンコーダコンパレータの比較条件 |
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
pComp¶
設定パラメータが格納されているバッファへのポインタを指定します。
バッファは2軸分用意してください
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | PCOMPPMCM | COMPPMCM* | COMPPMCM | COMPPMCM | COMPPMCM | PCOMPPMCM |
wConfig¶
コンパレータ機能設定
設定する項目(wMode)によって値が異なります。
-
wMode : PMCM_COMP_COUNTER
設定値 内容 0 コンパレータ機能OFF 1 設定値 = 出力パルスカウンタ 2 設定値 > 出力パルスカウンタ 3 設定値 < 出力パルスカウンタ 初期値 : 0
-
wMode : PMCM_COMP_ENCODER
設定値 内容 0 コンパレータ機能OFF 1 設定値 = エンコーダカウンタ 2 設定値 > エンコーダカウンタ 3 設定値 < エンコーダカウンタ 初期値 : 0
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
lCount¶
コンパレータの設定値
設定範囲は-134217728 ~ +134217727
初期値 : 0
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | LONG | 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軸分用意し、配列の先頭アドレスを関数へ設定するようにしてください。
COMPPMCM Comp[2]; ←2軸分用意
Comp[0] ←X軸の設定パラメータ
Comp[1] ←Y軸の設定パラメータ
使用例¶
IDが0のボードの、X軸の出力パルスコンパレータをOFFに設定します。
C/C++¶
int nResult;
WORD wAxis;
COMPPMCM Comp[2];
wAxis = PMCM_AXIS_X;
Comp[0].wConfig = 0;
Comp[0].lCount = 0;
nResult = PmcmSetComparatorConfig(0, wAxis, PMCM_COMP_COUNTER, Comp);
C++/CLI¶
int result;
unsigned short axis;
COMPPMCM comp[2];
axis = PMCM_AXIS_X;
comp[0].wConfig = 0;
comp[0].lCount = 0;
result = PmcmSetComparatorConfig(0, axis, PMCM_COMP_COUNTER, comp);
C#¶
int result;
ushort axis;
Pmcm.COMPPMCM[] comp = new Pmcm.COMPPMCM[2];
axis = Pmcm.PMCM_AXIS_X;
comp[0].wConfig = 0;
comp[0].lCount = 0;
result = Pmcm.SetComparatorConfig(0, axis, Pmcm.PMCM_COMP_COUNTER, comp);
VB(.NET2002以降)¶
Dim result As Integer
Dim axis As Short
Dim comp(1) As COMPPMCM
axis = PMCM_AXIS_X
comp(0).wConfig = 0
comp(0).lCount = 0
result = PmcmSetComparatorConfig(0, axis, PMCM_COMP_COUNTER, comp)
VB6.0/VBA¶
Dim lngResult As Long
Dim intAxis As Integer
Dim Comp(1) As COMPPMCM
intAxis = PMCM_AXIS_X
Comp(0).wConfig = 0
Comp(0).lCount = 0
lngResult = PmcmSetComparatorConfig(0, intAxis, PMCM_COMP_COUNTER, Comp(0))
GCC¶
int32_t result;
uint16_t axis;
COMPPMCM comp[2];
axis = PMCM_AXIS_X;
comp[0].wConfig = 0;
comp[0].lCount = 0;
result = PmcmSetComparatorConfig(0, axis, PMCM_COMP_COUNTER, comp);