PmcmSetEventMask¶
機能¶
イベントマスクの設定をします。
書式¶
INT PmcmSetEventMask(
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_EVENT_STOP | 停止イベント |
PMCM_EVENT_STATE | 状態イベント |
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
wConfig¶
設定値を指定します。
設定する項目(wMode)によって値が異なります。
-
wMode : PMCM_EVENT_STOP
bit 15 14 13 12 11 10 9 8 信号 - - - - - - - - bit 7 6 5 4 3 2 1 0 信号 - - SD EMG ALM -EL +EL STOP bit5 : SD入力ONによる減速停止時
bit4 : EMG入力ONによる停止時
bit3 : ALM入力ONによる停止時
bit2 : -EL入力ONによる停止時
bit1 : +EL入力ONによる停止時
bit0 : 自動停止時各ビットの設定値 内容 0 イベント発生マスク 1 イベント発生許可 初期値 : H'0
-
wMode : PMCM_EVENT_STATE
bit 15 14 13 12 11 10 9 8 信号 - - - - - - - SD bit 7 6 5 4 3 2 1 0 信号 ORG LTC CMP2 CMP1 DEC FIN DEC STA ACC FIN ACC STA bit8 : SD入力ON時
bit7 : ORG入力ONによるカウント値のラッチ時
bit6 : LTC入力によるカウント値のラッチ時
bit5 : コンパレータ(エンコーダ)条件成立時
bit4 : コンパレータ(出力パルス)条件成立時
bit3 : 減速終了時
bit2 : 減速開始時
bit1 : 加速終了時
bit0 : 加速開始時各ビットの設定値 内容 0 イベント発生マスク 1 イベント発生許可 初期値 : H'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軸の停止イベントを全てマスクに設定します。
C/C++¶
int nResult;
WORD wAxis;
wAxis = PMCM_AXIS_X + PMCM_AXIS_Y;
nResult = PmcmSetEventMask(0, wAxis, PMCM_EVENT_STOP, 0);
C++/CLI¶
int result;
unsigned short axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetEventMask(0, axis, PMCM_EVENT_STOP, 0);
C#¶
int result;
ushort axis;
axis = Pmcm.PMCM_AXIS_X + Pmcm.PMCM_AXIS_Y;
result = Pmcm.SetEventMask(0, axis, Pmcm.PMCM_EVENT_STOP, 0);
VB(.NET2002以降)¶
Dim result As Integer
Dim axis As Short
axis = PMCM_AXIS_X + PMCM_AXIS_Y
result = PmcmSetEventMask(0, axis, PMCM_EVENT_STOP, 0)
VB6.0/VBA¶
Dim lngResult As Long
Dim intAxis As Integer
intAxis = PMCM_AXIS_X + PMCM_AXIS_Y
lngResult = PmcmSetEventMask(0, intAxis, PMCM_EVENT_STOP, 0)
GCC¶
int32_t result;
uint16_t axis;
axis = PMCM_AXIS_X + PMCM_AXIS_Y;
result = PmcmSetEventMask(0, axis, PMCM_EVENT_STOP, 0);