Il est possible d’ajouter de nouvelles instructions avec le clic droit ou depuis la barre de Menu (voir section précédente)
Astuce : Sélectionner une instruction spécifique afin d’ajouter une nouvelle instruction juste après celle sélectionnée.
Astuce : Il est possible de faire glisser et déposer les instructions dans un programme ou entre différents programmes afin de les réorganiser.
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➔ 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.
Note : Clic droit sur l’instruction de mouvement et choisir Option de cible… (F3) afin d’ouvrir le menu d’option des cibles. La cible peut être modifiée depuis la fenêtre ou directement depuis la vue 3D.
Mouvement linéaire - Linear Move
Sélectionner Programme➔ 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.
Important : Il est recommandé de garder le premier mouvement de chaque programme comme un mouvement joint utilisant une cible Joint. Cela permettra de configurer correctement la configuration souhaitée dès le premier mouvement et de s’assurer que le vrai robot se déplace de la même façon qu’il a été simulé.
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 ».
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.
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 ➔ 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)
Note :Les contrôleurs spécifiques acceptent le réglage des repères à l’aide d’un repère numéroté (contrôleurs Fanuc et Motoman). Dans ce cas, le nom du référentiel peut se terminer par un chiffre (tels que Frame 4 pour choisir le repère indexé 4).
Paramétrage du repère d’outils - Set Tool Frame
Sélectionner Programme ➔ 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).
Note :Les contrôleurs spécifiques acceptent le réglage des repères d’outils à l’aide d’un numéro d’outils (contrôleurs Fanuc et Motoman). Dans ce cas, le nom de l’outil peut se terminer par un chiffre (tels que Outils 4 pour choisir l’outil indexé 4).
Mouvement circulaire - Circular Move
Sélectionner Programme➔ 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.
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).
Important : Il n’est pas possible d’accomplir un cercle complet avec une seule instruction circulaire. Un cercle doit être réalisé à partir de deux instructions circulaires.
Paramétrer la vitesse
Sélectionner Programme➔ 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.
Note : Certains contrôleurs robots ne supportent pas les modifications d’accélération.
Important : Paramétrer les bonnes vitesses est important pour calculer de manière précise le temps de cycle du robot. Plus d’informations sont disponibles dans la section des temps de cycle.
Afficher un Message
Sélectionner Programme➔ Instruction pour montrer un message pour ajouter une nouvelle instruction qui montrera un message sur le teach pendant.
Note : Certains contrôleurs robots ne supportent pas l’affichage de message sur le teach pendant depuis un programme. Dans ce cas, l’instruction n’aura aucun impact.
Pause
Sélectionner Programme➔ InstructionPause 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.
Note : Mettre la valeur -1 pour mettre en pause jusqu’à ce que l’opérateur remette en route le programme. Dans ce cas, l’instruction sera automatiquement nommée « Arrêter ».
Important : Dans la simulation, une pause de 5 secondes ne durera qu’une seconde avec le ratio par défaut de 5. Plus d’informations sont disponibles dans la section Simulation.
Appel Programme – Program call
Sélectionner Programme➔ 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.
Astuce : Sélectionner Sélectionner programme pour choisir le programme dans une liste. Sinon taper le nom du programme à la main. S’il n’y a pas de correspondance, il ne s’exécutera pas.
Astuce : Entrer plusieurs lignes de programme pour appeler plusieurs programmes à la suite.
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.
Astuce : Un programme principal utilisé seulement pour la simulation, peut utiliser l’option Démarrer programme pour démarrer la simulation de plusieurs robots en même temps.
Gérer les I/O
Sélectionner Programme➔ 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é.
Note : Cette instruction donne aussi des Sorties Analogique (AO) ou permet d’attendre une valeur d’entrée analogique (AI) sur certains contrôleurs. Dans ce cas, il est possible d’indiquer un nombre décimal ou un texte spécifique à la place d’un nombre.
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.
Astuce : Il convient, si par exemple le robot a une configuration avec un équipement spécifique (tels qu’une pince ou une broche d’usinage), d’activer cet équipement par le biais des Sorties Digitales (DO), et ensuite attendre une Entrée Digitale (DI) avant de passer vers un autre état.
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➔ 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).
Note : Paramétrer la valeur de lissage à -1 pour avoir des mouvements fins. Cela implique que le parcours robot sera très peu lissé.
Astuce : Une grosse valeur de lissage va permettre au robot de garder une vitesse constante par contre le robot perdra en précision de trajectoire. Cela dépend de chaque application, il est d’usage de trouver un bon compromis entre précision et vitesse.
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➔ 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
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é.
Note : Les évènements spécifiques peuvent aussi être simulés en utilisant des macros (une bonne expérience de programmation est requise). Par exemple, l’utilisation de l’API est possible pour faire apparaitre des objets à des endroits aléatoires pour une simulation de prise et dépose.
Note : Lors de la fixation de l’objet à l’outil, l’objet le plus proche est attaché s’il n’est pas plus loin qu’une distance donnée. Cette distance est de 200 mm par défaut et peut être modifiée dans : Outils➔Options➔Général : Distance maximum pour attacher un objet à un outil de robot (mm)l. De plus, par défaut, la distance entre l’emplacement TCP et la référence de l’objet est vérifiée. Il est aussi possible d’utiliser la distance entre le TCP et la géométrie de l’objet en sélectionnant Vérifier distance minimale entre le TCP et l’objet.