程式
若已設定跟縱終止行,將不會發生4406錯誤。若設定了跟蹤終止線,請使用以下程式中的Cnv_Flag。若未使用終止行,請勿使用此程式。
提示
- 在程式1設定下游範圍後,若Cnv_Flag未傳回2或3,請使用程式2。
- 使用程式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