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

YduPmcsGetPosition

Note

本関数は、シリアルNo.299999以下のユニットでは使用できません。
また、Ver.3.01以下のドライバでは使用できません。

機能

現在位置を取得します。

書式

INT YduPmcsGetPosition(
    WORD unitId,
    WORD axis,
    INT* position
);

パラメータ

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

position

現在位置を格納するバッファへのポインタを指定します。

値の範囲は、-8,388,608~+8,388,607です。
-8,388,608からの-方向への移動で+8,388,607になり、+8,388,607からの+方向への移動で-8,388,608になります。

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

戻り値

関数が正常に終了した場合は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.GetPosition(0, YduPmcs.PMC_AXIS_X0, out var position);

VB(.NET2002以降)

Dim position As Integer
Dim result As Integer = YduPmcsGetPosition(0, PMC_AXIS_X0, position)

VB6.0/VBA

Dim result As Long
Dim position As Long
result = YduPmcsGetPosition(0, PMC_AXIS_X0, position)

C++/CLI

int position;
int result = YduPmcsGetPosition(0, PMC_AXIS_X0, &position);

C/C++

INT position;
INT result = YduPmcsGetPosition(0, PMC_AXIS_X0, &position);