PF_Feeder
Décrit les actions recommandées avec les commandes de contrôle du distributeur (commandes PF_CenterByShift, PF_Center, PF_Flip, PF_Shift) si l’utilisateur gère lui-même les vibrations du distributeur plutôt que de laisser le système s’en charger.
Syntaxe
Function PF_Feeder(PartID As Integer, NumFrontParts As Integer, NumBackParts As Integer, state As Integer) As Integer
‘(Part Judgement)
’(Vibration Action)
Fend
Paramètres
- ID de pièce
L’ID de pièce (nombre entier compris entre 1 et 32) doit être indiqué ici.
Dans le cas d’une opération à plusieurs pièces, la pièce active est indiquée ici. - Nombre de pièces orientées vers le haut
Nombre de pièces avant détectées par le système de vision et ajoutées à la file d’attente des pièces. - Nombre de pièces orientées vers le bas
Nombre de pièces arrière détectées par le système de vision. - State
L’état des pièces ou l’action recommandée déterminée par le système est indiqué ici.
L’une des valeurs du tableau ci-dessous sera fournie.État/action recommandée Constante (définie dans PartFeeding.inc) Notes OK pour prélever PF_FEEDER_PICKOK Les pièces sont prêtes à être prélevées. Fournir plus de pièces PF_FEEDER_SUPPLY La trémie doit fournir davantage de pièces lorsque la méthode d’approvisionnement est définie sur [supply parts during pick and place] (approvisionnement en pièces pendant le prélèvement et le positionnement). Pour plus de détails, consultez la section suivante.
Les pièces sont dispersées, mais doivent être retournées PF_FEEDER_FLIP Retournez les pièces. Déplacer les pièces vers la zone de prélèvement PF_FEEDER_SHIFT Déplacez la pièce dans la région. Centrer, retourner et séparer PF_FEEDER_CENTER_FLIP Centrer, retourner et séparer La trémie est vide PF_FEEDER_HOPPER_EMPTY Aucune pièce dans la trémie. Prévenez l’opérateur et mettez les pièces dans la trémie. Des pièces se sont accumulées contre la paroi de la plateforme PF_FEEDER_SHIFT_BACKWARDS Ramenez les pièces dans la zone de prélèvement. Alimentation par trémie, centrer, retourner et séparer PF_FEEDER_SUPPLY_CENTER_FLIP La trémie doit fournir davantage de pièces, et celles-ci doivent être centrées, retournées et séparées. Trop de pièces PF_FEEDER_TOO_MANY Il y a trop de pièces sur le plateau. Prévenez l’opérateur. Mauvaise pièce PF_FEEDER_WRONGPART Il se peut qu’une mauvaise pièce se trouve sur la plateforme du distributeur. Prévenez l’opérateur. Le type de plaque est structuré PF_FEEDER_UNKNOWN Le système ne sait pas comment gérer les vibrations d’une plaque personnalisée et structurée.
Pour plus de détails, consultez la section suivante.
Valeurs de retour
Indiquez les valeurs suivantes en fonction des processus que vous souhaitez que le système effectue une fois que la fonction PF_Feeder s’est terminée.
| Constante (définie dans PartFeeding.inc) | Opérations liées au processus Part Feeding |
|---|---|
| PF_CALLBACK_SUCCESS | Indiquez cette fonction lorsque la pièce est prête à être prélevée et qu’aucune autre opération du distributeur n’est nécessaire. Le système appellera la fonction de rappel PF_Robot. Remarque : la file d’attente des coordonnées de la pièce ne sera pas régénérée. Si vous renvoyez cette valeur à l’issue d’une opération du distributeur, il y aura un écart entre les coordonnées de la pièce sur le distributeur et les données figurant dans la file d’attente des coordonnées de la pièce. |
| PF_CALLBACK_RESTART | Indiquez cette information une fois l’opération du distributeur effectuée. Le système régénérera toutes les files d’attente de coordonnées des pièces et appellera à nouveau la fonction de rappel PF_Feeder. |
| PF_CALLBACK_RESTART_ACTIVEPART | Indiquez cette information une fois l’opération du distributeur effectuée. Le système régénérera la file d’attente des coordonnées de la pièce pour la pièce active uniquement, puis appellera à nouveau la fonction de rappel PF_Feeder. |
Description
Cette fonction permet à l’utilisateur de gérer l’évaluation et l’action relatives à l’alimentation. En règle générale, le système traite les vibrations des pièces. Lorsque l’option « User processes vibration for part via PF_Feeder callback » (L’utilisateur gère les vibrations des pièces via la fonction de rappel PF_Feeder) est sélectionnée dans [PartFeeding] - [Part] (Pièce) - [Vibration], l’utilisateur détermine la manière d’alimenter les pièces. La fonction de rappel PF_Feeder peut être utilisée pour résoudre des cas d’application complexes dans lesquels la méthode des vibrations du système ne donne pas de bons résultats.
Par exemple, PF_Feeder ne peut pas déterminer comment utiliser une plateforme personnalisée (une plateforme spéciale comportant des trous, des fentes ou des poches). Vous pouvez plutôt écrire votre propre processus de distributeur dans la fonction de rappel PF_Feeder.
Les paramètres NumFrontParts et NumBackParts peuvent être utilisés pour aider à déterminer l’action de vibration appropriée. Par exemple, si NumFrontParts > 0, cela signifie que des pièces sont disponibles pour être prélevées et que le système peut continuer à fonctionner sans aucune vibration.
Le paramètre State correspond à l’action recommandée par le système ou à l’état des pièces. Cela pourrait vous aider à déterminer la meilleure façon de faire vibrer le distributeur.
La fonction de rappel PF_Feeder doit renvoyer l’une des valeurs indiquées dans le tableau ci-dessus. La valeur de retour indique au système comment procéder.
Exemple de programme 1 :
L’exemple suivant montre comment effectuer une évaluation de la pièce et déclencher une action de vibration via la fonction de rappel PF_Feeder, en utilisant le paramètre State recommandé par le système.
Function PF_Feeder(PartID As Integer, NumFrontParts As Integer, NumBackParts As Integer, state As Integer) As Integer
Select state
Case PF_FEEDER_PICKOK
’ Call PF_Robot because there are parts ready to pick
PF_Feeder = PF_CALLBACK_SUCCESS
Case PF_FEEDER_SUPPLY
’ Need to supply more parts
PFControlReturnVal = PF_Control(PartID, PF_CONTROL_SUPPLY_FIRST)
’ Shift forward and then Flip
PF_Shift PartID, PF_SHIFT_FORWARD, 500
PF_Flip PartID
’ Restart and re-acquire images
PF_Feeder = PF_CALLBACK_RESTART
Case PF_FEEDER_FLIP
’ Flip the parts
PF_Flip PartID
’ Restart and re-acquire images
PF_Feeder = PF_CALLBACK_RESTART
Case PF_FEEDER_CENTER_FLIP
’ Center, Flip and Separate the parts
PF_Center PartID, PF_CENTER_LONG_AXIS, 900
PF_Center PartID, PF_CENTER_SHORT_AXIS
PF_Flip PartID
’ Restart and re-acquire images
PF_Feeder = PF_CALLBACK_RESTART
Case PF_FEEDER_TOO_MANY
’ Notify operator that there are too many parts on the feeder
PFStatusReturnVal = PF_Status(PartID, PF_STATUS_TOOMANYPART)
’ Restart and re-acquire images
PF_Feeder = PF_CALLBACK_RESTART
Send
Fend
Exemple de programme 2 :
L’exemple suivant montre comment effectuer une évaluation de la pièce et déclencher une action de vibration via la fonction de rappel PF_Feeder, en utilisant les paramètres NumFrontParts et NumBackParts.
Function PF_Feeder(PartID As Integer, NumFrontParts As Integer, NumBackParts As Integer, state As Integer) As Integer
Integer PFControlReturnVal
Select True
Case NumFrontParts = 0 And NumBackParts <> 0
PF_CenterByShift PartID
PF_Flip PartID
’ Restart and re-acquire images
PF_Feeder = PF_CALLBACK_RESTART
Case NumFrontParts = 0 And NumBackParts = 0
PFControlReturnVal = PF_Control(PartID, PF_CONTROL_SUPPLY_FIRST)
’ Center, Flip and Separate
PF_Center 1, PF_CENTER_LONG_AXIS, 900
PF_Center 1, PF_CENTER_SHORT_AXIS, 700
PF_Flip 1, 600
PF_Feeder = PF_CALLBACK_RESTART ’re-acquire images
Default
’ Call PF_Robot because there are parts ready to pick
PF_Feeder = PF_CALLBACK_SUCCESS
Send
Fend