Programme d’exemple 1 : MM_S1_Vis_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.

Introduction du programme

Description

L’API déclenche l’exécution du projet Mech-Vision puis obtient le résultat de vision.

Chemin du fichier

Vous pouvez vous rendre dans les répertoires d’installation de Mech-Vision et Mech-Viz et trouver le fichier en utilisant le chemin Communication Component/Robot_Interface/EthernetIP/Programming Samples/AB PLC EthernetIP/sample applications/ExportedRoutineOfSampleProjects/MM_S1_Vis_Basic.L5X.

Projet

projet Mech-Vision

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_S1_Vis_Basic.

sample1 1
sample1 2
sample1 3
sample1 4
sample1 5
sample1 6
sample1 7

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

sample1 8

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

  • Pour les commandes de l’Interface Standard de l’API AB, vous pouvez cliquer sur l’hyperlien du nom de la commande dans l’explication ci-dessous pour consulter la description détaillée de la commande.

  • Pour les commandes courantes fournies avec l’API AB, veuillez vous référer à Commandes courantes.

Feature Description

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

sample1 1
  • ToCamera.COMM_ENABLE : Spécifie s’il faut activer le déclenchement du signal. True indique que le signal de déclenchement fonctionnera et que le système de vision recevra la commande envoyée par l’API. False indique que le système de vision ignorera la commande envoyée par l’API.

  • S:FS : Exécuté uniquement pendant le premier cycle de scrutation.

  • MOV : Définit Camera_Pose_Ready à 2.

  • Camera_Pose_Ready : Indique si l’API a obtenu le résultat de vision. Valeurs valides :

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

    • 1 : La caméra a capturé des images et l’API a obtenu le résultat de vision.

    • 2 : La caméra était prête à commencer à capturer des images pour la première fois, et l’API n’a pas obtenu le résultat de vision.

Par conséquent, l’échelon 0 indique que ToCamera.COMM_ENABLE est réinitialisé et que Camera_Pose_Ready est défini sur 2 lors du premier cycle de scrutation.

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

sample1 2
  • Camera_User.Status_Code_Error[0] : 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] : 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 le résultat de vision, c’est-à-dire qu’une exception s’est produite dans le système de vision.

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

Par conséquent, l’échelon 1 indique que lorsque External_Reset_Camera_Error est déclenché, réinitialisez Camera_User.Status_Code_Error[0] et Camera_User.Status_Code_Error[1].

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 à transmettre au projet Mech-Vision. La valeur de ce paramètre doit être cohérente avec 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 les besoins.

Par conséquent, l’échelon 2 indique que l’ID du projet Mech-Vision est défini sur 1 et que User_Robot_Pose_Type est défini sur 0.

sample1 4
  • Camera_User.Robot_Pose_JPS[0] à [5] : Six données de positions articulaires du robot. La valeur de ce paramètre doit être cohérente avec la valeur de Robot_Pose_JPS 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_TCP dans la commande MM_Start_Vis.

Par conséquent, l’échelon 3 indique que 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_JPS[0] à Camera_User.Robot_Pose_JPS[5] seront définis sur 0.

Déclencher la capture d’images externe

sample1 5
  • External_Photo_Signal : Signal externe permettant de déclencher la capture d’images lors d’un front montant.

  • Camera_User.Set_Edge[0] : Obtient le front montant d’External_Photo_Signal en exécutant la commande ONS.

  • FromCamera.STATUS_CODE : Code d’état du système de vision. 1102 indique que l’API a déclenché avec succès l’exécution du projet Mech-Vision. 1100 indique que l’API a obtenu avec succès le résultat de vision.

  • FromCamera.COMMAND_COMPLETE : Indique si le système de vision a terminé l’exécution de la commande envoyée par l’API. True indique que la commande a été exécutée, tandis que False indique que la commande n’a pas été exécutée.

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

  • Camera_User.Get_VisData : L’indicateur qui déclenche la récupération du résultat de vision Mech-Vision lors d’un front montant.

Par conséquent, l’échelon 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 d’image suivantes sont effectuées, comme indiqué sur la figure.

  1. Une image est capturée pour la première fois. 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. FromCamera.STATUS_CODE est défini sur 1100 et FromCamera.COMMAND_COMPLETE est défini sur True.

  3. Une erreur est signalée lors de la capture d’une image la fois suivante. FromCamera.STATUS_CODE n’est pas égal à 1100, 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_Pose_Ready est défini sur 0, et Camera_User.Start_Vis ainsi que Camera_User.Get_VisData sont réinitialisés.

Déclencher l’exécution du projet Mech-Vision et déterminer si le déclenchement a réussi pour différents traitements

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

L’échelon 5 indique que si Camera_User.Step_Num est défini sur 5, les opérations suivantes sont effectuées.

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

  2. Lorsque MM_Start_Vis.EnableOut est défini sur True et FromCamera.TRIGGER_ACKNOWLEDGE est défini sur False, réinitialisez Camera_User.Start_Vis et l’API déclenche l’exécution du projet Mech-Vision.

  3. Si la valeur de FromCamera.STATUS_CODE est supérieure ou égale à 1001 et inférieure ou égale à 1099, une exception se produit dans le système de vision. Dans ce cas, après avoir détecté le front montant de la sortie logique à l’aide de la commande ONS, définissez Camera_User.Status_Code_Error[0] et réinitialisez Camera_User.Start_Vis. Pour connaître la cause d’un code d’état spécifique, consultez Codes d’état et codes d’erreur de l’Interface Standard.

  4. Si la valeur de FromCamera.STATUS_CODE est 1102 et que FromCamera.COMMAND_COMPLETE est défini sur True, le système de vision a exécuté avec succès la commande envoyée par l’API. Dans ce cas, la commande ONS détecte le front montant de la sortie logique, affecte la valeur 10 à Camera_User.Step_Num, puis réinitialise Camera_User.Status_Code_Error[0] et Camera_User.Start_Vis.

Obtenir le résultat de vision du projet Mech-Vision et déterminer si l’obtention a réussi pour différents traitements

sample1 7
Pour plus d’informations sur les paramètres d’entrée et de sortie de MM_Get_VisData, consultez MM_Get_VisData.

L’échelon 6 indique que si Camera_User.Step_Num est défini sur 10, les opérations suivantes sont effectuées.

  1. Activer MM_Get_VisData.

  2. Lorsque MM_Get_VisData.EnableOut est défini sur True et FromCamera.TRIGGER_ACKNOWLEDGE est défini sur False, réinitialisez Camera_User.Get_VisData et l’API commence à obtenir le résultat de vision produit par le projet Mech-Vision.

  3. Si la valeur de FromCamera.STATUS_CODE est supérieure ou égale à 1001 et inférieure ou égale à 1099, une exception se produit dans le système de vision. Dans ce cas, après avoir détecté le front montant de la sortie logique à l’aide de la commande ONS, définissez Camera_User.Status_Code_Error[1] et réinitialisez Camera_User.Start_Vis. Pour connaître la cause d’un code d’état spécifique, consultez Codes d’état et codes d’erreur de l’Interface Standard.

  4. Si FromCamera.STATUS_CODE est défini sur 1100 et FromCamera.COMMAND_COMPLETE est défini sur True, le système de vision a exécuté avec succès la commande envoyée par l’API. Dans ce cas, réinitialisez Camera_User.Status_Code_Error[1] et Camera_User.Get_VisData. Détectez le front montant de la sortie logique à l’aide de la commande ONS lorsque FromCamera.STATUS_CODE vaut 1100 et que FromCamera.COMMAND_COMPLETE vaut True, puis définissez Camera_Pose_Ready à 1 et Camera_User.Step_Num à 0. Cela signifie que l’API a obtenu le résultat de vision et peut le 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.