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.

Introduction du programme

Description

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

File path

Vous pouvez trouver le fichier du programme en utilisant le chemin Communication Component/Robot_Interface/Siemens Snap7/TIA Portal/sample applications/SampleProjectSnap7.zip dans le répertoire d’installation de Mech-Vision et Mech-Viz.

Project

Projet Mech-Vision

Le projet Mech-Vision doit contenir une étape Planification de trajectoire, et le paramètre Port Type de l’étape Sortie doit être défini sur Predefined (robot path).

Prerequisites

Ce programme d’exemple est fourni uniquement à titre de référence. 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_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 des API Siemens série S7, vous pouvez cliquer sur l’hyperlien du nom de commande dans l’explication suivante pour afficher la description détaillée de la commande.

  • Pour les commandes courantes livrées avec les API Siemens série S7, voir Commandes courantes.

Feature Description

Initialize the parameters

sample1 1
  • "MM Interface".FromCamera."Status Code": Un code d’état du système de vision.

  • P_TRIG: Détecter le front montant du signal pour le résultat de l’opération logique ("MM Interface".FromCamera."Status Code" égal à 0).

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

  • "Camera_Pose_Ready": Indique si le PLC a obtenu la trajectoire planifiée.

    • 0: Le PLC 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 le PLC a obtenu la trajectoire planifiée.

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

Ainsi, le Réseau 1 indique que seulement lorsque "MM Interface".FromCamera."Status Code" est égal à 0 et que P_TRIG détecte un front montant, "Camera_Pose_Ready" est initialisé à 2.

Reset vision system status code exception flags

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.-à-d. 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 à produire la trajectoire planifiée, c.-à-d. 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 réinitialise "Camera_User".Status_Code_Error[0] et "Camera_User".Status_Code_Error[1] et définit "Camera_User".Step_Num sur 0 lorsque "External_Reset_Camera_Error" est actif.

Set interface parameters for the Mech-Vision project

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 à fournir 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 la modifier selon les 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.0. Vous pouvez modifier la valeur selon les besoins et ajouter les données de pose du flasque 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.0 séquentiellement.

Trigger external image capturing

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

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

  • "Camera_User".Start_Vis: L’indicateur qui déclenche l’exécution du projet Mech-Vision lorsqu’un front montant se produit.

  • "Camera_User".Get_VisData: L’indicateur qui déclenche la récupération de la trajectoire planifiée de Mech-Vision lorsqu’un front montant se produit.

Ainsi, le Réseau 4 indique que le signal externe pour déclencher la capture d’images lors d’un front montant est acquis, puis les trois opérations de capture d’images suivantes sont effectuées.

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

  2. Une image est capturée normalement la fois suivante. "MM Interface".FromCamera."Status Code" est égal à 1103.

  3. Une erreur est signalée lors de la capture d’une image la fois suivante. "MM Interface".FromCamera."Status Code" n’est pas égal à 1103, et "Camera_User".Status_Code_Error[0] et "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.

Trigger the Mech-Vision project to run and determine whether the project is triggered successfully for different processing

sample1 5
Pour plus d’informations sur les paramètres d’entrée et de sortie dans 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 20.

  2. Lorsque "MM Interface".FromCamera."Trigger Acknowledge" est défini sur False et que "Camera_User".Status_Code_Error[0] est défini sur False, "Camera_User".Start_Vis est défini et le PLC déclenche l’exécution du projet Mech-Vision.

  3. Si "MM Interface".FromCamera."Status Code" est compris entre 1001 et 1099 (inclus), cela indique une erreur du système de vision. À ce moment, le front montant de cette sortie logique est capturé à l’aide de la commande P_TRIG. Lorsque "MM Interface".FromCamera."Trigger Acknowledge" est True, "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 la valeur de "MM Interface".FromCamera."Status Code" est 1102, le système de vision a exécuté avec succès la commande envoyée par le PLC. Dans ce cas, la commande P_TRIG est appelée pour récupérer le front montant de la sortie logique, une valeur de 10 est affectée à "Camera_User".Step_Num, et "Camera_User".Start_Vis et "Camera_User".Status_Code_Error[0] sont réinitialisés.

Obtenir la trajectoire planifiée du projet Mech-Vision et déterminer si la trajectoire planifiée est obtenue avec succès pour différents traitements

sample3 6
Pour plus d’informations sur les paramètres d’entrée et de sortie dans 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 Interface".FromCamera."Trigger Acknowledge" est défini sur False et que "Camera_User".Status_Code_Error[1] est défini sur False, "Camera_User".Get_VisData est défini et le PLC commence à obtenir la trajectoire planifiée sortie par le projet Mech-Vision.

  3. Si "MM Interface".FromCamera."Status Code" est compris entre 1001 et 1099 (inclus), cela indique une erreur du système de vision. À ce moment, le front montant de cette sortie logique est capturé à l’aide de la commande P_TRIG. Lorsque "MM Interface".FromCamera."Trigger_Acknowledge" est True, "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 la valeur de "MM Interface".FromCamera."Status Code" est 1103, le système de vision a exécuté avec succès la commande envoyée par le PLC. Dans ce cas, "Camera_User".Get_VisData et "Camera_User".Status_Code_Error[1] sont réinitialisés. La commande P_TRIG est appelée pour récupérer le front montant de la sortie logique ("MM Interface".FromCamera."Status Code" égal à 1103). En même temps, grâce à la commande P_TRIG, une valeur de 0 est affectée à "Camera_User".Step_Num, et une valeur de 1 est affectée à "Camera_Pose_Ready", ce qui indique que le PLC a obtenu la trajectoire planifiée et peut la transmettre au robot.

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.