コンテンツにスキップ
関数 > モーター制御関数 >

YduPmcsGetStatus

機能

各ステータスを取得します。

書式

INT YduPmcsGetStatus(
    WORD unitId,
    WORD axis,
    WORD mode,
    WORD* status
);

パラメータ

unitId

ユニットのID番号を指定します。

言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

axis

ステータスを読み込む軸を指定します。
複数の軸を指定することはできません。

定義
PMC_AXIS_X0 0x01 X0軸
PMC_AXIS_Y0 0x02 Y0軸
PMC_AXIS_Z0 0x04 Z0軸
PMC_AXIS_U0 0x08 U0軸
PMC_AXIS_X1 0x10 X1軸
PMC_AXIS_Y1 0x20 Y1軸
PMC_AXIS_Z1 0x40 Z1軸
PMC_AXIS_U1 0x80 U1軸
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

mode

取得する項目を指定します。

取得する項目
PMC_BUSY 動作状態
PMC_SENSOR_STATE センサ入力状態
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
ushort Short Integer unsigned short WORD

status

ステータスを格納するバッファへのポインタを指定します。
取得する項目(mode)によって値が異なります。

  • wMode : PMC_BUSY

    内容
    0 モーター停止中
    1 モーター動作中

  • wMode : PMC_SENSOR_STATE

    bit 7 6 5 4 3 2 1 0
    信号 - STP STA ORG +SD -SD +EL -EL
    各ビットの値 内容
    0 入力無し
    1 入力有り
言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
out ushort Short Integer unsigned short* WORD*

戻り値

関数が正常に終了した場合は0(YDU_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は0以外が返りますので、その場合はエラーコードを参照してください。

言語 C# VB(.NET2002以降) VB6.0/VBA C++/CLI C/C++
int Integer Long int INT

使用例

ユニットIDが0のユニットから、X0軸の動作状態を取得します。

C#

var result = YduPmcs.GetStatus(0, YduPmcs.PMC_AXIS_X0, YduPmcs.PMC_BUSY, out var status);

VB(.NET2002以降)

Dim status As Short
Dim result As Integer = YduPmcsGetStatus(0, PMC_AXIS_X0, PMC_BUSY, status)

VB6.0/VBA

Dim result As Long
Dim status As Integer
result = YduPmcsGetStatus(0, PMC_AXIS_X0, PMC_BUSY, status)

C++/CLI

unsigned short status;
int result = YduPmcsGetStatus(0, PMC_AXIS_X0, PMC_BUSY, &status);

C/C++

WORD status;
INT result = YduPmcsGetStatus(0, PMC_AXIS_X0, PMC_BUSY, &status);