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.)
- 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 ». - Déplacez le robot jusqu’à la position de la pièce.
Utilisez Jump (Sauter) ou une commande similaire. (Pour les robots SCARA) - Activez l’aspiration ou maintenez la pièce en place par une autre méthode.
- 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) - Désactivez l’aspiration ou libérez la pièce par une autre méthode.
- Supprimez une entrée de données de la file d’attente des coordonnées des pièces.
Utilisez la fonction « PF_QueRemove ». - Vérifiez si une commande d’arrêt a été émise. Si elle est émise, quittez la boucle.
Utilisez « PF_IsStopRequested ». - 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