STM函數
傳回指定點姿態旗標轉換後點資料,以確保參照點作為開始點時操作時間最短。
格式
STM (點指定 [, 參照點指定 [, 模式指定] ])
參數
- 點指定
- 指定作為對象的點數據。
- 參照點指定
- 指定作為基準的點數據。可省略。若省略參照點指定,則將目前位置(Here)作為參照點。
- 模式指定
- 可省略。
- RS系列
STM_H_MODE_FASTEST:從參照點執行Go動作至指定點時,變更姿態旗標,讓操作時間最短。J1Flag、J2Flag及手臂姿態(Hand旗標)變更。X、Y、Z及U軸的值不變更。
若存在多個讓操作時間最短的姿態旗標,將會選擇變化最小的姿態旗標。 - 其他型號
STM函數不支援。
- RS系列
說明
對於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