AreaCorrection関数
補正エリアを用いて補正をしたポイントを返す関数
書式
AreaCorrection(ポイント指定, エリア番号)
パラメーター
- ポイント指定
- 補正の対象とするポイントデータを指定します。
- エリア番号
- エリア番号(1~8の整数)を式または数値で指定します。
解説
あらかじめ定義した補正エリアをもとに、補正をした結果のポイントを返します。補正前のポイントと同じローカル座標系で定義された座標です。この関数を動作命令(Go、またはJump命令など)とともに用いることにより、ロボットを指定位置に動かすことができます。本コマンドを使用することにより、指定ポイントの位置精度が向上します。ポイント指定では、図面上での位置を入力してください。
補正は位置に対してのみ適用されます。付加軸, UVW座標値, 姿勢フラグに関しては、補正が適用されません。入力されたポイントデータの値がそのまま出力されます。
設定されていない補正エリアを指定した場合は、エラーになります。
注意
ティーチング済みのポイント
ティーチング済みのポイントデータに対してAreaCorrection関数を適用しないでください。合わせこんだティーチング位置に対して補正されてしまい、位置がずれてしまいます。
補正エリアから遠い場合
AreaCorrectionSetで設定した補正エリアから遠い場合、補正の効果が減少します。補正エリアは動作点を取り囲むように基準点を設定してください。
補正の種類に平面を選択している場合、補正エリアに選択した平面から垂直方向に距離のあるポイントでは、補正の効果が減少します。適切な高さに補正エリアを設定するか、基準点を設けられる場合は、補正の種類に空間を指定してください。
補正エリアを設定した姿勢フラグと異なる場合
AreaCorrectionSetで設定した基準点と姿勢フラグが異なる場合、エラーが発生します。
補正エリアを設定した姿勢(U, V, W)と異なる場合
スカラロボット(RSシリーズを含む)の場合、補正できます。
垂直6軸型ロボット(Nシリーズを含む)では、補正前のポイントにおけるツール座標系Z軸と、補正エリアの基準点のポイントにおけるツール座標系Z軸が一致する場合、補正できます。一致しない場合は、補正対象外となり、エラーが発生します。ツール座標系Z軸の角度はDiffToolOrientation関数の軸番号にCOORD_Z_PLUSを指定すると取得できます。
参照
AreaCorrectionSet, AreaCorrectionClr, AreaCorrectionDef関数, AreaCorrectionInv関数, AreaCorrectionOffset関数, DiffToolOrientation関数
AreaCorrection使用例
Function sample
' P(1:4) 基準点
P1 = XY(-100, 200, -20, 0)
P2 = XY(100, 200, -20, 0)
P3 = XY(-100, 400, -20, 0)
P4 = XY(100, 400, -20, 0)
' P(11:14) 実際はP(1:4)をティーチングしたポイントを用いる
P11 = XY(-100, 200.5, -20, 0)
P12 = XY(100.3, 200.1, -20, 0)
P13 = XY(-100.4, 400.8, -20, 0)
P14 = XY(100.2, 400.4, -20, 0)
' 補正エリアを設定
AreaCorrectionSet 1, P(1:4), P(11:14), MODE_PLANE
P999 = AreaCorrection(P1, 1) ' P999は補正済みのポイント
Print Dist(P11, P999)
P999 = AreaCorrection(XY(0, 300, -20, 0), 1) ' エリア内の点を補正
Print P999
Fend
[出力結果]
0
X: 0.100 Y: 300.450 Z: -20.000 U: 0.000 /R /0