PF_Status

Décrit les processus (principalement les processus d’erreur) en fonction de la valeur de retour de la fonction de rappel et de l’état du système (pièces non fournies, etc.).

Syntaxe
Function PF_Status(part ID As Integer, Status As Integer) As Integer
‘(Error processing)
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.
  • Status
    L’état est indiqué ici.
    Il s’agit de la valeur de retour de la fonction de rappel ou d’une valeur définie par le système (voir Description).

Valeurs de retour
La fonction PF_EXIT est définie chaque fois qu’aucune valeur de retour n’est spécifiée. Cela mettra fin au processus Part Feeding. Veillez à définir une valeur de retour pour éviter cela.

  • PF_CONTINUE
    Poursuit le processus Part Feeding. En principe, cette valeur doit être indiquée.

  • PF_EXIT
    Met fin au processus Part Feeding. Lorsque cette valeur est définie, le processus Part Feeding prend fin. Si cette valeur est spécifiée, l’appareil doit être ramené à son état initial (c’est-à-dire, ramener le robot à sa position d’origine, mettre le robot à l’arrêt, etc.).

  • PF_RESTART
    Relance le processus Part Feeding à partir de vision.

  • PF_RESTART_ACTIVEPART
    Relance le processus Part Feeding à partir de vision. Ne récupérez qu’une seule image et chargez la file d’attente pour la partie active.

Description
Cette fonction s’exécute après les autres fonctions de rappel (à l’exception des fonctions PF_CycleStop et PF_Status).

La valeur de retour de la fonction de rappel qui vient d’être exécutée ou l’erreur survenue lors du processus Part Feeding est attribuée au paramètre Status. Décrit les processus basés sur ces valeurs Status.

  • PF_CALLBACK_SUCCESS
    La fonction de rappel s’est déroulée avec succès. En règle générale, il n’y a rien à traiter.

  • PF_CALLBACK_RESTART
    La fonction de rappel PF_Robot s’est terminée avec succès et la valeur de retour est PF_CALLBACK_RESTART. En règle générale, il n’y a rien à traiter.

  • PF_CALLBACK_RESTART_ACTIVEPART
    La fonction de rappel PF_Robot s’est terminée avec succès et la valeur de retour est PF_CALLBACK_RESTART_ACTIVEPART. En règle générale, il n’y a rien à traiter.

  • PF_STATUS_NOPART
    Cet état indique que les pièces ne sont pas acheminées depuis la trémie. Décrit le processus d’alimentation de la trémie en pièces. En règle générale, il n’y a rien à traiter.

  • PF_STATUS_TOOMANYPART
    Cet état indique que la trémie alimente trop de pièces et que celles-ci ne peuvent pas être prélevées. Décrivez la procédure à suivre pour retirer des pièces de la trémie à l’aide d’un appel opérateur, etc. Vérifiez les réglages de la trémie si cet état survient régulièrement.

  • PF_STATUS_BAD_ID
    L’ID de pièce spécifié lors de l’exécution de la commande PF_Start n’est pas valide. Assurez-vous d’avoir correctement indiqué l’ID de la pièce enregistrée. Vous avez tenté de démarrer avec plusieurs distributeurs lors d’une opération à plusieurs pièces. Veuillez vérifier les réglages de chaque pièce. Cela met immédiatement fin au processus Part Feeding.

  • PF_STATUS_BAD_PARAMETER
    Le paramètre de pièce spécifié lors de l’exécution de la commande PF_Start n’est pas valide. Cela met immédiatement fin au processus Part Feeding.

  • PF_STATUS_CAL_NOT_COMPLETE
    PF_Start La pièce spécifiée lors de l’exécution de la commande PF_Start n’a pas terminé le processus d’étalonnage du distributeur. Cela met immédiatement fin au processus Part Feeding.
    Pour plus de détails, consultez la section suivante.
    Calibration

  • PF_STATUS_WRONGPART
    Les pièces restées sur le distributeur n’ont pas pu être détectées. Vérifiez que la séquence de vision des pièces permet de détecter correctement les pièces. Ou vérifiez s’il y a différents types de pièces ou des pièces endommagées.
    Cette valeur Status apparaît après plusieurs tentatives de séparation des pièces, lorsque la séquence Part Blob détecte la présence d’un élément à l’intérieur de la zone de prélèvement, mais que la séquence de pièces ne parvient pas à l’identifier comme une pièce avant ou arrière.

  • PF_STATUS_PARTBLOB_ERROR
    La séquence ou l’objet de vision utilisé pour la détection du blob de la pièce n’est pas valide. Cela met immédiatement fin au processus Part Feeding. Vérifiez la séquence et l’objet du blob de la pièce utilisé pour celle-ci.

  • PF_STATUS_PARTSEQ_ERROR
    La séquence ou les objets de vision utilisés pour la détection des pièces ne sont pas valides. Cela met immédiatement fin au processus Part Feeding. Vérifiez la séquence et les objets des pièces utilisés pour détecter la pièce.

  • PF_STATUS_ERROR
    Une erreur (erreur système) s’est produite lors de l’exécution de la commande PF_Start. Cela met immédiatement fin au processus Part Feeding. Vérifiez que la séquence de vision définie dans Vision fonctionne correctement. Déboguez les fonctions de rappel une par une pour vérifier qu’elles fonctionnent correctement. L’erreur 7730 « The maximum number of robots per feeder has been exceeded. » (Le nombre maximal de robots par distributeur a été dépassé.) peut également se produire lorsque vous tentez de partager un distributeur avec plus de deux robots.
    Les processus opérationnels peuvent être définis à l’aide de la valeur de retour de la fonction de rappel Status.
    La fonction PF_EXIT est définie chaque fois qu’aucune valeur de retour n’est spécifiée. Cela mettra fin au processus Part Feeding. Veillez à définir une valeur de retour pour éviter cela.

  • PF_STATUS_FEEDERINUSE_ERROR
    Le processus Part Feeding a été lancé à plusieurs reprises pour le même distributeur. Le processus d’alimentation est immédiatement interrompu. Le processus Part Feeding déjà en cours se poursuivra. Vérifiez à nouveau le programme.

  • PF_STATUS_PARTNOTENABLED
    La pièce est désactivée.
    Assurez-vous que l’option Enabled (Activé) est cochée dans le menu Epson RC+ 8.0 - [Tools] (Outils) - [Part Feeding] - [Parts] (Pièces) - [Part**] (Pièce) - [General] (Général).

  • PF_STATUS_PURGENOTENABLED
    La fonction PF_Purge a été exécutée, bien que la purge ait été désactivée.
    Assurez-vous que l’option Enabled (Activé) est cochée dans le menu Epson RC+ 8.0 - [Tools] (Outils) - [Part Feeding] - [Parts] (Pièces) - [Part**] (Pièce) - [General] (Général).

NOTE

  • Assurez-vous qu’aucune erreur ne se produise à l’intérieur de la fonction de rappel PF_Status. Si des erreurs surviennent au sein de la fonction PF_Status, celle-ci pourrait être appelée de manière récursive et le traitement des erreurs risquerait de ne pas aboutir.

  • Il est vivement recommandé de ne pas exécuter les commandes de contrôle du distributeur (PF_Center, PF_CenterByShift, PF_Flip, PF_Shift) au sein de la fonction PF_Status.

  • PF_Status a pour rôle d’indiquer au système comment procéder une fois l’exécution de la fonction de rappel précédente terminée (c’est-à-dire comment procéder après _Robot, PF_Vision, PF_Control, PF_MobileCam, PF_Feeder). Pour ce faire, il suffit de définir la valeur de retour PF_Status sur l’une des valeurs suivantes : PF_CONTINUE, PF_RESTART, PF_RESTART_ACTIVEPART ou PF_EXIT. Pour plus de détails, consultez l’exemple de programme ci-dessous. Pour plus de détails, consultez l’exemple de programme ci-dessous.

Exemple de programme
Le programme suivant décrit le traitement des erreurs.
L’erreur utilisateur mentionnée dans cet exemple correspond à l’erreur de délai d’attente d’aspiration évoquée dans l’exemple de programme utilisé pour la fonction de rappel Robot.
Si cette erreur se produit, les moteurs du robot sont désactivés.

’ ** User Error **
’ 8001 Suction timeout occurred

Function PF_Status(PartID As Integer, Status As Integer) As Integer

    Select Status

        Case PF_CALLBACK_SUCCESS
            ’ Success (do nothing under normal circumstances)
        Case PF_CALLBACK_RESTART
            ’ Restart from vision
            PF_Status = PF_RESTART
            Exit Function

        Case PF_CALLBACK_RESTART_ACTIVEPART
            ’ Restart from vision –
            ’ only acquire image and the load queue for Active Part
            PF_Status = PF_RESTART_ACTIVEPART
            Exit Function

        Case PF_STATUS_NOPART
            ’ No parts in hopper
            MsgBox "Hopper empty."

        Case PF_STATUS_TOOMANYPART
            ’ Too many parts in feeder
            MsgBox "Too many parts on Feeder."

        Case PF_STATUS_BAD_ID
            ’ The specified part ID does not exist
            MsgBox "Bad PartID."

        Case PF_STATUS_BAD_PARAMETER
            ’ Invalid part parameter
            MsgBox "Bad parameter."

        Case PF_STATUS_CAL_NOT_COMPLETE
            ’ Calibration not complete
            MsgBox "Calibration incomplete."

        Case PF_STATUS_WRONGPART
            ’ There may be a wrong part on the feeder platform.
            MsgBox "Wrong Part."

        Case PF_STATUS_ERROR
            ’ Error
            MsgBox "Error!! (code: " + Str$(Err) + " ) " + ErrMsg$(Err)

        Case PF_STATUS_PARTBLOB_ERROR
            ’ Part Blob vision error
            MsgBox "Part Blob vision error."

        Case PF_STATUS_PARTSEQ_ERROR
            ’ Part Sequence vision error
            MsgBox "Part Sequence vision error."

        Case PF_STATUS_FEEDERINUSE_ERROR
            ’ Feeder is already in use
            MsgBox "Feeder is already in use."

         Case PF_STATUS_PARTNOTENABLED
            ’ Part is disabled
             MsgBox "Part is disabled."

        Case PF_STATUS_PURGENOTENABLED
            ’ Purge is disabled.
            MsgBox "Purge is disabled."

        Case 8001
            ’ Example: Suction timeout
            MsgBox " Vacuum Error!!"
            Motor Off
            PF_Status = PF_EXIT
            Exit Function

    Send

    PF_Status = PF_CONTINUE

Fend