PmcmGetStatus¶
機能¶
各ステータスを取得します。
書式¶
INT PmcmGetStatus(
WORD wID,
WORD wAxis,
WORD wMode,
PWORD pwStatus
);
パラメータ¶
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_BUSY | 動作状態 |
PMCM_SIG_STATUS | 制御信号入力/出力状態 |
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | WORD | unsigned short | ushort | Short | Integer | uint16_t |
pwStatus¶
設定値を格納するバッファへのポインタを指定します。
取得する項目(wMode)によって値が異なります。
-
wMode : PMCM_BUSY
値 内容 0 停止中 1 内部同期信号待ち 2 他軸の停止待ち 3 ERCタイマー完了待ち 4 方向変化タイマー完了待ち 5 起動速度で動作中 6 移動速度で動作中 7 加速中 8 減速中 9 INP信号入力待ち状態 10 その他(状態遷移中です。再取得してください)
-
wMode : PMCM_SIG_STATUS
bit 15 14 13 12 11 10 9 8 信号 ERC - - - - - EMG Z bit 7 6 5 4 3 2 1 0 信号 PCS LTC INP ALM ORG SD -EL +EL 各ビットの値 内容 0 OFF 1 ON PCSはX軸のみ
言語 | C/C++ | C++/CLI | C# | VB(.NET2002以降) | VB6.0/VBA | GCC |
---|---|---|---|---|---|---|
型 | PWORD | unsigned short* | out 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軸の制御信号入力/出力状態を取得します。
C/C++¶
int nResult;
WORD wAxis;
WORD wStatus;
wAxis = PMCM_AXIS_X;
nResult = PmcmGetStatus(0, wAxis, PMCM_SIG_STATUS, &wStatus);
C++/CLI¶
int result;
unsigned short axis;
unsigned short status;
axis = PMCM_AXIS_X;
result = PmcmGetStatus(0, axis, PMCM_SIG_STATUS, &status);
C#¶
int result;
ushort axis;
ushort status;
axis = Pmcm.PMCM_AXIS_X;
result = Pmcm.GetStatus(0, axis, Pmcm.PMCM_SIG_STATUS, out status);
VB(.NET2002以降)¶
Dim result As Integer
Dim axis As Short
Dim status As Short
axis = PMCM_AXIS_X
result = PmcmGetStatus(0, axis, PMCM_SIG_STATUS, status)
VB6.0/VBA¶
Dim lngResult As Long
Dim intAxis As Integer
Dim intStatus As Integer
intAxis = PMCM_AXIS_X
lngResult = PmcmGetStatus(0, intAxis, PMCM_SIG_STATUS, intStatus)
GCC¶
int32_t result;
uint16_t axis;
uint16_t status;
axis = PMCM_AXIS_X;
result = PmcmGetStatus(0, axis, PMCM_SIG_STATUS, &status);