<< 前へ        次へ >>

ID : 157

MotionSkip

機能

現在実行中の動作命令を中断します。

構文

MotionSkip [アームグループ[, 動作継続オプション]]

指定項目

アームグループ
アームグループ番号を整数型データで指定します。"0"を指定すると、アームグループ番号0番または、ロボット軸を含むアームグループが指定されます。"-1"を指定すると、そのタスクが現在制御権を取得しているアームグループが指定されます。省略可能です。省略時は"-1"です。
動作継続オプション
「現在動作を停止させる時の減速度」と「次に実行する動作命令の開始タイミング」を整数型データで指定します。指定する値は下表を参照してください。省略可能です。省略時は"0"です。
指定値 現在動作を停止させる時の減速度 次に実行する動作命令の開始タイミング
0 または省略時 減速度=100 エンド動作(@0)
1 減速度=100 パス動作(@P)
2 減速度=現在の設定値 エンド動作(@0)
3 減速度=現在の設定値 パス動作(@P)

「エンド動作(@0)」を指定した場合、現在実行中の動作命令は、「パス開始変位量」が「エンド動作@0」に変更されます。次の動作命令は、現在動作の停止を待って実行を開始します。

「パス動作(@P)」を指定した場合、現在実行中の動作命令は、「パス開始変位量」が「パス動作@P」に変更されます。次の動作命令は、現在動作の減速開始と同時に実行を開始します。

解説

指定したアームグループの動作命令を中断します。その動作を減速して停止します。

引数アームグループに"-1"を指定する(あるいは省略する)と、自タスクで現在動作している動作命令を中断します。

指定したアームグループが動作中でない場合は何もしません。

関連項目

MotionComplete

注意事項

ロボット排他制御機能有効時に、動作継続オプションで、次に実行する動作命令の開始タイミングにパス動作(@P)を指定した場合、エンド動作(@0)に変更され、次の動作命令は、現在動作の停止を待って実行を開始します。

用例

'!TITLE "動作命令の中断"
' 動作命令中にZ成分が400以上の時、動作を中断
Sub Sample_MotionSkip

  Dim aaa As Position

  TakeArm Keep = 1

  aaa = P( 500, 300, 500, 180, 0, 180, -1 )

  ' 現在位置からaaaに移動開始後、次の処理へ移動
  Move P, aaa, Next

  Do

    ' Zの現在位置が400以上の時
    If PosZ( CurPos ) > 400 Then

      ' 動作命令を中止
      MotionSkip 0

      ' メッセージ出力ウィンドウに現在位置を表示
      PrintDbg CurPos

      ' DO~LOOPから脱出
      Exit Do

    End If

  Loop

End Sub

ID : 157

<< 前へ        次へ >>