Configuration de la communication et utilisation d’un 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 fournit des instructions pour configurer la communication de l’Interface standard basée sur le protocole Snap7 des API Siemens entre un automate Siemens SIMATIC S7 utilisant le logiciel TIA Portal et Mech-Vision et Mech-Viz.

Prérequis matériels et logiciels

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

  • Les automates de la série S7 de Siemens suivants sont pris en charge :

    • S7-300: Port réseau PN intégré ou CP343-1

    • S7-400: Port réseau PN intégré ou CP443-1

    • S7-1200: Aucune exigence particulière pour les modules

    • S7-1500: Aucune exigence particulière pour les modules

  • Adaptateur d’alimentation : 220 V AC vers 24 V DC

  • IPC ou hôte du système de vision Mech-Mind

  • Câble Ethernet

Logiciel

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

  • Versions de Mech-Vision et Mech-Viz : 2.0.0 ou supérieur

  • Fichiers d’interface pour la communication S7 entre Siemens Tia Portal et Mech-Vision et Mech-Viz :

    • Fichier de bloc de données MM Interface.db pour la communication de données

    • Fichier MM Interface Program.scl pour implémenter les fonctionnalités de diverses commandes d’interface

  • Les fichiers sont stockés sur l’IPC ou l’hôte Mech-Mind. Ils se trouvent dans Communication Component/Robot_Interface/Siemens Snap7/TIA Portal dans le répertoire d’installation où Mech-Vision et Mech-Viz sont installés. Veuillez copier les fichiers sur l’ordinateur où le logiciel TIA Portal est installé.

  • Ne pas utiliser le DB MM Interface comme paramètres d’interface IN/OUT. La raison en est que l’API lit et écrit les paramètres d’interface IN/OUT à chaque cycle de scan. Si le DB reste activé, les données déjà envoyées par le système de vision peuvent être écrasées. Pour éviter ce problème, les structures de données ToCamera et FromCamera doivent être utilisées respectivement comme paramètres d’interface OUT et IN.

Créer et configurer le projet API

Créer un projet API

  1. Ouvrez TIA Portal, cliquez sur Créer un nouveau projet, saisissez Nom du projet, sélectionnez un Chemin, puis cliquez sur Créer. Une nouvelle fenêtre s’ouvre. Cliquez sur Ouvrir la vue du projet.

    build plc 1
  2. Dans la section Arborescence du projet, double-cliquez sur Ajouter un nouvel appareil pour ouvrir la fenêtre. Sous Controllers, sélectionnez le module correspondant à l’API physique. Le nom d’appareil par défaut peut être utilisé. Cliquez sur OK.

    build plc 2
  3. Sur la page de configuration de l’appareil, cliquez sur Vue de l’appareil, puis double-cliquez sur l’étiquette du port réseau de PLC_1. Sur la page Propriétés/Général, cliquez sur Adresse Ethernet et définissez l’adresse IP sur 192.168.1.22. Le masque de sous-réseau par défaut peut être utilisé (doit être dans le même segment réseau que l’IPC du système de vision).

    build plc 3
  4. Sélectionnez l’appareil PLC_1 dans l’arborescence du projet, faites un clic droit et sélectionnez Propriétés, puis entrez successivement dans le menu Général  Protection & sécurité dans la fenêtre contextuelle. Sous Niveau d’accès, cochez Accès total (aucune protection). Sous Mécanismes de connexion, cochez Autoriser l’accès avec la communication PUT/GET depuis un partenaire distant. Cliquez sur OK pour enregistrer le projet.

    build plc 4
    build plc 5

Importer le fichier d’interface de communication S7

  1. Sous l’arborescence du projet, cliquez sur Fichiers source externes et Ajouter un nouveau fichier externe. Dans la fenêtre contextuelle, sélectionnez les fichiers MM Interface.db, MM Interface Program.scl, puis cliquez sur Ouvrir pour importer les fichiers dans le nouveau projet.

    import s7 files 1
  2. Sélectionnez les fichiers source externes nouvellement importés (sélectionnez d’abord MM Interface.db, puis MM Interface Program.scl), faites un clic droit et sélectionnez Générer des blocs à partir de la source. Cliquez sur OK dans la fenêtre contextuelle (cette opération écrasera les FB et DB portant les mêmes noms dans le projet, et sélectionnera automatiquement un numéro libre).

    import s7 files 2
    import s7 files 2 1
    Si les opérations ne sont pas effectuées dans l’ordre des fichiers sélectionnés ci-dessus, un message d’erreur apparaîtra dans la fenêtre de journal.
  3. Les FB et blocs de données générés par le fichier source externe sont les suivants, où le numéro de DB de MM Interface doit être cohérent avec le numéro de DB défini dans la Configuration de la communication du robot dans Mech-Vision. Le DB Camera_User stocke les données utilisateur.

    import s7 files 3
  4. Dans le projet, afin de faciliter la maintenance des FB et DB, vous pouvez faire un clic droit sur Blocs de programme, sélectionner Ajouter un nouveau groupe, et le nommer “Mech-Mind”. Ensuite, sélectionnez tous les FB et DB nouvellement générés et déplacez-les dans le dossier du groupe.

    import s7 files 4
    import s7 files 5

Télécharger le fichier d’interface de communication S7

  1. Cliquez sur Enregistrer le projet, puis dans l’arborescence du projet, faites un clic droit sur le nouveau projet PLC_1. Sélectionnez successivement Télécharger vers l’appareil  Matériel et logiciel (modifications uniquement), et la fenêtre de téléchargement s’affichera.

    download s7 files 1
  2. Dans la fenêtre de téléchargement, sélectionnez le pilote de carte réseau connecté à l’API pour l’interface PG/PC, sélectionnez Direct at slot ‘1 X1’ pour Connexion à l’interface/sous-réseau, sélectionnez Show all compatible devices pour Sélectionner l’appareil cible, puis cliquez sur Démarrer la recherche. Sélectionnez l’appareil CPU détecté, cliquez sur Télécharger, puis cliquez sur Terminer une fois le téléchargement terminé.

    download s7 files 2

Configurer l’IPC et initier la communication

Configurer la communication du robot

  1. Assurez-vous que l’adresse IP de l’IPC est sur le même sous-réseau que l’API, par exemple 192.168.1.10. Ouvrez l’Invite de commandes sur l’IPC et pingez l’adresse IP de l’API pour vérifier qu’ils sont bien connectés.

  2. 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
  3. Cliquez sur Configuration de la communication robot dans la barre d’outils de Mech-Vision.

  4. 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, et sélectionnez Siemens PLC Client pour Protocole. Définissez le numéro d’emplacement sur 1, et définissez le numéro de DB (c.-à-d. l’ID de “MM Interface” dans le projet PLC) sur 2.

    3. Définissez l'adresse IP du PLC sur 192.168.1.22 (c.-à-d. l’adresse IP du PLC définie précédemment dans SIMATIC Manager)

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

    5. Cliquez sur Appliquer.

      siemens plc tia

Vérifier la communication

  1. Sur l’interface principale de Mech-Vision, assurez-vous que l’interrupteur Robot Communication Configuration dans la barre d’outils est activé et est devenu bleu. L’API est connectée avec succès si l’onglet Console du panneau Log de Mech-Vision affiche Connect to PLC server successfully. Sinon, veuillez vérifier la configuration et vérifier si la connexion physique est normale.

    center settings 3
  2. Revenez à l’interface principale de TIA Portal, sélectionnez l’appareil PLC_1, et cliquez sur Passer en ligne.

    center settings 4
  3. Sous PCL_1  Blocs de programme de l’arborescence du projet, double-cliquez sur le bloc de données MM Interface, puis cliquez sur Tout surveiller icon_2 . Si la connexion est établie avec succès, la valeur de surveillance de Heartbeat continuera de changer.

    center settings 5

Tester avec des projets Vision

Cette section décrit comment utiliser le programme d’interface Client API Siemens pour le démarrage et l’acquisition de données des projets Mech-Vision et Mech-Viz. Pour les fonctionnalités spécifiques et l’introduction aux paramètres de communication Snap7 des API Siemens, voir API Siemens.

Prérequis

  1. Revenez à Mech-Vision et créez un projet Mech-Vision. Cliquez avec le bouton droit sur la solution et sélectionnez Chargement automatique de la solution. Les projets de la solution sont également chargés automatiquement. Entre-temps, le numéro de projet apparaîtra devant chaque nom de projet.

  2. Créez un projet Mech-Viz. Cliquez avec le bouton droit sur le nom du projet dans Ressources dans Mech-Viz et sélectionnez Chargement automatique du projet.

    Le projet Mech-Viz utilisé pour les tests doit contenir une étape “Branch by Msg” qui a été renommée en 1 comme montré ci-dessous.

    prepared 4

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

Configurer les programmes

  1. Dans l’interface principale de TIA Portal, sous le arborescence du projet  Blocs de programme, double-cliquez sur Main [OB1] sous Blocs de programme, et faites glisser MM_Start_Vis vers le Réseau 1 du programme principal.

    get visual point from vision 1
  2. Le port EN de “MM_Start_Vis” est connecté au FB qui compare l’ID d’étape, et un FB déclenché sur front montant est défini pour le port d’entrée Start_Vision. Lorsque la valeur du port Vision_Proj_Num est définie sur 1, le projet n° 1 de Mech-Vision sera démarré.

  3. Définissez la valeur de Req_Pose_Num à 0, ce qui indique que le projet Mech-Vision enverra tous les points de vision.

  4. Définissez la valeur du port Robot_Pose_Type à 0, indiquant qu’aucune pose de prise d’image n’a besoin d’être obtenue du robot (par exemple en mode Eye-to-Hand).

    get visual point from vision 4
  5. Sous l’arborescence du projet, cliquez sur le bloc de données Camera_User, puis faites glisser les paramètres sous la vue Détails vers les ports correspondants de “MM_Start_Vis”. Cliquez sur le bloc de données MM Interface, et faites glisser les paramètres sous la vue Détails vers les ports correspondants de “MM_Start_Vis”.

    get visual point from vision 5
  6. Faites glisser MM_Get_VisData vers le Réseau 2 du programme principal. Le port EN est connecté au FB qui compare l’ID d’étape, et un FB déclenché sur front montant est défini pour le port d’entrée Get_VisData.

    get visual point from vision 6
  7. Définissez la valeur du port Vision_Proj_Num à 1, et le résultat de reconnaissance de la vision du projet n° 1 dans Mech-Vision sera obtenu.

  8. Sous l’arborescence du projet, cliquez sur le bloc de données Camera_User, et faites glisser les paramètres sous la vue Détails vers les ports correspondants de “MM_Get_VisData”. Cliquez sur le bloc de données MM Interface, et faites glisser les paramètres sous la vue Détails vers les ports correspondants de “MM_Get_VisData”.

    get visual point from vision 9
  9. Sous l’arborescence du projet, cliquez pour sélectionner PLC_1, sélectionnez Télécharger vers l’appareil  Logiciel (modifications uniquement). Cliquez sur Charger dans la fenêtre de téléchargement qui s’affiche pour télécharger le dernier programme vers l’API.

    get visual point from vision 10
    get visual point from vision 11

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

  1. Dans la fenêtre du programme principal Main [OB1], cliquez sur Activer/Désactiver la surveillance icon_2 pour activer la surveillance.

    get visual point from vision 12
  2. Cliquez avec le bouton droit sur “Camera_User”.Step_Num, qui est connecté au port EN de “MM_Start_Vis”, et changez la valeur à 6. Cliquez avec le bouton droit sur la variable d’entrée “Camera_User”.Start_Vis et changez-la à 1 pour déclencher le projet Mech-Vision ; puis, réinitialisez la variable. À ce moment, la variable StatusCode du DB MM Interface devrait avoir une valeur de retour de 1102, indiquant 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.

    get visual point from vision 13
    get visual point from vision 14

Obtenir les cibles de vision calculées par Mech-Vision

Cliquez avec le bouton droit sur “Camera_User”.Step_Num, qui est connecté au port EN de “MM_Start_Vis”, et changez la valeur à 8. Cliquez avec le bouton droit sur la variable d’entrée “Camera_User”.Get_VisData et changez-la à 1 pour obtenir des points de vision ; puis, réinitialisez la variable. À ce moment, la variable StatusCode du DB MM Interface devrait avoir une valeur de retour de 1100, indiquant 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.

get visual point from vision 15

Les données renvoyées par l’Interface MM sont les suivantes. La valeur de “Number of Pose Sent” est 1, ce qui signifie qu’une pose a été obtenue. Les données de pose sont stockées dans TargetPose.

get visual point from vision 16

Exemple de logique de contrôle automatique de Mech-Vision

L’exemple de logique de contrôle automatique de Mech-Vision. Pour plus d’informations, voir MM_S1_Vis_Basic.

Exécuter le projet Mech-Viz et obtenir le trajet planifié

Configurer les programmes

  1. Faites glisser MM_Empty_Target vers le Réseau 3 du programme principal. Le port EN est connecté au FB qui compare l’ID d’étape, et un FB normalement ouvert est défini pour le port d’entrée Start_Empty.

    get planning path from viz 1
  2. Cliquez respectivement sur les blocs de données Camera_User et MM Interface, et faites glisser les paramètres dans la vue détaillée vers les ports côté entrée correspondants de \"MM_Empty_Target\".

    get planning path from viz 2
  3. Faites glisser MM_Start_Viz, MM_Set_Branch, MM_Get_VizData vers les Réseaux 4, 5 et 6 respectivement.

    get planning path from viz 4
    get planning path from viz 5
    get planning path from viz 6
  4. Définissez la valeur du port Robot_Pose_Type à 0, indiquant qu’aucune pose de prise d’image n’a besoin d’être lue depuis le robot (par exemple en mode Eye to Hand). Cliquez sur le bloc de données Camera_User, puis faites glisser les paramètres dans la vue détaillée vers les ports côté entrée correspondants de “MM_Start_Viz”.

    get planning path from viz 7
  5. Définissez les valeurs de Branch_Name et Branch_Exit_Port à 1, ce qui signifie que Mech-Viz prendra la sortie 1 pour l’étape “Branch by Msg” dont l’ID d’étape est 1. Cliquez sur le bloc de données Camera_User, puis faites glisser les paramètres dans la vue détaillée vers les ports côté entrée correspondants de “MM_Set_Branch”.

    get planning path from viz 9
  6. Modifiez la valeur de “Request_Pose_Type” à 1, et Mech-Viz renverra les données sous forme de positions articulaires. Cliquez sur le bloc de données Camera_User, puis faites glisser les paramètres dans la vue détaillée vers les ports côté entrée correspondants de “MM_Get_VizData”.

    Request_Pose_Type ici et Robot_Pose_Type dans les commandes MM_Start_Vis et MM_Start_Viz correspondent au même paramètre Pose Type dans le bloc de données MM Interface. Si les valeurs définies sont différentes, elles ne peuvent pas prendre effet en même temps.
    get planning path from viz 11
  7. Sous l’arborescence du projet, faites un clic droit sur PLC_1, sélectionnez Télécharger vers l’appareil  Logiciel (modifications uniquement). Cliquez sur Charger dans la fenêtre de téléchargement qui s’affiche pour télécharger le dernier programme vers l’API.

    get planning path from viz 13
    get planning path from viz 14

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

  1. Dans la fenêtre du programme principal Main [OB1], cliquez sur Activer/Désactiver la surveillance icon_2 pour activer la surveillance.

    get planning path from viz 15
  2. Cliquez avec le bouton droit sur “Camera_User”.Step_Num, qui est connecté au port EN de \"MM_Empty_Target\", et changez la valeur à 14. Cliquez avec le bouton droit sur la variable d’entrée “Camera_User”.Start_Empty et changez-la à 1 pour effacer le résultat de vision obtenu précédemment ; puis, réinitialisez la variable.

    get planning path from viz 16

    À ce moment, la valeur du bloc de données Target Pose du DB MM Interface a été effacée.

    get planning path from viz 17
  3. Cliquez avec le bouton droit sur “Camera_User”.Step_Num, qui est connecté au port EN de “MM_Start_Viz”, et changez la valeur à 18. Cliquez avec le bouton droit sur la variable d’entrée “Camera_User”.Start_Vis et changez-la à 1 pour déclencher le projet Mech-Viz ; puis, réinitialisez la variable. À ce moment, la variable StatusCode devrait avoir une valeur de retour de 2103, indiquant 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.

    get planning path from viz 18
    get planning path from viz 19

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

Cliquez avec le bouton droit sur “Camera_User”.Step_Num, qui est connecté au port EN de “MM_Set_Branch”, et changez la valeur à 24. Cliquez avec le bouton droit sur la variable d’entrée “Camera_User”.Set_Branch et changez-la à 1 pour demander au projet Mech-Viz de prendre la sortie 1 à l’étape Branch by Msg avec un ID de 1 ; puis, réinitialisez la variable. À ce moment, le paramètre StatusCode devrait avoir une valeur de retour de 2105, indiquant que le port de sortie a été défini avec succès pour l’étape Branch by Msg. Sinon, le code d’erreur correspondant sera renvoyé. Veuillez vous référer à Codes d’état et dépannage pour le dépannage.

get planning path from viz 20
get planning path from viz 21

Obtenir le trajet planifié depuis Mech-Viz

Cliquez avec le bouton droit sur “Camera_User”.Step_Num, qui est connecté au port EN de “MM_Get_VizData”, et changez la valeur à 26. Cliquez avec le bouton droit sur la variable d’entrée “Camera_User”.Get_VizData et changez-la à 1 pour obtenir le trajet planifié depuis Mech-Viz ; puis, réinitialisez la variable. À ce moment, le paramètre StatusCode devrait avoir une valeur de retour de 2100, indiquant que le trajet planifié a été obtenu avec succès depuis Mech-Viz. Sinon, le code d’erreur correspondant sera renvoyé. Veuillez vous référer à Codes d’état et dépannage pour le dépannage.

get planning path from viz 22

Les données renvoyées par l’Interface MM sont les suivantes. La valeur de Number of Pose Sent est 6, ce qui signifie que 6 ensembles de positions articulaires ont été obtenus ; et les données sont stockées dans TargetPose. La valeur de Index of Vision Picking Point est 3, ce qui signifie que la position du waypoint Vision Move dans l’ensemble du trajet est 3.

get planning path from viz 23

Exemple de logique de contrôle automatique de Mech-Viz

L’exemple de logique de contrôle automatique de Mech-Viz. Pour plus d’informations, voir MM_S5_Viz_SetBranch.

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.