STM関数

参照ポイントを開始点としたときに動作時間が最も短くなるように指定ポイントの姿勢フラグを変換したポイントデータを返します。

書式
STM(ポイント指定 [, 参照ポイント指定 [, モード指定]])

パラメーター

ポイント指定
対象とするポイントデータを指定します。
参照ポイント指定
基準とするポイントデータを指定します。省略可能です。参照ポイント指定を省略した場合は現在位置(Here)を参照ポイントとします。
モード指定
省略可能です。
  • RSシリーズ
    STM_H_MODE_FASTEST: 参照ポイントから指定ポイントにGo動作した場合に、動作時間が最小となるように姿勢フラグを変更します。J1Flag、J2Flagおよび腕姿勢 (Handフラグ)が変更されます。X,Y,ZおよびU軸の値は変更されません。
    動作時間が最小となる姿勢フラグが複数存在する場合は、姿勢フラグの変化が少ないものが選択されます。
  • その他の機種
    STM関数はサポートしません。

解説
RSシリーズでは、パレットや相対オフセットなどのポイント演算で得られたポイントに動作するとき、姿勢フラグを正しく指定しないと、第1アーム、第2アームが意図しない方向へ回転することがあります。また、どの姿勢フラグを選択すれば動作時間が最小になるのか、実行しなければわかりません。STM関数はアームの意図しない回転を防止するとともに、動作時間が最小となるようにポイントデータの姿勢フラグを適切に変換します。これによりタクトタイムの短縮が期待できます。

下の図のポイントP0からポイントP1にPTP動作することを考えます。RSシリーズでは、J1Flag、J2Flagおよび腕姿勢の組み合わせがあるため、姿勢フラグの選び方は合計で8パターンあります。図中の赤線はポイントP0からそれぞれの姿勢フラグに対応するポイントP1に動作したときの動作軌跡を表しています。また、図の左下の数値は動作時間を表します。STM関数は複数ある姿勢フラグのうち動作時間が最小となるものにむかって動作します。下の図の例ではNo.6の左腕系、J1F0、J2F1の姿勢フラグが選ばれます。

動作時間は、関数実行時に設定されているWeight、Intertia設定値およびSpeed,Accel設定をもとに計算されます。これらの設定値を変更した場合、STM関数による姿勢フラグの変換結果が変わる可能性があります。STM関数のテストを行う場合は、実環境での速度加速度設定を用いてください。

パワーモードの設定値、SpeedFactorの設定値、およびSLS速度調整値に関わらず、STM関数による姿勢フラグの変換結果は変わりません。パワーモードがLowの場合、パワー出力が制限される前のSpeedおよびAccelをもとに動作時間の計算を行い姿勢フラグを変換します。テストモードかAUTOモードかによって、姿勢フラグの変換結果は変わりません。

パルス動作範囲外の姿勢フラグは選択されません。

STM関数で返されるポイントのローカル番号は、"ポイント指定"と同じローカル番号になります。

注意


  • 配線、装置レイアウトについて

    STM関数を使用した場合、動作前後で腕姿勢が切り替わることがあります。腕姿勢が切り替わる場合、アームを畳みこむような動作になるため、配線に注意してください。
    また、右腕左腕系が切り替わっても周辺機器との干渉がないようにレイアウトしてください。下図は腕姿勢が切り替わった時の動作例です。

  • 姿勢フラグの違いによる誤差について

    本コマンドは粗位置決めでの使用を想定しています。同一ポイントを右腕系と左腕系で位置決めした場合、ツール設定の誤差やキャリブレーションの誤差により、位置ずれが生じる場合があります。精密な位置合わせが要求される作業では本コマンドを使用せずティーチしたポイントを使用してください。


参照
Pallet, AutoSTM, Power, SpeedFactor, Speed, Accel, Weight, Inertia, SF_LimitSpeedS

STM関数使用例
以下のプログラムはRSシリーズでのSTM関数の使用例です。2点間をJump動作で往復します。
P2の腕姿勢は右腕系で定義されていますが、STM関数によって、動作時間が最短となる左腕系に変換されています。

Function STM_Example1
	P1 = XY(150, 0, 0, 0)
	P2 = XY(-150, 0, 0, 0)
	Motor On; Power High;
	Speed 20; Accel 20, 20
	Weight 1.0; Inertia 0.005;
	Do
		Jump P1
		Print Here
		Jump P2
		Print Here
		Jump P1
		Print Here
		Jump STM(P2)
		Print Here
	Loop
Fend

出力結果は以下のようになります。

 X:  150.000 Y:    0.000 Z:    0.000 U:    0.000 V:    0.000 W:    0.000 /R /J2F0 /J1F0 /J1A(0.000) /0
 X: -150.000 Y:    0.000 Z:    0.000 U:    0.000 V:    0.000 W:    0.000 /R /J2F0 /J1F0 /J1A(0.000) /0
 X:  150.000 Y:    0.000 Z:    0.000 U:    0.000 V:    0.000 W:    0.000 /R /J2F0 /J1F0 /J1A(0.000) /0
 X: -150.000 Y:    0.000 Z:    0.000 U:    0.000 V:    0.000 W:    0.000 /L /J2F0 /J1F1 /J1A(0.000) /0