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