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

Certains contrôleurs nécessitent de définir cette valeur sous forme de pourcentage. Par exemple, sur un contrôleur Fanuc, pour obtenir la commande CNT5, vous devez entrer la valeur 5.

Vous pouvez également spécifier le paramètre de lissage dans la fenêtre Program Events si vous générez vos programmes pour de l’usinage robotisé, de l’impression 3D ou du suivi de courbes/points.

Robot Programs - Image 29

Évènement de simulation

Sélectionner Programme➔Robot Programs - Image 30 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 :

3.Attacher un objet à un outil.

4.Détacher un objet d’un outil et le déposer sur un système de coordonnées.

5.Afficher un ou plusieurs objets ou outils.

6.Cacher un ou plusieurs objets ou outils.

7.Définir la position absolue d’un ou plusieurs objets ou repères.

8.Définir la position relative d’un ou plusieurs objets ou repères.

9.Mettre les articulations du robot à la position d’origine (home).

10.Déplacer un convoyeur.

11.Créer un objet.

12.Supprimer des objets.

13.Attendre un objet.

Note : Les évènements suivants ont été ajoutés depuis la version 6 de RoboDK et ne sont pas disponibles ou compatibles avec les versions précédentes de RoboDK : ramener le robot en position home, créer, supprimer et attendre un objet (évènements 7 à 10).

Robot Programs - Image 31

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 32

Attacher un objet

L’évènement de simulation Attacher un objet permet d’attacher un objet à un outil pour simuler une action de prise.

Lorsque l’action d’attacher un objet à un outil est déclenchée, l’objet le plus proche de l’outil sélectionné est attaché. Une tolérance par défaut de 200 mm est utilisée pour ignorer tout objet plus éloigné que cette distance.

Robot Programs - Image 33

Si vous ne spécifiez pas de tolérance de distance, la valeur par défaut globale est utilisée (vous pouvez la modifier dans Outils►Options►Distance maximum pour attacher un objet à un outil de robot). De plus, par défaut, la distance est vérifiée entre l’emplacement du TCP et la référence de l’objet. Il est également possible d’utiliser la distance entre le TCP et la géométrie de l’objet en sélectionnant Vérifier la distance la plus courte entre le TCP et la forme de l’objet.

Détacher un objet

L’évènement de simulation Détacher un objet permet de détacher un objet d’un outil vers un autre objet ou système de coordonnées.

Vous devez choisir l’outil duquel les objets doivent être détachés, ainsi que le système de coordonnées ou l’objet auquel ils doivent être attachés ensuite.

L’évènement de simulation Détacher un objet permet de simuler une opération de dépose dans une application de prise et dépose (il effectue l’action opposée à l’évènement Attacher un objet).

Par exemple, si le robot se déplace vers un emplacement spécifique pour saisir un objet, vous pouvez paramétrer un évènement Attacher un objet pour déplacer cet objet en même temps que le robot. Ensuite, une fois que le robot s’est déplacé et qu’il est prêt à déposer les objets saisis, vous pouvez déclencher un évènement Détacher un objet pour libérer tous les objets que l’outil du robot a saisis.

Robot Programs - Image 34

Afficher des objets ou des outils

L’évènement Afficher des objets ou des outils permet de rendre visibles un ou plusieurs objets, outils ou robots dans l’environnement de simulation.

Vous pouvez sélectionner un ou plusieurs éléments en maintenant la touche Ctrl enfoncée.

Robot Programs - Image 35

Masquer des objets ou des outils

L’évènement Masquer des objets ou des outils permet de rendre invisibles un ou plusieurs objets ou outils dans la simulation.

Vous pouvez sélectionner un ou plusieurs éléments en maintenant la touche Ctrl enfoncée.

Robot Programs - Image 36

Définir la position absolue

L’évènement Définir la position de l’objet (absolue) permet de mettre à jour la position de chaque objet sélectionné lorsque cette action est déclenchée. Le repère parent auquel chaque élément est attaché n’est pas modifié : seule la position de chaque objet est mise à jour.

Vous pouvez sélectionner un ou plusieurs éléments en maintenant la touche Ctrl enfoncée. La position actuelle de l’élément est enregistrée lorsque vous cliquez sur OK.

Robot Programs - Image 37

Définir la position relative

L’évènement Définir la position de l’objet (relative) permet de mettre à jour la position et le parent de chaque objet sélectionné lorsque cette action est déclenchée. Le repère parent auquel chaque élément est attaché est également modifié, et la position de chaque objet est aussi mise à jour.

Vous pouvez sélectionner un ou plusieurs éléments en maintenant la touche Ctrl enfoncée. La position actuelle de l’élément ainsi que l’élément parent auquel il est attaché sont enregistrés lorsque vous cliquez sur OK.

La différence entre cette instruction et l’instruction de position absolue est que celle-ci met également à jour l’élément parent auquel chaque objet est attaché.

Robot Programs - Image 38

Ramener le robot en position home

L’évènement Définir les axes en position home déclenche le déplacement immédiat du robot ou du mécanisme sélectionné vers ses positions d’axes « home » définies (le mouvement n’est pas simulé dans le temps).

Ceci est utile lorsque vous devez réinitialiser une simulation et replacer les convoyeurs à leur position de départ.

Vous pouvez sélectionner un ou plusieurs éléments en maintenant la touche Ctrl enfoncée.

Robot Programs - Image 39

Évènement de déplacement du convoyeur

L’évènement Déplacer le convoyeur simule le déplacement du convoyeur sur une distance spécifique, en simulant l’effet du mouvement dans le temps.

Ceci est utile lorsque vous devez simuler un incrément spécifique pour traiter un objet sur le convoyeur une fois qu’il a parcouru une distance donnée.

Robot Programs - Image 40

Créer un objet

L’instruction Créer un objet permet de simuler un alimentateur (feeder) en créant un nouvel objet dans l’environnement de simulation.

Vous devez sélectionner l’objet modèle à créer ainsi que le repère parent auquel les éléments doivent être attachés.

Cette action est utile pour créer de nouveaux objets sur un convoyeur.

Robot Programs - Image 41

Supprimer des objets

L’instruction Supprimer des objets retire des objets de l’environnement de simulation.

Vous devez sélectionner un objet modèle que vous souhaitez supprimer. Tout objet correspondant au nom et à la géométrie de cet objet est supprimé lorsque cette action est déclenchée. L’objet modèle sélectionné ainsi que tout objet verrouillé ne sont pas supprimés.

Cette instruction permet de nettoyer une simulation terminée lorsque de nombreux objets ont été créés par l’instruction Créer un objet.

Robot Programs - Image 42

Attendre un objet

L’instruction Attendre un objet attend qu’un objet entre en contact avec un autre objet pour déclencher une action spécifique.

Cet évènement est utile lorsque vous souhaitez déclencher une action en fonction d’un contact entre objets. Il est courant de placer cette instruction seule dans un programme exécuté en boucle, qui effectue une action spécifique lorsqu’un objet entre en contact avec un capteur.

Robot Programs - Image 43

Les actions que vous pouvez effectuer lorsqu’un objet est en contact avec le capteur sont les suivantes :

Arrêter un robot : vous devez sélectionner le robot ou le mécanisme qui doit s’arrêter.

Supprimer un objet : l’objet doit être retiré de la station.

Attendre uniquement l’objet (par exemple, vous pouvez déclencher la prise d’un objet par un robot).

Déplacer un objet vers un autre système de coordonnées. Par exemple, pour transférer un objet d’un convoyeur à un autre.

Robot Programs - Image 44