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.

Introduction du programme

Description

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

Chemin du fichier

Vous pouvez accéder au répertoire d’installation de Mech-Viz 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_S2_Viz_Basic.L5X.

Projet

Projets Mech-Vision et Mech-Viz

Prérequis

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 partie décrit le programme d’exemple MM_S2_Viz_Basic.

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

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

sample2 8

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

  • Pour les commandes de l’Interface standard du PLC AB, vous pouvez cliquer sur l’hyperlien vers le nom de la commande dans l’explication suivante pour afficher la description détaillée de la commande.

  • Pour les commandes courantes fournies avec le PLC AB, veuillez vous référer à Commandes courantes.

Feature Description

Établir la communication entre le PLC et le système de vision

sample2 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 le PLC. False indique que le système de vision ignorera la commande envoyée par le PLC.

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

  • MOV: Définit 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-Viz 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.

Par conséquent, le barreau 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

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 ne s’est pas 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 à sortir la trajectoire planifiée, 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, réinitialisez ensuite Camera_User.Status_Code_Error[0] et Camera_User.Status_Code_Error[1].

Par conséquent, le barreau 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-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 cohérente avec la valeur de Robot_Pose_Type de la commande MM_Start_Viz. Dans cet exemple, la valeur du paramètre est 2. Vous pouvez modifier la valeur selon vos besoins.

Par conséquent, le barreau 2 indique que User_Robot_Pose_Type est défini sur 2.

sample2 4
  • Camera_User.Robot_Pose_JPS[0] à [5]: Six données de position articulaire du robot. Lorsque User_Robot_Pose_Type est défini sur 2, les données de position articulaire sont des données personnalisées définies côté robot. Les valeurs de Camera_User.Robot_Pose_JPS[0] à [5] doivent être cohérentes avec la valeur du paramètre Robot_Pose_JPS de la commande MM_Start_Viz. Dans cet exemple, les positions articulaires des axes J1 à J6 du robot sont définies successivement à 10000, 20000, 30000, 40000, 50000 et 60000. Vous pouvez modifier la valeur selon vos 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_Viz).

Par conséquent, le barreau 3 indique que si User_Robot_Pose_Type est défini sur 2, Camera_User.Robot_Pose_JPS[0] à Camera_User.Robot_Pose_JPS[5] seront définis à 10000, 20000, 30000, 40000, 50000 et 60000.

Déclencher la capture d’images externe

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

  • Camera_User.Set_Edge[0]: Obtenir le front montant de External_Photo_Signal en exécutant la commande ONS.

  • FromCamera.STATUS_CODE: Le code d’état du système de vision. 2103 indique que le PLC a déclenché avec succès l’exécution du projet Mech-Viz. 2100 indique que le PLC a obtenu avec succès la trajectoire planifiée de Mech-Viz.

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

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

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

Par conséquent, le barreau 4 indique que le signal externe de déclenchement de la capture d’images lors d’un front montant est détecté, puis les trois opérations de capture d’images suivantes sont effectuées, comme illustré.

  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 2100 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 à 2100, et Camera_User.Status_Code_Error[0] comme 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_Viz et Camera_User.Get_VizData sont réinitialisés.

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

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

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

  1. Activer MM_Start_Viz.

  2. Lorsque MM_Start_Viz.EnableOut est défini sur True et FromCamera.TRIGGER_ACKNOWLEDGE est défini sur False, réinitialiser Camera_User.Start_Viz et le PLC déclenche l’exécution du projet Mech-Viz.

  3. Si la valeur de FromCamera.STATUS_CODE est supérieure ou égale à 2001 et inférieure ou égale à 2099, 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éfinir Camera_User.Status_Code_Error[0] et réinitialiser Camera_User.Start_Viz. 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 FromCamera.STATUS_CODE est 2103 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 le PLC. Dans ce cas, appeler la commande ONS pour détecter le front montant de la sortie logique, attribuer la valeur 10 à Camera_User.Step_Num, puis réinitialiser Camera_User.Status_Code_Error[0] et Camera_User.Start_Viz.

Obtenir la trajectoire planifiée du projet Mech-Viz et déterminer, pour des traitements différents, si l’obtention a réussi

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

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

  1. Activer MM_Get_VizData.

  2. Lorsque MM_Get_VizData.EnableOut est défini sur True et FromCamera.TRIGGER_ACKNOWLEDGE est défini sur False, réinitialiser Camera_User.Get_VizData et le PLC commence à obtenir la trajectoire planifiée produite par le projet Mech-Viz.

  3. Si la valeur de FromCamera.STATUS_CODE est supérieure ou égale à 2001 et inférieure ou égale à 2099, 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éfinir Camera_User.Status_Code_Error[1] et réinitialiser Camera_User.Get_VizData. 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 FromCamera.STATUS_CODE est défini sur 2100 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 le PLC. Dans ce cas, réinitialiser Camera_User.Status_Code_Error[1] et Camera_User.Get_VizData. Détecter le front montant sur la sortie logique à l’aide de la commande ONS lorsque FromCamera.STATUS_CODE est égal à 2100 et que FromCamera.COMMAND_COMPLETE est égal à True, et définir Camera_Pose_Ready sur 1 et Camera_User.Step_Num sur 0. Cela signifie que le PLC a obtenu la trajectoire planifiée de Mech-Viz et peut transmettre la trajectoire planifiée 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.