Communication avec un robot KUKA

Forum traitant des automates industriels de marque Siemens.
Répondre
Bouzinga
Code sa première boucle
Code sa première boucle
Messages : 11
Enregistré le : 15 oct. 2019, 15:05

Communication avec un robot KUKA

Message par Bouzinga »

Bonjour à tous,

Je vous pries de m'excuser si je ne suis pas sur le bon forum. Alors voilà: je suis alternant dans ma boite (donc débutant en automatisme). Je dois, dans le cadre d'un projet, réaliser des échanges avec un robot KUKA (KRC4) depuis une CPU 1516TF et via TIA v15.1. Les échanges doivent se faire en Profinet.

Je viens vers vous car c'est ma première trame profinet à réaliser et je suis un peu perdu. J'ai réussi à intégrer dans TIA le GSD du robot, je l'ai relié à mon réseau et j'ai réussi à faire mon PING depuis mon switch (scalance X208).

Mon vrai problème est au niveau de l'échange de données. Dans le robot, des entrées sorties spécifiques sont censées être déjà programmées, car le robot les utilises dans le programme. Je suis doit donc récupérer certaines données pour mon programme et lui en fournir d'autres à des adresses spécifiques. Et je n'arrives vraiment pas à comprendre comment cela fonctionne.

J'ai trouvé aujourd'hui un block programme appelé TSEND_C qui pourrait me permettre d'envoyer des données et un autre TRCV_C me permettant d'en recevoir. Cependant je ne vois nulle part la possibilité d'envoyer mes données sur une entrées spécifique du robot ou de les récupérer sur une sortie spécifique...

Je vous demande donc si vous pourriez m'expliquer comment fonctionnent les échanges voir éventuellement me donner des pistes, car j'aimerais bien apprendre à le faire mais je vous avoue que je suis un peu perdu...


Merci d'avance !
dehell
Codeur fou
Codeur fou
Messages : 253
Enregistré le : 19 janv. 2016, 09:24
Localisation : Alès

Re: Communication avec un robot KUKA

Message par dehell »

Bonjour,
Ton robot est vu comme de entrées/sorties par ton automate.
Après l’installation du fichier GSDML il faut :
- déclarer le robot comme nouvel esclave PROFINET (attention à l'adresse IP et au nom PROFINET)
- déclarer un zone de données d'échange.
Les échanges sont vus comme des entrées/Sorties :
Quand l'automate écrit dans une sortie cela est vu comme une entrée par le robot et inversement dans l'autre sens.
krc4.png
Bouzinga
Code sa première boucle
Code sa première boucle
Messages : 11
Enregistré le : 15 oct. 2019, 15:05

Re: Communication avec un robot KUKA

Message par Bouzinga »

Salut dehell,

Merci pour ta réponse. Donc si je comprends bien, j'ai juste à modifier les valeurs de ces variables pour qu'elles soient transmises à mon robot, et lorsque mon robot va écrire sur une de ses sortie, mon automate va récupérer la valeur automatiquement? Pas besoin d'utiliser de blocks communication spécifiques?

J'ai déjà déclaré une zone de données d'échange, mais il n'y a que des booleans (je n'ai pas encore réussi à modifier le type et je ne sais pas si c'est possible du coup). Si je dois lui transmettre une position par exemple, comment puis-je faire?
dehell
Codeur fou
Codeur fou
Messages : 253
Enregistré le : 19 janv. 2016, 09:24
Localisation : Alès

Re: Communication avec un robot KUKA

Message par dehell »

Re-bonjour,
Pour pouvoir transmettre autre chose que des booléens, il faut par exemple écrire :
%EB100 si c'est un octet à transmettre.
%EW100 si c'est un mot à transmettre.
%ED100 si c'est un double mot à transmettre.
Attention au risque de chevauchement entre les bits et les valeurs écrites aux différents formats.
Bouzinga
Code sa première boucle
Code sa première boucle
Messages : 11
Enregistré le : 15 oct. 2019, 15:05

Re: Communication avec un robot KUKA

Message par Bouzinga »

Re-bonjour dehell,

Je suis désolé mais je comprends pas ou je dois écrire les %E(X)100. J'ai ma table de variable I/O et dessus impossible de modifier le type de variable. Quand je modifie sur la table des variables standards, cela ne se met pas à jour (sur la table des variables I/O), j'en conclue donc que ce n'est pas pris en compte. Est-ce bien cela?
dehell
Codeur fou
Codeur fou
Messages : 253
Enregistré le : 19 janv. 2016, 09:24
Localisation : Alès

Re: Communication avec un robot KUKA

Message par dehell »

Bonjour,
La table I/O n'est pas modifiable, elle est donnée par le GSDML.
Par contre rien ne t'interdit d'écrire dessus, par exemple, je récupère :
La position du robot en %EW102
Et je lui demande d'exécuter le code cycle en écrivant une valeur dans %AW100
krc4_2.png
Répondre