Top Banner
Manuel d’utilisation Universal Robots UR5 et UR10 Version logiciel : 1.7 Auteur : Sysaxes
70

Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Apr 12, 2018

Download

Documents

dinhnhan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Manuel d’utilisationUniversal Robots UR5 et UR10

Version logiciel : 1.7

Auteur : Sysaxes

Page 2: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

NOTA : Ce manuel est un complèment du manuel d’utilisation et du manuel Script Universal Robots

Page 3: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Variables

Page 4: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Types de variables

bool Vrai/Faux (True/False)

int Entier de 16 bits

float Réel

string Charactères ASCII (texte)

pose Variable position p[x,y,z,rx,ry,rz]

list Tableau de valeurs

Type Valeur

Page 5: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utiliser des variables dans un programme• Déclarer et modifier une variable

– La première utilisation d’une variable fait office de déclaration de variable.

L’utilisation de variables se fait avec la touche « Affectation ».

Exemple :

– L’utilisation de la fonction « Affectation » permet également d’afficher ou de rafraichir l’affichage d’une variable dans l’onglet « Variables » qui apparait lors de l’exécution du programme :

– L’incrémentation d’un compteur par exemple, se fait de la manière suivante :

Page 6: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utiliser des variables dans un programme• Déclarer et modifier une variable

– Afin de lire une seule valeur d’une liste, la syntaxe est la suivante :

Cette commande permet d’affecter à la variable « valeur » la 6ème valeur de la variable liste (l’index a spécifier entre crochet commence à 0 pour la 1ère valeur de la liste, 1 pour la 2ème, …).

– Une variable peut-être aussi modifiée par une ligne Script via la touche « Code Script ».

Cela est nécessaire par exemple pour modifier une seule valeur d’une variable liste :

– La gestion d’une variable par une ligne Script ne déclenche pas son affichage ou son rafraichissement dans l’onglet « Variable ».

Page 7: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

ATTENTION :Le signe ‘=‘ qui apparait sur la page suivante n’est pas un signe d’affectation, mais un signe de test :

Celui-ci est utilisé par exemple pour faire un test dans une fonction « Si » :

Page 8: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

ATTENTION :Le signe ‘=‘ nécessaire à l’affectation d’une variable, se situe sur la page suivante (accessible en cliquant sur le clavier en haut à gauche de l’image en page précédente) :

Page 9: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Valeurs initiales des variables• Valeurs initiales des variables

– Il est possible de faire la déclaration et de définir les valeurs initiales des variables en cochant la case suivante :

– Chaque variable utilisée dans le programme apparait alors avec la possibilité de définir une valeur ou de conserver la dernière valeur lors de la précédente exécution du programme.

Page 10: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Variables position• Définition d’une variable position

• Utilisation d’une variable position– Une variable position peut par exemple être utilisée dans une ligne de commande

script :

pose_var = p[ x , y , z , rx , ry , rz ]

nom de la variable coordonnées orientations

ATTENTION : les coordonnées ou distance sont en mètres et les angles en radians.

Page 11: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Variables ‘angles moteurs’• Définition d’une variable ‘angles moteurs’

• Utilisation d’une variable ‘angles moteurs’– Cette variable de type liste contient les angles en radians des 6 moteurs du robot dans

cet ordre : [Base, Epaule, Coude, Poignet 1, Poignet 2, Poignet 3].

– Cette variable peut par exemple être utilisée dans une ligne de commande script :

angles_var = [ a1 , a2 , a3 , a4 , a5 , a6 ]

nom de la variable angles moteurs

Page 12: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Threads / Evénements

Page 13: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Définition des threads / événements

• Thread• Tache de fond

• Exécutée en permanence

(dès de le démarrage du

programme principal)

• Evénements• Tache de fond

• Déclenchée par une condition

Prog robot Evénement Thread

DO[0] = HAUT

DO[0] = BAS

Start

Condition : DO[0] = HAUT

Stop

Page 14: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utilisation des Threads

• Un Thread peut-être utilisé par exemple pour piloter des éléments demachines indépendamment des mouvements du robots, pour faireclignoter une verrine, pour réaliser un chronomètre, …

• Un Thread peut communiquer avec le programme principal grâce à desvariables ou des entrées/sorties.

• Plusieurs Threads peuvent être présents dans un programme et ils serontdonc tous exécutés en parallèle.

Page 15: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utilisation des Threads• Exemple 1 : Chronomètre

• Exemple 2 : Clignotement de verrine

Dans cet exemple, le programme principal remet à 0 la variable ‘compteur’ àchaque début de cycle. En parallèle des mouvements du robot, le Threadincrémente cette variable de 0.01 toutes les 0.01 secondes.A la fin des mouvements du robot, la valeur du chronomètre est affectée à lavariable ‘temps_cycle’ afin d’afficher la durée de ce programme, alors que leprogramme principal effectue le cycle suivant.

Dans cet exemple, le programme principal comporte les mouvements durobot. En parallèle, le Thread fait clignoter toutes les secondes une verrineraccordée à la sortie 0.

(Les programmes sont téléchargeables en cliquant dessus)

Page 16: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utilisation des Evénements

• Un événement peut-être utilisé par exemple pour surveiller un appuibouton et ainsi déclencher une action.

• Plusieurs évènements peuvent être présents dans un programme.Cependant, il est à noter que lorsqu’un événement est déclenché, lesautres événements ne seront plus surveillés tant que l’action del’événement en cours n’est pas terminée. Par conséquent, si unprogramme doit comprendre plusieurs événements, il faut les réserveraux actions ne prenant pas un long temps d’exécution. Si il est nécessairede déclencher une action « longue », il est alors préférable d’utiliser unThread comprenant une fonction « Si ».

Page 17: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utilisation des Evénements• Exemple : Surveillance d’un bouton Start et d’un bouton Stop

Dans cet exemple, un bouton Start est raccordé à l’entrée 0, et un boutonStop à l’entrée 1.Lorsque le programme est démarré, le robot attend que la variable‘demarrer’ soit égale à 1.

Le premier évènement surveille l’action sur le bouton Start. Quand celui-ciest actionné, la valeur 1 est affecté à la variable. Le programme tourne alorstant que cette condition est vraie.

Le deuxième évènement surveille l’action sur le bouton Stop. Quand celui-ciest actionné, la valeur 0 est affecté à la variable. Le robot finit donc le cycleen cours, puis attend de nouveau que la variable soit égale à 1.

(Le programme est téléchargeable en cliquant dessus)

Page 18: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Fonction Force

Page 19: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Introduction à la fonction Force

• Description• Spécifier une gestion de la force selon un repère

• Spécifier une gestion de la force suivant une trajectoire

• Définir une force selon un ou plusieurs axes

• Limiter la vitesse de l’outil en mode compliance

• Test aisé à l’aide du bouton Teach

• Caractéristiques• Précision en force ± 10 N

• Précision en couple ± 5 Nm

• Précision en position ± 5 mm

• Précision en orientation ± 0.5 °

Page 20: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Type de Force : Simple

• Description• Compliant suivant un axe

• Force suivant l’axe Z ou suivant Y pour les fonctions ligne

Page 21: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Type de Force : Cadre

• Description• Compliant suivant plusieurs axes

• Niveau de force réglable pour chaque axe

• Vitesse réglable pour chaque axe en mode compliance

• Repères Base, Outil ou définis par l’utilisateur

Page 22: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Type de Force : Point

• Description• Définir un point à atteindre

• Y-axis of task frame points towards Feature point

• Task frame changes during runtime

Page 23: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Script

Script

Page 24: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Introduction to UR script

• Software levels

UR-GUI(GUI level)

URController(script level)

TCP/IP

.urp files

.script files

C-API(hardware level)

Page 25: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Using UR script

• Script manual

• Implementing script in robot program• Single script command

• Script file

Page 26: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Practice 5.1

• Create program that continuously saves the TCP speed in variable• Decide which script code to use

• Practice 5.2

• Create program that calls a mathematical function in a script file• Create script file with mathematical function

Page 27: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Communication Ethernet

Page 28: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Introduction à la communication Ethernet

• TCP/IP: Protocole de communication standard• Low cost

• Haute fiabilité

• Haute performance

• Haute disponibilité

Protocole

Adresse MAC

Adresse TCP/IP

Numéro de port

Ethernet

IP

TCP

Modbus

Communication Ethernet

Page 29: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Introduction à la communication Ethernet

• Réseau Ethernet

Module ext.

Robot UR

RJ45

Switch eth.

Robot UR

RJ45

Cam Vision IHM PCAPI

Communication Ethernet

Page 30: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Configuration de l’adresse IP du robot

Page 31: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Page 32: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

NOTA : Préférer l’adresse statique à la configuration DHCP afin d’éviter que le robot ne change d’adresse

Page 33: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Connections possibilités via Eternet

Communication Ethernet

Page 34: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Connections disponibles

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 35: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 36: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Introduction au Modbus TCP

• Modbus TCP• Signaux digitaux

• Registres

• Maitre/esclave ou Client/serveur

Module ext.

Robot UR

RJ45

Switch eth.

Robot UR

RJ45

Périph. B Périph. C Périph. DPériph. A

Communication Ethernet

Page 37: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utiliser le Serveur Modbus TCP

– Voir fichier PDF

Communication Ethernet

Page 38: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 39: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• SSH / SFTP (secure file transfer protocol)

• Client SSH/SFTP• Hôte : adresse IP du robot

• Port 22

• Utilisateur : root

• Mot de passe : easybot

Communication Ethernet

Un logiciel SSH est téléchargeable en cliquant sur ce logo :

Page 40: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Accèder aux fichiers du robot par SFTP– Configurer l’adresse IP du robot

– Dans le logiciel FTP (ex : FileZilla), créer une nouvelle connexion avec :

• l’adresse IP du robot,

• le protocole SFTP,

• type d’authentification : Normale,

• Identifiant : root,

• Mot de passe : easybot

Communication Ethernet

Le logiciel FileZilla est téléchargeable en cliquant sur ce logo :

Page 41: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

– Lancer la connexion

– Vous avez désormais accès à l’ensemble des fichiers du robot.

– Les programmes créés se trouvent dans /programs

Communication Ethernet

ATTENTION : Ne pas toucher aux autres fichiers du robot (fichier système). Une modification ou un effacement d’un fichier pourrait rendre le robot inutilisable

Page 42: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 43: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Serveur Dashboard : Port 29999Commandes Description Syntaxe Réponses (ou exemple de réponse)

A la connexion du client Connected: Universal Robots Dashboard Server

load Charger un programme load /programs/essai.urp File not found: /programs/essai.urpou

Loading program: /programs/essai.urp

play Démarrer le programme chargée play Starting program

stop Arrêter le programme en cours stop Stopped

pause Mettre en pause le programme en cours Pause Pausing program

quit Fermer la connexion quit

shutdown Eteinds le robot shutdown Shutting down

running Demande l’état d’execution de programme Program running: trueou

Program running: false

robotmode Demande le mode du robot robotmode Robotmode: x (voir valeurs de x page suivante)

get loaded program Demande le fichier chargé get loaded program Loaded program: /programs/essai.urpou

No program loaded

popup Fait apparaitre une fenêtre popup Hello world! showing popup

close popup Ferme une fenêtre close popup closing popup

Communication Ethernet

Page 44: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Différentes valeurs de réponse à la commande Robotmode

-1 NO_CONTROLLER_MODE

0 ROBOT_RUNNING_MODE (normal state)

1 ROBOT_FREEDRIVE_MODE

2 ROBOT_READY_MODE

3 ROBOT_INITIALIZING_MODE

4 ROBOT_SECURITY_STOPPED_MODE

5 ROBOT_EMERGENCY_STOPPED_MODE

6 ROBOT_FAULT_MODE

7 ROBOT_NO_POWER_MODE

8 ROBOT_NOT_CONNECTED_MODE

9 ROBOT_SHUTDOWN_MODE

10 ROBOT_SAFEGUARD_STOP_MODE

Communication Ethernet

Page 45: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Lancer un programme enregistré– Sur le port 29999 :

• Envoyer ‘running’ pour savoir si un programme tourne

– Réponse : ‘Program running: true’ ou ‘Program running: false’

• Envoyer ‘stop’ si nécessaire– (ou ‘stopj(x)’ avec x =valeur de décélération en rad/s² sur le port 30001)

• Vérifier de nouveau si le programme tourne (facultatif)

• Charger le programme avec la commande ‘load’

– Exemple : ‘load /programs/essai.urp’

• Vérifier le programme chargé avec la commande ‘get loaded program’

– Exemple de réponse : ‘Loaded program: /programs/essai.urp’

• Lancer le programme chargé avec la commande ‘play’

– Réponse : ‘Starting program’

• Envoyer ‘running’ pour savoir si le programme tourne

– Réponse : ‘Program running: true’ ou ‘Program running: false’

Communication Ethernet

Page 46: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Redémarrage après un arrêt robot « robotmode 4 »– Sur le port 29999 :

• envoyer ‘robotmode’ pour connaitre l’état du robot

• envoyer ‘close popup’ pour fermer la fenêtre à l’écran

– Sur le port 30001 :• Envoyer ‘set robotmode run’ pour remettre le robot en mode prêt

– Sur le port 29999 :• Vérifier avec ‘robotmode’ que le robot est prêt

Communication Ethernet

Page 47: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Redémarrage après un arrêt robot « robotmode 7 »– Sur le port 29999 :

• envoyer ‘robotmode’ pour connaitre l’état du robot (attendu mode 7)

– Sur le port 30001 :• Envoyer ‘power on’ 2 fois pour mettre sous tension le contrôleur puis les moteurs

• Envoyer la commande ‘speedj_init’ pour initialiser– exemple speedj_init([0.1,-0.1,-0.1,0.1,0.1,0.1],0.1,5)

– cela signifie une initialisation des 6 axes en même temps avec une vitesse de 0.1 rad/s sur l’axe 1, -0.1 rad/s sur l’axe2, -0.1 rad/s sur l’axe 3, etc…., une accélération de 0.1 rad/s et un temps maxi alloué de 5 secondes.

– répéter l’opération autant que nécessaire jusqu’à avoir le “robotmode 0”

– Sur le port 29999 :• envoyer ‘close popup’ x fois pour fermer les fenêtres

Communication Ethernet

Page 48: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 49: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Commandes disponibles(en complément des fonctions “scripts” listées dans le manuel correspondant, voici des commandes supplémentaires)

Commandes Description Syntaxe Réponses (ou exemple de réponse)

set robotmode run Remettre le robot en état set robotmode run

speedj_init Initialiser le robot speedj_init([j1,j2,j3,j4,j5,j6],0.1,5) speedj_init([0.1,-0.1,-0.1,0.1,0.1,0.1],0.1,5)cela signifie une initialisation des 6 axes en même temps avec une vitesse de 0.1 rad/s sur l’axe 1, -0.1 rad/s sur l’axe 2, -0.1 rad/s sur l’axe 3, etc…., une accélération de 0.1

rad/s et un temps maxi alloué de 5 secondes

.....

Communication Ethernet

Page 50: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 51: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Constitution des messages disponibles sur le port 30002– Format de trame :

Communication Ethernet

4 octets (int) Longueur totale de la trame (ces 4 octets inclus)

1 octet (uchar) Type de message uniquement 16« Robot State »

4 octets (int) Longueur totale du sous-paquet (ces 4 octets inclus)

1 octet (uchar) Type de message Type de message possible :0 = Robot Mode Data

1 = Joint Data2 = Tool Data

3 = Masterboard Data4 = Cartesian Info

5 = Kinematics Info6 = Configuration Data

n octets Contenu du message

En-tête de la trame

Sous-paquet répété pour chaque type de

message

(longueur du sous-paquet différente suivant le type de

message)

4 octets (int)

1 octet (uchar)

n octets

4 octets (int)

1 octet (uchar)

n octets

….

Sous-paquet 2

Sous-paquet 3

……

Taille Description Détails

Page 52: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Taille Description Détails

4 octets (int) Longueur totale de la trame (ces 4 octets inclus) =29 octets pour ce message

1 octet (uchar) Type de message =0 pour ce message (Robot Mode Data)

8 octets (uint64) Timestamp

1 octet (bool) RobotConnected

1 octet (bool) RealRobotEnabled

1 octet (bool) PowerOnRobot

1 octet (bool) EmergencyStopped

1 octet (bool) SecurityStopped

1 octet (bool) ProgramRunning

1 octet (bool) ProgramPaused

1 octet (uchar) RobotMode Type de modes possibles :0 = ROBOT_RUNNING_MODE1 = ROBOT_FREEDRIVE_MODE

2 = ROBOT_READY_MODE3 = ROBOT_INITIALIZING_MODE

4 = ROBOT_SECURITY_STOPPED_MODE5 = ROBOT_EMERGENCY_STOPPED_MODE

6 = ROBOT_FATAL_ERROR_MODE7 = ROBOT_NO_POWER_MODE

8 = ROBOT_NOT_CONNECTED_MODE9 = ROBOT_SHUTDOWN_MODE

10 = ROBOT_SAFEGUARD_STOP_MODE

8 octets (double) SpeedFraction

• Constitution du message 0 = Robot Mode Data

Page 53: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Constitution du message 1 = Joint Data

Communication Ethernet

Taille Description Détails

4 octets (int) Longueur totale de la trame (ces 4 octets inclus) =251 octets pour ce message

1 octet (uchar) Type de message =1 pour ce message (Joint Data)

Toutes les données ci-dessous sont données 6 fois (1 fois par axe). Par exemple, pour le champ q_actual, le robot fournit 8 octets pour la position du 1ère axe, puis 8 octets pour le 2ème axe, ….

6x8 octets (double) q_actual Position de chaque axe

6x8 octets (double) q_target Position à atteindre pour chaque axe

6x8 octets (double) qd_actual Vitesse pour chaque axe

6x4 octets (float) I_actual Courant de chaque axe

6x4 octets (float) V_actual Tension de chaque axe

6x4 octets (float) T_motor Température de chaque axe

6x4 octets (float) T_micro Obsolète (plus utilisé)

6x1 octet s(uchar) JointMode Type de modes possibles ci-dessous

237 = JOINT_PART_D_CALIBRATION_MODE238 = JOINT_BACKDRIVE_MODE

239 = JOINT_POWER_OFF_MODE240 = JOINT_EMERGENCY_STOPPED_MODE241 = JOINT_CALVAL_INITIALIZATION_MODE

242 = JOINT_ERROR_MODE243 = JOINT_FREEDRIVE_MODE244 = JOINT_SIMULATED_MODE

245 = JOINT_NOT_RESPONDING_MODE246 = JOINT_MOTOR_INITIALISATION_MODE

247 = JOINT_ADC_CALIBRATION_MODE248 = JOINT_DEAD_COMMUTATION_MODE

249 = JOINT_BOOTLOADER_MODE250 = JOINT_CALIBRATION_MODE

251 = JOINT_STOPPED_MODE252 = JOINT_FAULT_MODE

253 = JOINT_RUNNING_MODE254 = JOINT_INITIALIZATION_MODE

255 = JOINT_IDLE_MODE

Page 54: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Constitution du message 2 = Tool Data

Communication Ethernet

Taille Description Détails

4 octets (int) Longueur totale de la trame (ces 4 octets inclus) =37 octets pour ce message

1 octet (uchar) Type de message =2 pour ce message (Tool Data)

1 octet (char) AnalogInputRange2

1 octet (char) AnalogInputRange3

8 octets (double) AnalogInput2

8 octets (double) AnalogInput3

4 octets (float) ToolVoltage48V

1 octet (uchar) ToolOutputVoltage

4 octets (float) ToolCurrent

4 octets (float) ToolTemperature

1 octet (uchar) ToolMode Type de modes possibles :249 = TOOL_BOOTLOADER_MODE

253 = TOOL_RUNNING_MODE255 = TOOL_IDLE_MODE

Page 55: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Taille Description Détails

4 octets (int) Longueur totale de la trame (ces 4 octets inclus) =64 octets pour ce message (76 avec Euromap 67)

1 octet (uchar) Type de message =3 pour ce message (Masterboard Data)

2 octets (short) DigitalInputBits

2 octets (short) DigitalOutputBits

1 octet (char) AnalogInputRange0

1 octet (char) AnalogInputRange1

8 octets (double) AnalogInput0

8 octets (double) AnalogInput1

1 octet (char) AnalogOutputDomain0

1 octet (char) AnalogOutputDomain 1

8 octets (double) AnalogOutput0

8 octets (double) AnalogOutput1

4 octets (float) MasterboardTemperature

4 octets (float) RobotVoltage48V

4 octets (float) RobotCurrent

4 octets (float) MasterIOCurrent

1 octet (uchar) MasterSafetyState Différents états et explication page suivante

1 octet (uchar) MasterOnOffState Différents états et explication page suivante

1 octet (char) Euromap67Installed

suite du message sur la page suivante

• Constitution du message 3 = Masterboard Data

Page 56: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

4 octets (integer) EuromapInputBits si Euromap 67 installé

4 octets (integer) EuromapOutputBits si Euromap 67 installé

2 octets (short) EuromapVoltage si Euromap 67 installé

2 octets (short) EuromapCurrent si Euromap 67 installé

Etat Description Commentaire

0 SAFETY_STATE_UNDEFINED Used for shared state variables when communication is down

1 SAFETY_STATE_BOOTLOADER Used for bootloading firmware over the robot bus

2 SAFETY_STATE_FAULT Used for internal circuit/robot errors only

3 SAFETY_STATE_BOOTINGWaiting for communication to work, robot voltage to be under 4V.

This state is also used to reboot the masterboard instead of faulting.

4 SAFETY_STATE_INITIALIZING Initializing masterboard (checking voltages etc.)

5 SAFETY_STATE_ROBOT_EMERGENCY_STOP (EA + EB + SBUS->Screen) Physical e-stop interface input activated

6 SAFETY_STATE_EXTERNAL_EMERGENCY_STOP (EA + EB + SBUS->Euromap67) Physical e-stop interface input activated

7 SAFETY_STATE_SAFEGUARD_STOP (SA + SB + SBUS) Physical s-stop interface input

8 SAFETY_STATE_OK

MasterSafetyState : Etats possibles

Etat Description Commentaire

0 ROBOT_48V_STATE_OFF There is ~0V voltage on the robot

1 ROBOT_48V_STATE_TURNING_ON Voltage is raising (Soft Start)

2 ROBOT_48V_STATE_ON Power transistors is on, and the voltage is ~48V

3 ROBOT_48V_STATE_TURNING_OFF

MasterOnOffState : Etats possibles

• Constitution du message 3 = Masterboard Data (suite)

Page 57: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Taille Description Détails

4 octets (int) Longueur totale de la trame (ces 4 octets inclus) =53 octets pour ce message

1 octet (uchar) Type de message =4 pour ce message (Cartesian Data)

8 octets (double) X Tool vector, X-value

8 octets (double) Y Tool vector, Y-value

8 octets (double) Z Tool vector, Z-value

8 octets (double) Rx Rx: Axis angle of the tool orientation

8 octets (double) Ry Ry: Axis angle of the tool orientation

8 octets (double) Rz Rz: Axis angle of the tool orientation

• Constitution du message 4 = Cartesian Data

Page 58: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

• Constitution du message 5 = Kinematics Info

Ce message a une longueur de 225 octets et contient un Checksum.Il pourrait faire l'objet de changement dans un proche avenir.

Page 59: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Taille Description Détails

4 octets (int) Longueur totale de la trame (ces 4 octets inclus) =64 octets pour ce message (76 avec Euromap 67)

1 octet (uchar) Type de message =3 pour ce message (Masterboard Data)

Les 4 valeurs ci-dessous sont données 6 fois (1 fois par axe).

6x8 octets (double) JointMinLimit

6x8 octets (double) JointMaxLimit

6x8 octets (double) JointMaxSpeed

6x8 octets (double) JointMaxAcceleration

8 octets (double) VJointDefault Limite de vitesse par défaut

8 octets (double) AJointDefault Limite d’accélération par défaut

8 octets (double) VToolDefault Limite de la vitesse outil par défaut

8 octets (double) AToolDefault Limite de l’accélération outil par défaut

8 octets (double) EqRadius Taille caractéristique de l’outil

Les 4 valeurs ci-dessous sont données 6 fois (1 fois par axe).

8 octets (double) DHa Paramètre DH 'a'

8 octets (double) DHd Paramètre DH 'd'

8 octets (double) DHalpha Paramètre DH 'alpha'

8 octets (double) DHtheta Paramètre DH 'Theta'

4 octets (int) MasterboardVersion

4 octets (int) ControllerBoxType

4 octets (int) RobotType

4 octets (int) RobotSubType

• Constitution du message 6 = Configuration Data

Page 60: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

• Envoi d’un programme secondaire via le port 30002Qu’est-ce qu’un programme secondaire ?- Un programme secondaire est un programme script standard qui peut-être envoyé via le port 30002.- Un programme secondaire peut-être exécuté pendant que le contrôleur exécute un programme principal (qui par exemple fait se déplacer le robot).- Un programme secondaire doit respecter le syntaxe des programmes Script.- La commande de déclaration par laquelle commence un programme secondaire doit être déclaré « sec » (au lieu de « def » pour un programme principal).- Un programme secondaire ne doit nécessiter aucun temps « physique » lors de son éxécution.

Exemple :- Imaginons que le programme principal suivant soit en cours d’exécution :

def primaryProgram():while (True):

movej([0.943, -1.308, 2.206, -2.650, -1.081, 4.805], a=1.396, v=1.047)movej([0.943, -1.014, 2.246, -2.985, -1.081, 4.805], a=1.396, v=1.047)

endend

- Il est alors possible d’envoyer ce programme secondaire alors que le robot continue de se déplacer entre les deux points du programme principal :

sec secondaryProgram():set_digital_out(1, True)

end

Page 61: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 62: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Communication Ethernet

Taille Description Détails

4 octets (int) Longueur totale de la trame (ces 4 octets inclus)

8 octets (double) Time Temps écoulé depuis que le contrôleur a été démarré

Toutes les données ci-dessous sont données 6 fois (1 fois par axe).

6x8 octets (double) q target Position à atteindre pour chaque axe

6x8 octets (double) qd target Vitesse à atteindre pour chaque axe

6x8 octets (double) qdd target Accélération à atteindre pour chaque axe

6x8 octets (double) I target Courant à atteindre pour chaque axe

6x8 octets (double) M target Moment à atteindre pour chaque axe

6x8 octets (double) q actual Position actuelle de chaque axe

6x8 octets (double) qd actual Vitesse actuelle de chaque axe

6x8 octets (double) I actual Courant actuel de chaque axe

6*3*8 octets (double) Accelerometer Values Obsolète (valeurs x,y,z de l’accéléromètre pour chaque axe)

6x8 octets (double) TCP force Forces généralisées au TCP

6x8 octets (double) Tool vector Coordonnées cartésiennes de l’outil (x,y,z,rx,ry,rz)

6x8 octets (double) TCP speed Vitesse de l’outil en coordonnées cartésiennes

8 octets (uint64_t) Digital input bits Etat des entrées digitales

6x8 octets (double) Motor temperatures Température de chaque axe en degrés celcius

8 octets (double) Controller Timer Temps d’exécution des thread en temps réel controleur

8 octets (double) Test value Valeur utilisée uniquement par le logiciel Universal Robots

• Interface de communication temps réel

Page 63: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 64: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Sockets from UR script

• Open a socket connection• socket_open()

• Use script codes to transfer values between robot and PC• socket_set_var()

• socket_get_var()

• socket_read_ascii_float()

Communication Ethernet

Page 65: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Port Interface

502 Serveur Modbus TCP (accès en lecture/écriture à différentes données du controleur robot pour d’autres appareils)

22 SSH (Secure Shell Client) / SFTP (Secure File Transfer Protocol)

29999 Serveur Dashboard

30001 Interface client principale (états et messages du robot)

30002 Interface client secondaire (état du robot uniquement)

30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz)

Connexions Socket avec script UR

Clients Modbus TCP

Communication Ethernet

Robot en mode serveur

Robot en mode client

Page 66: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Utiliser le Modbus TCP

• Setup robot and external module• Network setup on robot

• Add external module in robot installation

• Setup Modbus signals and registers• Select signal type

• Define address and name

• Verify connection

• Use signals / registers in program• Digital inputs

• Digital outputs

• Registers

Communication Ethernet

Page 67: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

Features

Page 68: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Definition of feature

• Default features• Base

• Tool

• User-defined features• Point

• Line

• Plane

Page 69: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Using features

• Move relative to feature

• Teach relative to feature

• Feature as variable

• Feature-point as global pose

Page 70: Manuel d’utilisation - Sysaxes.com · Modbus Communication Ethernet ... 30003 Interface de communcation temps réel (ou interface Matlab) (125 Hz) ... No program loaded

• Practice 3.1

• Create feature• Jog robot relative to feature

• Teach program relative to feature

• Move feature by defining the feature as variable, verify teached program is offset similar

• Practice 3.2

• Move program between multiple features• Create two features

• Teach program relative to one feature

• Make program logic and switch between the two features