Valeurs de retour PF_Robot

Toutes les fonctions de rappel exigent que vous renvoyiez une valeur. En règle générale, la valeur de retour indiquera que l’opération s’est déroulée avec succès. (PF_CALLBACK_SUCCESS constante.) La valeur de retour peut être utilisée pour modifier le fonctionnement du système. Les valeurs de retour PF_Robot réorientent le flux du processus principal et déterminent un comportement différent selon le « scénario d’utilisation ». Le fait d’avoir différentes valeurs de retour permet au développeur de contrôler le déroulement du processus Part Feeding en fonction des différentes situations.

Commençons par décrire chacune des valeurs de retour de la fonction de rappel PF_Robot.

PF_CALLBACK_SUCCESS :
Lorsque la fonction de rappel PF_Robot s’achève et que « PF_Robot = PF_CALLBACK_SUCCESS », le système vérifie si la pièce active suivante (pièce souhaitée) est disponible dans sa file d’attente. Si la pièce active est disponible, le système appelle à nouveau la fonction PF_Robot. Le paramètre PartID transmis à PF_Robot correspondra au numéro de la pièce active. Lorsque la pièce active est disponible, il n’est pas nécessaire d’acquérir une nouvelle image ni de faire vibrer le distributeur, car la pièce souhaitée est déjà dans la file d’attente. Si la pièce active n’est pas disponible, le système acquerra alors de nouvelles images pour chaque pièce qui a été exécutée dans l’instruction PF_Start. Les résultats de vision seront chargés dans chaque file d’attente de pièces et le système décidera s’il convient de faire vibrer le distributeur.

PF_CALLBACK_RESTART :
Lorsque la fonction de rappel PF_Robot s’achève et que « PF_Robot = PF_CALLBACK_RESTART », le système acquerra de nouvelles images pour chaque pièce exécutée dans l’instruction PF_Start, qu’il y ait ou non des pièces disponibles dans la file d’attente des pièces actives. Les résultats de vision seront chargés dans toutes les files d’attente de pièces et le système décidera s’il convient de faire vibrer le distributeur. Le principal objectif de la valeur de retour PF_CALLBACK_RESTART est de forcer l’acquisition de nouvelles images, le rechargement des files d’attente, une nouvelle évaluation et une nouvelle alimentation à partir du début de la boucle principale du processus Part Feeding. Cette valeur de retour est pratique lorsque vous souhaitez acquérir de nouvelles images à chaque cycle de prélèvement et de positionnement. Par exemple, si des pièces environnantes sont accidentellement déplacées pendant l’opération de prélèvement et de positionnement, il peut être utile d’acquérir de nouvelles images et d’actualiser les files d’attente.

PF_CALLBACK_RESTART_ACTIVEPART :
Lorsque la fonction de rappel PF_Robot s’achève et que « PF_Robot = PF_CALLBACK_RESTART_ACTIVEPART », le système acquiert une nouvelle image uniquement pour la pièce active (et non pour toutes les pièces répertoriées dans l’instruction PF_Start). Cette valeur de retour est particulièrement utile lorsque plusieurs robots partagent le même distributeur. PF_CALLBACK_RESTART_ACTIVEPART permet d’éviter les doublons de pièces dans plusieurs files d’attente. La valeur de retour force l’acquisition d’une nouvelle image uniquement pour la pièce active, et seule la file d’attente de cette pièce active sera chargée. Les files d’attente associées à toutes les autres pièces répertoriées dans l’instruction PF_Start sont vidées. C’est ce qu’un exemple illustre le mieux.

Supposons que le distributeur possède un seul type de pièce physique sur sa plateforme et que deux robots prélèvent des pièces sur ce distributeur. Pour cette application, deux pièces sont ajoutées dans la boîte de dialogue Part Feeding. Chaque pièce portera un numéro # de robot différent. De plus, les séquences de vision pour chaque pièce utiliseront un étalonnage de vision différent (puisque la caméra est étalonnée pour un robot spécifique). Même s’il n’existe qu’un seul type de pièce physique sur la plateforme, il est nécessaire de créer deux pièces logiques (une pour chaque robot). L’instruction PF_Start inclura les deux numéros de pièces. La vision est acquise pour les deux pièces logiques et les deux files d’attente sont chargées. Puisque les deux séquences de vision localisent les mêmes pièces physiques sur la plateforme, les files d’attente comporteront des doublons de coordonnées. Si le robot n° 1 prélève une pièce et la retire de sa file d’attente, celle-ci restera dans la file d’attente de l’autre robot. Par conséquent, le robot n° 2 tentera de prélever une pièce qui a déjà été retirée par le robot n° 1. L’instruction PF_CALLBACK_RESTART_ACTIVEPART permet de garantir qu’une pièce n’est chargée que dans une seule file d’attente. Par conséquent, aucun tri particulier ni aucune répartition particulière dans la file d’attente ne sont nécessaires. Veuillez vous reporter à la section suivante pour plus de détails sur la programmation de ce scénario d’utilisation.
Une pièce pour deux robots