Instructions de programme

Il est possible d’ajouter de nouvelles instructions avec le clic droit ou depuis la barre de Menu (voir section précédente)

Cette section décrit les instructions supportées par l’interface RoboDK GUI pour la programmation hors ligne.

Mouvement Joint - Joint Move

Sélectionner Programme➔Robot Programs - Image 4 Instruction Move Joint afin d’ajouter une nouvelle instruction de mouvement joint. Sinon cliquer sur le bouton correspondant dans la barre d’options.

A moins qu’une cible ne soit sélectionnée avant d’ajouter l’instruction, l’instruction mouvement va créer une nouvelle cible et ils seront liés. Si la cible change de position, le mouvement sera modifié aussi.

S’il s’agit de la première instruction ajoutée au programme, deux instructions supplémentaires seront ajoutées avant le mouvement : Définir Ref.et Choisir Outil. Cela permettra de s’assurer que lorsque le programme atteint l’instruction de mouvement, le robot utilise les mêmes repères de référence et d’outils pour créer cette nouvelle cible.

Robot Programs - Image 5

Mouvement linéaire - Linear Move

Sélectionner Programme➔Robot Programs - Image 6 Instruction Move Linear afin d’ajouter une nouvelle instruction de mouvement linéaire. Sinon sélectionner l’option dans la barre d’option.

A moins qu’une cible ne soit sélectionnée avant d’ajouter l’instruction, l’instruction mouvement va créer une nouvelle cible et seront liés. Si la cible change de position, le mouvement sera modifié aussi.

Les mouvements joints et linéaires réagissent de la même manière et peuvent facilement être échangés d’un type à l’autre.

De la même façon que pour un mouvement joint, s’il s’agit de la première instruction ajoutée au programme, deux instructions supplémentaires seront ajoutées avant le mouvement : Définir Ref.et Choisir Outil.

Contrairement au mouvement Joint, les mouvements linéaires sont sensibles aux situations de singularité robot et aux limites d’axes. Sur un robot 6 axes, il faut absolument éviter les situations de singularité en suivant des mouvements linéaires. L’image suivante montre un exemple illustrant que « Le mouvement de l’instruction n’est pas atteignable ».

Robot Programs - Image 7

Si un mouvement linéaire n’est pas strictement nécessaire, faire un clic droit sur l’instruction et le changer en un mouvement Joint.

Robot Programs - Image 8

En parallèle, la cible, le TCP ou la position du repère de référence doit être modifié afin de n’avoir aucune singularité.

Paramétrer le repère de référence

Sélectionner Programme ➔Robot Programs - Image 9 Instruction changement de repère afin d’utiliser un repère spécifique. Cela va mettre à jour le repère donné dans le contrôleur pour toutes les instructions de mouvements qui suivent et changera le repère ACTIF du robot dans la simulation. En résumé, cela veut dire que les instructions de mouvement vers des cibles spécifiques (cibles cartésiennes) seront définies par rapport au dernier repère paramétré.

Le repère est aussi une variable connue en tant que Work Object (Robots ABB), UFRAME (Robots Fanuc), FRAME (robots Motoman) ou $BASE (Robots KUKA)

Robot Programs - Image 10

Paramétrage du repère d’outils - Set Tool Frame

Sélectionner Programme ➔Robot Programs - Image 11 Instruction changement d’outils afin d’utiliser un repère d’outil spécifique (TCP). Cela va mettre à jour un repère d’outil donné dans le programme pour toutes les instructions de mouvement qui suivent et changera le repère de l’outils ACTIF du robot dans RoboDK pour la simulation. En résumé, cela veut dire que les instructions de mouvement de cibles spécifiques (cibles cartésiennes) seront définies par rapport au dernier repère paramétré.

Le repère de l’outil est connu sous le nom de ToolData (ABB robots), UTOOL (Fanuc robots), TOOL (Motoman robots) ou $TOOL (KUKA robots).

Robot Programs - Image 12

Mouvement circulaire - Circular Move

Sélectionner Programme➔Robot Programs - Image 13 Instruction Move Circular afin d’ajouter une nouvelle instruction circulaire. Il est possible de sélectionner cette fonction dans la barre d’outils.

A moins que deux cibles ne soient sélectionnées avant d’ajouter l’instruction, l’instruction de mouvement ne va pas créer de nouvelle cible. Il faut donc créer deux cibles supplémentaires séparément et les lier depuis l’instruction de mouvement circulaire, tels que montré dans l’image ci-dessous.

Robot Programs - Image 14

La trajectoire circulaire est un arc créé du point où le robot est localisé, passant par le premier point (Cible liée 1) et terminant au point final (Cible liée 2).

Paramétrer la vitesse

Sélectionner Programme➔Robot Programs - Image 15 Instruction de vitesse afin d’ajouter une nouvelle instruction qui modifie la vitesse et/ou l’accélération. Il est possible d’indiquer la vitesse et l’accélération en utilisant les différents champs proposés.

Activer la case correspondante pour définir une vitesse ou une accélération spécifique dans le programme. Le robot applique la nouvelle vitesse à partir du moment où l’instruction est exécutée.

La vitesse du robot peut aussi être changé dans le menu des paramètres du robot : Double-clic sur le Robot, sélectionner Paramètres.

Robot Programs - Image 16

Afficher un Message

Sélectionner Programme➔Robot Programs - Image 17 Instruction pour montrer un message pour ajouter une nouvelle instruction qui montrera un message sur le teach pendant.

Robot Programs - Image 18

Pause

Sélectionner Programme➔Robot Programs - Image 19 Instruction Pause pour ajouter une nouvelle instruction qui ajoutera une pause dans l’exécution du programme ou stoppera le programme jusqu’à ce que l’opérateur décide de relancer.

Robot Programs - Image 20

Appel Programme – Program call

Sélectionner Programme➔Robot Programs - Image 21 Exécuter une procédure pour ajouter un appel afin d’exécuter un sous-programme à partir du programme courant.

Par défaut, l’appel est bloqué à un programme spécifique. Cependant, il est possible de choisir Insérer code afin d’entrer un code spécifique. Cela peut être utile pour une application spécifique ou un contrôleur spécifique.

Robot Programs - Image 22  Robot Programs - Image 23

Changer de Appel Programme vers Démarrer Thread pour provoquer un appel non bloquant d’un sous-programme. Dans ce cas, le contrôleur démarrera un nouveau Thread. Cette option est valable pour certains contrôleurs et fonctionne seulement pour des opérations spécifiques.

Gérer les I/O

Sélectionner Programme➔Robot Programs - Image 24 Changer les entrées/sorties IO pour changer l’état des Sorties digitales (DO). Par défaut, cette instruction est paramétrée sur Etablir Sortie Digitale (DO). Cette instruction permet aussi d’attendre une Entrée Digitale (DI) spécifique afin de passer dans un autre état.

Le nom IO peut être un nombre ou un texte s’il s’agit d’une variable nommée. La valeur IO peut être un nombre (0 pour False et 1 pour True) ou un texte s’il est nommé.

Robot Programs - Image 25

Paramétrer à Attendre Entrée Digitals (DI) pour stopper l’exécution du programme jusqu’à ce que l’Entrée attendue soit activée. De plus, la plupart des contrôleurs ont un « timeout delay » qui déclenche une erreur si le temps attendu dépasse une certaine valeur. Activer la case Timeout (ms) pour actionner cette option.

Robot Programs - Image 26

La modification des entrées et sorties numériques simulées créera de nouvelles variables de station. Pour vérifier l’état de ces variables, faire un clic droit sur la station et sélectionner Paramètres de station. Il est également possible de lire ou de modifier ces variables via l’API.

Paramétrage des Valeurs de Lissage

Sélectionner Programme➔Robot Programs - Image 27 Instruction de Lissage pour modifier la précision du lissage. La précision de lissage est utilisée pour lisser les bords entre les mouvements consécutifs. Ce changement prend effet à partir du moment où il est exécuté à l’intérieur d’un programme (comme avec toutes les autres instructions), il est donc d’usage de définir cette valeur au début d’un programme.

Sans instructions de lissage, le robot va atteindre une vitesse de 0 à la fin de chaque mouvement (sauf si le mouvement suivant est tangent avec le mouvement précédent). Cela permet d’éviter de grosses accélérations et changements rapides de vitesses afin d’assurer la meilleure précision de chaque mouvement.

Cette valeur est aussi connue comme Blending radius (Universal Robots), ZoneData (ABB robots), CNT/FINE (Fanuc robots), Cornering (Mecademic robots) ou $APO.CDIS/$APO.CPTP/Advance (KUKA robots).

Robot Programs - Image 28

Les tests de RoboDK path accuracypermettent d’avoir une meilleure compréhension des effets des différentes valeurs arrondies avec ce système de mesure.

Évènement de simulation

Sélectionner Programme➔Robot Programs - Image 29 Instruction Evènement afin de créer un évènement spécifique dans la simulation. Ils n’ont aucun impact sur le code généré et ils sont seulement utilisés pour créer des évènements spécifiques dans le cadre de simulations.

La simulation d’évènements dans l’interface utilisateur / GUI (graphical user interface) permet de :

Attacher ou détacher des objets de l’outil du robot

Montrer ou cacher des objets ou outils

Changer la position des objets et des repères

Robot Programs - Image 30

Par exemple, si le robot bouge à un endroit spécifique pour attraper un objet, il est possible de paramétrer un évènement Objet Attaché (Attach object) pour bouger cet objet en même temps que le robot. Après que le robot ait terminé son mouvement, il peut laisser l’objet. Il est possible de paramétrer Détacher objet (Detach object) pour laisser l’objet que l’outil a précédemment attrapé.

Robot Programs - Image 31