Configuration de la communication et utilisation du programme d’exemple

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.

Ce sujet présente la procédure de configuration de la communication Modbus TCP entre un automate Siemens SIMATIC S7 et le système de vision Mech-Mind à l’aide du logiciel TIA Portal.

Exigences matérielles et logicielles

Les modèles et versions indiqués ci-dessous ont été testés et peuvent être utilisés. Pour d’autres modèles et versions, vous pouvez vous référer à ce guide pour la procédure d’utilisation. En cas de problème, veuillez contacter l’assistance technique de Mech-Mind.

Matériel

  • Siemens SIMATIC S7-1200, CPU 1211C, DC/DC/DC

  • Adaptateur secteur AC 220 V vers DC 24 V

  • IPC du système de vision Mech-Mind

  • Câbles Ethernet

Logiciel

  • Logiciel de programmation d’automate Siemens TIA Portal V15.1

  • Versions Mech-Vision & Mech-Viz : 2.0.0 ou supérieure

  • Fichiers de programme exemple pour l’API:

    • MM Modbus TCP.scl (pour établir la communication Modbus TCP) ;

    • MM Modbus TCP Interface Program.scl (pour implémenter les fonctionnalités de diverses commandes d’interface).

    Les fichiers d’exemple sont stockés dans Communication Component/Robot_Interface/Modbus TCP/Siemens TIA Portal dans le répertoire d’installation où Mech-Vision et Mech-Viz sont installés. Veuillez copier le fichier d’exemple sur l’ordinateur sur lequel TIA Portal est installé.

Le pare-feu sur l’IPC doit être désactivé.

Configurer l’IPC et initier la communication

Définir l’adresse IP de l’IPC

  1. Ouvrez le Panneau de configuration, puis cliquez sur Afficher l’état et la gestion du réseau.

    set ip1
  2. Dans la fenêtre « Centre Réseau et partage », cliquez sur Modifier les paramètres de la carte.

    set ip2
  3. Dans la fenêtre « Connexions réseau », double-cliquez sur l’interface Ethernet connectée à l’API, puis sélectionnez Propriétés dans la fenêtre contextuelle État d’Ethernet.

    set ip3
  4. Dans la fenêtre Propriétés de Ethernet, sélectionnez Réseau dans la barre de menus, puis double-cliquez sur Protocole Internet version 4 (TCP/IPv4).

    set ip4
  5. Dans la fenêtre Protocole Internet version 4 (TCP/IPv4), cochez « Utiliser l’adresse IP suivante », puis définissez l’adresse IP, le masque de sous-réseau et la passerelle par défaut (doivent être sur le même sous-réseau que l’API). Ensuite, cliquez sur « OK » pour enregistrer les modifications.

    set ip5

Configurer la communication du robot

  1. Ouvrez Mech-Vision, et vous pouvez accéder à différentes interfaces. Créez une nouvelle solution en suivant les instructions ci-dessous.

    • Si vous êtes entré dans l’interface d’accueil, cliquez sur Nouvelle solution vierge.

      create solution 1
    • Si vous êtes entré dans l’interface principale, cliquez sur Fichier  Nouvelle solution dans la barre de menus.

      create solution 2
  2. Cliquez sur Configuration de la communication robot dans la barre d’outils de Mech-Vision.

  3. Dans la fenêtre Configuration de la communication robot, effectuez les configurations suivantes.

    1. Cliquez sur la liste déroulante Sélectionner le robot, et choisissez soit Robot répertorié soit Robot personnalisé selon le robot utilisé dans votre projet. Cliquez ensuite sur Suivant.

      • Robot répertorié : Convient à la plupart des robots. Cliquez sur Sélectionner le modèle de robot pour choisir le modèle de robot spécifique.

      • Robot personnalisé : Convient aux robots portiques ou aux robots qui ne figurent pas dans la catégorie des robots répertoriés. Il faut sélectionner la Convention des angles d’Euler du robot et le système de coordonnées du robot.

    2. Dans la zone Mode de communication, sélectionnez Interface standard pour Type de service d’interface, MODBUS TCP Slave pour Protocole, et ABCD pour Ordre des octets. Définissez l'ID esclave sur 255.

    3. Définissez le numéro de port sur 2000 pour l’adresse IP de l’hôte.

    4. (Facultatif) Sélectionnez Activer automatiquement le service d’interface à l’ouverture de la solution.

    5. Cliquez sur Appliquer.

      modbus tcp s7
  4. Sur l’interface principale de Mech-Vision, assurez-vous que l’interrupteur Configuration de la communication robot dans la barre d’outils est basculé et devient bleu.

    interface service

Créer et configurer le projet API

Créer le projet API

Si nécessaire, cliquez sur Enregistrer le projet pour sauvegarder les modifications du projet.
  1. Ouvrez TIA Portal et cliquez sur Créer un nouveau projet. Saisissez « Nom du projet » et « Chemin », puis cliquez sur Créer. Cliquez sur Ouvrir la vue du projet dans la page contextuelle.

    create plc 1
  2. Dans le panneau Arborescence du projet, double-cliquez sur Ajouter un nouvel appareil. Dans la nouvelle fenêtre, cliquez sur Automates, trouvez le module CPU que vous utilisez et saisissez le nom dans la case vide sous « Nom de l’appareil ». Cliquez sur OK pour confirmer l’ajout de l’appareil. Ici, l’appareil est nommé PLC_1.

    create plc 2
  3. Sélectionnez Configuration de l’appareil sous PLC_1 dans le panneau Arborescence du projet, puis cliquez sur l’onglet Vue de l’appareil à droite. Dans cet onglet, double-cliquez sur l’icône ethernet de PLC_1. En bas, dans l’onglet Propriétés ‣ Général, cliquez sur Adresses Ethernet pour définir l’adresse IP de l’API. Utilisez la valeur par défaut pour le masque de sous-réseau.

    create plc 3

Importer les programmes d’exemple Mech-Mind

Avant d’ajouter le programme d’exemple à un projet déjà utilisé, il est recommandé de l’importer d’abord dans un nouveau projet et de le tester. Dans les étapes suivantes, le projet créé précédemment est utilisé pour importer et tester le programme d’exemple.
  1. Dans le panneau Arborescence du projet, double-cliquez sur PLC_1[CPU 1211C DC/DC/DC] ‣ Fichiers source externes, puis double-cliquez sur Ajouter un nouveau fichier externe. Dans la fenêtre contextuelle, localisez et sélectionnez les fichiers MM Modbus TCP.scl et MM Modbus TCP Interface Program.scl. Cliquez sur Ouvrir pour importer ces fichiers.

    import file 1
  2. Sélectionnez d’abord MM Modbus TCP.scl, puis sélectionnez MM Modbus TCP Interface Program.scl. Ensuite, faites un clic droit sur ces fichiers. Dans le menu contextuel, sélectionnez Générer des blocs à partir de la source.

    import file 2
  3. Si le message d’avertissement indiquant Les blocs peuvent être écrasés apparaît, cliquez sur OK.

    import file 3
  4. Les fonctions et blocs de données générés à partir de ces fichiers sources externes sont présentés ci-dessous. Le DB Camera_User stocke les données utilisateur, MM Modbus TCP Interface stocke les données de communication, et MM Modbus TCP stocke les paramètres de configuration de la communication.

    import file 4
  5. Double-cliquez sur le bloc fonctionnel MM Modbus TCP. Cliquez ensuite successivement sur les réseaux ToCamera et FromCamera n° 1~6 pour vérifier que le numéro de DB dans la variable MB_DATA_PTR est identique à celui du bloc de données MM Modbus TCP Interface. Dans ce cas, le numéro est 2 comme illustré ci-dessous.

    import file 5

    Si le numéro de DB dans la variable MB_DATA_PTR ne correspond pas au numéro du DB MM Modbus TCP Interface et qu’il n’est pas possible de modifier le numéro du DB MM Modbus TCP Interface, vous pouvez utiliser la fonction « Rechercher et remplacer » dans le panneau Options pour changer le DB dans la variable MB_DATA_PTR par le numéro de DB utilisé par MM Modbus TCP Interface.

    import file 6
  6. Dans le panneau Arborescence du projet, accédez à PLC_1 ‣ Blocs de programme ‣ Blocs système ‣ Ressources du programme, et vérifiez si le bloc fonctionnel MB_CLIENT et le bloc de données MB_CLIENT_DB sont générés automatiquement. Si ce n’est pas le cas, reportez-vous à l’étape suivante pour générer le FB MB_CLIENT adapté au CPU actuel. Sinon, passez l’étape suivante.

    import file 7
  7. Dans le panneau Arborescence du projet, cliquez sur Blocs de programme, puis double-cliquez sur Main[OB1]. Sélectionnez le schéma sous n’importe quel réseau, puis sélectionnez l’onglet Instructions à droite. Accédez à Communication  Autres  MODBUS TCP, puis double-cliquez sur le bloc MB_CLIENT. Dans la fenêtre contextuelle Options d’appel, cliquez sur OK.

    import file 8

    Dans le panneau Arborescence du projet, accédez à Blocs de programme ‣ Blocs système. Les FB MB_CLIENT et DB MB_CLIENT_DB devraient maintenant être générés. Revenez au FC MM Modbus TCP et cliquez sur l’onglet Compiler dans la barre d’outils.

    import file 9

    Lorsque les messages suivants s’affichent dans l’onglet Compiler sous l’onglet « Info » en bas, vous pouvez supprimer le bloc MB_CLIENT sous Main[OB1] Network 1 dans l’OB principal.

    import file 10
    import file 11
  8. Pour faciliter la gestion et la maintenance ultérieures, créez un nouveau groupe sous Blocs de programme pour organiser les blocs : dans le panneau Arborescence du projet, sous PLC_1, faites un clic droit sur Blocs de programme et sélectionnez Ajouter un nouveau groupe. Ici, le nouveau groupe est nommé 3D_Camera.

    import file 12
  9. Sélectionnez tous les FC et DB générés à partir des fichiers sources externes et faites glisser ces blocs dans le groupe 3D_Camera.

import file 13

Compiler le programme et le télécharger vers l’API

  1. Dans le panneau Arborescence du projet, accédez à Blocs de programme et double-cliquez sur Main OB pour l’ouvrir. Ensuite, faites glisser le FC MM Modbus TCP vers le réseau 1 dans l’OB principal.

    download configuration 1
  2. Double-cliquez sur le MM ModbusTCP DB pour l’ouvrir, puis cliquez sur l’icône développer. Sous RemoteAddress, vérifiez si les 4 nombres hexadécimaux dans ADDR correspondent aux segments de l’adresse IP de l’IPC (qui est 192.168.1.20 dans cet exemple), et si la valeur de RemotePort correspond au numéro de port défini dans Mech-Vision (qui est 2000 dans cet exemple).

    download configuration 2
  3. Accédez à Blocs système  Ressources du programme, double-cliquez sur le DB MB_CLIENT_DB pour l’ouvrir, puis cliquez sur l’icône développer. Sous Statique ‣ TDIAG_Status, vérifiez si la valeur hexadécimale dans MB_Unit_ID correspond à l’ID d’esclave défini dans Mech-Vision (255 dans cet exemple).

    download configuration 3
  4. Dans le panneau Arborescence du programme, faites un clic droit sur PLC_1, et sélectionnez Télécharger vers l’appareil  Logiciel (tout).

    download configuration 4
  5. Dans la fenêtre contextuelle Téléchargement étendu vers l’appareil, effectuez les sélections suivantes : choisissez l’interface connectée à l’API pour Interface PG/PC. Sélectionnez Direct à l’emplacement ‘1 X1’ pour Connexion à l’interface/sous-réseau. Sélectionnez Afficher tous les appareils compatibles pour Sélectionner l’appareil cible. Ensuite, cliquez sur Démarrer la recherche. Sélectionnez l’appareil correspondant dans le résultat de recherche, puis cliquez sur Charger.

    download configuration 5
  6. Dans la fenêtre contextuelle Résultats du chargement, cliquez sur Terminer une fois le téléchargement terminé.

    download configuration 6

Vérifier la communication

  1. Dans le panneau Arborescence du projet, double-cliquez sur le DB MM Modbus TCP Interface, puis cliquez sur l’icône surveiller. Si la valeur surveillée de Heartbeat continue de changer, la connexion est établie avec succès.

    establish communication 1
  2. L’API est connectée avec succès si le message suivant s’affiche dans l’onglet Console du panneau Journal de Mech-Vision : client connected. S’il n’apparaît pas, vérifiez :

    1. Si le matériel est correctement connecté ;

    2. Si le service d’interface a bien été démarré dans Mech-Vision ;

    3. Si le programme de l’API a bien été téléchargé vers l’API.

Test avec un projet Mech-Vision/Mech-Viz

Cette section explique comment utiliser le FB du programme d’exemple pour déclencher le projet Mech-Vision afin d’obtenir des points de vision et déclencher le projet Mech-Viz afin d’obtenir la trajectoire planifiée.

Prérequis

  1. Retournez dans Mech-Vision et créez un projet Mech-Vision. Faites un clic droit sur la solution et sélectionnez Chargement automatique de la solution. Les projets de la solution seront également chargés automatiquement. Par ailleurs, le numéro de projet s’affichera avant chaque nom de projet.

  2. Créez un projet Mech-Viz. Dans Mech-Viz, faites un clic droit sur le nom du projet dans Ressources et sélectionnez Chargement automatique du projet.

    Le projet Mech-Viz utilisé pour le test doit contenir une étape « Branch by Msg » qui a été renommée en 1 comme illustré ci-dessous.

    preparation 4

Exécuter le projet Mech-Vision et obtenir des points de vision

Configurer les programmes

  1. Dans le panneau Arborescence du projet, accédez à Blocs de programme, double-cliquez sur le Main OB pour l’ouvrir. Ensuite, faites glisser le FC MM_Start_Vis vers le réseau 2 dans l’OB principal.

    test vision 1
  2. Définissez l’ID du projet Mech-Vision, c’est-à-dire le numéro placé avant le nom du projet dans la liste des projets de Mech-Vision. Par exemple, si la valeur est définie sur 1, le projet n° 1 dans Mech-Vision sera démarré.

  3. Définissez le nombre de poses renvoyées par le projet Mech-Vision : définissez la valeur du port Req_Pose_Num sur 0, indiquant que Mech-Vision renvoie tous les résultats de pose.

  4. Définissez le type de pose envoyée depuis le robot. Définissez la valeur de Robot_Pose_Type sur 0, indiquant que le projet est en mode Eye-to-Hand et que la pose de prise d’image n’est pas nécessaire.

    test vision 2
  5. Dans le panneau Arborescence du projet, accédez à Blocs de programme et cliquez sur le DB Camera_User. Depuis le panneau Vue détaillée, faites glisser les paramètres vers les ports d’entrée correspondants du FC MM_Start_Vis.

    test vision 3
  6. Faites glisser le FC MM_Get_VisData vers le réseau 3 dans l’OB principal.

    test vision 4
  7. Définissez l’ID du projet Mech-Vision, c’est-à-dire le numéro placé avant le nom du projet dans la liste des projets de Mech-Vision. Définissez la valeur du port Vision_Proj_Num sur 1 afin d’obtenir le résultat de reconnaissance visuelle du projet n° 1 dans Mech-Vision.

  8. Dans le panneau Arborescence du projet, accédez à Blocs de programme et cliquez sur le DB Camera_User. Depuis le panneau Vue détaillée, faites glisser les paramètres vers les ports d’entrée correspondants du FC MM_Get_VisData.

    test vision 5
  9. Dans le panneau Arborescence du projet, faites un clic droit sur PLC_1, puis sélectionnez Télécharger vers l’appareil ‣ Logiciel (modifications uniquement).

    test vision 6
  10. Dans la fenêtre contextuelle Aperçu du chargement, cliquez sur Charger pour télécharger les modifications vers l’API.

    test vision 7

Déclencher l’exécution du projet Mech-Vision

  1. Dans la fenêtre Main OB, cliquez sur l’icône Surveillance on/off.

    test vision 8
  2. Démarrez le projet Mech-Vision : dans le réseau 1, faites un clic droit sur le paramètre « Camera_User ».Start_Vis dans « MM_Start_Vis », puis sélectionnez Modifier  Modifier à 1. Ensuite, réinitialisez la valeur de ce paramètre.

    test vision 9
  3. Vérifier le code d’état renvoyé : double-cliquez sur le DB MM Modbus TCP Interface pour l’ouvrir, puis vérifiez la valeur surveillée de Status Code. 1102 indique que le projet a démarré avec succès. Pour les autres valeurs, veuillez vous référer à Codes d’état et dépannage pour l’erreur correspondante.

    test vision 10

Obtenir des points de vision depuis Mech-Vision

  1. Faites un clic droit sur le paramètre « Camera_User ».Get_VisData dans « MM_Get_VisData », et sélectionnez Modifier  Modifier à 1. Ensuite, réinitialisez la valeur de ce paramètre.

    test vision 11
  2. Vérifier le code d’état renvoyé : double-cliquez sur le DB MM Modbus TCP Interface pour l’ouvrir, puis vérifiez la valeur surveillée de Status Code. 1100 indique que le point de vision a été reçu avec succès. Pour les autres valeurs, veuillez vous référer à Codes d’état et dépannage pour l’erreur correspondante.

    test vision 12

La valeur de « Number of Pose Sent » est 1, ce qui indique qu’une pose est obtenue. Les poses sont stockées dans « Target Pose ».

Programme d’exemple de la logique de contrôle automatique de Mech-Vision

test vision 13
test vision 14

Exécuter le projet Mech-Viz et obtenir la trajectoire planifiée

Configurer les programmes

  1. Faites glisser le FC MM_Empty_Target vers le réseau 4 dans l’OB principal.

    test viz 1
  2. Cliquez sur les DB Camera_User et MM Modbus TCP Interface. Depuis le panneau Vue détaillée, faites glisser les paramètres vers les ports d’entrée correspondants du FC « MM_Empty_Target ».

    test viz 2
  3. Faites glisser les FC MM_Start_Viz, MM_Set_Branch et MM_Get_VizData vers réseau 5, réseau 6 et réseau 7, respectivement, dans l’OB principal.

    test viz 3
  4. Définissez le type de pose envoyée depuis le robot. Modifiez la valeur du port Robot_Pose_Type. Si la valeur est définie sur 0, aucune pose de prise d’image ne sera envoyée (pour une installation Eye-to-Hand). Cliquez sur le DB Camera_User. Depuis le panneau Vue détaillée, faites glisser les paramètres vers les ports d’entrée correspondants de « MM_Start_Viz ».

    test viz 4
  5. Définissez les paramètres de branchement dans le projet Mech-Viz. Définissez la valeur de Branch_Name et Branch_Exit_Port sur 1, et Mech-Viz prendra la sortie 1 pour l’étape « Branch by Msg » dont l’ID d’étape est 1. Cliquez sur le DB Camera_User. Depuis le panneau Vue détaillée, faites glisser les paramètres vers les ports d’entrée correspondants du FC « MM_Set_Branch ».

    test viz 5
  6. Définissez le type de pose des points de passage obtenus. Modifiez la valeur de « Request_Pose_Type » à 1, et Mech-Viz renverra les données au format positions articulaires (au lieu de TCP). Cliquez sur le DB Camera_User. Depuis le panneau Vue détaillée, faites glisser les paramètres vers les ports d’entrée correspondants du FC « MM_Get_VizData ».

    Le paramètre Request_Pose_Type ici et les paramètres Robot_Pose_Type dans les FC MM_Start_Vis et MM_Start_Viz correspondent tous au même paramètre Pose Type dans le DB MM Modbus TCP Interface. Par conséquent, si ces paramètres sont définis sur des valeurs différentes, la programmation doit garantir que les deux valeurs ne prennent pas effet en même temps.
    test viz 6
  7. Dans le panneau Arborescence du projet, faites un clic droit sur PLC_1 et sélectionnez Télécharger vers l’appareil ‣ Logiciel (modifications uniquement). Dans la fenêtre contextuelle Aperçu du chargement, cliquez sur « Charger » pour télécharger les modifications vers l’API.

    test viz 7
  8. Dans la fenêtre contextuelle Aperçu du chargement, cliquez sur Charger pour télécharger les modifications vers l’API.

    test viz 8

Déclencher l’exécution du projet Mech-Viz

  1. Dans la fenêtre Main OB, cliquez sur l’icône Surveillance on/off.

    test viz 9
  2. Faites un clic droit sur le paramètre « Camera_User ».Start_Empty dans « MM_Empty_Target », et sélectionnez Modifier  Modifier à 1. Ensuite, réinitialisez la valeur de ce paramètre.

    test viz 10
  3. Dans le DB MM Modbus TCP Interface, les valeurs surveillées de Target Pose, Target Label et Target Tool ID sont réinitialisées.

    test viz 11
  4. Faites un clic droit sur le paramètre « Camera_User ».Start_Viz dans « MM_Start_Viz », sélectionnez Modifier  Modifier à 1, puis démarrez le projet Mech-Viz. Ensuite, réinitialisez la valeur de ce paramètre.

    test viz 12
  5. Vérifier le code d’état renvoyé : double-cliquez sur le DB MM Modbus TCP Interface pour l’ouvrir, puis vérifiez la valeur surveillée de Status Code. 2103 indique que le projet a démarré avec succès. Sinon, le code d’erreur correspondant sera renvoyé. Veuillez vous référer à Codes d’état et dépannage pour le dépannage.

    test viz 13

Définir le port de sortie de branche Mech-Viz

  1. Faites un clic droit sur le paramètre « Camera_User ».Set_Branch dans « MM_Set_Branch », sélectionnez Modifier  Modifier à 1, puis sélectionnez le port de sortie pour le projet Mech-Viz. Ensuite, réinitialisez la valeur de ce paramètre.

    test viz 14
  2. Vérifier le code d’état renvoyé : double-cliquez sur le DB MM Modbus TCP Interface pour l’ouvrir, puis vérifiez la valeur surveillée de Status Code. 2105 indique que le branchement a été défini avec succès. Sinon, le code d’erreur correspondant sera renvoyé. Veuillez vous référer à Codes d’état et dépannage pour le dépannage.

    test viz 15

Obtenir la trajectoire planifiée depuis Mech-Viz

  1. Faites un clic droit sur le paramètre « Camera_User ».Get_VizData dans « MM_Get_VizData », sélectionnez Modifier  Modifier à 1, et obtenez la trajectoire planifiée depuis Mech-Viz. Ensuite, réinitialisez la valeur de ce paramètre.

    test viz 16
  2. Vérifier le code d’état renvoyé : double-cliquez sur le DB MM Modbus TCP Interface pour l’ouvrir, puis vérifiez la valeur surveillée de Status Code. 2100 indique que la trajectoire planifiée a été obtenue avec succès. Sinon, le code d’erreur correspondant sera renvoyé. Veuillez vous référer à Codes d’état et dépannage pour le dépannage.

    test viz 17

Dans l’image ci-dessus, la valeur de « Number of Pose Sent » est 6, ce qui signifie que 6 groupes de positions articulaires ont été obtenus. Les données sont stockées dans « Target Pose ». La valeur de « Index of Vision Move » est 3, indiquant que le point de vision est le troisième point de passage de l’ensemble de la trajectoire planifiée du robot.

Programme d’exemple de la logique de contrôle automatique de Mech-Viz

test viz 18
test viz 19
test viz 20

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.