AutoSTM

自動STM機能を設定します。

書式
(1) AutoSTM モード指定
(2) AutoSTM

モード指定

  • RSシリーズ
    STM_H_MODE_FASTEST: 自動STM機能が有効になります。PTP動作命令を実行した場合に、動作時間が最小となるように姿勢フラグを変更します。J1Flag、J2Flagおよび腕姿勢 (Handフラグ)が変更されます。X,Y,ZおよびU軸の値は変更されません。動作時間が最小となる姿勢フラグが複数存在する場合は、姿勢フラグの変化が少ないものが選択されます。
    STM_OFF: 自動STM機能は無効になります。
  • その他の機種
    AutoSTMの対象外です。

解説
モード指定を省略した場合、AutoSTMを設定します。
モード指定を指定した場合、現在のAutoSTMの状態を表示します。

RSシリーズでは、パレットや相対オフセットなどのポイント演算で得られたポイントに動作するとき、姿勢フラグを正しく指定しないと、第1アーム、第2アームが意図しない方向へ回転することがあります。また、どの姿勢フラグを選択すれば動作時間が最小になるのか、実行しなければわかりません。AutoSTMはアームの意図しない回転を防止するとともに、動作時間が最小となるように動作します。これによりタクトタイムの短縮が期待できます。
下の図のポイントP0からポイントP1にPTP動作することを考えます。RSシリーズでは、J1Flag、J2Flagおよび腕姿勢の組み合わせがあるため、姿勢フラグの選び方は合計で8パターンあります。図中の赤線はポイントP0からそれぞれの姿勢フラグに対応するポイントP1に動作したときの動作軌跡を表しています。また、図の左下の数値は動作時間を表します。AutoSTMを有効にすると、複数ある姿勢フラグのうち動作時間が最小となるものにむかって動作します。下の図の例ではNo.6の左腕系、J1F0、J2F1の姿勢フラグが選ばれます。

AutoSTMは下記の命令で有効です。
Go, BGo, TGo, Pass, Jump
動作時間は、関数実行時に設定されているWeight、Inertia設定値およびSpeed,Accel設定をもとに計算されます。これらの設定値を変更した場合、AutoSTMによる姿勢フラグの変換結果が変わる可能性があります。AutoSTMのテストを行う場合は、実環境での速度加速度設定を用いてください。
パワーモードの設定値、SpeedFactorの設定値、およびSLS速度調整値に関わらず、STM関数による姿勢フラグの変換結果は変わりません。パワーモードがLowの場合、パワー出力が制限される前のSpeedおよびAccelをもとに動作時間の計算を行い姿勢フラグを変換します。テストモードかAUTOモードかによって、姿勢フラグの変換結果は変わりません。
パルス動作範囲外の姿勢フラグは選択されません。

AutoSTMを有効にすると、STM関数を適用したときと同様に動作時間が最小となるように動作を実行します。
例えば、一連の動作に対してSTM関数を適用したい場合、STM関数のみを用いた場合、プログラムは以下のようになります。

Go STM(P1)
Go STM(P2)
Go STM(P3)

AutoSTMを用いると、同じ効果を得るため以下のようにプログラムを記述できます。

AutoSTM STM_H_MODE_FASTEST
Go P1
Go P2
Go P3
AutoSTM STM_OFF

AutoSTMはプログラムの特定の区間でSTMを有効にできるため、個々の動作命令を変更する必要がなくなります。

下記の場合、AutoSTMは無効状態になります。

  • コントローラー起動時
  • Reset実行時
  • 全タスク中断時
  • Motor On実行時

操作モードがTEACHモードの場合は、AutoSTMの設定が無視されます。
AutoSTMとAutoLJM機能は同時に有効にできません。AutoSTMが有効な状態で、AutoLJMを有効にした場合、AutoSTMは無効状態、AutoLJMは有効状態になります。AutoLJMが有効な状態で、AutoSTMを有効にした場合、AutoLJMは無効状態、AutoSTMは有効状態になります。

注意


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

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

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

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


参照
Pallet, STM関数, AutoSTM関数, AutoLJM, Power, SpeedFactor, Speed, Accel, Weight, Inertia, SF_LimitSpeedS

AutoSTM使用例
以下のプログラムはRSシリーズでのAutoSTMの使用例です。パレット-指定点間をJump動作で往復します。
動作時間が最短になるように姿勢フラグが選択されています。

Function AutoSTM_Example1
	Integer i;
	' モーター、速度、加速度設定
	Motor On; Power High;
	Speed 20; Accel 20, 20;
	Weight 1.0; Inertia 0.005;
	P1 = XY(-200, -200, -50, 0)
	P2 = XY(-200, -50, -50, 0)
	P3 = XY(-50, -200, -50, 0)
	P10 = XY(150, 150, -50, 0)
	' パレットの設定
	Pallet 1, P1, P2, P3, 5, 5
	Pulse 0, 0, 0, 0
	' AutoSTM機能を有効にする
	AutoSTM STM_H_MODE_FASTEST
	For i = 1 To 25
		Jump Pallet(1, i)
		Jump P10
	Next
	' AutoSTM機能を無効にする
	AutoSTM STM_OFF
Fend