一、典型应用
1、当两台机器人的工作区域部分重叠时。可通过World Zones监控来安全地消除这两台机器人相撞的可能性;
2、当该机器人的工作区域内有某种永久性障碍或某些临时外部设备时。可创建一个禁区来防止机器人与此类设备相撞;
3、指明相关机器人正处在一个“允许用可编程逻辑控制器(PLC)来开始执行程序”的位置;
4、出于安全考虑,不可使用此功能进行人员安全的保护。
二、数据类型
数据类型
描述
wztemporary
wztemporary的作用是识别临时全局区域,并可用在RAPID程序中的任何位置。
可通过RAPID指令来禁用、重新启用或擦除临时全局区域。当载入一段新程序时,或当从MAIN例程的起点处开始执行程序时,系统便会自动擦除临时全局区域。
wzstationary
wzstationary的作用是识别固定全局区域,并仅能用在与事件“通电”相关联的一则事件例程中。定义事件例程方面的信息请参见操作员手册 - 带 FlexPendant 的 IRC5。
固定全局区域会始终处于激活状态,而重启(先关闭电源然后再打开电源,或更改系统参数)则会再次激活此类区域。无法通过RAPID指令来禁用、启用或擦除固定全局区域。
如果涉及到安全问题,则应使用固定全局区域。
shapedata
shapedata的作用是描述一个全局区域的几何形状。
可将全局区域定义为4种不同的几何形状:
•一个方盒,所有侧面都与全局坐标系平行
•一个圆柱体,与全局坐标系的z轴平行
一个球体
•针对机器人轴和/或外轴的一个关节角区
VAR shapedata volume;
四、指令
1、WZBoxDef - 定义一个箱形全局区域
WZBoxDef(World Zone Box Definition)用于定义拥有直线箱形状,且各侧均与世
界坐标系各轴平行的全局区域。
如:
VAR shapedata volume;
CONST pos corner1:=[200,100,100];
CONST pos corner2:=[600,400,400];
WZBoxDef \Inside, volume, corner1, corner2;
定义坐标与世界坐标系各轴平行,且由对角corner1和corner2所定义的直线箱。
用机器人定义,需要使用WobJ0.
变元 WZBoxDef [\Inside] | [\Outside] Shape LowPoint HighPoint
2、WZCylDef (全局区域圆柱体定义)为,用于定义外形为圆柱形,且圆柱轴与世界坐标
系z轴平行的全局区域。
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 - 定义球形全局区域
VAR shapedata volume;
CONST pos C1:=[300,300,200];
CONST num R1:=200;
WZSphDef \Inside, volume, C1, R1;
根据其中心C1及其半径R1,定义命名为volume的球体。
变元 WZSphDef [\Inside] | [\Outside] Shape CentrePoint Radius
4、WZHomeJointDef - 定义内部接头的全局区域
WZHomeJointDef(World Zone Home Joint Definition)用于定义接头坐标系中的
全局区域,以便将机械臂和外轴作为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
有关某些轴的值9E9意味着不应该监控该轴。编程期间,
无效外轴亦得出9E9。
5、WZLimJointDef - 定义有关接头内限制的全局区域
WZLimJointDef(World Zone Limit Joint Definition)用于定义接头坐标系中的全
局区域,以便将机械臂和外轴用于工作区域的限制。
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
程序执行和点动期间,固定式全局区域work_limit的定义和启用,将机械臂轴1的工
作区域限制在-90到+90度,并将外轴extax.eax_a限制在-1000 mm。
变元 WZLimJointDef [\Inside] | [\Outside] Shape LowJointVal HighJointVal
1、WZEnable - 启用临时全局区域监控
WZEnable(World Zone Enable)用于重新启用对临时全局区域的监控,其预先定义,以便停止移动或设置输出。
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
当向p_pick移动时,检查机械臂TCP的位置,以便其不会进入指定体积wzone。当转
到p_place时,不实施该监控,但是在转到p_home前,重新启用该监控。
2、WZDisable - 停用临时全局区域监控
WZDisable(World Zone Disable)用于停用对临时全局区域的监控,其预先定义以
便停止移动或设置输出。
VAR wztemporary wzone;
PROC...
WZLimSup \Temp, wzone, volume;
MoveL p_pick, v500, z40, tool1;
WZDisable wzone;
MoveL p_place, v200, z30, tool1;
ENDPROC
当向p_pick移动时,检查机械臂TCP的位置,以便其不会进入指定体积wzone。当转
到p_place时,不实施该监控。
3、WZFree - 擦除临时全局区域监控
WZFree(World Zone Free)用于擦除临时全局区域的定义,其预先定义,以便停止
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
当向p_pick移动时,检查机械臂TCP的位置,以便其不会进入指定体积wzone。当转
到p_place时,不实施该监控,但是在转到p_home前,重新启用该监控。当达到该
位置时,擦除全局区域定义。 更多详情了解ABB机器人配件官网资讯
- 下一篇:ABB机器人控制系统所要达到的功能
- 上一篇:ABB机器人安全处理 USB 存储器