F_CheckPos 関数

解説
指定位置がフォース動作制限オブジェクトで設定したトリガー条件を達成しているか、いないかを返します。

用法
F_CheckPos(Object [, Point1[, Point2]])

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

  • Point1
    基準位置を示すポイントデータ、ポイント指定省略可能です。

  • Point2
    基準位置を示すポイントデータ、ポイント指定省略可能です。

戻り値

番号 定数 内容
0 False トリガー条件を達成していない
-1 True トリガー条件を達成している

指定位置がフォース動作制限オブジェクトで設定したトリガー条件を達成しているか、いないかを返します。

詳細説明
指定位置がフォース動作制限オブジェクトで設定したトリガー条件を達成しているか、いないかを返します。本関数を使用する場合はHoldTimeThreshを“0”としてトリガー条件を達成しているか、いないかが判定されます。
本関数はTriggerModeプロパティーで指定した監視対象により、用法が異なります。
TriggerModeでFG_REL_COORD_SYS, FG_REL_TOOL, FG_REL_JOINTを指定した場合
Point1を基準とした、Point2の相対位置姿勢または相対関節角度についてのフォース動作制限の達成状態を評価します。基準となるPoint1は省略できません。省略した場合はエラーとなります。評価する対象位置となるPoint2を省略した場合は、Point1を基準とした、現在位置(CurPos)の相対位置姿勢または相対関節角度についてのフォース動作制限の達成状態を評価します。

TriggerModeでFG_ABS_COORD_SYS, FG_REL_POINT, FG_ABS_JOINTを指定した場合
フォース動作制限オブジェクトで設定した座標系に対する、Point1の位置姿勢または関節角度についてのフォース動作制限の達成状態を評価します。Point2は指定できません。指定した場合はエラーとなります。評価する対象となるPoint1は省略可能です。Point1を省略した場合は、フォース動作制限機能で設定した座標系に対する、現在位置(CurPos)の位置姿勢または関節角度についてのフォース動作制限の達成条件を評価します。

TriggerModeでFG_FRC_CORRECTIONを指定した場合
力制御機能による補正量について、フォース動作制限の達成状態を評価します。Point1, Point2は不要です。指定した場合はエラーとなります。

使用例
ベース座標系におけるロボットの現在位置(CurPos)のZ座標が、指定範囲(-10~10)に入っているかどうかを表示する例です。入っている場合は、True(-1)が表示されます。

Function F_CheckPosTest
  Print F_CheckPos(FMR1)
Fend

Function F_CheckPosTest
  FSet FMR1.TriggerMode, FG_ABS_COORD_SYS
    ' 指定座標系における位置姿勢を評価するように設定する
  FSet FMR1.PosEnabled, False, False, True, False, False
    ' Z方向のみ有効に設定する
  FSet FMR1.PosZ_Levels, -10, 10
    ' Zの上下限閾値を-10~10mmに設定する
  FSet FMR1.PosZ_Polarity, FG_IN
    ' 上下限閾値の範囲内に入っている場合を達成条件として設定する
  FSet FMR1.RobotTool, FG_CURRENT_TOOL
    ' 現在選択しているツールを基準として設定する
  FSet FMR1.RobotLocal, 0
    ' ベース座標系を基準として設定する

  Print F_CheckPos(FMR1)
Fend

参照
TriggerMode, フォース動作制限オブジェクトFMR#