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種動作。

  1. 首先,第3關節動作到以Jump命令中Arch編號運算的Z軸高度。
  2. 接著,手臂朝Z軸方向上升到以LimZ指定之Z限制位置,並朝目標坐標進行水平移動。然後,第1關節、第2關節、第4關節各自進行動作,並開始朝Z軸方向下降。手臂會動作直到獲取最終X、Y、U坐標位置。
  3. 手臂只朝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