建立PF_Robot回呼函數

在PF_Robot回呼函數中,編寫機器人拾取和放置零件的動作。此函數的運作方式如下所示:(重複1~7。)

  1. 透過零件座標佇列取得平台上的零件座標。
    使用PF_QueGet。
  2. 將機器人移動到零件位置。
    使用Jump等命令。(使用SCARA機器人時)
  3. 透過啟動吸附等方式來抓住零件。
  4. 將機器人移動到放置零件的位置。
    使用Jump等命令。(使用SCARA機器人時)
  5. 透過關閉吸附等方式來釋放零件。
  6. 刪除零件座標佇列中的1筆資料。
    使用PF_QueRemove。
  7. 確認是否發生停止命令。若發生則跳出迴圈。
    使用PF_IsStopRequested。
  8. 回傳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