Créer la fonction de rappel PF_Robot

Dans la fonction de rappel PF_Robot, vous décrivez les opérations par lesquelles le robot prélève et positionne les pièces. Cette fonction exécute les étapes suivantes. (Les étapes 1 à 7 sont répétées en boucle.)

  1. Récupérez les coordonnées des pièces présentes sur la plateforme à partir de la file d’attente des coordonnées des pièces.
    Utilisez la fonction « PF_QueGet ».
  2. Déplacez le robot jusqu’à la position de la pièce.
    Utilisez Jump (Sauter) ou une commande similaire. (Pour les robots SCARA)
  3. Activez l’aspiration ou maintenez la pièce en place par une autre méthode.
  4. Déplacez le robot jusqu’à la position où la pièce sera posée.
    Utilisez Jump (Sauter) ou une commande similaire. (Pour les robots SCARA)
  5. Désactivez l’aspiration ou libérez la pièce par une autre méthode.
  6. Supprimez une entrée de données de la file d’attente des coordonnées des pièces.
    Utilisez la fonction « PF_QueRemove ».
  7. Vérifiez si une commande d’arrêt a été émise. Si elle est émise, quittez la boucle.
    Utilisez « PF_IsStopRequested ».
  8. Elle renvoie PF_Robot = PF_CALLBACK_SUCCESS.

Voici un exemple de fonction de rappel PF_Robot.
La gestion d’une boucle et des étapes 1, 6 et 7 étant décrite dans le fichier PartFeeding.prg généré automatiquement, cet exemple traite de la gestion des autres étapes.

Les étiquettes utilisées dans ce programme sont les suivantes :
Étiquette E/S : Chuck (pièce de fixation par aspiration), UnVacumm (pièce de déverrouillage)
Étiquette de point : PlacePos (coordonnées du lieu)

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