移動の途中で速度オーバーライド(指定指令位置から)

3 波形は、+50mmへ移動開始して、指令位置が25mm(移動量の50%)に達したら25%に速度オーバライド。

今回は、タイマーを使用しないで、「現在指令位置で、減速開始」させる。

少し賢い!

帰りの+0mm移動は、100%の速度。

ここで新しい関数が登場する。RobSetMoveProgressDo関数!

移動の進捗度(Progress)に応じて、Dout(ディジタル信号の出力)を行うよう設定する関数である。

3_2 ソースプログラムの21行目、移動指令現在位置50%でPort番号2113を「1」にするよう設定している。

ソースプログラムの23行目、移動指令現在位置100%でPort番号2113を「0」にするよう設定している。

このように設定したあと、RobPtpMove命令を発行すると、その指令位置の変化に応じて、Port番号2113の状態が変化する。上記の波形の中の下段の波形がその波形になっている。

例によって、RobPtpMove命令を「非」同期命令として発行したあと、Port2113が「1」になるのを監視していて、「1」になったら、33行目で、移動速度オーバライド 25%の命令を実行している。

波形のソースプログラム(MOS言語)