Programme d’exemple 2 : MM_S2_Viz_Basic

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’API déclenche l’exécution du projet Mech-Viz puis obtient le trajet planifié par Mech-Viz.

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

Projets Mech-Vision et Mech-Viz

Prérequis

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

Description du programme

Cette section décrit le programme d’exemple MM_S2_Viz_Basic.

sample2 1
sample2 2
sample2 3
sample2 4
sample2 5
sample2 6

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

sample2 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 API 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 API Siemens série S7, voir Commandes courantes.

Feature Description

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

sample2 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’API.

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

  • 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’API a obtenu le trajet planifié.

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

    • 1 : La caméra a capturé des images et l’API a obtenu le trajet planifié.

    • 2 : La caméra était prête à commencer la capture d’images pour la première fois et l’API n’a pas obtenu le trajet planifié.

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

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

sample2 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-Viz n’a pas été exécuté avec succès, c’est-à-dire qu’une exception est survenue 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-Viz n’a pas réussi à produire le trajet planifié, c’est-à-dire qu’une exception est survenue 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] qui suivent 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-Viz

sample2 3
  • "User_Robot_Pose_Type" : Spécifie le type de pose du robot réel à fournir au projet Mech-Viz. 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 2. Vous pouvez la modifier selon vos besoins.

  • "Camera_User".Robot_Pose[0,0] ~ [0,5] : Six valeurs de positions articulaires du robot. Lorsque "User_Robot_Pose_Type" est réglé sur 2, les positions articulaires sont des données personnalisées définies côté robot. La valeur de "Camera_User".Robot_Pose[0,0]~[0,5] doit être définie comme la valeur du paramètre Robot_Pose[0,0]~[0,5] dans la commande MM_Start_Viz. Dans cet exemple, les positions des articulations du robot J1~J6 sont définies à 10000, 20000, 30000, 40000, 50000 et 60000 dans l’ordre. Vous pouvez modifier la valeur selon vos besoins et ajouter la 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_Viz).

Ainsi, le réseau 3 indique que si "User_Robot_Pose_Type" est réglé sur 2, "Camera_User".Robot_Pose[0,0]~[0,5] sera défini successivement sur 10000, 20000, 30000, 40000, 50000 et 60000.

Déclencher une acquisition d’image externe

sample2 4
  • "External_Photo_Signal" : Le signal externe qui déclenche la capture d’images lors d’un front montant.

  • "CameraIO".MM.FromCamera.STATUS_CODE : Un code d’état du système de vision. 2103 indique que l’API a déclenché avec succès l’exécution du projet Mech-Viz. 2100 indique que l’API a obtenu avec succès le trajet planifié depuis Mech-Viz.

  • "Camera_User".Start_Viz : L’indicateur qui déclenche l’exécution du projet Mech-Viz lors du front montant.

  • "Camera_User".Get_VizData : L’indicateur qui déclenche la récupération du trajet planifié de Mech-Viz lors du front montant.

Ainsi, le réseau 4 indique que le signal externe qui déclenche la capture d’images lors d’un front montant est pris en compte, puis les trois opérations de capture d’images suivantes sont effectuées.

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

  2. Une image est capturée normalement la fois suivante. "CameraIO".MM.FromCamera.STATUS_CODE est réglé sur 2100.

  3. Une erreur est signalée lors de la capture d’une image la fois suivante. "CameraIO".MM.FromCamera.STATUS_CODE n’est pas égal à 2100, et "Camera_User".Status_Code_Error[0] et "Camera_User".Status_Code_Error[1] sont tous deux réglés sur False.

Enfin, "Camera_User".Step_Num est réglé sur 5, "Camera_User".Start_Viz et "Camera_User".Get_VizData sont réinitialisés, et "Camera_Pose_Ready" est réglé sur 0.

Déclencher l’exécution du projet Mech-Viz et déterminer, selon la réussite du déclenchement, le traitement à effectuer

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

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

  1. MM_Start_Viz est activé.

  2. Lorsque "MM_Start_Viz".ENO est réglé sur True et que "CameraIO".MM.FromCamera.TRIGGER_ACKNOWLEDGE est réglé sur False, "Camera_User".Start_Viz est réinitialisé et l’API déclenche l’exécution du projet Mech-Viz.

  3. Si "CameraIO".MM.FromCamera.STATUS_CODE est compris entre 2001 et 2099 (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[0] est défini, et "Camera_User".Start_Viz est réinitialisé. Pour connaître 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 à 2103, cela signifie que le système de vision a exécuté avec succès la commande envoyée par l’API. À 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_Viz sont réinitialisés, et "Camera_User".Step_Num est réglé sur 10.

Obtenir le trajet planifié du projet Mech-Viz et déterminer, selon la réussite de l’obtention, le traitement à effectuer

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

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

  1. MM_Get_VizData est activé.

  2. Lorsque "MM_Get_VizData".ENO est True et que "CameraIO".MM.FromCamera.TRIGGER_ACKNOWLEDGE est False, "Camera_User".Get_VizData est défini et l’API commence à récupérer le trajet planifié produit par le projet Mech-Viz.

  3. Si "CameraIO".MM.FromCamera.STATUS_CODE est compris entre 2001 et 2099 (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_VizData est réinitialisé. Pour connaître 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 à 2100 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’API. À ce stade, "Camera_User".Status_Code_Error[1] et "Camera_User".Get_VizData 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 à 2100 et que "CameraIO".MM.FromCamera.COMMAND_COMPLETE est True, "Camera_User".Step_Num est réglé sur 0, et "Camera_Pose_Ready" est réglé sur 1. Cela indique que l’API a reçu le trajet planifié par Mech-Viz et peut maintenant transmettre le trajet 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.