您好!欢迎光临工博士商城

库卡KUKA配件专卖店

产品:93    

咨询热线:19121731350

您当前的位置:首页 » 新闻中心 » 库卡机器人编程之SearchL功能
产品分类
新闻中心
库卡机器人编程之SearchL功能
发布时间:2021-10-25        浏览次数:1117        返回列表
   之前,陆陆续续有朋友问库卡机器人上是否也有像ABB机器人系统集成的指令SearchL,答案是否定,目前库卡并没有现成的像searchL功能的指令。首先,我们来看看SearchL指令。
 
  一。SearchL指令简介:
 
  当沿直线移动工具中心点时,SearchL(Search Linear)用于搜索位置。在移动时,机器人会监控一个数字输入信号或持续变量。当信号持续变量的值变为所 需值时,机器人立即读取当前位置。当由机械臂固定的工具为用于表面探测的探针时,通常可使用该指令。使用SearchL 指令,可获得工件的概略坐标。
 
  本指令仅可用于主任务T_ROB1,或者如果在MultiMove系统中,则可用于运动任务 中。使用搜索指令时,重要的是配置I/O系统,以便为设置系统物理信号留以极短的时间, 从而获得关于设置的信息(使用I/O设备以及中断控制,而非查询控制)。如何进行上 述操作,不同的现场总线可能会采用不同的方法。如果使DeviceNet,则ABB单元 DSQC 651(AD Combi I/O)和DSQC 652(数字I/O)将留以短暂的时间,因为他们 正在使用状态变化型连接。如果使用其他现场总线,则确保以正确的方式来配置网络, 从而获得正确的条件。
 
  二。SearchL指令的使用:
 
  1.语法:
 
  2.案例说明:
 
  例 1
 
  SearchL di1, sp, p10, v100, probe;
 
  以v100的速度,使probe的TCP沿直线朝位置p10 移动。当信号di1的值改变为有效
 
  时,将位置储存在sp中。
 
  例 2
 
  SearchL \Stop, di2, sp, p10, v100, probe;
 
  将probe的TCP沿直线朝位置p10移动。当信号di2的数值改变为有效时,将位置储存
 
  在sp中,且机械臂立即停止。
 
  例 3
 
  PERS bool mypers:=FALSE;
 
  …
 
  SearchL mypers, sp, p10, v100, probe;
 
  probe 的 TCP 朝位置 p10 以直线方式移动,速度为 v100。当持续变量 mypers 变
 
  为 TRUE 时,位置存储到 sp。
 
  三。库卡上实现SearchL指令:
 
  如果要在库卡机器人上实现SerachL功能的话,这里需要使用到中断功能,在实现之前,可以先回顾下有关中断的知识点。
 
  当你完全清楚了库卡机器人中断相关指令及知识,接下来的程序(具体可以参照Volvo标准)就会得心应手(程序纯粹摘录,仅供提供思路,如需实际使用可以依照改写):
 
  代码如下:
 
  GLOBAL DEFFCT BOOL SEARCHL(InPno :IN,StopPosition :OUT,EndPosition :IN,VelPara :IN,ToolName :IN,PartDataName :IN,ExtendedLoad :IN )
 
  DECL INT InPno
 
  DECL E6POS StopPosition
 
  DECL E6POS EndPosition
 
  REAL VelPara
 
  DECL ToolType ToolName
 
  DECL LOAD ExtendedLoad           ;Extended Load
 
  DECL PartDataType PartDataName
 
  DECL LOAD ActualLoadTool, ActualLoadPart
 
  Found=FALSE
 
  ChkSub ( )
 
  INTERRUPT DECL 1 WHEN $MEAS_PULSE[InPno]<>FALSE DO Not_Much ( )
 
  CPPara (VelPara,ACT_ACC_CP ) ; path velocity and acceleration
 
  $ADVANCE=0
 
  IF VarState("ExtendedLoad")==#Initialized Then
 
  ActualLoadTool=ExtendedLoad
 
  ActualLoadPart=ExtendedLoad
 
  ELSE
 
  ActualLoadTool=ToolName.TLoad
 
  ActualLoadPart=PartDataName.PartLoad
 
  EndIf
 
  IF ToolName.External THEN
 
  SetExtTool (ToolName ) ; set the $Base
 
  SetFlange (PartDataName,ActualLoadPart ) ; set the $Tool, $Load
 
  $IPO_MODE=#TCP
 
  ELSE
 
  SetTool (ToolName,ActualLoadTool )
 
  SetBase (PartDataName )
 
  $IPO_MODE=#BASE
 
  ENDIF
 
  WAIT FOR  TRUE
 
  Search (EndPosition )   ;搜寻过程如果提前获得结果则触发中断,提前跳出;
 
  IF Found==TRUE THEN
 
  StopPosition=FoundPosition
 
  ENDIF
 
  RETURN  Found
 
  ENDFCT
 
  -----------------------------------------------------------------
 
  DEF Search (EndPosition :IN )
 
  ;*************************************************
 
  ;Function: SearchL.src files
 
  ;*************************************************
 
  DECL E6POS EndPosition
 
  WAIT SEC SEARCHWAIT
 
  INTERRUPT ON 1
 
  LIN  EndPosition
 
  $ADVANCE=0
 
  INTERRUPT OFF 1
 
  END
 
  -----------------------------------------------------------------
 
  DEF Not_Much ( )
 
  INTERRUPT OFF 1
 
  BRAKE
 
  FoundPosition=$POS_INT
 
  Found=TRUE
 
  RESUME
 
  END

 
了解更多:库卡机器人



 

联系热线:19121731350   联系人:潘青源 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 库卡KUKA配件专卖店