應(yīng)用程序(Program);系統(tǒng)模塊(Systemmodules)。
機(jī)器人程序儲(chǔ)存器中,只允許存在一個(gè)主程序;所有例行程序與數(shù)據(jù)無論存在于哪個(gè)模塊,全部被系統(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ī)器人都自帶兩個(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
a、 Open:打開一個(gè)現(xiàn)有文件。(程序.prg或模塊.mod)
b、 New:新建一個(gè)程序。
c 、Saveprogram :存儲(chǔ)更改后的現(xiàn)有程序。
d 、Saveprogramas:存儲(chǔ)一個(gè)新程序。
e 、Print: 打印程序,現(xiàn)已經(jīng)不使用。
f、 Preferences:定義用戶化指令集。
g、 Checkprogram :檢驗(yàn)程序,光標(biāo)會(huì)提示錯(cuò)誤。
h、Close:在程序儲(chǔ)存器中關(guān)閉程序。
i、 Savemodule :存儲(chǔ)更改后的現(xiàn)有模塊。(只在Module窗口中存在)
j、 Savemoduleas : 存儲(chǔ)一個(gè)新模塊。(只在Module窗口中存在)
2、菜單鍵Edit
a、 Cut:剪切,可能會(huì)丟失指令或數(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ù)雜時(shí)很有用。
k、功能鍵: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)
a、速度選擇: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á)到。
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)點(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ū)尺寸。
c、參變量:
光標(biāo)指在當(dāng)前指令時(shí),按功能鍵OptArg,可選擇參變量。
· [Conc](switch) 協(xié)作運(yùn)動(dòng)。機(jī)器人未移動(dòng)至目標(biāo)點(diǎn),已經(jīng)開始執(zhí)行下一個(gè)指令。
· [ToPoint](robtarget) 在采用新指令時(shí),目標(biāo)點(diǎn)自動(dòng)生成*。·[V](num) 定義速度mm/s。
· [T](num) 定義時(shí)間s。通過時(shí)間決定速度。
· [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點(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)為斷開。
a、輸出信號(hào)指令
· 輸出輸出信號(hào)指令:set dol do1:輸出信號(hào)名。(signaldo)將一個(gè)輸出信號(hào)賦值為1。
· 復(fù)位輸出信號(hào)指令:Reset do1 do1:輸出信號(hào)名。(signaldo)將一個(gè)輸出信號(hào)賦值為0。
· 輸出脈沖信號(hào)指令:PulseDOPLength:=0.2,do1 do1:輸出信號(hào)名。(signaldo)輸出一個(gè)脈沖信號(hào),脈沖長度為0.2s。
參變量:[PLength](num) 脈沖長度,0.1s-32s。
b、輸入信號(hào)指令:
WaitDI di1, 1
di1:輸入信號(hào)名。(signaldi)
3、參變量
· [MaxTime](num)等待輸入信號(hào)最長時(shí)間s。
· [TimeFlag](bool)邏輯量,TRUE或FALSE。
如果只選用參變量[MaxTime],等待超過最長時(shí)間后,機(jī)器人停止運(yùn)行,并顯示相應(yīng)出錯(cuò)信息。如果同時(shí)選用參變量[MaxTime]與參變量[TimeFlag],等待超過最長時(shí)間后,無論是滿足等待的狀態(tài),機(jī)器人將自動(dòng)執(zhí)行下一句指令。如果在最長等待時(shí)間內(nèi)得到相應(yīng)信號(hào),將邏輯量置為FALSE,如果超過最長等待時(shí)間,邏輯量置為TRUE。
4、通信指令(人機(jī)對(duì)話)
a、清屏指令:TPErase
b、寫屏指令:PWrite String tring:顯示的字符串。(string)在示教器顯示屏上顯示字符串?dāng)?shù)據(jù),也可以用"……"形式直接定義字符串,每一個(gè)寫屏指令最多顯示80個(gè)字符。
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ī)器人自動(dòng)給數(shù)字變量賦于相應(yīng)數(shù)值1-5。
5、程序運(yùn)行停止指令
a、停止指令Stop:機(jī)器人停止運(yùn)行,軟停止指令(Soft Stop),直接在下一句指令啟動(dòng)機(jī)器人。
b、停止指令Exit:機(jī)器人停止運(yùn)行,并且復(fù)位整個(gè)運(yùn)行程序,將程序運(yùn)行指針移至主程序第一行。機(jī)器人程序必須從頭運(yùn)行。
c、停止指令Break:機(jī)器人立刻停止運(yùn)行,有沖擊,直接在下一句指令啟動(dòng)機(jī)器人。
6、計(jì)時(shí)指令
a、時(shí)鐘復(fù)位指令:ClKReset Clock Clock:機(jī)器人時(shí)鐘名稱。(clock)
b、時(shí)鐘啟動(dòng)指令:ClKStart Clock Clock:機(jī)器人時(shí)鐘名稱。(clock)
c、時(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),并且不超過機(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ù)類型為Loaddata。
免責(zé)聲明:本文系網(wǎng)絡(luò)轉(zhuǎn)載