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#