库卡KUKA-MoveJ()/MoveL()-运动程序-私有库

简介:

  • 用于替代KUKA联机表单,降低编程难度

应用:

1.首先需要在主程序中新增两条运动指令:一条PTP和一条LIN

2.在初始化程序中新增配置语句

初始化程序

DEF prog_initial()

$BWDSTART = FALSE

PDAT_ACT = PPDAT1

LDAT_ACT = LCPDAT1

FDAT_ACT = FP1

END

3.新增MoveJ和MoveL子程序

MoveJ轴运动程序

DEF MoveJ(JPOS:IN,JTOOL:IN,JBASE:IN,JVEL:IN,JAPO:IN)

;*******************************************

;Name       :MoveJ

;Author     :Wen

;Version    :1.0

;Created    :05.17.2021

;Go to target position as soon as possible

;*******************************************

DECL E6POS JPOS   ;target position

DECL INT JTOOL      ;tool number

DECL INT JBASE       ;base number

DECL REAL JVEL       ;velocity scale unit:%

DECL REAL JAPO      ;approach scale unit:%

FDAT_ACT.TOOL_NO = JTOOL

FDAT_ACT.BASE_NO = JBASE

IF JAPO > 0 THEN

PDAT_ACT.APO_DIST = JAPO

BAS(#PTP_PARAMS,JVEL)

PTP JPOS C_PTP

ELSE

BAS(#PTP_PARAMS,JVEL)

PTP JPOS

ENDIF

END

MoveL线运动程序

DEF MoveL(LPOS:IN,LTOOL:IN,LBASE:IN,LVEL:IN,LAPO:IN)

;*******************************************

;Name       :MoveL

;Author     :Wen

;Version    :1.0

;Created    :05.17.2021

;Go to target position as line

;*******************************************

DECL E6POS LPOS       ;target position

DECL INT LTOOL          ;tool number

DECL INT LBASE           ;base number

DECL REAL LVEL           ;velocity scale unit:%

DECL REAL LVEL_LINE ;velocity           unit:m

DECL REAL LAPO          ;approach scale unit:%

FDAT_ACT.TOOL_NO = LTOOL

FDAT_ACT.BASE_NO = LBASE

LVEL_LINE = 2.0 * LVEL / 100

IF LAPO > 0 THEN

LDAT_ACT.APO_DIST = LAPO

BAS(#CP_PARAMS,LVEL_LINE)

LIN LPOS C_DIS

ELSE

BAS(#CP_PARAMS,LVEL_LINE)

LIN LPOS

ENDIF

END

4.应用样例:

 其他需说明事项:

  • 自编子程序相比联机表单优势在于编程和调试方便,可以在工程师站将程序全部编好下进机器人即可生效。
  • 劣势在于机器人在运动中异常停止时,因为是调用子程序运动,所以并不能通过指针来确定是哪一条运动指令出了问题
  • C2中在满足姿态条件的前提下,第一条运动指令可以为LIN,C4中不允许第一条运动指令为LIN
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
abb机器⼈离线编程软件叫做_值得收藏!ABB机器⼈编程基本 知识总汇 ⼀、程序储存器(Programmemory)的组成: 应⽤程序(Program) 系统模块(Systemmodules) 机器⼈程序储存器中,只允许存在⼀个主程序;所有例⾏程序与数据⽆论存在于哪个模块,全部被系统共享;所有例⾏程序与数据除特殊定 义外,名称必须是唯⼀的。 1、应⽤程序(Program)的组成: ·主模块(Mainmodule) 主程序(Mainroutine) 程序数据(Programdata) 例⾏程序(Routines) ·程序模块(Programmodules) 程序数据(Programdata) 例⾏程序(Routines) 2、系统模块(Systemmodules)的组成: ·系统数据(Systemdata) ·例⾏程序(Routines) 所有ABB机器⼈都⾃带两个系统模块,USER模块与BASE模块,根据机器⼈应⽤不同,有些机器⼈会配备相应应⽤的系统模块。建议不要 对任何⾃动⽣成的系统模块进⾏修改。 ⼆、编程窗⼝: 1、菜单键File: 1、 Open:打开⼀个现有⽂件。(程序.prg或模块.mod) 2、 New:新建⼀个程序。 3 、Saveprogram :存储更改后的现有程序。 4 、Saveprogramas:存储⼀个新程序。 5 、Print: 打印程序,现已经不使⽤。 6、 Preferences:定义⽤户化指令集。 7、 Checkprogram :检验程序,光标会提⽰错误。 8 、Close:在程序储存器中关闭程序。 9、 Savemodule :存储更改后的现有模块。(只在Module窗⼝中存在) 10、 Savemoduleas : 存储⼀个新模块。(只在Module窗⼝中存在) 2、菜单键Edit: 1、 Cut:剪切,可能会丢失指令或数据。 2 、Copy :复制。 3 、Paste :粘贴,将剪切或复制的指令或数据粘贴到相应位置。 4、 GotoTop:将光标移⾄顶端。 5、 GotoBottom :将光标移⾄底端。 6 、Mark :定义⼀块,涂⿊部分。 7、 ChangeSelected :修改指令中数据,可直接将光标移⾄相应位置按回车键。 8 、Showvalue: 输⼊数据,可直接将光标移⾄相应数据按回车键。 9、 Modpos :修改机器⼈位置,功能键上有。 10、 Search:寻找指令,程序复杂时很有⽤。 11、功能键:Copy、Paste、Modpos在菜单键Edit中可以找到。 三、指令: 1、基本运动指令: MoveL:线性运动 (Linear) MoveJ:关节轴运动 (Joint) MoveC :圆周运动 (Circular) p1:⽬标位置。(robtarget) v100:运⾏速度mm/s。(speeddata) z10:转弯区尺⼨mm。(zonedata) tool1:⼯具中⼼点TCP。(tooldata) (1)速度选择:mm/s ·将光标移⾄速度数据处,按回车键,进⼊选择窗⼝,选择所需速度。 ·机器⼈运⾏速度属于数据类型speeddata。 ·常⽤运⾏速度在Base模块中已经定义。 ·特殊速度可⾃⾏定义。 ·max速度为v5000,Base模块中定义最⼤速度为v7000,最⼤速度机器⼈未必能达到。 (2)转弯区尺⼨选择:mm ·将光标移⾄转弯区尺⼨数据处,按回车键,进⼊选择窗⼝,选择所需转弯区尺⼨。 ·机器⼈转弯区尺⼨属于数据类型zonedata。 ·常⽤转弯区尺⼨在Base模块中已经定义。 ·特殊转弯区尺⼨可⾃⾏定义。 ·fine指机器⼈TCP达到⽬标点,并在⽬标点速度降为零,连续运⾏时,机器⼈动作有停顿。 ·zone指机器⼈TCP不达到⽬标点,连续运⾏时,机器⼈动作圆滑、流畅。 ·Base模块中已经定义的转弯区尺⼨最⼩为z1,最⼤为z200。 ·尽量使⽤较⼤的转弯区尺⼨。 (3)参变量: 光标指在当前指令时,按功能键OptArg,可选择参变量。 ·[Conc](switch) 协作运动。机器⼈未移动⾄⽬标点,已经开始执⾏下⼀个指令。 ·[ToPoint](robtarget) 在采⽤新指令时,⽬标点⾃动⽣成*。 ·[V](num) 定义速度mm/s。 ·[T](num) 定义时间s。通过时间决定速度。 ·[Z](num) 定义转弯区尺⼨mm。 ·[Wobj](wobjdata) 采⽤⼯件系座标系统。 (4)函数Offs(): MoveLp1,v100,… MoveLp2v100,… MoveLp3,v100,… MoveLp4,v100,… MoveLp1,v100,… ·为了精确确定p1、p2、p3、p4点,可以使⽤函数Offs()。 ·Offs(p1,x,y

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值