Go
用於透過PTP動作將手臂從目前位置移到指定位置。
格式
Go目標坐標 [CP] [LJM [選擇姿態旗標]] [Till | Find] [!平行處理!] [SYNC]
參數
- 目標坐標
- 以點數據指定目標位置。
- CP
- 指定路徑運動。可省略。
- LJM
- 以LJM函數轉換目標坐標。可省略。
- 選擇姿態旗標
- 指定賦予LJM函數的姿態旗標選擇參數。可省略。
- Till | Find
- 用於記述Till或Find運算式。可省略。
Till | Find Till Sw(運算式) = {On | Off} Find Sw(運算式) = {On | Off}
- ! 平行處理 !
- 欲在動作中執行I/O等其它命令時,可附加平行處理陳述式。可省略。
- SYNC
- 用於預約動作命令。在以SyncRobots開始動作之前,機器人不進行動作。
說明
Go用於透過PTP動作同時運作機器人手臂的所有關節。以下範例用於指定對於Go命令的目標坐標。
- 以特定的點編號進行指定。例:
Go P1
- 以具體的坐標值指定移動目的地。例:
Go XY(50, 400, 0, 0)
- 以點編號+位移值進行指定。例:
Go P1 +X(50)
- 明確指定點編號+與其不同的坐標值。例:
Go P1 :X(50)
由於各關節從目前的點到目標坐標之間進行內插,因此無法預測到其動作路徑的軌跡。請充分注意與週邊裝置之間的干擾情況。
以Speed命令設定Go命令的動作速度。以Accel命令設定加減速度。
若已添加CP參數,可在開始動作減速時重疊下一個動作命令的加速。此時,不在目標坐標上進行定位。
設定LJM參數時,則將目前位置作為參照位置,再將目標位置運作到用LJM函數轉換的位置上。
可將Go LJM(P1, Here,1)簡略記述成Go P1 LJM 1。
此時,並不改變原來的點資料P1。
LJM參數對於垂直6軸型機器人(包含N系列)以及RS系列機器人有效。
若按預設值使用姿態旗標選擇,則可省略。
Go P1 LJM
注意
Go和Move的差異
Move和Go皆為運作機器人手臂的命令。兩者間的最大差異在於,Go用於PTP動作,而Move則用於以直線軌道移動手臂。認為重視到達目標點時的手臂姿態很重要時,使用Go命令。認為控制動作中的手臂軌道更重要時,使用Move命令。
Go和Jump的差異
Jump和Go皆為透過PTP動作移動機器人手臂的命令。然而,Jump具有1個Go沒有的功能。就Jump而言,其作用在於,首先將機器人的抓手抬升到LimZ值位置,水平移動手臂,然後在來到目標坐標上方時,再進行下降移動。此動作的優點在於,可更確實地避開障礙物,而且更重要的是,透過吸附和配置動作,可縮短作業的週期時間。
向Go指示適當的速度和加減速度
以Speed和Accel命令設定Go命令的動作速度和加減速度。最重要的是,Speed和Accel命令與Go命令相同,用於對PTP動作進行設定。以SpeedS和AccelS命令,設定直線及曲線動作的速度與加減速度。
使用Till修飾詞的Go用法
透過使用Till修飾詞,可在到達以Go命令指定的目標坐標之前,在途徑的通過點上設定讓機器人減速並停止的條件。若Till條件未成立,機器人則直接移到目標坐標位置。使用Till的Go用法有以下2種。
(1) Go和Till修飾詞
檢查目前Till條件是否已經成立。若成立,則無須等待完成以Go指定的動作,可透過讓機器人在中途的通過點進行減速和停止完成命令。
(2) Go和Till修飾詞、Sw(輸入位元編號)修飾詞、輸入條件
在此用法中並不使用事先設定的Till既有設定條件,可在與Go命令相同的行上新設定Till條件。設定的條件用於檢查1項輸入,因此需要Sw命令。檢查輸入狀態的ON/OFF,並可依照設定條件停止手臂。此功能幾乎類似於輸入條件成立後便停止動作這樣的「插斷」。若輸入條件在機器人動作時未成立,則手臂會到達指定的目標坐標位置。
使用Find修飾詞的Go用法
使用Find修飾詞,可透過設定條件在用Go命令進行動作時使機器人紀錄1個位置。使用Find的Go用法有以下2種。
(1) Go和Find修飾詞
檢查目前Find條件是否已經成立。若成立,則將目前位置儲存到特別的點、FindPos。
(2) Go和Find修飾詞、Sw(輸入位元編號)修飾詞、輸入條件
在此用法中並不使用事先設定的Find既有設定條件,可在與Go命令相同的行上新設定Find條件。設定條件為檢查1個輸入。因此,需要Sw命令。檢查輸入狀態的ON/OFF,並將目前位置儲存到特別的點、FindPos。
使用Go命令時,在停止前必定進行減速
使用Go命令時,在手臂停於動作的目標坐標之前必定進行減速。
常見錯誤
欲將機器人移出活動範圍時
以直接坐標設定目標坐標時,請務必確認該坐標位置是否在機器人活動範圍之內。若指定機器人活動範圍之外的位置,則會發生錯誤。
參照
! 平行處理 !、Accel、Find、Jump、Move、Pass、P#= 點指定、Pulse、Speed、Sw、Till
Go範例
以下是從P0到P10進行PTP動作的簡易範例。在程式下半段,輸入位元2變為ON之前,手臂朝P2進行PTP動作。若輸入位元2在執行Go的中途變為ON,則手臂減速並停止,不等待到達P2而執行下一個命令。
Function sample
Integer i
Home
Go P0
Go P1
For i = 1 to 10
Go P(i)
Next i
Go P2 Till Sw(2) = On
If Sw(2) = On Then
Print "Input #2 came on during the move and"
Print "the robot stopped prior to arriving on"
Print "point P2."
Else
Print "The move to P2 completed successfully."
Print "Input #2 never came on during the move."
EndIf
Fend
這是命令視窗中的操作範例。
>Go Here +X(50) '從目前位置朝X方向移動50mm
>Go P1 '朝P1移動
>Go P1 :U(30) '目標雖然是P1,但朝U=30的位置移動
>Go P1 /L '以左手腕姿態朝P1移動
>Go XY(50, 450, 0, 30) '朝X=50、Y=450、Z=0、U=30的位置移動
[其它範例]
Till Sw(1) = Off And Sw(2) = On '將輸入1和2指定為Till條件
Go P1 Till '滿足事先定義的Till條件時停止
Go P2 Till Sw(2) = On '輸入位元2變為ON時停止
Go P3 Till '滿足事先定義的Till條件時停止
← Global GoSub...Return →