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

PmcmChangeStep

機能

動作中に目標位置の変更をします。
位置決め動作中のみ実行可能です。

書式

INT PmcmChangeStep(
    WORD wID,
    WORD wAxis,
    PLONG plStep
);

パラメータ

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

plStep

目標位置を設定します。
設定範囲は-134217728 ~ +134217727です。

バッファは2軸分用意してください

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
PLONG 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軸分用意し、配列の先頭アドレスを関数へ設定するようにしてください。

long lStep[2]; 2軸分用意
lStep[0] X軸の目標位置
lStep[1] Y軸の目標位置

使用例

IDが0のボードの、Y軸の目標位置を5000に変更します。

C/C++

int nResult;
WORD wAxis;
long lStep[2];
lStep[0] = 0;
lStep[1] = 5000;
wAxis = PMCM_AXIS_Y;
nResult = PmcmChangeStep(0, wAxis, lStep);

C++/CLI

int result;
unsigned short axis;
long step[2];
step[0] = 0;
step[1] = 5000;
axis = PMCM_AXIS_Y;
result = PmcmChangeStep(0, axis, step);

C#

int result;
ushort axis;
int[] step = new int[2];
step[0] = 0;
step[1] = 5000;
axis = Pmcm.PMCM_AXIS_Y;
result = Pmcm.ChangeStep(0, axis, step);

VB(.NET2002以降)

Dim result As Integer
Dim axis As Short
Dim step(1) As Integer
axis = PMCM_AXIS_Y
step(0) = 0
step(1) = 5000
result = PmcmChangeStep(0, axis, step)

VB6.0/VBA

Dim lngResult As Long
Dim intAxis As Integer
Dim lngStep(1) As Long
intAxis = PMCM_AXIS_Y
lngStep(0) = 0
lngStep(1) = 5000
lngResult = PmcmChangeStep(0, intAxis, lngStep(0))

GCC

int32_t result;
uint16_t axis;
int32_t step[2];
step[0] = 0;
step[1] = 5000;
axis = PMCM_AXIS_Y;
result = PmcmChangeStep(0, axis, step);