Jump
透過門形動作(先垂直上升,接著水平移動,最後垂直下降的門形動作),從目前位置到指定位置,對手臂執行PTP動作。
格式
Jump 目標坐標 [C Arch編號] [LimZ [Z坐標值]] [CP] [{Sense|Till|Find}] [!平行處理!] [SYNC]
參數
- 目標坐標
- 以點數據指定目標位置。
- Arch編號
- Arch編號用於對Jump的Arch動作形狀指定使用哪一個Arch表的設定。請在Arch編號的開頭處附加字母字元「C」。有效值為C0~C7。可省略。
- Z坐標值
- 請將該值視為用Jump命令可在動作期間移動第3關節的最大值(Z限制值),或用Jump的Z成分高度頂峰值。只要是有效的第3關節坐標值,任何值都可以。可省略。
- CP
- 指定路徑運動。可省略。
- Sense、Till或Find
- 記述Sense、Till、Find中的任一運算式。可省略。
Sense | Till | Find Sense Sw(運算式) = {On | Off} Till Sw(運算式) = {On | Off} Find Sw(運算式) = {On | Off}
- !平行處理!
- 可在Jump命令動作時增加平行處理陳述式,以便執行I/O或其它命令。可省略。
- SYNC
- 用於預約動作命令。在以SyncRobots開始動作之前,機器人不進行動作。
說明
Jump命令用於透過「Arch動作(Arch型動作)」將手臂從目前位置移往目標坐標。換句話說,可視為1次執行3個動作的陳述式。例如,若有定義Arch編號,便執行1次Jump命令進行以下3種動作。
- 首先,第3關節動作到以Jump命令中Arch編號運算的Z軸高度。
- 接著,手臂朝Z軸方向上升到以LimZ指定之Z限制位置,並朝目標坐標進行水平移動。然後,第1關節、第2關節、第4關節各自進行動作,並開始朝Z軸方向下降。手臂會動作直到獲取最終X、Y、U坐標位置。
- 手臂只朝Z軸方向移動直到獲取目標Z坐標位置,在獲取目標坐標後結束Jump命令。
由於無法在Jump命令中指定目標坐標(移動的目的位置),因此必須在執行Jump命令前進行教導。以Accel執行Jump移動的加速和減速。此外,以Speed執行移動的速度。
不可對垂直6軸型機器人(包含N系列)執行Jump。請使用Jump3。
關於CP
若已添加CP參數,可在開始動作減速時重疊下一個動作命令的加速。此時,不在目標坐標上進行定位。
關於Arch編號
可依Jump命令中指定的Arch編號,變更Jump的Arch型態。這樣的話,第1關節、第2關節、第4關節在動作之前,則可確定要朝Z軸方向移動的距離。可在Jump命令中有效使用的Arch編號值為C0~C7的值。使用者可以Arch命令定義對於C0~C6值的Arch表值。然而,C7始終被定義為「門形動作」。「門形動作」是指,機器人在運作第1關節、第2關節、第4關節之前,只先將第3關節移至以LimZ定義的坐標位置之動作。在進行「門形動作」時,一旦移至LimZ定義的Z限制值位置,便開始進行第1關節、第2關節、第4關節的動作。第1關節、第2關節、第4關節各自移至最終目標坐標位置後,便以以目標坐標定義的最終Z坐標位置為目標,使第3關節下降。下圖表示「門形動作」的運作情形。
符號 說明 a 目前位置 b 目標坐標 關於LimZ
LimZ Z坐標值用於在目前設定的本地坐標系之水平移動面上指定Z坐標最高值。雖然第1關節、第2關節、第4關節可能會依據指定的Arch設定在到達LimZ值之前開始動作,但LimZ值始終被用於定義這些動作的Z坐標方向上限值。若省略LimZ參數,則以在此之前(最後)以LimZ指定的最高值為基準。
由LimZ指定的高度方向限制值為本地機器人坐標系上的Z坐標值。也就是說,這並非是Arm或Tool坐標的Z坐標值。因此,若要使用作業高度不同的工具或抓手,請充分注意並採取必要的措施。
關於Sense
Sense是可省略的一個參數。Sense用於要在第3關節進行最後下降動作之前,檢查輸入條件或記憶體I/O條件等情況。若無問題,機器人手臂會停於目標坐標(最後只剩第3關節動作的位置),並結束執行此命令(Jump)。但請注意,即便檢測到以Sense指定的條件,機器人手臂也不會馬上停下來。
符號 說明 a 檢查條件 b 動作結束 c 目標坐標 可組合使用JS或Stat等命令以確認以下情況:Sense條件是否成立,機器人手臂是否停在目標坐標位置之前;Sense條件是否未成立,機器人手臂是否停在目標坐標位置上。
關於Till
在執行Jump前,可使用選項Till設定條件,讓機器人減速並停止。可透過包括檢查I/O輸入之一或記憶體I/O之一的條件來進行設定。為此,要使用Sw或MemSw函數。可依照事先設定的條件,檢查輸入為ON或OFF,讓手臂減速並停止。
可透過使用Stat函數確認以下情況,即,是否成立Till條件而執行此命令,或者機器人是否在Till條件未成立的狀態下停在目標坐標位置上。
注意
Jump不可用於垂直6軸型機器人(包含N系列)。
請使用Jump3或Jump3CP。
省略Arch編號參數時
若省略Arch編號參數的設定,執行Jump命令時的預設Arch值則變為C7。如上述所言,Arch值為C7時會以「門形動作」進行移動(請參閱上述內容)。
Jump和Jump3、Jump3CP的差異
Jump3和Jump3CP可用於垂直6軸型機器人(包含N系列),但不可對其使用Jump。水平多關節型機器人(包含RS系列)在朝Z軸方向進行上升/下降時,可用Jump縮短動作時間。也可在Z軸以外的方向執行Jump3的接近動作和閃避動作。
Jump和Go的差異
Jump和Go最重要的差異如下:Go時,所有關節動作皆為同步動作,各關節同時動作/停止。而就Jump而言,在開始和結束動作時,第3關節只在垂直方向移動。在進行裝置的吸附和配置等作業時,建議使用此命令。
Jump命令下的減速和停止
在Jump命令下,手臂必定在減速的同時停在目標坐標上。
Jump命令下的適當速度和加速指示
以Speed和Accel分別設定Jump動作的機器人速度和加減速。請注意,Speed和Accel為僅在進行點到點(如Jump、Go等)的動作時方可設定的命令。例如,若為用於執行直線/曲線動作的命令(諸如Move或Arc),請使用SpeedS或AccelS命令。
此外,若為Jump,則可對第3關節的上升移動、包括第4關節旋轉在內的水平動作以及第3關節的下降移動分別設定速度和加減速。
Jump的Pass功能
若在下降動作量為0的Jump上附加CP參數,可在不減速並停止該Jump的水平動作之狀態下,繼續順暢連上PTP動作。
此外,若在此前的PTP動作命令上附加CP參數,上升動作量為0的Jump可在不未減速並停止該PTP動作之狀態下順暢連上Jump的水平動作。
要將平常的Jump水平動作(1個PTP動作)替換成順暢連上數個PTP動作時,這個功能非常有用。
[例]
Go P1 Jump P2 :Z(-50) C0 LimZ -50 CP Go P3 :Z(0) CP Jump P4 C0 LimZ 0
使用Arch時的重要事項
由於透過軌跡控制進行執行第3關節的上升/下降動作與横向動作的合成,因此不能保證拱形動作的實際軌跡。軌跡會因動作速度和手臂的動作方式而異。請以作業時使用的實際速度和姿態確認實際軌跡。
- 在相同位置上,即便執行帶有相同[C Arch編號]的Jump命令,低速時的軌跡也會比高速動作時低。因此,請注意:即便確認不會因高速而撞擊干擾物,仍有可能在低速動作時發生撞擊。
- 相較於低速動作,高速動作會增加垂直上升量,呈現出垂直下降量減小的傾向。未出現預期的垂直下降距離時,請降低速度或減速度,或將下降距離設得長一些。
- 即便是相同距離的動作,軌跡也會依手臂的動作方式而異。雖然會依手臂的動作方式,而有各種軌跡變化,但如果以一般水平多關節型機器人為例的話,越是大幅移動第1手臂,越會增加垂直上升量,從而呈現出減小垂直下降量的傾向。未出現預期的垂直下降距離時,請降低速度或減速度,或將下降距離設得長一些。
常見錯誤
LimZ值的設定過低時
若在第3關節的手臂位置高於LimZ的設定值位置的狀態下執行Jump,則發生錯誤4005。
參照
Accel、Arc、Arch、Go、JS、JT、LimZ、P# = 點指定、Pulse、Sense、Speed、Stat、Till
Jump範例
以下是從點P0到P1進行單純的PTP動作後,以Jump返回P0的範例。在程式下半段,手臂執行Jump。輸入位元4未變為ON時,執行下降動作並移到P1。輸入位元4為ON時,不進行下降動作。
Function jumptest
Home
Go P0
Go P1
Sense Sw(4) = On
Jump P0 LimZ -10
Jump P1 LimZ -10 Sense '檢查輸入4
If Js(0) = 1 Then
Print "Input #4 came on during the move and"
Print "the robot stopped prior to arriving on"
Print "point P1."
Else
Print "The move to P1 completed successfully."
Print "Input #4 never came on during the move."
EndIf
Fend
> Jump P10+X50 C0 LimZ-20 Sense !D50;On 0;D80;On 1!
以下為命令視窗的操作範例。
> Jump P0 '跳至P0
> Jump P0 C0 '以Arch編號C0所設定的拱形動作,跳至P0
> Jump P0 LimZ -10 '以Z極限-10mm為止的設定,跳至P0
> Jump P0 !D0; On 1; D50; Off 1! '跳至P0。在動作的移動量到達50%前,將輸出的第1個位元設為On;50%以後則將第1個位元設為Off。
輸入的第1個位元為On後,停止Jump命令並進行接下來的處理。
Function main
(中間省略)
Till Sw(1) = On
Jump P0 C0 CP Till
(中間省略)
Fend
← JTran Jump3, Jump3CP →