程序

如果配置了跟踪终止线,则不会发生4406错误。设置跟踪终止线时,请如以下程序使用Cnv_Flag。若未使用终止线,则勿使用此程序。

要点


  • 如果在程序1中配置完下游范围之后使用程序2,则Cnv_Flag不会返回2和3。
  • 使用程序1时,即便下游设置不充分,但由于机器人终止了跟踪动作,所以机器人也能够无故障运行。但是,终止跟踪会延长周期时间。因此,如果使用程序1,则建议调整下游界线。

程序1

Function RB1
  '移至等待位置P0
  Jump P0
  Do
    '等到工件经过上游范围
    Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
    Jump Cnv_QueGet(1)          '执行传送带跟踪动作命令

    '正常状态下执行拾取
   If Cnv_Flag(1) = 0 Then
       On Vacuum1               '吸附工件
       Wait 0.1

       '若在拾取时工件超过跟踪终止线而中止跟踪动作时,
       '将释放未拾取到的工件
       If Cnv_Flag(1) = 3 Then
          Jump P2               '移至未拾取到的工件的释放位置
          Off Vacuum1           '释放工件
          Wait 0.1
          Jump P0               '移至等待位置P0

       '拾取工件后移动到放置位置P1
       Else
          Cnv_QueRemove 1, 0    '清除拾取的队列
          Jump P1               '移至将松开工件的位置
          Off Vacuum1           '释放工件
          Wait 0.1
       EndIf


'由于预测会超过跟踪终止线而取消执行动作,清除队列
    ElseIf Cnv_Flag(1) = 1 Then
       Cnv_QueRemove 1, 0       '清除队列数据


'由于执行操作命令时的工件在拾取区域外而取消执行动作,清除队列

    ElseIf Cnv_Flag(1) = 4 Then
       Cnv_QueRemove 1, 0       '清除队列数据

    '由于跟踪中工作超过跟踪开始区域而中止跟踪动作,
    '清除队列
    ElseIf Cnv_Flag(1) = 2 Then
       Cnv_QueRemove 1, 0       '清除队列数据
       Jump P0                  '移至等待位置P0
    EndIf
  Loop
Fend

程序2

Function RB1

  '移至等待位置P0
  Jump P0
  Do
    '等到工件经过上游范围
    Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
    Jump Cnv_QueGet(1)             '开始跟踪

'正常状态下执行拾取
    If Cnv_Flag(1) = 0 Then
       On Vacuum1              '吸附工件
       Wait 0.1
       Cnv_QueRemove 1, 0          '清除拾取的队列
       Jump P1                 '移至将松开工件的位置
       Off Vacuum1             '释放工件
       Wait 0.1

'由于预测会超过跟踪终止线而取消执行动作,清除队列
ElseIf Cnv_Flag(1) = 1 Then
       Cnv_QueRemove 1, 0          '清除队列数据

    '由于执行操作命令时的工件在拾取区域外
    '取消执行动作时清除队列
    ElseIf Cnv_Flag(1) = 4 Then
       Cnv_QueRemove 1, 0          '清除队列数据
    EndIf
  Loop
Fend