應(yīng)用程序(Program);系統(tǒng)模塊(Systemmodules)。
機(jī)器人程序儲存器中,只允許存在一個主程序;所有例行程序與數(shù)據(jù)無論存在于哪個模塊,全部被系統(tǒng)共享;所有例行程序與數(shù)據(jù)除特殊定義外,名稱必須是唯一的。
1、應(yīng)用程序(Program)的組成
a、主模塊(Mainmodule) 主程序(Mainroutine) 程序數(shù)據(jù)(Programdata) 例行程序(Routines)
b、程序模塊(Programmodules) 程序數(shù)據(jù)(Programdata) 例行程序(Routines)
2、系統(tǒng)模塊(Systemmodules)的組成
a、系統(tǒng)數(shù)據(jù)(Systemdata)
b、例行程序(Routines)
所有ABB機(jī)器人都自帶兩個系統(tǒng)模塊,USER模塊與BASE模塊,根據(jù)機(jī)器人應(yīng)用不同,有些機(jī)器人會配備相應(yīng)應(yīng)用的系統(tǒng)模塊。建議不要對任何自動生成的系統(tǒng)模塊進(jìn)行修改。
二、編程窗口
1、菜單鍵File
a、 Open:打開一個現(xiàn)有文件。(程序.prg或模塊.mod)
b、 New:新建一個程序。
c 、Saveprogram :存儲更改后的現(xiàn)有程序。
d 、Saveprogramas:存儲一個新程序。
e 、Print: 打印程序,現(xiàn)已經(jīng)不使用。
f、 Preferences:定義用戶化指令集。
g、 Checkprogram :檢驗程序,光標(biāo)會提示錯誤。
h、Close:在程序儲存器中關(guān)閉程序。
i、 Savemodule :存儲更改后的現(xiàn)有模塊。(只在Module窗口中存在)
j、 Savemoduleas : 存儲一個新模塊。(只在Module窗口中存在)
2、菜單鍵Edit
a、 Cut:剪切,可能會丟失指令或數(shù)據(jù)。
b、Copy :復(fù)制。
c、Paste :粘貼,將剪切或復(fù)制的指令或數(shù)據(jù)粘貼到相應(yīng)位置。
d、 GotoTop:將光標(biāo)移至頂端。
e、 GotoBottom :將光標(biāo)移至底端。
f、Mark :定義一塊,涂黑部分。
g、 ChangeSelected :修改指令中數(shù)據(jù),可直接將光標(biāo)移至相應(yīng)位置按回車鍵。
h、Showvalue: 輸入數(shù)據(jù),可直接將光標(biāo)移至相應(yīng)數(shù)據(jù)按回車鍵。
i、 Modpos :修改機(jī)器人位置,功能鍵上有。
j、 Search:尋找指令,程序復(fù)雜時很有用。
k、功能鍵:Copy、Paste、Modpos在菜單鍵Edit中可以找到。
三、指令
1、基本運動指令
MoveL:線性運動 (Linear)
MoveJ:關(guān)節(jié)軸運動 (Joint)
MoveC :圓周運動 (Circular)
p1:目標(biāo)位置。(robtarget)
v100:運行速度mm/s。(speeddata)
z10:轉(zhuǎn)彎區(qū)尺寸mm。(zonedata)
tool1:工具中心點TCP。(tooldata)
a、速度選擇:mm/s
· 將光標(biāo)移至速度數(shù)據(jù)處,按回車鍵,進(jìn)入選擇窗口,選擇所需速度。
· 機(jī)器人運行速度屬于數(shù)據(jù)類型speeddata。
· 常用運行速度在Base模塊中已經(jīng)定義。
· 特殊速度可自行定義。
· max速度為v5000,Base模塊中定義最大速度為v7000,最大速度機(jī)器人未必能達(dá)到。
b、轉(zhuǎn)彎區(qū)尺寸選擇:mm
· 將光標(biāo)移至轉(zhuǎn)彎區(qū)尺寸數(shù)據(jù)處,按回車鍵,進(jìn)入選擇窗口,選擇所需轉(zhuǎn)彎區(qū)尺寸。
· 機(jī)器人轉(zhuǎn)彎區(qū)尺寸屬于數(shù)據(jù)類型zonedata。
· 常用轉(zhuǎn)彎區(qū)尺寸在Base模塊中已經(jīng)定義。
· 特殊轉(zhuǎn)彎區(qū)尺寸可自行定義。
· fine指機(jī)器人TCP達(dá)到目標(biāo)點,并在目標(biāo)點速度降為零,連續(xù)運行時,機(jī)器人動作有停頓。
· zone指機(jī)器人TCP不達(dá)到目標(biāo)點,連續(xù)運行時,機(jī)器人動作圓滑、流暢。
· Base模塊中已經(jīng)定義的轉(zhuǎn)彎區(qū)尺寸最小為z1,最大為z200。
· 盡量使用較大的轉(zhuǎn)彎區(qū)尺寸。
c、參變量:
光標(biāo)指在當(dāng)前指令時,按功能鍵OptArg,可選擇參變量。
· [Conc](switch) 協(xié)作運動。機(jī)器人未移動至目標(biāo)點,已經(jīng)開始執(zhí)行下一個指令。
· [ToPoint](robtarget) 在采用新指令時,目標(biāo)點自動生成*。·[V](num) 定義速度mm/s。
· [T](num) 定義時間s。通過時間決定速度。
· [Z](num) 定義轉(zhuǎn)彎區(qū)尺寸mm。
· [Wobj](wobjdata) 采用工件系座標(biāo)系統(tǒng)。
d、函數(shù)Offs:
MoveLp1,v100,…
MoveLp2v100,…
MoveLp3,v100,…
MoveLp4,v100,…
MoveLp1,v100,…
· 為了精確確定p1、p2、p3、p4點,可以使用函數(shù)Offs。
· Offs(p1,x,y,z)代表一個離p1點X軸偏差量為x,Y軸偏差量為y,Z軸量為z的點。
· 將光標(biāo)移至目標(biāo)點,按回車鍵,進(jìn)入目標(biāo)點選擇窗口,在功能鍵上選擇Func,采用切換選擇所用函數(shù)Offs。
MoveLp1,v100,…
MoveLOffs(p1,100,0,0),v100,…
MoveLOffs(p1,100,-50,0),v100,…
MoveLOffs(p1,0,-50,0),,v100,…
MoveLp1,v100,…
2、輸入輸出群指令
· do指機(jī)器人輸出信號。
· di指輸入機(jī)器人信號。
· 輸入輸出信號必須在系統(tǒng)參數(shù)中定義。
· 輸入輸出信號有兩種狀態(tài),1(High)為接通,0(Low)為斷開。
a、輸出信號指令
· 輸出輸出信號指令:set dol do1:輸出信號名。(signaldo)將一個輸出信號賦值為1。
· 復(fù)位輸出信號指令:Reset do1 do1:輸出信號名。(signaldo)將一個輸出信號賦值為0。
· 輸出脈沖信號指令:PulseDOPLength:=0.2,do1 do1:輸出信號名。(signaldo)輸出一個脈沖信號,脈沖長度為0.2s。
參變量:[PLength](num) 脈沖長度,0.1s-32s。
b、輸入信號指令:
WaitDI di1, 1
di1:輸入信號名。(signaldi)
3、參變量
· [MaxTime](num)等待輸入信號最長時間s。
· [TimeFlag](bool)邏輯量,TRUE或FALSE。
如果只選用參變量[MaxTime],等待超過最長時間后,機(jī)器人停止運行,并顯示相應(yīng)出錯信息。如果同時選用參變量[MaxTime]與參變量[TimeFlag],等待超過最長時間后,無論是滿足等待的狀態(tài),機(jī)器人將自動執(zhí)行下一句指令。如果在最長等待時間內(nèi)得到相應(yīng)信號,將邏輯量置為FALSE,如果超過最長等待時間,邏輯量置為TRUE。
4、通信指令(人機(jī)對話)
a、清屏指令:TPErase
b、寫屏指令:PWrite String tring:顯示的字符串。(string)在示教器顯示屏上顯示字符串?dāng)?shù)據(jù),也可以用"……"形式直接定義字符串,每一個寫屏指令最多顯示80個字符。
c、功能鍵讀取指令:TPReadFK, Answer , Text , FK1 , FK2. FK3, FK4 , FK5 Answer:賦值數(shù)字變量。(num) Text:顯示屏顯示的字符串。(string) FK1:功能鍵1顯示的字符串。(string) FK2:功能鍵2顯示的字符串。(string) FK3:功能鍵3顯示的字符串。(string) FK4:功能鍵4顯示的字符串。(string) FK5:功能鍵5顯示的字符串。(string)
在示教器顯示屏上顯示字符串?dāng)?shù)據(jù),在功能鍵上顯示相應(yīng)字符串,選擇按相應(yīng)的功能鍵,機(jī)器人自動給數(shù)字變量賦于相應(yīng)數(shù)值1-5。
5、程序運行停止指令
a、停止指令Stop:機(jī)器人停止運行,軟停止指令(Soft Stop),直接在下一句指令啟動機(jī)器人。
b、停止指令Exit:機(jī)器人停止運行,并且復(fù)位整個運行程序,將程序運行指針移至主程序第一行。機(jī)器人程序必須從頭運行。
c、停止指令Break:機(jī)器人立刻停止運行,有沖擊,直接在下一句指令啟動機(jī)器人。
6、計時指令
a、時鐘復(fù)位指令:ClKReset Clock Clock:機(jī)器人時鐘名稱。(clock)
b、時鐘啟動指令:ClKStart Clock Clock:機(jī)器人時鐘名稱。(clock)
c、時鐘停止指令:ClKStop Clock Clock:機(jī)器人時鐘名稱。(clock)
7、速度控制指令:VelSet , Override, Max
Override:機(jī)器人運行速率%。(num)
Max:機(jī)器人最大速度mm/s。(num)
每個機(jī)器人運動指令均有一個運行速度,在執(zhí)行速度控制指令后,機(jī)器人實際運行速度為運動指令規(guī)定運行速度乘以機(jī)器人運行速率(Override),并且不超過機(jī)器人最大運行速度(Max)。
8、等待指令
WaitTime , Time
Time:機(jī)器人等待時間s。(num)
等待指令只是讓機(jī)器人程序運行停頓片刻。
9、賦值指令
Data:=Value
Data:被賦值的數(shù)據(jù)。(All)
Value:數(shù)據(jù)被賦予的值。
舉例:
ABB:=FALSE;(bool)
ABB:=reg1+reg3;(num)
ABB:="WELCOME";(string)
Home:=p1;(robotarget)
tool1.tframe.trans.x:=tool1.tframe.trans.x+20;(tooldata)
10、負(fù)載定義指令
GripLoad Load
Load:機(jī)器人當(dāng)前負(fù)載,數(shù)據(jù)類型為Loaddata。
免責(zé)聲明:本文系網(wǎng)絡(luò)轉(zhuǎn)載