当前位置:首页 > 机械维修 > 智能机器人

ABB机器人的搬运码垛指令解析大全

时间:2024-04-11 14:14:14 责编:您淘淘网 0浏览

  ABB机器人的搬运码垛是在现实生活中运用广泛切实用的一个应用,不管是工厂,物流公司,以及许多高新科技展会上也有相应的展示。这个应用对于ABB机器人来说也一个成熟且应用广泛的技术,下面对ABB机器人码垛技术的指令做一个解析希望对ABB机器人的操作有帮助

  ABB机器人轴配置监控指令

  ConfL:

  其指定ABB机器人在线性运动及圆弧运动过程中是否严格遵循程序中已设定的轴配置参数。默认情况下轴配置监控是打开的,当关闭轴配置监控后,机器人在运动过程中采取*接近当前轴配置数据的配置到达指定目标点。

  比如:目标点p10中,数据[1,0,1,0]就是此目标点的轴配置数据;

  CONST robtarget p10:=[[*,*,*],[*,*,*,*],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

  ConfLOff;

  MoveL p10,v1000,fine,tool0;

  ABB机器人自动匹配一组*接近当前各关节轴姿态的轴配置数据移动至目标点p10,到达p10点时,轴配置数据不一定为程序中指定的[1,0,1,0]

  在某些应用场合,如离线编程创建目标点或手动示教相邻两目标点间轴配置数据相差较大时,在ABB机器人运动过程中容易出现报警“轴配置错误”而造成停机,此种情况下,若对轴配置要求较高,则一般通过添加中间过渡点,若对轴配置要求不高,则可通过指令ConfLOff关闭轴监控,使机器人自动匹配可行的轴配置来到达指定目标点。

  注:ConfJ用法与ConfL相同,只不过

  前者为关节线性运动过程中的轴监控开关,影响的是MoveJ;而后者为线性运动过程中的轴监控开关,影响的是MoveL。

  ABB机器人的计时指令

  在ABB机器人运动过程中,我们经常需要利用计时功能来计算当前机器人运行节拍,并通过写屏指令显示相关信息。

  这里我们以一个完整的计时案例来学习一下关于计时并显示计时信息的综合运用:

  VAR clock clock1;

  !定义时钟数据clock1

  VAR num CycleTime;

  !定义数字型数据CycleTime,用于存储时间数值

  ClkReset clock1;

  !时钟复位

  ClkStart clock1;

  !开始计时

  …

  A机器人运动指令等

  ClkStop clock1;

  !停止计时

  CycleTime:=ClkRead(clock1);

  !读取时钟当前数值,并赋值给CycleTime

  TPErase;

  !清屏

  TPWrite“The Last CycleTime is”Num:=CycleTime;

  !写屏,在示教器屏幕上显示节拍信息,假设当前数值CycleTime为10,则示教器屏幕上*终显示信息为:

  “The Last CycleTime is 10”

  1.3动作触发指令

  TriggL:在线性运动过程中,在指定位置准确的触发事件(如置位输出信号、激活中断等)。我们可以定义多种类型的触发事件,如TriggIO(触发信号),TriggEquip(触发装置动作),TriggInt(触发中断)等。

  这里以触发装置动作类型为例,(在准确的位置触发机器人夹具的动作通常采用此种类型的触发事件):

  TriggL.png

  VAR triggdata GripOpen;

  !定义触发数据GripOpen

  TriggEquip GripOpen,10,0.1DOp:=doGripOn,1;①

  !定义触发事件GripOpen,在距离指定目标点前10mm处,并提前0.1s(用于抵消设备动作延迟时间)触发指定事件:将数字输出信号doGripOn置为1。

  TriggL p1,v500,GripOpen,z50,tGripper;

  !执行TriggL,调用触发事件GripOpen,即机器人TCP在朝向P1点运动过程中,在距离P1点前10mm处,并且再提起0.1秒则将doGripOn置为1。

  比如,为提高节拍时间,在控制吸盘夹具动作过程中,在吸取产品时我们需要提前打开真空,在放置产品时我们需要提前释放真空,为了能够准确的触发吸盘夹具的动作,我们通常采用Trigg指令来对其进行控制。

  注:如果在触发距离后面添加可选参

  变量Start,则触发距离的参考点不再是终点,而是起点。

  比如:

  TriggEquip GripOpen,10Start,0.1DOp:=doGripOn,1;

  TriggL p1,v500,GripOpen,z50,tGripper;

  则当机器人TCP朝向p1点运动过程中,离开起点后10mm处,并且提前0.1s触发GripOpen事件。

  ABB机器人的搬运码垛指令解析

  1.4数组的应用

  在定义程序数据时,我们可以将同种类型、同种用途的数值存放在同一个数据中,当我们调用该数据时需要写明索引号来指定我们调用的是该数据中的哪个数值,这就是我们所谓的数组。在RAPID中可以定义一维数组、二维数组以及三维数组。

  比如,一维数组:

  VAR num num1{3}:=[5,7,9];

  !定义一维数组num1

  num2:=num1{2};

  !num2被赋值为

  比如,二维数组:

  VAR num num1{3,4}:=[[1,2,3,4]

  [5,6,7,8]

  [9,10,11,12]];

  !定义二维数组num1;

  num2:=num1{3,2};

  !num2被赋值为10

  在程序编写过程中,当需要调用大量的同种类型、同种用处的数据时,我们在创建数据时可以利用数组来存放该些数据,这样便于在编程过程中对其进行灵活调用;

  甚至在大量IO信号调用过程中,我们也可以先将IO进行别名的操作,即将IO信号与信号数据关联起来,之后将这些信号数据定义为数组类型,在程序编写中便于对同类型、同用处的信号进行调用。

  ABB机器人的中断程序①

  在程序执行过程中,如果发生需要紧急处理的情况,这就要中断当前程序的执行,马上跳转到专门的程序中对紧急情况进行相应处理,处理结束后返回至中断的地方继续往下执行程序。专门用来处理紧急情况的专门程序称作中断程序(TRAP)

  比如:

  VAR intnum intno1;

  !定义中断数据intno1

  Idelet intno1;

  !取消当前中断符intno1的连接,预防误触发。

  CONNECT intno1 WITH tTrap;

  !将中断符与中断程序tTrap连接。

  ISignalDI di1,1,intno1;②

  !定义触发条件,即当数字输入信号di1为1时,触发该

  中断程序。

  TRAP tTrap

  reg1:=reg1+1;

  ENDTRAP

  我们不需要在程序中对该中断程序进行调用,定义触发条件的语句一般放在初始化程序中,当程序启动运行完该定义触发条件的指令一次后,则进入中断监控,当数字输入信号di1变为1时,则机器人立即执行tTrap中的程序,运行完成之后,指针返回至触发该中断的程序位置继续往下执行。

  ABB机器人的复杂程序数据赋值

  多数类型的程序数据均是组合型数据,即里面包含了多项数值或字符串。我们可以对其中的任何一项参数进行赋值。

  比如我们常见的目标点数据:

  PERS robtarget p10:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

  PERS robtarget p20:=[[100,0,0],[0,0,1,0],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

  目标点数据里面包含了四组数据①,从前往后依次为TCP位置数据[0,0,0](trans)、TCP姿态数据[1,0,0,0](rot)、轴配置数据[1,0,1,0](robconf)、外部轴数据(extax);

  我们可以分别对该数据的各项数值进行操作,如:

  p10.trans.x:=p20.trans.x+50;

  p10.trans.y:=p20.trans.y-50;

  p10.trans.z:=p20.trans.z+100;

  p10.rot:=p20.rot;

  p10.robconf:=p20.robconf;

  赋值后则p10为:

  PERS robtarget p10:=[[150,-50,100],[0,0,1,0],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

  • 打赏
  • 举报
他们在看
  • 鲁班锁由来
    来历一:孔明锁,相传是三国时期诸葛孔明根据八卦玄学的原理发明的一种玩具,曾广泛流传于民间。逐渐得到人们的重视,它对放松身心,开发大
    您淘淘网 您淘淘网 开锁换锁 01-01 0浏览
  • 世界上谁发明了锁
    丹尼克波特;解读:18世纪初期,英国人,丹尼克波特发明了凸轮转片锁,其钥匙就发展到80多种,可见当时的锁已经随处可见。19世纪中叶,欧洲制造
    您淘淘网 您淘淘网 开锁换锁 01-01 0浏览
  • 钥匙和锁是谁发明的
    钥匙和锁是古埃及人发明的。因为在古埃及,人们需要保护自己的财物和贵重的物品,因此发明了钥匙和锁来保护它们的安全。最早的钥匙和
    您淘淘网 您淘淘网 开锁换锁 01-01 0浏览
  • 冰心锁的故事
    冰心锁是一种传说中的锁,相传是元代女诗人冰心所发明的,这种锁只有十道钥匙槽,但需要使用四十把不同形状的钥匙才能开启。据说这种锁
    您淘淘网 您淘淘网 开锁换锁 01-01 0浏览
  • 鲁班锁是何时发明的
    是春秋时期鲁班发明的鲁班锁亦称孔明锁、别闷棍、六子联方、莫奈何、难人木等,它起源于中国古代建筑中首创的榫卯结构。
    您淘淘网 您淘淘网 开锁换锁 01-01 0浏览
  • 木村锁是谁创的
    木村锁是由日本工程师木村龙太郎于1930年创造的一种机械锁。这种锁的特点是使用了多个旋转圆盘来组成密码,每个圆盘上有10个数字,通
    您淘淘网 您淘淘网 开锁换锁 01-01 0浏览
  • 推荐文章
  • 来历一:孔明锁,相传是三国时期诸葛孔明根据八卦玄学的原理发明的一种玩具,曾广泛流传于民间。逐渐得到人们的重视,它对放松身心,开发大
    鲁班锁由来
    您淘淘网 您淘淘网 开锁换锁 0浏览
  • 丹尼克波特;解读:18世纪初期,英国人,丹尼克波特发明了凸轮转片锁,其钥匙就发展到80多种,可见当时的锁已经随处可见。19世纪中叶,欧洲制造
    世界上谁发明了锁
    您淘淘网 您淘淘网 开锁换锁 0浏览
  • 钥匙和锁是古埃及人发明的。因为在古埃及,人们需要保护自己的财物和贵重的物品,因此发明了钥匙和锁来保护它们的安全。最早的钥匙和
    钥匙和锁是谁发明的
    您淘淘网 您淘淘网 开锁换锁 0浏览
  • 推荐问答
  • 您淘淘网 您淘淘网

    来历一:孔明锁,相传是三国时期诸葛孔明根据八卦玄学的原理发明的一种玩具,曾广泛流传于民间。逐渐得到人们的重视,它对放松身心,开发大

  • 您淘淘网 您淘淘网

    丹尼克波特;解读:18世纪初期,英国人,丹尼克波特发明了凸轮转片锁,其钥匙就发展到80多种,可见当时的锁已经随处可见。19世纪中叶,欧洲制造

  • 您淘淘网 您淘淘网

    钥匙和锁是古埃及人发明的。因为在古埃及,人们需要保护自己的财物和贵重的物品,因此发明了钥匙和锁来保护它们的安全。最早的钥匙和

  • 觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    微信扫一扫打赏