Programme d’exemple 3 : MM_S3_Vis_Path

Vous consultez actuellement la documentation pour la dernière version (2.1.2). Pour accéder à une autre version, cliquez sur le bouton "Changer de version" situé dans le coin supérieur droit de la page.

■ Si vous n’êtes pas sûr de la version du produit que vous utilisez, veuillez contacter le support technique Mech-Mind pour obtenir de l’aide.

Présentation du programme

Description

L’automate déclenche l’exécution du projet Mech-Vision puis obtient la trajectoire planifiée par Mech-Vision.

Chemin du fichier

Les fichiers d’exemple sont stockés dans Communication Component/Robot_Interface/PROFINET/Programming Samples/sample applications/SampleProjectProfinet.zip dans le répertoire où Mech-Vision et Mech-Viz sont installés.

Projet

projet Mech-Vision

Le projet Mech-Vision doit contenir une Étape Planification de trajectoire, et le paramètre Type de port de l’Étape Sortie doit être défini sur Prédéfini (trajet du robot).

Prérequis

Ce programme d’exemple est fourni uniquement à titre de référence. Avant d’utiliser le programme, veuillez modifier le programme en fonction du scénario réel.

Description du programme

Cette partie décrit le programme d’exemple MM_S3_Vis_Path.

sample1 1
sample1 2
sample1 3
sample3 4
sample1 5
sample3 6

La figure ci-dessous décrit le processus du programme d’exemple ci-dessus.

sample3 7

Le tableau ci-dessous explique le programme d’exemple ci-dessus.

  • Pour les commandes de l’Interface standard pour la communication PROFINET dans les automates Siemens, vous pouvez cliquer sur l’hyperlien du nom de la commande dans l’explication suivante pour afficher la description détaillée de la commande.

  • Pour les commandes courantes fournies avec les automates de la série Siemens S7, voir Commandes courantes.

Fonctionnalité Description

Établir la communication entre l’automate et le système de vision

sample1 1
  • "CameraIO".MM.ToCamera.COMM_ENABLE : Détermine si la communication est activée. Valeurs valides :

    • False : La communication est désactivée. Le système de vision ignorera la commande envoyée par l’automate.

    • True : La communication est activée. Le système de vision recevra la commande envoyée par l’automate.

  • P_TRIG : Détecte le front montant du résultat de l’opération logique lorsque "CameraIO".MM.ToCamera.COMM_ENABLE est True.

  • MOVE : Définit "Camera_Pose_Ready" sur 2.

  • "Camera_Pose_Ready" : Indique si l’automate a obtenu la trajectoire planifiée.

    • 0 : L’automate n’a pas obtenu la trajectoire planifiée lorsque la caméra était sur le point de capturer des images ou avait déjà capturé des images, ou lorsque Mech-Vision calculait la trajectoire planifiée.

    • 1 : La caméra a capturé des images et l’automate a obtenu la trajectoire planifiée.

    • 2 : La caméra était prête à commencer à capturer des images pour la première fois, et l’automate n’a pas obtenu la trajectoire planifiée.

Ainsi, le Réseau 1 indique que seulement lorsque "CameraIO".MM.ToCamera.COMM_ENABLE est réglé sur True et que P_TRIG détecte un front montant, "Camera_Pose_Ready" est initialisé à 2.

Réinitialiser les indicateurs d’exception du code d’état du système de vision

sample1 2
  • "Camera_User".Status_Code_Error[0] : Un indicateur d’exception de code d’état du système de vision. True indique que le projet Mech-Vision n’a pas été exécuté avec succès, c’est-à-dire qu’une exception s’est produite dans le système de vision.

  • "Camera_User".Status_Code_Error[1] : Un indicateur d’exception de code d’état du système de vision. True indique que le projet Mech-Vision n’a pas réussi à sortir la trajectoire planifiée, c’est-à-dire qu’une exception s’est produite dans le système de vision.

  • "External_Reset_Camera_Error" : Un signal de réinitialisation externe. Lorsqu’une exception se produit dans le système de vision et que le signal passe de False à True, les "Camera_User".Status_Code_Error[0] et "Camera_User".Status_Code_Error[1] suivants sont réinitialisés.

Ainsi, le Réseau 2 indique que lorsque "External_Reset_Camera_Error" est actif, "Camera_User".Status_Code_Error[0] et "Camera_User".Status_Code_Error[1] sont réinitialisés.

Définir les paramètres d’interface pour le projet Mech-Vision

sample1 3
  • "User_Vision_Project_Num" : L’ID du projet Mech-Vision.

  • "User_Robot_Pose_Type" : Spécifie le type de pose du robot réel à envoyer au projet Mech-Vision. La valeur de ce paramètre doit être définie comme la valeur de Robot_Pose_Type de la commande MM_Start_Vis. Dans cet exemple, la valeur du paramètre est 0. Vous pouvez modifier la valeur selon vos besoins.

  • "Camera_User".Robot_Pose[0,0] ~ [0,5] : Six données de position articulaire du robot. La valeur de ce paramètre doit être définie comme la valeur de Robot_Pose[0,0]~[0,5] de la commande MM_Start_Vis. Dans cet exemple, la valeur du paramètre est 0. Vous pouvez modifier la valeur selon les besoins et ajouter les données de pose de la bride du robot, c’est-à-dire la valeur du paramètre Robot_Pose[1,0]~[1,5] dans la commande MM_Start_Vis.

Ainsi, dans le Réseau 3, l’ID du projet Mech-Vision est défini sur 1 et "User_Robot_Pose_Type" est défini sur 0. Si l’ID du projet Mech-Vision est défini sur 1 et que "User_Robot_Pose_Type" est défini sur 0, "Camera_User".Robot_Pose[0,0]~[0,5] sont définis à 0 séquentiellement.

Déclencher la capture d’images externe

sample3 4
  • "External_Photo_Signal" : Le signal externe pour déclencher la capture d’images sur front montant.

  • "CameraIO".MM.FromCamera.STATUS_CODE : Un code d’état du système de vision. 1102 indique que l’automate a déclenché avec succès l’exécution du projet Mech-Vision. 1103 indique que l’automate a obtenu avec succès la trajectoire planifiée.

  • "Camera_User".Start_Vis : Le drapeau qui déclenche l’exécution du projet Mech-Vision lors d’un front montant.

  • "Camera_User".Get_VisData : Le drapeau qui déclenche la récupération de la trajectoire planifiée par Mech-Vision lors d’un front montant.

Ainsi, le Réseau 4 indique que le signal externe de déclenchement de la capture d’images sur front montant est détecté, puis les trois opérations de capture suivantes sont effectuées.

  1. Une image est capturée pour la première fois. "CameraIO".MM.FromCamera.STATUS_CODE est défini sur 0, et "Camera_Pose_Ready" est défini sur 2.

  2. Une image est capturée normalement à l’occurrence suivante. "CameraIO".MM.FromCamera.STATUS_CODE est égal à 1103.

  3. Une erreur est signalée lors de la capture de l’image suivante. "CameraIO".MM.FromCamera.STATUS_CODE n’est pas égal à 1103, et "Camera_User".Status_Code_Error[0] ainsi que "Camera_User".Status_Code_Error[1] sont tous deux définis sur False.

Enfin, "Camera_User".Step_Num est défini sur 5, "Camera_User".Start_Vis et "Camera_User".Get_VisData sont réinitialisés, et "Camera_Pose_Ready" est défini sur 0.

Déclencher l’exécution du projet Mech-Vision et, selon la réussite du déclenchement, effectuer des traitements différents

sample1 5
Pour plus d’informations sur les paramètres d’entrée et de sortie de MM_Start_Vis, voir MM_Start_Vis.

Le Réseau 5 indique que si "Camera_User".Step_Num est défini sur 5, les opérations suivantes sont effectuées.

  1. MM_Start_Vis est activé. Dans ce cas, Req_Pose_Num est défini sur 0, ce qui signifie que tous les points de passage sont obtenus. Le nombre maximal de points de passage est de 20.

  2. Lorsque "MM_Start_Vis".ENO est True et que "CameraIO".MM.FromCamera.TRIGGER_ACKNOWLEDGE est False, "Camera_User".Start_Vis est défini et l’automate déclenchera l’exécution du projet Mech-Vision.

  3. Si la valeur de "CameraIO".MM.FromCamera.STATUS_CODE est supérieure ou égale à 1001 et inférieure ou égale à 1099, une exception s’est produite dans le système de vision. Dans ce cas, après que le front montant de la sortie logique a été capturé à l’aide de la commande P_TRIG, "Camera_User".Status_Code_Error[0] est défini et "Camera_User".Start_Vis est réinitialisé. Pour plus d’informations sur la cause d’un code d’état spécifique, voir Codes d’état et codes d’erreur de l’Interface standard.

  4. Si "CameraIO".MM.FromCamera.STATUS_CODE est égal à 1102 et que "CameraIO".MM.FromCamera.COMMAND_COMPLETE est True, cela signifie que le système de vision a exécuté avec succès la commande envoyée par l’automate. À ce stade, le front montant de cette sortie logique est capturé à l’aide de la commande P_TRIG, "Camera_User".Status_Code_Error[0] et "Camera_User".Start_Vis sont réinitialisés, et "Camera_User".Step_Num est défini sur 10.

Obtenir la trajectoire planifiée du projet Mech-Vision et, selon la réussite de l’obtention, effectuer des traitements différents

sample3 6
Pour plus d’informations sur les paramètres d’entrée et de sortie de MM_Get_Planned_VisData, voir MM_Get_Planned_VisData.

Le Réseau 6 indique que si "Camera_User".Step_Num est défini sur 10, les opérations suivantes sont effectuées.

  1. MM_Get_Planned_VisData est activé.

  2. Lorsque "MM_Get_Planned_VisData".ENO est True et que "CameraIO".MM.FromCamera.TRIGGER_ACKNOWLEDGE est False, "Camera_User".Get_VisData est défini et l’automate commence à récupérer la trajectoire planifiée exportée par le projet Mech-Vision.

  3. Si "CameraIO".MM.FromCamera.STATUS_CODE est compris entre 1001 et 1099 (inclus), cela indique une erreur du système de vision. À ce stade, le front montant de cette sortie logique est capturé à l’aide de la commande P_TRIG, "Camera_User".Status_Code_Error[1] est défini, et "Camera_User".Get_VisData est réinitialisé. Pour plus d’informations sur la cause d’un code d’état spécifique, voir Codes d’état et codes d’erreur de l’Interface standard.

  4. Si "CameraIO".MM.FromCamera.STATUS_CODE est égal à 1103 et que "CameraIO".MM.FromCamera.COMMAND_COMPLETE est True, cela signifie que le système de vision a exécuté avec succès la commande envoyée par l’automate. À ce stade, "Camera_User".Status_Code_Error[1] et "Camera_User".Get_VisData sont réinitialisés. La commande P_TRIG est utilisée pour capturer le front montant de la sortie logique lorsque "CameraIO".MM.FromCamera.STATUS_CODE est égal à 1103 et que "CameraIO".MM.FromCamera.COMMAND_COMPLETE est True, "Camera_User".Step_Num est défini sur 0, et "Camera_Pose_Ready" est défini sur 1. Cela indique que l’automate a reçu la trajectoire planifiée et peut désormais transmettre la trajectoire au robot pour utilisation.

Cette page est-elle utile ?

Veuillez nous indiquer comment améliorer :

Nous accordons de l’importance à votre vie privée

Nous utilisons des cookies pour vous offrir la meilleure expérience possible sur notre site web. En continuant à utiliser le site, vous reconnaissez accepter l’utilisation des cookies. Si vous refusez, un cookie unique sera utilisé pour garantir que vous ne soyez pas suivi ou reconnu lors de votre visite sur ce site.