SmcWSetReady


機能

基本動作の開始準備とモータ動作タイプ/動作開始方向を設定します。

書式

Ret = SmcWSetReady( Id , AxisNo , MotionType , StartDir )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
SmcWInit 関数で取得したデバイスIDを指定します。

AxisNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
軸番号を指定します。

MotionType [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
モータ動作タイプの設定を行います。

0

動作なし

1

PTP動作

2

JOG動作

3

原点復帰動作

6

Z相カウント動作

7

PTP動作 (三角駆動による目標速度補正時、加減速レートを変更せずに補正します)

StartDir [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
モータ動作の開始方向の設定を行います。

0

正方向 (CW)

1

負方向 (CCW)

PTP動作を行う場合は、このパラメータは無効になります。
(SmcWSetStopPosition関数のStopPositionパラメータにCW方向 : 正数値、CCW方向 : 負数値を設定して下さい)

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

0

正常終了

0以外

異常終了

参照:エラーコード詳細

説明

本関数実行により、動作設定を確定します。
SmcWSetReady関数を実行した後は、SmcWMotionStart関数を実行するまで、基本動作パラメータを設定する関数(SmcWSetTargetSpeed関数など)は実行しないでください。正常に動作しなくなる恐れがあります。

速度や加減速時間に対しての補正を確認する場合は、本関数実行後のタイミングで各種基本動作パラメータ取得関数(SmcWGetTargetSpeed関数など)を実行してください。
各種基本動作パラメータ取得関数は実行しても動作に影響ありません。

軸が動作中の場合、この関数は実行できません。

「6 Z相カウント動作」 を選択した場合:
・SMC-2/4/8DL シリーズ では選択できません。
・速度は SmcWSetStartSpeed関数にて設定した開始速度にて動作します。
 Z相カウント数は、SmcWSetZCountMotion関数のZMoveCountで設定したZ相カウント数まで動作します。
・Z相が検出できない場合は、Z相をカウントできないために動作し続け、自動停止しません。
 SmcWGetZCount関数にて、Z相がカウントされていることを確認してください。
・停止イベント等のイベント機能も使用可能です。

[注意]:
DLシリーズとDFシリーズでは、使用するパルスコントロールLSIが異なります。
従って、基本動作設定関数の各パラメータの該当LSIのレジスタ設定幅(設定可能ビット数)が一部異なります。
結果、本関数にてパラメータ補正が行われた場合、実際の設定値が、DLシリーズとDFシリーズでは異なる場合が発生します。
実際の設定値は、基本動作設定関数内の取得関数:SmcWGet~関数にてご確認ください。

使用例

軸番号1の基本動作のモータ動作タイプと動作開始方向を設定します。
JOG動作、正方向に設定します。

VB.NET
Dim Ret As Integer
Dim MotionType As Short
Dim StartDir As Short
MotionType = 2
StartDir = 0
Ret = SmcWSetReady( Id , 1, MotionType , StartDir )

C, C++
long Ret;
short MotionType ;
short StartDir ;
MotionType = 2;
StartDir = 0;
Ret = SmcWSetReady( Id , 1, MotionType , StartDir );

C#
int Ret;
short MotionType ;
short StartDir ;
MotionType = 2;
StartDir = 0;
Ret = Smc.WSetReady( Id , 1, MotionType , StartDir );

Python
Ret = ctypes.c_long()
MotionType = ctypes.c_short()
StartDir = ctypes.c_short()
MotionType.value = 2
StartDir.value = 0
Ret.value = csmc.SmcWSetReady( Id , 1, MotionType , StartDir )

関連項目

SmcWGetReady