一、簡介
World Zones的作用是在機(jī)器人位于用戶專門定義的區(qū)域內(nèi)時,停止該機(jī)器人或設(shè)置一個輸出信號。
有如下特性:
1、當(dāng)TCP或者關(guān)節(jié)值 進(jìn)入某個區(qū)間或離開某個區(qū)間的時候,Set一個輸入輸出信號;
2、當(dāng)機(jī)器人到達(dá)某個區(qū)間的邊界時,停止機(jī)器人;
3、可以定義 長方體、圓柱體、球體以及關(guān)節(jié)值區(qū)域;
4、可以通過啟動自動激活,也可以使用程序進(jìn)行激活與禁用;
5、手動、自動都有效;
6、如果是多機(jī)器人系統(tǒng),每個機(jī)器人都有自己獨(dú)立的World Zone。
二、典型應(yīng)用
1、當(dāng)兩臺機(jī)器人的工作區(qū)域部分重疊時。可通過World Zones監(jiān)控來安全地消除這兩臺機(jī)器人相撞的可能性;
2、當(dāng)該機(jī)器人的工作區(qū)域內(nèi)有某種永久性障礙或某些臨時外部設(shè)備時。可創(chuàng)建一個禁區(qū)來防止機(jī)器人與此類設(shè)備相撞;
3、指明相關(guān)機(jī)器人正處在一個“允許用可編程邏輯控制器(PLC)來開始執(zhí)行程序”的位置;
4、出于安全考慮,不可使用此功能進(jìn)行人員安全的保護(hù)。
三、數(shù)據(jù)類型
數(shù)據(jù)類型
描述
wztemporary
wztemporary的作用是識別臨時全局區(qū)域,并可用在RAPID程序中的任何位置。
可通過RAPID指令來禁用、重新啟用或擦除臨時全局區(qū)域。當(dāng)載入一段新程序時,或當(dāng)從MAIN例程的起點(diǎn)處開始執(zhí)行程序時,系統(tǒng)便會自動擦除臨時全局區(qū)域。
wzstationary
wzstationary的作用是識別固定全局區(qū)域,并僅能用在與事件“通電”相關(guān)聯(lián)的一則事件例程中。定義事件例程方面的信息請參見操作員手冊 - 帶 FlexPendant 的 IRC5。
固定全局區(qū)域會始終處于激活狀態(tài),而重啟(先關(guān)閉電源然后再打開電源,或更改系統(tǒng)參數(shù))則會再次激活此類區(qū)域。無法通過RAPID指令來禁用、啟用或擦除固定全局區(qū)域。
如果涉及到安全問題,則應(yīng)使用固定全局區(qū)域。
shapedata
shapedata的作用是描述一個全局區(qū)域的幾何形狀。
可將全局區(qū)域定義為4種不同的幾何形狀:
?一個方盒,所有側(cè)面都與全局坐標(biāo)系平行
?一個圓柱體,與全局坐標(biāo)系的z軸平行
?一個球體
?針對機(jī)器人軸和/或外軸的一個關(guān)節(jié)角區(qū)
VAR shapedata volume;
四、指令
1、WZBoxDef - 定義一個箱形全局區(qū)域
WZBoxDef(World Zone Box Definition)用于定義擁有直線箱形狀,且各側(cè)均與世
界坐標(biāo)系各軸平行的全局區(qū)域。
如:
VAR shapedata volume;
CONST pos corner1:=[200,100,100];
CONST pos corner2:=[600,400,400];
WZBoxDef Inside, volume, corner1, corner2;
定義坐標(biāo)與世界坐標(biāo)系各軸平行,且由對角corner1和corner2所定義的直線箱。
用機(jī)器人定義,需要使用WobJ0.
變元 WZBoxDef [Inside] | [Outside] Shape LowPoint HighPoint
2、WZCylDef (全局區(qū)域圓柱體定義)為,用于定義外形為圓柱形,且圓柱軸與世界坐標(biāo)
系z軸平行的全局區(qū)域。
VAR shapedata volume;
CONST pos C2:=[300,200,200];
CONST num R2:=100;
CONST num H2:=200;
WZCylDef Inside, volume, C2, R2, H2;
定義底圓中心C2、半徑R2且高度H2的圓柱體。
變元 WZCylDef [Inside] | [Outside] Shape CentrePoint Radius Height
3、WZSphDef - 定義球形全局區(qū)域
VAR shapedata volume;
CONST pos C1:=[300,300,200];
CONST num R1:=200;
WZSphDef Inside, volume, C1, R1;
根據(jù)其中心C1及其半徑R1,定義命名為volume的球體。
變元 WZSphDef [Inside] | [Outside] Shape CentrePoint Radius
4、WZHomeJointDef - 定義內(nèi)部接頭的全局區(qū)域
WZHomeJointDef(World Zone Home Joint Definition)用于定義接頭坐標(biāo)系中的
全局區(qū)域,以便將機(jī)械臂和外軸作為HOME或SERVICE位置。
VAR wzstationary home;
PROC power_on()
VAR shapedata joint_space;
CONST jointtarget home_pos := [ [ 0, 0, 0, 0, 0, -45], [ 0, 9E9,9E9, 9E9, 9E9, 9E9] ];
CONST jointtarget delta_pos := [ [ 2, 2, 2, 2, 2, 2], [ 5, 9E9,9E9, 9E9, 9E9, 9E9] ];
WZHomeJointDef Inside, joint_space, home_pos, delta_pos;
WZDOSet Stat, home Inside, joint_space, do_home, 1;
ENDPROC
變元 WZHomeJointDef [Inside] | [Outside] Shape MiddleJointVal DeltaJointVal
有關(guān)某些軸的值9E9意味著不應(yīng)該監(jiān)控該軸。編程期間,
無效外軸亦得出9E9。
5、WZLimJointDef - 定義有關(guān)接頭內(nèi)限制的全局區(qū)域
WZLimJointDef(World Zone Limit Joint Definition)用于定義接頭坐標(biāo)系中的全
局區(qū)域,以便將機(jī)械臂和外軸用于工作區(qū)域的限制。
VAR wzstationary work_limit;
PROC power_on()
VAR shapedata joint_space;
CONST jointtarget low_pos:= [ [ -90, 9E9, 9E9, 9E9, 9E9, 9E9],[ -1000, 9E9, 9E9, 9E9, 9E9, 9E9]];
CONST jointtarget high_pos := [ [ 90, 9E9, 9E9, 9E9,9E9, 9E9],[ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9] ];
WZLimJointDef Outside, joint_space, low_pos, high_pos;
WZLimSup Stat, work_limit, joint_space;
ENDPROC
程序執(zhí)行和點(diǎn)動期間,固定式全局區(qū)域work_limit的定義和啟用,將機(jī)械臂軸1的工
作區(qū)域限制在-90到+90度,并將外軸extax.eax_a限制在-1000 mm。
變元 WZLimJointDef [Inside] | [Outside] Shape LowJointVal HighJointVal
五、啟用及停用
1、WZEnable - 啟用臨時全局區(qū)域監(jiān)控
WZEnable(World Zone Enable)用于重新啟用對臨時全局區(qū)域的監(jiān)控,其預(yù)先定
義,以便停止移動或設(shè)置輸出。
VAR wztemporary wzone
PROC ...
WZLimSup Temp, wzone, volume;
MoveL p_pick, v500, z40, tool1;
WZDisable wzone;
MoveL p_place, v200, z30, tool1;
WZEnable wzone;
MoveL p_home, v200, z30, tool1;
ENDPROC
當(dāng)向p_pick移動時,檢查機(jī)械臂TCP的位置,以便其不會進(jìn)入指定體積wzone。當(dāng)轉(zhuǎn)
到p_place時,不實(shí)施該監(jiān)控,但是在轉(zhuǎn)到p_home前,重新啟用該監(jiān)控。
2、WZDisable - 停用臨時全局區(qū)域監(jiān)控
WZDisable(World Zone Disable)用于停用對臨時全局區(qū)域的監(jiān)控,其預(yù)先定義以
便停止移動或設(shè)置輸出。
VAR wztemporary wzone;
PROC...
WZLimSup Temp, wzone, volume;
MoveL p_pick, v500, z40, tool1;
WZDisable wzone;
MoveL p_place, v200, z30, tool1;
ENDPROC
當(dāng)向p_pick移動時,檢查機(jī)械臂TCP的位置,以便其不會進(jìn)入指定體積wzone。當(dāng)轉(zhuǎn)
到p_place時,不實(shí)施該監(jiān)控。
3、WZFree - 擦除臨時全局區(qū)域監(jiān)控
WZFree(World Zone Free)用于擦除臨時全局區(qū)域的定義,其預(yù)先定義,以便停止
移動或設(shè)置輸出。
VAR wztemporary wzone;
PROC ...
WZLimSup Temp, wzone, volume;
MoveL p_pick, v500, z40, tool1;
WZDisable wzone;
MoveL p_place, v200, z30, tool1;
WZEnable wzone;
MoveL p_home, v200, z30, tool1;
WZFree wzone;
ENDPROC
當(dāng)向p_pick移動時,檢查機(jī)械臂TCP的位置,以便其不會進(jìn)入指定體積wzone。當(dāng)轉(zhuǎn)
到p_place時,不實(shí)施該監(jiān)控,但是在轉(zhuǎn)到p_home前,重新啟用該監(jiān)控。當(dāng)達(dá)到該
位置時,擦除全局區(qū)域定義。
4、WZDOSet - 啟用全局區(qū)域,設(shè)置數(shù)字信號輸出
WZDOSet(World Zone Digital Output Set)用于定義行動,并啟用全局區(qū)域,以監(jiān)控機(jī)械臂移動。在執(zhí)行該指令后,當(dāng)機(jī)械臂TCP或機(jī)械臂/外軸(接頭中的區(qū)域)位于指定全局區(qū)域內(nèi),或正在接近全局區(qū)域時,將數(shù)字信號輸出信號設(shè)置為指定值。
VAR wztemporary service;
PROC zone_output()
VAR shapedata volume;
CONST pos p_service:=[500,500,700];
WZSphDef Inside, volume, p_service, 50;
WZDOSet Temp, service Inside, volume, do_service, 1;
ENDPROC
機(jī)械臂TCP在程序執(zhí)行期間位于指定球體內(nèi)時,或出現(xiàn)點(diǎn)動時,有關(guān)在設(shè)置信號
do_service的應(yīng)用程序中的臨時全局區(qū)域service的定義。
變元 WZDOSet [Temp] | [Stat] WorldZone [Inside] | [Before] Shape Signal SetValue
啟用規(guī)定的全局區(qū)域。從此刻起,監(jiān)控機(jī)械臂TCP位置(或機(jī)械臂/外接頭位置),且
當(dāng)機(jī)械臂TCP位置(或機(jī)械臂/外接頭位置)位于體積(Inside)內(nèi)或接近體積
(Before)邊界時,將設(shè)置輸出。
如果使用WZHomeJointDef或WZLimJointDef連同WZDOSet,則僅當(dāng)所有有效軸以
及接頭空間監(jiān)控位于接頭空間前或內(nèi)部時,方才設(shè)置數(shù)字信號輸出信號。
5、WZLimSup - 啟用全局區(qū)域限制監(jiān)控
WZLimSup(World Zone Limit Supervision)用于定義行動,并啟用全局區(qū)域,以監(jiān)控機(jī)械臂或外軸的工作區(qū)域。
執(zhí)行該指令后,在程序執(zhí)行和點(diǎn)動期間,當(dāng)機(jī)械臂TCP達(dá)到規(guī)定全局區(qū)域,或當(dāng)機(jī)械
臂/外軸達(dá)到接頭中的規(guī)定全局區(qū)域時,移動得以停止。
VAR wzstationary max_workarea;
PROC POWER_ON()
VAR shapedata volume;
WZBoxDef Outside, volume, corner1, corner2;
WZLimSup Stat, max_workarea, volume;
ENDPROC
包含箱外區(qū)域(臨時儲存在volume中)以及行動工作區(qū)域監(jiān)控的固定式全局區(qū)域
max_workarea的定義和啟用。在進(jìn)入箱外區(qū)域之前,機(jī)械臂在出現(xiàn)錯誤消息時停止。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7145瀏覽量
89582 -
編程
+關(guān)注
關(guān)注
88文章
3637瀏覽量
93986 -
ABB機(jī)器人
+關(guān)注
關(guān)注
15文章
89瀏覽量
13596
原文標(biāo)題:ABB機(jī)器人之高級編程:安全域World Zone 的使用
文章出處:【微信號:gongkongworld,微信公眾號:工控資料窩】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
ABB IRB5400-噴涂工業(yè)機(jī)器人
ABB焊接機(jī)器人問題
ABB機(jī)器人與單片機(jī)的數(shù)字通訊
ABB機(jī)器人維修保養(yǎng)指南
ABB機(jī)器人驅(qū)動器相關(guān)故障維修型號有哪些?
ABB機(jī)器人實(shí)訓(xùn)平臺實(shí)驗(yàn)
工業(yè)機(jī)器人仿真與編程
ABB將簡易編程工具擴(kuò)展到工業(yè)機(jī)器人產(chǎn)品系列
ABB機(jī)器人線速度_青島ABB機(jī)器人發(fā)生電源故障維修
![<b class='flag-5'>ABB</b><b class='flag-5'>機(jī)器人</b>線速度_青島<b class='flag-5'>ABB</b><b class='flag-5'>機(jī)器人</b>發(fā)生電源故障維修](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
工業(yè)機(jī)器人編程
ABB機(jī)器人拓展其免費(fèi)的Wizard簡易編程軟件的應(yīng)用范圍
![<b class='flag-5'>ABB</b><b class='flag-5'>機(jī)器人</b>拓展其免費(fèi)的Wizard簡易<b class='flag-5'>編程</b>軟件的應(yīng)用范圍](https://file1.elecfans.com/web2/M00/BB/92/wKgZomWcpeiAYM1EAAAn-ynfILU089.png)
評論