Avertissement

Vous lisez une ancienne version de cette documentation. Si vous souhaitez obtenir des informations actualisées, veuillez consulter 5.0 .

Principes des commandes

Toutes les commandes du module EtherCAT suivent le même principe. Elles peuvent être identifiées par leur nom qui se termine par Trigger. Pour envoyer une commande, veuillez utiliser la démarche suivante :

  1. Définissez les paramètres nécessaires avant de régler le Trigger sur True.

  2. Définissez le Trigger de la commande comme étant True.

  3. Attendez que l’indicateur <commande> Done devienne True.

  4. Réinitialisez le Trigger de la commande sur False.

  5. Attendez que l’indicateur <commande> Done soit remis à False.

  6. Vérifiez les éventuelles erreurs dans le registre Is Error. S’il y en a une, traitez-la en fonction de vos besoins.

  7. S’il n’y a pas d’erreur, vous pouvez utiliser la ou les sorties correspondantes.

Ceci est illustré dans la figure suivante :

../../../_images/ecs_start_production.svg

Remarque

Il ne peut y avoir deux déclencheurs de commande réglés sur True en même temps. Dans ce cas, EYE+ renvoie une erreur. Voir Codes d’erreur supplémentaires.

Fonctionnalités de base

Entrées de base

  • Stop States [UDINT]

    Arrête tous les états tels que définis dans stop <état>. Les états sont codés sous la forme d’un bitset, où chaque état a la valeur suivante :

    • Production 0b0000_0001

    • Édition de la recette 0b0000_0010

    • Configuration de la caméra 0b0000_0100

    • Étalonnage main-œil 0b0000_1000

    • Qualification de recette 0b0001_0000

    • Purge 0b0010_0000

    En outre, les états suivants sont également disponibles dans le registre System State :

    • Erreur 0b0100_0000

    • Prêt 0b1000_0000

    • Mise à jour du système 0b0001_0000_0000

    • Migration des paramètres 0b0100_0000_0000

    • Migration des recettes 0b1000_0000_0000

    • Sauvegarde du système 0b0001_0000_0000_0000

    • Restauration du système 0b0010_0000_0000_0000

    • Initialisation 0b0100_0000_0000_0000

    • Erreur de migration 0b1000_0000_0000_0000

    EYE+ reconnaît cette commande lorsque la valeur Stop States change (par exemple, lorsque la valeur passe de 0 à 1). L’entrée PDO Stop State Done passe à True lorsque le système a fini de traiter la commande, comme le montre la figure suivante. Les erreurs sont gérées à l’aide des registres spéciaux Is Error et Error ID, voir Gestion des erreurs.

    ../../../_images/ecs_stop_states.svg

    Le Done BOOL est effacé lorsque la valeur revient à 0.

Remarque

Arrêter tous les états pour retourner à l’état Prêt peut être réalisé en mettant cette valeur à 0xFF.

  • Clear Error Trigger

    EYE+ peut renvoyer tout code d’erreur défini dans les Codes d’erreur. Le déclencheur Clear Error Trigger permet d’effacer toute erreur qui apparaîtrait dans le registre Error ID. En plus des codes d’erreurs standards, des erreurs spécifiques à EtherCAT peuvent être affichées. Celles-ci sont expliquées au chapitre Codes d’erreur supplémentaires.

    La suppression d’une erreur active est simple, comme indiqué ci-dessous :

    ../../../_images/ecs_clear_error.svg

Sorties de base

  • System State

    Donne l’état actuel du système EYE+, voir Stop State(s) pour une liste complète des états.

  • Clear Error Done

    True lorsqu’EYE+ a fini de traiter la commande Clear Error Trigger. Réinitialisé à False lorsque le déclencheur Clear Error Trigger est remis à 0.

  • Is Error

    True lorsque la sortie Error ID contient une erreur, False dans le cas contraire. Effacer l’erreur a pour effet de réinitialiser ce registre à False.

  • Error ID

    Contient l’Error ID actuel, voir Clear Error Trigger. La suppression de l’erreur a pour effet de réinitialiser ce registre à la valeur 0.

  • Stop State Done

    True lorsqu’EYE+ a fini de traiter la commande Stop State(s). Réinitialisé à la valeur False lorsque le déclencheur Stop State(s) est mis à 0.

Fonctionnalités de production

Entrées de production

  • Start Production Trigger

    Lance une recette en production. L’identifiant unique de la recette doit être défini dans le registre Recipe ID. Une fois que la production a démarré, cela se reflètera dans le registre Start Production Done ainsi que dans l’état du système System State. Les erreurs sont gérées à l’aide des registres spéciaux Is Error et Error ID, voir Gestion des erreurs.

    Voici un exemple où la recette 42 est lancée en production :

    ../../../_images/ecs_start_production.svg
  • Get Part Trigger

    Demande une ou plusieurs pièces. Le nombre de pièces renvoyées peut être changé en modifiant la valeur de l’un des paramètres Part Quantity, Multi Part Quantity A, Multi Part Quantity B ou Model N Quantity (N = 1, 2, 3, 4, 5 ou 6). Par défaut, le paramètre Part Quantity est défini comme étant 1. Veuillez vous référer aux sections get_part et get_part pour une description complète des commandes.

    La figure ci-dessous montre un exemple de demande d’une seule pièce (paramètre par défaut).

    ../../../_images/ecs_get_part.svg

    Remarque

    Un scénario simple est décrit dans Get part.

  • Prepare Part Trigger

    Prépare une ou plusieurs pièces à partir d’EYE+. Les pièces préparées peuvent être prélevées ultérieurement en utilisant le registre Get Part Trigger. Cette commande a le même comportement que Get Part Trigger sauf qu’elle n’envoie pas les coordonnées des pièces et qu’elle ne prend pas en compte le paramètre timeout, voir Command Timeout. Le nombre de pièces à préparer peut être modifié en changeant l’un des paramètres Part Quantity, Multi Part Quantity A, Multi Part Quantity B ou Model N Quantity (N = 1, 2, 3, 4, 5 ou 6). Par défaut, le paramètre Part Quantity est égal à 1. Veuillez consulter la section prepare_part pour une description complète de la commande.

    Lorsque la ou les pièces demandées sont prêtes, l’indicateur Is Prepared est défini comme égal à 1.

    La figure ci-dessous montre un exemple de préparation d’une pièce.

    ../../../_images/ecs_prepare_part.svg

    Remarque

    Un scénario simple est décrit à la section Prepare part.

  • Force Take Image Trigger

    Le registre Force Take Image Trigger oblige EYE+ à acquérir une image dès que possible.

    Utilisé surtout en conjonction avec Prepare Part Trigger et Get Part Trigger.

    Chaque fois que Force Take Image Trigger passe de 0 à 1, EYE+ va acquérir un nouvel ensemble d’images et effectuer l’analyse. Veuillez vous référer à la section force_take_image pour une description complète de la commande.

    La figure ci-dessous montre un exemple de mise en place de cet indicateur.

    ../../../_images/ecs_force_take_image.svg

    Remarque

    Un scénario simple est décrit sous Force take image.

  • Clear Poses

    Le registre Clear Poses permet d’effacer les sorties de positions (Pose <n>), résultant en une liste vide de positions. Ceci est utile entre deux Get Part Triggers consécutifs.

    ../../../_images/ecs_clear_part.svg

Paramètres de production

Certains paramètres peuvent être ajustés en cours de production en fonction de vos besoins. La liste suivante indique les paramètres disponibles.

  • Save Parameters Trigger

    Les paramètres énumérés dans Paramètres de production doivent être enregistrés explicitement à l’aide de cette commande spécifique. EYE+ signale l’exécution de la commande à l’aide du registre Save Parameters Done. La commande enregistre tous les paramètres énumérés sous Paramètres de production, il est donc important de tous les initialiser à une valeur judicieuse ! Les erreurs sont gérées en utilisant les registres spéciaux Is Error et Error ID, voir Gestion des erreurs.

    L’exemple ci-dessous montre le comportement d’un des paramètres lors de l’envoi de la commande.

    ../../../_images/ecs_save_param.svg

    Important

    Cette commande enregistre tous les paramètres, il est important que vous les initialisiez tous à une valeur judicieuse.

  • Can Take Image

    L’acquisition d’images est activée par défaut. Si nécessaire, ce paramètre peut être défini comme False pour désactiver l’acquisition d’images. Voir Can take image pour plus d’informations sur les cas dans lesquels cette commande est utile.

  • Image After Send

    Force l’acquisition d’une image après la prise d’une pièce. Chaque fois que vous appelez les commandes Get Part Trigger ou Prepare Part Trigger, le système acquerra automatiquement d’abord une image. Ceci sert à corriger les coordonnées des bons candidats déjà trouvés (stockés dans la mémoire) si vous pensez que les pièces auraient pu bouger entre-temps en raison d’une perturbation extérieure.

    Voir Image after send pour plus d’informations.

  • Command Timeout

    Il s’agit du délai d’attente (en secondes) appliqué lors de l’appel de la commande Get Part Trigger. Si aucune pièce n’a été trouvée dans ce délai, une erreur est renvoyée.

    Remarque

    Définir la valeur de ce paramètre à 0 désactive la fonction de délai : la commande sera exécutée jusqu’à ce que le nombre de pièces demandé soit trouvé.

  • Part Quantity

    Ce paramètre est utilisé pour demander à EYE+ de rechercher plusieurs pièces en même temps. Chaque fois qu’EYE+ acquerra une image, le système cherchera au moins <n> pièces sur l’image. Si ce nombre de pièces n’est pas trouvé, aucune coordonnée ne sera envoyée et une nouvelle vibration et acquisition d’image seront effectuées jusqu’à ce que <n> pièces soient obtenues.

  • Multi Part Quantity A, B

    Uniquement en lien avec une recette dualfeeding, définit le nombre de pièces d’un type défini demandées par Prepare Part Trigger et Get Part Trigger à chaque fois qu’une image est acquise. Si ce nombre de pièces n’est pas trouvé lors de l’acquisition de l’image, alors Get Part Trigger ou Prepare Part Trigger recommencera (vibration + acquisition d’image) jusqu’à ce que ce nombre de pièces soit trouvé.

    Pour plus d’informations sur le fonctionnement des quantités de pièces, veuillez lire la section décrivant un scénario commun pour une production en mode dualfeeding.

  • Model N Quantity, où N = 1, 2, 3, 4, 5 ou 6

    Uniquement en lien avec une recette multi-model, définit le nombre de pièces d’un modèle défini demandées par Prepare Part Trigger et Get Part Trigger à chaque fois qu’une image est acquise. Si ce nombre de pièces n’est pas trouvé lors de l’acquisition de l’image, alors Get Part Trigger ou Prepare Part Trigger recommencera (vibration + acquisition d’image) jusqu’à ce que ce nombre de pièces soit trouvé.

    Pour plus d’informations sur le fonctionnement des quantités de pièces, veuillez lire la section décrivant un scénario commun pour une production en mode multi-model.

Sorties de production

  • Start Production Done

    True lorsqu’EYE+ a fini de traiter la commande Start Production Trigger. Réinitialisé à False lorsque le déclencheur Start Production Trigger est défini comme égal à 0.

  • Active Recipe

    Contient la recette actuelle chargée pour la production ou la purge.

  • Get Part Done

    True lorsqu’EYE+ a fini de traiter la commande Get Part Trigger. Réinitialisé à False lorsque le déclencheur Get Part Trigger est défini comme égal à 0.

  • Prepare Part Done

    True lorsqu’EYE+ a fini de traiter la commande Prepare Part Trigger. Réinitialisé à False lorsque le déclencheur Prepare Part Trigger est défini comme égal à 0.

  • Is Prepared

    True lorsqu’EYE+ a fini de traiter l’image et est prêt à donner la position en utilisant Get Part Trigger.

  • Is Analysis Running

    True lorsqu’EYE+ est toujours en train de traiter des images, voir is_analysis_running.

  • Force Take Image Done

    True lorsqu’EYE+ a fini de traiter la commande Force Take Image Trigger. Réinitialisé à False lorsque le déclencheur Force Take Image Trigger est défini comme égal à 0.

  • Parts Prepared

    Nombre de pièces générales prêtes à être renvoyées à l’aide de Get Part Trigger.

  • Multi Parts Prepared A, Multi Parts Prepared B

    Nombre de pièces spécifiques prêtes à être renvoyées à l’aide de Get Part Trigger.

  • Model N Prepared, où N = 1, 2, 3, 4, 5 ou 6

    Nombre de pièces spécifiques du modèle sélectionné prêtes à être renvoyées à l’aide de Get Part Trigger.

  • Poses

    EYE+ peut renvoyer jusqu’à 10 positions à la fois. Chaque position est composée de 4 paramètres différents :

    1. Pose <n> X : la coordonnée X pour cette pièce

    2. Pose <n> Y : la coordonnée Y pour cette pièce

    3. Pose <n> RZ : l’angle RZ pour cette pièce

    4. Pose <n> Type : le type de pièce (utilisé dans les recettes dualfeeding)

    En outre, le nombre d’entrées valides est toujours défini dans le registre Number of Valid Entries.

  • Save Parameters Done

    True lorsqu’EYE+ a fini de traiter la commande Save Parameters Trigger. Réinitialisé à False lorsque le déclencheur Save Parameters Trigger est défini comme égal à 0.

  • Can Take Image

    Valeur de retour du paramètre Can Take Image.

  • Image After Send

    Valeur de retour du paramètre Image After Send.

  • Command Timeout

    Valeur de retour du paramètre Command Timeout.

  • Part Quantity

    Valeur de retour du paramètre Part Quantity.

  • Multi Part Quantity A, Multi Part Quantity B

    Valeur de retour du paramètre Part A/B Quantity.

  • Model N Quantity Read-back, où N = 1, 2, 3, 4, 5 ou 6

    Valeur de retour du paramètre Model Quantity.

Fonctionnalités de purge

Entrées de purge

En plus des fonctionnalités de production, l’interface EtherCAT donne accès à toutes les commandes permettant de contrôler entièrement le système de purge optionnel Asyril pour faciliter les changements de production. Voir Purge plate et Purge full pour obtenir plus d’informations sur la façon de tirer pleinement parti de cet accessoire optionnel.

Il existe quelques commandes spécifiques au système de purge :

  • Start Purge Trigger

    Lance une recette pour purger la plateforme. L’identifiant unique de la recette doit être défini dans le registre Recipe ID. Une fois que la purge a commencé, cela se reflétera dans le registre Start Purge Done ainsi que dans l’état du système System State. Les erreurs sont gérées en utilisant les registres spéciaux Is Error et Error ID, voir Gestion des erreurs.

    Voici un exemple où la recette 42 est lancée pour purger la plateforme :

    ../../../_images/ecs_start_purge.svg
  • Purge Plate Trigger

    Effectue une séquence de purge de la plateforme uniquement. Cette séquence consiste à ouvrir le clapet de purge, à exécuter une vibration de la plateforme dans la direction correspondante et enfin à fermer le clapet de purge. La durée de la vibration peut être réglée dans le registre Purge Duration.

    Le registre Purge Plate Done est défini comme égal à 1 une fois qu’EYE+ a terminé la purge.

    Le système doit être en mode de purge pour utiliser cette commande, voir Start Purge Trigger.

    ../../../_images/ecs_purge_plate.svg
  • Purge Full Trigger

    Effectue une séquence de purge de la plateforme et de la trémie. Cette séquence consiste à ouvrir le clapet de purge, à exécuter une vibration de la plateforme dans la direction correspondante ainsi qu’à déclencher la trémie et enfin à fermer le clapet de purge. La durée de la vibration doit être réglée dans le registre Purge Duration.

    Le registre Purge Full Done est défini comme égal à 1 une fois qu’EYE+ a fini d’exécuter la purge.

    Le système doit être en mode de purge pour utiliser cette commande, voir Start Purge Trigger.

    ../../../_images/ecs_purge_full.svg
  • Purge Duration

    Durée de vibration de la plateforme et de la trémie en ms. Lorsque Purge Duration est utilisé en combinaison avec la commande Purge Plate Trigger et si sa valeur est définie comme égale à 0, la valeur correspondante de la recette sera utilisée à la place. Elle doit être comprise entre 1 et 30000 ms.

Sorties de purge

Fonctionnalités d’étalonnage main-œil

Le flux de commandes pour effectuer un étalonnage main-œil en utilisant 4 points d’étalonnage est décrit dans ce scénario.

Entrées d’étalonnage main-œil

  • Start Hand-eye Calibration Trigger

    Lance un étalonnage main-œil en utilisant une de vos recettes et sa pièce associée. L’identifiant unique de la recette doit être défini dans le registre Recipe ID. Une fois que le processus d’étalonnage main-œil a démarré, ceci se reflétera dans le registre Start Hand-eye Calibration Done ainsi que dans l’état du système System State. Les erreurs sont gérées à l’aide des registres spéciaux Is Error et Error ID, voir Gestion des erreurs.

    Voici un exemple où la recette 42 est utilisée pour lancer un étalonnage main-œil :

    ../../../_images/handeye_start.svg
  • Set Calibration Point Trigger

    Enregistre une nouvelle position robot pour l’étalonnage main-œil actuel à la position Calibration Point Index. Au total, 4 points d’étalonnage (index 0 à 3) doivent être enregistrés avant d’exécuter la commande Calibrate Trigger. Les coordonnées X Coordinate et Y Coordinate du robot peuvent être exprimées dans l’unité de votre propre robot. Si un autre point a déjà été enregistré sous cet Calibration Point Index, il sera écrasé par le point nouvellement défini.

    Le système doit être en mode d’étalonnage main-œil pour utiliser cette commande, voir Start Hand-eye Calibration Trigger.

    ../../../_images/handeye_set_robot_point.svg
  • Get Calibration Point Trigger

    Renvoie les coordonnées du robot qui ont été enregistrées sous Calibration Point Index. Les coordonnées renvoyées peuvent être lues dans Pose 1 - X et Pose 1 - Y.

    Le système doit être en mode d’étalonnage main-œil pour utiliser cette commande, voir Start Hand-eye Calibration Trigger.

    ../../../_images/handeye_get_robot_point.svg
  • Take Calibration Image Trigger

    Prend une image pour obtenir les coordonnées de vision actuelles de l’objet détecté. Les coordonnées détectées sont appariées avec la position robot enregistrée sous Calibration Point Index. Si plusieurs pièces sont détectées, la première sera utilisée comme point de comparaison.

    Le système doit être en mode d’étalonnage main-œil pour utiliser cette commande, voir Start Hand-eye Calibration Trigger.

    ../../../_images/handeye_take_image.svg
  • Calibration Point Index

    Index du point d’étalonnage. Un point d’étalonnage complet se compose d’une position robot et d’une position correspondante de la pièce. Au total, 4 points d’étalonnage (index 0 à 3) doivent être enregistrés avant d’exécuter la commande d’étalonnage main-œil Calibrate Trigger.

  • X Coordinate

    Coordonnée X de la position robot à enregistrer à l’aide de la commande Set Calibration Point Trigger.

  • Y Coordinate

    Coordonnée Y de la position robot à enregistrer à l’aide de la commande Set Calibration Point Trigger.

  • Calibrate Trigger

    Calcule la matrice d’étalonnage main-œil à partir des points d’étalonnage enregistrés. Vous devez avoir enregistré 4 points de calibrage complets avec les commandes Set Calibration Point Trigger et Take Calibration Image Trigger avant d’appeler la commande Calibrate Trigger. La précision de l’étalonnage est renvoyée dans Calibration Accuracy.

    ../../../_images/handeye_calibrate.svg
  • Test Calibration Trigger

    Cette commande est utilisée pour tester l’étalonnage main-œil actuellement calculé. Elle renvoie le nombre de pièces détectées dans Number of Valid Entries et leur coordonnées robot dans Poses. Vous pouvez vérifier si les coordonnées robot détectées correspondent aux coordonnées réelles du robot.

  • Save Calibration Trigger

    Sauvegarde l’étalonnage main-œil actuel. Cette commande doit être appelée après Calibrate Trigger pour sauvegarder les données dans le système si vous considérez que le résultat est assez bon. Une fois l’étalonnage sauvegardé, il sera automatiquement utilisé en production. Si une autre calibration a été sauvegardée auparavant, elle sera écrasée par la nouvelle calibration.

    Remarque

    Si vous oubliez d’exécuter cette commande et que vous arrêtez l’état d’étalonnage main-œil, vous perdrez toutes les données de calibration en suspens.

Sorties d’étalonnage main-œil

  • Calibration Accuracy

    Précision de l’étalonnage résultant de la commande Calibrate Trigger. Elle est exprimée dans l’unité de mesure qui est configurée dans votre système EYE+. Vous pouvez vérifier l’unité de mesure dans EYE+ Studio dans le menu CONFIGURATION sous Robot.

    Remarque

    Si vous n’avez pas effectué la configuration de la caméra avant l’étalonnage main-œil, la précision de l’étalonnage sera exprimée en pixels.

Codes d’erreur supplémentaires

EYE+ renverra un code d’erreur spécifique à EtherCAT si nécessaire. Une liste de ces codes d’erreur et leur description est présentée ci-dessous :

701

Des commandes concomitantes sont actives dans les PDOs