建立PF_Robot回呼函數
在PF_Robot回呼函數中,編寫機器人拾取和放置零件的動作。此函數的運作方式如下所示:(重複1~7。)
- 透過零件座標佇列取得平台上的零件座標。
使用PF_QueGet。 - 將機器人移動到零件位置。
使用Jump等命令。(使用SCARA機器人時) - 透過啟動吸附等方式來抓住零件。
- 將機器人移動到放置零件的位置。
使用Jump等命令。(使用SCARA機器人時) - 透過關閉吸附等方式來釋放零件。
- 刪除零件座標佇列中的1筆資料。
使用PF_QueRemove。 - 確認是否發生停止命令。若發生則跳出迴圈。
使用PF_IsStopRequested。 - 回傳PF_Robot = PF_CALLBACK_SUCCESS作為回傳值。
以下為PF_Robot回呼函數的範例。
迴圈處理以及1、6、7的處理已記載於自動生成的PartFeeding.prg中,故此處僅記載其餘的處理內容。
程式中使用的標籤等內容如下所示:
IO標籤:Chuck(零件吸附)、UnVacumm(零件釋放)
點位標籤:PlacePos(放置座標)
Function PF_Robot(partID As Integer) As Integer
Do While PF_QueLen(partID) > 0
' Pick
P0 = PF_QueGet(partID)
Jump P0 ! Wait 0.1; Off UnVacumm !
On Chuck
Wait 0.1
' Place
Jump PlacePos
Off Chuck
On UnVacumm
Wait 0.1
' Deque
PF_QueRemove partID
' Check Cycle stop
If PF_IsStopRequested = True Then
Exit Do
EndIf
Loop
Off UnVacumm
PF_Robot = PF_CALLBACK_SUCCESS
Fend