波形は、+50mmへ移動開始して、指令位置が25mm(移動量の50%)に達したら25%に速度オーバライド。
今回は、タイマーを使用しないで、「現在指令位置で、減速開始」させる。
少し賢い!
帰りの+0mm移動は、100%の速度。
ここで新しい関数が登場する。RobSetMoveProgressDo関数!
移動の進捗度(Progress)に応じて、Dout(ディジタル信号の出力)を行うよう設定する関数である。
ソースプログラムの21行目、移動指令現在位置50%でPort番号2113を「1」にするよう設定している。
ソースプログラムの23行目、移動指令現在位置100%でPort番号2113を「0」にするよう設定している。
このように設定したあと、RobPtpMove命令を発行すると、その指令位置の変化に応じて、Port番号2113の状態が変化する。上記の波形の中の下段の波形がその波形になっている。
例によって、RobPtpMove命令を「非」同期命令として発行したあと、Port2113が「1」になるのを監視していて、「1」になったら、33行目で、移動速度オーバライド 25%の命令を実行している。
波形のソースプログラム(MOS言語)