<< 向前        下一页 >>

ID : 5112

程序应用示例

程序应用示例如下所示。

应用示例的内容说明

  • 碰撞检测功能可设定多个工作台。

    下述示例中,使用设定的多个工作台,将碰撞检测功能全部设为有效,使用时仅提高特定部分检测灵敏度。

  • 通过“SetCollisionDetection”指令设定整体动作和特定动作用工作台。
    在整体动作开始前,通过“CollisionDetection”指令将整体动作用工作台设为有效。
    在特定动作前,将特定动作用工作台设为有效。

    特定动作完成后,通过“CollisionDetection”指令将特定动作用工作台设为无效。
    最后通过“GetCollisionStatus”指令确认碰撞检测状态,发生碰撞时进行躲避。

  • 但是,实际使用时,特权任务或其它任务中使用“GetCollisionStatus”监视碰撞状态,需要不断执行躲避动作或机器人停止等回避动作。

应用示例

Sub Main '开始程序。
  '整体动作用碰撞检测(工作台1,机器人轴,无错误输出)
  SetCollisionDetection 1, &h3f, J(100,100,100,100,100,100), 1
  '选取用碰撞检测(工作台2,机器人轴,有错误输出)
  SetCollisionDetection 2, &h3f, J(100,50,50,100,50,100), 0
  
  TakeArm 0
  Extspeed 80
  Speedmode 3
  Motor ON
  
  Move P,@0 P1
  '整体动作用工作台设为有效
  CollisionDetection True, 1
  
  '选取&装入动作
  '目标点上空位置
  Approach L, P2, 100
  
  '选取动作
  '特定动作用工作台设为有效并提高检测灵敏度
  CollisionDetection True, 2
  Move L,@0 P2, Speed = 10
  Depart L, 100
  
  '结束特定动作用碰撞检测
  CollisionDetection False, 2
  :
 :
 '结束整体动作用碰撞检测
 CollisionDetection False, 1
  
  '确认碰撞状态
  I1 = GetCollisionStatus(1)
  If Not I1 = 0 Then Goto ErrProc
  
ExitProc:
  Exit Sub

ErrProc:
  
  '错误处理
  S0="检测到碰撞。请确认工件"

End Sub '结束程序。

 

ID : 5112

<< 向前        下一页 >>