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

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

3天内不再提示

KUKA E6POS结构类型的变量定义

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-05-22 14:57 次阅读

$POS_ACT

当前笛卡尔机器人位置

E6POS结构类型的变量定义了TCP相对于BASE坐标系的设定点位置。

 X、Y、Z:原点沿轴的偏移,单位为[mm]

 A、B、C:轴角度的旋转偏移,单位为[°]

变量是写保护的。在机器人程序中,变量触发提前运行停止。

$POS_ACT_MES

测量的笛卡尔机器人位置

E6POS结构类型的变量定义了TCP相对于BASE坐标系的实际位置。

 X、Y、Z:原点沿轴的偏移,单位为[mm]

 A、B、C:轴角度的旋转偏移,单位为[°]

例子1:

piece_found = $POS_ACT_MES

机器人的当前位置现在就是工件的位置。在此将其保存到一个变量中

例子2:

用该指令将工具逆着冲击方向拉回 100 mm,这不取决于机器人现在位于哪个位置上

LIN $POS_ACT : {x -100, y 0, z 0, a 0, b 0, c 0}

前提是冲击方向在 X 方向上。

$POS_ACT 是结构类型 E6POS 的系统变量,含有当前的笛卡尔机器人位置。

$POS_BACK,$POS_F OR–P2近似

a72abb92-f74e-11ed-90ce-dac502259ad0.png

1单块

2中间块

3后续块

$POS_BACK当前运动块的笛卡尔起始位置

E6POS结构类型的变量定义了TCP相对于BASE坐标系的起始位置。

 X、Y、Z:原点沿轴的偏移,单位为[mm]

 A、B、C:轴角度的旋转偏移,单位为[°]

$POS_BACK可用于返回到中断的动作指令的起始位置$POS_BACK对应于用于近似窗口内的中断的窗口的开始,并且对应于用于在近似窗口之后的中断的窗的结束$POS_BACK触发KRL程序中的提前运行停止。

近似PTP运动

PTP P1

PTP P2 C_PTP

PTP P3

$POS_FOR 当前运动块的笛卡尔目标位置

E6POS结构类型的变量定义了TCP相对于BASE坐标系的目标位置。

 X、Y、Z:原点沿轴的偏移,单位为[mm]

 A、B、C:轴角度的旋转偏移,单位为[°]

$POS_FOR可用于移动到中断的运动指令的目标位置$POS_FOR对应于近似窗口内的中断的窗口的结束,并且对应于近似窗之前的中断的窗的开始$POS_FOR触发KRL程序中的提前运行停止。

$POS_INT发生中断时的笛卡尔机器人位置

E6POS结构类型的变量定义了中断时TCP相对于BASE坐标系的位置。

 X、Y、Z:原点沿轴的偏移,单位为[mm]

 A、B、C:轴角度的旋转偏移,单位为[°]

$POS_INT可用于返回到触发中断的笛卡尔位置。该变量仅在中断程序中允许,并触发提前运行停止。

$POS_RET 离开路径时的笛卡尔机器人位置

E6POS结构类型的变量定义了TCP在编程路径离开时相对于BASE坐标系的位置。

 X、Y、Z:原点沿轴的偏移,单位为[mm]

 A、B、C:轴角度的旋转偏移,单位为[°]

当机器人静止时,可以使用$POS_RET返回到留下路径的笛卡尔位置。

示例 :

在编程设定的轨迹上有两个物品,其位置通过两个连接在输入端 6 和 7 上的传感器识别。然后要接近这两个已识别到的位置。

为此,将两个已识别到的位置保存为点 P_1 和 P_2。在主程序的第二个部分接近这些点。

如果机器人控制系统识别到用 INTERRUPT … DECL … WHEN … DO … 定义的事件,则始终在系统变量 $AXIS_INT (与轴相关)和 $POS_INT (笛卡尔)中保存当前的机器人位置。

主程序:

局部中断程序 1:

DEF PROG()

...

INTERRUPT DECL 10 WHEN $IN[6]==TRUE DO UP1()

INTERRUPT DECL 20 WHEN $IN[7]==TRUE DO UP2()

...

INTERRUPT ON

LIN START

LIN END

INTERRUPT OFF

LIN P_1

LIN P_2

...

END

局部中断程序 2:

DEF UP1()

P_1=$POS_INT

END

DEF UP2()

P_2=$POS_INT

END

示例 2

在碰撞识别时要求快速和可靠地停止机器人。为此,用 BRAKE F 声明中断。

如果超出轴 A1 上的正转矩 1500 Nm,则中断立即开始 BRAKE F 并调用子程序STOP_FAST()。如果机器人停止,则沿工具方向 X 移动 -10 mm 返回至笛卡尔位置 $POS_INT。$POS_INT 是触发了中断的位置。

DEF PROG()

...

INTERRUPT WITH BRAKE F DECL 25 WHEN $TORQUE_AXIS_ACT[1]>1500 DO

STOP_FAST()

INTERRUPT ON 25

...

END

...

DEF STOP_FAST()

BRAKE F

PTP $POS_INT:{x -10}

...

END

示例 3

按照硬件,在涂胶期间进行不沿轨迹的紧急停止。通过程序停止涂胶并在许用(通过输入端 10)之后将涂胶枪反向定位到轨迹上。

DEF PROG()

...

INTERRUPT DECL 1 WHEN $STOPMESS DO STOP_PROG()

LIN P_1

INTERRUPT ON

LIN P_2

INTERRUPT OFF

...

END

DEF STOP_PROG()

BRAKE F

GLUE=FALSE

WAIT FOR $IN[10]

LIN $POS_RET

GLUE=TRUE

END

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

    关注

    211

    文章

    28320

    浏览量

    206820
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1353

    浏览量

    79041
  • KUKA
    +关注

    关注

    3

    文章

    217

    浏览量

    16507

原文标题:KUKA轨迹位置系统变量之$POS系列变量V13.17

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    变量的声明和定义有什么区别和联系

    内存空间并指定一个标识符或名称以及数据类型定义变量时,需要指定变量类型以及它的初始值(可选)。变量
    的头像 发表于 12-07 16:14 1102次阅读

    结构类型定义的一般格式

    体它是将若干个不同类型的数据变量有序地组合在一起而形成的一种数据集合体。一般来说,结构体中各个变量之间是存在某些联系的,例如时间的时分秒,日期中的年月日1.
    发表于 12-08 07:13

    结构变量定义与使用变量访问结构体成员

    知识点回顾关于找最大公共子串的两种解题方法结构体的定义(3种)结构变量定义与使用变量访问
    发表于 12-17 07:10

    Python私有变量定义方法

    通过在类中定义接口,实现私有变量的引用、读取和修改。除了Python私有变量是使用“_”定义之外,还有两种特殊变量,分别是:1.  _xx 
    发表于 02-13 16:49 1655次阅读

    51单片机实战教程之C语言基础(四 C语言变量定义

    C语言中的特殊数据类型包含:结构体、枚举、公用体(联合)、数组、指针。特殊数据类型定义变量定义
    发表于 11-21 09:06 7次下载
    51单片机实战教程之C语言基础(四 C语言<b class='flag-5'>变量</b><b class='flag-5'>定义</b>)

    STRUC:定义结构类型

    部件: 组件的名称。在结构类型之内只允许进行一次。只在栏拥有 CHAR 类型且是一维时,才允许将其用作结构类型的组件。为此,在
    的头像 发表于 08-03 15:10 2122次阅读

    STRUCT和UDT类型变量是什么意思

    STRUCT和UDT类型变量是表示一个完整结构或一个结构元素的结构变量
    的头像 发表于 08-29 11:09 2200次阅读

    SCL:STRUCT和UDT类型变量的赋值

    STRUCT和UDT类型变量是表示一个完整结构或一个结构元素的结构变量
    的头像 发表于 01-31 13:38 1518次阅读

    C语言如何定义结构类型变量

    定义结构变量后,系统会为之分配内存单元。根据结构类型中包含的成员情况,在Visual C++中占63个字节。 * 这种声明方式是声
    的头像 发表于 03-10 15:35 1245次阅读

    KUKA变成STRUC:定义结构类型

    部件: 组件的名称。在结构类型之内只允许进行一次。只在栏拥有 CHAR 类型且是一维时,才允许将其用作结构类型的组件。为此,在
    的头像 发表于 04-14 11:41 1007次阅读

    KUKA变成STRUC:定义结构类型升级版

    结构类型定义 (=STRUC 数据类型)。在此将多个数据类型汇总为一个新的数据类型
    的头像 发表于 04-20 17:41 1363次阅读

    KUKA轨迹位置系统变量$POS_BACK,$POS_FOR,$POS_INT和$POS_RET

    POS_BACK可用于返回到中断的动作指令的起始位置$POS_BACK对应于用于近似窗口内的中断的窗口的开始,并且对应于用于在近似窗口之后的中断的窗的结束$POS_BACK触发KRL程序中的提前运行停止。
    的头像 发表于 05-19 09:37 4812次阅读
    <b class='flag-5'>KUKA</b>轨迹位置系统<b class='flag-5'>变量</b>$<b class='flag-5'>POS</b>_BACK,$<b class='flag-5'>POS</b>_FOR,$<b class='flag-5'>POS</b>_INT和$<b class='flag-5'>POS</b>_RET

    结构体成员变量的引用方法123

    这里采用的是常用的typedef关键字进行定义结构类型,可以看到student_t这种数据类型里面有4个成员变量,分别是学号、姓名、分数、
    的头像 发表于 07-08 14:45 2639次阅读
    <b class='flag-5'>结构</b>体成员<b class='flag-5'>变量</b>的引用方法123

    使用结构化的PLC变量的工作原理

    要创建结构化的 PLC 变量,首先需要定义一个 PLC 数据类型 (UDT)。 并在该数据类型中声明所需的数据元素并指定它们的名称和数据
    发表于 07-10 12:47 967次阅读
    使用<b class='flag-5'>结构</b>化的PLC<b class='flag-5'>变量</b>的工作原理

    怎么快速进行变量和函数的命名?

    enum(枚举)类型,前缀使用“e”+枚举变量名,其成员前缀为枚举变量或者其缩写;struct(结构体)
    发表于 08-18 10:30 351次阅读