機能
モータ動作の速度変更、停止位置変更の設定を行います。
書式
Ret = SmcWSetMotionChangeReady( Id , AxisNo , ChangeType )
引数
Id [ C, C++: short ] [ Python: ctypes.c_short ]
SmcWInit 関数で取得したデバイスIDを指定します。
AxisNo [ C, C++: short ] [ Python: ctypes.c_short ]
軸番号を指定します。
ChangeType [ C, C++: short ] [ Python: ctypes.c_short ]
モータ動作変更タイプを設定します。
0 |
瞬時に開始速度(FL速度)へ変更 |
1 |
瞬時に目標速度(FH速度)へ変更 |
2 |
減速して開始速度(FL速度)へ変更 |
3 |
加速して目標速度(FH速度)へ変更 |
4 |
動作速度と加減速時間を変更 |
5 |
モータ停止位置変更 (目標位置オーバーライド1) |
6 |
PCS信号によるモータ停止位置変更設定 (目標位置オーバーライド2) |
7 |
加減速レートを変更せずに動作速度のみ変更 |
戻り値
Ret [ C, C++: long ] [ Python: ctypes.c_long ]
0 |
正常終了 |
0以外 |
異常終了 |
参照:エラーコード詳細
初期値
0 : 瞬時に開始速度(FL速度)へ変更
説明
モータ停止中は実行できません。
軸が最終減速を行っている場合の速度変更はできません。
この関数実行後、SmcWMotionChange関数を実行するまでは基本動作パラメータの設定関数(SmcWSetTargetSpeed等)を実行しないでください。正常に動作しなくなる恐れがあります。
ChangeType = 0-4, 7 設定時:
PTP動作中に本設定にて動作変更を行うと、多くの場合、最終減速を正常に行うことができません。
これは、PTP動作は設定パルス数出力を最優先としている為です。
従って、PTP動作中に本設定にて動作変更を行う場合、上記に留意する必要があります。
ChangeType = 6 設定時:
SmcWMotionChange関数実行により、PCS入力代行コマンド(PCS入力信号ONと同等処理を行います)を発行します。
またSmcWSetCtrlTypeIn関数の
CtrlIn のビット5(PCS)をONする必要があります。
外部PCS入力による停止位置変更を行う場合は本関数とSmcWMotionChange関数を実行する必要はありません。
SmcWSetCtrlTypeIn関数の CtrlIn のビット5(PCS)をONした場合、PCS信号入力待ち状態となるため、PCS信号が入力されるまで (もしくは、PCS入力代行コマンド発行まで) 無条件でJOG動作となります。PCS信号が入力されたタイミングから指定パルス位置まで動作します。
ChangeType = 7 設定時:
設定した開始速度と目標速度、加減速時間から加減速レート(傾き)が算出され、モーションスタートします。
SmcWMotionChange関数実行により、このレートのまま速度のみ変更を行います。レートの変更はできません。
なお、SmcWMotionStop関数による減速停止時には、設定した減速時間にて減速停止しますが、PTP動作の場合、前述制限により設定した減速時間にて減速停止できない場合があります。
使用例
軸番号1の動作変更タイプを、「瞬時に開始速度へ変更」 に設定します。
C, C++
long Ret;
Ret = SmcWSetMotionChangeReady( Id , 1, 0 );
Python
Ret = ctypes.c_long()
Ret.value = csmc.SmcWSetMotionChangeReady( Id , 1, 0 )
関連項目