ID : 2675
TrackMotionRange
機能
トラッキング範囲内にトラッキング対象ワークがいた際における作業動作の目標位置の軌道上に、ロボットの可動範囲内に入る点があるかどうかをチェックします。
このコマンドはVer.2.11.*から有効です。
構文
TrackMotionRange (コンベア番号, 目標位置 [, ツール座標 [, ワーク座標] ])
指定項目
- コンベア番号
-
目標位置のチェックを行うワークが存在するコンベア番号を指定します。整数型データで指定します。
- 目標位置
-
TrackMoveコマンドで指定する目標位置を指定します。ポジション型、同次変換型またはジョイント型データを指定します。
- ツール座標
-
ツール座標の各要素(X,Y,Z,Rx,Ry,Rz)を、ポジション型データで指定するか、ツール座標系番号を-1~63の整数型データで指定します。ポジション型データで指定する場合はFigは無視されます。"-1"は現在のツール番号をあらわし、0~63はツール座標系番号です。省略可能です。省略時は"-1"(現在のツール番号)です。
- ワーク座標
-
ワーク座標の各要素(X,Y,Z,Rx,Ry,Rz)を、ポジション型データで指定するか、ワーク座標系番号を-1~7の整数型データで指定します。ポジション型データで指定する場合はFigは無視されます。"-1"は現在のワーク番号をあらわし、0~7はワーク座標系番号です。省略可能です。省略時は"-1"(現在のワーク番号)です。
戻り値
トラッキング範囲内にトラッキング対象ワークがいた際における作業動作の目標位置の中に、ロボットの可動範囲内に入る点があるかどうかを、整数型データで返します。
| 戻り値 | 内容 |
|---|---|
| 0 | ロボットの可動範囲内に入る点がない |
| 0以外 | 可動範囲内に入る点がある |
解説
トラッキング動作を開始する際に、作業動作の目標位置がロボットの可動範囲外の場合、エラーが発生します。TrackCurMotionRangeコマンドを使用することで、作業動作の目標位置がロボットの可動範囲内に入っているかをチェックすることができます。しかし、下図のように一度もロボットの可動範囲内に目標位置が入らない場合もあります。

TrackMotionRangeコマンドは、トラッキング範囲内にトラッキング対象ワークがいた際における作業動作の目標位置の軌道上に、ロボットの可動範囲内に入る点があるかどうかをチェックします。
実際には、チェックするトラッキング対象ワークの軌道上に、トラッキング範囲の上流限界と下流限界を端点として等間隔に経路点の位置を計算します。その内の1個でもロボットの可動範囲内に入っていれば、戻り値 "0以外" を返します。
経路点の個数は、ユーザパラメータ「278 : ワーク通過位置ソフトリミットチェック 経路点数」で設定します。
例 : 経路点の個数を4個に設定した場合
緑色のトラッキング対象ワークは、軌道上の経路点が1個もロボットの可動範囲内に入っていないので、戻り値 "0" を返します。
青色のトラッキング対象ワークは、軌道上の経路点が1個以上ロボットの可動範囲内に入っているので、戻り値 "0以外" を返します。

注意事項
コンベアおよび円形トラッキング専用のコマンドです。
用例
' トラッキング対象ワークを設定
P10 = TrackTargetPos(1)
' 対象ワークに対するトラッキング動作が行えるかをチェック
If TrackMotionRange(1, P10) <> 0 Then ' 対象ワークに対するトラッキング動作を実行できる場合
' 作業動作の目標位置がロボットの可動範囲内になるまで待機
Wait TrackCurMotionRange(1, P10)
TrackStart 1
TrackMove P, P10
TrackStop
Else ' 対象ワークに対するトラッキング動作が実行できない場合
TrackTargetRelease 1, true ' 対象ワークをバッファから削除する
Endif
ID : 2675

