STM函數

傳回指定點姿態旗標轉換後點資料,以確保參照點作為開始點時操作時間最短。

格式
STM (點指定 [, 參照點指定 [, 模式指定] ])

參數

點指定
指定作為對象的點數據。
參照點指定
指定作為基準的點數據。可省略。若省略參照點指定,則將目前位置(Here)作為參照點。
模式指定
可省略。
  • RS系列
    STM_H_MODE_FASTEST:從參照點執行Go動作至指定點時,變更姿態旗標,讓操作時間最短。J1Flag、J2Flag及手臂姿態(Hand旗標)變更。X、Y、Z及U軸的值不變更。
    若存在多個讓操作時間最短的姿態旗標,將會選擇變化最小的姿態旗標。
  • 其他型號
    STM函數不支援。

說明
對於RS系列,在向棧板或透過相對位移等點運算獲取的點進行動作時,若不正確指定姿態旗標,第1手臂、第2手臂有可能朝非預期的方向轉動。此外,唯有執行,才可知選擇哪個姿態旗標讓操作時間最短。STM函數用於在防止發生手臂的非預期轉動的同時,適當轉換點資料的姿態旗標,讓操作時間最短。可期待由此縮短經過時間。

思考從下圖中點P0執行PTP動作至點P1。對於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