MotionLimited ステータス

適用
フォースコントロールオブジェクトFC#

解説
直前の力制御機能の実行中に次の速度または加速度のうち、どの速度または加速度により制限されたかを返します。

最大ジョイント速度 最大ツール位置変化速度 最大ツール姿勢変化速度
最大ジョイント加速度 最大ツール位置変化加速度 最大ツール姿勢変化加速度

用法
FGet Object.MotionLimited, iVar

  • Object
    オブジェクト名
    オブジェクトは、FC(数値), FC(ラベル)のどちらかとして指定します。

  • iVar
    プロパティーの値を示すInt32型、またはInt64型変数

Bit 結果
0 最大ツール位置変化速度
1 最大ツール位置変化加速度
2 最大ツール姿勢変化速度
3 最大ツール姿勢変化加速度
4 J1最大ジョイント速度
5 J1最大ジョイント加速度
6 J2最大ジョイント速度
7 J2最大ジョイント加速度
8 J3最大ジョイント速度
9 J3最大ジョイント加速度
10 J4最大ジョイント速度
11 J4最大ジョイント加速度
12 J5最大ジョイント速度
13 J5最大ジョイント加速度
14 J6最大ジョイント速度
15 J6最大ジョイント加速度

各Bitの値
0: 制限なし
1: 制限あり

詳細説明
直前の力制御機能の実行中に次の速度または加速度のうち、どの速度または加速度により制限されたかを返します。

最大ジョイント速度 最大ツール位置変化速度 最大ツール姿勢変化速度
最大ジョイント加速度 最大ツール位置変化加速度 最大ツール姿勢変化加速度

力制御機能の実行中に1度でも制限されたものは“1”になります。
制限されたかどうかによって、処理を分岐させる場合に使用します。
MotionLimitedステータスは、0~65535(16進数FFFF)までの値を返します。そのためInteger型で扱える範囲を超える場合があります。Int32型、またはInt64型変数を使用してください。

使用例
Move動作中に制限されたかどうかによって、分岐処理を行う例です。

Function motionLimitedTest
  Int64 Result
  FSet FCS1.Orientation, FG_TOOL   ' フォース座標データの設定

  FSet FC1.CoordinateSystem, FCS1  ' フォース座標データを指定
  FSet FC1.Fx_Spring, 0            ' Fxの仮想弾性係数を設定
  FSet FC1.Fx_Damper, 1            ' Fxの仮想粘性係数を設定
  FSet FC1.Fx_Mass, 10             ' Fxの仮想慣性係数を設定
  FSet FC1.Fx_Enabled, True        ' Fxの力制御を有効に設定
  FSet FC1.LimitAccelS, 5          ' ジョイントの最大加速度を5[mm/sec^2]に設定
  AccelS 2                         ' CP動作の加速度を2[mm/sec^2]に設定

  Move P0 FC1                      ' 力制御機能を有効にしたMove動作
  FGet FC1.MotionLimited, Result   ' 制限結果を取得

  If Result <> 0 Then              ' 動作が制限されているとき
    -
    -
    -
  EndIf
  -
  -
  -
Fend

参照
フォースコントロールオブジェクトFC#, LimitSpeedSRJプロパティー, LimitAccelSRJプロパティー