0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ABB机器人之高级编程 安全域World Zone的使用

aIpM_gongkongwo 来源:fqj 2019-04-28 15:17 次阅读

一、简介

World Zones的作用是在机器人位于用户专门定义的区域内时,停止该机器人或设置一个输出信号

有如下特性:

1、当TCP或者关节值 进入某个区间或离开某个区间的时候,Set一个输入输出信号;

2、当机器人到达某个区间的边界时,停止机器人;

3、可以定义 长方体、圆柱体、球体以及关节值区域;

4、可以通过启动自动激活,也可以使用程序进行激活与禁用;

5、手动、自动都有效;

6、如果是多机器人系统,每个机器人都有自己独立的World Zone。

二、典型应用

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前,重新启用该监控。当达到该

位置时,擦除全局区域定义。

4、WZDOSet - 启用全局区域,设置数字信号输出

WZDOSet(World Zone Digital Output Set)用于定义行动,并启用全局区域,以监控机械臂移动。在执行该指令后,当机械臂TCP或机械臂/外轴(接头中的区域)位于指定全局区域内,或正在接近全局区域时,将数字信号输出信号设置为指定值。

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

机械臂TCP在程序执行期间位于指定球体内时,或出现点动时,有关在设置信号

do_service的应用程序中的临时全局区域service的定义。

变元 WZDOSet [Temp] | [Stat] WorldZone [Inside] | [Before] Shape Signal SetValue

启用规定的全局区域。从此刻起,监控机械臂TCP位置(或机械臂/外接头位置),且

当机械臂TCP位置(或机械臂/外接头位置)位于体积(Inside)内或接近体积

(Before)边界时,将设置输出。

如果使用WZHomeJointDef或WZLimJointDef连同WZDOSet,则仅当所有有效轴以

及接头空间监控位于接头空间前或内部时,方才设置数字信号输出信号。

5、WZLimSup - 启用全局区域限制监控

WZLimSup(World Zone Limit Supervision)用于定义行动,并启用全局区域,以监控机械臂或外轴的工作区域。

执行该指令后,在程序执行和点动期间,当机械臂TCP达到规定全局区域,或当机械

臂/外轴达到接头中的规定全局区域时,移动得以停止。

VAR wzstationary max_workarea;

PROC POWER_ON()

VAR shapedata volume;

WZBoxDef Outside, volume, corner1, corner2;

WZLimSup Stat, max_workarea, volume;

ENDPROC

包含箱外区域(临时储存在volume中)以及行动工作区域监控的固定式全局区域

max_workarea的定义和启用。在进入箱外区域之前,机械臂在出现错误消息时停止。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7045

    浏览量

    89056
  • 编程
    +关注

    关注

    88

    文章

    3616

    浏览量

    93743
  • ABB机器人
    +关注

    关注

    15

    文章

    89

    浏览量

    13507

原文标题:ABB机器人之高级编程:安全域World Zone 的使用

文章出处:【微信号:gongkongworld,微信公众号:工控资料窝】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ABB IRB5400-喷涂工业机器人

    ` 本帖最后由 京五环以外 于 2015-1-14 11:17 编辑 ABB机器人IRB 5400是一个喷涂机器人家族,拥有喷涂精确、正常运行时间长、漆料耗用省、工作节拍短以及有效集成涂装设备等
    发表于 01-14 11:16

    ABB焊接机器人问题

    我的ABB机器人做焊接用。机器人给焊机的doweldon信号正常,也与机器人内部的weldon信号映射过,但是在使用编程指令arcl /ar
    发表于 10-16 23:07

    ABB机器人与单片机的数字通讯

    ABB用的是DEVICENET,请问有什么单片机可以直接与ABB机器人通讯吗?也就是说有什么单片机可以用DEVICENET吗
    发表于 10-28 11:00

    ABB机器人维修保养指南

    发挥到了快速、准确、实惠的优势,而且大大降低了维修费用。维修价格合理。我们的维修工程师会全职全责,服务到底。 上海仰光电子机器人技术有限公司主营产品:ABB机器人集成销售|工业机器人
    发表于 08-19 10:32

    ABB机器人驱动器相关故障维修型号有哪些?

    ABB机器人驱动器相关故障维修型号有哪些?苏州吉海机电设备有限公司提供机器人售后服务(产业用机器人的保养、维护、维修等)、技术咨询等相关工作。ABB
    发表于 10-10 16:02

    ABB机器人实训平台实验

    ZN-IRB01ABB机器人实训平台一、概述ZN-IRB01ABB机器人实训平台包含六自由度工业机器人、传感器检测系统、PLC控制系统及一套
    发表于 07-01 08:57

    工业机器人仿真与编程

    目录概述行走轴模型拆分行走轴模型导入仿真软件创建行走轴机械装置外部轴配置向导插件安装虚拟机器人系统创建行走轴系统配置机器人安装到行走轴行走轴运动控制文已经首发在个人微信公众号:工业机器人仿真与
    发表于 09-07 08:57

    ABB将简易编程工具扩展到工业机器人产品系列

    ABB将简易编程工具扩展到工业机器人产品系列,无需专门培训即可轻松安装、编程和操作机器人ABB
    的头像 发表于 01-18 10:04 2075次阅读

    ABB机器人线速度_青岛ABB机器人发生电源故障维修

    青岛ABB机器人发生电源故障维修工具:检查ABB机器人DSQC604故障指示灯LED已经亮起时,则表示ABB
    发表于 01-11 13:32 12次下载
    <b class='flag-5'>ABB</b><b class='flag-5'>机器人</b>线速度_青岛<b class='flag-5'>ABB</b><b class='flag-5'>机器人</b>发生电源故障维修

    工业机器人编程

    工业机器人编程 工业机器人一般使用的编程语言主要有:基于图形化编程界面的编程语言,如
    发表于 06-26 14:03 851次阅读

    ABB机器人拓展其免费的Wizard简易编程软件的应用范围

    近日,ABB机器人拓展了其免费的Wizard简易编程软件的应用范围,除了协作机器人外,现在该软件也可应用于由OmniCore™控制器驱动的六轴工业
    的头像 发表于 01-09 09:46 1064次阅读
    <b class='flag-5'>ABB</b><b class='flag-5'>机器人</b>拓展其免费的Wizard简易<b class='flag-5'>编程</b>软件的应用范围

    abb工业机器人编程语言是什么

    ABB工业机器人编程语言主要是RAPID(Robot Application Programming Interface for Development),它是一种高级
    的头像 发表于 06-16 16:49 2561次阅读

    abb机器人movej和movel的区别

    ABB机器人是一种广泛应用于工业自动化领域的智能设备,具有高度的灵活性和可靠性。在ABB机器人编程和操作中,movej和movel是两种常
    的头像 发表于 06-17 09:26 3256次阅读

    abb机器人常用指令大全

    ABB机器人是一种广泛应用于工业自动化领域的智能设备,其指令系统丰富多样,能够满足各种复杂场景的需求。 基本指令 1.1 Move指令 Move指令是ABB机器人最基本的运动指令,用于
    的头像 发表于 06-17 09:35 6810次阅读

    abb机器人系统密钥在哪

    ABB机器人系统密钥是ABB机器人系统中用于保护其知识产权和确保系统安全性的一种技术手段。本文将详细介绍
    的头像 发表于 06-17 09:45 1366次阅读