程序
如果配置了跟踪终止线,则不会发生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