MPC2000 Reference Manual [JAPANESE] [ENGLISH]
【コマンド】   【パルス発生】
【使い方】
RMVT

RMVT   X_A|Z_A 20000 0
RMVT X_A|Z_A 0 20000 CCW 0 10000
【書   式】 【機   能】
RMVT axs arg1 arg2 [CCW|CW|0 cent1 cent2 ]

連続補間移動
【解   説】
相対座標による連続補間コマンドです。第3パラメータにCCWかCWを与えると円弧補間となります。
この場合は、円弧中心を指定するパラメータが必要となります。
いずれの座標値もコマンドが実行される場所からの相対座標となります。
第3パラメータが無いか、0とすれば、直線補間となります。
例では、X,Yの円弧補間を実施します。

加速・減速
EN_DACK,DS_DACLは、減速の有効・無効です。
連続補間では経路途中での減速を禁止しておかないと点の変わり目ごとに減速が発生します
このために冒頭でDS_DACLコマンドが必要になります
また補間の終端では減速停止が必要となるため、最後の動作前にEN_DACLが必要となります
減速には速度によって変動する減速距離が必要です。
このため、減速を伴う最終移動は調整が必要です。

MPG-2314 速度制御
MPG-2314では移動指定がプリフェッチされるのに対して、速度指定は実行時点で有効になります
以下のような順序で実行すると、移動1が実行されたあと移動2がプリフェッチされ移動3指定は読み込み待ちになります
読み込み待ち前に、速度2指定が実行されると結果的に移動2の速度が速度2となります

移動1-> RMVT X|Y 1000 100
速度1-> SPEED 100
移動2-> RMVT X|Y 1000 100
速度2-> SPEED 1000
移動3-> RMVT X|Y 1000 100
速度3-> SPEED 1000

MPG-3514 速度制御
MPG-3514では、速度、移動ともプリフェッチバッファによって処理されます
このため以下のように速度設定をしてから移動設定をすると移動と速度が対応します

速度1-> SPEED 100
移動1-> RMVT X|Y 1000 100
速度2-> SPEED 1000
移動2-> RMVT X|Y 1000 100

*技術情報 MPG-2314,MPG-3514 MOVT 2軸直線連続補間中の速度変更 を参照ください


連続性の確保 MVTn

連続移動RMVTでは事前の移動が完了する前に実行される必要があります

速度1-> SPEED 1000
移動1-> RMVT X|Y 100 100
速度2-> SPEED 2000
移動2-> RMVT X|Y 10 10
速度3-> SPEED 2000
移動3-> RMVT X|Y 5 5

この例では、移動1では、0.1秒パルス発生されます
この場合、移動2は移動1実行後、0.1秒以内に実行される必要があります
対して、移動2実行後5m秒以内に移動3が実行されなければなりません
MPCがMPGをシングルタスクで実行していれば、この5m秒は容易に確保することができますが
マルチタスクとなっていて他タスクの負担が大きな場合、実行される命令の間隔は、10msec〜200msecと幅が生じます
こうした場合、RMVTの連続を確保するには、同時に実行されるタスクを減らしたり、一時的に他タスクPAUSEする必要があります
また、一つのRMVTのパルス発生時間を0.1秒以上としても問題を回避することができます

この連続補間の連続性が保たれているかどうかは、MVTnという予約変数で監視することができます
連続補間実行前にMVTn=0とし、実行後にMVTnの数を調べると、何回コマンドの切断が発生したか知ることができます



図はRMVT X_A|Y_A 0 20000 CCW 0 10000の実行イメージです。

Helical補間(MPC-20002019/8/5版,MPC-3000とも2019/8/6版以後の対応)

MPG-3514ではヘリカル補間も可能です
ただし、ヘリカル補間では、円弧補間軸がXY、直線移動がZ,Uに限られます
図2はRMVT RMVT X_A|Y_A|Z_A 0 20000 CCW 0 10000 2 1000の実行イメージです。
ヘリカル補間では、RMVTの円弧コマンドに円弧周回数と一周回あたりのZ移動(U移動)を指定します
終点座標は所定周回後に使用されます

X_A|Y_A|Z_A 0 20000 CCW 0 10000 2 -5000

この場合は、周回が二回と停止点までの半円移動です。
一周回あたりのZ移動が-5000のため、二回転半で-12500のZ移動です。
このため、到達点は、現在点に対して、+0,+20000,+0,-12500です。

ヘリカル補間でもDS_DACLを実行するか、ACCELコマンドで最高速度と最低速度を同じにしないと
パルス発生中に最低速度に減速してしまいます
通常の加減速で使用したい場合は、以下のようにZ軸位地検出してSTOP STP_Dによって減速停止します
Z軸位地の割り出しは、周回角速度に対して、Zの値を求めておこないますので場合ごとに適切に決めます

DS_DACL
RMVT X_A|Y_A|Z_A 0 0 CCW 0 10000 2 -5000
WAIT Z(0)<-9850 : STOP STP_D

線速一定機能
RMVTで線速を一定にさせるためには
加速度設定時の軸指定でD45を付加します
D45サンプルのようなプログラムを実行すると直径20000の円を描きますが
その経路長さは20000*3.14となります
パルスレートは20000であるために 所要時間=20000*3.14/20000 となります
実計測でも3.141秒となり距離に対して一定速度が維持されていることが検証されます(MPG-3514で計測)


oval2.GIF

helical.jpg



PG   0
ACCEL 8000
CLRPOS
DS_DACL
RMVT X_A|Y_A 20000 0
RMVT X_A|Y_A 0 20000 CCW 0 10000
RMVT X_A|Y_A 0 -20000 CCW 0 -10000
RMVT X_A|Y_A 10000 0
EN_DACL

D45サンプル
10 PG 1
20 ACCEL D45|ALL_A 20000 10 20000
30 SYSCLK=0
40 RMVT X_A|Y_A 10000 10000 CCW 0 10000
50 RMVT X_A|Y_A -10000 10000 CCW -10000 0
60 RMVT X_A|Y_A -10000 -10000 CCW 0 -10000
70 RMVT X_A|Y_A 10000 -10000 CCW 10000 0
80 WAIT RR(ALL_A)==0
90 PRINT SYSCLK
#run

# 3141
  [LASTMODIFY]2022-04-14 13:43:23 [CREATEDATE]2007-08-31 19:44:32
MPC2000 Reference Manual -R5.11-   (C)2007 ACCEL Corp. all right reserved.