題外話:上一次的Epson工業機器人體驗只是初入門運行了一遍Epson軟件自帶的demo,這一次對Epson的語法進行一次入門。
TIP:機械手類似人手,如果你讓它運行到了一個刁鑽的角度,他就動不了了,所以在進行機械手操作時,不僅要注意機械手的活動範圍,周圍的障礙物,還要注意機械手在這個角度下的特定軸是否可以轉動。
SPEL+語言
1.概述
SPEL+類似BASIC語言。
(哈,BASIC這麼古老的語言我也不清楚,你是類似有什麼用?可能聽起來更親切一點?)
2.程序結構
結構 | 內容 |
---|---|
包含: | ① 函數 ② 變量 ③ 宏指令 |
後綴名: | .PRG |
最小單元: | 程序,main函數 |
函數: | Function開始,Fend結束 |
程序示例:
MAIN.PRG
Function Main
Call Func1
Integer i 局部變量
….
Fend
3.變量
SPEL+中有三種不同的變量1
-Local:局部變量(同一Function)
-Module:模塊變量(同一程序)
-Global:全局變量(同一項目)
4.動作指令(important)
使機械手運動的指令叫做動作指令。
種類:PTP動作指令,CP動作指令,Curves動作指令,Joint動作指令。
類型 | 指令 | 說明 |
---|---|---|
PTP | Go,Jump,BGo,TGo | 最容易活動的路徑到達命令(難道不是點到點?) |
CP | Move,Arc,Arc3,Jump3/Jump3CP,Bmove,TMove,CVMove | 制定機械手到達末表位置運動軌跡的指令 |
TIPS:
CP模式,即Continuous Path 連續路徑模式。
指定PTP動作指令和Joint動作指令的速度和加/減速度時,使用SPEED指令和ACCEL指令
。指定CP模式動作指令時,使用SPEEDS指令和ACCELS指令。
PTP指令
包括指令:Go,Jump,BGo,TGo
PTP(Point To Point)動作,與運動軌跡無關,通過最短路徑。
優點:運行速度快。
缺點:軌跡無法預測。
Go指令
功能:全軸同時的PTP動作,動作的軌跡是各關節分別對從當前的點到目標座標進行插補。
格式:Go 目標座標
示例:
1.Go P1 機械手動作到P1點
2.Go XY(50,400,0,0) 機械手運動到x=50,y=400,z=0,u=0
3.Go P1+X(50) 機械手運動到P1點x座標值偏移量爲+50的位置
4 Go P1:X(50) 機械手運動到P1點對應X座標值爲50的位置
Jump指令
功能:通過“門型動作”使手臂從當前位置移動到目標座標。
格式:Jump目標座標
示例:
1.Jump P‘機械手以“門型動作”運動到P1點’
2Jump P1 LimZ
-10 ‘以限定第三軸目標座標 Z=-10的門型動作移動到P1點,如下圖
3. Jump P:Z(-10) LimZ -10 ‘以限定第三軸目標座標Z=-10的門型動作移動到P1點位置,Z座標值爲-10的位置。’
TIPS:Jump將機械手擡至LimZ值,然後使手臂水平移動,快到目標上空時使其下降移動。
CP指令
包含指令:Move,Arc,Arc3,Jump3/Jump3CP,BMove,TMove,CVMove
CP(Continuous Path) 指令可以指定機械手到達目標位置的運動軌跡。
優點:軌跡可以控制,勻速動作。
缺點:速度慢。
加減速度請使用SPEEDS和ACCELS指令。
Move指令
功能:以直線軌跡將機械手從當前位置移動到指定目標位置。全關節同時啓動,同時停止。
格式:Move 目標座標
示例:Move P1
TIPS: 手臂姿勢重要時請使用Go命令,手臂軌跡重要時請使用Move命令。只有Z軸上下運動時,Go與Move的軌跡一樣。
Arc和Arc3指令
功能:Arc在XY平面上以圓弧插補動作。Arc3在3D空間裏以圓弧插補動作。
格式:Arc經過座標,目標座標
說明:機械手從當前位置到目標座標,通過圓弧運動經過兩個點的位置。
示例:Arc P2,P3
弧形運動
TIPS:實際運行機器時請先使用低速進行動作範圍確認,主要是因爲有些位置在機械手的活動範圍內,但是在特定的動作中不一定可以到達這些點。
Jump3/Jump3CP指令
功能:三維的門型運動, Jump3是兩個CP運動和一個PTP運動組合而成。(有什麼用?自己想想)
格式: Jump3 退避座標,接近開始座標,目標座標
示例:Jump3 P1, P2, P3 ‘從當前位置經過保存座標P1,接近座標P2運動到目標座標P3.如圖
3d門型運動圖
TIPS:
1.Jump不能用於6軸機械手,6軸機械手要使用Jump3和Jump3CP指令
2.Jump3CP 是3個CP動作的組合。
3.SCARA機械手z軸上升或者下降動作時,使用Jump指令可以提高運動速度。
BMove,TMove,CVMove指令(哦,這些是什麼?以後再懟吧,咱先機械手動起來再說。)
機械手運動可少不了速度因素,接下來講一下速度的設置吧。
PTP指令速度設定
指令 | 描述 |
---|---|
SPeed | 設定PTP運動速度(百分比格式?) |
格式 | Speed s,[a,b] |
說明 | s爲速度,a爲第三軸上升速度(其它軸呢?),b爲第三軸下降速度 |
實例 | Speed 80 |
Accel | PTP加減速度值百分比 |
格式 | Accel a, b, [c,d,e,f] |
說明 | a/b加減速度,c/d第三軸上升加減速度,e/f[自己想] |
示例 | Accel 80,80 |
CP指令速度設定
指令 | 描述 |
---|---|
SpeedS | 設定CP動作速度 |
格式 | SpeedS 速度設定值 |
說明 | 不同機型對應的速度設定值範圍(有圖,在下面) |
示例 | SpeedS 800 |
AccelS | 設定CP加減速度 |
格式 | AccelS 加速設定值,[減速設定值] |
說明 | (同一個圖) |
示例 | AccelS 800 |
速度範圍表
最後,我們來看個例子吧。
Function main //定義方法名稱
Integer i //定義一個變量
Motor On //開電機,不打開電源,玩個蛇?
Power High //設定功率。高功率,低功率,跑的快還是慢呢?
Speed 100,50,10 //設置一波速度
//各種命令走你。。
Fend //結束嘍,yeah