Manuel de Référence Rapid: Système D'Exploitation Baseware 2.1
Manuel de Référence Rapid: Système D'Exploitation Baseware 2.1
Manuel de Référence Rapid: Système D'Exploitation Baseware 2.1
Manuel de référence RAPID
Système d'exploitation BaseWare 2.1
Machine Translated by Google
Les informations contenues dans ce document sont susceptibles d'être modifiées sans préavis et ne doivent pas être
interprétées comme un engagement de la part d'ABB Robotics Products AB. ABB Robotics Products AB n'assume aucune
responsabilité pour les erreurs pouvant apparaître dans ce document.
En aucun cas, ABB Robotics Products AB ne pourra être tenu responsable des dommages indirects ou consécutifs résultant
de l'utilisation de ce document ou des logiciels et matériels décrits dans ce document.
Ce document et des parties de celuici ne doivent pas être reproduits ou copiés sans
l'autorisation écrite d'ABB Robotics Products AB, et son contenu ne doit pas être communiqué à un tiers ni être utilisé à des
fins non autorisées. La contravention sera poursuivie.
Des exemplaires supplémentaires de ce document peuvent être obtenus auprès d'ABB Robotics Products AB aux frais en
vigueur.
© ABB Robotics Products AB
Numéro d'article : 3HAC 76771
Version : M2000/Rev.1
ABB Robotics Products AB
S721 68 Västerås
Suède
Machine Translated by Google
ABB Flexible Automation AB
Manuel en ligne de référence RAPID
MENU PRINCIPAL
Table des matières Programmation hors ligne
Introduction
Résumé RAPIDE ArcWare
Spotware
Caractéristiques de base GlueWare
Principes de mouvement et d'E/S
Types de données et données système
Instructions Référence rapide
Les fonctions Fonctionnalité spéciale dans ce robot
Données et programmes prédéfinis Index, Glossaire
Machine Translated by Google
Automatisation flexible ABB
Manuel interne pour le manuel en ligne
BIENVENUE dans le manuel interne
Utilisez le champ d'outils d'Acrobat Reader pour parcourir le manuel en ligne.
Les boutons Reculer et Avancer vous guident pas à pas dans le document, d'une vue à l'autre
dans l'ordre où vous les avez vus.
Les boutons Page précédente/suivante permettent d'avancer ou de reculer d'une page à la fois dans le
document. Vous pouvez également utiliser les boutons PageUp/PageDown du clavier.
Les boutons Première/Dernière page permettent d'avancer ou de reculer jusqu'à la dernière ou la
première page du document.
Pour marquer du texte dans le document. Pour être utilisé dans un autre document, le texte peut être
copié avec la commande Copier du menu Edition.
Marquer des graphiques dans le document (dans le menu Outils). Pour une utilisation dans un autre
document, les graphiques peuvent être copiés de la même manière que le texte, voir cidessus.
Il est également possible d'imprimer le manuel, utilisez la fonction Imprimer.... du menu Fichier.
Le curseur, en forme de main, se transforme en doigt pointé lorsqu'il se déplace sur une zone liée.
Pour accéder à une vue liée, cliquez avec le bouton de la souris.
Pour plus d'informations, consultez le manuel en ligne d'Acrobat Reader dans le menu Aide.
Cliquez sur le bouton du menu principal pour continuer avec le manuel en ligne du guide de l'utilisateur.
Menu principal
Machine Translated by Google
CONTENU
Page
1 Table des matières .................................................. ....................................... 11
2 Présentation .................................................. ............................................. 21
1 Autres manuels ....................................................... .................................................. .... 23
2 Comment lire ce manuel .................................................. ............................................. 23
2.1 Conventions typographiques.................................................. .................................. 24 2.2 Règles de
syntaxe.............. .................................................. ..................................... 24 2.3 Syntaxe
formelle........ .................................................. ....................................... 25 3 Résumé
RAPIDE ...... .................................................. .................................. 31 1 La structure du
langage............ .................................................. ............. 35 2 Contrôle du déroulement du
programme .................................. ............................................... 36 2.1 Principes de
programmation .................................................. .................................. 36 2.2 Appel d'une autre
routine ........ .................................................. .................. 36 2.3 Contrôle du programme dans la
routine .................. .......................................... .. 36
2.4 Arrêt de l'exécution du programme .................................................. ................................ 37
3 Consignes diverses .................................................................. ............................................. 38
3.1 Attribuer une valeur aux données ................................................ .................................. 38
3.2 Attendez.................................................. .................................................. ............. 38
3.3 Commentaires .................................................. .................................................. ... 38
3.4 Chargement des modules de programme .................................................. .............................. 38
3.5 Fonctions diverses .................................................. .................................................. 39
3.6 Données de base ....................................................... .................................................. ..... 39
4 Paramètres de mouvement .................................................. .................................................. ... 310 4.1
Principes de programmation ......................................... ....................................... 310 4.2 Définition de la
vélocité..... .................................................. ..................................... 310 4.3 Définition de
l'accélération ........ .................................................. .......................... 311
4.4 Définition de la gestion de la configuration .................................................. .............. 311
4.5 Définition de la charge utile .................................................. ....................................... 311 4.6 Définition
du comportement près des points singuliers . ................................................ 311
4.7 Déplacement d'un programme .................................................. .................................. 312 4.8 Servo
souple ...... .................................................. ............................................... 312
4.9 Ajuster les valeurs de réglage du robot ....................................... .......................... 312
4.10 Données pour les paramètres de mouvement.............................................. .................................. 313
5 Mouvement.................................................. .................................................. .................. 314
5.1 Principes de programmation .................................................. .................................. 314 5.2 Instructions
de positionnement ...... .................................................. .................. 315 5.3
Recherche.................................. .................................................. ................................ 315
Manuel de référence RAPID 11
Machine Translated by Google
Page
5.4 Activation de sorties ou d'interruptions à des positions spécifiques ...................... 315
5.5 Commande de mouvement en cas d'erreur/d'interruption......................................................... ....
316 5.6 Commande d'axes externes ...................................... ....................................... 316
5.7 Axes indépendants .................................................................. ....................................... 316 5.8
Fonctions de position .................................................. ....................................... 317
5.9 Données de mouvement ....................................... .................................................. .. 317
5.10 Données de base pour les mouvements.................................................. .............................. 318
6 Signaux d'entrée et de sortie .................................................. ....................................... 319 6.1 Principes
de programmation .................. .................................................. .................................. 319 6.2
Modification de la valeur d'un signal ...... .................................................. ..... 319 6.3 Lecture de la
valeur d'un signal d'entrée .................................. .................................. 319 6.4 Lecture de la valeur
d'un signal de sortie ...... ............................................... 319 6.5 Tester l'entrée sur les signaux de
sortie ......................................... .................................. 320 6.6 Données pour les signaux d'entrée et
de sortie ...... .................................................. 320
7 Communiquer................................................................ .................................................. .. 321
7.1 Principes de programmation .................................................. .................................. 321 7.2
Communiquer à l'aide du boîtier d'apprentissage ........ ............................................... 321
7.3 Lecture ou écriture dans un canal/fichier série basé sur des caractères ....... 322
7.4 Communication à l'aide de canaux série binaires ...................................... ... 322
7.5 Données pour les canaux série .................................................. ....................................... 322
8 Interruptions .................................................. .................................................. ........... 323 8.1 Principes
de programmation .................................. ............................................... 323 8.2 Connexion
d'interruptions à des routines de déroutement.................................. .................. 323 8.3 Ordre des
interruptions .................................. .................................................. ......... 324 8.4 Annulation des
interruptions .................................. .................................................. 324 8.5 Activation/désactivation
des interruptions.................................................. .................................. 324 8.6 Type de données des
interruptions ...... .................................................. ..................... 324
9 Récupération d'erreur .................................................. .................................................. ... 325
9.1 Principes de programmation ....................................................... .................................. 325
9.2 Création d'une situation d'erreur à partir du programme ...................................... 325
9.3 Redémarrage/retour depuis le gestionnaire d'erreurs .................................................. ........ 326
9.4 Données pour le traitement des erreurs.............................................. ..................................... 326
10 Système et heure ...... .................................................. .................................................. 327 10.1
Principes de programmation. .................................................. .................................. 327 10.2
Utilisation d'une horloge pour chronométrer un événement ...... .................................................. ......
327 10.3 Lecture de l'heure et de la date actuelles .................. .................................. 327
12 Manuel de référence RAPID
Machine Translated by Google
Page
11 Mathématiques .................................................. .................................................. ..... 328
11.1 Principes de programmation .................................................. ............................... 328 11.2 Calculs
simples sur des données numériques ........ ................................................ 328
11.3 Calculs plus avancés .................................................................. ....................... 328
11.4 Fonctions arithmétiques ....................................................... ....................................... 329
12 Soudage par points .................................................. .................................................. ..... 330 12.1
Fonctionnalités de soudage par points ...................... .................................................. 330 12.2
Principes de Spotware .................................................. .............................. 331
12.3 Principes de SpotWare Plus ....................................................... .......................... 331
12.4 Principes de programmation .................................................. .................................. 332 12.5
Instructions de soudage par points ...... .................................................. .............. 333 12.6 Données
de soudage par points ...................... .................................................. ......... 333 13 Soudage à
l'arc ...................................... .................................................. .................... 334 13.1 Principes de
programmation .................. .................................................. ... 334 13.2 Instructions de soudage à
l'arc ...................................... ..................................... 334
13.3 Données de soudage à l'arc ............................................... ................................................ 335
14 GlueWare................................................ .................................................. .......... 336
14.1 Caractéristiques de collage .................................................. ................................................ 336
14.2 Principes de programmation .................................................. .................................. 336 14.3
Instructions de collage ............. .................................................. .......................... 336
14.4 Données de colle .................................................. .................................................. .... 337
15 Communication avec un ordinateur externe .................................................. .................. 338 15.1
Principes de programmation ...................... .................................................. 338 15.2 Envoi d'un
message contrôlé par programme du robot à un ordinateur....... 338
16 Consignes d'entretien ....................................................... ................................................ 339
16.1 Envoi d'une valeur au signal de test du robot ......................................... ......... 339 17 Fonctions
de chaîne ...................................... .................................................. ............ 341
17.1 Opérations de base ....................................................... .......................................... 341
17.2 Comparaison et recherche .................................................. ................................ 341
17.3 Transformation .................................................. .................................................. 341
18 Résumé de la syntaxe.................................................. .................................................. 3 43 18.1 Mode
d'emploi.................................................. .................................................. .. 343
18.2 Fonctions.................................................. .................................................. ... 346
4
5 Caractéristiques de base ....................................................... .................................. 51
1 Éléments de base .................................................. .................................................. ..... 53
Manuel de référence RAPID 13
Machine Translated by Google
Page
1.1 Identifiants .................................................. .................................................. .... 53
1.2 Espaces et caractères de nouvelle ligne ................................................ ......................... 54
1.3 Valeurs numériques ....................................................... ............................................... 54
1.4 Valeurs logiques ....................................................... ................................................ 54
1.5 Valeurs de chaîne .................................................. .................................................. 54
1.6 Commentaires .................................................. .................................................. ... 55
1.7 Espaces réservés .................................................. .................................................. 55
1.8 Entête de fichier.............................................. .................................................. .... 55
1.9 Syntaxe .................................................. .................................................. ......... 56
2 Modules.................................................. .................................................. ............... 58
2.1 Modules de programme .................................................. ................................................ 58
2.2 Modules du système .................................................. .................................................. 59 2.3
Module déclarations .................................................................. ..................................... 59
2.4 Syntaxe .................................................. .................................................. ......... 59
3 Routines .................................................. .................................................. .............. 511
3.1 Portée de la routine.................................................. .................................................. 5 11
3.2 Paramètres.................................................. .................................................. ... 512
3.3 Résiliation de routine .................................................. ....................................... 513
3.4 Déclarations de routine .................................................. ....................................... 513
3.5 Appel de procédure.................................................. .................................................. 5 14
3.6 Syntaxe .................................................. .................................................. ......... 515
4 Types de données.................................................. .................................................. ........... 518 4.1
Types de données sans valeur .................. .................................................. ..... 518 4.2 Types de
données égaux (alias) .................................. ............................................... 518
4.3 Syntaxe .................................................. .................................................. ......... 519
5 Données.................................................. .................................................. ..................... 520
5.1 Portée des données.................................................. .................................................. .... 520 5.2
Déclaration des variables ......................................... ............................................... 521
5.3 Déclaration persistante .................................................. ..................................... 522
5.4 Déclaration de constante.................................................. ....................................... 522
5.5 Initialisation des données ....................................... .................................................. 522
5.6 Syntaxe .................................................. .................................................. ......... 523
6 Mode d'emploi.................................................. .................................................. ......... 525
6.1 Syntaxe .................................................. .................................................. ......... 525
7 Expressions.................................................. .................................................. ......... 526 7.1 Expressions
arithmétiques .................................. ............................................... 526
14 Manuel de référence RAPID
Machine Translated by Google
Page
7.2 Expressions logiques.................................................. .................................................. 527 7.3
Expressions de chaîne .... .................................................. .................................. 527 7.4 Utilisation
de données dans des expressions ........ .................................................. ..................... 528 7.5
Utilisation d'agrégats dans les expressions ..................... .................................................. 529 7.6
Utilisation d'appels de fonction dans des expressions.............................................. .................. 529
7.7 Priorité entre opérateurs .................................. .................................................. . 530
7.8 Syntaxe.................................................. .................................................. .......... 531
8 Récupération d'erreur .................................................. .................................................. ... 533 8.1
Gestionnaires d'erreurs.................................................. .................................................. ..... 533
9 Interruptions.................................................. .................................................. ................ 535 9.1
Manipulation des interruptions .................. .................................................. 535 9.2 Routines de
déroutement ....................................... .................................................. .... 536
10 Exécution à rebours .................................................. .................................................. 537
10.1 Gestionnaires rétrogrades .................................................. ....................................... 537
11 Multitâche ................................................................ .................................................. ..... 539 11.1
Synchronisation des tâches ...................................... .................................................. 539 11.2
Communication intertâches... .................................................. ....................... 541
11.3 Type de tâche .................................................. .................................................. 542 11.4
Priorités ....................................................... .................................................. ........ 542
11.5 Tailles des tâches .................................................. .................................................. ... 543
11.6 À méditer .................................................................. ............................................... 544
6 Principes de mouvement et d'E/S ....................................... ................................ 61 1 Systèmes de
coordonnées .................. .................................................. ....................... 63
1.1 Point central de l'outil du robot (TCP) .................................................. ..................... 63
1.2 Systèmes de coordonnées utilisés pour déterminer la position du TCP ...................... 63
1.3 Systèmes de coordonnées utilisés pour déterminer la direction de l'outil ...... 68
2 Positionnement pendant l'exécution du programme ............................................. ................ 613 2.1
Généralités.................................. .................................................. ....................... 613
2.2 Interpolation de la position et de l'orientation de l'outil ....................................... 613
2.3 Interpolation des trajectoires d'angle .................................................. ................................ 616
2.4 Axes indépendants.............................................................. ....................................... 622 2.5
Servo souple .................................................. .................................................. .. 624
2.6 Résolution du chemin .................................................. ............................................... 625
2.7 Arrêt et redémarrage............................................................ .................................................. 6 25
3 Synchronisation avec les instructions logiques.................................................. ............. 627 3.1
Exécution séquentielle du programme aux points d'arrêt .................. ..................... 627
Manuel de référence RAPID 15
Machine Translated by Google
Page
3.2 Exécution séquentielle du programme aux points de survol ....................................... .... 627
3.3 Exécution simultanée de programmes ...................................... .............................. 628
3.4 Synchronisation des chemins.................................................. ...................................... 630
4 Configuration du robot ...... .................................................. ....................................... 632
4.1 Données de configuration du robot pour 6400C ...................................... ................. 634
5 Singularités .................................................. .................................................. ........ 636 5.1
Exécution du programme à travers les singularités .................................. .................... 637 5.2
Déplacement manuel à travers les singularités .................. .................................................. 6
37 6 Principes d'E/S ................................................ .................................................. .......... 638
6.1 Caractéristiques des signaux .................................................. ..................................... 638
6.2 Signaux du système .................................................. .................................................. 6 39
6.3 Connexions croisées .................................................. .................................................. 639
6.4 Limites ................................................................ .................................................. .. 640
7 Types de données et données système.............................................. ....................... 71
bool Valeurs logiques ............................................... ............................. 7bool1
horloge Mesure du temps .................................................. ................... 7horloge1
confdata Données de configuration du robot........................................ .... 7confdata1
dionum Valeurs numériques 0 1.................................................. ............ 7dionum1
errnum Numéro d'erreur .................................................. ....................... 7errnum1
extjoint Position des joints externes ................................................ ...... 7extjoint1
intnum Identité de l'interruption ...................................... ........................ 7numéro1
iodev Canaux et fichiers série ......................................................... ............. 7iodev1
jointtarget Données de position conjointe.............................. ............ 7jointtarget1
loaddata Charger les données.............................................. ............................. 7loaddata1
mecunit Unité mécanique ....................................................... ................... 7mecunit1
motsetdata Données de paramètres de mouvement ...................................... ........ 7motsetdata1
num Valeurs numériques (registres) ............................... ........................ 7num1
orienter Orientation................................................. .............................. 7orient1
o_robtarget Données de position d'origine ....................................... .... 7o_robtarget1
o_jointtarget Données de position d'origine de l'articulation .................. 7 o_jointtarget1
pos Positions (seulement X, Y et Z) ...................................... ................ pose 7pos1
Transformations de coordonnées .............................. ..................... progdisp 7pos1
Déplacement de programme ......................... ................................ robjoint 7progdisp1
Position de l'articulation des axes du robot............ ................................ 7robjoint1 robtarget
Données de position ......... .................................................. ......... 7robtarget1 signalxx Signaux
numériques et analogiques ................................. ................... 7signalxx1
16 Manuel de référence RAPID
Machine Translated by Google
Page
données de vitesse Données de vitesse .................................. ......................... 7speeddata1 chaîne
Chaînes................. .................................................. .................. 7string1 symnum Numéro
symbolique ....................... ....................................... 7symnum1
tooldat Données d'outil .................................................. .................................. 7tooldata1
triggdata Evénements de positionnement trigg........................................ ..... 7triggdata1 tunedata Type
de syntonisation du servo ...................................... .............................. wobjdata 7tunedata1
Données d'objet de travail ............... .............................................. 7wobjdata 1
zonedata Données de zone.............................................. ............................. 7zonedata1
Données système .................................................. ....................................... 7Données système1
8 Mode d'emploi .................................................. ............................................... 81
« := » Attribue une valeur ................................................ ............................................... 8:=1
AccSet Réduit l'accélération ............................................. ........ 8AccSet1
ActUnit Active une unité mécanique................................................ ... 8ActUnit1
Add Ajoute une valeur numérique................................................ ................... 8Ajouter1
Pause Pause exécution du programme.................................................. ........ 8Pause1
CallByVar Appel d'une procédure par une variable......................................... 8CallByVar1
Effacer Efface la valeur ............................................. ......................... 8Effacer1
ClkReset Réinitialise une horloge utilisée pour le chronométrage.................................. 8 ClkReset1 ClkStart
Démarre une horloge utilisée pour le chronométrage ...................................... .... 8ClkStart1
ClkStop Arrête une horloge utilisée pour le chronométrage.......................................... .. 8ClkStop1
Fermer Ferme un fichier ou un canal série ....................................... ...... 8Fermer1
commentaire Commentaire ............................................... ................................ 8commentaire1
Compact IF Si une condition est satisfaite, alors... (une instruction)....... 8Compact IF1 ConfJ Contrôle la
configuration pendant le mouvement de l'articulation........ ... 8ConfJ1
ConfL Surveille la configuration pendant le mouvement linéaire ....... ConfL1
CONNECT Connecte une interruption à une routine de déroutement ...... 8CONNECT1
DeactUnit Désactive une unité mécanique ......................................... 8DeActUnit1
EOffsOff Désactive un décalage pour les axes externes..........................8EOffsOff1
EOffsOn Active un décalage pour les axes externes ....................... 8EOffsOn1
EOffsSet Active un décalage pour les axes externes à l'aide d'une valeur ........ 8EOffsSet1
ErrWrite Rédiger un message d'erreur ......................................... ..... 8ErrWrite1 EXIT Termine l'exécution
du programme ..................................... ......... 8SORTIE1
POUR Répète un certain nombre de fois.................................................. . 8POUR1
GOTO Passe à une nouvelle instruction ................................................ ......... 8GOTO1
GripLoad Définit la charge utile du robot ...................................... 8GripLoad1
Manuel de référence RAPID 17
Machine Translated by Google
Page
IDelete Annule une interruption ............................................. .............. 8IDuppression1
IDisable Désactive les interruptions ....................................... .............. 8IDésable1
IEable Active les interruptions .............................................. ............... 8IEnable1
SI Si une condition est remplie, alors ... ; sinon .................................... 8IF1
IndAMove Mouvement de position absolu indépendant................. 8IndAMove1 IndCMove Mouvement
continu indépendant............ ............... 8IndCMove1 IndDMove Déplacement indépendant de la position
delta .................. 8 IndRMove1 IndReset Réarmement indépendant......................................... ..................
8IndReset1
IndRMove Déplacement de position relatif indépendant .................. 8IndRMove1 InvertDO Inverse la
valeur d'un signal de sortie numérique ........... ........ 8InvertDO1 ISignalDI Ordonne des interruptions à
partir d'un signal d'entrée numérique ........ 8ISignalDI1 ISignalDO Interrompt à partir d'un signal de sortie
numérique .. ..................... 8ISignalDO1 ISleep Désactive une interruption................... ....................................
8ISleep1
ITimer Ordonne une interruption temporisée.................................. ............ 8ITimateur1
IWatch Active une interruption ................................................ ........... 8IWatch1
étiquette Nom de la ligne ................................................. .................................... 8label1
Load Charger un module de programme pendant l'exécution.............. 8Charger1
MoveAbsJ Déplace le robot vers une position d'articulation absolue............. 8MoveAbsJ1 MoveC
Déplace le robot de manière circulaire................ .................................. 8CoupC1
MoveJ Déplace le robot par mouvement articulaire.................................. 8CoupJ1
MoveL Déplace le robot linéairement............................................ ......... 8CoupL1
Ouvrir Ouvre un fichier ou un canal série.......................................... ...... 8Open1
PDispOff Désactive le déplacement du programme.............. 8PDispOff1 PDispOn Active déplacement
de programme.............................. 8PDispOn1 PDispSet Active le déplacement de programme à l'aide
d'une valeur ............ 8PDispSet1 ProcCall Appelle une nouvelle procédure ...................... ................................
8ProcCall1
PulseDO Génère une impulsion sur un signal de sortie numérique ...... 8PulseDO1
RAISE Appelle un gestionnaire d'erreurs ...................................... ............ 8LANCER1
Réinitialiser Réinitialise un signal de sortie numérique ....................................... ..... 8Réinitialiser1
RestoPath Restaure le chemin après une interruption ...................... 8RestoPath1 RETRY Redémarre
suite à une erreur... ................................................ 8RÉESSAYER1
RETOUR Termine l'exécution d'une routine ...................................... 8RETOUR1
SearchC Recherches circulaires à l'aide du robot.................................. 8RechercheC1
SearchL Recherche linéaire à l'aide du robot ...................................... 8RechercheL1
Set Définit un signal de sortie numérique ....................................... ............. 8Ensemble1
18 Manuel de référence RAPID
Machine Translated by Google
Page
SetAO Change la valeur d'un signal de sortie analogique .................. 8SetAO1
SetDO Modifie la valeur d'un signal de sortie numérique ...... 8SetDO1
SetGO Modifie la valeur d'un groupe de signaux de sortie numériques ..... 8SetGO1
SingArea Définit l'interpolation autour de points singuliers .................. 8SingArea1 SoftAct Activation
du servo soft .................. .................................... 8SoftAct1
SoftDeact Désactivation du servo soft ................................................ 8SoftDeAct1
StartMove Redémarre le mouvement du robot ....................................... ..... 8StartMove1
Stop Arrête l'exécution du programme.................................................. ............ 8Stop1
StopMove Arrête le mouvement du robot ...................................... .................. 8StopMove1 StorePath
Stocke le chemin lorsqu'une interruption se produit................. 8StorePath1 TEST En fonction de la
valeur d'une expression ... ........................ 8TEST1
TPErase Efface le texte imprimé sur le pendentif d'apprentissage ........ 8TPErase1
TPReadFK Lit les touches de fonction ...................................... ........ 8TPReadFK1 TPReadNum Lit un
nombre à partir du pendentif d'apprentissage................ 8TPReadNum1 TPWrite Écrit sur le pendentif
d'apprentissage ................................................ 8TPWrite1 TriggC Mouvement circulaire du robot avec
événements ................................ 8TriggC1
TriggEquip Définit un événement d'E/S à temps de position fixe.... 8TriggEquip1 TriggInt Définit un
événement lié à la position interrompre ................................ 8TriggInt1
TriggIO Définit un événement d'E/S à position fixe .................. . 8TriggIO1
TriggJ Mouvements du robot dans le sens des axes avec événements ...... 8TriggJ1
TriggL Mouvements linéaires du robot avec événements ...................... 8TriggL1
TRYNEXT Saute pardessus une instruction qui a provoqué une erreur8TRYNEXT1 TuneReset
Réinitialiser le réglage du servo................ .......................... 8TuneServo1 TuneServo Réglage des
servos ............... .................................................. 8 TuneServo1 UnLoad Décharge un module de
programme pendant l'exécution.................. 8Décharger1
VelSet Modifie la vélocité programmée .................................. 8VelSet1
WaitDI Attend jusqu'à ce qu'un signal d'entrée numérique soit défini.............. 8AttendezDI1
WaitDO Attend jusqu'à ce qu'un signal de sortie numérique soit défini ...... 8WaitDO1 WaitTime Attend
un certain temps. ....................................... 8Temps d'attente1
WaitUntil Attend jusqu'à ce qu'une condition soit remplie ................................ 8 Attendre jusqu'à1
WHILE Se répète aussi longtemps que ............................................ .................. 8PENDANT1
Écrire Écrit dans un fichier basé sur des caractères ou un canal série ...... 8Ecrire1
WriteBin Écrit sur un canal série binaire .................................. 8WriteBin1
9 Fonctions .................................................. .................................................. 91
Abs Obtient la valeur absolue.................................................. ................. 9Abs1
ACos Calcule la valeur de l'arc cosinus......................................... ... 9ACos1
Manuel de référence RAPID 19
Machine Translated by Google
Page
ASin Calcule la valeur de l'arc sinus ....................................................... ....... 9ASin1
ATan Calcule la valeur de l'arc tangente ...................................... 9ATan1
ATan2 Calcule la valeur de l'arc tangente2 ...................................... 9ATan21
CDate Lit la date actuelle sous forme de chaîne ...................................... 9CDate1
CJointT Lit les angles de joint actuels ......................................... 9CJointT1
ClkRead Lit une horloge utilisée pour le chronométrage .................................. 9 ClkRead1
Cos Calcule la valeur du cosinus.................................................. ........... 9Cos1
CPos Lit les données de position actuelle (pos) ...................................... 9CPos1
CRobT Lit les données de position actuelle (robtarget) ...................... 9CRobT1
CTime Lit l'heure actuelle sous forme de chaîne ...................................... 9CTime1
CTool Lit les données actuelles de l'outil ......................................... ....... 9CTool1
CWObj Lit les données de l'objet de travail actuel.................................. 9CWobj1
DefDFrame Définir un cadre de déplacement................................. 9 DefDFrame1
DefFrame Définir un cadre ................................................ .................... 9DefFrame1
Dim Obtient la taille d'un tableau ................................................ ................ 9Dim1
DOutput Lit la valeur d'un signal de sortie numérique ...... 9DOutput1 EulerZYX Récupère les
angles d'Euler à partir de l'orient ...... ................................ 9EulerZYX1 Exp Calcule la valeur
exponentielle....... ....................................... 9Exp1
GetTime Lit l'heure actuelle sous la forme d'une valeur numérique................. 9GetTime1
GOutput Lit la valeur d'un groupe de signaux de sortie numériques ..... 9GOutput1
IndInpos Statut de position Indépendante ...................................... 9IndInpos1
IndSpeed Etat de la vitesse indépendante.............................. ....... 9VitInd1
IsPers Est persistant .................................................. ............................. 9IsPers1
IsVar Est variable ................................................ ................................ 9EstVar1
MirPos Mise en miroir d'une position............................................ ........... 9MirPos1
NumToStr Convertit une valeur numérique en chaîne ................................ 9NumToStr1
Offs Déplace la position d'un robot............................................ ............ 9Offs1
OpMode Lire le mode de fonctionnement............................................ ..... 9OpMode1 OrientZYX
Construit un orient à partir des angles d'Euler .................. 9OrientZYX 1 ORobT Supprime un
déplacement de programme d'une position ......... 9ORobT1
PoseInv Inverse la pose ............................................. ..................... 9PoseInv1
PoseMult Multiplie les données de pose ....................................... ........... 9PoseMult1 PoseVect
Applique une transformation à un vecteur .......................... ... 9PoseVect1 Pow Calcule la
puissance d'une valeur .................................. ............ 9Pow1
Présent Teste si un paramètre optionnel est utilisé .................................. 9Présent1
ReadBin Lit à partir d'un canal série binaire ................................ 9ReadBin1
110 Manuel de référence RAPID
Machine Translated by Google
Page
ReadMotor Lit les angles actuels du moteur ................................ 9ReadMotor1
ReadNum Lit un nombre à partir d'un fichier ou du canal série ....... 9ReadNum1
ReadStr Lit une chaîne à partir d'un fichier ou d'un canal série .................. 9ReadStr1
RelTool Faire un déplacement par rapport à l'outil ......................... 9RelTool1
Arrondi Arrondi est une valeur numérique ......................................... ......... 9Tour1
RunMode Lire le mode d'exécution ................................................ ...... 9Mode d'exécution1
Sin Calcule la valeur du sinus......................................................... ................ 9Péché1
Sqrt Calcule la valeur de la racine carrée................................................ .. 9place1
StrFind Recherche un caractère dans une chaîne .................................. 9StrFind1
StrLen Obtient la longueur de la chaîne ................................................ .............. 9StrLen1
StrMap Mappe une chaîne ................................................ ......................... 9StrMap1
StrMatch Recherche d'un modèle dans la chaîne ...................................... ...... 9StrMatch1 StrMemb Vérifie
si un caractère appartient à un ensemble ...................... 9 StrMemb1 StrOrder Vérifie si les chaînes sont
ordonnées ......................................... .. 9StrOrder1 StrPart Trouve une partie d'une
chaîne............................... ..................... 9StrPart1
StrToVal Convertit une chaîne en une valeur ....................................... .. 9StrToVal1 Tan Calcule la valeur
de la tangente ..................................... ............... 9Tan1
TestDI Teste si une entrée numérique est définie.......................................... ........ 9TestDI1
Trunc Tronque une valeur numérique................................................ ....... 9Tronc1
ValToStr Convertit une valeur en chaîne ................................................ .. 9ValToStr1 10 Données et
programmes prédéfinis.............................................. ...................... 101 1 Utilisateur du module
système ...................... .................................................. ..................... 103
1.1 Contenu .................................................. .................................................. ...... 103
1.2 Créer de nouvelles données dans ce module............................................ ....................... 103 1.3
Effacement de ces données .................... .................................................. ..................... 104
11 Programmation hors ligne.............................................. .................................. 111 1 Programmation hors
ligne ............ .................................................. .................................. 113 1.1 Format de
fichier .................. .................................................. .................................. 113
1.2 Édition.................................................. .................................................. ......... 113 1.3 Vérification de la
syntaxe .................................. .................................................. ............ 113
1.4 Exemples................................................................. .................................................. ..... 114 1.5 Création
de vos propres instructions ..................................... .................................. 114
12
13 Arcware .................................................................. .................................................. 13 1
données de couture Données de couture .................................. ................................ 13données de couture1
weavedata Données de tissage .................................................. ....................... 13weavedata1
Manuel de référence RAPID 111
Machine Translated by Google
Page
données de soudure Données de soudure .................................. ................................ 13données de soudure1
ArcC Soudage à l'arc avec mouvement circulaire......................................... 13ArcC1
ArcL Soudage à l'arc avec mouvement linéaire ....................................... . 13ArcL1
14 Spotware.................................................. .................................................. 14 1
gundata Données du pistolet de soudage par points .................................. ................ 14gundata1 spotdata
Données de soudage par points ...................... ................................................ 14spotdata1 SpotL Soudage
par points avec mouvement .................................................. ...... Module
système 14SpotL1 SWUSER ...................................... ....................... 14SWUSER1 Module système
SWUSRC.................. .................................................. 14 Module système SWUSRC1
SWTOOL ................................................ ..................... 14SWTOOL1
15 GlueWare................................................ .................................................. 15 1
ggundata Données du pistolet à encoller ...................................... .................. 15ggundata1 GlueC Collage
avec mouvement circulaire.......................... ................................ 15GlueC1
GlueL Collage avec mouvement linéaire.................................. ............. 15GlueL1
Module système GLUSER ............................................... .................... 15GLUSER1
16
17
18 Référence rapide.................................................. .................................. 181 1 La fenêtre
Jogging ...... .................................................. .................................. 183 1.1 Fenêtre :
Jogging ........ .................................................. .................................. 183 2 La fenêtre Entrées/
Sorties ........ .................................................. .................. 184 2.1 Fenêtre : Entrées/
Sorties.............. .................................................. ....... 184 3 La fenêtre du
programme .................................. .................................................. .... 186
3.1 Déplacement entre les différentes parties du programme .................................................. . 186
3.2 Menus généraux ....................................................... ............................................... 187
3.3 Fenêtre : Programme Instr................................................. .................................. 1810 3.4 Fenêtre :
Routines de programme ...... .................................................. .................. 1811 3.5 Fenêtre : Données du
données du programme ................ .................................................. .. 1815 3.7 Fenêtre : Test du
programme ......................................... ....................................... 1816 3.8 Fenêtre : Programmer les
modules. .................................................. ....................... 1817 4 La fenêtre de
production .................................. .................................................. ............... 1818
4.1 Fenêtre : Production .................................................. ....................................... 1818
5 Le gestionnaire de fichiers.............................................. .................................................. 1820
5.1 Fenêtre : Gestionnaire de fichiers ....................................... ....................................... 1820
112 Manuel de référence RAPID
Machine Translated by Google
Page
6 La fenêtre de service.................................................. ............................................... 1822
6.1 Menus généraux .................................................. .................................................. 18 22
6.2 Journal d'entretien de la fenêtre .................................. .................................. 1824 6.3 Étalonnage
du service de la fenêtre ...... .................................................. ................ 1825
6.4 Commutation de service de fenêtre .................................................. ....................... 1826
7 Les paramètres du système .................................................. .................................................. 1827 7.1
Fenêtre : Paramètres système . .................................................. ..................... 1827
19 Fonctionnalité spéciale de ce robot
20 Index, glossaire ......................................... ............................................... 201
Manuel de référence RAPID 113
Machine Translated by Google
114 Manuel de référence RAPID
Machine Translated by Google
INDICE
UN CallByVar 8CallByVar1
appelant un sousprogramme 36
Abs 9Abs1 Mouvement circulaire
valeur absolue 9Abs1
CDate 9CDate1 615, 8MoveC1
réduction de l'accélération 8AccSet1 CJointT 9CJointT1
AccSet 8AccSet1 Effacer 8Effacer1
ACos 9ACos1 ClkRead 9ClkRead1
ActUnit 8ActUnit1 ClkReset 8ClkReset1
Ajouter 8Add1 ClkStart 8ClkStart1
agrégat 518 type ClkStop 8ClkStop1
de données alias 518 horloge 7horloge1
jeu de sortie lecture 9ClkRead1
analogique 8SetAO1 réinitialisation 8
ET 527 ClkReset1 démarrage
soudage à l'arc 13ArcC1, 13ArcL1 8ClkStart1 arrêt 8ClkStop1
ArcC 13ArcC1 Fermer 8Fermer1
ArcL 13ArcL1
commentaire 38, 55, 8commentaire1
arcus cosinus 9ACos1
unité d'entraînement commune 8ActUnit1, 8
arcus sinus 9ASin1
arcus tangente 9ATan1, 9ATan21 DeActUnit1 communication
argument 338 instructions de communication 321
conditionnel 529
Compact IF 8Compact IF1
arithmétique 8:=1
composant d'un enregistrement
expression arithmétique 526 518 exécution simultanée 628
tableau 521, 522 condition 8IF1
obtenir la taille 9Dim1 argument conditionnel 529
ASin 9ASin1 confdata 7confdata1
affectation d'une valeur aux instructions de vérification de la configuration 311
données 38 affectation 8:=1 ConfJ 8ConfJ1
ATan 9ATan1 ConfLConfL1
Configuration des axes CONNECTER 8CONNECTER1
ATan2 9ATan21 632 CONST 522
constante 520
B
système de coordonnées
exécution à rebours 537 63 axes externes coordonnés 67
Gestionnaire arrière 115 chemin d'angle 616, 7zonedata1
gestionnaire arrière 513, 537, 539, 541, 5 42, 544 Cos 9Cos1
système mouvement continu 8IndCMove1
CPos 9CPos1
de coordonnées de base 63 bool
7bool1 Remplissage de cratères 13Seamdata6
Pause 8Pause1 Croix CRobT 9CRobT1
639
C CHeure 9CHeure1
CTool 9CTool1
C_MOTSET 7Données système1
CWobj 9CWobj1
C_PROGDISP 7Données système1
appel 8ProcCall1
Manuel de référence RAPID 201
Machine Translated by Google
D EulerZYX 9EulerZYX1
SORTIE 8SORTIE1
données
Exp 9Exp1
520 utilisées dans l'expression
valeur exponentielle 9Exp1, 9Pow1
528 type de expression 526
données 518 date 9CDate1
axes externes
DeactUnit 8DeActUnit1 activer 8ActUnit1
déclaration coordonné 67
constante 522 désactiver 8DeActUnit1
module 59
extjoint 7extjoint1
persistante 522
routine 513 F
variable 521
Decr 8Decr1
fichier fermer 8
diminue la vitesse 8VelSet1
décrémente 8Decr1 Fermer1 charger
DefDFrame 9DefDFrame1 8Charger1
DefFrame 9DefFrame1 ouvrir 8Ouvrir1 lire 9ReadBin1, 9ReadNum1, 9
ReadStr1
sortie numérique 9DOutput1
déchargement 8
impulsion 8PulseDO1
reset 8Reset1 UnLoad1 écriture 8Write1, 8
WriteBin1 en
set 8Set1, 8SetDO1
Dim 9Dim1 tête de fichier 55
dionum 7dionum1 instructions de fichier
position 321 fin 7zonedata1 point de survol 7zonedata1
FOR 8FOR1
de déplacement 9
trame 9DefFrame1
Offs1 direction
de l'outil de déplacement 9 fonction 511
appel de fonction 529
RelTool1 cadre de déplacement 66, 9DefDFrame1, 9
Instructions
g
de déplacement de DefFrame1 312
DIV 526 GetTime 9GetTime1
D Sortie 9D Sortie1 ggundata 15ggundata1
E
données
globales 520 routine 511
phase finale 13seamdata6
EOffsOff 8EOffsOff1 GlueC 15GlueC1
EOffsOn 8EOffsOn1 ColleL 15GlueL1
EOffsSet 8EOffsSet1 égal au
GlueWare 336
type de données 518
collage 15GlueC1, 15GlueL1
effacement de l'affichage du pendentif d'apprentissage 8TPErase1
pistolet de collage données 15ggundata1
GLUSER 15GLUSER1
ERRNO 533, 7Données système1
errnum 7errnum1 ALLER À 8ALLER À1
gestionnaire d'erreurs GOutput 9GOutput1
533 numéro d'erreur GripLoad 8GripLoad1
533 récupération groupe d'E/S 8SetGO1, 9GOutput1
d'erreur 533 nouvelle tentative 8RETRY1, 8TRYNEXT1 gundata 14gundata1
ErrEcrit 8ErrEcrit1
202 Manuel de référence RAPID
Machine Translated by Google
H IMinuterie 8IMinuterie1
IWatch 8IWatch1
chaleur 13couture4
J
je
mouvement articulaire 613, 8MoveJ1
Principes d'E/S 638 jump 8GOTO1
Synchronisation E/S 627
IDupprime 8IDupprime1 L
identifiant 53
IDésactiver 8IDésable1 étiquette 8
IEnable 8IEnable1 étiquette1 mouvement linéaire 614, 8MoveL1
Load 8Load1
IF 8Compact IF1, allumage 8
load
IF1 13seamdata3
Incr 8Incr1 activate payload 8GripLoad1
incrément 8Incr1 loaddata 7loaddata1
IndAMove 8IndAMove1
IndCMove 8IndCMove1 données locales
IndDMove 8IndRMove1 entrée 520 routine
indépendante 9IndInpos1, 9Ind 511 expression logique
Vitesse1 527 valeur logique 54, 7bool1
mouvement indépendant 8IndAMove1, 8Ind M
CMove1, 8IndRMove1
IndInpos 9IndInpos1, 9IndSpeed1 routine principale
IndReset 8IndReset1 58 instructions mathématiques 328, 341
IndRMove 8IndRMove1
vitesse maximale 8VelSet1 unité
IndSpeed 9IndSpeed1 mécanique 7mecunit1 activer 8
instructions d'entrée 319 ActUnit1 désactiver 8
interpolation 613 DeActUnit1 mecunit 7mecunit1
interruption 323, 535
activer 8IWatch1 à MirPos 9MirPos1
une position 8TriggInt1 miroir 9MirPos1
connecter 8CONNECT1 MOD 526
désactiver 8ISleep1 interpolation linéaire modifiée 616
supprimer 8IDelete1 module 58
désactiver 8IDisable1 déclaration 59
activer 8IEnable1 de instructions de mouvement
l'entrée numérique 8ISignalDI1 315 instructions de réglage de
identité 7intnum1 mouvement 310 motsetdata 7motsetdata1
temporisé 8ITimer1 MoveAbsJ 8MoveAbsJ1
INTNO 7Données système1 MoveC 8MoveC1
intnum 7intnum1 MoveJ 8MoveJ1
InvertDO 8InvertDO1 iodev DéplacerL 8DéplacerL1
7iodev1 mouvement
ISignalDI 8ISignalDI1 circulaire 8MoveC1
ISignalDO 8ISignalDO1 articulaire 8
ISleep 8ISleep1 MoveJ1 linéaire 8
IsPers 9IsPers1 MoveL1 multitâche 539
IsVar 9IsVar1
Manuel de référence RAPID 203
Machine Translated by Google
N Pow 9Pow1
Présent 9Présent1
type de données sans valeur 518 ProcCall 8ProcCall1
NOT 527
procédure 511
num 7num1
appel de procédure 8CallByVar1, 8ProcCall1
valeur numérique 54, 7num1
programme
NumToStr 9NumToStr1
58 données de
O programme 520 déplacement de
programme 312 activer 8
o_jointtarget 7o_jointtarget1 PDispOn1 désactiver 8
système de coordonnées d'objet 65, 7wobjdata1 PDispOff1 supprimer à partir de la
programmation hors ligne 113 position 9ORobT1 instructions de
Offs 9Offs1 déroulement du
décalage 9Offs1 programme 36 module de programme 58 programmation 113
ImpulsionDO 8ImpulsionDO1
Ouvrir
fichier 8Open1
Q
voie série 8Open1 mode
de fonctionnement quaternion 7orient2
lecture 9OpMode1
priorité R
opérateur 530
RAISE 8RAISE1
OpMode 9OpMode1
paramètre facultatif 512
OU 527 lecture de l'horloge 9
orient 7orient1 ClkRead1 date actuelle 9
OrientZYX 9OrientZYX1 CDate1 angles d'articulation actuels 9
ORobT 9ORobT1 CJointT1 position actuelle du robot 9
sortie à CRobT1 heure actuelle 9CTime1, 9
GetTime1 actuel données d'outil
une position 8TriggIO1
instructions de sortie 319 9CTool1 objet de travail actuel 9
CWobj1 sortie numérique 9
P DOutput1 fichier 9ReadBin1, 9ReadNum1, 9
Touche de
paramètre 512 fonction ReadStr1 8TPReadFK1
synchronisation de chemin 630 groupe de sorties 9GOutput1 canal
charge utile 7loaddata1 série 9ReadBin1, 9Read
activer 8GripLoad1 Num1, 9ReadStr1
PDispOff 8PDispOff1 ReadBin 9ReadBin1
PDispOn 8PDispOn1 ReadMotor 9ReadMotor1
PERS 522 LireNum 9LireNum1
persistant 520 ReadStr 9ReadStr1
placeholder 55 enregistrement 518
pos 7pos1 RelTool 9ATan21, 9DefFrame1, 9Op
pose 7pose1 Mode1, 9Pow1, 9RelTool1, 9
PoseInv 9PoseInv1 RunMode1
PoseMult 9PoseMult1
répéter 8FOR1, 8WHILE1 mots
instruction réservés 53
de position 315 Réinitialiser 8Réinitialiser1
position fixe E/S 630, 8TriggIO1 réinitialiser
204 Manuel de référence RAPID
Machine Translated by Google
système de mesure 8IndReset1 activation de 8SoftAct1
RestoPath 8RestoPath1 désactivation de 8SoftDeAct1
RÉESSAYER 8RÉESSAYER1 SoftAct 8SoftAct1
RETOUR 8RETOUR1 SoftDeact 8SoftDeAct1
configuration du robot 632 speeddata 7speeddata1
position du robot 7o_robtarget1, 7robtarget1 robtarget données du pistolet de soudage par points
7o_robtarget1, 7robtarget1 14gundata1 soudage par points 330,
Round 9Round1 14SpotL1 spotdata 14spotdata1
routine 511 SpotL 14SpotL1
déclaration 513 Sqrt 9Sqrt1
routine call 8ProcCall1 routine racine carrée 9Sqrt1
data 520 StartMove 8StartMove1
RunMode 9RunMode1 lecture stationnaire TCP 610
du mode de Arrêt 8Stop1
fonctionnement 9RunMode1 point d'arrêt 7zonedata1
StopMove 8StopMove1 arrêt
S
de l'exécution du programme 37
chronomètre 7clock1, 8ClkStart1
données
StorePath 8StorePath1
de portée portée 520
StrFind 9StrFind1
routine portée 511 données
de couture 13données de couture1
chaîne 54, 7chaîne1
SearchC 8SearchC1 expression de chaîne 527
StrLen 9StrLen1
instructions de recherche 315
SearchL 8SearchL1 type StrMap 9StrMap1
StrMatch 9StrMatch1
de données semivaleur 518
StrMemb 9StrMemb1
fermeture de
StrOrder 9StrOrder1
canal série 8
StrPart 9StrPart1
Close1 file 8
Commutateur StrToVal 9
WriteBin1 open 8
StrToVal1
Open1 read 9ReadBin1, 9ReadNum1, 9
ReadStr1 512 symnum 7symnum1
écriture 8Write1 règles de syntaxe
Ensemble 8Ensemble1
24 données système 7System
SetAO 8SetAO1 data1 module système 59
SetDO 8SetDO1 J
SetGO 8SetGO1
signalai 7signalxx1 Tan 9Tan1
signalao 7signalxx1 TCP 63
signaldi 7signalxx1 fixe 610
signaldo 7signalxx1 ESSAI 8ESSAI1
signalgi 7signalxx1 TestDI 9TestDI1
signalgo 7signalxx1 chaîne de texte 7string1
collage simulé 15GlueC5, 15GlueL7 simulation de temps 9CTime1, 9GetTime1
soudage par points 14SpotL7 instructions de temps 327
Péché 9Péché1 point central de l'outil 63
SingArea 8SingArea1 système de coordonnées de l'outil
singularité 636 69 tooldata 7tooldata1
servo souple 312, 624 TPErase 8TPErase1
TPReadFK 8TPReadFK1
TPReadNum 8TPReadNum1
Manuel de référence RAPID 205
Machine Translated by Google
Routine d'interruption objet de travail 7wobjdata1
TPWrite 8TPWrite1 511, 535 système de coordonnées universel
TriggC 8TriggC1 données de 64 système de coordonnées du poignet 69
déclenchement 7données de déclenchement1 Écrire le message
TriggEquip 8TriggEquip1
TriggInt 8TriggInt1 d'erreur d'écriture 8Write1 8ErrWrite1
TriggIO 8TriggIO1 sur le pendentif d'apprentissage 8TPWrite1
TriggJ 8TriggJ1 WriteBin 8WriteBin1
TriggL 8TriggL1
X
Tronçon 9tronc1
TRYNEXT 8TRYNEXT1
OU exclusif 527
TuneReset 8TuneServo1
TuneServo 8TuneServo1 Z
tunetype 7tunetype1
zonedata 7zonedata1
conventions typographiques 24
tu
Décharger 8Décharger1
Utilisateur module système 103
système de coordonnées utilisateur 65, 7wobjdata1
ValToStr 9ValToStr1 VAR
521 variable
520 vitesse 7
speeddata1 diminution 8
VelSet1 max. 8VelSet1
VelSet 8VelSet1
attendre un temps spécifique 8WaitTime1
toute condition 8WaitUntil1 entrée
numérique 8WaitDI1 sortie
numérique 8WaitDO1 jusqu'à
ce que le robot soit en position 8WaitTime
1
attendre les instructions 38
WaitDI 8WaitDI1
WaitDO 8WaitDO1
Temps d'attente 8Temps d'attente1
WaitUntil 8WaitUntil1
weavedata 13weavedata1
welddata 13welddata1
TANT QUE 8TANTQUE1
wobjdata 7wobjdata1
206 Manuel de référence RAPID
Machine Translated by Google
Introduction
CONTENU
Page
1 Autres manuels .................................................................. .................................................. ................ 3
2 Comment lire ce manuel .................................................. .................................................. 3
2.1 Conventions typographiques .................................................. ........................................ 4
2.2 Règles de syntaxe ....................................................... .................................................. ........... 4
2.3 Syntaxe formelle ....................................................... .................................................. ........ 5
Manuel de référence RAPID 21
Machine Translated by Google
Introduction
22 Manuel de référence RAPID
Machine Translated by Google
Introduction
Introduction
Il s'agit d'un manuel de référence contenant une explication détaillée du langage de programmation
ainsi que tous les types de données, instructions et fonctions. Si vous programmez hors ligne, ce
manuel vous sera particulièrement utile à cet égard.
Lorsque vous commencez à programmer le robot, il est normalement préférable de commencer par le Guide de
l'utilisateur jusqu'à ce que vous soyez familiarisé avec le système.
1 Autres manuels
Avant d'utiliser le robot pour la première fois, vous devez lire Fonctionnement de base. Cela vous fournira
les bases du fonctionnement du robot.
Le Guide de l'utilisateur fournit des instructions étape par étape sur la façon d'effectuer diverses
tâches, telles que la façon de déplacer le robot manuellement, de programmer ou de démarrer un
programme lors de l'exécution de la production.
Le manuel du produit décrit comment installer le robot, ainsi que les procédures de maintenance et de
dépannage. Ce manuel contient également une spécification de produit qui donne un aperçu des
caractéristiques et des performances du robot.
2 Comment lire ce manuel
Pour répondre aux questions Quelle instruction doisje utiliser ? ou Que signifie cette instruction ?, voir
Chapitre 3 : Résumé RAPID. Ce chapitre décrit brièvement toutes les instructions, fonctions et types
de données regroupés conformément aux listes de sélection d'instructions que vous utilisez lors de la
programmation. Il comprend également un résumé de la syntaxe, ce qui est particulièrement utile lors
de la programmation hors ligne.
Chapitre 5 : Caractéristiques de base explique les détails internes de la langue. Vous ne devriez
normalement pas lire ce chapitre à moins d'être un programmeur expérimenté.
Chapitre 6 : Principes de mouvement et d'E/S décrit les différents systèmes de coordonnées du robot, sa
vitesse et d'autres caractéristiques de mouvement lors de différents types d'exécution.
Les chapitres 7 à 9 décrivent tous les types de données, instructions et fonctions. Ils sont décrits par
ordre alphabétique pour votre commodité.
Ce manuel décrit toutes les données et tous les programmes fournis avec le robot à la livraison. En plus
de ceuxci, il existe un certain nombre de données et de programmes prédéfinis fournis avec le robot,
soit sur disquette, soit parfois déjà chargés. Chapitre 10 : Données et programmes prédéfinis décrit ce
qui se passe lorsque ceuxci sont chargés dans le robot.
Si vous programmez hors ligne, vous trouverez quelques conseils au Chapitre 11 : Programmation hors
ligne.
Le chapitre 1315 décrit la fonctionnalité lorsque le robot est équipé de Process
Manuel de référence RAPID 23
Machine Translated by Google
Introduction
Ware, c'estàdire ArcWare, SpotWare et GlueWare.
Si vous voulez savoir ce que fait une commande de menu particulière, vous devez vous référer au Chapitre 18 :
Aidemémoire. Ce chapitre peut également être utilisé comme guide de poche lorsque vous travaillez avec le
robot.
Pour faciliter la localisation et la compréhension, le chapitre 20 contient un index et un glossaire.
Si le robot est livré ou mis à niveau avec des fonctionnalités supplémentaires, cela est décrit au Chapitre 19 :
Fonctionnalités spéciales de ce robot.
2.1 Conventions typographiques
Les commandes situées sous l'une des cinq touches de menu en haut de l'affichage du pendentif d'apprentissage
sont écrites sous la forme Menu : Commande. Par exemple, pour activer la commande Imprimer du menu Fichier,
choisissez Fichier : Imprimer.
Les noms sur les touches de fonction et dans les champs de saisie sont indiqués en caractères italiques gras,
par exemple Modpos.
Les mots appartenant au langage de programmation proprement dit, tels que les noms d'instructions, sont écrits
en italique, par exemple MoveL.
Les exemples de programmes sont toujours affichés de la même manière qu'ils sont sortis sur une disquette ou
une imprimante. Cela diffère de ce qui est affiché sur le pendentif d'apprentissage des manières suivantes :
Certains mots de contrôle qui sont masqués dans l'affichage du pendentif d'apprentissage sont
imprimés, par exemple les mots indiquant le début et la fin d'une routine.
Les déclarations de données et de routine sont imprimées sous la forme formelle,
par exemple VAR num reg1;.
2.2 Règles de syntaxe
Les instructions et les fonctions sont décrites en utilisant à la fois une syntaxe simplifiée et une syntaxe
formelle. Si vous utilisez le pendentif d'apprentissage pour programmer, vous n'avez généralement besoin de
connaître que la syntaxe simplifiée, car le robot s'assure automatiquement que la bonne syntaxe est utilisée.
24 Manuel de référence RAPID
Machine Translated by Google
Introduction
Syntaxe simplifiée
Exemple:
TPEcrit Chaîne [\Num] | [\Bool] | [\Pos] | [\Orient]
Les arguments facultatifs sont entre crochets [ ]. Ces arguments peuvent
être omis.
Les arguments qui s'excluent mutuellement, c'estàdire qui ne peuvent pas exister en même temps
dans l'instruction, sont séparés par une barre verticale |.
Les arguments qui peuvent être répétés un nombre arbitraire de fois sont entourés
d'accolades { }.
2.3 Syntaxe formelle
Exemple: TPÉcriture
[Chaîne' :='] <expression (IN) de chaîne>
['\'Num':=' <expression (IN) de num> ] |
['\'Bool':=' <expression (IN) de bool> ] |
['\'Pos':=' <expression (IN) de pos> ] |
['\'Orient':=' <expression (IN) d' orient> ]';'
Le texte entre crochets [ ] peut être omis.
Les arguments qui s'excluent mutuellement, c'estàdire qui ne peuvent pas exister en même temps
dans l'instruction, sont séparés par une barre verticale |.
Les arguments qui peuvent être répétés un nombre arbitraire de fois sont entourés
d'accolades { }.
Les symboles qui sont écrits afin d'obtenir la syntaxe correcte sont entourés de guillemets
simples (apostrophes) ' '.
Le type de données de l'argument (italique) et d'autres caractéristiques sont entre crochets <
>. Voir la description des paramètres d'une routine pour des informations plus détaillées.
Les éléments de base du langage et certaines instructions sont écrits à l'aide d'une syntaxe spéciale,
EBNF. Ceci est basé sur les mêmes règles, mais avec quelques ajouts.
Exemple: GOTO <identifiant>';'
<identifiant> ::= <identifiant>
| <ID>
<ident> ::= <lettre> {<lettre> | <chiffre> | '_'}
Le symbole ::= signifie est défini comme.
Le texte entre crochets < > est défini sur une ligne séparée.
Manuel de référence RAPID 25
Machine Translated by Google
Introduction
26 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE
CONTENU
Page
1 La structure de la langue .................................................. ....................................... 5 2 Contrôle du
déroulement du programme .. .................................................. .................................... 6
2.1 Principes de programmation .................................................. .................................................. 6
2.2 Appel d'une autre routine .................................................. ................................................ 6
2.3 Contrôle du programme dans la routine ................................................ .................................. 6 2.4
Arrêt de l'exécution du programme .................. .................................................. ............... 7
3 Consignes diverses.................................................................. .................................................. ....... 8
3.1 Affectation d'une valeur à une donnée.......................................... .................................................. 8
3.2 Attendre .... .................................................. .................................................. ............... 8
3.3 Commentaires.................................................. .................................................. ............ 8
3.4 Chargement des modules de programme.............................................. ....................................... 8
3.5 Fonctions diverses........ .................................................. ....................................... 9
3.6 Données de base .................................................. .................................................. .............. 9
4 Paramètres de mouvement.............................................. .................................................. ............... dix
4.1 Principes de programmation .................................................. .................................................. 10 4.2
Définition de la vitesse ..... .................................................. .................................................. 10 4.3
Définition de l'accélération .. .................................................. .................................................. 11 4.4
Définition de la gestion de la configuration.... .................................................. ............... 11 4.5 Définition
de la charge utile .................................. .................................................. ............. 11 4.6 Définition du
comportement aux abords des points singuliers .................................. .................................. 11 4.7
Déplacer un programme ................ .................................................. .................................. 12 4.8 Servo
souple .................. .................................................. ....................................... 12
4.9 Ajuster les valeurs de réglage du robot............................................ .................................. 12 4.10
Données pour les paramètres de mouvement ....... .................................................. ....................... 13
5 Mouvement .................................................. .................................................. ................................ 14
5.1 Principes de programmation ....................................................... .................................................. 14
5.2 Instructions de positionnement ..... .................................................. .................................. 15 5.3
Recherche ............. .................................................. .................................................. 15 5.4 Activation
de sorties ou d'interruptions à des positions spécifiques ...................................... 15 5.5 Commande de
mouvement en cas d'erreur/d'interruption.............................. ............... 16 5.6 Pilotage d'axes
externes .................................. .................................................. ....... 16 5.7 Axes
indépendants ....................................................... .................................................. ......... 16 5.8 Fonctions
de positionnement .................................. .................................................. ............ 17
5.9 Données de mouvement .................................................. .................................................. ........... 17
5.10 Données de base pour les mouvements.................................................. ....................................... 18
Manuel de référence RAPID 31
Machine Translated by Google
Résumé RAPIDE
Page
6 Signaux d'entrée et de sortie .................................................. .................................................. 19 6.1 Principes
de programmation .................................................. ....................................... 19 6.2 Modification de la valeur
d'un signal .................................................. ................................ 19 6.3 Lecture de la valeur d'un signal
d'entrée ....... .................................................. ...... 19 6.4 Lecture de la valeur d'un signal de
sortie ...................................... .................................. 19 6.5 Tester l'entrée sur les signaux de
sortie ...... .................................................. ................ 20 6.6 Données pour les signaux d'entrée et de
sortie .................. .................................................. 20
7 Communiquer................................................................ .................................................. ............. 21
7.1 Principes de programmation ....................................................... .................................................. 21 7.2
Communiquer avec le boîtier d'apprentissage .. .................................................. ........... 21 7.3 Lecture ou
écriture dans un canal/fichier série basé sur des caractères .................. .. 22 7.4 Communication à l'aide
de canaux série binaires.................................. ............... 22 7.5 Données pour les canaux
série ................................ .................................................. .......... 22
8 Interruptions.................................................. .................................................. ....................... 23
8.1 Principes de programmation ....................................................... .................................................. 23 8.2
Connexion des interruptions aux routines de déroutement .. .................................................. ............... 23
8.3 Ordonner des interruptions .................................. .................................................. ............... 24 8.4
Annulation des interruptions .................................. .................................................. ............ 24 8.5 Activation/
désactivation des interruptions .................................. .................................................. 24 8.6 Type de
données des interruptions.............................................. .................................................. 24 9 Récupération
d'erreur. .................................................. .................................................. ........... 25 9.1 Principes de
programmation .................................. .................................................. .... 25 9.2 Création d'une situation
d'erreur à partir du programme .................................................................. 25 9.3 Redémarrage/retour
depuis le gestionnaire d'erreurs.............................. .................. 26 9.4 Données pour le traitement des
erreurs .................. .................................................. .............. 26
10 Système et heure .................................................. .................................................. .............. 27 10.1 Principes
de programmation .................................. .................................................. .... 27 10.2 Utilisation d'une
horloge pour chronométrer un événement ...................... ...................................... 27 10.3 Lecture de l'heure
et de la date actuelles.... .................................................. ....................... 27
11 Mathématiques .................................................. .................................................. ................ 28
11.1 Principes de programmation .................................................. ....................................... 28 11.2 Calculs
simples sur des données numériques.... .................................................. ............. 28 11.3 Calculs plus
avancés .................................................. .................................................. 28
11.4 Fonctions arithmétiques.................................................. ............................................. 29
12 Soudage par points .................................................. .................................................. ................ 30
12.1 Caractéristiques du soudage par points .................................. .................................................. 30 12.2
Principes de SpotWare. .................................................. ..................................... 31
32 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE
Page
12.3 Principes de SpotWare Plus..................................................... .................................. 31 12.4
Principes de programmation ........... .................................................. .................. 32 12.5 Instructions
de soudage par points .................. .................................................. .............. 33 12.6 Données de
soudage par points ................................. .................................................. ............... 33
13 Soudage à l'arc.................................................. .................................................. .................. 34
13.1 Principes de programmation .................................................. ....................................... 34 13.2
Instructions de soudage à l'arc ...... .................................................. ............................... 34 13.3
Données de soudage à l'arc ...... .................................................. .................................. 35
14 GlueWare................................................ .................................................. ..................... 36
14.1 Caractéristiques de collage ................................................ .................................................. ..
36 14.2 Principes de programmation .................................................. ..................................................
36
14.3 Instructions de collage.... .................................................. .................................................. 36
14.4 Données de colle .................................................. .................................................. ............. 37
15 Communications avec un ordinateur externe.............................................. ............................. 38
15.1 Principes de programmation .................................................. ....................................... 38 15.2
Envoi d'un message commandé par programme depuis le robot à un ordinateur ................ 38
16 Consignes d'entretien .................................................. .................................................. ...... 39
16.1 Envoi d'une valeur au signal de test du robot ...................................... ................ 39
17 Fonctions de chaîne .................................................. .................................................. ........... 41
17.1 Opérations de base .................................................. .................................................. 41 17.2
Comparaison et recherche .................................................. .................................. 41 17.3
Conversion.......... .................................................. .................................................. 41
18 Résumé de la syntaxe .................................................. .................................................. .......... 43
18.1 Consignes .................................................. .................................................. ........ 43
18.2 Fonctions .................................................. .................................................. ........... 46
Manuel de référence RAPID 33
Machine Translated by Google
Résumé RAPIDE
Page
34 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE La structure de la langue
1 La structure de la langue
Le programme se compose d'un certain nombre d'instructions qui décrivent le travail du robot.
Ainsi, il existe des instructions spécifiques pour les différentes commandes, comme une pour déplacer le robot, une pour
définir une sortie, etc.
Les instructions ont généralement un certain nombre d'arguments associés qui définissent ce qui doit se passer dans
une instruction spécifique. Par exemple, l'instruction de réinitialisation d'une sortie contient un argument qui définit
quelle sortie doit être réinitialisée ; par exemple Réinitialiser do5.
Ces arguments peuvent être spécifiés de l'une des manières suivantes :
en tant que valeur numérique, par exemple 5 ou
4,6 en tant que référence à des données, par
exemple reg1 en tant qu'expression, par exemple
5+reg1*2 en tant qu'appel de fonction, par exemple
Abs(reg1) en tant que valeur de chaîne, par exemple "Producing partie A"
Il existe trois types de routines : les procédures, les fonctions et les routines d'interruption.
Une procédure est utilisée comme sousprogramme.
Une fonction renvoie une valeur d'un type spécifique et est utilisée comme argument d'un
instruction.
Les routines d'interruption fournissent un moyen de répondre aux interruptions. Une routine d'interruption
peut être associée à une interruption spécifique ; par exemple, lorsqu'une entrée est définie, elle est
automatiquement exécutée si cette interruption particulière se produit.
Les informations peuvent également être stockées dans des données, par exemple des données d'outil (qui contiennent
toutes les informations sur un outil, telles que son TCP et son poids) et des données numériques (qui peuvent être
utilisées, par exemple, pour compter le nombre de pièces à traiter). Les données sont regroupées en différents types de
données qui décrivent différents types d'informations, telles que les outils, les positions et les charges. Comme ces
données peuvent être créées et affectées de noms arbitraires, il n'y a pas de limite (sauf celle imposée par la
mémoire) sur le nombre de données. Ces données peuvent exister soit globalement dans le programme, soit localement
dans une routine.
Il existe trois types de données : les constantes, les variables et les persistantes.
Une constante représente une valeur statique et ne peut recevoir une nouvelle valeur que manuellement.
Une variable peut également se voir attribuer une nouvelle valeur pendant l'exécution du programme.
Une persistante peut être décrite comme une variable « persistante ». Lorsqu'un programme est enregistré,
la valeur d'initialisation reflète la valeur actuelle de la persistance.
Les autres fonctionnalités du langage sont :
Paramètres de routine
Expressions arithmétiques et logiques
Traitement automatique des erreurs
Programmes modulaires
Multitâches
Manuel de référence RAPID 35
Machine Translated by Google
Contrôle du déroulement du programme Résumé RAPIDE
2 Contrôle du déroulement du programme
Le programme est exécuté en règle générale de manière séquentielle, c'estàdire instruction par instruction.
Parfois, des instructions qui interrompent cette exécution séquentielle et appellent une autre instruction sont
nécessaires pour gérer différentes situations pouvant survenir lors de l'exécution.
2.1 Principes de programmation
Le déroulement du programme peut être contrôlé selon cinq principes différents :
En appelant une autre routine (procédure) et, lorsque cette routine a été exécutée, en poursuivant
l'exécution avec l'instruction suivant l'appel de la routine.
En exécutant des instructions différentes selon qu'une condition donnée est satisfaite ou non.
En répétant une séquence d'instructions un certain nombre de fois ou jusqu'à ce qu'une condition
donnée soit satisfaite.
En se rendant sur un label au sein d'une même routine.
En arrêtant l'exécution du programme.
2.2 Appel d'une autre routine
Instruction Habitué:
ProcAppel Appeler (passer à) une autre routine
AppelParVar Procédures d'appel avec des noms spécifiques
RETOUR Retour à la routine d'origine
2.3 Contrôle du programme dans la routine
Instruction Habitué:
SI compact Exécute une instruction uniquement si une condition est satisfaite
SI Exécuter une séquence d'instructions différentes selon qu'une condition est
satisfaite ou non
POUR Répéter une section du programme plusieurs fois
ALORS QUE Répéter une séquence d'instructions différentes tant qu'une condition donnée
est satisfaite
TEST Exécute différentes instructions en fonction de la valeur d'une expression
ALLER À Accéder à une étiquette
étiqueter Spécifiez une étiquette (nom de ligne)
36 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Contrôle du déroulement du programme
2.4 Arrêt de l'exécution du programme
Instruction Habitué:
Arrêt Arrêter l'exécution du programme
SORTIE Arrêter l'exécution du programme lorsqu'un redémarrage du programme n'est pas autorisé
Casser Arrêter temporairement l'exécution du programme à des fins de débogage
Manuel de référence RAPID 37
Machine Translated by Google
Instructions diverses Résumé RAPIDE
3 instructions diverses
Diverses instructions sont utilisées pour
affecter des valeurs aux
données attendre un certain temps ou attendre qu'une condition soit satisfaite insérer un
commentaire dans le programme charger des
modules de programme.
3.1 Attribuer une valeur aux données
Les données peuvent être affectées d'une valeur arbitraire. Il peut, par exemple, être initialisé avec une valeur constante,
par exemple 5, ou mis à jour avec une expression arithmétique, par exemple reg1+5*reg3.
Instruction Habitué:
:= Attribuer une valeur aux données
3.2 Attendre
Le robot peut être programmé pour attendre un temps donné, ou pour attendre qu'une condition arbitraire soit satisfaite ;
par exemple, pour attendre qu'une entrée soit activée.
Instruction Habitué:
Temps d'attente Attendre un certain temps ou attendre que le robot arrête de bouger
Attendre jusqu'à Attendre qu'une condition soit satisfaite
WaitDI Attendre qu'une entrée numérique soit définie
AttendezDO Attendre qu'une sortie numérique soit définie
3.3 Commentaires
Les commentaires ne sont insérés dans le programme que pour augmenter sa lisibilité. L'exécution du programme n'est
pas affectée par un commentaire.
Instruction Habitué:
commentaire Commentez le programme
3.4 Chargement des modules de programme
Les modules de programme peuvent être chargés à partir de la mémoire de masse ou effacés de la mémoire de programme.
38 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Instructions diverses
ory. De cette façon, de grands programmes peuvent être traités avec seulement une petite mémoire.
3.5 Fonctions diverses
Fonction Habitué:
OpMode Lire le mode de fonctionnement actuel du robot
Mode course Lire le mode d'exécution du programme actuel du robot
Faible Obtenir les dimensions d'un tableau
Cadeau Savoir si un paramètre optionnel était présent lors d'un appel de routine
IsPers Vérifier si un paramètre est un persistant
EstVar Vérifier si un paramètre est une variable
Charger Charger un module de programme dans la mémoire programme
Décharger Décharger un module de programme de la mémoire programme
3.6 Données de base
Type de données Utilisé pour définir :
bourdonner
Données logiques (avec les valeurs true ou false)
nombre Valeurs numériques (décimal ou entier)
symnum Données numériques à valeur symbolique
chaîne Chaînes de caractères
changer Paramètres de routine sans valeur
Manuel de référence RAPID 39
Machine Translated by Google
Paramètres de mouvement Résumé RAPIDE
4 paramètres de mouvement
Certaines des caractéristiques de mouvement du robot sont déterminées à l'aide d'instructions logiques qui s'appliquent
à tous les mouvements :
Vitesse maximale et dépassement de vitesse
Accélération
Gestion de différentes configurations de robots
Charge utile
Comportement proche des points singuliers
Déplacement de programme
Servo souple
Valeurs de réglage
4.1 Principes de programmation
Les caractéristiques de base du mouvement du robot sont déterminées par les données spécifiées pour chaque instruction
de positionnement. Certaines données, cependant, sont spécifiées dans des instructions séparées qui s'appliquent à tous
les mouvements jusqu'à ce que ces données changent.
Les paramètres de mouvement généraux sont spécifiés à l'aide d'un certain nombre d'instructions, mais peuvent
également être lus à l'aide de la variable système C_MOTSET ou C_PROGDISP.
Les valeurs par défaut sont automatiquement définies (en exécutant la routine SYS_RESET dans le module système
BASE)
lors d'un démarrage à
froid, lors du chargement d'un nouveau
programme, lors du démarrage du programme depuis le début.
4.2 Définition de la vitesse
La vitesse absolue est programmée comme argument dans l'instruction de positionnement. De plus, la vitesse maximale
et le dépassement de vitesse (un pourcentage de la vitesse programmée) peuvent être définis.
Instruction Utilisé pour définir :
VelSet La vitesse maximale et le dépassement de vitesse
310 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Paramètres de mouvement
4.3 Définition de l'accélération
Lors de la manipulation de pièces fragiles par exemple, l'accélération peut être réduite sur une partie du
programme.
Instruction Utilisé pour définir :
AccSet L'accélération maximale
4.4 Définition de la gestion de la configuration
La configuration du robot est normalement vérifiée pendant le mouvement. Si un mouvement d'articulation
(axe par axe) est utilisé, la configuration correcte sera obtenue. Si un mouvement linéaire ou circulaire est
utilisé, le robot se déplacera toujours vers la configuration la plus proche, mais une vérification est effectuée
pour voir si elle est la même que celle programmée. Il est cependant possible de changer cela.
Instruction Utilisé pour définir :
ConfJ Contrôle de configuration activé/désactivé pendant le mouvement de l'articulation
ConfL Vérification de la configuration activée/désactivée pendant le mouvement linéaire
4.5 Définition de la charge utile
Pour obtenir les meilleures performances du robot, la charge utile correcte doit être définie.
Instruction Utilisé pour définir :
GripLoad La charge utile de la pince
4.6 Définition du comportement près des points singuliers
Le robot peut être programmé pour éviter les points singuliers en modifiant automatiquement l'orientation
de l'outil.
Instruction Utilisé pour définir :
SingArea La méthode d'interpolation par points singuliers
Manuel de référence RAPID 311
Machine Translated by Google
Paramètres de mouvement Résumé RAPIDE
4.7 Déplacer un programme
Lorsqu'une partie du programme doit être déplacée, par exemple suite à une recherche, un déplacement
de programme peut être ajouté.
Instruction Habitué:
PDispOn Activer le déplacement du programme
PDispSet Activer le déplacement du programme en spécifiant une valeur
PDispOff Désactiver le décalage de programme
EOffsOn Activer un décalage d'axe externe
EOffsSet Activer un décalage d'axe externe en spécifiant une valeur
EOffsOff Désactiver un décalage d'axe externe
Fonction Habitué:
DefDFrame Calculer un déplacement de programme à partir de trois positions
DefFrame Calculer un déplacement de programme à partir de six positions
ORobT Supprimer le déplacement du programme d'une position
4.8 Servo souple
Un ou plusieurs des axes du robot peuvent être rendus "souples". Lors de l'utilisation de cette fonction, le
robot sera conforme et pourra remplacer, par exemple, un outil à ressort.
Instruction Habitué:
SoftAct Activer le soft servo pour un ou plusieurs axes
SoftDeact Désactiver le servo soft
4.9 Ajuster les valeurs de réglage du robot
En général, les performances du robot s'autooptimisent ; cependant, dans certains cas extrêmes, un
dépassement, par exemple, peut se produire. Vous pouvez ajuster les valeurs de réglage du robot pour
obtenir les performances requises.
Instruction Habitué:
TuneServo Ajuster les valeurs de réglage du robot
TuneReset Réinitialiser le réglage à la normale
type de mélodie Représenter le type de réglage sous la forme d'une constante symbolique
312 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Paramètres de mouvement
4.10 Données pour les paramètres de mouvement
Type de données Utilisé pour définir :
motsetdata Paramètres de mouvement sauf déplacement de programme
progdisp Déplacement de programme
Manuel de référence RAPID 313
Machine Translated by Google
Mouvement Résumé RAPIDE
5 Mouvement
Les mouvements du robot sont programmés comme des mouvements de pose à pose, c'estàdire « passer de la position
actuelle à une nouvelle position ». Le chemin entre ces deux positions est alors automatiquement calculé par le robot.
5.1 Principes de programmation
Les caractéristiques de mouvement de base, telles que le type de trajectoire, sont spécifiées en choisissant l'instruction de
positionnement appropriée.
Les caractéristiques de mouvement restantes sont spécifiées en définissant des données qui sont des arguments de
l'instruction :
Données de position (position finale pour le robot et les axes externes)
Données de vitesse (vitesse souhaitée)
Données de zone (précision de position)
Données d'outil (par exemple la position du TCP)
Données objet de travail (par exemple, le système de coordonnées actuel)
Certaines des caractéristiques de mouvement du robot sont déterminées à l'aide d'instructions logiques qui s'appliquent
à tous les mouvements (voir Paramètres de mouvement à la page 10) :
Vitesse maximale et dépassement de vitesse
Accélération
Gestion de différentes configurations de robots
Charge utile
Comportement proche des points singuliers
Déplacement de programme
Servo souple
Valeurs de réglage
Le robot et les axes externes sont positionnés en utilisant les mêmes instructions. Les axes externes sont déplacés à
vitesse constante et arrivent en position finale en même temps que le robot.
314 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Mouvement
5.2 Instructions de positionnement
Instruction Type de mouvement :
DéplacerC TCP se déplace le long d'un chemin circulaire
DéplacerJ Mouvement articulaire
DéplacerL TCP se déplace le long d'un chemin linéaire
DéplacerAbsJ Mouvement articulaire absolu
5.3 Recherche
Pendant le mouvement, le robot peut rechercher la position d'un objet de travail, par exemple. La position recherchée (indiquée par
un signal de capteur) est stockée et peut être utilisée ultérieurement pour positionner le robot ou pour calculer un déplacement
programmé.
Instruction Type de mouvement :
RechercherC TCP le long d'un chemin circulaire
RechercheL TCP le long d'un chemin linéaire
5.4 Activation de sorties ou d'interruptions à des positions spécifiques
Normalement, les instructions logiques sont exécutées lors du passage d'une instruction de positionnement à une autre. Si,
toutefois, des instructions de mouvement spéciales sont utilisées, elles peuvent être exécutées à la place lorsque le robot se trouve
à une position spécifique.
Instruction Habitué:
TriggIO1 Définir une condition de déclenchement pour définir une sortie à une position donnée
TriggInt1 Définir une condition de déclenchement pour exécuter une routine de déroutement à une
position donnée
TriggEquip1 Définissez une condition de déclenchement pour définir une sortie à une position donnée
avec la possibilité d'inclure une compensation temporelle pour le retard de l'équipement externe
DéclencheurC1 Exécutez le robot (TCP) de manière circulaire avec une condition de déclenchement
activée
DéclencheurJ1 Exécutez le robot axe par axe avec une condition de déclenchement activée
DéclencheurL1 Exécutez le robot (TCP) de manière linéaire avec une condition de déclenchement activée
Type de Utilisé pour définir :
données triggerdata1 Conditions de déclenchement
1. Uniquement si le robot est équipé de l'option "Fonctions avancées"
Manuel de référence RAPID 315
Machine Translated by Google
Mouvement Résumé RAPIDE
5.5 Commande de mouvement en cas d'erreur/d'interruption
Afin de corriger une erreur ou une interruption, le mouvement peut être arrêté temporairement puis redémarré.
Instruction Habitué:
StopMove Arrêtez les mouvements du robot
DémarrerDéplacer Redémarrer les mouvements du robot
StorePath1 Stocker le dernier chemin généré
RestoPath1 Régénérer un chemin stocké précédemment
1. Uniquement si le robot est équipé de l'option « Fonctions avancées ».
5.6 Commande d'axes externes
Le robot et les axes externes sont généralement positionnés en utilisant les mêmes instructions. Certaines
instructions, cependant, n'affectent que les mouvements des axes externes.
Instruction Habitué:
DésactUnité Désactiver une unité mécanique externe
ActUnit Activer une unité mécanique externe
5.7 Axes indépendants
L'axe 6 du robot, ou un axe externe, peut être déplacé indépendamment d'autres mouvements. La zone
de travail d'un axe peut également être réinitialisée, ce qui réduira les temps de cycle.
Fonction Habitué:
IndAMove2 Passer un axe en mode indépendant et déplacer l'axe vers une position
absolue
IndCMouve2 Passer un axe en mode indépendant et démarrer l'axe en mouvement continu
IndDMouve2 Passer un axe en mode indépendant et déplacer l'axe d'une distance
delta
IndRMove2 Changer un axe en mode indépendant et déplacer l'axe vers une position
relative (dans la révolution de l'axe)
IndReset2 Passer un axe en mode dépendant ou/et réinitialiser le fonctionnement
zone
IndInpos2 Vérifier si un axe indépendant est en position
IndVit2 Vérifier si un axe indépendant a atteint la vitesse programmée
2. Uniquement si le robot est équipé de l'option « Advanced Motion ».
316 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Mouvement
5.8 Fonctions de positionnement
Fonction Habitué:
Offs Ajouter un décalage à une position de robot, exprimé par rapport au repère objet
RelTool Ajouter un décalage, exprimé dans le système de coordonnées de l'outil
CPos Lire la position actuelle (uniquement x, y, z du robot)
CRobT Lire la position actuelle (le robtarget complet)
CJointT Lire les angles d'articulation actuels
LireMoteur Lire les angles actuels du moteur
CTool Lire la valeur actuelle des données d'outil
CWObj Lire la valeur actuelle de wobjdata
ORobT Supprimer un déplacement de programme d'une position
MirPos Refléter une position
5.9 Données de mouvement
Les données de mouvement sont utilisées comme argument dans les instructions de positionnement.
Type de Utilisé pour définir :
données robtarget La position finale
données de La position finale d'une instruction MoveAbsJ
vitesse cible conjointes La vitesse
données de zone La précision de la position (point d'arrêt ou point de survol)
données d'outil Le système de coordonnées de l'outil et la charge de l'outil
wobjdata Le système de coordonnées du repère objet
Manuel de référence RAPID 317
Machine Translated by Google
Mouvement Résumé RAPIDE
5.10 Données de base pour les mouvements
Type de données Utilisé pour définir :
position Une position (x, y, z)
Orient Une orientation
pose Un système de coordonnées (position + orientation)
confdata La configuration des axes du robot
extjoint La position des axes externes
robjoint La position des axes du robot
o_robtarget Position d'origine du robot lorsque Limit ModPos est utilisé
o_jointtarget Position d'origine du robot lorsque Limit ModPos est utilisé pour
DéplacerAbsJ
charger des données Une charge
mecunit Une unité mécanique externe
318 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Signaux d'entrée et de sortie
6 Signaux d'entrée et de sortie
Le robot peut être équipé d'un certain nombre de signaux utilisateur numériques et analogiques qui peuvent être lus
et modifiés depuis le programme.
6.1 Principes de programmation
Les noms des signaux sont définis dans les paramètres système et, à l'aide de ces noms, peuvent être lus à partir du
programme.
La valeur d'un signal analogique ou d'un groupe de signaux numériques est spécifiée sous forme de valeur
numérique.
6.2 Modification de la valeur d'un signal
Instruction Habitué:
InverserDO Inverser la valeur d'un signal de sortie numérique
ImpulsionDO Générer une impulsion sur un signal de sortie numérique
Réinitialiser Réinitialiser un signal de sortie numérique (à 0)
Ensemble
Définir un signal de sortie numérique (sur 1)
SetAO Modifier la valeur d'un signal de sortie analogique Modifier la
SetDO valeur d'un signal de sortie numérique (valeur symbolique ; par ex. haut/bas)
SetGO Modifier la valeur d'un groupe de signaux de sortie numériques
6.3 Lecture de la valeur d'un signal d'entrée
La valeur d'un signal d'entrée peut être lue directement, par exemple SI di1=1 ALORS ...
6.4 Lecture de la valeur d'un signal de sortie
Fonction Utilisé pour lire la valeur de :
DSortie Un signal de sortie numérique
GSortie Un groupe de signaux de sortie numériques
Manuel de référence RAPID 319
Machine Translated by Google
Signaux d'entrée et de sortie Résumé RAPIDE
6.5 Tester l'entrée sur les signaux de sortie
Instruction Habitué:
WaitDI Attendre qu'une entrée numérique soit définie ou réinitialisée
AttendezDO Attendre qu'une sortie numérique soit définie lors de la réinitialisation
Fonction Habitué:
TestDI Tester si une entrée numérique est définie
6.6 Données pour les signaux d'entrée et de sortie
Type de données Utilisé pour définir :
dionum La valeur symbolique d'un signal numérique
signalai Le nom d'un signal d'entrée analogique *
signalao Le nom d'un signal de sortie analogique *
signaldi Le nom d'un signal d'entrée numérique *
signaldo Le nom d'un signal de sortie numérique *
signalgi Le nom d'un groupe de signaux d'entrée numériques *
signalgo Le nom d'un groupe de signaux de sortie numériques *
* À définir uniquement à l'aide des paramètres système.
320 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Communication
7 Communications
Il existe quatre manières possibles de communiquer via des canaux série :
Des messages peuvent être affichés sur l'affichage du pendentif d'apprentissage et l'utilisateur peut
répondre à des questions, telles que le nombre de pièces à traiter.
Les informations basées sur des caractères peuvent être écrites ou lues à partir de fichiers texte sur la
mémoire de masse. Ainsi, par exemple, les statistiques de production peuvent être stockées et traitées
ultérieurement sur un PC. Les informations peuvent également être imprimées directement sur une
imprimante connectée au robot.
Des informations binaires peuvent être transférées entre le robot et un capteur, par exemple.
Des informations binaires peuvent être transférées entre le robot et un autre ordinateur, par exemple avec
un protocole de liaison.
7.1 Principes de programmation
La décision d'utiliser des informations basées sur des caractères ou des informations binaires dépend de la
manière dont l'équipement avec lequel le robot communique gère ces informations. Un fichier, par exemple, peut
contenir des données stockées sous forme de caractères ou sous forme binaire.
Si une communication est requise dans les deux sens simultanément, une transmission binaire est nécessaire.
Chaque canal série ou fichier utilisé doit d'abord être ouvert. Ce faisant, le canal/fichier reçoit un descripteur qui
est ensuite utilisé comme référence lors de la lecture/écriture. Le pendentif d'apprentissage peut être utilisé à tout
moment et n'a pas besoin d'être ouvert.
Le texte et la valeur de certains types de données peuvent être imprimés.
7.2 Communiquer avec le boîtier d'apprentissage
Instruction Habitué:
TPErase Effacer l'affichage de l'opérateur du pendentif
TPÉcriture d'apprentissage Écrire du texte sur l'affichage de l'opérateur du
ErrEcrire pendentif d'apprentissage Écrire du texte sur l'affichage du pendentif d'apprentissage
et stocker simultanément ce message dans le journal des erreurs du programme.
TPReadFK Étiquetez les touches de fonction et pour lire quelle touche est enfoncée
TPReadNum Lisez une valeur numérique à partir du pendentif d'apprentissage
Manuel de référence RAPID 321
Machine Translated by Google
Communication Résumé RAPIDE
7.3 Lecture ou écriture dans un canal/fichier série basé sur des caractères
Instruction Habitué:
Ouvert1 Ouvrir un canal/fichier en lecture ou en écriture
Écrire1 Écrire du texte sur le canal/fichier
Fermer1 Fermer la chaîne/fichier
Fonction Habitué:
LireNum1 Lire une valeur numérique
LireStr1 Lire une chaîne de texte
7.4 Communication à l'aide de canaux série binaires
Instruction Habitué:
Ouvert1 Ouvrir un canal/fichier série pour le transfert binaire de données
WriteBin1 Écrire sur un canal série binaire
Fermer1 Fermer la chaîne/fichier
Fonction Habitué:
LireBin1 Lire à partir d'un canal série binaire
7.5 Données pour les canaux série
Type de données Utilisé pour définir :
iodev Une référence à un canal/fichier série, qui peut ensuite être utilisé pour la
lecture et l'écriture
1. Uniquement si le robot est équipé de l'option "Fonctions avancées"
322 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Interruptions
8 interruptions
Les interruptions sont utilisées par le programme pour lui permettre de traiter directement un événement, quelle que soit
l'instruction en cours d'exécution à ce momentlà.
Le programme est interrompu, par exemple, lorsqu'une entrée spécifique est définie sur un. Lorsque cela se produit, le
programme ordinaire est interrompu et une routine d'interruption spéciale est exécutée.
Lorsque celuici est entièrement exécuté, l'exécution du programme reprend là où elle a été interrompue.
8.1 Principes de programmation
Chaque interruption se voit attribuer une identité d'interruption. Il obtient son identité en créant une variable (de type de
données intnum) et en la connectant à une routine de déroutement.
L'identité de l'interruption (variable) est ensuite utilisée pour ordonner une interruption, c'estàdire pour spécifier la raison
de l'interruption. Il peut s'agir de l'un des événements suivants :
Une entrée ou une sortie est mise à un ou à zéro.
Un laps de temps donné s'écoule après qu'une interruption a été ordonnée.
Une position spécifique est atteinte.
Lorsqu'une interruption est commandée, elle est également automatiquement activée, mais peut être temporairement
désactivée. Cela peut se faire de deux manières :
Toutes les interruptions peuvent être désactivées. Toutes les interruptions se produisant pendant ce temps
sont placées dans une file d'attente, puis générées automatiquement lorsque les interruptions sont à nouveau
activées.
Les interruptions individuelles peuvent être désactivées. Toutes les interruptions se produisant pendant ce
temps sont ignorées.
8.2 Connexion des interruptions aux routines de déroutement
Instruction Habitué:
CONNECTER Connecter une variable (identité d'interruption) à une routine de déroutement
Manuel de référence RAPID 323
Machine Translated by Google
Interruptions Résumé RAPIDE
8.3 Commande d'interruptions
Instruction Utilisé pour commander :
ISignalDI Une interruption d'un signal d'entrée numérique
SignalDO Une interruption d'un signal de sortie numérique
Minuteur Une interruption temporisée
TriggInt1 Une interruption à position fixe (dans la liste de sélection Mouvement )
8.4 Annulation des interruptions
Instruction Habitué:
J'efface Annuler (supprimer) une interruption
8.5 Activation/désactivation des interruptions
Instruction Habitué:
Je dors Désactiver une interruption individuelle
Je regarde Activer une interruption individuelle
IDésactiver Désactiver toutes les interruptions
Activer Activer toutes les interruptions
8.6 Type de données des interruptions
Type de données Utilisé pour définir :
intnum L'identité d'une interruption
1. Uniquement si le robot est équipé de l'option "Fonctions avancées"
324 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Récupération d'erreur
9 Récupération d'erreur
La plupart des erreurs qui se produisent lors de l'exécution d'un programme peuvent être gérées dans le
programme, ce qui signifie que l'exécution du programme n'a pas à être interrompue. Ces erreurs sont soit d'un
type détecté par le robot, comme une division par zéro, soit d'un type détecté par le programme, comme des
erreurs qui se produisent lorsqu'une valeur incorrecte est lue par un lecteur de code à barres.
9.1 Principes de programmation
Lorsqu'une erreur se produit, le gestionnaire d'erreurs de la routine est appelé (s'il y en a un). Il est également
possible de créer une erreur à partir du programme, puis de passer au gestionnaire d'erreurs.
Si la routine n'a pas de gestionnaire d'erreurs, un appel sera effectué au gestionnaire d'erreurs dans la routine qui
a appelé la routine en question. S'il n'y a pas non plus de gestionnaire d'erreurs, un appel sera effectué au
gestionnaire d'erreurs dans la routine qui a appelé cette routine, et ainsi de suite jusqu'à ce que le gestionnaire
d'erreurs interne du robot prenne le relais et affiche un message d'erreur et arrête l'exécution du programme.
Dans le gestionnaire d'erreurs, les erreurs peuvent être gérées à l'aide d'instructions ordinaires. Les données
système ERRNO peuvent être utilisées pour déterminer le type d'erreur qui s'est produit. Un retour du gestionnaire
d'erreurs peut alors avoir lieu de différentes manières.
Dans les versions futures, si la routine actuelle n'a pas de gestionnaire d'erreurs, le gestionnaire d'erreurs
interne du robot prend directement le relais. Le gestionnaire d'erreurs interne génère un message d'erreur et
arrête l'exécution du programme avec le pointeur de programme sur l'instruction erronée.
Donc, une bonne règle déjà dans ce problème est la suivante : si vous voulez appeler le gestionnaire d'erreurs de
la routine qui a appelé la routine actuelle (propager l'erreur), alors :
Ajouter un gestionnaire d'erreurs dans la routine courante
Ajoutez l'instruction RAISE dans ce gestionnaire d'erreurs.
9.2 Création d'une situation d'erreur à partir du programme
Instruction Habitué:
AUGMENTER "Créer" une erreur et appeler le gestionnaire d'erreurs
Manuel de référence RAPID 325
Machine Translated by Google
Récupération d'erreur Résumé RAPIDE
9.3 Redémarrage/retour depuis le gestionnaire d'erreurs
Instruction Habitué:
SORTIE Arrêter l'exécution du programme en cas d'erreur fatale
AUGMENTER Appelez le gestionnaire d'erreurs de la routine qui a appelé la routine actuelle
RECOMMENCEZ Réexécutez l'instruction qui a causé l'erreur
ESSAYEZSUIVANT Exécuter l'instruction suivant l'instruction qui a causé l'erreur
RETOUR Revenir à la routine qui a appelé la routine courante
9.4 Données pour le traitement des erreurs
Type de données Utilisé pour définir :
numéro d'erreur La raison de l'erreur
326 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Le temps du système
10 Système et heure
Les instructions de système et de temps permettent à l'utilisateur de mesurer, d'inspecter et d'enregistrer le temps.
10.1 Principes de programmation
Les instructions d'horloge permettent à l'utilisateur d'utiliser des horloges qui fonctionnent comme des chronomètres. De cette manière, le
programme du robot peut être utilisé pour chronométrer n'importe quel événement souhaité.
L'heure ou la date actuelle peut être récupérée dans une chaîne. Cette chaîne peut ensuite être affichée à l'opérateur sur
l'affichage du pendentif d'apprentissage ou utilisée pour horodater les fichiers journaux.
Il est également possible de récupérer des composants de l'heure système actuelle sous forme de valeur numérique.
Cela permet au programme du robot d'effectuer une action à une certaine heure ou un certain jour de la semaine.
10.2 Utiliser une horloge pour chronométrer un événement
Instruction Habitué:
ClkReset Réinitialiser une horloge utilisée pour le chronométrage
ClkStart Démarrer une horloge utilisée pour le chronométrage
ClkStop Arrêter une horloge utilisée pour le chronométrage
Fonction Habitué:
ClkLire Lire une horloge utilisée pour le chronométrage
Type de données Utilisé pour:
horloge Timing stocke une mesure de temps en secondes
10.3 Lecture de l'heure et de la date actuelles
Fonction Habitué:
CDate Lire la date actuelle sous forme de chaîne
CHeure Lire l'heure actuelle sous forme de chaîne
Obtenir du temps Lire l'heure actuelle sous forme de valeur numérique
Manuel de référence RAPID 327
Machine Translated by Google
Mathématiques Résumé RAPIDE
11 Mathématiques
Les instructions et fonctions mathématiques sont utilisées pour calculer et modifier la valeur des
données.
11.1 Principes de programmation
Les calculs sont normalement effectués à l'aide de l'instruction d'affectation, par exemple
reg1:= reg2 + reg3 / 5. Certaines instructions sont également utilisées pour des calculs simples,
comme pour effacer une variable numérique.
11.2 Calculs simples sur des données numériques
Instruction Habitué:
Clair Effacer la valeur
Ajouter Ajouter ou soustraire une valeur
Augmenter
Incrémenter de 1
Décr Décrémenter de 1
11.3 Calculs plus avancés
Instruction Habitué:
:= Effectuer des calculs sur tout type de données
328 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Mathématiques
11.4 Fonctions arithmétiques
Fonction Habitué:
Abdos Calculer la valeur absolue
Rond Arrondir une valeur numérique
Tronc Tronquer une valeur numérique
Carré Calculer la racine carrée
Exp Calculer la valeur exponentielle avec la base "e"
Pow Calculer la valeur exponentielle avec une base arbitraire
ACos Calculer la valeur de l'arc cosinus
Un péché Calculer la valeur de l'arc sinus
Un bronzage
Calculer la valeur de l'arc tangente dans la plage [90,90]
ATan2 Calculer la valeur de l'arc tangente dans la plage [180,180]
Parce que Calculer la valeur du cosinus
Péché Calculer la valeur du sinus
bronzer Calculer la valeur de la tangente
EulerZYX Calculer les angles d'Euler à partir d'une orientation
OrientZYX Calculer l'orientation à partir des angles d'Euler
PoseInv Inverser une pose
PoseMult Multiplier une pose
PoseVect Multiplier une pose et un vecteur
Manuel de référence RAPID 329
Machine Translated by Google
Soudage par points Résumé RAPIDE
12 Soudage par points
Le package SpotWare prend en charge les applications de soudage par points équipées d'une minuterie de
soudage et d'un pistolet de soudage marche/arrêt.
L'application SpotWare permet un positionnement rapide et précis combiné à la manipulation du pistolet, au démarrage du
processus et à la supervision d'un temporisateur de soudage externe.
La communication avec l'équipement de soudage s'effectue au moyen d'entrées et de sorties numériques. Certaines
interfaces de minuterie de soudage en série sont également prises en charge : Bosch PSS5000, NADEX, ABB Timer.
Voir la documentation séparée.
Il convient de noter que SpotWare et SpotWare Plus, encore plus, sont des packages largement personnalisables. Les
routines d'utilisation sont destinées à être adaptées à la situation environnementale.
12.1 Caractéristiques de soudage par points
Le package SpotWare contient les fonctionnalités suivantes :
Positionnement rapide et précis
Manipulation d'un pistolet tout ou rien à deux coups
Pistolet double/simple
Préfermeture du pistolet
Supervision définie par l'utilisateur de l'équipement environnant avant le début de la soudure
Supervision définie par l'utilisateur de l'équipement environnant après la soudure
Surveillance du temporisateur de soudage externe
Récupération des erreurs de soudure avec ressoudage automatique
Retour en position de pointage
Compteurs ponctuels
Déclenchement du mouvement en fonction du temps ou du signal après une soudure
Démarrage rapide après une soudure
Routines de service définies par l'utilisateur
Préréglage et vérification de la pression du pistolet
Soudage simulé
Exécution inverse avec contrôle des armes à feu
Interfaces de minuterie de soudage parallèle et série
Prend en charge à la fois le programme et le démarrage des minuteries de soudage déclenchées
330 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Soudage par points
SpotWare Plus contient également les fonctionnalités suivantes :
Pistolet d'ouverture/fermeture défini par l'utilisateur et supervision
Réglage de la pression défini par l'utilisateur
Calcul du temps de préfermeture défini par l'utilisateur
Informations sur les données actuelles SpotL
Supervision autonome définie par l'utilisateur, telle que le courant de soudage contrôlé par l'état
signal et démarrage du refroidissement par eau.
Soudage manuel, ouverture et fermeture du pistolet déclenchées par une entrée numérique
Le démarrage du processus de soudage indépendamment de l'événement en position est possible
12.2 Principes de SpotWare
Lorsqu'une instruction SpotL est exécutée, une séquence principale composée d'instructions de mouvement et logiques
est exécutée.
Pendant le mouvement, il est possible de définir des signaux prédéfinis mais pas l'exécution du code RAPID.
Pour des entrées bien définies, des appels à des routines utilisateur offrent des adaptations à l'environnement de l'usine.
Un certain nombre de paramètres prédéfinis sont également disponibles pour façonner le comportement de l'instruction SpotL.
La partie RAPID de SpotL s'exécute uniquement lorsque le programme de l'utilisateur est en cours d'exécution. Si le
programme utilisateur s'arrête, l'exécution RAPID interne de SpotL s'arrêtera immédiatement.
Matériel pris en charge :
Surveillance d'un temporisateur de soudage avec interface parallèle standard (certaines en série) Pistolet
marchearrêt simple/double avec un signal/pointe pour fermer le pistolet et un pour régler l'écart d'ouverture
Niveau de pression
préréglé 1..4.
12.3 Principes de SpotWare Plus
SpotWare Plus est basé sur une gestion séparée du mouvement, du soudage par points et de la supervision. En chemin
vers la position programmée, la tâche de mouvement déclenchera des actions dans les tâches de soudage par points.
Les déclencheurs sont activés par des signaux numériques virtuels.
Les tâches fonctionnent avec leurs propres variables internes encapsulées et avec des persistants totalement transparents
pour toutes les tâches.
Un arrêt de programme arrêtera uniquement l'exécution de la tâche de mouvement. Le processus et la supervision
Manuel de référence RAPID 331
Machine Translated by Google
Soudage par points Résumé RAPIDE
poursuivre leurs tâches jusqu'à ce qu'ils arrivent à un arrêt de processus bien défini. Par exemple, cela ouvrira le pistolet
après une soudure terminée, bien que le programme se soit arrêté.
L'ouverture et la fermeture du pistolet sont toujours exécutées par des routines RAPID, même si elles sont activées
manuellement à partir de la fenêtre I/O du boîtier d'apprentissage. Ces routines de pistolet peuvent être modifiées de la simple
fonctionnalité marche/arrêt par défaut à une commande de pistolet analogique plus complexe.
Étant donné que les tâches de processus et de supervision agissent sur des déclencheurs d'E/S, elles seront exécutées soit
par le déclencheur qui a été envoyé par le mouvement (SpotL), soit par une activation manuelle (teach pendant ou externe).
Cela offre la possibilité d'effectuer une soudure autonome n'importe où sans programmer une nouvelle position.
Il est également possible de définir de nouveaux événements de supervision et de les connecter à des déclencheurs de
signaux numériques. Par défaut, une puissance de soudage dépendante de l'état et un contrôle du signal de refroidissement
par eau sont mis en œuvre.
Matériel pris en charge :
Surveillance d'une minuterie de soudage avec interface parallèle standard (certaines séries) Tout type de
contrôle de fermeture et d'écartement de pistolet simple/double.
Tout type de préréglage de pression.
Équipement de soudage par points indépendant de SpotL contrôlé par événement, tel que des contacteurs
etc.
12.4 Principes de programmation
Le mouvement linéaire du robot et le contrôle du processus de soudage par points sont intégrés dans une seule instruction,
SpotL.
Le procédé de soudage par points est spécifié par :
Spotdata : données du processus de soudage
par points Gundata : données du pistolet
de soudage par points Le module système SWUSER, SWUSRF et SWUSRC : routines RAPID et données globales
à des fins de personnalisation. Voir Données et programmes prédéfinis ProcessWare.
Paramètres système : la configuration des E/S. Voir le Guide de l'utilisateur Paramètre système
termes
332 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Soudage par points
12.5 Instructions de soudage par points
Instruction Habitué:
SpotL Contrôler le mouvement, la fermeture/ouverture du pistolet et le processus de soudage
ess
Déplacez le TCP le long d'un chemin linéaire et effectuez une soudure par points à la
position finale
12.6 Données de soudage par points
Type de données Utilisé pour définir :
données Le contrôle du processus de soudage par points
ponctuelles gundata Le pistolet à souder par points
Manuel de référence RAPID 333
Machine Translated by Google
Soudage à l'arc Résumé RAPIDE
13 Soudage à l'arc
Le package ArcWare prend en charge la plupart des fonctions de soudage. Des démarrages de remplissage de
cratère et de raclage peuvent par exemple être programmés. Grâce à ArcWare, l'ensemble du processus de
soudage peut être contrôlé et surveillé par le robot via un certain nombre d'entrées et de sorties numériques et
analogiques différentes.
13.1 Principes de programmation
Les mêmes instructions sont utilisées pour contrôler les mouvements du robot et le processus de soudage
proprement dit. Les instructions de soudage à l'arc indiquent quelles données de soudure et quelles données de
cordon sont utilisées dans la soudure en question.
Les paramètres de soudage pour la phase de soudage réelle sont définis dans les données de soudage. Les phases de début et
de fin sont définies dans les données de couture.
Tout tissage est défini dans les données de tissage, qui sont également identifiées par l'instruction de soudage
à l'arc.
Certaines fonctions, telles qu'un début de scraping, sont définies dans les paramètres système.
Le processus de soudage est divisé en phases suivantes :
SOUDER
COMMENCER FIN
13.2 Instructions de soudage à l'arc
Instruction Type de mouvement :
Arc C TCP le long d'un chemin circulaire
ArcL TCP le long d'un chemin linéaire
334 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Soudage à l'arc
13.3 Données de soudage à l'arc
Type de données Utilisé pour définir :
données de soudure
La phase de soudure
données de couture La phase de début et de fin d'une soudure
tisser des données Les caractéristiques de tissage
suivre les données Seamtracking via l'interface série du capteur
Manuel de référence RAPID 335
Machine Translated by Google
GlueWare Résumé RAPIDE
14 GlueWare
Le package GlueWare prend en charge les applications de collage équipées d'un ou deux pistolets de collage.
L'application GlueWare permet un positionnement rapide et précis combiné à la manipulation du pistolet, au
démarrage et à l'arrêt du processus.
La communication avec l'équipement de collage s'effectue au moyen de sorties numériques et analogiques.
14.1 Caractéristiques de collage
Le package GlueWare contient les fonctionnalités suivantes :
Positionnement rapide et précis
Manipulation des pistolets tout ou rien ainsi que des pistolets proportionnels
Deux pistolets différents peuvent être manipulés dans le même programme, chaque pistolet étant contrôlé
par un signal numérique (marche/arrêt) et deux signaux analogiques (débits)
Préouverture et préfermeture du pistolet respectivement
Collage simulé
14.2 Principes de programmation
Le mouvement du robot et le contrôle du processus de collage sont intégrés dans une seule instruction,
respectivement GlueL et GlueC .
Le processus de collage est spécifié par :
Gundata : données du pistolet à colle. Voir Types de données ggundata.
Le module système GLUSER : routines RAPID et données globales à des fins de personnalisation. Voir
Données et programmes prédéfinis Module système GLUSER.
Paramètres système : la configuration des E/S. Voir Paramètres système Collage
14.3 Instructions de collage
Instruction Habitué:
ColleL Déplacez le TCP le long d'un chemin linéaire et effectuez le collage avec les
données données
ColleC Déplacez le TCP le long d'un chemin circulaire et effectuez le collage avec les
données données
336 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE GlueWare
14.4 Données de colle
Type de données Utilisé pour définir :
ggundata Le pistolet à colle usagé
Manuel de référence RAPID 337
Machine Translated by Google
Communication informatique externe Résumé RAPIDE
15 Communication avec un ordinateur externe
Le robot peut être contrôlé à partir d'un ordinateur supérieur. Dans ce cas, un protocole de communication
spécial est utilisé pour transférer les informations.
15.1 Principes de programmation
Comme un protocole de communication commun est utilisé pour transférer des informations du robot à
l'ordinateur et vice versa, le robot et l'ordinateur peuvent se comprendre et aucune programmation n'est
requise. Le calculateur peut, par exemple, modifier des valeurs dans les données du programme sans
qu'aucune programmation n'ait à être effectuée (sauf pour définir ces données). La programmation n'est
nécessaire que lorsque des informations contrôlées par le programme doivent être envoyées du robot à
l'ordinateur supérieur.
15.2 Envoi d'un message contrôlé par programme du robot à un ordinateur
Instruction Habitué:
SCÉcriture1 Envoyer un message à l'ordinateur supérieur
1. Uniquement si le robot est équipé de l'option "RAP Serial Link".
338 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Instructions d'entretien
16 Instructions d'entretien
Un certain nombre d'instructions sont disponibles pour tester le système de robot. Consultez le chapitre
sur les outils de dépannage dans le manuel du produit pour plus d'informations.
16.1 Envoi d'une valeur au signal de test du robot
Un signal de référence, tel que la vitesse d'un moteur, peut être dirigé vers un signal de sortie analogique
situé sur le fond de panier du robot.
Instruction Habitué:
TestSign Définir et activer un signal de test
Signal de test de Utilisé pour définir :
type de données Le type de signal de test
Manuel de référence RAPID 339
Machine Translated by Google
Instructions d'entretien Résumé RAPIDE
340 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Fonctions de chaîne
17 fonctions de chaîne
Les fonctions de chaîne sont utilisées pour les opérations avec des chaînes telles que la copie, la concaténation,
la comparaison, la recherche, la conversion, etc.
17.1 Opérations de base
Type de données Utilisé pour définir :
chaîne Chaîne. Constantes prédéfinies STR_DIGIT, STR_UPPER, STR_LOWER
et STR_WHITE
Instruction/Opérateur Utilisé pour :
:= Attribuer une valeur (copie de chaîne)
+ Concaténation de chaînes
Fonction Habitué:
StrLen Trouver la longueur de la chaîne
StrPart Obtenir une partie d'une chaîne
17.2 Comparaison et recherche
Opérateur Habitué:
=
Tester si égal à
<> Tester si non égal à
Fonction Habitué:
StrMemb Vérifier si le personnage appartient à un ensemble
StrFind Rechercher un caractère dans une chaîne
StrMatch Rechercher un motif dans une chaîne
StrOrder Vérifiez si les chaînes sont dans l'ordre
17.3 Conversion
Fonction Habitué:
NumToStr Convertir une valeur numérique en chaîne
ValVersStr Convertir une valeur en chaîne
StrVersVal Convertir une chaîne en valeur
StrMap Mapper une chaîne
Manuel de référence RAPID 341
Machine Translated by Google
Fonctions de chaîne Résumé RAPIDE
342 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Résumé de la syntaxe
18 Résumé de la syntaxe
18.1 Consignes
Données := Valeur
AccSet Acc Rampe
ActUnit MecUnit
Ajouter un nom AddValue
Casser
CallBy Var Nom Numéro
Effacer le nom
ClkRéinitialiser l'horloge
ClkStart Horloge
ClkStop Horloge
Fermer le périphérique IO
! Commentaire
ConfJ [\On] | [\Désactivé]
ConfL [\On] | [\Désactivé]
CONNECT Interrupt WITH Trap routine
DeactUnit MecUnit
Nom décr.
EOffsSet EAxOffs
ErrWrite [ \W ] Raison de l'entête [ \RL2] [ \RL3] [ \RL4]
FOR Compteur de boucles FROM Valeur de début TO Valeur de fin [STEP
Valeur de pas] DO ... ENDFOR
Aller à l'étiquette
Manuel de référence RAPID 343
Machine Translated by Google
Résumé de la syntaxe Résumé RAPIDE
Charge GripLoad
Supprimer l'interruption
SI Condition ...
SI Condition ALORS ...
{ Condition ELSEIF ALORS ... }
[AUTRE ...]
FIN SI
Nom d'augmentation
IndAMove Axe MecUnit [ \ToAbsPos ] | [ \ToAbsNum ] Vitesse
[ \Rampe ]
IndCMove MecUnit Axis Speed [ \Ramp ]
IndDMove MecUnit Axis Delta Speed [ \Ramp ]
IndReset MecUnit Axis [ \RefPos ] | [ \NumRéf ] | [ \Court ] | [ \Fwd ] |
[ \Bwd ] | [ \Vieux ]
IndRMove Axe MecUnit [ \ToRelPos ] | [ \ToRelNum ] | [ \Court ] |
[ \Fwd ] | [ \Bwd ] Vitesse [ \Rampe ]
Inverser le signal DO
ISignalDI [ \Single ] Signal TriggValue Interruption
ISignalDO [ \Single ] Signal TriggValue Interruption
IInterruption de veille
ITimer [ \Single ] Interruption de temps
Interruption IWatch
Étiqueter:
MoveAbsJ [ \Conc ] ToJointPos Speed [ \V ] | [ \T ] Zone [ \Z]
Outil [ \WObj ]
MoveC [ \Conc ] CirPoint ToPoint Speed [ \V ] | [ \T ] Zone [ \Z]
Outil [ \WObj ]
MoveJ [ \Conc ] ToPoint Speed [ \V ] | Outil [ \T ] Zone [ \Z ]
[ \WObj ]
344 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Résumé de la syntaxe
MoveL [ \Conc ] ToPoint Speed [ \V ] | Outil [ \T ] Zone [ \Z ]
[ \WObj ]
Ouvrir l'objet [\File] IODevice [\Read] | [\Ecrire] | [\Append] | [\Poubelle]
PDispOn [ \Rot ] [ \ExeP ] Outil ProgPoint [ \WObj ]
PDispSet DispFrame
Procédure { Argument }
ImpulsionDO [ \PLength ] Signal
AUGMENTER [ Erreur non ]
Signal de réinitialisation
RETOUR [ Valeur de retour ]
RechercheC [ \Stop ] | [ \PStop ] | [ \Sup ] Signal SearchPoint CirPoint
Vitesse ToPoint [ \V ] | [ \T ] Outil [ \WObj ]
RechercheL [ \Stop ] | [ \PStop ] | [ \Sup ] Signal SearchPoint ToPoint
Vitesse [ \V ] | [ \T ] Outil [ \WObj ]
Définir le signal
Définir la valeur du signal AO
SetDO [ \SDelay ] Valeur du signal
Valeur du signal SetGO
SingArea [ \Poignet] | [ \Arm] | [ \Désactivé]
SoftAct Douceur de l'axe [\Ramp ]
Arrêtez [ \NoRegain ]
TEST Données de test {CASE Valeur de test {, Valeur de test} : ...}
[ PAR DÉFAUT : ...] FIN TEST
Chaîne de réponse TPReadFK FK1 FK2 FK3 FK4 FK5 [\MaxTime]
[\DIBreak] [\BreakFlag]
Chaîne de réponse TPReadNum [\MaxTime] [\DIBreak] [\BreakFlag]
TPEcrit Chaîne [\Num] | [\Bool] | [\Pos] | [\Orient]
Manuel de référence RAPID 345
Machine Translated by Google
Résumé de la syntaxe Résumé RAPIDE
TriggC CirPoint ToPoint Vitesse [ \T ] Trigg_1 [ \T2 ] [ \T3 ]
[ \T4] Outil Zone [ \WObj ]
TriggInt TriggData Distance [ \Start ] | [ \Heure ] Interruption
TriggIO TriggData Distance [ \Début ] | [ \Heure ] [ \DOp ] | [ \GOp ] |
[\AOp ] SetValue [ \DODelay ] | [ \AORamp ]
TriggJ ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ]
Outil Zone [ \WObj ]
TriggL ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ]
Outil Zone [ \WObj ]
TuneServo MecUnit Axis TuneValue
TuneServo MecUnit Axis TuneValue [\Type]
Décharger le chemin du fichier [\Fichier]
Maximum de dépassement de VelSet
Valeur du signal WaitDI [\MaxTime] [\TimeFlag]
Valeur du signal WaitDO [\MaxTime] [\TimeFlag]
Temps d'attente [\InPos] Temps
WaitUntil [\InPos] Cond [\MaxTime] [\TimeFlag]
TANT QUE Condition DO ... ENDWHILE
Écrire la chaîne IODevice [\Num] | [\Bool] | [\Pos] | [\Orient]
[\NoNewLine]
WriteBin IODevice Buffer NChar
18.2 Fonctions
Abs (Entrée)
ACos (valeur)
ASin (Valeur)
ATan (Valeur)
ATan2 (YX)
346 Manuel de référence RAPID
Machine Translated by Google
Résumé RAPIDE Résumé de la syntaxe
ClkRead (horloge)
Cos (Angle)
CPos ([Outil] [\WObj])
CRobT ([Outil] [\WObj])
DefDFrame (AncienP1 AncienP2 AncienP3 NouveauP1 NouveauP2 NouveauP3)
DefFrame (NouveauP1 NouveauP2 NouveauP3 [\Origine])
Dim (ArrPar DimNo)
Sortie (Signal)
EulerZYX ([\X] | [\Y] | [\Z] Rotation)
Exp (exposant)
GSortie (Signal)
ObtenirHeure ( [\WJour] | [\Heure] | [\Min] | [\Sec] )
Axe IndInpos MecUnit
IndSpeed MecUnit Axe [\InSpeed] | [\ZeroSpeed]
IsPers (DatObj)
EstVar (DatObj)
MirPos (Point MirPlane [\WObj] [\MirY])
NumVersStr (Val Dec [\Exp])
Offs (Point XOffset YOffset ZOffset)
OrientZYX (ZAngle YAngle XAngle)
ORobT (OrgPoint [\InPDisp] | [\InEOffs])
PoseInv (Pose)
PoseMult (Pose1 Pose2)
PoseVect (Pose Pos)
Pow (exposant de base)
Manuel de référence RAPID 347
Machine Translated by Google
Résumé de la syntaxe Résumé RAPIDE
Présent (OptPar)
ReadBin (IODevice[\Heure])
LireMoteur [\MecUnit ] Axe
ReadNum (IODevice[\Heure])
ReadStr (IODevice [\Heure])
RelTool (Point Dx Dy Dz [\Rx] [\Ry] [\Rz])
Rond ( Val [\Dec])
Péché (Angle)
Carré (valeur)
StrFind (Ensemble Str ChPos [\NotInSet])
StrLen (Str)
StrMap ( Str FromMap ToMap)
StrMatch (motif Str ChPos)
StrMemb (Ensemble Str ChPos)
StrOrder ( Str1 Str2 Order)
StrPart (Str ChPos Len)
StrVersVal ( Str Val )
Brun (Angle)
TestDI (Signal)
Tronc ( Val [\Dec] )
ValVersStr ( Val )
348 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID
CONTENU
Page
1 Éléments de base .................................................. .................................................. ................ 3
1.1 Identifiants.................................................. .................................................. .............. 3
1.2 Espaces et caractères de nouvelle ligne ................................................ .................................... 4
1.3 Valeurs numériques ....................................................... .................................................. ...... 4
1.4 Valeurs logiques.................................................. .................................................. ....... 4 1.5 Valeurs de
chaîne ...................................... .................................................. ................... 4
1.6 Commentaires.................................................. .................................................. ............. 5
1.7 Espaces réservés.................................................. .................................................. .......... 5
1.8 Entête de fichier .................................................. .................................................. ............. 5
1.9 Syntaxe .................................................. .................................................. ................... 6
2 Modules .................................................. .................................................. ....................... 8
2.1 Modules de programme.................................................. .................................................. ... 8 2.2
Modules du système.................................................. .................................................. ......... 9 2.3
Déclarations des modules ....................................... .................................................. ........ 9
2.4 Syntaxe .................................................. .................................................. .................... 9
3 Routines.................................................. .................................................. ....................... 11
3.1 Portée de la routine .................................................. .................................................. ....... 11
3.2 Paramètres .................................................. .................................................. ............ 12
3.3 Résiliation de routine .................................................. .................................................. 13
3.4 Déclarations de routine ....................................................... .................................................. 13
3.5 Appel de procédure ....................................................... .................................................. ....... 14
3.6 Syntaxe .................................................. .................................................. .................... 15
4 Types de données .................................................. .................................................. .................................. 18
4.1 Types de données sans valeur .................. .................................................. .................. 18 4.2 Types
de données égaux (alias) ...... .................................................. ...................... 18 4.3
Syntaxe ................................ .................................................. ....................................... 19
5 Données.................................................. .................................................. .................................. 20
5.1 Portée des données.................................................. .................................................. .............. 20 5.2
Déclaration des variables .................................. .................................................. .............. 21
5.3 Déclaration persistante.................................................. ............................................... 22
5.4 Déclaration de constante .................................................. .................................................. 22
5.5 Initialisation des données.............................................. .................................................. ......... 22 5.6
Syntaxe ...................................... .................................................. ............................. 23
6 Mode d'emploi .................................................. .................................................. ....................... 25
6.1 Syntaxe .................................................. .................................................. .................... 25
7 Expressions .................................................. .................................................. ....................... 26
Manuel de référence RAPID 51
Machine Translated by Google
Caractéristiques de base RAPID
Page
7.1 Expressions arithmétiques .................................................. .................................................. 26
7.2 Expressions logiques .. .................................................. .................................................. 27 7.3
Expressions de chaîne.. .................................................. .................................................. 27 7.4
Utilisation données dans les expressions ............................................... ..................................................
28
7.5 Utilisation des agrégats dans les expressions .. .................................................. .......................
29 7.6 Utilisation des appels de fonction dans les expressions .................. .................................................. ..
29 7.7 Priorité entre opérateurs .................................................. .................................................. 30
7.8 Syntaxe.... .................................................. .................................................. ............. 31
8 Récupération d'erreur.............................................. .................................................. ............... 33
8.1 Gestionnaires d'erreurs .................................................. .................................................. ....... 33
9 Interruptions.................................................. .................................................. ....................... 35 9.1
Manipulation des interruptions .................. .................................................. .................... 35 9.2
Routines de déroutement .................. .................................................. .............................. 36
10 Exécution à rebours .................................................. .................................................. ..... 37
10.1 Gestionnaires rétrogrades .................................................. .................................................. 37
11 Multitâche ................................................................ .................................................. .................. 39 11.1
Synchronisation des tâches .................................. .................................................. .......... 39 11.2
Communication intertâches .................................. .................................................. 41
11.3 Type de tâche .................................................. .................................................. .......... 42 11.4
Priorités ................................................ .................................................. ....................... 42
11.5 Tailles des tâches .................................................. .................................................. ............ 43
11.6 À méditer .................................................................. ....................................... 44
52 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Éléments basiques
1 Éléments de base
1.1 Identifiants
Les identificateurs sont utilisés pour nommer les modules, les routines, les données et les étiquettes ;
par exemple MODULE nom_module PROC
nom_routine()
VAR pos data_name ;
label_name : le
premier caractère d'un identifiant doit être une lettre. Les autres caractères peuvent être des lettres, des
chiffres ou des traits de soulignement "_".
La longueur maximale d'un identifiant est de 16 caractères, chacun de ces caractères étant significatif.
Les identifiants qui sont identiques, sauf qu'ils sont saisis en majuscules, et vice versa, sont considérés
comme identiques.
Mots réservés
Les mots cidessous sont réservés. Ils ont une signification particulière dans le langage RAPID et ne
doivent donc pas être utilisés comme identifiants.
Il existe également un certain nombre de noms prédéfinis pour les types de données, les données système, les
instructions et les fonctions, qui ne doivent pas être utilisés comme identificateurs. Voir les chapitres 7, 8, 9, 10,
13, 14 et 15 de ce manuel.
ET CAS ARRIÈRE CONNECTER
CONSTE DÉFAUT DIV FAIRE
Manuel de référence RAPID 53
Machine Translated by Google
Éléments basiques Caractéristiques de base RAPID
1.2 Espaces et caractères de nouvelle ligne
Le langage de programmation RAPID est un langage de format libre, ce qui signifie que les espaces peuvent être
utilisés n'importe où sauf dans :
identifiants
mots réservés
valeurs numériques
espaces réservés.
Les caractères de nouvelle ligne, de tabulation et de saut de page peuvent être utilisés partout où un espace peut
être utilisé, sauf dans les commentaires.
Les identifiants, les mots réservés et les valeurs numériques doivent être séparés les uns des autres par un espace,
un saut de ligne, une tabulation ou un saut de page.
Les espaces inutiles et les caractères de nouvelle ligne seront automatiquement supprimés d'un programme chargé
dans la mémoire programme. Par conséquent, les programmes chargés à partir d'une disquette puis stockés à nouveau
peuvent ne pas être identiques.
1.3 Valeurs numériques
Une valeur numérique peut être exprimée sous la
forme d'un nombre entier, par exemple
3, 100, 3E2 d'un nombre décimal, par exemple 3,5, 0,345, 245E2
La valeur doit être comprise dans la plage spécifiée par le format flottant de la norme ANSI IEEE 7541985 (simple
précision).
1.4 Valeurs logiques
Une valeur logique peut être exprimée sous la forme TRUE ou FALSE.
1.5 Valeurs de chaîne
Une valeur de chaîne est une séquence de caractères (ISO 88591) et de caractères de contrôle (caractères non
ISO 88591 dans la plage de codes numériques 0255). Des codes de caractères peuvent être inclus, ce qui
permet d'inclure également des caractères non imprimables (données binaires) dans la chaîne.
Exemple: "Ceci est une chaîne"
"Cette chaîne se termine par le caractère de contrôle BEL \07"
Si une barre oblique inverse (qui indique le code de caractère) ou un guillemet double est inclus, il doit être écrit deux
fois.
Exemple: "Cette chaîne contient un caractère """
"Cette chaîne contient un caractère \\"
54 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Éléments basiques
1.6 Commentaires
Les commentaires sont utilisés pour faciliter la compréhension du programme. Ils n'affectent en rien le
sens du programme.
Un commentaire commence par un point d'exclamation "!" et se termine par un caractère de nouvelle
ligne. Il occupe toute une ligne et ne peut pas intervenir entre deux modules ;
par exemple
! commentaire
SI reg1 > 5 ALORS !
commentaire
reg2 := 0;
FIN SI
1.7 Espaces réservés
Les espaces réservés peuvent être utilisés pour représenter temporairement des parties d'un programme qui ne
sont « pas encore définies ». Un programme qui contient des espaces réservés est syntaxiquement correct et
peut être chargé dans la mémoire programme.
Espace réservé Représente :
<NDD> déclaration de données
<RDN> déclaration de routine
<PAR> formel facultatif paramètre alternatif paramètre
<ALT> facultatif formel formel
<DIM> (conforme) tableau dimension instruction
<SMT>
<VAR> objet de données (variable, persistant ou paramètre) référence
<EIT> clause else if de l'instruction if
<CSE> clause cas de l'instruction de test
<EXP> identificateur
<ARG> d'argument d'appel de procédure
<ID> d'expression
1.8 Entête de fichier
Un fichier de programme commence par l'entête de fichier suivant :
%%%
VERSION 1 (Version du programme M94 ou M94A)
LANGUE: FRANÇAIS (ou une autre langue :
%%% ALLEMAND ou FRANÇAIS)
Manuel de référence RAPID 55
Machine Translated by Google
Éléments basiques Caractéristiques de base RAPID
1.9 Syntaxe
Identifiants
<identifiant> ::=
<identifiant>
| <ID>
<ident> ::= <lettre> {<lettre> | <chiffre> | '_'}
Valeurs numériques
<num littéral> ::=
<entier> [ <exposant> ] | <entier>
'.' [ <entier> ] [ <exposant> ] | [ <entier> ] '.' <entier>
[ <exposant> ] <entier> ::= <chiffre> {<chiffre>}
<exposant> ::= ('E' | 'e') ['+' | ''] <entier>
Valeurs logiques
<littéral booléen> ::= TRUE | FAUX
Valeurs de chaîne
<chaîne littérale> ::= '"' {<caractère> | <code de caractère> } '"' <code de
caractère> ::= '\' <chiffre hexadécimal> <chiffre hexadécimal>
<chiffre hexadécimal> ::= <chiffre > | Un | B | C | D | E | F | un | b | c | d | e | F
commentaires
<commentaire> ::=
'!' {<caractère> | <tab>} <nouvelle ligne>
Personnages
<caractère> ::= ISO 88591 <nouvelle
ligne> ::= caractère de contrôle de nouvelle ligne
<chiffre> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <lettre> ::=
<lettre majuscule> |
<lettre minuscule>
56 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Éléments basiques
<lettre majuscule> ::=
Un | B | C | D | E | F | G | H | je | J
| K | L | M | N | O | P | Q | R | S | J
| U | V | W | X | Y | Z | À | Á | | Ã |
Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í
1)
| Î | Ï | | Ñ | Ò | Ó | Ô | Õ | Ö | Ø |
2) | 3)
Ù | Ú | Û | Ü | | ß
<lettre minuscule> ::=
un | b | c | d | e | f | g | h | je |
1) Lettre islandaise eth.
j | k | l | m | n | o | p | q | r | s | t |
2) Lettre Y avec accent aigu.
tu | v | w | x | y | z | ß | à | á | â |
3) Épine de lettre islandaise.
ã| ä | å | æ | ç | è | é | ê | ë | ì |
í | î | ï | 1) | ñ | ò | ó | ô | õ | ö |
ø | ù | u | û | ü | 2) | 3) | ÿ
Manuel de référence RAPID 57
Machine Translated by Google
Modules Caractéristiques de base RAPID
2 Modules
Le programme est divisé en modules de programme et de système. Le programme peut également être
divisé en modules (voir Figure 1).
Mémoire programme
Programme
Données de programme
Routine principale
Module principal
Routine1
Module 1
Routine2
Module2
Routine3
Module3
Module4
Données de programme
Routine4
Routine5
Module système1
Données de programme
Routine6
Module système2
Routine7
Figure 1 Le programme peut être divisé en modules.
2.1 Modules du programme
Un module de programme peut être constitué de différentes données et routines. Chaque module, ou le
programme entier, peut être copié sur disquette, disque RAM, etc., et vice versa.
L'un des modules contient la procédure d'entrée, une procédure globale appelée main. Exécuter le
programme revient en fait à exécuter la procédure principale. Le programme peut inclure de nombreux
modules, mais un seul d'entre eux aura une procédure principale.
Un module peut, par exemple, définir l'interface avec un équipement externe ou contenir des données
géométriques qui sont soit générées à partir de systèmes de CAO, soit créées en ligne par numérisation
(apprentissage de la programmation).
Alors que les petites installations sont souvent contenues dans un module, les grandes installations peuvent
avoir un module principal qui fait référence à des routines et/ou des données contenues dans un ou
plusieurs autres modules.
58 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Modules
2.2 Modules système
Les modules système sont utilisés pour définir des données et des routines communes et spécifiques au
système, telles que des outils. Ils ne sont pas inclus lors de la sauvegarde d'un programme, ce qui signifie
que toute mise à jour effectuée sur un module système affectera tous les programmes existants actuellement
dans ou chargés ultérieurement dans la mémoire programme.
2.3 Déclarations des modules
Une déclaration de module spécifie le nom et les attributs de ce module. Ces attributs ne peuvent être ajoutés
qu'hors ligne, sans utiliser le pendentif d'apprentissage. Voici des exemples d'attributs d'un module :
Attribut S'il est spécifié, le module : est
SYSMODULE un module système, sinon un module de programme ne peut pas
NOSTEPIN être saisi lors de l'exécution pas à pas
AFFICHAGE UNIQUEMENT ne peut pas être modifié
LECTURE SEULEMENT ne peut pas être modifié, mais l'attribut peut être supprimé ne peut
AVIS pas être visualisé, seulement exécuté. Les routines globales sont
accessibles depuis d'autres modules et sont toujours exécutées en tant
que NOS TEPIN. Les valeurs actuelles des données globales peuvent être
atteintes à partir d'autres modules ou à partir de la fenêtre de données sur le boîtier d'apprentissag
Un module ou un programme contenant un module de programme NOVIEW ne
peut pas être enregistré. Par conséquent, NOVIEW doit principalement être utilisé
pour les modules système. NOVIEW ne peut être défini que hors ligne à partir
d'un PC.
par exemple MODULE nom_module (SYSMODULE, AFFICHAGE UNIQUEMENT)
!déclarations de
données !déclarations de
routine ENDMODULE
Un module peut ne pas avoir le même nom qu'un autre module ou qu'une routine globale ou des données.
2.4 Syntaxe
Déclaration des modules
<déclaration de module> ::=
MODULE <nom du module> [ <liste des attributs du module> ] <liste des
déclarations de données>
<liste des déclarations de routine>
MODULE FINAL
<nom du module> ::= <identifiant> <liste
des attributs du module> ::= '(' <attribut du module> { ',' <attribut du module> } ')'
Manuel de référence RAPID 59
Machine Translated by Google
Modules Caractéristiques de base RAPID
<attribut de module> ::=
SYSMODULE
| AVIS
| NOSTEPIN
| AFFICHAGE UNIQUEMENT
| LECTURE SEULEMENT
(Remarque. Si deux attributs ou plus sont utilisés, ils doivent être dans l'ordre ci
dessus, l'attribut NOVIEW ne peut être spécifié que seul ou avec l'attribut
SYSMODULE.)
<liste de déclarations de données> ::= { <déclaration de
données> } <liste de déclarations de routine> ::= { <déclaration de routine> }
510 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Routines
3 routines
Il existe trois types de routines (sousprogrammes) : les procédures, les fonctions et les interruptions.
Les procédures ne renvoient pas de valeur et sont utilisées dans le cadre d'instructions.
Les fonctions renvoient une valeur d'un type spécifique et sont utilisées dans le contexte d'expres
sions.
Les routines d'interruption fournissent un moyen de traiter les interruptions. Une routine d'interruption
peut être associée à une interruption spécifique, puis, si cette interruption particulière se produit
ultérieurement, elle sera automatiquement exécutée. Une routine d'interruption ne peut jamais
être explicitement appelée depuis le programme.
3.1 Portée de la routine
La portée d'une routine indique la zone dans laquelle la routine est visible. La directive locale optionnelle
d'une déclaration de routine classe une routine comme locale (au sein du module), sinon elle est globale.
Exemple: LOCAL PROC routine_locale (...
PROC routine_globale (...
Les règles de portée suivantes s'appliquent aux routines (voir l'exemple de la figure 2) :
La portée d'une routine globale peut inclure n'importe quel module.
La portée d'une routine locale comprend le module dans lequel elle est contenue.
Dans sa portée, une routine locale cache toute routine ou donnée globale avec le même
nom.
Dans son périmètre, une routine cache des instructions et des routines et données prédéfinies
avec le même nom.
Module 1 Module2
Routine locale a Routine locale a
Routine locale b Routine locale e
Routine c Routine f
Routine d Routine g
Routine e h de routine
Figure 2 Exemple : Les routines suivantes peuvent être appelées à partir de la routine h :
Module1 Routine c, d.
Module2 Toutes les routines.
Une routine peut ne pas avoir le même nom qu'une autre routine ou des données dans le même module.
Une routine globale peut ne pas avoir le même nom qu'un module ou une routine globale ou des données
globales dans un autre module.
Manuel de référence RAPID 511
Machine Translated by Google
Routines Caractéristiques de base RAPID
3.2 Paramètres
La liste des paramètres d'une déclaration de routine spécifie les arguments (paramètres réels) qui doivent/
peuvent être fournis lorsque la routine est appelée.
Il existe quatre types de paramètres différents (en mode d'accès) :
Normalement, un paramètre n'est utilisé que comme entrée et est traité comme une variable de
routine. Changer cette variable ne changera pas l'argument correspondant.
Un paramètre INOUT spécifie qu'un argument correspondant doit être une variable (entière,
élément ou composant) ou une persistante entière qui peut être modifiée par la routine.
Un paramètre VAR spécifie qu'un argument correspondant doit être une variable (entière,
élément ou composant) qui peut être modifiée par la routine.
Un paramètre PERS spécifie qu'un argument correspondant doit être un persistant entier qui
peut être modifié par la routine.
Si un paramètre INOUT, VAR ou PERS est mis à jour, cela signifie en fait que l'argument luimême est
mis à jour, c'estàdire qu'il permet d'utiliser des arguments pour retourner des valeurs à la routine
appelante.
Exemple: PROC routine1 (num in_par, INOUT num inout_par,
VAR num var_par, PERS num pers_par)
Un paramètre peut être facultatif et peut être omis de la liste des arguments d'un appel de routine. Un
paramètre facultatif est indiqué par une barre oblique inverse "\" avant le paramètre.
Exemple: PROC routine2 (num par_requis \num par_facultatif)
La valeur d'un paramètre facultatif omis dans un appel de routine ne peut pas être référencée. Cela
signifie que les appels de routine doivent être vérifiés pour les paramètres facultatifs avant qu'un paramètre
facultatif ne soit utilisé.
Deux ou plusieurs paramètres facultatifs peuvent être mutuellement exclusifs (c'estàdire déclarés
s'exclure mutuellement), ce qui signifie qu'un seul d'entre eux peut être présent dans un appel de routine.
Ceci est indiqué par un trait "|" entre les paramètres en question.
Exemple: PROC routine3 (\num exclusion1 | nombre exclusion2)
Le type spécial, switch, peut (seulement) être affecté à des paramètres facultatifs et fournit un moyen
d'utiliser des arguments switch, c'estàdire des arguments qui ne sont spécifiés que par des noms (et
non des valeurs). Une valeur ne peut pas être transférée à un paramètre de commutateur. La seule
façon d'utiliser un paramètre de commutateur est de vérifier sa présence à l'aide de la fonction prédéfinie Présent.
Exemple: PROC routine4 (\allumer | éteindre)
...
SI Présent (off ) ALORS
...
ENDPROC
Les tableaux peuvent être passés en arguments. Le degré d'un argument de tableau doit être conforme
512 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Routines
avec le degré du paramètre formel correspondant. La dimension d'un paramètre de
tableau est « conforme » (marqué d'un « * »). La dimension réelle dépend donc de la
dimension de l'argument correspondant dans un appel de routine. Une routine peut
déterminer la dimension réelle d'un paramètre à l'aide de la fonction prédéfinie, Dim.
Exemple: PROC routine5 (VAR num palette{*,*})
3.3 Résiliation de routine
L'exécution d'une procédure est soit explicitement terminée par une instruction RETURN,
soit implicitement terminée lorsque la fin (ENDPROC, BACKWARD ou ERROR) de la
procédure est atteinte.
L'évaluation d'une fonction doit se terminer par une instruction RETURN.
L'exécution d'une routine d'interruption est explicitement terminée à l'aide de l'instruction
RETURN ou implicitement lorsque la fin (ENDTRAP ou ERROR) de cette routine
d'interruption est atteinte. L'exécution continue à partir du point où l'interruption s'est produite.
3.4 Déclarations de routine
Une routine peut contenir des déclarations de routine (y compris des paramètres), des données, un corps, un
gestionnaire arrière (uniquement des procédures) et un gestionnaire d'erreurs (voir Figure 3). Les déclarations de
routine ne peuvent pas être imbriquées, c'estàdire qu'il n'est pas possible de déclarer une routine dans une routine.
Module
Déclarations de données
Routine un
Déclaration de routine
Routine b
Déclarations de données
Routine c
Corps (instructions)
Routine d
Gestionnaire en arrière
Routine e
Gestionnaire d'erreurs
Figure 3 Une routine peut contenir des déclarations, des données, un corps, un gestionnaire arrière et une erreur
gestionnaire.
Manuel de référence RAPID 513
Machine Translated by Google
Routines Caractéristiques de base RAPID
Déclaration de procédure
Exemple: Multipliez tous les éléments d'un tableau num par un facteur ;
PROC arrmul( VAR num array{*}, num factor)
FOR index FROM 1 TO dim( array, 1 ) DO array{index} :=
array{index} * factor;
FINPOUR
ENDPROC
Déclaration de fonction
Une fonction peut renvoyer n'importe quelle valeur de type de données, mais pas une valeur de tableau.
Exemple: Renvoie la longueur d'un vecteur ;
FUNC num veclen (pos vecteur)
RETOUR
Sqrt(Pow(vecteur.x,2)+Pow(vecteur.y,2)+Pow(vecteur.z,2)); ENDFUNC
Déclaration de trap
Exemple: Répondre à l'interruption du chargeur vide ;
TRAP feeder_empty
wait_feeder ;
RETOUR;
ENTRAÎNEMENT
3.5 Appel de procédure
Lorsqu'une procédure est appelée, les arguments qui correspondent aux paramètres de la procédure doivent
être utilisés :
Les paramètres obligatoires doivent être spécifiés. Ils doivent également être précisés dans le
bon ordre.
Les arguments optionnels peuvent être omis.
Les arguments conditionnels peuvent être utilisés pour transférer des paramètres d'un appel de routine
à un autre.
Voir le chapitre Utilisation des appels de fonction dans les expressions à la page 29 pour plus de détails.
Le nom de la procédure peut être spécifié de manière statique à l'aide d'un identifiant (liaison précoce) ou
évalué pendant l'exécution à partir d'une expression de type chaîne (liaison tardive). Même si la liaison anticipée
doit être considérée comme la forme d'appel de procédure "normale", la liaison tardive fournit parfois un code
très efficace et compact. La liaison tardive est définie en plaçant des signes de pourcentage avant et après la
chaîne qui indique le nom de la procédure.
514 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Routines
Exemple: ! test de liaison
précoce products_id
cas 1 :
proc1 x, y, z ;
cas 2 :
proc2 x, y, z ;
cas 3 :
...
! même exemple en utilisant la liaison
% "proc" + NumToStr(product_id, 0) % x, y, z ;
...
! même exemple en utilisant à nouveau une autre variante de la chaîne
VAR à liaison tardive procname {3} :=["proc1", "proc2", "proc3"] ;
...
% procname{product_id} % x, y, z ;
...
Notez que la liaison tardive n'est disponible que pour les appels de procédure et non pour les appels de
fonction.
3.6 Syntaxe
Déclaration de routine
<déclaration de routine> ::=
[LOCAL] ( <déclaration de procédure> |
<déclaration de fonction> |
<déclaration d'interruption> )
| <commentaire>
| <RDN>
Paramètres
<liste de paramètres> ::=
<première déclaration de paramètre> { <prochaine déclaration de paramètre> }
<première déclaration de paramètre> ::=
<déclaration de paramètre> |
<déclaration de paramètre facultatif>
| <PAR>
<déclaration de paramètre suivant> ::= ','
<déclaration de paramètre> |
<déclaration de paramètre facultatif>
| ',' <PAR>
<déclaration de paramètre facultatif> ::=
'\' ( <déclaration de paramètre> | <ALT> )
{ '|' ( <déclaration de paramètre> | <ALT> ) }
Manuel de référence RAPID 515
Machine Translated by Google
Routines Caractéristiques de base RAPID
<déclaration de paramètre> ::=
[ VAR | PERS | INOUT] <type de données>
<identifiant> [ '{' ( '*' { ',' '*' } ) | <DIM>] '}' | 'switch'
<identifiant>
Déclaration de procédure
<déclaration de procédure> ::=
PROC <nom de procédure> '(' [ <liste
de paramètres> ] ')' <liste de
déclarations de données>
<liste d'instructions>
[ RECUL <liste d'instructions> ]
[ ERREUR <liste d'instructions> ]
ENDPROC <nom
de la procédure> ::= <identifiant> <liste de
déclaration de données> ::= {<déclaration de données>}
Déclaration de fonction
<déclaration de fonction> ::=
FUNC <type de données de valeur>
<nom de fonction>
'(' [ <liste de paramètres> ] ')' <liste
de déclaration de données>
<liste d'instructions>
[ ERREUR <liste d'instructions> ]
ENDFUNC
<nom de la fonction> ::= <identifiant>
Déclaration de routine de déroutement
<déclaration d'interruption> ::=
TRAP <nom de déroutement>
<liste de déclaration de
données> <liste d'instructions>
[ ERREUR <liste d'instructions> ]
ENDTRAP <nom
du piège> ::= <identifiant>
Appel de procédure
<appel de procédure> ::= <procédure> [ <liste d'arguments de procédure> ] ';' <procédure> ::=
<identifiant> |
'%' <expression> '%' <liste
d'arguments de procédure> ::= <premier argument de procédure> { <argument de procédure> }
516 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Routines
<premier argument de
procédure> ::= <argument de
procédure requis> | <argument de
procédure facultatif> | <argument de
procédure
conditionnelle> | <ARG>
<argument de procédure> ::= ','
<argument de procédure requis> |
<argument de procédure facultatif> |
<argument
de procédure conditionnelle> | ',' <ARG> <argument de procédure
requis> ::= [ <identifiant> ':=' ] <expression> <argument de procédure
facultatif> ::= '\' <identifiant> [ ':=' <expression> ] < argument de procédure conditionnelle> ::= '\' <identifian
Manuel de référence RAPID 517
Machine Translated by Google
Types de données Caractéristiques de base RAPID
4 types de données
Il existe deux types de types de données :
Un type atomique est atomique dans le sens où il n'est pas défini sur la base d'un autre type et ne peut pas être
divisé en parties ou composants, par exemple num.
Un type de données d'enregistrement est un type composite avec des composants nommés et ordonnés, par
exemple pos. Un composant peut être de type atomique ou enregistrement.
Une valeur d'enregistrement peut être exprimée à l'aide d'une représentation agrégée ;
Un composant spécifique d'une donnée d'enregistrement est accessible en utilisant le nom de ce composant ;
4.1 Types de données sans valeur
Chaque type de données disponible est soit un type de données valeur , soit un type de données non valeur . En termes
simples, un type de données de valeur représente une certaine forme de « valeur ». Les données sans valeur ne peuvent
pas être utilisées dans les opérations orientées valeur :
Initialisation
Affectation (:=)
Vérifications égales à (=) et différentes de (<>)
Instructions d'essai
Paramètres IN (mode d'accès) dans les appels de routine
Types de données de fonction (retour)
Les types de données d'entrée (signalai, signaldi, signalgi) sont du type de données semi value. Ces données peuvent être
utilisées dans des opérations orientées valeur, à l'exception de l'initialisation et de l'affectation.
Dans la description d'un type de données, il n'est spécifié que lorsqu'il s'agit d'un type de données semivaleur ou non
valeur.
4.2 Types de données égaux (alias)
Un type de données alias est défini comme étant égal à un autre type. Les données avec les mêmes types de données
peuvent être remplacées les unes par les autres.
Exemple: VAR dionum élevé :=1 ;
Niveau numérique C'est OK puisque dionum est un type de données
VAR ; niveau := élevé ; alias pour num
518 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Types de données
4.3 Syntaxe
<type de données> ::= <identifiant>
Manuel de référence RAPID 519
Machine Translated by Google
Données Caractéristiques de base RAPID
5 Données
Il existe trois types de données : les variables, les persistantes et les constantes.
Une variable peut se voir attribuer une nouvelle valeur pendant l'exécution du programme.
Une persistante peut être décrite comme une variable « persistante ». Ceci est accompli en laissant une mise à
jour de la valeur d'une persistance provoquer automatiquement la mise à jour de la valeur d'initialisation de la
déclaration persistante. (Lorsqu'un programme est enregistré, la valeur d'initialisation de toute déclaration de
persistance reflète la valeur actuelle de la persistance.)
Une constante représente une valeur statique et ne peut pas être affectée à une nouvelle valeur.
Une déclaration de données introduit des données en associant un nom (identifiant) à un type de données.
A l'exception des données prédéfinies et des variables de boucle, toutes les données utilisées doivent être déclarées.
5.1 Portée des données
La portée des données désigne la zone dans laquelle les données sont visibles. La directive locale optionnelle d'une
déclaration de données classe les données comme locales (au sein du module), sinon elles sont globales. Notez que la
directive locale ne peut être utilisée qu'au niveau du module, pas à l'intérieur d'une routine.
Exemple: LOCAL VAR nombre variable_locale ;
VAR num variable_globale ;
Les données déclarées en dehors d'une routine sont appelées données de programme. Les règles de portée suivantes s'appliquent
aux données de programme :
La portée des données de programme prédéfinies ou globales peut inclure n'importe quel module.
La portée des données de programme locales comprend le module dans lequel elles sont contenues.
Dans leur portée, les données de programme locales masquent toutes les données ou routines globales portant
le même nom (y compris les instructions et les routines et données prédéfinies).
Les données du programme peuvent ne pas avoir le même nom que d'autres données ou une routine dans le même module.
Les données globales du programme peuvent ne pas avoir le même nom que d'autres données globales ou une routine dans
un autre module. Un persistant peut ne pas avoir le même nom qu'un autre persistant dans le même programme.
Les données déclarées à l'intérieur d'une routine sont appelées données de routine. Notez que les paramètres d'une routine
sont également traités comme des données de routine. Les règles de portée suivantes s'appliquent aux données de routine :
La portée des données de routine comprend la routine dans laquelle elles sont contenues.
Dans son champ d'application, les données de routine masquent toute autre routine ou donnée avec le même
nom.
Voir l'exemple de la figure 4.
520 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Données
Module 1 Module2
Données locales a Données localesa
Données locales b Données locales f
Données c Données g
Données d Routine locale e
Données e1
Données e
h de routine
Données h1
Données c
Figure 4 Exemple : Les données suivantes peuvent être appelées à partir de la routine e :
Module1 : Données c, d.
Module2 : Données a, f, g, e1.
Les données suivantes peuvent être appelées à partir de la routine h :
Module1 : Données d.
Module2 : Données a, f, g, h1, c.
Les données de routine peuvent ne pas avoir le même nom que d'autres données ou une étiquette dans la même routine.
5.2 Déclaration des variables
Une variable est introduite par une déclaration de variable.
Exemple: VAR nombre x ;
Les variables de tout type peuvent recevoir un format de tableau (de degré 1, 2 ou 3) en ajoutant des
informations dimensionnelles à la déclaration. Une dimension est une valeur entière supérieure à 0.
Exemple: VAR pos palette{14, 18} ;
Les variables avec des types valeur peuvent être initialisées (avec une valeur initiale). L'expression
utilisée pour initialiser une variable programme doit être constante. Notez que la valeur d'une variable
non initialisée peut être utilisée, mais elle est indéfinie, c'estàdire fixée à zéro.
Exemple: chaîne VAR nom_auteur := "John Smith" ;
VAR pos start := [100, 100, 50] ;
VAR num maxno{10} := [1, 2, 3, 9, 8, 7, 6, 5, 4, 3] ;
La valeur d'initialisation est définie lorsque :
le programme est ouvert,
le programme est exécuté depuis le début du programme.
Manuel de référence RAPID 521
Machine Translated by Google
Données Caractéristiques de base RAPID
5.3 Déclaration persistante
Les persistants ne peuvent être déclarés qu'au niveau du module, pas à l'intérieur d'une routine, et doivent
recevoir une valeur initiale. La valeur d'initialisation doit être une valeur unique (sans données ni
opérandes), ou un agrégat unique avec des membres qui, à leur tour, sont des valeurs uniques ou des
agrégats uniques.
Exemple: PERS pos refpnt := [100.23, 778.55, 1183.98] ;
Les persistants de tout type peuvent recevoir un format de tableau (de degré 1, 2 ou 3) en ajoutant des
informations dimensionnelles à la déclaration. Une dimension est une valeur entière supérieure à 0.
Exemple: PERS pos palette{14, 18} ;
Notez que si la valeur d'une persistance est mise à jour, cela entraîne automatiquement la mise à jour de la
valeur d'initialisation de la déclaration de la persistance.
Exemple: PERS num reg1 := 0;
...
reg1 := 5;
Après exécution, le programme ressemble à ceci :
PERS num reg1 := 5;
...
reg1 := 5;
5.4 Déclaration constante
Une constante est introduite par une déclaration de constante. La valeur d'une constante ne peut pas être
modifiée.
Exemple: CONST num pi := 3.141592654;
Une constante de n'importe quel type peut recevoir un format de tableau (de degré 1, 2 ou 3) en ajoutant
des informations dimensionnelles à la déclaration. Une dimension est une valeur entière supérieure à 0.
5.5 Initialisation des données
Dans le tableau cidessous, vous pouvez ce qui se passe dans diverses activités, par exemple chaud et froid
commencer.
522 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Données
Tableau 1
Interruptions commandées
démarrage
Sys_reset
(avec motn
??? ensemble
choses)
Des dossiers
Inchangé Se ferme Se ferme Se ferme Se ferme Inchangé Inchangé Inchangé
* Ne s'exécute pas lorsque la mémoire est vide, uniquement lorsqu'un programme doit d'abord être supprimé.
5.6 Syntaxe
Déclaration de données
<déclaration de données> ::=
[LOCAL] ( <déclaration de variable> |
<déclaration persistante> |
<déclaration constante> ) |
<commentaire>
| <NDD>
Déclaration des variables
<déclaration de variable> ::=
VAR <type de données> <définition de variable> ';'
<définition de variable> ::=
<identifiant> [ '{' <dim> { ',' <dim> } '}' ] [ ':=' <expression
constante> ]
<dim> ::= <expression constante>
Déclaration persistante
<déclaration persistante> ::=
PERS <type de données> <définition persistante> ';'
Manuel de référence RAPID 523
Machine Translated by Google
Données Caractéristiques de base RAPID
<définition persistante> ::=
<identifiant> [ '{' <dim> { ',' <dim> } '}' ] ':='
<expression littérale>
Déclaration constante
<déclaration constante> ::=
CONST <type de données> <définition constante> ';'
<définition constante> ::=
<identifiant> [ '{' <dim> { ',' <dim> } '}' ] ':='
<expression constante>
<dim> ::= <expression constante>
524 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Instructions
6 Consignes
Les instructions sont exécutées successivement à moins qu'une instruction de déroulement du programme ou
une interruption ou une erreur n'entraîne la poursuite de l'exécution à un autre endroit.
La plupart des instructions se terminent par un pointvirgule ";". Une étiquette se termine par deux
points ":". Certaines instructions peuvent contenir d'autres instructions et se terminent par des mots
clés spécifiques :
Instruction Mot de terminaison
SI FIN SI
POUR FINPOUR
ALORS QUE ENFIN
TEST ENDTEST
Exemple: Indice TANT QUE < 100 DO
.
index := index + 1;
ENFIN
6.1 Syntaxe
<liste d'instructions> ::= { <instruction> }
<instruction> ::=
[<instruction selon le chapitre séparé de ce manuel>
| <SMT>
Manuel de référence RAPID 525
Machine Translated by Google
Expressions Caractéristiques de base RAPID
7 phrases
Une expression spécifie l'évaluation d'une valeur. Il peut être utilisé, par exemple :
dans une instruction d'affectation par exemple a:=3*b/
comme argument dans une instruction ALORS par exemple temps
comme argument dans un appel de fonction d'attente ; par exemple a:=Abs(3*b);
7.1 Expressions arithmétiques
Une expression arithmétique est utilisée pour évaluer une valeur numérique.
Exemple: 2*pi*rayon
Le tableau 2 montre les différents types d'opérations possibles.
Tableau 2
+ idem1)3)
plus unaire ; garder le signe +num ou +pos
idem1)3)
moins unaire ; changer de signe num ou pos
* nombre
*
nombre num3)
multiplication
* nombre
* * nombre
multiplication vectorielle scalaire pos ou pos position
* *
produit vectoriel position position position
* orienter * orienter Orient
enchaînement des rotations
1. Le résultat reçoit le même type que l'opérande. Si l'opérande a un type de données alias, le
résultat reçoit le type "base" alias (num ou pos).
2. Opérations sur des nombres entiers, par exemple 14 DIV 4=3, 14 MOD 4=2.
(Les opérandes non entiers sont illégaux.)
3. Préserve la représentation entière (exacte) tant que les opérandes et le résultat sont conservés
dans le sousdomaine entier du type num.
526 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Expressions
7.2 Expressions logiques
Une expression logique est utilisée pour évaluer une valeur logique (TRUE/FALSE).
Exemple: a>5 ET b=3
Le tableau 3 montre les différents types d'opérations possibles.
Tableau 3
= 1)= 1) n'importe lequel n'importe
égal à lequel
bourdonner
ET et booléen ET booléen bourdonner
OU ou booléen OU booléen bourdonner
1) Uniquement les types de données de valeur. Les opérandes doivent avoir des types égaux.
un ET b un OU exclusif b
un Vrai faux un Vrai faux
b b
Vrai Vrai faux Vrai Faux vrai
FAUX Faux Faux FAUX Vrai faux
a ou B PAS b
un Vrai faux
b b
Vrai Vrai vrai Vrai FAUX
FAUX Vrai faux FAUX Vrai
7.3 Expressions de chaîne
Une expression de chaîne est utilisée pour effectuer des opérations sur des chaînes.
Manuel de référence RAPID 527
Machine Translated by Google
Expressions Caractéristiques de base RAPID
Le tableau 4 montre la seule opération possible.
.
Tableau 4
7.4 Utiliser des données dans des expressions
Une variable entière, persistante ou constante peut faire partie d'une expression.
Exemple: 2*pi*rayon
Tableaux
Une variable, persistante ou constante déclarée comme un tableau peut être référencée à l'ensemble du tableau
ou à un seul élément.
Un élément de tableau est référencé à l'aide du numéro d'index de l'élément. L'index est une valeur entière
supérieure à 0 et ne doit pas violer la dimension déclarée. La valeur d'index 1 sélectionne le premier élément. Le
nombre d'éléments dans la liste d'index doit correspondre au degré déclaré (1, 2 ou 3) du tableau.
Exemple: VAR num ligne{3} ;
Colonne VAR num{3} ;
valeur numérique VAR ;
.
valeur := colonne{3} ; un seul élément du tableau tous les
ligne := colonne; éléments du tableau
Dossiers
Une variable, persistante ou constante déclarée en tant qu'enregistrement peut être référencée à l'ensemble de
l'enregistrement ou à un seul composant.
Un composant d'enregistrement est référencé à l'aide du nom du composant.
Exemple: VAR pos domicile ;
VAR pos pos1 ;
VAR valeur numérique ;
..
yvalue := home.y; la composante Y uniquement
pos1 := domicile ; la position entière
528 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Expressions
7.5 Utilisation d'agrégats dans les expressions
Un agrégat est utilisé pour les valeurs d'enregistrement ou de tableau.
Exemple: pos := [x, y, 2*x] ; pos record agrégat posarr := [[0, 0, 100],
[0,0,z]] ; agrégat de tableau pos
Il doit être possible de déterminer le type de données d'un agrégat du contexte. Le type de données
de chaque membre agrégé doit être égal au type du membre correspondant du type déterminé.
Exemple VAR pos pl;
p1 :=[1, 100, 12] ; type d'agrégat pos déterminé par p1
SI [1, 100, 12] = [a,b,b,] ALORS illégal car le type de données d'aucun des
agrégats ne peut être déterminé
par le contexte.
7.6 Utilisation des appels de fonction dans les expressions
Un appel de fonction lance l'évaluation d'une fonction spécifique et reçoit la valeur renvoyée par la
fonction.
Exemple: Péché (angle)
Les arguments d'un appel de fonction sont utilisés pour transférer des données vers (et
éventuellement depuis) la fonction appelée. Le type de données d'un argument doit être égal au
type du paramètre correspondant de la fonction. Les arguments optionnels peuvent être omis mais
l'ordre des arguments (présents) doit être le même que l'ordre des paramètres formels. De plus, deux
arguments facultatifs ou plus peuvent être déclarés pour s'exclure mutuellement, auquel cas un
seul d'entre eux peut être présent dans la liste d'arguments.
Un argument requis (obligatoire) est séparé de l'argument précédent par une virgule ",". Le nom
du paramètre formel peut être inclus ou omis.
Exemple: Polar(3.937, 0.785398) deux arguments obligatoires
Polar(Dist:=3.937, Angle:=0.785398)... en utilisant des noms
Un argument facultatif doit être précédé d'une barre oblique inverse "\" et du nom formel du paramètre.
Un argument de type switch est quelque peu spécial ; il ne peut inclure aucune expression d'argument.
Au lieu de cela, un tel argument ne peut être que "présent" ou "non présent".
Les arguments conditionnels sont utilisés pour prendre en charge la propagation en douceur des
arguments facultatifs à travers des chaînes d'appels de routine. Un argument conditionnel est
considéré comme "présent" si le paramètre optionnel spécifié (de la fonction appelante) est présent, sinon il est
Manuel de référence RAPID 529
Machine Translated by Google
Expressions Caractéristiques de base RAPID
simplement considéré comme omis. Notez que le paramètre spécifié doit être facultatif.
Exemple: PROC Read_from_file (fichier iodev \num Maxtime)
..
caractère :=ReadBin (Fichier \Heure?Maxtime); ! Max.
time n'est utilisé que s'il est spécifié lors de l'appel de la routine !
Lire_depuis_le_fichier
..
ENDPROC
La liste des paramètres d'une fonction affecte un mode d'accès à chaque paramètre. Le mode d'accès peut
être in, inout, var ou pers :
Un paramètre IN (par défaut) permet à l'argument d'être n'importe quelle expression. La fonction
appelée considère le paramètre comme une constante.
Un paramètre INOUT nécessite que l'argument correspondant soit une variable (entière, élément
de tableau ou composant d'enregistrement) ou une persistance entière. La fonction appelée obtient
un accès complet (lecture/écriture) à l'argument.
Un paramètre VAR nécessite que l'argument correspondant soit une variable (entier, élément de
tableau ou composant d'enregistrement). La fonction appelée obtient un accès complet (lecture/
écriture) à l'argument.
Un paramètre PERS nécessite que l'argument correspondant soit un persistant entier. La fonction
appelée obtient un accès complet (lecture/mise à jour) à l'argument.
7.7 Priorité entre opérateurs
La priorité relative des opérateurs détermine l'ordre dans lequel ils sont évalués.
Les parenthèses permettent de remplacer la priorité de l'opérateur. Les règles cidessous impliquent la priorité
d'opérateur suivante :
* / MOD DIV le plus élevé
+
< > <> <= >= =
ET
XOR OU NON le plus bas
Un opérateur de haute priorité est évalué avant un opérateur de faible priorité. Les opérateurs de même
priorité sont évalués de gauche à droite.
Exemple
530 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Expressions
a ET b OU c ET d (a ET b) OU (c ET d) ET supérieur à
OU
a < b ET c < d (a < b) ET (c < d) < supérieur à ET
7.8 Syntaxe
Expressions
<expression> ::=
<expression>
| <EXP>
<expr> ::= [ NOT ] <terme logique> { ( OR | XOR ) <terme logique> } <terme
logique> ::= <relation> { AND <relation> } <relation> ::= <
expression simple> [ <relop> <expression simple> ] <expression
simple> ::= [ <addop> ] <term> { <addop> <term> } <term> ::=
<primary> { <mulop> <primary > } <primaire> ::=
<littéral> |
<variable> |
<persistant>
| <constante> |
<paramètre>
| <appel de
fonction> |
<agrégat> | '('
<expression> ')'
Les opérateurs
<relop> ::= '<' | '<=' | '=' | '>' | '>=' | '<>' <addop> ::=
'+' | '' <mulop> ::=
'*' | '/' | DIV | MOD
Valeurs constantes
<littéral> ::= <num littéral> |
<chaîne littérale>
| <bool littéral>
Données
<variable> ::=
<variable entière> |
<élément variable> |
<composant variable>
<variable entière> ::= <ident>
<élément variable> ::= <variable entière> '{' <liste d'index> '}'
Manuel de référence RAPID 531
Machine Translated by Google
Expressions Caractéristiques de base RAPID
<liste d'index> ::= <expr> { ',' <expr> }
<composant variable> ::= <variable> '.' <nom du composant> <nom
du composant> ::= <ident>
<persistant> ::=
<persistant entier> |
<élément persistant> |
<composant persistant>
<constante> ::=
<constante entière>
| <élément constant> |
<composante constante>
Agrégats
<aggregate> ::= '[' <expr> { ',' <expr> } ']'
Appels de fonction
<appel de fonction> ::= <fonction> '(' [ <liste d'arguments de fonction> ]
')' <fonction> ::= <ident>
<liste d'arguments de fonction> ::= <premier argument de fonction> { <argument de
fonction> } <premier argument
de fonction> ::= <argument de
fonction requis> | <argument de
fonction facultatif> | <argument de
fonction conditionnel>
<argument de fonction> ::= ','
<argument de fonction requis> |
<argument de fonction facultatif> |
<argument de fonction conditionnel> <argument de fonction
requis> ::= [ <ident> ':=' ] <expr> <argument de fonction facultatif> ::=
'\' <ident> [ ':=' <expr> ] <conditionnel argument de la fonction> ::= '\' <ident> '?' <paramètre>
Expressions spéciales
<expression constante> ::= <expression>
<expression littérale> ::= <expression>
<expression conditionnelle> ::= <expression>
Paramètres
<paramètre> ::=
<paramètre entier> |
<élément de paramètre>
| <composant de paramètre>
532 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Récupération d'erreur
8 Récupération d'erreur
Une erreur d'exécution est une situation anormale, liée à l'exécution d'un morceau spécifique d'un programme. Une
erreur rend la poursuite de l'exécution impossible (ou du moins dangereuse).
"Débordement" et "division par zéro" sont des exemples d'erreurs. Les erreurs sont identifiées par leur numéro
d'erreur unique et sont toujours reconnues par le robot. L'apparition d'une erreur provoque la suspension de
l'exécution normale du programme et le contrôle est passé à un gestionnaire d'erreurs. Le concept de gestionnaire
d'erreurs permet de répondre et, éventuellement, de récupérer des erreurs qui surviennent pendant l'exécution du
programme. Si la poursuite de l'exécution n'est pas possible, le gestionnaire d'erreurs peut au moins s'assurer que
le programme reçoit un avortement gracieux.
8.1 Gestionnaires d'erreurs
Toute routine peut inclure un gestionnaire d'erreurs. Le gestionnaire d'erreurs fait vraiment partie de la routine, et
la portée de toute donnée de routine comprend également le gestionnaire d'erreurs de la routine.
Si une erreur se produit pendant l'exécution de la routine, le contrôle est transféré à son gestionnaire d'erreurs.
Exemple: FUNC num safediv( num x, num y)
RETOUR x/y ;
ERREUR
SI ERRNO = ERR_DIVZERO ALORS
TPWrite "Le nombre ne peut pas être égal à 0" ; RETOUR
x ; ENDIF !Toutes
les autres
erreurs sont propagées RAISE; ENDFUNC
La variable système ERRNO contient le numéro d'erreur de l'erreur (la plus récente) et peut être utilisée par le
gestionnaire d'erreurs pour identifier cette erreur. Une fois toutes les actions nécessaires effectuées, le gestionnaire
d'erreurs peut :
Reprendre l'exécution en commençant par l'instruction dans laquelle l'erreur s'est produite.
Ceci est fait en utilisant l'instruction RETRY. Si cette instruction provoque à nouveau la même erreur,
jusqu'à cinq récupérations d'erreur auront lieu ; après cette exécution s'arrêtera.
Reprendre l'exécution en commençant par l'instruction suivant l'instruction dans laquelle l'erreur s'est
produite. Cela se fait à l'aide de l'instruction TRYNEXT.
Rendre le contrôle à l'appelant de la routine à l'aide de l'instruction RETURN. Si la routine est une fonction,
l'instruction RETURN doit spécifier une valeur de retour appropriée.
Propager l'erreur à l'appelant de la routine à l'aide de l'instruction RAISE.
Un gestionnaire d'erreurs devrait normalement se terminer par RAISE ou EXIT, afin de prendre en charge les
erreurs qui ne peuvent pas être gérées.
Dans une chaîne d'appels de routine, chaque routine peut avoir son propre gestionnaire d'erreurs. Si une erreur
Manuel de référence RAPID 533
Machine Translated by Google
Récupération d'erreur Caractéristiques de base RAPID
se produit dans une routine qui ne contient pas de gestionnaire d'erreurs (ou si l'erreur est explicitement propagée à
l'aide de l'instruction raise), la même erreur est déclenchée à nouveau au point où la routine a été appelée l'erreur est
propagée . Si le sommet de la chaîne d'appel est atteint sans qu'aucun gestionnaire d'erreurs ne soit trouvé, le gestionnaire
d'erreurs système est appelé. Le gestionnaire d'erreurs système signale simplement l'erreur et arrête l'exécution. Si une
erreur est propagée à partir d'une routine d'interruption, cela entraînera l'arrêt immédiat de l'exécution par le gestionnaire
d'erreurs du système.
La reprise sur erreur n'est pas disponible pour les instructions du gestionnaire en amont. Ces erreurs sont toujours
propagées au gestionnaire d'erreurs système.
En plus des erreurs détectées et générées par le robot, un programme peut explicitement générer des erreurs à l'aide
de l'instruction RAISE. Cette facilité peut être utilisée pour se remettre de situations complexes. Il peut, par exemple, être
utilisé pour échapper à des positions de code profondément imbriquées.
Les numéros d'erreur 1 à 90 peuvent être utilisés dans l'instruction de relance. Les erreurs explicitement déclenchées
sont traitées exactement comme les erreurs générées par le système.
Notez qu'il n'est pas possible de récupérer ou de répondre à des erreurs qui se produisent dans une clause d'erreur. Ces
erreurs sont toujours propagées au gestionnaire d'erreurs système.
534 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Interruptions
9 interruptions
Les interruptions sont des événements définis par le programme, identifiés par des numéros d'interruption.
Une interruption se produit lorsqu'une condition d'interruption est vraie. Contrairement aux erreurs, l'occurrence
d'une interruption n'est pas directement liée à (synchrone avec) une position de code spécifique. L'apparition
d'une interruption provoque la suspension de l'exécution normale du programme et le contrôle est passé
à une routine d'interruption.
Même si le robot reconnaît immédiatement l'occurrence d'une interruption (uniquement retardée par
la vitesse du matériel), sa réponse en appelant la routine de déroutement correspondante ne peut
avoir lieu qu'à des positions de programme spécifiques, à savoir :
lors de la saisie de l'instruction suivante, à
tout moment pendant l'exécution d'une instruction en attente, par exemple WaitUntil,
à tout moment pendant l'exécution d'une instruction de mouvement, par exemple MoveL.
Cela entraîne normalement un délai de 5 à 120 ms entre la reconnaissance de l'interruption et la
réponse, selon le type de mouvement effectué au moment de l'interruption.
Le déclenchement des interruptions peut être désactivé et activé. Si les interruptions sont désactivées, toute
interruption qui se produit est mise en file d'attente et n'est pas déclenchée tant que les interruptions ne sont pas
réactivées. Notez que la file d'attente d'interruptions peut contenir plusieurs interruptions en attente. Les
interruptions en file d'attente sont déclenchées dans l'ordre FIFO . Les interruptions sont toujours désactivées pendant
l'exécution d'une routine d'interruption.
Lors de l'exécution pas à pas et lorsque le programme a été arrêté, aucune interruption ne sera gérée.
Les interruptions générées dans ces circonstances ne sont pas traitées.
Le nombre maximal d'interruptions simultanées est de 40.
9.1 Manipulation des interruptions
La définition d'une interruption la fait connaître au robot. La définition spécifie la condition d'interruption
et active l'interruption.
Exemple: VAR intnum sig1int ;
.
ISignalDI di1, haut, sig1int ;
Une interruption activée peut à son tour être désactivée (et vice versa).
La suppression d'une interruption supprime sa définition. Il n'est pas nécessaire de supprimer explicitement une
définition d'interruption, mais une nouvelle interruption ne peut pas être définie pour une variable d'interruption
tant que la définition précédente n'a pas été supprimée.
Manuel de référence RAPID 535
Machine Translated by Google
Interruptions Caractéristiques de base RAPID
Exemple: IDuppression sig1int ;
9.2 Routines de déroutement
Les routines de déroutement fournissent un moyen de traiter les interruptions. Une routine d'interruption peut
être connectée à une interruption particulière à l'aide de l'instruction CONNECT. Lorsqu'une interruption se
produit, le contrôle est immédiatement transféré à la routine d'interruption associée (le cas échéant). Si une
interruption se produit, qui n'a pas de routine de déroutement connectée, cela est traité comme une erreur fatale,
c'estàdire provoque l'arrêt immédiat de l'exécution du programme.
Exemple: VAR intnum vide ;
VAR intnum complet ;
.PROC main()
CONNECT vide AVEC ettrap ; connecter des routines de déroutement
CONNEXION complète AVEC fttrap ;
ISignalDI di1, haut, vide ; définir les interruptions de ligne
ISignalDI di3, haut, plein ;
.
IDuppression vide ;
IDuppression complète ;
ENDPROC
TRAP ettrap répond à l'interruption
open_valve ; "chargeur vide"
RETOUR;
ENTRAÎNEMENT
TRAP ftrap répond à l'interruption "chargeur
close_valve ; plein"
RETOUR;
ENTRAÎNEMENT
Plusieurs interruptions peuvent être connectées à la même routine de déroutement. La variable système
INTNO contient le numéro d'interruption et peut être utilisée par une routine d'interruption pour identifier une
interruption. Une fois l'action nécessaire effectuée, une routine d'interruption peut être terminée à l'aide de
l'instruction RETURN ou lorsque la fin (ENDTRAP ou ERROR) de la routine d'interruption est atteinte. L'exécution
continue à partir de l'endroit où l'interruption s'est produite.
536 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Exécution à rebours
10 Exécution à rebours
Un programme peut être exécuté à l'envers une instruction à la fois. Les restrictions générales suivantes sont
valables pour l'exécution en arrière :
Les instructions IF, FOR, WHILE et TEST ne peuvent pas être exécutées à l'envers.
Il n'est pas possible de revenir en arrière d'une routine en atteignant le début
de la routine.
10.1 Gestionnaires en arrière
Les procédures peuvent contenir un gestionnaire arrière qui définit l'exécution arrière d'un appel de procédure.
Le gestionnaire en amont fait réellement partie de la procédure et la portée de toutes les données de routine
comprend également le gestionnaire en amont de la procédure.
Exemple: PROC Déplacer vers ()
MoveL p1,v500,z10,tool1 ;
MoveL p2,v500,z10,tool1 ;
MoveL p3,v500,z10,tool1 ;
EN ARRIÈRE
MoveL p3,v100,z10,tool1 ;
MoveL p2,v100,z10,tool1 ;
MoveL p1,v100,z10,tool1 ;
ENDPROC
Lorsque la procédure est appelée pendant l'exécution directe, les événements suivants se produisent :
PROC Déplacer vers ()
.. MoveL p1,v500,z10,tool1 ;
Déménager à; MoveL p2,v500,z10,tool1 ;
.. MoveL p3,v500,z10,tool1 ;
EN ARRIÈRE
MoveL p3,v100,z10,tool1 ;
MoveL p2,v100,z10,tool1 ;
MoveL p1,v100,z10,tool1 ;
ENDPROC
Manuel de référence RAPID 537
Machine Translated by Google
Exécution à rebours Caractéristiques de base RAPID
Lorsque la procédure est appelée lors de l'exécution à rebours, les événements suivants se produisent :
PROC Déplacer vers ()
.. MoveL p1,v500,z10,tool1 ;
Déménager à; MoveL p2,v500,z10,tool1 ;
.. MoveL p3,v500,z10,tool1 ;
EN ARRIÈRE
MoveL p3,v100,z10,tool1 ;
MoveL p2,v100,z10,tool1 ;
MoveL p1,v100,z10,tool1 ;
ENDPROC
Les instructions dans le gestionnaire d'erreurs ou en arrière d'une routine ne peuvent pas être exécutées
en arrière. L'exécution vers l'arrière ne peut pas être imbriquée, c'estàdire que deux instructions d'une chaîne
d'appel ne peuvent pas être exécutées simultanément vers l'arrière.
Une procédure sans gestionnaire arrière ne peut pas être exécutée à l'envers. Une procédure avec un
gestionnaire arrière vide est exécutée comme "aucune opération".
538 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Multitâche
11 Multitâche
Les événements dans une cellule robotisée sont souvent parallèles, alors pourquoi les programmes ne sontils pas parallèles ?
Le multitâche RAPID est un moyen d'exécuter des programmes en (pseudo)parallèle avec l'exécution normale. L'exécution
est lancée à la mise sous tension et se poursuivra indéfiniment, à moins qu'une erreur ne se produise dans ce programme.
Un programme parallèle peut être placé en arrièreplan ou au premier plan d'un autre programme. Il peut également être au
même niveau qu'un autre programme.
Pour utiliser cette fonction, le robot doit être configuré avec une TÂCHE supplémentaire pour chaque programme d'arrière
plan.
Jusqu'à 10 tâches différentes peuvent être exécutées en pseudo parallèle. Chaque tâche consiste en un ensemble de
modules, de la même manière que le programme normal. Tous les modules sont locaux dans chaque tâche.
Les variables et les constantes sont locales dans chaque tâche, mais les persistantes ne le sont pas. Une persistance avec le
même nom et le même type est accessible dans toutes les tâches. Si deux persistants ont le même nom, mais que leur type
ou leur taille diffèrent, une erreur d'exécution se produira.
Une tâche a sa propre gestion des interruptions et les routines d'événement ne sont déclenchées que sur ses propres états
système de tâche (par exemple Démarrer/Arrêter/Redémarrer...).
Il existe quelques restrictions sur l'utilisation de Multitasking RAPID.
Ne mélangez pas les programmes parallèles avec un automate. Le temps de réponse est le même que le temps de
réponse d'interruption pour une tâche. Cela est vrai, bien sûr, lorsque la tâche n'est pas en arrièreplan d'un autre
programme occupé
Il n'y a qu'un seul pendentif d'apprentissage physique, veillez donc à ce qu'une demande TPWrite ne soit pas
mélangée dans la fenêtre opérateur pour toutes les tâches.
Lors de l'exécution d'une instruction Wait en mode manuel, une fenêtre de simulation apparaît au bout de 3
secondes. Cela ne se produira que dans la tâche principale.
Les instructions de déplacement ne peuvent être exécutées que dans la tâche principale (la tâche est liée à
l'instance de programme 0, voir Guide de l'utilisateur Paramètres système).
L'exécution d'une tâche s'arrêtera pendant que d'autres tâches accèdent au système de fichiers, c'estàdire
si l'opérateur choisit d'enregistrer ou d'ouvrir un programme, ou si le programme d'une tâche utilise le chargement/
effacement/lecture/ rédiger des consignes.
Le Teach Pendant ne peut pas accéder à d'autres tâches que la tâche principale. Ainsi, le développement de
programmes RAPID pour d'autres tâches ne peut se faire que si le code est chargé dans la tâche principale,
ou hors ligne.
Pour tous les réglages, voir Guide de l'utilisateur Paramètres système.
11.1 Synchronisation des tâches
Dans de nombreuses applications, une tâche parallèle ne supervise qu'une unité de cellule, tout à fait indépendamment des
autres tâches en cours d'exécution. Dans de tels cas, aucun mécanisme de synchronisation n'est nécessaire. Mais il existe
d'autres applications qui ont besoin de savoir quelle est la tâche principale
Manuel de référence RAPID 539
Machine Translated by Google
Multitâche Caractéristiques de base RAPID
faire, par exemple.
Synchronisation à l'aide de l'interrogation
C'est la façon la plus simple de le faire, mais les performances seront les plus lentes.
Les persistants sont ensuite utilisés avec les instructions WaitUntil, IF, WHILE ou GOTO.
Si l'instruction WaitUntil est utilisée, elle interrogera en interne toutes les 100 ms. N'interrogez pas plus
fréquemment dans d'autres implémentations.
Exemple
TÂCHE 0
MODULE module1
PERS BOOL startsync :=FALSE ;
PROC principal()
startsync := VRAI ;
.
ENDPROC
MODULE FINAL
TACHE 1
MODULE module2
PERS BOOL startsync :=FALSE ;
PROC principal()
WaitJusqu'au début de la synchronisation ;
ENDPROC
MODULE FINAL
Synchronisation à l'aide d'une interruption
Pour utiliser cette méthode, une interconnexion doit être préparée entre deux signaux d'E/S ; une sortie
croisée connectée à une entrée. L'instruction SetDO, ISignalDI ou WaitDI est alors utilisée.
Exemple
Dans cet exemple, do1 est connecté à di1.
TÂCHE 0
540 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Multitâche
MODULE module1
PERS BOOL startsync :=FALSE ;
PROC principal()
SetDO do1,1 ;
.
ENDPROC
MODULE FINAL
TACHE 1
MODULE module2
LOCAL VAR intnum isiiint1 ;
PROC principal()
CONNECTER isiint1 AVEC isi_trap ;
ISignalDI di1, 1, isiiint1 ;
TANT QUE VRAI FAIRE
Temps d'attente 200 ;
ENFIN
ENDPROC
TRAP isi_trap
ENTRAÎNEMENT
MODULE FINAL
11.2 Communication intertâches
Tous les types de données peuvent être envoyés entre deux (ou plusieurs) tâches avec des variables persistantes.
Une variable persistante est globale dans toutes les tâches. La variable persistante doit être du même type
et de la même taille (dimension tableau) dans toutes les tâches qui l'ont déclarée. Sinon, une erreur
d'exécution se produira.
Toutes les déclarations doivent spécifier une valeur init à la variable persistante, mais seul le premier
module chargé avec la déclaration l'utilisera.
Exemple
TÂCHE 0
MODULE module1
PERS BOOL startsync :=FALSE ;
PERS STRING chaîneàenvoyer :=" ;
PROC principal()
Manuel de référence RAPID 541
Machine Translated by Google
Multitâche Caractéristiques de base RAPID
stringtosend:="c'est un test" ;
startsync := VRAI
ENDPROC
MODULE FINAL
TACHE 1
MODULE module2
PERS BOOL startsync :=FALSE ;
PERS STRING chaîneàenvoyer :=" ;
PROC principal()
WaitJusqu'au début de la synchronisation ;
!read string SI
stringtosend = "ceci est un test" ALORS
ENDPROC
MODULE FINAL
11.3 Type de tâche
Chaque tâche supplémentaire (pas 0) est démarrée dans la séquence de démarrage du système. Si la tâche
est de type STATIC, elle sera redémarrée à la position actuelle (où se trouvait PP lorsque le système a été mis
hors tension), mais si le type est défini sur SEMISTATIC, elle sera redémarrée depuis le début à chaque fois que
l'alimentation est coupée. allumé.
Il est également possible de définir la tâche sur le type NORMAL, elle se comportera alors de la même manière
que la tâche 0 (la tâche principale, contrôlant le mouvement du robot). Le pendentif d'apprentissage ne peut être
utilisé que pour démarrer la tâche 0, donc la seule façon de démarrer d'autres tâches NORMALES est d'utiliser
CommunicationWare.
11.4 Priorités
La façon d'exécuter les tâches par défaut consiste à exécuter toutes les tâches au même niveau de manière
circulaire (une étape de base sur chaque instance). Mais il est possible de changer la priorité d'une tâche en
mettant la tâche en arrièreplan d'une autre. Ensuite, l'arrièreplan ne s'exécutera que lorsque l'avantplan attend
certains événements ou a arrêté l'exécution (inactif). Un programme de robot avec des instructions de mouvement
sera dans un état inactif la plupart du temps.
L'exemple cidessous décrit certaines situations où le système a 10 tâches (voir Fig ure 5)
Chaîne à tour de rôle 1 : les tâches 0, 1 et 8 sont occupées
542 Manuel de référence RAPID
Machine Translated by Google
Caractéristiques de base RAPID Multitâche
Chaîne à tour de rôle 2 : les tâches 0, 3, 4, 5 et 8 sont occupées
les tâches 1 et 2 sont inactives
Chaîne de round robbin 3 : les tâches 2, 4 et 5 sont occupées
les tâches 1, 2, 9 et 10 sont inactives.
Chaîne à tour de rôle 4 : les tâches 6 et 7 sont occupées
les tâches 0, 1, 2, 3 4, 5, 8 et 9 sont inactives
chaîne 1
chaîne 2
tâche 0
tâche 4
tâche 5 tâche 6
tâche 7
chaîne 3
chaîne 4
tâche 8 tâche 9
Figure 5 Les tâches peuvent avoir des priorités différentes.
11.5 Tailles des tâches
Le système alimentera une zone mémoire avec une installation en fonction de sa taille. Cette zone est partagée par
toutes les tâches.
Si la mémoire d'une tâche est définie dans les paramètres système, elle recevra la quantité de mémoire spécifiée.
Toutes les tâches sans spécification de taille partageront la partie libre de la zone fournie de la manière suivante. Si la
taille de la tâche principale n'est pas spécifiée, le pourcentage lui sera attribué
Manuel de référence RAPID 543
Machine Translated by Google
Multitâche Caractéristiques de base RAPID
l'âge de la zone libre spécifié dans le paramètre MemoryTask0 (voir Paramètres système). Le reste de la
zone libre sera réparti entre les autres tâches à parts égales.
La valeur d'une variable persistante sera stockée dans une partie séparée du système et n'affectera pas la
zone de mémoire cidessus. Voir Paramètres système AveragePers.
11.6 Quelque chose à penser
Lorsque vous spécifiez des priorités de tâches, vous devez penser aux points suivants :
Utilisez toujours le mécanisme d'interruption ou des boucles avec des retards dans les tâches de supervision.
Sinon, le pendentif d'apprentissage n'aura jamais le temps d'interagir avec l'utilisateur.
Et si la tâche de supervision est au premier plan, elle ne permettra jamais à une autre tâche de
s'exécuter en arrièreplan.
544 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S
CONTENU
Page
1 Systèmes de coordonnées .................................................. .................................................. ....... 3 1.1
Le point central de l'outil du robot (TCP) ...................... ........................................ 3 1.2 Systèmes
de coordonnées utilisés pour déterminer la position des le TCP.............................. 3 1.2.1 Système
de coordonnées de base............ .................................................. .................. 3 1.2.2 Système
de coordonnées mondial .................. .................................................. .. 4
1.2.3 Système de coordonnées utilisateur ....................................... .................................... 5
1.2.4 Système de coordonnées de l'objet........................................ .................................. 5
1.2.5 Système de coordonnées de déplacement.......... .................................................. ...... 6
1.2.6 Axes externes coordonnés ...................................... ....................................... 7
1.3 Systèmes de coordonnées utilisés pour déterminer la direction de l'outil............... 8 1.3.1
Système de coordonnées du poignet... .................................................. ....................... 9 1.3.2
Système de coordonnées de l'outil .................. .................................................. ............. 9
1.3.3 TCP stationnaires .................................. .................................................. ......... 10 1.4
Informations connexes .................................. .................................................. .......... 12
2 Positionnement pendant l'exécution du programme.............................................. ..................................
13 2.1 Généralités.............. .................................................. ............................................... 13
2.2 Interpolation de la position et de l'orientation de l'outil..................................................... 13
2.2.1 Interpolation conjointe .................................................. ..................................................
13 2.2.2 Interpolation linéaire. .................................................. .................................. 14 2.2.3
Interpolation circulaire ......... .................................................. ....................... 15 2.2.4
SingArea\Poignet................... .................................................. .................................. 16 2.3
Interpolation des trajectoires d'angle .................. .................................................. ............. 16 2.3.1
Interpolation de joints dans les trajectoires d'angle .................. .................................. 17 2.3.2
Interpolation linéaire d'une position dans les trajectoires d'angle .. .................................. 18
2.3.3 Interpolation linéaire de l'orientation dans les trajectoires d'angle ..................................
18
2.3.4 Interpolation d'axes externes dans les trajectoires d'angle ...... .......................................
19 2.3 .5 Trajectoires d'angle lors du changement de méthode d'interpolation .................. 19
2.3.6 Interpolation lors du changement de système de coordonnées. ..................................................
20 2.3.7 Chemins d'angle avec zones de chevauchement .................................................. .........
20 2.3.8 Temps de planification pour les points de
passage .................................. ....................................... 21 2.4 Axes
indépendants ........ .................................................. .................................................. 22 2.4.1
Exécution du programme .. .................................................. .................................. 22 2.4.2
Exécution pas à pas ......... .................................................. .................................. 22 2.4.3
Déplacement.............. .................................................. ...................................... 23 2.4.4
Portée de travail...... .................................................. ....................................... 23 2.4.5 Vitesse
et accélération .................................................................. .................................. 24 2.4.6 Axes du robot.......... .....
Manuel de référence RAPID 61
Machine Translated by Google
Principes de mouvement et d'E/S
2.5 Servo souple .................................................. .................................................. .............. 24
2.6 Résolution de chemin.............................................. .................................................. ...... 25
2.7 Arrêt et redémarrage............................................................ .................................................. ....... 25
2.8 Informations connexes .................................................. .................................................. ....... 26
3 Synchronisation avec les instructions logiques.................................................. .................................. 27 3.1
Exécution séquentielle du programme aux points d'arrêt ...... .................................................. 27 3.2
Exécution séquentielle du programme aux points de survol .................................................. ..... 27 3.3
Exécution simultanée de programmes ......................................... ....................................... 28 3.4
Synchronisation de trajectoire ....... .................................................. ..................................... 30 3.5
Informations connexes ......... .................................................. ..................................... 31
4Configuration des robots.................................................. .................................................. ...... 32 4.1 Données
de configuration du robot pour 6400C.............................. .................................. 34 4.2 Informations
connexes .................. .................................................. .................................... 35
5 Singularités .................................................. .................................................. .................... 36 Figure 37 Points
de singularité/IRB 6400C.............. ....................................... 37 5.1 Exécution du programme à
travers les singularités..... .................................................. ......... 37 5.2 Jogging à travers les
singularités .................................. ............................................. 37 5.3 Informations
connexes. .................................................. ............................................. 37
6 Principes d'E/S.................................................. .................................................. .................. 38 6.1
Caractéristiques des signaux .................. .................................................. .................. 38 6.2 Signaux du
système .................................. .................................................. ....................... 39 6.3 Connexions
transversales .................. .................................................. ............................. 39
6.4 Limites.................................................................. .................................................. ............ 40
6.5 Informations connexes.................................................. .................................................. 40
62 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Systèmes de coordonnées
1 Systèmes de coordonnées
1.1 Point central de l'outil du robot (TCP)
La position du robot et ses mouvements sont toujours liés au point central de l'outil.
Ce point est normalement défini comme étant quelque part sur l'outil, par exemple dans la bouche d'un
pistolet à colle, au centre d'une pince ou à l'extrémité d'un outil de calibrage.
Plusieurs TCP (outils) peuvent être définis, mais un seul peut être actif à la fois.
Lorsqu'une position est enregistrée, c'est la position du TCP qui est enregistrée. C'est aussi le point qui se
déplace le long d'une trajectoire donnée, à une vitesse donnée.
Si le robot tient un objet de travail et travaille sur un outil fixe, un TCP fixe est utilisé. Si cet outil est actif, la
trajectoire et la vitesse programmées sont liées au repère objet. Voir TCP fixes à la page 10.
1.2 Systèmes de coordonnées utilisés pour déterminer la position du TCP
La position de l'outil (TCP) peut être spécifiée dans différents systèmes de coordonnées pour faciliter la
programmation et le réajustement des programmes.
Le système de coordonnées défini dépend de ce que le robot doit faire. Lorsqu'aucun système de
coordonnées n'est défini, les positions du robot sont définies dans le système de coordonnées de base.
1.2.1 Système de coordonnées de base
Dans une application simple, la programmation peut être effectuée dans le système de coordonnées de
base ; ici l'axe z coïncide avec l'axe 1 du robot (voir Figure 1).
Oui
Figure 1 Le système de coordonnées de base.
Manuel de référence RAPID 63
Machine Translated by Google
Systèmes de coordonnées Principes de mouvement et d'E/S
Le système de coordonnées de base est situé sur la base du robot :
L'origine est située à l'intersection de l'axe 1 et de la surface de montage de la base.
Le plan xy est le même que la surface de montage de la base.
L'axe des abscisses pointe vers l'avant.
L'axe y pointe vers la gauche (du point de vue du robot).
L'axe z pointe vers le haut.
1.2.2 Système de coordonnées mondial
Si le robot est monté au sol, la programmation dans le système de coordonnées de base est facile.
Si, par contre, le robot est monté à l'envers (suspendu), la programmation dans le système de
coordonnées de base est plus difficile car les directions des axes ne sont pas les mêmes que les
directions principales dans l'espace de travail. Dans de tels cas, il est utile de définir un système de
coordonnées mondial. Le système de coordonnées mondial coïncidera avec le système de coordonnées
de base, s'il n'est pas spécifiquement défini.
Parfois, plusieurs robots travaillent dans le même espace de travail dans une usine. Un système de
coordonnées universel commun est utilisé dans ce cas pour permettre aux programmes du
robot de communiquer entre eux. Il peut également être avantageux d'utiliser ce type de système
lorsque les positions doivent être liées à un point fixe de l'atelier. Voir l'exemple de la figure 2.
Système de coordonnées de base robot 2
Oui
Z
Z
Oui
X
Système de coordonnées de base robot 1
Système de coordonnées mondial
Figure 2 Deux robots (dont un suspendu) avec un système de coordonnées universel commun.
64 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Systèmes de coordonnées
1.2.3 Système de coordonnées utilisateur
Un robot peut travailler avec différents appareils ou surfaces de travail ayant différentes positions et orientations.
Un système de coordonnées utilisateur peut être défini pour chaque appareil. Si toutes les positions sont
stockées dans les coordonnées de l'objet, vous n'aurez pas besoin de reprogrammer si un appareil doit être
déplacé ou tourné. En déplaçant/tournant le système de coordonnées de l'utilisateur autant que l'appareil a été
déplacé/tourné, toutes les positions programmées suivront l'appareil et aucune reprogrammation ne sera
nécessaire.
Le système de coordonnées utilisateur est défini sur la base du système de coordonnées mondial (voir Figure 3).
Z
Système de coordonnées utilisateur 1
Oui
Z
Système de coordonnées utilisateur 2
Oui
Z
z
Oui
X
Système de coordonnées de base
y
Système de coordonnées mondial
Figure 3 Deux systèmes de coordonnées utilisateur décrivent la position de deux appareils différents.
1.2.4 Système de coordonnées de l'objet
Le système de coordonnées utilisateur est utilisé pour obtenir différents systèmes de coordonnées pour différents
appareils ou surfaces de travail. Un appareil, cependant, peut inclure plusieurs objets de travail qui doivent être
traités ou manipulés par le robot. Ainsi, il est souvent utile de définir un système de coordonnées pour chaque
objet afin de faciliter le réglage du programme si l'objet est déplacé ou si un nouvel objet, le même que le
précédent, doit être programmé à un endroit différent. Un système de coordonnées référencé à un objet
est appelé un système de coordonnées d'objet. Ce système de coordonnées est également très adapté à
la programmation hors ligne car les positions spécifiées peuvent généralement être prises directement à partir
d'un dessin du repère objet. Le système de coordonnées de l'objet peut également être utilisé lors du pilotage
manuel du robot.
Manuel de référence RAPID 65
Machine Translated by Google
Systèmes de coordonnées Principes de mouvement et d'E/S
Le système de coordonnées de l'objet est défini en fonction du système de coordonnées de l'utilisateur (voir Figure 4).
z
z
z Système de coordonnées de l'objet 1
y
Système de coordonnées utilisateur X
y
y
X
X
Système de coordonnées de l'objet 2
Système de coordonnées mondial
Figure 4 Deux systèmes de coordonnées d'objet décrivent la position de deux objets de travail différents
situés dans le même appareil.
Les positions programmées sont toujours définies par rapport à un système de coordonnées objet.
Si un appareil est déplacé/tourné, cela peut être compensé en déplaçant/tournant le système de
coordonnées de l'utilisateur. Ni les positions programmées ni les systèmes de coordonnées d'objet
définis ne doivent être modifiés. Si le repère objet est déplacé/tourné, cela peut être
compensé en déplaçant/tournant le système de coordonnées de l'objet.
Si le système de coordonnées utilisateur est mobile, c'estàdire que des axes externes coordonnés
sont utilisés, le système de coordonnées objet se déplace avec le système de coordonnées utilisateur.
Cela permet de déplacer le robot par rapport à l'objet même lorsque l'établi est manipulé.
1.2.5 Système de coordonnées de déplacement
Parfois, un même trajet est à effectuer à plusieurs endroits sur un même objet. Pour éviter d'avoir à
reprogrammer toutes les positions à chaque fois, un système de coordonnées, appelé système de
coordonnées de déplacement, est défini. Ce système de coordonnées peut également être utilisé en
conjonction avec des recherches, pour compenser les différences dans les positions des pièces
individuelles.
Le système de coordonnées de déplacement est défini sur la base du système de coordonnées de
l'objet (voir Figure 5).
66 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Systèmes de coordonnées
y Nouvelle position
y
X
Position initiale
Système de coordonnées de déplacement
X
Système de coordonnées de l'objet
Figure 5 Si le déplacement du programme est actif, toutes les positions sont déplacées.
1.2.6 Axes externes coordonnés
Coordination du système de coordonnées utilisateur
Si un objet de travail est placé sur une unité mécanique externe, qui est déplacée pendant que le robot
exécute une trajectoire définie dans le système de coordonnées de l'objet, un système de coordonnées
utilisateur mobile peut être défini. La position et l'orientation du système de coordonnées utilisateur seront,
dans ce cas, dépendantes des rotations des axes de l'unité extérieure. La trajectoire et la vitesse programmées
seront ainsi liées à l'objet de travail (voir Figure 6) et il n'est pas nécessaire de prendre en compte le fait
que l'objet est déplacé par l'unité externe.
Système de coordonnées utilisateur
articulation 2 joint 3
articulation 1
Système de coordonnées mondial
Figure 6 Un système de coordonnées utilisateur, défini pour suivre les mouvements d'un mécanisme externe à 3 axes
unité ical.
Manuel de référence RAPID 67
Machine Translated by Google
Systèmes de coordonnées Principes de mouvement et d'E/S
Coordination du système de coordonnées de base
Un système de coordonnées mobiles peut également être défini pour la base du robot. Ceci est intéressant
pour l'installation lorsque le robot est monté sur un rail ou un portique par exemple. La position et
l'orientation du système de coordonnées de base dépendront, comme pour le système de coordonnées
utilisateur mobile, des mouvements de l'unité externe.
La trajectoire et la vitesse programmées seront liées au système de coordonnées de l'objet (Figure 7) et il
n'est pas nécessaire de penser au fait que la base du robot est déplacée par une unité externe. Un
système de coordonnées utilisateur coordonné et un système de coordonnées de base coordonné
peuvent tous deux être définis en même temps.
Système de coordonnées utilisateur
Système de coordonnées de l'objet
Système de coordonnées
mondial
Piste
Système de coordonnées de base
Figure 7 Interpolation coordonnée avec une piste déplaçant le système de coordonnées de base du robot.
Pour pouvoir calculer l'utilisateur et les systèmes de coordonnées de base lorsque les unités concernées
sont déplacées, le robot doit être conscient de :
Les positions d'étalonnage de l'utilisateur et les systèmes de coordonnées de base
Les relations entre les angles des axes externes et la translation/rotation de l'utilisateur et les
systèmes de coordonnées de base.
Ces relations sont définies dans les paramètres système.
1.3 Systèmes de coordonnées utilisés pour déterminer la direction de l'outil
L'orientation d'un outil à une position programmée est donnée par l'orientation du système de coordonnées
de l'outil. Le système de coordonnées de l'outil est référencé au système de coordonnées du poignet,
défini au niveau de la bride de montage sur le poignet du robot.
68 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Systèmes de coordonnées
1.3.1 Système de coordonnées du poignet
Dans une application simple, le système de coordonnées du poignet peut être utilisé pour définir
l'orientation de l'outil ; ici l'axe z coïncide avec l'axe 6 du robot (voir Figure 8).
z
X
Figure 8 Le système de coordonnées du poignet.
Le système de coordonnées du poignet ne peut pas être modifié et est toujours le même que la bride de montage
du robot sur les points suivants :
L'origine est située au centre de la bride de fixation (sur la surface de fixation).
L'axe des x pointe dans la direction opposée, vers le trou de contrôle de la bride de montage.
L'axe z pointe vers l'extérieur, perpendiculairement à la bride de montage.
1.3.2 Système de coordonnées de l'outil
L'outil monté sur la bride de montage du robot nécessite souvent son propre système de coordonnées pour
permettre la définition de son TCP, qui est l'origine du système de coordonnées de l'outil. Le système de
coordonnées de l'outil peut également être utilisé pour obtenir des directions de mouvement appropriées
lors du pilotage manuel du robot.
Si un outil est endommagé ou remplacé, tout ce que vous avez à faire est de redéfinir le système de
coordonnées de l'outil. Le programme ne doit normalement pas être modifié.
Le TCP (origine) est sélectionné comme le point de l'outil qui doit être correctement positionné, par exemple la
bouche d'un pistolet à colle. Les axes de coordonnées de l'outil sont définis comme ceux propres à l'outil en
question.
Manuel de référence RAPID 69
Machine Translated by Google
Systèmes de coordonnées Principes de mouvement et d'E/S
Haut
X
Haut
X
Figure 9 Système de coordonnées de l'outil, tel qu'il est généralement défini pour un pistolet de soudage à l'arc (à gauche) et
un pistolet de soudage par points (à droite).
Le système de coordonnées de l'outil est défini sur la base du système de coordonnées du
poignet (voir Figure 10).
Système de coordonnées d'outil
X z
Figure 10 Le système de coordonnées de l'outil est défini par rapport au système de coordonnées du poignet, ici pour un préhenseur.
1.3.3 TCP fixes
Si le robot tient un objet de travail et travaille sur un outil fixe, un TCP fixe est utilisé. Si cet outil est actif, la
trajectoire et la vitesse programmées sont liées à l'objet de travail tenu par le robot.
Cela signifie que les systèmes de coordonnées seront inversés, comme dans la Figure 11.
610 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Systèmes de coordonnées
Système de coordonnées de l'objet
Z
Oui
X
Oui
X
Système de coordonnées d'outil
Oui
z
Système de coordonnées de base
y
Système de coordonnées mondial
Figure 11 Si un TCP fixe est utilisé, le système de coordonnées de l'objet est généralement basé sur le système de
coordonnées du poignet.
Dans l'exemple de la Figure 11, ni le système de coordonnées utilisateur ni le
déplacement du programme ne sont utilisés. Il est cependant possible de les utiliser et, s'ils sont
utilisés, ils seront liés les uns aux autres comme le montre la figure 12.
z
Système de coordonnées de l'objet z
X
y
y
z Système de coordonnées utilisateur
Système de coordonnées de déplacement
X
X
y
Système de coordonnées du poignet
Figure 12 Le déplacement de programme peut également être utilisé avec des TCP fixes.
Manuel de référence RAPID 611
Machine Translated by Google
Systèmes de coordonnées Principes de mouvement et d'E/S
1.4 Informations connexes
Décrit dans:
Définition du système de coordonnées mondial Guide de l'utilisateur Paramètres système
Définition du système de coordonnées utilisateur Guide de l'utilisateur Étalonnage
Types de données wobjdata
Définition du système de coordonnées de l'objet Guide de l'utilisateur Étalonnage
Types de données wobjdata
Définition du système de coordonnées de l'outil Guide de l'utilisateur Étalonnage
Types de données données d'outil
Définition d'un centre d'outil Guide de l'utilisateur Étalonnage
Types de données données d'outil
Définition du cadre de déplacement Guide de l'utilisateur Étalonnage
Résumé RAPID Paramètres de mouvement
Jogging dans différents systèmes de coordonnées Guide de l'utilisateur Jogging
612 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Positionnement pendant l'exécution du programme
2 Positionnement pendant l'exécution du programme
2.1 Général
Pendant l'exécution du programme, les instructions de positionnement dans le programme du robot
contrôlent tous les mouvements. La tâche principale des instructions de positionnement est de fournir les
informations suivantes sur la manière d'effectuer les mouvements :
Le point de destination du mouvement (défini comme la position du centre de l'outil, l'orientation
de l'outil, la configuration du robot et la position des axes externes).
La méthode d'interpolation utilisée pour atteindre le point de destination, par exemple
interpolation conjointe, interpolation linéaire ou interpolation circulaire.
La vitesse du robot et des axes externes.
Les données de zone (définissent comment le robot et les axes externes doivent passer le
point de destination).
Les systèmes de coordonnées (outil, utilisateur et objet) utilisés pour le mouvement.
Comme alternative à la définition de la vitesse du robot et des axes externes, le temps du mouvement peut
être programmé. Ceci doit cependant être évité si la fonction de tissage est utilisée. Au lieu de cela,
les vitesses des axes d'orientation et externes doivent être utilisées pour limiter la vitesse, lorsque des
mouvements TCP faibles ou inexistants sont effectués.
Dans les applications de manutention et de palettisation avec des mouvements intensifs et fréquents, la
supervision du système d'entraînement peut se déclencher et arrêter le robot afin d'éviter une surchauffe des
entraînements ou des moteurs. Si cela se produit, le temps de cycle doit être légèrement augmenté en
réduisant la vitesse ou l'accélération programmée.
2.2 Interpolation de la position et de l'orientation de l'outil
2.2.1 Interpolation conjointe
Lorsque la précision de la trajectoire n'est pas trop importante, ce type de mouvement est utilisé pour
déplacer rapidement l'outil d'une position à une autre. L'interpolation conjointe permet également à un axe de
se déplacer d'un endroit à un autre dans son espace de travail, en un seul mouvement.
Tous les axes se déplacent du point de départ au point de destination à une vitesse d'axe constante (voir
Figure 13).
Manuel de référence RAPID 613
Machine Translated by Google
Positionnement pendant l'exécution du programme Principes de mouvement et d'E/S
Lieu de destination
Chemin interpolé
Point de départ commun
Figure 13 L'interpolation conjointe est souvent le moyen le plus rapide de se déplacer entre deux points car
les axes du robot suivent le chemin le plus proche entre le point de départ et le point de destination
(du point de vue des angles d'axe).
La vitesse du point central de l'outil est exprimée en mm/s (dans le système de coordonnées objet).
Comme l'interpolation a lieu axe par axe, la vitesse ne sera pas exactement la valeur programmée.
Lors de l'interpolation, la vitesse de l'axe limite, c'estàdire l'axe qui se déplace le plus vite par rapport
à sa vitesse maximale pour effectuer le mouvement, est déterminée.
Ensuite, les vitesses des axes restants sont calculées de manière à ce que tous les axes atteignent
le point de destination en même temps.
Tous les axes sont coordonnés afin d'obtenir une trajectoire indépendante de la vitesse.
L'accélération est automatiquement optimisée pour les performances maximales du robot.
2.2.2 Interpolation linéaire
Pendant l'interpolation linéaire, le TCP se déplace le long d'une ligne droite entre les points de départ
et de destination (voir Figure 14).
Point de départ Lieu de destination
Figure 14 Interpolation linéaire sans réorientation de l'outil.
Pour obtenir une trajectoire linéaire dans le système de coordonnées de l'objet, les axes du robot
doivent suivre une trajectoire non linéaire dans l'espace des axes. Plus la configuration du robot est
non linéaire, plus il faut d'accélérations et de décélérations pour faire bouger l'outil en ligne droite
et obtenir l'orientation souhaitée de l'outil. Si la configuration est extrêmement non linéaire (par exemple
à proximité des singularités du poignet et du bras), un ou plusieurs des axes nécessiteront plus de
couple que les moteurs ne peuvent fournir. Dans ce cas, la vitesse de tous les axes sera
automatiquement réduite.
L'orientation de l'outil reste constante pendant tout le mouvement sauf si une réorientation a
été programmée. Si l'outil est réorienté, il tourne à vitesse constante.
614 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Positionnement pendant l'exécution du programme
Une vitesse de rotation maximale (en degrés par seconde) peut être spécifiée lors de la rotation de l'outil.
S'il est défini sur une valeur faible, la réorientation sera douce, quelle que soit la vitesse définie pour
le point central de l'outil. S'il s'agit d'une valeur élevée, la vitesse de réorientation n'est limitée que par les
vitesses maximales du moteur. Tant qu'aucun moteur ne dépasse la limite de couple, la vitesse définie est
maintenue. Si, au contraire, l'un des moteurs dépasse la limite de courant, la vitesse de l'ensemble
du mouvement (en ce qui concerne à la fois la position et l'orientation) sera réduite.
Tous les axes sont coordonnés afin d'obtenir une trajectoire indépendante de la vitesse.
L'accélération est optimisée automatiquement.
2.2.3 Interpolation circulaire
Une trajectoire circulaire est définie à l'aide de trois positions programmées qui définissent un
segment de cercle. Le premier point à programmer est le début du segment de cercle. Le point suivant
est un point d'appui (point de cercle) utilisé pour définir la courbure du cercle, et le troisième point désigne
la fin du cercle (voir Figure 15).
Les trois points programmés doivent être dispersés à intervalles réguliers le long de l'arc de cercle pour
que celuici soit le plus précis possible.
L'orientation définie pour le point d'appui permet de choisir entre la torsion courte et la torsion longue pour
l'orientation du point de départ au point de destination.
Si l'orientation programmée est la même par rapport au cercle aux points de départ et d'arrivée, et
que l'orientation au niveau du support est proche de la même orientation par rapport au cercle,
l'orientation de l'outil restera constante par rapport à la trajectoire.
Point de cercle
Lieu de destination
Point de départ
Figure 15 Interpolation circulaire avec une courte torsion pour une partie de cercle (segment de cercle) avec un point
de départ, un point de cercle et un point de destination.
Cependant, si l'orientation au point d'appui est programmée plus proche de l'orientation tournée de 180°,
la torsion alternative est sélectionnée (voir Figure 16).
Manuel de référence RAPID 615
Machine Translated by Google
Positionnement pendant l'exécution du programme Principes de mouvement et d'E/S
Point de cercle
Lieu de destination
Point de départ
Figure 16 L'interpolation circulaire avec une longue torsion pour l'orientation est obtenue en définissant
l'orientation dans le point du cercle dans la direction opposée par rapport au point de départ.
Tant que tous les couples moteurs ne dépassent pas les valeurs maximales autorisées, l'outil se déplacera
à la vitesse programmée le long de l'arc de cercle. Si le couple de l'un des moteurs est insuffisant, la
vitesse sera automatiquement réduite dans les parties de la trajectoire circulaire où les performances du
moteur sont insuffisantes.
Tous les axes sont coordonnés afin d'obtenir une trajectoire indépendante de la vitesse.
L'accélération est optimisée automatiquement.
2.2.4 Zone de chant\Poignet
Lors d'une exécution à proximité d'un point singulier, l'interpolation linéaire ou circulaire peut poser
problème. Dans ce cas, il est préférable d'utiliser une interpolation modifiée, ce qui signifie que les axes
du poignet sont interpolés axe par axe, le TCP suivant une trajectoire linéaire ou circulaire. L'orientation
de l'outil, cependant, sera quelque peu différente de l'orientation programmée.
Dans le cas SingArea\Wrist, l'orientation dans le point d'appui du cercle sera la même que celle
programmée. Cependant, l'outil n'aura pas une direction constante par rapport au plan du cercle comme
pour une interpolation circulaire normale. Si la trajectoire du cercle passe par une singularité, l'orientation
dans les positions programmées doit parfois être modifiée pour éviter de grands mouvements du poignet,
ce qui peut se produire si une reconfiguration complète du poignet est générée lors de l'exécution du
cercle (articulations 4 et 6 déplacées de 180 degrés chacune).
2.3 Interpolation des trajectoires d'angle
Le point de destination est défini comme un point d'arrêt afin d'obtenir un mouvement point à point.
Cela signifie que le robot et tous les axes externes s'arrêteront et qu'il ne sera pas possible de poursuivre
le positionnement jusqu'à ce que les vitesses de tous les axes soient nulles et que les axes soient proches
de leurs destinations.
Les points de survol sont utilisés pour obtenir des mouvements continus audelà des positions
programmées. De cette façon, les positions peuvent être franchies à grande vitesse sans
avoir à réduire la vitesse inutilement. Un point de survol génère une trajectoire d'angle (parabole) audelà de la
616 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Positionnement pendant l'exécution du programme
position, ce qui signifie généralement que la position programmée n'est jamais atteinte. Le début et la fin de
cette trajectoire d'angle sont définis par une zone autour de la position programmée (voir Figure 17).
La zone pour le chemin du
TCP Position
programmée
Chemin d'angle
Figure 17 Un point de survol génère une trajectoire d'angle pour passer la position programmée.
Tous les axes sont coordonnés afin d'obtenir une trajectoire indépendante de la vitesse.
L'accélération est optimisée automatiquement.
2.3.1 Interpolation conjointe dans les trajectoires d'angle
La taille des chemins d'angle (zones) pour le mouvement TCP est exprimée en mm (voir Figure 18).
L'interpolation étant effectuée axe par axe, la taille des zones (en mm) doit être recalculée en angles d'axes
(radians). Ce calcul a un facteur d'erreur (normalement max. 10%), ce qui signifie que la vraie zone s'écartera
quelque peu de celle programmée.
Si des vitesses différentes ont été programmées avant ou après la position, le passage d'une vitesse à l'autre
se fera en douceur et s'effectuera dans la trajectoire du virage sans affecter la trajectoire réelle.
Point de passage Zone
programmé
Point de départ
Lieu de destination
Chemin d'angle
Figure 18 Lors de l'interpolation conjointe, un chemin d'angle est généré afin de passer un point de survol.
Manuel de référence RAPID 617
Machine Translated by Google
Positionnement pendant l'exécution du programme Principes de mouvement et d'E/S
2.3.2 Interpolation linéaire d'une position dans les trajectoires d'angle
La taille des chemins d'angle (zones) pour le mouvement TCP est exprimée en mm (voir Figure 19).
Position d'angle Zone
programmée
Point de départ
Chemin d'angle
Lieu de destination
Figure 19 Lors de l'interpolation linéaire, un chemin d'angle est généré afin de passer un point de survol.
Si différentes vitesses ont été programmées avant ou après la position du virage, la transition sera
douce et aura lieu dans la trajectoire du virage sans affecter la trajectoire réelle.
Si l'outil doit effectuer un processus (tel que le soudage à l'arc, le collage ou la découpe à l'eau) le long du
chemin d'angle, la taille de la zone peut être ajustée pour obtenir le chemin souhaité. Si la forme du chemin
d'angle parabolique ne correspond pas à la géométrie de l'objet, les positions programmées peuvent être
rapprochées, ce qui permet de se rapprocher du chemin souhaité en utilisant deux ou plusieurs chemins
paraboliques plus petits.
2.3.3 Interpolation linéaire de l'orientation dans les trajectoires d'angle
Des zones peuvent être définies pour les orientations d'outils, tout comme des zones peuvent être
définies pour des positions d'outils. La zone d'orientation est généralement plus grande que la zone de position.
Dans ce cas, la réorientation commencera à s'interpoler vers l'orientation de la position suivante avant que le
chemin d'angle ne commence. La réorientation sera alors plus douce et il ne sera probablement pas
nécessaire de réduire la vitesse pour effectuer la réorientation.
L'outil sera réorienté de manière à ce que l'orientation en fin de zone soit la même que si un point d'arrêt avait
été programmé (voir Figure 20ac).
Figure 20a Trois positions avec différentes orientations d'outil sont programmées comme cidessus.
618 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Positionnement pendant l'exécution du programme
Figure 20b Si toutes les positions étaient des points d'arrêt, l'exécution du programme ressemblerait à ceci.
Taille de la zone d'opération
Figure 20c Si la position médiane était un point de survol, l'exécution du programme ressemblerait à ceci.
La zone d'orientation du déplacement de l'outil est normalement exprimée en mm. De cette façon,
vous pouvez déterminer directement où sur le chemin la zone d'orientation commence et se termine.
Si l'outil n'est pas déplacé, la taille de la zone est exprimée en degrés d'angle de rotation au lieu de
TCPmm.
Si des vitesses de réorientation différentes sont programmées avant et après le point de passage, et
si les vitesses de réorientation limitent le mouvement, le passage d'une vitesse à l'autre se fera sans
àcoups à l'intérieur de la trajectoire du virage.
2.3.4 Interpolation des axes externes dans les trajectoires d'angle
Des zones peuvent également être définies pour les axes externes, de la même manière que pour
l'orientation. Si la zone d'axes externes est réglée pour être plus grande que la zone TCP,
l'interpolation des axes externes vers la destination de la prochaine position programmée sera lancée
avant le début de la trajectoire d'angle TCP. Ceci peut être utilisé pour lisser les mouvements
des axes externes de la même manière que la zone d'orientation est utilisée pour le lissage des
mouvements du poignet.
2.3.5 Chemins d'angle lors du changement de la méthode d'interpolation
Des chemins de coin sont également générés lorsqu'une méthode d'interpolation est remplacée
par une autre. La méthode d'interpolation utilisée dans les chemins de coin réels est choisie de
manière à rendre la transition d'une méthode à l'autre aussi douce que possible. Si les zones de
chemin d'angle pour l'orientation et la position ne sont pas de la même taille, plusieurs méthodes
d'interpolation peuvent être utilisées dans le chemin d'angle (voir Figure 21).
Manuel de référence RAPID 619
Machine Translated by Google
Positionnement pendant l'exécution du programme Principes de mouvement et d'E/S
Zone de
Interpolation linéaire p4
chant\Interpolation du poignet
p1
Interpolation conjointe
p2 p3
Zone de
chant\Interpolation du poignet
Zone de positionnement Zone d'orientation
Figure 21 Interpolation lors du passage d'une méthode d'interpolation à une autre. Linéaire
une interpolation a été programmée entre p1 et p2 ; interpolation conjointe entre p2
et p3 ; et Sing Area\Wrist interpolation entre p3 et p4.
Si l'interpolation passe d'un déplacement TCP normal à une réorientation sans déplacement TCP ou vice versa,
aucune zone de coin ne sera générée. Il en sera de même si l'interpolation est modifiée vers ou à partir d'un
mouvement d'articulation externe sans mouvement TCP.
2.3.6 Interpolation lors du changement de système de coordonnées
Lorsqu'il y a un changement de système de coordonnées dans une trajectoire d'angle, par exemple un nouveau
TCP ou un nouveau repère objet, une interpolation conjointe de la trajectoire d'angle est utilisée. Ceci s'applique
également lors du passage d'un fonctionnement coordonné à un fonctionnement non coordonné, ou vice versa.
2.3.7 Chemins d'angle avec zones de chevauchement
Si des positions programmées sont proches les unes des autres, il n'est pas rare que les zones
programmées se chevauchent. Pour obtenir une trajectoire bien définie et obtenir une vitesse optimale à tout
moment, le robot réduit la taille de la zone à la moitié de la distance d'une position programmée superposée à
l'autre (voir Figure 22). Le même rayon de zone est toujours utilisé pour les entrées ou les sorties d'une position
programmée, afin d'obtenir des trajectoires d'angle symétriques.
620 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Positionnement pendant l'exécution du programme
Chemin
généré
p4
p2
p1
Zones de position
programmées
p3
Zones d'angle telles
que calculées par le robot
Figure 22 Interpolation avec chevauchement des zones de position. Les zones autour de p2 et p3 sont plus
grandes que la moitié de la distance de p2 à p3. Ainsi, le robot réduit la taille des zones pour les
rendre égales à la moitié de la distance de p2 à p3, générant ainsi des chemins de coin
symétriques à l'intérieur des zones.
Les zones de chemin d'angle de position et d'orientation peuvent se chevaucher. Dès que l'une de ces zones
de trajectoire d'angle se chevauche, cette zone est réduite (voir Figure 23).
Zone d'orientation
programmée
Chemin généré
p4
Zone
d'orientation générée
p2
p1
Zones de positionnement p3
Zone d'orientation
Figure 23 Interpolation avec chevauchement des zones d'orientation. La zone d'orientation en p2 est
supérieure à la moitié de la distance de p2 à p3 et est donc réduite à la moitié de la distance de
p2 à p3. Les zones de position ne se chevauchent pas et ne sont par conséquent pas
réduites ; la zone d'orientation en p3 n'est pas non plus réduite.
2.3.8 Temps de planification des points de passage
Ponctuellement, si le mouvement suivant n'est pas prévu à temps, des points de passage programmés peuvent
donner lieu à un point d'arrêt. Cela peut se produire lorsque :
Un certain nombre d'instructions logiques avec de longs temps d'exécution du programme sont
Manuel de référence RAPID 621
Machine Translated by Google
Positionnement pendant l'exécution du programme Principes de mouvement et d'E/S
programmé entre de courts mouvements.
Les pointes sont très rapprochées à grande vitesse.
Si les points d'arrêt posent problème, utilisez l'exécution de programme simultanée.
2.4 Axes indépendants
Un axe indépendant est un axe se déplaçant indépendamment des autres axes du système de robot.
Il est possible de faire passer un axe en mode indépendant et de revenir ultérieurement en mode
normal.
Un jeu d'instructions spécial gère les axes indépendants. Quatre instructions de déplacement
différentes spécifient le déplacement de l'axe. Par exemple, l' instruction IndCMove démarre l'axe pour
un mouvement continu. L'axe continue alors à se déplacer à une vitesse constante (indépendamment
de ce que fait le robot) jusqu'à ce qu'une nouvelle instruction indépendante soit exécutée.
Pour revenir au mode normal, une instruction de réinitialisation, IndReset, est utilisée. L'instruction
de réinitialisation peut également définir une nouvelle référence pour le système de mesure un type
de nouvelle synchronisation de l'axe. Une fois l'axe repassé en mode normal, il est possible de le faire
fonctionner comme un axe normal.
2.4.1 Exécution du programme
Un axe passe immédiatement en mode indépendant lorsqu'une instruction Ind_Move est exécutée. Cela
se produit même si l'axe est déplacé à ce momentlà, par exemple lorsqu'un point précédent a été
programmé comme point de survol ou lorsque l'exécution simultanée du programme est utilisée.
Si une nouvelle instruction Ind_Move est exécutée avant la fin de la dernière, la nouvelle instruction
remplace immédiatement l'ancienne.
Si l'exécution d'un programme est arrêtée alors qu'un axe indépendant est en mouvement, cet axe
s'arrêtera. Lorsque le programme est redémarré, l'axe indépendant démarre automatiquement.
Aucune coordination active entre les axes indépendants et les autres axes en mode normal n'a lieu.
Si une perte de tension se produit lorsqu'un axe est en mode indépendant, le programme ne peut pas
être redémarré. Un message d'erreur s'affiche alors et le programme doit être redémarré depuis le début.
A noter qu'une unité mécanique ne peut pas être désactivée lorsqu'un de ses axes est en mode
indépendant.
2.4.2 Exécution par étapes
Lors d'une exécution pas à pas, un axe indépendant n'est exécuté que lorsqu'une autre instruction
est en cours d'exécution. Le mouvement de l'axe sera également pas à pas en ligne avec l'exécution
d'autres instruments, voir Figure 24.
622 Manuel de référence RAPID
Machine Translated by Google
Principes de mouvement et d'E/S Positionnement pendant l'exécution du programme
L'axe indépendant
atteint la position finale
IndAMove Temps d'attente 10 DéplacerL DéplacerL
10 s
Vitesse d'axe
indépendante
Vitesse d'axe normale
Figure 24 Exécution pas à pas d'axes indépendants.
2.4.3 Jogging
Les axes en mode indépendant ne peuvent pas être déplacés manuellement. En cas de tentative
d'exécution manuelle de l'axe, l'axe ne bouge pas et un message d'erreur s'affiche. Exécutez une
instruction IndReset ou déplacez le pointeur de programme sur main, afin de quitter le mode
indépendant.
2.4.4 Plage de travail
La plage de travail physique est le mouvement total de l'axe.
La plage de travail logique est la plage utilisée par les instructions RAPID et lue dans la fenêtre de
jogging.
Après synchronisation (comptetours mis à jour), les plages de travail physique et logique coïncident. En
utilisant l' instruction IndReset , la zone de travail logique peut être déplacée, voir Figure 25.
Plage de travail logique
0 après IndReset
Plage de travail logique
après synchronisation 0
Plage de travail physique
Plage de travail logique
Figure 25 La plage de travail logique peut être déplacée à l'aide de l'instruction IndReset.
La résolution des positions est diminuée lorsqu'on s'éloigne de la position logique 0.
Manuel de référence RAPID 623
Machine Translated by Google
Une faible résolution associée à un contrôleur à réglage rigide peut entraîner un couple, un bruit et une
instabilité du contrôleur inacceptables. Vérifiez le réglage du contrôleur et les performances de l'axe à proximité
de la limite de la plage de travail lors de l'installation. Vérifiez également si la résolution de position et les
performances de trajectoire sont acceptables.
2.4.5 Vitesse et accélération
En mode manuel à vitesse réduite, la vitesse est réduite au même niveau que si l'axe fonctionnait en non
indépendant. Notez que la fonction IndSpeed\InSpeed ne sera pas TRUE si la vitesse de l'axe est réduite.
La consigne VelSet et la correction de vitesse en pourcentage via la fenêtre de production, sont actives pour
un mouvement indépendant. Notez que la correction via la fenêtre de production inhibe la valeur TRUE de la
fonction IndSpeed\InSpeed .
En mode indépendant, la valeur la plus basse d'accélération et de décélération, spécifiée dans le fichier de
configuration, est utilisée à la fois pour l'accélération et la décélération. Cette valeur peut être réduite de la
valeur de la rampe dans l'instruction (1 100 %). L' instruction AccSet n'affecte pas les axes en mode
indépendant.
2.4.6 Axes du robot
Seul l'axe 6 du robot peut être utilisé comme axe indépendant. Normalement, seule l' instruction
IndReset est utilisée pour cet axe.
Si l'axe 6 est utilisé comme axe indépendant, des problèmes de singularité peuvent survenir car la fonction
normale de transformation de coordonnées à 6 axes est toujours utilisée. En cas de problème, exécutez le
même programme avec l'axe 6 en mode normal. Modifiez les points ou utilisez les instructions SingArea\Wrist
ou MoveJ .
L'axe 6 est également actif en interne dans le calcul des performances de trajectoire. Il en résulte qu'un
mouvement interne de l'axe 6 peut réduire la vitesse des autres axes du système.
La plage de travail indépendante pour l'axe 6 est définie avec les axes 4 et 5 en position d'origine.
Si l'axe 4 ou 5 est en dehors de la position d'origine, la plage de travail de l'axe 6 est déplacée en raison de
l'accouplement à engrenage. Cependant, la position lue sur le boîtier d'apprentissage pour l'axe 6 est
compensée avec les positions des axes 4 et 5 via l'accouplement à engrenage.
2.5 Servo souple
Dans certaines applications, il est nécessaire d'avoir un servo, qui agit comme un ressort mécanique.
Cela signifie que la force du robot sur le repère objet augmentera en fonction de la distance entre la position
programmée (derrière le repère objet) et la position de contact (outil robot repère objet).
La relation entre l'écart de position et la force est définie par un paramètre appelé douceur. Plus le paramètre
de douceur est élevé, plus l'écart de position est important
624 Manuel de référence RAPID
Machine Translated by Google
nécessaires pour obtenir la même force.
Le paramètre de douceur est défini dans le programme et il est possible de modifier les valeurs de douceur
n'importe où dans le programme. Différentes valeurs de douceur peuvent être définies pour différents joints
et il est également possible de mélanger des joints ayant un servo normal avec des joints ayant un servo doux.
L'activation et la désactivation du servo doux ainsi que la modification des valeurs de douceur peuvent être
effectuées lorsque le robot est en mouvement. Lorsque cela est fait, un réglage sera effectué entre les
différents modes d'asservissement et entre les différentes valeurs de douceur pour obtenir des
transitions en douceur. Le temps de réglage peut être réglé à partir du programme avec le paramètre rampe.
Avec rampe = 1, les transitions prendront 0,5 secondes, et dans le cas général le temps de transition sera
rampe x 0,5 en secondes.
Notez que la désactivation de l'asservissement progressif ne doit pas être effectuée lorsqu'il existe une force
entre le robot et l'objet de travail.
Avec des valeurs de souplesse élevées, il existe un risque que les écarts de position des servos soient si
importants que les axes se déplacent en dehors de la plage de travail du robot.
2.6 Résolution du chemin
Le robot dispose d'un paramètre appelé "résolution de trajectoire", qui peut être utilisé dans les
installations de robot ayant des axes externes avec de longs temps de décélération. Dans de telles
applications, l'avertissement « 50082 Décélération trop longue » sera signalé, générant simultanément un
arrêt rapide. Le paramètre de résolution de chemin devra alors être augmenté jusqu'à ce que le problème
disparaisse.
La nécessité de régler le paramètre de résolution de chemin augmentera lorsque :
• La valeur d'accélération d'un axe externe (et du robot) est diminuée (Acc Set, premier paramètre)
• La dérivée de l'accélération est diminuée (Acc Set, deuxième paramètre) • La vitesse
est augmentée • La distance
entre les positions programmées proches est diminuée • Le nombre d'axes contrôlés
simultanément est augmenté • Une interpolation coordonnée est utilisée.
Il est important d'utiliser une valeur de résolution de chemin aussi petite que possible pour obtenir une
résolution de chemin élevée également à grande vitesse.
2.7 Arrêt et redémarrage
Un mouvement peut être arrêté de trois manières différentes :
1. Pour un arrêt normal, le robot s'arrêtera sur la trajectoire, ce qui facilitera le redémarrage.
2. Pour un arrêt brusque, le robot s'arrêtera dans un temps plus court que pour l'arrêt normal, mais le
Manuel de référence RAPID 625
Machine Translated by Google
la trajectoire de décélération ne suivra pas la trajectoire programmée. Cette méthode d'arrêt est, par
exemple, utilisée pour l'arrêt de recherche lorsqu'il est important d'arrêter le mouvement le plus tôt
possible.
3. Pour un arrêt rapide, les freins mécaniques sont utilisés pour atteindre une distance de décélération aussi
courte que spécifiée pour des raisons de sécurité. L'écart de trajectoire sera généralement plus important
pour un arrêt rapide que pour un arrêt raide.
Après un arrêt (n'importe lequel des types cidessus), un redémarrage peut toujours être effectué sur le chemin
interrompu. Si le robot s'est arrêté en dehors de la trajectoire programmée, le redémarrage commencera par un
retour à la position sur la trajectoire, où le robot aurait dû s'arrêter.
Un redémarrage suite à une coupure de courant équivaut à un redémarrage après un arrêt rapide. Il convient de
noter que le robot reviendra toujours sur le chemin avant que l'opération de programme interrompue ne soit
redémarrée, même dans les cas où la panne de courant s'est produite alors qu'une instruction logique était en
cours d'exécution. Lors du redémarrage, tous les temps sont comptés depuis le début ; par exemple, un
positionnement à l'heure ou une interruption de l'instruction WaitTime.
2.8 Informations connexes
Décrit dans:
Définition de la vitesse Types de données speeddata
Définition des zones (voies d'angle) Types de données zonedata
Instruction pour l'interpolation conjointe Instructions MoveJ
Instruction pour l'interpolation linéaire Mode d'emploi MoveL
Instruction pour l'interpolation circulaire Mode d'emploi MoveC
Instruction pour l'interpolation modifiée Mode d'emploi SingArea
Singularité Principes de mouvement et d'E/S Singularité
Exécution simultanée du programme Principes de mouvement et d'E/S
Synchronisation avec les instructions
logiques
626 Manuel de référence RAPID
Machine Translated by Google
3 Synchronisation avec les instructions logiques
Les instructions sont normalement exécutées séquentiellement dans le programme. Néanmoins, les
instructions logiques peuvent également être exécutées à des positions spécifiques ou au cours d'une
mouvement.
Une instruction logique est toute instruction qui ne génère pas de mouvement de robot ou de mouvement
d'axe externe, par exemple une instruction d'E/S.
3.1 Exécution séquentielle du programme aux points d'arrêt
Si une instruction de positionnement a été programmée comme point d'arrêt, l'instruction suivante n'est
pas exécutée tant que le robot et les axes externes ne se sont pas immobilisés, c'estàdire lorsque
la position programmée a été atteinte (voir Figure 26).
p1
Exécution de SetDO
MoveL p1, v1000, fine, tool1 ;
SetDO do1, activé ;
MoveL p2, v1000, z30, outil1 ;
Figure 26 Une instruction logique après un point d'arrêt n'est pas exécutée tant que la position de destination
n'a pas été atteinte.
3.2 Exécution séquentielle du programme aux points de survol
Si une instruction de positionnement a été programmée comme point de passage, les instructions
logiques suivantes sont exécutées un certain temps avant d'atteindre la zone la plus large (pour la
position, l'orientation ou les axes externes). Voir Figure 27. Ces instructions sont ensuite exécutées
dans l'ordre.
Exécution de SetDO
p1
Zone de positionnement
MoveL p1, v1000, z30, tool1 ;
DT
SetDO do1, activé ;
MoveL p2, v1000, z30, outil1 ; Zone d'orientation
Figure 27 Une instruction logique suivant un point de passage est exécutée avant d'atteindre la plus grande zone.
Manuel de référence RAPID 627
Machine Translated by Google
L'heure à laquelle elles sont exécutées (DT) comprend les composantes temporelles suivantes :
Le temps nécessaire au robot pour planifier le prochain mouvement : env. 0,1 seconde.
Le délai du robot (servo lag) en secondes : 0 1,0 secondes en fonction de la vitesse et des
performances de décélération réelles du robot.
3.3 Exécution simultanée du programme
L'exécution simultanée d'un programme peut être programmée à l'aide de l'argument \Conc dans
l'instruction de positionnement. Cet argument est utilisé pour :
Exécuter une ou plusieurs instructions logiques en même temps que le robot se déplace afin de
réduire le temps de cycle (par exemple utilisé lors de la communication via des canaux série).
Lorsqu'une instruction de positionnement avec l'argument \Conc est exécutée, les instructions logiques
suivantes sont également exécutées (en séquence) :
Si le robot ne bouge pas, ou si la consigne de positionnement précédente s'est terminée par un
point d'arrêt, les consignes logiques sont exécutées dès le début de la consigne de
positionnement en cours (en même temps que le déplacement). Voir Figure 28.
Si l'instruction de positionnement précédente se termine à un point de survol, les
instructions logiques sont exécutées à un instant donné (DT) avant d'atteindre la zone la plus large
(pour la position, l'orientation ou les axes externes). Voir Figure 29.
Exécution de SetDO
p2
p1
MoveL p1, v1000, fine, tool1 ;
MoveL \Conc, p2, v1000, z30, tool1 ;
SetDO do1, activé ;
MoveL p3, v1000, z30, outil1 ;
Figure 28 Dans le cas de l'exécution simultanée d'un programme après un point d'arrêt, une instruction
de positionnement et les instructions logiques suivantes sont lancées en même temps.
628 Manuel de référence RAPID
Machine Translated by Google
Exécution
de SetDO
Zone la plus grande
DT
p2
p1
MoveL p1, v1000, z30, tool1 ;
MoveL \Conc, p2, v1000, z30, tool1 ;
SetDO do1, activé ;
MoveL p3, v1000, z30, outil1 ;
Figure 29 Dans le cas de l'exécution concurrente d'un programme après un point de survol, la logique
les instructions commencent à s'exécuter avant que les instructions de positionnement avec l'argument
\Conc ne soient lancées.
Les instructions qui affectent indirectement les mouvements, telles que ConfL et SingArea, sont
exécutées de la même manière que les autres instructions logiques. Ils n'affectent cependant pas les
déplacements commandés par les consignes de positionnement précédentes.
Si plusieurs instructions de positionnement avec l'argument \Conc et plusieurs instructions logiques
dans une séquence longue sont mélangées, ce qui suit s'applique :
Les instructions de positionnement sont exécutées après l'exécution de l'instruction de
positionnement précédente.
Les instructions logiques sont exécutées directement, dans l'ordre où elles ont été programmées.
Cela a lieu en même temps que le mouvement (voir Figure 30) ce qui signifie que les instructions
logiques sont exécutées à un stade plus précoce sur le chemin qu'elles n'ont été programmées.
Les mouvements ne peuvent pas être redémarrés après l'arrêt d'un programme, si deux ou
plusieurs instructions de positionnement en séquence attendent d'être exécutées.
Manuel de référence RAPID 629
Machine Translated by Google
Exécution de
SetDO et SetAO
Zone la plus grande
DT
p2
p1
MoveL p1, v1000, z30, tool1 ;
MoveL \Conc, p2, v1000, z30, tool1 ;
SetDO do1, activé ;
MoveL \Conc, p3, v1000, z30, tool1 ;
SetAO ao2, 5;
Figure 30 Si plusieurs instructions de positionnement avec l'argument \Conc sont programmées dans
séquence, toutes les instructions logiques connectées sont exécutées en même temps que la
première position est exécutée.
Lors de l'exécution simultanée du programme, les instructions suivantes sont programmées pour terminer
la séquence et ensuite resynchroniser les instructions de positionnement et les instructions logiques :
une instruction de positionnement sans argument \Conc,
l'instruction WaitTime ou WaitUntil avec l'argument \Inpos.
3.4 Synchronisation du chemin
Afin de synchroniser les équipements de processus (pour des applications telles que le collage, la peinture
et le soudage à l'arc) avec les mouvements du robot, différents types de signaux de synchronisation de
trajectoire peuvent être générés.
Avec un événement dit de positions, un signal de déclenchement sera généré lorsque le robot passe une
position prédéfinie sur la trajectoire. Avec un événement temporel, un signal sera généré dans un temps
prédéfini avant que le robot ne s'arrête dans une position d'arrêt. De plus, le système de commande gère
également les événements de tissage, qui génèrent des impulsions à des angles de phase prédéfinis
d'un mouvement de tissage.
Tous les signaux synchronisés de position peuvent être obtenus à la fois avant (temps d'anticipation) et
après (temps de retard) le moment où le robot passe la position prédéfinie. La position est donnée par
une position programmée et peut être réglée comme une distance de trajectoire avant la position programmée.
630 Manuel de référence RAPID
Machine Translated by Google
La précision est de ±2 ms. Sur la partie du trajet juste avant la position finale (max. 12 mm à 500 mm/s), le signal
peut cependant être retardé de 24 ms.
Si une coupure de courant se produit lors de l'exécution d'une instruction Trigg, la condition de déclenchement
est activée à partir du nouveau point de départ. Cela signifie à son tour que le signal sera défini de manière
incorrecte si l'argument \Start est utilisé. Si la condition de déclenchement s'était déjà produite avant la coupure de
courant, l'événement de déclenchement sera de nouveau activé.
3.5 Informations connexes
Décrit dans:
Instructions de positionnement Résumé RAPIDE Mouvement
Définition de la taille de la zone Types de données zonedata
Manuel de référence RAPID 631
Machine Translated by Google
4 Configuration des robots
Il est généralement possible d'atteindre la même position et orientation de l'outil du robot de
plusieurs manières différentes, en utilisant différents ensembles d'angles d'axe. Nous
appelons ces différentes configurations de robots. Si, par exemple, une position est située
approximativement au milieu d'une cellule de travail, certains robots peuvent atteindre cette position
par le haut et par le bas (voir Figure 31). Ceci peut également être réalisé en retournant la partie
avant du bras supérieur du robot (axe 4) tout en faisant tourner les axes 5 et 6 dans la position et
l'orientation souhaitées (voir Figure 32).
Figure 31 Deux configurations de bras différentes utilisées pour atteindre la même position et la même orientation.
Dans l'une des configurations, les bras pointent vers le haut et pour atteindre l'autre
configuration, l'axe 1 doit être tourné de 180 degrés.
axe 6
axe 4
axe 5
Figure 32 Deux configurations de poignet différentes utilisées pour atteindre la même position et la même orientation.
Dans la configuration dans laquelle la partie avant du bras supérieur pointe vers le haut (inférieur), l'axe
4 a été tourné de 180 degrés, l'axe 5 de 180 degrés et l'axe 6 de 180 degrés afin d'atteindre la
configuration dans laquelle la partie avant du bras le bras supérieur pointe vers le bas (supérieur).
632 Manuel de référence RAPID
Machine Translated by Google
Habituellement, vous voulez que le robot atteigne la même configuration pendant l'exécution du
programme que celui que vous avez programmé. Pour ce faire, vous pouvez demander au robot de
vérifier la configuration et, si la configuration correcte n'est pas atteinte, l'exécution du programme
s'arrêtera. Si la configuration n'est pas vérifiée, le robot peut commencer à bouger ses bras et ses
poignets de manière inattendue, ce qui peut le faire entrer en collision avec des équipements périphériques.
La configuration du robot est spécifiée en définissant les quarts de tour appropriés des axes 1, 4 et 6. Si
le robot et la position programmée ont le même quart de tour pour ces axes, la configuration du robot
est correcte.
1 0
2 3
– .
angle
Figure 33 Quart de tour pour un angle d'articulation positif : int joint π ∕ 2
3 4
2 1
angle – .
Figure 34 Quart de tour pour un angle de joint négatif : joint int
– 1
π ∕ 2
Le contrôle de configuration consiste à comparer la configuration de la position programmée avec
celle du robot.
Lors d'un mouvement linéaire, le robot se déplace toujours vers la configuration la plus proche possible.
Si toutefois le contrôle de configuration est actif, l'exécution du programme s'arrête dès que l'un des
axes s'écarte de plus du nombre de degrés spécifié.
Lors d'un déplacement axe par axe ou d'un déplacement linéaire modifié à l'aide d'un contrôle de
configuration, le robot se déplace toujours vers la configuration d'axe programmée. Si la position et
l'orientation programmées ne sont pas atteintes, l'exécution du programme s'arrête avant de
commencer le mouvement. Si la vérification de la configuration n'est pas active, le robot se déplace
vers la position et l'orientation spécifiées avec la configuration la plus proche.
Lorsque l'exécution d'une position programmée est arrêtée à cause d'une configuration
Manuel de référence RAPID 633
Machine Translated by Google
erreur, elle peut souvent être causée par une ou plusieurs des raisons suivantes :
La position est programmée hors ligne avec une configuration erronée.
L'outil du robot a été changé, ce qui a amené le robot à prendre une autre configuration que
celle programmée.
La position fait l'objet d'une opération cadre active (déplacement, utilisateur, objet, base).
La configuration correcte dans la position de destination peut être trouvée en positionnant le robot à
proximité et en lisant la configuration sur le pendentif d'apprentissage.
Si les paramètres de configuration changent en raison d'un fonctionnement de cadre actif, le
contrôle de configuration peut être désactivé.
4.1 Données de configuration du robot pour 6400C
L'IRB 6400C est légèrement différent dans sa manière de désigner sans ambiguïté une configuration
de robot. La différence est l'interprétation de la confdata cf1.
cf1 permet de sélectionner l'une des deux configurations d'axes principaux possibles (axes 1, 2 et 3) :
cf1 = 0 est la configuration vers l'avant cf1
= 1 est la configuration vers l'arrière.
La figure 35 montre un exemple d'une configuration avant et d'une configuration arrière donnant la même
position et orientation.
AVANT, cf1 = 0
EN ARRIÈRE, cf1
= 1.
Figure 35 Même position et orientation avec deux configurations d'axes principaux différentes.
La configuration avant est la partie avant de l'espace de travail du robot avec le bras dirigé vers l'avant.
La configuration arrière est la partie de service pour l'espace de travail avec le bras dirigé vers l'arrière.
634 Manuel de référence RAPID
Machine Translated by Google
4.2 Informations connexes
Décrit dans:
Définition de la configuration du robot Types de données confdata
Activer/désactiver le contrôle de configuration Résumé RAPID Paramètres de mouvement
Manuel de référence RAPID 635
Machine Translated by Google
5 singularités
Certaines positions dans l'espace de travail du robot peuvent être atteintes en utilisant un nombre
infini de configurations de robot pour positionner et orienter l'outil. Ces positions, appelées points
singuliers (singularités), constituent un problème lors du calcul des angles du bras du robot en
fonction de la position et de l'orientation de l'outil.
De manière générale, un robot possède deux types de singularités : les singularités de bras et les
singularités de poignet. Les singularités de bras sont toutes les configurations où le centre du
poignet (l'intersection des axes 4, 5 et 6) se termine directement audessus de l'axe 1 (voir Figure 36).
Les singularités du poignet sont des configurations où l'axe 4 et l'axe 6 sont sur la même ligne, c'est
àdire que l'axe 5 a un angle égal à 0 (voir Figure 37).
Singularité à l'intersection du centre du
poignet et de l'axe 1
Centre de rotation de l'axe 1
Zbase
Xbase
Figure 36 La singularité du bras se produit là où le centre du poignet et l'axe 1 se croisent.
Axe 5 avec un angle de 0 degrés
Axe 6 parallèle à
l'axe 4
Figure 37 La singularité du poignet se produit lorsque l'axe 5 est à 0 degré.
636 Manuel de référence RAPID
Machine Translated by Google
Points de singularité/IRB 6400C
Entre l'espace de travail du robot, avec le bras dirigé vers l'avant et le bras dirigé vers l'arrière, il y a un point
de singularité audessus du robot. Il y a aussi un point de singularité sur les côtés du robot. Ces points
contiennent une singularité et ont des limitations cinématiques. Une position dans ces points ne peut pas être
spécifiée comme avant/arrière et ne peut être atteinte qu'avec MoveAbsJ. Lorsque le robot est en un point
singulier :
Il est uniquement possible d'utiliser MoveAbsJ ou de déplacer le robot axe par axe.
5.1 Exécution du programme à travers les singularités
Lors de l'interpolation conjointe, le robot n'a jamais de problème pour passer des points singuliers.
Lors de l'exécution d'une trajectoire linéaire ou circulaire proche d'une singularité, les vitesses dans certaines
articulations (1 et 6/4 et 6) peuvent être très élevées. Afin de ne pas dépasser les vitesses articulaires maximales,
la vitesse de trajectoire linéaire est réduite.
Les vitesses articulaires élevées peuvent être réduites en utilisant le mode (Sing Area\Wrist) lorsque les axes du
poignet sont interpolés dans les angles articulaires tout en maintenant la trajectoire linéaire de l'outil du robot. Une
erreur d'orientation par rapport à l'interpolation linéaire complète est cependant introduite.
Notez que la configuration du robot change radicalement lorsque le robot passe près d'une singularité avec une
interpolation linéaire ou circulaire. Afin d'éviter la reconfiguration, la première position de l'autre côté de la singularité
doit être programmée avec une orientation qui rend la reconfiguration inutile.
Notez également que le robot ne doit pas être dans sa singularité lorsque seules les articulations externes sont
déplacées, car cela peut entraîner des mouvements inutiles des articulations du robot.
5.2 Jogging à travers les singularités
Lors de l'interpolation conjointe, le robot n'a jamais de problème pour passer des points singuliers.
Pendant l'interpolation linéaire, le robot peut passer des points singuliers mais à une vitesse réduite.
5.3 Informations connexes
Décrit dans:
Contrôler la manière dont le robot doit agir lors de Mode d'emploi SingArea
l'exécution à proximité de points singuliers
Manuel de référence RAPID 637
Machine Translated by Google
6 Principes d'E/S
Le robot possède généralement une ou plusieurs cartes d'E/S. Chacune des cartes possède plusieurs
canaux numériques et/ou analogiques qui doivent être connectés à des signaux logiques avant de
pouvoir être utilisés. Ceci est effectué dans les paramètres système et a généralement déjà été fait en
utilisant des noms standard avant la livraison du robot. Les noms logiques doivent toujours être utilisés
lors de la programmation.
Un canal physique peut être connecté à plusieurs noms logiques, mais peut également n'avoir aucune
connexion logique (voir Figure 38).
Canal physique Signal logique
EN 1
EN 2 chargeur do1
.
.
.
.
IN16
Carte E/S
SORTIE1 pince do2
OUT2
.
. mangeoire2
.
.
OUT16 faire16
Figure 38 Pour pouvoir utiliser une carte d'E/S, ses canaux doivent avoir des noms logiques. Dans
l'exemple cidessus, la sortie physique 2 est reliée à deux noms logiques différents. IN16,
en revanche, n'a pas de nom logique et ne peut donc pas être utilisé.
6.1 Caractéristiques des signaux
Les caractéristiques d'un signal dépendent du canal physique utilisé ainsi que de la façon dont le canal
est défini dans les paramètres système. Le canal physique détermine les temporisations et les niveaux
de tension (voir les spécifications du produit). Les caractéristiques, temps de filtrage et mise à l'échelle
entre valeurs programmées et valeurs physiques, sont définis dans les paramètres système.
Lorsque l'alimentation électrique du robot est activée, tous les signaux sont mis à zéro. Ils ne sont
cependant pas affectés par les arrêts d'urgence ou événements similaires.
638 Manuel de référence RAPID
Machine Translated by Google
Une sortie peut être définie sur un ou zéro depuis le programme. Cela peut également être fait en utilisant un
retard ou sous la forme d'une impulsion. Si une impulsion ou un changement temporisé est commandé pour
une sortie, l'exécution du programme continue. Le changement est alors effectué sans affecter le reste de
l'exécution du programme. Si par contre un nouveau changement est commandé pour la même sortie avant
que le temps imparti ne soit écoulé, le premier changement n'est pas effectué (voir Figure 39).
SetDO \SDelay:=1, do1; Temps
d'attente 0,5 ;
ImpulsionDO do1 ;
Valeur du signal
Temps
0 0,5 1
Figure 39 L'instruction SetDO n'est pas exécutée du tout car une nouvelle commande est donnée avant que
la temporisation ne soit écoulée.
6.2 Signaux du système
Les signaux logiques peuvent être interconnectés au moyen de fonctions système spéciales. Si, par exemple,
une entrée est connectée à la fonction système Start, un démarrage de programme est automatiquement
généré dès que cette entrée est activée. Ces fonctions système ne sont généralement activées qu'en mode
automatique. Pour plus d'informations, reportezvous au chapitre 9, Paramètres système, ou au chapitre
Installation et mise en service Communication API dans le manuel du produit.
6.3 Interconnexions
Les signaux numériques peuvent être interconnectés de telle sorte qu'ils s'influencent automatiquement les uns
les autres :
Un signal de sortie peut être connecté à un ou plusieurs signaux d'entrée ou de sortie.
Un signal d'entrée peut être connecté à un ou plusieurs signaux d'entrée ou de sortie.
Si le même signal est utilisé dans plusieurs interconnexions, la valeur de ce signal est la même que la
dernière valeur activée (modifiée).
Les interconnexions peuvent être interconnectées, c'estàdire qu'une interconnexion peut en affecter
une autre. Ils ne doivent cependant pas être connectés de manière à former un "cercle vicieux", par
exemple en interconnectant di1 à di2 tandis que di2 est interconnecté à di1.
S'il y a une connexion croisée sur un signal d'entrée, la connexion physique correspondante est
automatiquement désactivée. Toute modification apportée à ce canal physique ne sera donc pas
détectée.
Manuel de référence RAPID 639
Machine Translated by Google
Les impulsions ou les retards ne sont pas transmis sur les interconnexions.
Les conditions logiques peuvent être définies en utilisant NOT, AND et OR (Option :
Fonctions avancées).
Exemples:
di2=di1
di3=di2
do4=di2
Si di1 change, di2, di3 et do4 seront remplacés par la valeur correspondante.
do8=do7
do8=di5
Si do7 est défini sur 1, do8 sera également défini sur 1. Si di5 est alors défini sur 0, do8 sera
également modifié (malgré le fait que do7 est toujours 1).
do5=di6 et do1
Do5 est défini sur 1 si di6 et do1 sont définis sur 1.
6.4 Limites
Un maximum de 10 signaux peuvent être pulsés en même temps et un maximum de 20 signaux
peuvent être retardés en même temps.
6.5 Informations connexes
Décrit dans:
Définition des cartes d'E/S et des signaux Guide de l'utilisateur Paramètres système
Instructions pour la gestion des E/S Résumé RAPID Entrée et sortie
Signaux
Manipulation manuelle des E/S Guide de l'utilisateur Entrées et sorties
640 Manuel de référence RAPID
Machine Translated by Google
bourdonner
Valeurs logiques
Bool est utilisé pour les valeurs logiques (true/false).
Description
La valeur des données de type bool peut être TRUE ou FALSE.
Exemples
drapeau1 := VRAI ;
flag prend la valeur TRUE.
VAR bool valeur élevée ;
VAR num reg1 ;
.
valeur élevée := reg1 > 100 ;
highvalue reçoit la valeur TRUE si reg1 est supérieur à 100 ; sinon, FALSE est attribué.
IF valeur élevée Set do1 ;
Le signal do1 est activé si highvalue est TRUE.
valeur élevée := reg1 > 100 ;
valeur moyenne := reg1 > 20 ET NON valeur haute ;
mediumvalue reçoit la valeur TRUE si reg1 est compris entre 20 et 100.
Informations connexes
Décrit dans:
Expressions logiques Caractéristiques de base Expressions
Opérations utilisant des valeurs logiques Caractéristiques de base Expressions
Manuel de référence RAPID 7bool1
Machine Translated by Google
7bool2 Manuel de référence RAPID
Machine Translated by Google
horloge Mesure du temps
L'horloge est utilisée pour la mesure du temps. Une horloge fonctionne comme un chronomètre utilisé pour le chronométrage.
Description
Les données de type horloge stockent une mesure de temps en secondes et ont une résolution de 0,01 seconde.
Exemple
VAR horloge horloge1 ;
ClkReset horloge1 ;
L'horloge, clock1, est déclarée et réinitialisée. Avant d'utiliser ClkReset, ClkStart, ClkStop et ClkRead, vous devez déclarer
une variable de type de données clock dans votre programme.
Limites
La durée maximale pouvant être stockée dans une variable d'horloge est d'environ 49 jours (4 294 967 secondes). Les
instructions ClkStart, ClkStop et ClkRead signalent des débordements d'horloge dans le cas très improbable où cela se
produirait.
Une horloge doit être déclarée en tant que type de variable VAR , et non en tant que type de variable persistante .
Caractéristiques
Clock est un type de données sans valeur et ne peut pas être utilisé dans des opérations orientées valeur.
Informations connexes
Décrit dans:
Résumé des instructions d'heure et de date Résumé RAPID Système et heure
Caractéristiques des types de données sans valeur Caractéristiques de base Types de données
Manuel de référence RAPID 7horloge1
Machine Translated by Google
7horloge2 Manuel de référence RAPID
Machine Translated by Google
confdata Données de configuration du robot
Confdata est utilisé pour définir les configurations d'axe du robot.
Description
Toutes les positions du robot sont définies et stockées à l'aide de coordonnées rectangulaires. Lors du
calcul des positions d'axe correspondantes, il y aura souvent deux ou plusieurs solutions possibles.
Cela signifie que le robot est capable d'atteindre la même position, c'estàdire que l'outil est dans la
même position et avec la même orientation, avec plusieurs positions ou configurations différentes des
axes du robot.
Pour désigner sans ambiguïté l'une de ces configurations possibles, la configuration du robot est
spécifiée à l'aide de trois valeurs d'axe. Ces valeurs définissent le quadrant courant de l'axe 1, de l'axe
4 et de l'axe 6. Les quadrants sont numérotés 0, 1, 2, etc. (ils peuvent aussi être négatifs).
Le numéro de quadrant est lié à l'angle d'articulation actuel de l'axe. Pour chaque axe, le quadrant 0 est
le premier quart de tour, 090°, dans le sens positif à partir de la position zéro ; le quadrant 1 est la
révolution suivante, 90180°, etc. Le quadrant 1 est la révolution 0° (90°), etc. (voir Figure 1).
4 3
1 0
3 2 2
1
Figure 1 Les quadrants de configuration pour l'axe 6.
Données de configuration du robot pour 6400C
L'IRB 6400C nécessite une manière légèrement différente de désigner sans ambiguïté une configuration
de robot. La différence réside dans l'interprétation de la confdata cf1.
cf1 permet de sélectionner l'une des deux configurations d'axes principaux possibles (axes 1, 2 et 3) :
cf1 = 0 est la configuration vers l'avant cf1
= 1 est la configuration vers l'arrière.
La figure 2 montre un exemple d'une configuration avant et d'une configuration arrière donnant la même
position et orientation.
Manuel de référence RAPID 7confdata1
Machine Translated by Google
AVANT, cf1 =
0
EN ARRIÈRE,
cf1 = 1.
Figure 2 Même position et orientation avec deux configurations d'axes principaux différentes.
La configuration avant est la partie avant de la zone de travail du robot avec le bras dirigé vers
l'avant. La configuration arrière est la partie de service de la zone de travail avec le bras dirigé
vers l'arrière.
Composants
cf1 Type de données : nombre
Le quadrant actuel de l'axe 1, exprimé sous la forme d'un entier positif ou négatif.
cf4 Type de données : nombre
Le quadrant actuel de l'axe 4, exprimé sous la forme d'un entier positif ou négatif.
cf6 Type de données : nombre
Le quadrant actuel de l'axe 6, exprimé sous la forme d'un entier positif ou négatif.
CFX Type de données : nombre
Ce composant n'est pas utilisé actuellement.
7confdata2 Manuel de référence RAPID
Machine Translated by Google
Exemple
VAR confdata conf15 := [1, 1, 0, 0]
Une configuration de robot conf15 est définie comme suit :
La configuration d'axe de l'axe du robot 1 est le quadrant 1, c'estàdire 90180o.
La configuration d'axe de l'axe du robot 4 est le quadrant 1, c'estàdire 0(90o).
La configuration des axes de l'axe du robot 6 est le quadrant 0, c'estàdire 0 90o.
Structure
< dataobject de confdata > < cf1 de
num > < cf4 de num
> < cf6 de num > <
cfx de num >
Informations connexes
Décrit dans:
Systèmes de coordonnées Principes de mouvement et d'E/S Systèmes
de coordonnées
Gestion des données de configuration Principes de mouvement et d'E/S Robot
Configuration
Manuel de référence RAPID 7confdata3
Machine Translated by Google
7confdata4 Manuel de référence RAPID
Machine Translated by Google
dionum Valeurs numériques 0 1
Dionum (digital input output numeric) est utilisé pour les valeurs numériques (0 ou 1).
Ce type de données est utilisé conjointement avec des instructions et des fonctions qui gèrent des signaux d'entrée
ou de sortie numériques.
Description
Les données de type dionum représentent une valeur numérique 0 ou 1.
Exemples
CONST dionum close := 1;
Définition d'une clôture constante avec une valeur égale à 1.
SetDO poignée1, fermer ;
Le signal grip1 est réglé sur fermé, c'estàdire 1.
La gestion des erreurs
Si un argument de type dionum a une valeur qui n'est ni égale à 0 ni à 1, une erreur est renvoyée à l'exécution du
programme.
Caractéristiques
Dionum est un type de données alias pour num et hérite par conséquent de ses caractéristiques.
Informations connexes
Décrit dans:
Instructions d'entrée/sortie récapitulatives Résumé RAPIDE
Signaux d'entrée et de sortie
Configuration des E/S Guide de l'utilisateur Paramètres système
Types de données d'alias Caractéristiques de base Types de données
Manuel de référence RAPID 7dionum1
Machine Translated by Google
7dionum2 Manuel de référence RAPID
Machine Translated by Google
numéro d'erreur Numéro d'erreur
Errnum est utilisé pour décrire toutes les erreurs récupérables (non fatales) qui se produisent pendant l'exécution
du programme, telles que la division par zéro.
Description
Si le robot détecte une erreur pendant l'exécution du programme, cela peut être traité dans le gestionnaire
d'erreurs de la routine. Des exemples de telles erreurs sont des valeurs trop élevées et une division par
zéro. La variable système ERRNO, de type errnum, est ainsi affectée de valeurs
différentes selon la nature d'une erreur. Le gestionnaire d'erreurs peut être en mesure de corriger une
erreur en lisant cette variable, puis l'exécution du programme peut continuer correctement.
Une erreur peut également être créée depuis le programme à l'aide de l'instruction RAISE.
Ce type particulier d'erreur peut être détecté dans le gestionnaire d'erreurs en spécifiant un numéro
d'erreur comme argument de RAISE.
Exemples
reg1 := reg2 / reg3;
.
ERREUR
SI ERRNO = ERR_DIVZERO ALORS reg3 :=
1;
RECOMMENCEZ;
FIN SI
Si reg3 = 0, le robot détecte une erreur lors de la division. Cette erreur peut cependant être
détectée et corrigée en attribuant à reg3 la valeur 1. Ensuite, la division peut être effectuée à
nouveau et l'exécution du programme peut continuer.
CONST errnum machine_error := 1;
.
SI di1=0 RELEVER erreur_machine ;
.
ERREUR
IF ERRNO=machine_error RAISE ;
Une erreur se produit dans une machine (détectée au moyen du signal d'entrée di1). Un saut est
effectué vers le gestionnaire d'erreurs dans la routine qui, à son tour, appelle le gestionnaire
d'erreurs de la routine appelante où l'erreur peut éventuellement être corrigée. La constante,
machine_error, est utilisée pour permettre au gestionnaire d'erreurs de savoir exactement quel
type d'erreur s'est produit.
Manuel de référence RAPID 7errnum1
Machine Translated by Google
Données prédéfinies
La variable système ERRNO peut être utilisée pour lire la dernière erreur survenue. Un certain
nombre de constantes prédéfinies peuvent être utilisées pour déterminer le type d'erreur qui
s'est produite.
Nom Cause de l'erreur
ERR_ALRDYCNT La variable d'interruption est déjà connectée à une
routine TRAP
ERR_ARGDUPCND Plus d'un argument conditionnel présent pour le même
paramètre L'argument
ERR_ARGNOTPER n'est pas une référence persistante
ERR_ARGNOTVAR L'argument n'est pas une référence de
ERR_AXIS_ACT variable L'axe n'est
ERR_AXIS_IND pas actif L'axe n'est pas
ERR_AXIS_MOVING indépendant L'axe
ERR_AXIS_PAR se déplace Paramètre axe dans l'instruction
TestSign et SetCurrRef est faux.
ERR_CALLPROC Erreur d'appel de procédure lors de l'exécution (liaison tardive)
ERR_CNTNOTVAR La cible CONNECT n'est pas une référence de
ERR_DEV_MAXTIME variable Timeout lors de l'exécution d'une instruction
ReadBin, ReadNum
ERR_DIVZERO ou ReadStr Division
ERR_EXCRTYMAX par zéro Max. nombre de tentatives
ERR_EXECPHR dépassé Tentative d'exécution d'une instruction à l'aide d'un
espace réservé
ERR_FILEACC Accès incorrect au fichier Fichier
ERR_FILNOTFND introuvable
ERR_FILEOPEN Fichier introuvable Aucune
ERR_FNCNORET valeur de retour
ERR_ILLDIM Dimension de tableau
ERR_ILLQUAT incorrecte Tentative d'utilisation d'une valve d'orientation
ERR_ILLRAISE illégale (quaternion) Numéro d'erreur dans
ERR_INOMAX RAISE sur range Plus de numéros
ERR_MAXINTVAL d'interruption disponibles La
ERR_NEGARG valeur entière est trop grande L'argument
ERR_NOTARR négatif n'est pas
ERR_NOTEQDIM autorisé Les données ne sont pas un tableau La dimension
du tableau utilisée lors de l'appel de la
ERR_NOTINTVAL routine ne coïncide pas
ERR_NOTPRES avec ses paramètres Pas une valeur entière Un paramètre
est utilisé, malgré le fait que la l'argument correspondant
ERR_OUTOFBND n'a pas été utilisé lors de l'appel de la routine L'index
ERR_REFUNKDAT du tableau est en dehors des limites autorisées Référence à un objet de donnée
7errnum2 Manuel de référence RAPID
Machine Translated by Google
ERR_REFUNKFUN Référence à une fonction inconnue
ERR_REFUNKPRC Référence à une procédure inconnue
ERR_REFUNKTRP Référence à un piège inconnu
ERR_PATHDIST Distance de récupération trop longue pour l'instruction StartMove
ERR_RCVDATA Tentative de lecture de données non numériques avec
LireNum
ERR_SC_WRITE Erreur lors de l'envoi vers un ordinateur externe
ERR_STEP_PAR Le pas de paramètre dans SetCurrRef est incorrect
ERR_STRTOOLNG La chaîne est trop longue
ERR_TP_DIBREAK Une instruction TPRead a été interrompue par une entrée
numérique
ERR_TP_MAXTIME Timeout lors de l'exécution d'une instruction TPRead
ERR_UNIT_PAR Le paramètre Mech_unit dans TestSign et SetCurrRef est erroné
ERR_UNKINO Numéro d'interruption inconnu
ERR_UNLOAD Erreur de déchargement
ERR_WAIT_MAXTIME Timeout lors de l'exécution d'une instruction WaitDI ou WaitUntil
ERR_WHLSEARCH Pas d'arrêt de recherche
Caractéristiques
Errnum est un type de données alias pour num et hérite par conséquent de ses caractéristiques.
Informations connexes
Décrit dans:
Récupération d'erreur Résumé RAPID Récupération d'erreur
Caractéristiques de base Récupération d'erreur
Types de données en général, types de données alias Caractéristiques de base Types de données
Manuel de référence RAPID 7errnum3
Machine Translated by Google
7errnum4 Manuel de référence RAPID
Machine Translated by Google
extjoint Position des joints externes
Extjoint est utilisé pour définir les positions d'axe d'axes externes, de positionneurs ou de manipulateurs
de pièces.
Description
Le robot peut contrôler jusqu'à six axes externes en plus de ses six axes internes, soit un total de
douze axes. Les six axes externes sont logiquement notés : a, b, c, d, e, f. Chacun de ces axes
logiques peut être connecté à un axe physique et, dans ce cas, la connexion est définie dans les
paramètres système.
Les données de type extjoint sont utilisées pour conserver les valeurs de position pour chacun des axes logiques a f.
Pour chaque axe logique connecté à un axe physique, la position est définie comme suit :
Pour les axes rotatifs la position est définie comme la rotation en degrés à partir de la
position d'étalonnage.
Pour les axes linéaires – la position est définie comme la distance en mm à partir de la
position de calibrage.
Si un axe logique n'est pas connecté à un axe physique, la valeur 9E9 est utilisée comme valeur de
position, indiquant que l'axe n'est pas connecté. Au moment de l'exécution, les données de position
de chaque axe sont vérifiées et il est vérifié si l'axe correspondant est connecté ou non. Si la valeur
de position enregistrée ne correspond pas à la connexion d'axe réelle, ce qui suit s'applique :
Si la position n'est pas définie dans les données de position (la valeur est 9E9), la valeur
sera ignorée si l'axe est connecté et non activé. Mais si l'axe est activé, cela entraînera une
erreur.
Si la position est définie dans les données de position, bien que l'axe ne soit pas connecté,
la valeur sera ignorée.
Si un décalage d'axe externe est utilisé (instruction EOffsOn ou EOffsSet), les positions sont
spécifiées dans le système de coordonnées ExtOffs.
Composants
eax_a (axe extérieur a) Type de données : nombre
La position de l'axe logique externe « a », exprimée en degrés ou en mm (selon le type
d'axe).
La position de l'axe logique externe "b", exprimée en degrés ou en mm (selon le type
d'axe).
Manuel de référence RAPID 7extjoint1
Machine Translated by Google
...
La position de l'axe logique externe « f », exprimée en degrés ou en mm (selon le type d'axe).
Exemple
VAR extjoint axpos10 := [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ;
La position d'un positionneur externe, axpos10, est définie comme suit :
La position de l'axe logique externe « a » est fixée à 11, exprimée en degrés ou en mm (selon le type
d'axe).
La position de l'axe logique externe « b » est fixée à 12,3, exprimée en degrés ou en mm (selon le
type d'axe).
Les axes c à f sont indéfinis.
Structure
< dataobject of extjoint > <
eax_a of num > <
eax_b of num > <
eax_c of num > <
eax_d of num > <
eax_e of num > <
eax_f of num >
Informations connexes
Décrit dans:
Données de position Types de données robtarget
Système de coordonnées ExtOffs Instructions EOffsOn
7extjoint2 Manuel de référence RAPID
Machine Translated by Google
intnum Interrompre l'identité
Intnum (numérique d'interruption) est utilisé pour identifier une interruption.
Description
Lorsqu'une variable de type intnum est connectée à une routine d'interruption, on lui donne une valeur
spécifique identifiant l'interruption. Cette variable est ensuite utilisée dans toutes les transactions avec
l'interruption, comme lors de la commande ou de la désactivation d'une interruption.
Plusieurs identités d'interruption peuvent être connectées à la même routine d'interruption. La variable système
INTNO peut donc être utilisée dans une routine de déroutement pour déterminer le type d'interruption qui
se produit.
Exemples
VAR intnum feeder_error ;
.
CONNECT feeder_error AVEC correct_feeder ;
ISignalDI di1, 1, feeder_error ;
Une interruption est générée lorsque l'entrée di1 est mise à 1. Lorsque cela se produit, un appel est
effectué à la routine d'interruption correct_feeder .
Manuel de référence RAPID 7numéro1
Machine Translated by Google
VAR intnum feeder1_error ;
VAR intnum feeder2_error ;
.
PROC init_interrupt();
.
CONNECT feeder1_error WITH correct_feeder ;
ISignalDI di1, 1, feeder1_error ;
CONNECT feeder2_error WITH correct_feeder ;
ISignalDI di2, 1, feeder2_error ;
.
ENDPROC
.
TRAP correct_feeder
SI INTNO=feeder1_error ALORS
.
AUTRE
.
FIN SI
.
ENTRAÎNEMENT
Une interruption est générée lorsque l'une ou l'autre des entrées di1 ou di2 est mise à 1. Un
appel est alors effectué à la routine d'interruption correct_feeder . La variable système INTNO
est utilisée dans la routine d'interruption pour savoir quel type d'interruption s'est produit.
Caractéristiques
Intnum est un type de données alias pour num et hérite donc de ses propriétés.
Informations connexes
Décrit dans:
Résumé des interruptions Résumé RAPID Interruptions
Types de données d'alias Caractéristiques de base
Types de données
7numéro2 Manuel de référence RAPID
Machine Translated by Google
iodev Canaux et fichiers série
Iodev (périphérique d'E/S) est utilisé pour les canaux série, tels que les imprimantes et les fichiers.
Description
Les données de type iodev contiennent une référence à un fichier ou à un canal série. Il peut être lié à l'unité
physique au moyen de l'instruction Open puis utilisé en lecture et en écriture.
Exemple
Fichier VAR iodev ;
.
Ouvrez "flp1:LOGDIR/INFILE.DOC", fichier\Read ; input :=
ReadNum(file);
Le fichier INFILE.DOC est ouvert en lecture. Lors de la lecture à partir du fichier, file est utilisé comme
référence au lieu du nom de fichier.
Caractéristiques
Iodev est un type de données sans valeur.
Informations connexes
Décrit dans:
Communication via des canaux série Résumé RAPID Communication
Configuration des canaux série Guide de l'utilisateur Paramètres système
Caractéristiques des types de données sans valeur Caractéristiques de base Types de données
Manuel de référence RAPID 7iodev1
Machine Translated by Google
7iodev2 Manuel de référence RAPID
Machine Translated by Google
cible commune Données de position conjointes
Jointtarget est utilisé pour définir la position vers laquelle le robot et les axes externes se déplaceront avec
l'instruction MoveAbsJ.
Description
Jointtarget définit chaque position d'axe individuelle, à la fois pour le robot et l'extérieur
axes.
Composants
robax (axes robotisés) Type de données : robjoint
Positions des axes des axes du robot en degrés.
La position de l'axe est définie comme la rotation en degrés de l'axe respectif (bras) dans un sens positif
ou négatif à partir de la position d'étalonnage de l'axe.
La position des axes externes.
La position est définie comme suit pour chaque axe individuel (eax_a, eax_b ... eax_f) :
Pour les axes rotatifs, la position est définie comme la rotation en degrés à partir de la position
d'étalonnage.
Pour les axes linéaires, la position est définie comme la distance en mm de la position d'étalonnage.
Les axes externes eax_a ... sont des axes logiques. La relation entre le numéro d'axe logique et le
numéro d'axe physique est définie dans le paramètre système
ters.
La valeur 9E9 est définie pour les axes non connectés. Si les axes définis dans les données de position
diffèrent des axes réellement connectés lors de l'exécution du programme, ce qui suit s'applique :
Si la position n'est pas définie dans les données de position (valeur 9E9) la valeur sera ignorée, si l'axe
est connecté et non activé. Mais si l'axe est activé, cela entraînera une erreur.
Si la position est définie dans les données de position mais que l'axe n'est pas connecté, la valeur est
ignorée.
Manuel de référence RAPID 7jointtarget1
Machine Translated by Google
Exemples
CONST jointtarget calib_pos := [ [ 0, 0, 0, 0, 0, 0], [ 0, 9E9, 9E9, 9E9, 9E9, 9E9] ] ;
La position d'étalonnage normale pour IRB2400 est définie dans calib_pos par le type de données
jointtarget. La position normale d'étalonnage 0 (degrés ou mm) est également définie pour l'axe
logique externe a. Les axes externes b à f sont indéfinis.
Structure
< dataobject de jointtarget > < robax
de robjoint > < rax_1 de
num > < rax_2 de num
> < rax_3 de num > <
rax_4 de num > <
rax_5 de num > <
rax_6 de num > <
extax de extjoint > <
eax_a de num > < eax_b
de num > < eax_c de
num > < eax_d de
num > < eax_e de
num > < eax_f de num
>
Informations connexes
Décrit dans:
Passer à la position commune Instructions MoveAbsJ
Instructions de positionnement Résumé RAPIDE Mouvement
Configuration des axes externes Guide de l'utilisateur Paramètres système
7jointtarget2 Manuel de référence RAPID
Machine Translated by Google
charger des données Charger les données
Loaddata est utilisé pour décrire les charges attachées à l'interface mécanique du robot (la bride de montage
du robot).
Les données de charge définissent généralement la charge utile du robot, c'estàdire la charge maintenue dans la
poignée du robot par. La charge d'outil est spécifiée dans les données d'outil (tooldata) qui incluent les données de charge.
Description
Des charges spécifiées sont utilisées pour établir un modèle de la dynamique du robot afin que les mouvements
du robot puissent être contrôlés de la meilleure façon possible.
Si des données de charge incorrectes sont spécifiées, cela a souvent les conséquences suivantes :
Si les données de charge spécifiées sont supérieures à la valeur de la charge réelle ; >
Le robot ne sera pas utilisé à sa capacité maximale > Précision de
trajectoire altérée, y compris le risque de dépassement.
Si les données de charge spécifiées sont inférieures à la valeur de la charge réelle ;
> Précision de la trajectoire altérée, y compris le risque de dépassement.
La charge utile est connectée/déconnectée à l'aide de l'instruction GripLoad.
Composants
masse Type de données : nombre
Le poids de la charge en kg.
Le centre de gravité de la charge (x, y et z) en mm.
Le centre de gravité d'une charge utile est défini à l'aide du système de coordonnées de l'outil (le
système de coordonnées de l'objet lorsqu'un outil fixe est utilisé).
Le centre de gravité d'un outil est défini à l'aide du système de coordonnées du poignet.
om (axes du moment) Type de données : orient
L'orientation des axes de moment de la charge au centre de gravité, exprimée sous la forme d'un
quaternion (q1, q2, q3 et q4).
Les axes de moment d'une charge utile sont définis à l'aide du système de coordonnées de l'outil, avec
l'origine (zéro) située au centre de gravité de la charge (voir Figure 1) le système de coordonnées de
l'objet lorsqu'un outil stationnaire est utilisé. Si l'orientation est définie comme q1=1 et q2 ... q4=0, cela
signifie que les axes de moment sont parallèles aux axes de coordonnées de l'outil.
Manuel de référence RAPID 7loaddata1
Machine Translated by Google
Système de coordonnées du poignet
Pince
Oui
Système de coordonnées d'outil
Z
Y'
Axes de moment
Z' de la charge utile
X
Charge utile
X' Le centre de gravité de la charge
Figure 1 Le centre de gravité de la charge utile et les axes de moment (les axes de moment sont parallèles
aux axes de coordonnées de l'outil dans cet exemple).
ix (inertie x) Type de données : nombre
Le moment d'inertie de la charge autour de l'axe x', exprimé en kgm2.
L'orientation des axes de moment et le moment d'inertie n'ont généralement pas besoin
d'être définis. Si toutefois le moment d'inertie est défini correctement, cela augmentera
le niveau de précision de la trajectoire lors de la manipulation de grandes tôles, etc.
Si le moment d'inertie de tous les composants ix, iy et iz est égal à 0 kgm2 , cela implique
une charge ponctuelle.
Le moment d'inertie est calculé à l'aide de diverses formules en fonction de la forme
de la charge et, faute de place, n'est pas décrit ici (voir autres sources de référence).
Normalement, le moment d'inertie ne doit être défini que lorsque la distance entre la
bride de montage et le centre de gravité est inférieure à la dimension de la charge (voir
Figure 2).
charge utile
distance
X
dimension
Figure 2 Le moment d'inertie doit normalement être défini lorsque la distance est inférieure à la dimension.
Moment d'inertie de la charge autour de l'axe y', exprimé en kgm2 .
Pour plus d'informations, voir ix.
7loaddata2 Manuel de référence RAPID
Machine Translated by Google
je suis
(inertie z) Type de données : nombre
Le moment d'inertie de la charge autour de l'axe z', exprimé en kgm2.
Pour plus d'informations, voir ix.
Exemples
PERS loaddata piece1 := [ 5, [50, 0, 50], [1, 0, 0, 0], 0, 0, 0] ;
La charge utile de la figure 1 est décrite à l'aide des valeurs suivantes :
Poids 5 kg.
Le centre de gravité est x = 50, y = 0 et z = 50 mm dans la coordonnée de l'outil sys
tem.
La charge utile est une charge ponctuelle.
Réglez la pince ;
Temps d'attente
0,3 ; Pièce GripLoad1 ;
Connexion de la charge utile, pièce1, spécifiée en même temps que le robot saisit la charge pièce1.
Réinitialiser la
pince ; Temps
d'attente 0,3 ; charge GripLoad0 ;
Déconnexion d'une charge utile, spécifiée en même temps que le robot libère une charge utile.
Limites
La charge utile ne doit être définie qu'en tant que variable persistante (PERS) et non dans une routine. Les valeurs
courantes sont alors sauvegardées lors de la mémorisation du programme sur disquette et sont récupérées au
chargement.
Les arguments de type load data dans l' instruction GripLoad ne doivent être qu'un persistant entier (et non un élément
de tableau ou un composant d'enregistrement).
Données prédéfinies
La charge load0 définit une charge utile dont le poids est égal à 0 kg, c'estàdire aucune charge. Cette charge est
utilisée comme argument dans l'instruction GripLoad pour déconnecter une charge utile.
Manuel de référence RAPID 7loaddata3
Machine Translated by Google
La charge load0 est toujours accessible depuis le programme, mais ne peut pas être modifiée (elle est stockée dans
le module système BASE).
PERS loaddata load0 := [ 0, [0, 0, 0], [1, 0, 0, 0],0, 0 ,0 ];
Structure
< dataobject of loaddata > < mass
of num > < cog of pos
> < x of num > < y
of num > < z of
num > < aom of
orient > < q1 of
num > < q2 of num > <
q3 of num > < q4
de num > < ix de
num > < iy de num
> < iz de num >
Informations connexes
Décrit dans:
Systèmes de coordonnées Principes de mouvement et d'E/S Systèmes
de coordonnées
Définition des charges d'outils Types de données données d'outil
Activation des charges utiles Mode d'emploi GripLoad
7loaddata4 Manuel de référence RAPID
Machine Translated by Google
mecunit Unité mécanique
Mecunit est utilisé pour définir les différentes unités mécaniques qui peuvent être contrôlées et accessibles
depuis le robot et le programme.
Les noms des unités mécaniques sont définis dans les paramètres système et, par conséquent, ne doivent
pas être définis dans le programme.
Description
Les données de type mecunit contiennent uniquement une référence à l'unité mécanique.
Limites
Les données de type mecunit ne doivent pas être définies dans le programme. Le type de données peut, en
revanche, être utilisé comme paramètre lors de la déclaration d'une routine.
Données prédéfinies
Les unités mécaniques définies dans les paramètres du système sont toujours accessibles à partir du
programme (données installées).
Caractéristiques
Mecunit est un type de données sans valeur . Cela signifie que les données de ce type ne permettent pas
d'opérations orientées valeur.
Informations connexes
Décrit dans:
Activation/désactivation des unités mécaniques Instructions ActUnit, DeactUnit
Configuration des unités mécaniques Guide de l'utilisateur Paramètres système
Caractéristiques des types de données sans valeur Caractéristiques de base Types de données
Manuel de référence RAPID 7mecunit1
Machine Translated by Google
7mecunit2 Manuel de référence RAPID
Machine Translated by Google
motsetdata Données de paramètres de mouvement
Motsetdata est utilisé pour définir un certain nombre de paramètres de mouvement qui affectent toutes les instructions
de positionnement dans le programme :
Max. vitesse et dépassement de vitesse
Données d'accélération
Comportement autour des points singuliers
Gestion de différentes configurations de robots
Charge utile
Ce type de données ne doit normalement pas être utilisé car ces paramètres ne peuvent être définis qu'à l'aide des
instructions VelSet, AccSet, SingArea, ConfJ, ConfL et GripLoad.
Les valeurs actuelles de ces paramètres de mouvement sont accessibles à l'aide de la variable système C_MOTSET.
Description
Les paramètres de mouvement actuels (stockés dans la variable système C_MOTSET) affectent tous les
mouvements.
Composants
vel.oride Type de données : veldata/num
Vitesse en pourcentage de la vitesse programmée.
vel.max Type de données : veldata/num
Vitesse maximale en mm/s.
acc.acc Type de données : accdata/num
Accélération et décélération en pourcentage des valeurs normales.
acc. rampe Type de données : accdata/num
Taux d'augmentation de l'accélération et de la décélération en pourcentage des valeurs normales.
chanter.poignet Type de données : singdata/bool
L'orientation de l'outil peut légèrement dévier afin d'éviter la singularité du poignet.
Manuel de référence RAPID 7motsetdata1
Machine Translated by Google
chanter.bras Type de données : singdata/bool
L'orientation de l'outil est autorisée à dévier quelque peu afin d'éviter la singularité du bras.
chanter.base Type de données : singdata/bool
L'orientation de l'outil ne doit pas dévier.
conf.jsup Type de données : confsupdata/bool
La surveillance de la configuration articulaire est active pendant le mouvement articulaire.
conf.lsup Type de données : confsupdata/bool
La surveillance de la configuration de l'articulation est active pendant les mouvements linéaires et circulaires.
conf.ax1 Type de données : confsupdata/num
Écart maximal autorisé en degrés pour l'axe 1 (non utilisé dans cette version).
conf.ax4 Type de données : confsupdata/num
Écart maximal autorisé en degrés pour l'axe 4 (non utilisé dans cette version).
conf.ax6 Type de données : confsupdata/num
Écart maximal autorisé en degrés pour l'axe 6 (non utilisé dans cette version).
grip.load Type de données : gripdata/loaddata
La charge utile du robot (hors préhenseur).
grip.acc Type de données :gripdata/num
Données d'accélération pour la charge actuelle (non utilisées dans cette version).
Limites
Un et un seul des composants sing.wrist, sing.arm ou sing.base peut avoir une valeur égale à TRUE.
7motsetdata2 Manuel de référence RAPID
Machine Translated by Google
Exemple
SI C_MOTSET.vel.oride > 50 ALORS
...
AUTRE
...
FIN SI
Différentes parties du programme sont exécutées en fonction du dépassement de vitesse actuel.
Données prédéfinies
C_MOTSET décrit les paramètres de mouvement actuels du robot et est toujours accessible à partir
du programme (données installées). C_MOTSET, en revanche, ne peut être modifié qu'à l'aide d'un certain
nombre d'instructions, et non par affectation.
Les valeurs par défaut suivantes pour les paramètres de mouvement sont définies
lors d'un démarrage à
froid lors du chargement d'un nouveau
programme lors de la reprise de l'exécution du programme depuis le début.
PERS motsetdata C_MOTSET := [ [ 100,
500 ], [ 100, > veldata >
100 ], accdata >
[ FAUX, FAUX, VRAI ], singdata >
[ VRAI, VRAI, 30, 45, 90], [ [ 0, [ 0, confsupdata >
0, 0 ], [ 1, 0, 0, 0 ], 0, 0, 0 ], 1 ] ] gripdata
Manuel de référence RAPID 7motsetdata3
Machine Translated by Google
Structure
<dataobject de motsetdata>
<vel de veldata > > Affecté par l'instruction VelSet
< oride of num > <
max of num >
<acc of accdata > < > Affecté par l'instruction AccSet
acc of num > <
ramp of num >
<sing of singdata > < > Affecté par l'instruction SingArea
poignet of bool > <
arm of bool > <
base of bool >
<conf de confsupdata > > Affecté par les instructions ConfJ et ConfL < jsup de
bool > <lsup de
bool > < ax1 de
num > < ax4 de
num > < ax6 de
num > <grip de
gripdata > < load de > Affecté par l'instruction GripLoad
loaddata > < mass de
num> < rouage de
pos > < x de
num > < y de
num > < z de
num > <aom
d' orient > < q1 de
num > < q2 de
num > < q3 de
num > < q4 de
num > < ix de
num > < iy de
num> < iz de
num > < acc
de num >
Informations connexes
Décrit dans:
Instructions pour le réglage des paramètres de mouvement Résumé RAPID
Paramètres de mouvement
7motsetdata4 Manuel de référence RAPID
Machine Translated by Google
nombre Valeurs numériques (registres)
Num est utilisé pour les valeurs numériques ; par exemple les compteurs.
Description
La valeur du type de données num peut être
un nombre entier; par
exemple 5, un nombre décimal ; par exemple 3,45.
Il peut aussi s'écrire de façon exponentielle ; ex.2E3 (= 2*103 = 2000), 2.5E2 (= 0.025).
Les entiers entre 8388607 et +8388608 sont toujours stockés sous forme d'entiers exacts.
Les nombres décimaux ne sont que des nombres approximatifs et ne doivent donc pas être utilisés dans
les comparaisons est égal à ou n'est pas égal à . Dans le cas de divisions et d'opérations utilisant des
nombres décimaux, le résultat sera également un nombre décimal ; c'estàdire pas un entier exact.
Par exemple un := 10;
b := 5;
SI a/b=2 ALORS Comme le résultat de a/b n'est pas un entier,
cette condition n'est pas nécessairement
... satisfaite.
Exemple
VAR num reg1 ;
.
reg1 := 3;
reg1 reçoit la valeur 3.
a := 10 DIV 3; b :=
10 MOD 3;
Division entière où a est attribué un entier (=3) et b est attribué le reste (=1).
Données prédéfinies
La constante pi (π) est déjà définie dans le module système BASE.
CONST num pi := 3.1415926;
Manuel de référence RAPID 7num1
Machine Translated by Google
Informations connexes
Décrit dans:
Expressions numériques Caractéristiques de base Expressions
Opérations utilisant des valeurs numériques Caractéristiques de base Expressions
7num2 Manuel de référence RAPID
Machine Translated by Google
o_jointtarget Données de position de l'articulation d'origine
o_jointtarget (cible conjointe d'origine) est utilisé en combinaison avec la fonction Absolute Limit
Modpos. Lorsque cette fonction est utilisée pour modifier une position, la position d'origine est
stockée sous la forme d'une donnée de type o_jointtarget.
Description
Si la fonction Limite absolue Modpos est activée et qu'une position nommée dans une instruction de
mouvement est modifiée avec la fonction Modpos, la position programmée d'origine est enregistrée.
Exemple de programme avant Modpos :
CONST jointtarget jpos40 := [[0, 0, 0, 0, 0, 0],
[0, 9E9, 9E9, 9E9, 9E9, 9E9]] ;
...
MoveAbsJ jpos40, v1000, z50, outil1 ;
Le même programme après ModPos dans lequel le point jpos40 est corrigé à 2 degrés pour l'axe 1
du robot :
CONST jointtarget jpos40 := [[2, 0, 0, 0, 0, 0],
[0, 9E9, 9E9, 9E9, 9E9, 9E9]] ;
CONST o_jointtarget o_jpos40 := [[0, 0, 0, 0, 0, 0],
[0, 9E9, 9E9, 9E9, 9E9, 9E9]] ;
...
MoveAbsJ jpos40, v1000, z50, outil1 ;
Le point programmé d'origine a maintenant été enregistré dans o_jpos40 (par le type de données
o_jointtarget) et le point modifié enregistré dans jpos40 (par le type de données jointtarget).
En enregistrant le point programmé d'origine, le robot peut contrôler que d'autres Modpos du point
en question sont dans les limites acceptables par rapport au point programmé d'origine.
La convention de nom fixe signifie qu'un point programmé d'origine avec le nom xxxxx est enregistré
avec le nom o_xxxxx en utilisant Absolute Limit Modpos.
Composants
robax (axes robotisés) Type de données : robjoint
Positions des axes des axes du robot en degrés.
Manuel de référence RAPID 7o_jointtarget1
Machine Translated by Google
La position des axes externes.
Structure
< dataobject of o_jointtarget > < robax
of robjoint> < rax_1 of
num > < rax_2 of num
> < rax_3 of num > <
rax_4 of num > <
rax_5 of num > <
rax_6 of num > <
extax of extjoint > <
eax_a of num > < eax_b
de num > < eax_c de
num > < eax_d de
num > < eax_e de
num > < eax_f de num
>
Informations connexes
Décrit dans:
Données de position Types de données Cible conjointe
Configuration de Limit Modpos Guide de l'utilisateur Paramètres système
7o_jointtarget2 Manuel de référence RAPID
Machine Translated by Google
Orient Orientation
Orient est utilisé pour les orientations (telles que l'orientation d'un outil) et les rotations (telles que la
rotation d'un système de coordonnées).
Description
L'orientation est décrite sous la forme d'un quaternion composé de quatre éléments : q1, q2, q3
et q4. Pour plus d'informations sur la façon de les calculer, voir cidessous.
Composants
q1 Type de données : nombre
Quaternion 1.
q2 Type de données : nombre
Quaternion 2.
q3 Type de données : nombre
Quaternion 3.
q4 Type de données : nombre
Quaternion 4.
Exemple
VAR orient orient1 ;
.
orient1 := [1, 0, 0, 0];
L' orientation orient1 est affectée de la valeur q1=1, q2q4=0 ; cela correspond à aucune
rotation.
Limites
L'orientation doit être normalisée ; c'estàdire que la somme des carrés doit être égale à 1 :
2 q12 +++
q2 1
2 = q4
2 q3
Manuel de référence RAPID 7orient1
Machine Translated by Google
Qu'estce qu'un quaternion ?
L'orientation d'un système de coordonnées (comme celui d'un outil) peut être décrite par une
matrice de rotation qui décrit la direction des axes du système de coordonnées par rapport à
un système de référence (voir Figure 1).
z
z
y
Coordonnée
Coordonnée pivotée
de référence
X système
système
y
Figure 1 La rotation d'un système de coordonnées est décrite par un quaternion.
Les axes des systèmes de coordonnées pivotés (x, y, z) sont des vecteurs qui peuvent être exprimés dans le
système de coordonnées de référence comme suit :
x = (x1, x2, x3)
y = (y1, y2, y3)
z = (z1, z2, z3)
Cela signifie que la composante x du vecteur x dans le système de coordonnées de référence
sera x1, la composante y sera x2, etc.
Ces trois vecteurs peuvent être réunis dans une matrice, une matrice rotationnelle, où chacun
des vecteurs forme une des colonnes :
x1 y1 z1
x2 y2 z2
x3 y3 z3
Un quaternion est juste une manière plus concise de décrire cette matrice de rotation ;
les quaternions sont calculés à partir des éléments de la matrice rotationnelle :
z3 +++ 1 x1 y2
=
q1
2
x1 y2 – z3 – 1 +
q2
=
2
signe q2 = signe (y3z2)
y2 x1 – z3 – 1 +
q3
=
2
signe q3 = signe (z1x3)
z3 x1 – y2 – 1 +
q4
=
2
signe q4 = signe (x2y1)
7orient2 Manuel de référence RAPID
Machine Translated by Google
Exemple 1
Un outil est orienté de manière à ce que son axe Z' pointe droit devant (dans la même direction
que l'axe X du système de coordonnées de base). L'axe Y' de l'outil correspond à l'axe Y du
système de coordonnées de base (voir Figure 2). Comment l'orientation de l'outil estelle définie
dans les données de position (robtarget) ?
L'orientation de l'outil dans une position programmée est normalement liée au système de
coordonnées du repère objet utilisé. Dans cet exemple, aucun repère objet n'est utilisé et le
système de coordonnées de base est égal au système de coordonnées universel. Ainsi, l'orientation
est liée au système de coordonnées de base.
Z´
Figure 2 La direction d'un outil selon l'exemple 1.
Les axes seront alors liés comme suit :
x' = z = (0, 0, 1) y'
= y = (0, 1, 0) z' =
x = (1, 0, 0)
0 01
Ce qui correspond à la matrice de rotation suivante : 0 10
– 00 1
La matrice de rotation fournit un quaternion correspondant :
=
0101 +++ ==
2
q1 0,707
2 2
=
0 1 – 0 – 1 + =
q2 0
2
1 0 – 0 – 1 + 2
q3
= ==
0,707 signe q3 = signe (1+1) = +
2 2
=
0 0 – 1 – 1 + =
q4 0
2
Exemple 2
La direction de l'outil est tournée de 30° autour des axes X' et Z' par rapport au système de
coordonnées du poignet (voir Figure 2). Comment l'orientation de l'outil estelle définie dans les
données d'outil ?
Manuel de référence RAPID 7orient3
Machine Translated by Google
X Z´
X
Figure 3 La direction de l'outil selon l'exemple 2.
Les axes seront alors liés comme suit :
x' = (cos30o, 0, sin30o ) x'
= (0, 1, 0) x' =
(sin30o, 0, cos30o)
cos30° 0 30 sin°
Ce qui correspond à la matrice de rotation suivante : 0 10
–sin30° 0 30 cos °
La matrice de rotation fournit un quaternion correspondant :
cos30° ++ + 1 30 cos 1
°
= =
q1 0,965926
2
=
cos 1 30° – 30 – cos ° 1 +
=
q2
0
2
1 30 – 30 cos –cos + 1 ° °
= = signe q3 = signe (sin30o+sin30o ) = +
q3 0,258819
2
parce que 30°
– 30 cos 1 – 1 + = °
=
0
q4 2
Structure
<dataobject of orient>
<q1 of num> <
q2 of num>
<q3 of num>
<q4 of num>
Informations connexes
Décrit dans:
Opérations sur les orientations Caractéristiques de base Expressions
7orient4 Manuel de référence RAPID
Machine Translated by Google
o_robtarget Données de position d'origine
o_robtarget (cible originale du robot) est utilisé en combinaison avec la fonction Absolute Limit
Modpos. Lorsque cette fonction est utilisée pour modifier une position, la position d'origine est
stockée en tant que donnée de type o_robtarget.
Description
Si la fonction Limite absolue Modpos est activée et qu'une position nommée dans une instruction
de mouvement est modifiée avec la fonction Modpos, la position programmée d'origine est
enregistrée.
Exemple de programme avant Modpos :
CONST robtarget p50 := [[500, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0],
[500, 9E9, 9E9, 9E9, 9E9, 9E9]] ;
...
MoveL p50, v1000, z50, tool1 ;
Le même programme après ModPos dans lequel le point p50 est corrigé à 502 dans la direction
x :
CONST robtarget p50 := [[502, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0],
[500, 9E9, 9E9, 9E9, 9E9, 9E9]] ;
CONST o_robtarget o_p50 := [[500, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0],
[500, 9E9, 9E9, 9E9, 9E9, 9E9]] ;
...
MoveL p50, v1000, z50, tool1 ;
Le point programmé d'origine a maintenant été enregistré dans o_p50 (par le type de
données o_robtarget) et le point modifié enregistré dans p50 (par le type de données robtarget).
En enregistrant le point programmé d'origine, le robot peut contrôler que d'autres Modpos du point
en question sont dans les limites acceptables par rapport au point programmé d'origine.
La convention de nom fixe signifie qu'un point programmé d'origine avec le nom xxxxx est
enregistré avec le nom o_xxxxx en utilisant Absolute Limit Modpos.
Composants
trans (traduction) Type de données : pos
La position (x, y et z) du centre de l'outil exprimée en mm.
Manuel de référence RAPID 7o_robtarget1
Machine Translated by Google
L'orientation de l'outil, exprimée sous la forme d'un quaternion (q1, q2, q3 et q4).
La configuration des axes du robot (cf1, cf4, cf6 et cfx).
La position des axes externes.
Structure
< dataobject of o_robtarget > < trans
of pos > < x of num
> < y of num >
< z of num > <
rot of orient > <
q1 of num > < q2 of
num > < q3 of
num > < q4 of
num > < robconf
de confdata > <
cf1 de num > < cf4 de num >
< cf6 de num > <
cfx de num > <
extax de extjoint >
< eax_a de num >
< eax_b de num > <
eax_c de num > <
eax_d de num > <
eax_e de nombre > <
eax_f de nombre >
Informations connexes
Décrit dans:
Données de position Types de données Robtarget
Configuration de Limit Modpos Guide de l'utilisateur Paramètres système
7o_robtarget2 Manuel de référence RAPID
Machine Translated by Google
position Positions (uniquement X, Y et Z)
Pos est utilisé pour les positions (uniquement X, Y et Z).
Le type de données robtarget est utilisé pour la position du robot, y compris l'orientation de l'outil et la
configuration des axes.
Description
Les données de type pos décrivent les coordonnées d'une position : X, Y et Z.
Composants
X Type de données : nombre
La valeur X de la position.
y Type de données : nombre
La valeur Y de la position.
z Type de données : nombre
La valeur Z de la position.
Exemples
VAR pos pos1 ;
.
pos1 := [500, 0, 940] ;
La position pos1 est affectée de la valeur : X=500 mm, Y=0 mm, Z=940 mm.
pos1.x := pos1.x + 50;
La position pos1 est décalée de 50 mm dans la direction X.
Structure
<objet de données de
pos> <x de
num> <y de
num> <z de num>
Manuel de référence RAPID 7pos1
Machine Translated by Google
Informations connexes
Décrit dans:
Opérations sur les postes Caractéristiques de base Expressions
Position du robot avec orientation Types de données robtarget
7pos2 Manuel de référence RAPID
Machine Translated by Google
pose Coordonner les transformations
La pose est utilisée pour passer d'un système de coordonnées à un autre.
Description
Les données de type pose décrivent comment un système de coordonnées est déplacé et pivoté autour
d'un autre système de coordonnées. Les données peuvent, par exemple, décrire comment le système de
coordonnées de l'outil est localisé et orienté par rapport au système de coordonnées du poignet.
Composants
trans (traduction) Type de données : pos
Le déplacement en position (x, y et z) du système de coordonnées.
La rotation du système de coordonnées.
Exemple
image de pose VAR 1 ;
.
frame1.trans := [50, 0, 40];
frame1.rot := [1, 0, 0, 0];
La transformation de coordonnées frame1 est affectée d'une valeur qui correspond à un déplacement
en position, où X = 50 mm, Y = 0 mm, Z = 40 mm ; il n'y a cependant pas de rotation.
Structure
<dataobject of pose>
<trans of pos> <rot
of orient>
Informations connexes
Décrit dans:
Qu'estce qu'un quaternion ? Types de données orienter
Manuel de référence RAPID 7pose1
Machine Translated by Google
7pose2 Manuel de référence RAPID
Machine Translated by Google
progdisp Déplacement de programme
Progdisp est utilisé pour stocker le programme de déplacement actuel du robot et des axes externes.
Ce type de données ne doit normalement pas être utilisé puisque les données sont définies à l'aide des
instructions PDispSet, PDispOn, PDispOff, EOffsSet, EOffsOn et EOffsOff. Il est uniquement utilisé pour
stocker temporairement la valeur actuelle pour une utilisation ultérieure.
Description
Les valeurs actuelles du déplacement du programme sont accessibles à l'aide de la variable système
C_PROGDISP.
Pour plus d'informations, consultez les instructions PDispSet, PDispOn, EOffsSet et EOffsOn.
Composants
Le déplacement du programme pour le robot, exprimé à l'aide d'une translation et d'une orientation.
La traduction est exprimée en mm.
Le décalage de chacun des axes externes. Si l'axe est linéaire, la valeur est exprimée en mm ; s'il
tourne, la valeur est exprimée en degrés.
Exemple
VAR progdisp progdisp1 ;
.
SearchL sen1, psearch, p10, v100, tool1 ;
PDispOn \ExeP:=precherche, *, outil1;
EOffsOn \ExeP:=precherche, *;
.
progdisp1 :=C_PROGDISP ;
PDispOff ;
EOffsOff ;
.
PDispSet progdisp1.pdisp;
EOffsSet progdisp1.eoffs ;
Tout d'abord, un déplacement de programme est activé à partir d'une position recherchée. Ensuite,
il est temporairement désactivé en mémorisant la valeur dans la variable progdisp1 et, plus tard,
réactivé à l'aide des instructions PDispSet et EOffsSet.
Manuel de référence RAPID 7progdisp1
Machine Translated by Google
Données prédéfinies
La variable système C_PROGDISP décrit le déplacement actuel du programme du robot et des axes externes et est
toujours accessible à partir du programme (données installées).
C_PROGDISP, en revanche, ne peut être modifié qu'à l'aide d'un certain nombre d'instructions, et non par affectation.
Structure
< dataobject of progdisp > <pdisp of
pose> < trans of pos
> < x of num > < y of
num > < z of num
> < rot of orient
> < q1 of num >
< q2 of num > < q3 of
num > < q4 de num
> < eoffs de extjoint
> < eax_a de num
> < eax_b de num
> < eax_c de num > <
eax_d de num > <
eax_e de num > < eax_f
de num >
Informations connexes
Décrit dans:
Instructions pour définir le déplacement du programme Résumé RAPID Paramètres de mouvement
Systèmes de coordonnées Principes de mouvement et d'E/S
Systèmes de coordonnées
7progdisp2 Manuel de référence RAPID
Machine Translated by Google
robjoint Position commune des axes du robot
Robjoint est utilisé pour définir la position de l'axe en degrés des axes du robot.
Description
Les données de type robjoint sont utilisées pour stocker les positions d'axe en degrés des axes du robot 1 à 6. La
position d'axe est définie comme la rotation en degrés de l'axe respectif (bras) dans une direction positive ou
négative à partir de la position d'étalonnage de l'axe.
Composants
rax_1 (robot axe 1) Type de données : nombre
La position de l'axe du robot 1 en degrés à partir de la position d'étalonnage.
...
La position de l'axe du robot 6 en degrés par rapport à la position d'étalonnage.
Structure
< objet de données de robjoint > <
rax_1 de num > < rax_2
de num > < rax_3 de
num > < rax_4 de num
> < rax_5 de num > <
rax_6 de num >
Informations connexes
Décrit dans:
Données de position conjointes Types de données jointtarget
Passer à la position commune Instructions MoveAbsJ
Manuel de référence RAPID 7robjoint1
Machine Translated by Google
7robjoint2 Manuel de référence RAPID
Machine Translated by Google
voler la cible Données de position
Robtarget (cible du robot) est utilisé pour définir la position du robot et des axes externes.
Description
Les données de position sont utilisées pour définir la position dans les instructions de positionnement vers laquelle
le robot et les axes externes doivent se déplacer.
Comme le robot est capable d'atteindre la même position de plusieurs manières différentes, la configuration des
axes est également spécifiée. Cela définit les valeurs des axes si cellesci sont ambiguës, par exemple :
si le robot est en position avant ou arrière, si l'axe 4 pointe vers
le bas ou vers le haut, si l'axe 6 a une révolution
négative ou positive.
La position est définie sur la base du système de coordonnées du repère objet, y compris tout déplacement de
programme. Si la position est programmée avec un objet de travail autre que celui utilisé dans l'instruction, le
robot ne se déplacera pas de la manière attendue. Assurezvous d'utiliser le même repère objet que celui utilisé
lors de la programmation des instructions de positionnement. Une utilisation incorrecte peut blesser quelqu'un ou
endommager le robot ou d'autres équipements.
Composants
trans (traduction) Type de données : pos
La position (x, y et z) du centre de l'outil exprimée en mm.
La position est spécifiée par rapport au système de coordonnées de l'objet actuel, y compris le
déplacement du programme. Si aucun repère objet n'est spécifié, il s'agit du système de coordonnées
universel.
L'orientation de l'outil, exprimée sous la forme d'un quaternion (q1, q2, q3 et q4).
L'orientation est spécifiée par rapport au système de coordonnées de l'objet courant, y compris le
déplacement du programme. Si aucun repère objet n'est spécifié, il s'agit du système de coordonnées
universel.
La configuration des axes du robot (cf1, cf4, cf6 et cfx). Celuici est défini sous la forme du quart de tour
actuel de l'axe 1, de l'axe 4 et de l'axe 6. La première pos
Manuel de référence RAPID 7robtarget1
Machine Translated by Google
o
itive quart de tour 090 présent. est défini comme 0. Le composant cfx n'est pas utilisé à
Pour plus d'informations, consultez le type de données confdata.
La position des axes externes.
La position est définie comme suit pour chaque axe individuel (eax_a, eax_b ... eax_f) :
Pour les axes rotatifs, la position est définie comme la rotation en degrés à partir de la
position d'étalonnage.
Pour les axes linéaires, la position est définie comme la distance en mm de la position
d'étalonnage.
Les axes externes eax_a ... sont des axes logiques. La relation entre le numéro d'axe
logique et le numéro d'axe physique est définie dans le paramètre système
ters.
La valeur 9E9 est définie pour les axes non connectés. Si les axes définis dans les données
de position diffèrent des axes réellement connectés lors de l'exécution du programme, ce qui
suit s'applique :
Si la position n'est pas définie dans les données de position (valeur 9E9), la valeur sera
ignorée, si l'axe est connecté et non activé. Mais si l'axe est activé, cela entraînera une
erreur.
Si la position est définie dans les données de position alors que l'axe n'est pas connecté, la
valeur est ignorée.
Exemples
CONST robtarget p15 := [ [600, 500, 225.3], [1, 0, 0, 0], [1, 1, 0, 0], [ 11, 12.3,
9E9, 9E9, 9E9, 9E9] ] ;
Une position p15 est définie comme suit :
La position du robot : x = 600, y = 500 et z = 225,3 mm dans le système de coordonnées
objet.
L'orientation de l'outil dans la même direction que le système de coordonnées de l'objet.
La configuration des axes du robot : axes 1 et 4 en position 90180o position , axe 6 en
090o.
La position des axes logiques externes, a et b, exprimée en degrés ou mm (selon le type
d'axe). Les axes c à f sont indéfinis.
7robtarget2 Manuel de référence RAPID
Machine Translated by Google
VAR robtarget p20 ;
. . .
p20 := CRobT();
p20 := Offs(p20,10,0,0);
La position p20 est définie sur la même position que la position actuelle du robot en appelant
la fonction CRobT. La position est ensuite déplacée de 10 mm dans la direction x.
Limites
Lors de l'utilisation de la fonction d'édition configurable Absolute Limit Modpos, le nombre de
caractères dans le nom des données de type robtarget est limité à 14 (dans les autres cas 16).
Structure
< dataobject of robtarget > <
trans of pos > <
x of num > <
y of num > <
z of num > <
rot of orient > <
q1 of num > <
q2 of num > <
q3 of num > <
q4 of num > <
robconf de confdata > <
cf1 de num > <
cf4 de num > <
cf6 de num > <
cfx de num > <
extax de extjoint > <
eax_a de num > <
eax_b de num > <
eax_c de num > <
eax_d de num > <
eax_e de nombre
> < eax_f de nombre >
Manuel de référence RAPID 7robtarget3
Machine Translated by Google
Informations connexes
Décrit dans:
Instructions de positionnement Résumé RAPIDE Mouvement
Systèmes de coordonnées Principes de mouvement et d'E/S Systèmes de
coordonnées
Gestion des données de configuration Principes de mouvement et d'E/S Robot
Configuration
Configuration des axes externes Qu'estce Guide de l'utilisateur Paramètres système
qu'un quaternion ? Types de données Orienter
7robtarget4 Manuel de référence RAPID
Machine Translated by Google
signalxx Signaux numériques et analogiques
Les types de données dans signalxx sont utilisés pour les signaux d'entrée et de sortie numériques et analogiques.
Les noms des signaux sont définis dans les paramètres système et ne doivent donc pas être définis dans le programme.
Description
Type de données Utilisé pour
signalai signaux d'entrée analogiques
signalao signaux de sortie analogiques
signaldi signaux d'entrée numériques
signaler signaux de sortie numériques
signalgi groupes de signaux d'entrée numériques
signal aller groupes de signaux de sortie numériques
Les variables de type signalxo contiennent uniquement une référence au signal. La valeur est définie à l'aide d'une
instruction, par exemple DOutput.
Les variables de type signalxi contiennent une référence à un signal ainsi qu'une méthode pour récupérer la valeur. La
valeur du signal d'entrée est renvoyée lorsqu'une fonction est appelée, par exemple DInput, ou lorsque la variable est
utilisée dans un contexte de valeur, par exemple IF signal_y=1 THEN.
Limites
Les données du type de données signalxx ne doivent pas être définies dans le programme. Cependant, si c'est
effectivement le cas, un message d'erreur s'affichera dès qu'une instruction ou une fonction faisant référence à ce signal
sera exécutée. Le type de données peut, en revanche, être utilisé comme paramètre lors de la déclaration d'une routine.
Données prédéfinies
Les signaux définis dans les paramètres système sont toujours accessibles depuis le programme en utilisant les variables
de signal prédéfinies (données installées). Il faut toutefois noter que si d'autres données portant le même nom sont
définies, ces signaux ne peuvent pas être utilisés.
Caractéristiques
Signalxo est un type de données sans valeur . Ainsi, les données de ce type ne permettent pas d'opérations
orientées valeur.
Signalxi est un type de données semivaleur.
Manuel de référence RAPID 7signalxx1
Machine Translated by Google
Informations connexes
Décrit dans:
Instructions d'entrée/sortie récapitulatives Résumé RAPIDE
Signaux d'entrée et de sortie
Fonctionnalité d'entrée/sortie en général Principes de mouvement et d'E/S
Principes d'E/S
Configuration des E/S Guide de l'utilisateur Paramètres système
Caractéristiques des types de données sans valeur Caractéristiques de base Types de données
7signalxx2 Manuel de référence RAPID
Machine Translated by Google
données de vitesse Données de vitesse
Speeddata est utilisé pour spécifier la vitesse à laquelle le robot et les axes externes
déplacer.
Description
Les données de vitesse définissent la vélocité :
du déplacement du centre de l'outil, de la
réorientation de l'outil, du déplacement
des axes externes linéaires ou rotatifs.
Lorsque plusieurs types de mouvements différents sont combinés, une des vitesses limite souvent tous
les mouvements. La vitesse des autres mouvements sera réduite de telle manière que tous les
mouvements finiront de s'exécuter en même temps.
La vitesse est également limitée par les performances du robot. Cela diffère selon le type de robot et la
trajectoire de déplacement.
Composants
v_tcp (tcp de vitesse) Type de données : nombre
La vitesse du point central de l'outil (TCP) en mm/s.
Si un outil stationnaire ou des axes externes coordonnés sont utilisés, la vitesse est spécifiée par
rapport au repère objet.
La vitesse de réorientation autour du TCP exprimée en degrés/s.
Si un outil stationnaire ou des axes externes coordonnés sont utilisés, la vitesse est spécifiée par
rapport au repère objet.
La vitesse des axes externes linéaires en mm/s.
v_reax (axes externes de rotation de vitesse) Type de données : num
La vitesse des axes externes en rotation en degrés/s.
Manuel de référence RAPID 7speeddata1
Machine Translated by Google
Exemple
VAR speeddata vmedium := [ 1000, 30, 200, 15 ];
Les données de vitesse vmedium sont définies avec les vitesses suivantes :
1000 mm/s pour le TCP.
30 degrés/s pour la réorientation de l'outil.
200 mm/s pour les axes extérieurs linéaires.
15 degrés/s pour les axes externes en rotation.
vmedium.v_tcp := 900;
La vitesse du TCP passe à 900 mm/s.
Données prédéfinies
Un certain nombre de données de vitesse sont déjà définies dans le module système BASE.
7speeddata2 Manuel de référence RAPID
Machine Translated by Google
Structure
< dataobject de speeddata > <
v_tcp de num > <
v_ori de num > <
v_leax de num > <
v_reax de num >
Informations connexes
Décrit dans:
Instructions de positionnement Résumé RAPIDE Mouvement
Mouvement/Vitesse en général Principes de mouvement et d'E/S
Positionnement pendant l'exécution du programme
Définition de la vitesse maximale Mode d'emploi VelSet
Configuration des axes externes Guide de l'utilisateur Paramètres système
Performances de mouvement Spécification de produit
Manuel de référence RAPID 7speeddata3
Machine Translated by Google
7speeddata4 Manuel de référence RAPID
Machine Translated by Google
chaîne Cordes
String est utilisé pour les chaînes de caractères.
Description
Une chaîne de caractères est constituée d'un certain nombre de caractères (maximum 80) entourés de guillemets ("),
par exemple "Ceci est une chaîne de caractères".
Si les guillemets doivent être inclus dans la chaîne, ils doivent être écrits deux fois,
par exemple "Cette chaîne contient un ""caractère".
Exemple
Texte de chaîne VAR ;
.
text := "démarrer le soudage du tube 1" ;
TPÉcrire du texte ;
Le texte commencer à souder le tuyau 1 est écrit sur le pendentif d'apprentissage.
Limites
Une chaîne peut avoir de 0 à 80 caractères ; compris les guillemets supplémentaires.
Une chaîne peut contenir n'importe lequel des caractères spécifiés par la norme ISO 88591 ainsi que des caractères
de contrôle (caractères non ISO 88591 avec un code numérique compris entre 0 et 255).
Manuel de référence RAPID 7 cordes1
Machine Translated by Google
Données prédéfinies
Un certain nombre de constantes de chaîne prédéfinies (données installées) peuvent être utilisées avec
des fonctions de chaîne.
Nom Jeu de caractères
STR_DIGIT <chiffre> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
STR_UPPER <lettre majuscule> ::=
Un | B | C | D | E | F | G | H | je | J
| K | L | M | N | O | P | Q | R | S | J
| U | V | W | X | Y | Z | À | Á | | Ã | Ä | Å |
Æ | Ç | È | É | Ê | Ë | Ì | Í | Î | Ï | 1) | Ñ |
Ò | Ó | Ô | Õ | Ö | Ø | Ù | Ú | Û | Ü | 2) |
3)
STR_LOWER <lettre minuscule> ::= a |
b | c | d | e | f | g | h | je | j | k | l
| m | n | o | p | q | r | s | t | tu | v |
w | x | y | z | à | á | â | ã | ä | å | æ
| ç | è | é | ê | ë | ì | í | î | ï | 1) | ñ
| ò | ó | ô | õ | ö | ø | ù | u | û | ü |
2) | 3) | ß | ÿ
STR_WHITE <caractère vide> ::=
1) Lettre islandaise eth.
2) Lettre Y avec accent aigu.
3) Épine de lettre islandaise.
Informations connexes
Décrit dans:
Opérations utilisant des chaînes Caractéristiques de base Expressions
Valeurs de chaîne Caractéristiques de base Éléments de base
7 cordes2 Manuel de référence RAPID
Machine Translated by Google
symnum Numéro symbolique
Symnum est utilisé pour représenter un entier avec une constante symbolique.
Description
Une constante symnum est destinée à être utilisée lors de la vérification de la valeur de retour des
fonctions OpMode et RunMode. Voir l'exemple cidessous.
Exemple
SI RunMode() = RUN_CONT_CYCLE ALORS
.
.
AUTRE
.
.
FIN SI
Données prédéfinies
Les constantes symboliques suivantes du type de données symnum sont prédéfinies et peuvent être
utilisées lors de la vérification des valeurs de retour des fonctions OpMode et RunMode.
0 RUN_UNDEF Mode de fonctionnement indéfini
1 RUN_CONT_CYCLE Mode de fonctionnement continu ou cyclique
2 RUN_INSTR_FWD Mode marche avant de l'instruction
3 RUN_INSTR_BWD Mode de marche arrière de l'instruction
4 RUN_SIM Mode de fonctionnement simulé
0 OP_UNDEF Mode de fonctionnement indéfini
1 OP_AUTO Mode de fonctionnement automatique
2 OP_MAN_PROG Mode de fonctionnement
manuel max. 250 mm/s
3 OP_MAN_TEST Mode de fonctionnement manuel
pleine vitesse, 100 %
Manuel de référence RAPID 7symnum1
Machine Translated by Google
Caractéristiques
Symnum est un type de données alias pour num et hérite par conséquent de ses caractéristiques.
Informations connexes
Décrit dans:
Types de données en général, types de données alias Caractéristiques de base Types de données
7symnum2 Manuel de référence RAPID
Machine Translated by Google
données d'outil Données d'outil
Les données d'outil sont utilisées pour décrire les caractéristiques d'un outil, par exemple une pince à souder ou un outil de
préhension.
Si l'outil est fixe dans l'espace (un outil stationnaire), des données d'outil communes sont définies pour
cet outil et le préhenseur tenant l'objet de travail.
Description
Les données d'outil affectent les mouvements du robot des manières suivantes :
Le point central de l'outil (TCP) fait référence à un point qui satisfera les performances de
trajectoire et de vitesse spécifiées. Si l'outil est réorienté ou si des axes externes coordonnés
sont utilisés, seul ce point suivra la trajectoire souhaitée à la vitesse programmée.
Si un outil stationnaire est utilisé, la vitesse et la trajectoire programmées seront liées à
l'objet de travail.
La charge de l'outil est utilisée pour contrôler au mieux les mouvements du robot. Une charge
incorrecte peut provoquer un dépassement, par exemple.
Les positions programmées se réfèrent à la position du TCP actuel et à l'orientation par
rapport au système de coordonnées de l'outil. Cela signifie que si, par exemple, un outil est
remplacé parce qu'il est endommagé, l'ancien programme peut toujours être utilisé si le
système de coordonnées de l'outil est redéfini.
Les données d'outil sont également utilisées lors du pilotage manuel du robot pour :
Définir le TCP qui ne doit pas bouger lorsque l'outil est réorienté.
Définir le système de coordonnées de l'outil afin de faciliter le déplacement ou la rotation
autour des directions de l'outil.
Composants
robhold (maintien du robot) Type de données : booléen
Définit si oui ou non le robot tient l'outil :
TRUE > Le robot tient l'outil.
FALSE > Le robot ne tient pas l'outil, c'estàdire un outil immobile.
Manuel de référence RAPID 7tooldata1
Machine Translated by Google
Le système de coordonnées de l'outil, c'estàdire :
La position du TCP (x, y et z) en mm.
Les directions de l'outil, exprimées sous la forme d'un quaternion (q1, q2, q3 et q4).
La position et la rotation sont définies à l'aide du système de coordonnées du poignet (voir Figure 1.) Si
un outil stationnaire est utilisé, la définition est définie par rapport au système de coordonnées
universel.
Si la direction de l'outil n'est pas spécifiée, le système de coordonnées de l'outil et le système de
coordonnées du poignet coïncideront.
Le trou de contrôle
Le système de coordonnées du poignet
Oui
Le système de coordonnées de l'outil
TCP
Y'
X
X'
Z'
Figure 1 Définition du système de coordonnées de l'outil.
La charge de l'outil, c'estàdire :
Le poids de l'outil en kg.
Le centre de gravité de l'outil (x, y et z) en mm.
Les axes de moment de l'outil, exprimés en quaternion (q1, q2, q3, q4).
Le moment d'inertie de l'outil autour des axes de moment x, y et z, exprimé en kgm2 .
Si tous les composants sont définis comme étant de 0 kgm2 , une l'outil est manipulé comme s'il était
charge ponctuelle.
Pour plus d'informations, consultez le type de données loaddata.
Si un outil stationnaire est utilisé, vous définissez la charge de la pince tenant le repère objet.
Notez que seule la charge de l'outil est à spécifier. La charge utile manipulée par un préhenseur est
connectée et déconnectée au moyen de l'instruction GripLoad.
7tooldata2 Manuel de référence RAPID
Machine Translated by Google
Exemples
Préhenseur de données d'outil PERS := [ TRUE, [[97.4, 0, 223.1], [0.924, 0, 0.383 ,0]], [5,
[23, 0, 75], [1, 0, 0, 0], 0 , 0, 0]] ;
L'outil de la figure 1 est décrit à l'aide des valeurs suivantes :
Le robot tient l'outil.
Le TCP est situé à un point situé à 223,1 mm de l'axe 6 et à 97,4 mm le long de l'axe X du
système de coordonnées du poignet.
Les directions X et Z de l'outil sont tournées de 45o par rapport à la coor
système de dination.
L'outil pèse 5 kg.
Le centre de gravité est situé à 75 mm en ligne droite de l'axe 6 et à 23 mm le long de l'axe X du
système de coordonnées du poignet.
La charge peut être considérée comme ponctuelle, c'estàdire sans moment d'inertie.
pince.tframe.trans.z := 225.2;
Le TCP de l'outil, pince, est ajusté à 225,2 dans la direction z.
Limites
Les données d'outil doivent être définies comme une variable persistante (PERS) et ne doivent pas
être définies dans une routine. Les valeurs courantes sont alors sauvegardées lors du stockage du
programme sur disquette et sont récupérées au chargement.
Les arguments du type données d'outil dans toute instruction de mouvement ne doivent être qu'un persistant entier
(et non un élément de tableau ou un composant d'enregistrement).
Données prédéfinies
L'outil tool0 définit le système de coordonnées du poignet, l'origine étant le centre de la bride de montage.
Tool0 est toujours accessible depuis le programme, mais ne peut jamais être modifié (il est stocké dans le
module système BASE).
Outil de données d'outil PERS0 := [ VRAI, [ [0, 0, 0], [1, 0, 0 ,0] ], [0,
[0, 0, 0], [1, 0, 0, 0], 0 , 0, 0] ] ;
Manuel de référence RAPID 7tooldata3
Machine Translated by Google
Structure
< dataobject of tooldata > < robhold
of bool > < tframe of pose
> < trans of pos > < x of
num > < y of num > <
z of num > < rot
of orient > < q1
of num > < q2 of
num > < q3 de num >
< q4 de num > <
tload de loaddata
> < mass de num
> < cog de pos > <
x de num > < y de num > < z
de num > < aom d'
orient > < q1 de
num > < q2 de
num > < q3 de
num > < q4 de
num > < ix de num > <
iy de num > < iz de
num >
Informations connexes
Décrit dans:
Instructions de positionnement Résumé RAPIDE Mouvement
Systèmes de coordonnées Principes de mouvement et d'E/S Systèmes
de coordonnées
Définition de la charge utile Mode d'emploi Gripload
7tooldata4 Manuel de référence RAPID
Machine Translated by Google
données de déclenchement Événements de positionnement déclencheur
Triggdata est utilisé pour stocker des données sur un événement de positionnement lors d'un mouvement de robot.
Un événement de positionnement peut prendre la forme de la définition d'un signal de sortie ou de l'exécution d'une routine
d'interruption à une position spécifique le long de la trajectoire de déplacement du robot.
Description
Pour définir les conditions des mesures respectives lors d'un événement de positionnement, des variables de type
triggdata sont utilisées. Le contenu des données de la variable est formé dans le programme à l'aide de l'une des
instructions TriggIO ou TriggInt et est utilisé par l'une des instructions TriggL, TriggC ou TriggJ.
Exemple
Déclenchement des données de déclenchement VAR ;
TriggIO gunoff, 5 \DOp:=gun, off ;
TriggL p1, v500, coup de feu, fin, pistolet1 ;
Le signal de sortie numérique gun est réglé sur la valeur off lorsque le TCP est à une position de 5 mm avant le
point p1.
Caractéristiques
Triggdata est un type de données sans valeur.
Informations connexes
Décrit dans:
Définition des déclencheurs Instructions TriggIO, TriggInt
Utilisation des déclencheurs Instructions TriggL, TriggC,
DéclencheurJ
Caractéristiques des types de données sans valeur Caractéristiques de base Types de données
Manuel de référence RAPID 7triggdata1
Machine Translated by Google
7triggdata2 Manuel de référence RAPID
Machine Translated by Google
type de mélodie Type de réglage servo
Tunetype est utilisé pour représenter un entier avec une constante symbolique.
Description
Une constante tunetype est indentée pour être utilisée comme argument de l'instruction TuneServo.
Voir l'exemple cidessous.
Exemple
TuneServo MHA160R1, 1, 110 \Type:= TUNE_KP;
Données prédéfinies
Les constantes symboliques suivantes du type de données tunetype sont prédéfinies et peuvent être utilisées
comme argument pour l'instruction TuneServo.
0 TUNE_DF Réduit les dépassements
1 TUNE_KP Affecte le gain de contrôle de position
2 TUNE_KV Affecte le gain de contrôle de la vitesse
3 TUNE_TI Affecte le temps d'intégration du contrôle de vitesse
Caractéristiques
Tunetype est un type de données alias pour num et hérite par conséquent de ses caractéristiques.
Informations connexes
Décrit dans:
Types de données en général, types de données alias Caractéristiques de base Types de données
Manuel de référence RAPID 7tunetype1
Machine Translated by Google
7tunetype2 Manuel de référence RAPID
Machine Translated by Google
wobjdata Données d'objet de travail
Wobjdata est utilisé pour décrire l'objet de travail que le robot soude, traite, déplace, etc.
Description
Si des repères objet sont définis dans une instruction de positionnement, la position sera basée sur les
coordonnées du repère objet. Les avantages de ceci sont les suivants :
Si les données de position sont saisies manuellement, comme dans la programmation hors ligne, les
valeurs peuvent souvent être extraites d'un dessin.
Les programmes peuvent être réutilisés rapidement suite à des changements dans l'installation du robot.
Si, par exemple, l'appareil est déplacé, seul le système de coordonnées utilisateur doit être redéfini.
Les variations dans la manière dont le repère objet est attaché peuvent être compensées. Pour cela,
cependant, une sorte de capteur sera nécessaire pour positionner l'objet de travail.
Si un outil fixe ou des axes externes coordonnés sont utilisés, le repère objet doit être défini, car la trajectoire
et la vitesse seraient alors liées au repère objet au lieu du TCP.
Les données d'objet de travail peuvent également être utilisées pour le pilotage manuel :
Le robot peut être déplacé manuellement dans les directions de l'objet de travail.
La position actuelle affichée est basée sur le système de coordonnées du repère objet.
Composants
robhold (maintien du robot) Type de données : booléen
Définit si le robot tient ou non le repère objet :
TRUE > Le robot tient le repère objet, c'estàdire qu'il utilise un outil fixe.
FAUX > Le robot ne tient pas le repère objet, c'estàdire que le robot tient l'outil.
Définit si un système de coordonnées utilisateur fixe est utilisé ou non :
TRUE > Système de coordonnées utilisateur fixe.
FALSE > Système de coordonnées utilisateur mobile, c'estàdire que des axes externes coordonnés
sont utilisés.
Manuel de référence RAPID 7wobjdata1
Machine Translated by Google
ufmec (unité mécanique du cadre utilisateur) Type de données : chaîne
L'unité mécanique avec laquelle les mouvements du robot sont coordonnés. Spécifié uniquement dans
le cas de systèmes de coordonnées utilisateur mobiles (ufprog vaut FALSE).
Spécifié avec le nom défini dans les paramètres système, par exemple "orbit_a".
Le système de coordonnées de l'utilisateur, c'estàdire la position de la surface de travail ou de l'appareil
actuel (voir Figure 1) :
La position de l'origine du système de coordonnées (x, y et z) en mm.
La rotation du repère, exprimée en quaternion (q1, q2, q3, q4).
Si le robot tient l'outil, le système de coordonnées utilisateur est défini dans le système de coordonnées
universel (dans le système de coordonnées du poignet si un outil stationnaire est utilisé).
Lorsque des axes externes coordonnés sont utilisés (ufprog vaut FALSE), le système de coordonnées
utilisateur est défini dans les paramètres système.
Le système de coordonnées de l'objet, c'estàdire la position du repère objet actuel (voir Fig ure 1) :
La position de l'origine du système de coordonnées (x, y et z) en mm.
La rotation du repère, exprimée en quaternion (q1, q2, q3, q4).
Le système de coordonnées de l'objet est défini dans le système de coordonnées utilisateur.
Coordonnées de l'outil
Oui
TCP
X
Z Z
Z Coordonnées de l'utilisateur
Oui Z Coordonnées de l'objet
Oui
Z X
Coordonnées de base Oui X
Oui X
X
Coordonnées mondiales
Figure 1 Les différents systèmes de coordonnées du robot (lorsque le robot tient l'outil).
7wobjdata2 Manuel de référence RAPID
Machine Translated by Google
Exemple
PERS wobjdata wobj2 :=[ FAUX, VRAI, "", [ [300, 600, 200], [1, 0, 0 ,0] ],
[ [0, 200, 30], [1, 0, 0 ,0] ] ] ;
Le repère objet de la figure 1 est décrit à l'aide des valeurs suivantes :
Le robot ne tient pas l'objet de travail.
Le système de coordonnées utilisateur fixe est utilisé.
Le système de coordonnées utilisateur n'est pas tourné et les coordonnées de son origine sont x=
300, y = 600 et z = 200 mm dans le système de coordonnées mondial.
Le système de coordonnées de l'objet n'est pas tourné et les coordonnées de son origine sont x= 0,
y= 200 et z= 30 mm dans le système de coordonnées utilisateur.
wobj2.oframe.trans.z := 38.3;
La position du repère objet wobj2 est ajustée à 38,3 mm dans la direction z.
Limites
Les données de l'objet de travail doivent être définies comme une variable persistante (PERS) et ne doivent
pas être définies dans une routine. Les valeurs courantes sont alors sauvegardées lors du stockage du
programme sur disquette et sont récupérées au chargement.
Les arguments de type données d'objet de travail dans toute instruction de mouvement ne doivent être qu'un
persistant entier (et non un élément de tableau ou un composant d'enregistrement).
Données prédéfinies
Les données d'objet de travail wobj0 sont définies de telle manière que le système de coordonnées de l'objet
coïncide avec le système de coordonnées universel. Le robot ne tient pas le repère objet.
Wobj0 est toujours accessible depuis le programme, mais ne peut jamais être modifié (il est stocké dans le
module système BASE).
PERS wobjdata wobj0 := [ FAUX, VRAI, "", [ [0, 0, 0], [1, 0, 0 ,0] ], [ [0, 0, 0], [1, 0,
0 ,0] ] ] ;
Manuel de référence RAPID 7wobjdata3
Machine Translated by Google
Structure
< dataobject of wobjdata > < robhold
of bool > < ufprog of bool>
< ufmec of string > <
uframe of pose > < trans
of pos > < x of num > < y
of num > < z of num
> < rot of orient
> < q1 de num >
< q2 de num > <
q3 de num > < q4 de
num > < oframe de
pose > < trans de
pos > < x de num
> < y de num > < z
de num > < rot d' orient >
< q1 de num > < q2
de num > < q3
de num > < q4
de num >
Informations connexes
Décrit dans:
Instructions de positionnement Résumé RAPIDE Mouvement
Systèmes de coordonnées Principes de mouvement et d'E/S Systèmes
de coordonnées
Axes externes coordonnés Principes de mouvement et d'E/S Systèmes
de coordonnées
Étalonnage des axes externes coordonnés Guide de l'utilisateur Paramètres système
7wobjdata4 Manuel de référence RAPID
Machine Translated by Google
données de zone Données de zone
Zonedata est utilisé pour spécifier comment une position doit être terminée, c'estàdire à quelle distance de
la position programmée les axes doivent se trouver avant de se déplacer vers la position suivante.
Description
Une position peut être terminée sous la forme d'un point d'arrêt ou d'un point de passage.
Un point d'arrêt signifie que le robot et les axes externes doivent atteindre la position spécifiée (s'arrêter)
avant que l'exécution du programme ne se poursuive avec l'instruction suivante.
Un point de passage signifie que la position programmée n'est jamais atteinte.
Au lieu de cela, la direction du mouvement est modifiée avant que la position ne soit atteinte.
Deux zones (gammes) différentes peuvent être définies pour chaque position :
La zone pour le chemin TCP.
La zone étendue de réorientation de l'outil et des axes extérieurs.
La zone pour le Position
chemin TCP programmée
Début de la réorientation
vers le poste suivant
Début du chemin de coin TCP
La zone étendue
Figure 1 Les zones d'un point de passage.
Les zones fonctionnent de la même manière pendant le mouvement articulaire, mais la taille de la zone peut
différer quelque peu de celle programmée.
La taille de la zone ne peut pas être supérieure à la moitié de la distance jusqu'à la position la plus proche
(en avant ou en arrière). Si une zone plus grande est spécifiée, le robot la réduit automatiquement.
La zone pour le chemin TCP
Une trajectoire de coin (parabole) est générée dès que le bord de la zone est atteint (voir Figure 1).
Manuel de référence RAPID 7zonedata1
Machine Translated by Google
La zone de réorientation de l'outil
La réorientation commence dès que le TCP atteint la zone étendue. L'outil est réorienté de
manière à ce que l'orientation soit la même en sortie de zone qu'il aurait été dans la même
position si des points d'arrêt avaient été programmés.
La réorientation sera plus douce si la taille de la zone est augmentée, et il y a moins de
risque de devoir réduire la vitesse pour effectuer la réorientation.
Figure 2a Trois positions sont programmées, la dernière avec une orientation d'outil différente.
Figure 2b Si toutes les positions étaient des points d'arrêt, l'exécution du programme ressemblerait à ceci.
Taille des zones
Figure 2c Si la position médiane était un point de survol, l'exécution du programme ressemblerait à ceci
La zone des axes externes
Les axes externes commencent à se déplacer vers la position suivante dès que le TCP
atteint la zone étendue. De cette façon, un axe lent peut commencer à accélérer plus tôt et
ainsi s'exécuter de manière plus régulière.
Zone réduite
Avec de grandes réorientations de l'outil ou avec de grands mouvements des axes externes,
la zone étendue et même la zone TCP peuvent être réduites par le robot. La zone sera
définie comme la plus petite taille relative de la zone basée sur les composants de la zone
(voir page suivante) et le mouvement programmé.
90 mm
MoveL avec déplacements de 200 mm de 60 mm
pzone_ori
l'outil, réorientation de 25o de l'outil et pzone_tcp
P1 avec zone z60 P2
Les tailles relatives de la zone sont
pzone_tcp
________________________ = 60/200 = 30 %
longueur du mouvement P1 P2 9o
zone_ori
pzone_ori
________________________ = 90/200 = 45 %
longueur du mouvement P1 P2
zone_ori
________________________ = 9o /25o = 36%
angle de réorientation P1 P2
Figure 3 Exemple de zone réduite à 36% du mouvement
7zonedata2 Manuel de référence RAPID
Machine Translated by Google
de l'outil, réorientation de 60o de pzone_ori pzone_tcp
l'outil et avec zone z60 9o zone_ori
P1 P2
Les tailles relatives de la zone sont
pzone_tcp
________________________ = 60/200 = 30 %
longueur du mouvement P1
P2 zone_ori
________________________ = 9o /60o = 15%
angle de réorientation P1 P2
Figure 4 Exemple de zone réduite à 15% du mouvement
Composants
finep (point fin) Type de données : booléen
Définit si le mouvement doit se terminer comme point d'arrêt (point fin) ou comme point de survol.
TRUE > Le mouvement se termine par un point d'arrêt.
Les composants restants dans les données de zone ne sont pas utilisés.
FALSE > Le mouvement se termine par un point de passage.
La taille (le rayon) de la zone TCP en mm.
La zone étendue sera définie comme la plus petite taille relative de la zone basée sur les composants suivants et le
mouvement programmé.
La taille de la zone (le rayon) pour la réorientation de l'outil. La taille est définie comme la distance entre le
TCP et le point programmé en mm.
La taille doit être supérieure à la valeur correspondante pour pzone_tcp.
Si une valeur inférieure est spécifiée, la taille est automatiquement augmentée pour la rendre identique à
pzone_tcp.
La taille de la zone (le rayon) pour les axes externes. La taille est définie comme la distance du TCP par
rapport au point programmé en mm.
La taille doit être supérieure à la valeur correspondante pour pzone_tcp.
Si une valeur inférieure est spécifiée, la taille est automatiquement augmentée pour la rendre identique à
pzone_tcp.
Manuel de référence RAPID 7zonedata3
Machine Translated by Google
La taille de la zone pour la réorientation de l'outil en degrés. Si le robot tient le repère objet, cela signifie un
angle de rotation pour le repère objet.
La taille de la zone pour les axes externes linéaires en mm.
zone_reax (axes externes de rotation de zone) Type de données : num
La taille de la zone pour la rotation des axes externes en degrés.
Exemples
VAR zonedata path := [ FALSE, 25, 40, 40, 10, 35, 5 ] ;
Le chemin des données de zone est défini au moyen des caractéristiques suivantes :
La taille de la zone pour le chemin TCP est de 25 mm.
La taille de la zone de réorientation de l'outil est de 40 mm (mouvement TCP).
La taille de la zone pour les axes externes est de 40 mm (mouvement TCP).
Si le TCP est immobile, ou s'il y a une grande réorientation, ou s'il y a un grand mouvement d'axe externe,
par rapport à la zone, ce qui suit s'applique à la place :
La taille de la zone de réorientation de l'outil est de 10 degrés.
La taille de la zone pour les axes externes linéaires est de 35 mm.
La taille de la zone pour la rotation des axes externes est de 5 degrés.
chemin.pzone_tcp := 40;
La taille de la zone pour le chemin TCP est ajustée à 40 mm.
7zonedata4 Manuel de référence RAPID
Machine Translated by Google
Données prédéfinies
Un certain nombre de données de zone sont déjà définies dans le module système BASE.
Points d'arrêt
Nom
bien 0 millimètres
Points de passage
Mouvement TCP Réorientation de l'outil
Nom Chemin TCP Orientation Ext. Orientation Axe linéaire Axe rotatif
o o
z1 1 mm 1 mm 1 mm 0,1 5 mm 8 mm 8 mm 1 mm 0,1 8
o o
z5 0,8 10 mm 15 mm 15 mm 1,5 15 mm 23 mm 0,8
o o
z10 mm 23 mm 2,3 20 mm 30 mm 30 mm 3,0 15 mm 1,5
o o
z15 23mm 2.3 30mm
o
z20 3.0o
o o
z30 30 mm 45 mm 45 mm 4,5 40 mm 60 mm 60 45 mm 4,5 60
o o
z40 mm 6,0 50 mm 75 mm 75 mm 7,5 mm 6,0
o o
z50 75 mm 7,5
o o
z60 60 mm 90 mm 90 mm 9,0 90mm 9.0
o o
z80 80 mm 120 mm 120 mm 12 100 mm 150 120 millimètres 12
o o
z100 mm 150 mm 15 150 mm 225 mm 225 mm 150 millimètres 15
o o
z150 23 200 mm 300 mm 300 mm 30 225mm 23
o o
z200 300mm 30
Structure
< objet de données de zonedata
> < finep de bool >
< pzone_tcp de num > <
pzone_ori de num > <
pzone_eax de num > <
zone_ori de num > <
zone_leax de num > <
zone_reax de num >
Manuel de référence RAPID 7zonedata5
Machine Translated by Google
Informations connexes
Décrit dans:
Instructions de positionnement Résumé RAPIDE Mouvement
Mouvements/Parcours en général Principes de mouvement et d'E/S
Positionnement pendant l'exécution du programme
Configuration des axes externes Guide de l'utilisateur Paramètres système
7zonedata6 Manuel de référence RAPID
Machine Translated by Google
Données système
Les données système sont les données internes du robot qui peuvent être consultées et lues par le programme.
Il peut être utilisé pour lire l'état actuel, par exemple la vitesse maximale actuelle.
Le tableau suivant contient une liste de toutes les données système.
Manuel de référence RAPID 7Données système1
Machine Translated by Google
7Données système2 Manuel de référence RAPID
Machine Translated by Google
« := » Attribue une valeur
L'instruction « := » est utilisée pour affecter une nouvelle valeur aux données. Cette valeur peut être n'importe
quoi, d'une valeur constante à une expression arithmétique, par exemple reg1+5*reg3.
Exemples
reg1 := 5;
reg1 reçoit la valeur 5.
reg1 := reg2 reg3 ;
reg1 reçoit la valeur renvoyée par le calcul reg2reg3 .
compteur := compteur + 1;
compteur est incrémenté de un.
Arguments
Données := Valeur
Données Type de données : Tous
Les données auxquelles une nouvelle valeur doit être affectée.
Valeur Type de données : Identique aux données
La valeur souhaitée.
Exemples
tool1.tframe.trans.x := tool1.tframe.trans.x + 20;
Le TCP de l'outil 1 est décalé de 20 mm dans la direction X.
palette{5,8} := Abs(valeur);
Un élément de la matrice de palette se voit attribuer une valeur égale à la valeur absolue de la variable
de valeur .
Manuel de référence RAPID 8“:="1
Machine Translated by Google
Limites
Les données (dont la valeur doit être modifiée) ne doivent pas être
une constante
un type de données sans valeur.
Les données et la valeur doivent avoir des types de données similaires (identiques ou alias).
Syntaxe
(EBNF)
<cible d'affectation> ':=' <expression> ';' <cible
d'affectation> ::= <variable> |
<persistant> |
<paramètre>
| <VAR>
Informations connexes
Décrit dans:
Expressions Caractéristiques de base Expressions
Types de données sans valeur Caractéristiques de base Types de données
Attribuer une valeur initiale aux données Caractéristiques de base Données
Programmation et test
Affectation manuelle d'une valeur aux données Programmation et test
8“:="2 Manuel de référence RAPID
Machine Translated by Google
AccSet Réduit l'accélération
AccSet est utilisé lors de la manipulation de charges fragiles. Il permet une accélération et une décélération plus
lentes, ce qui se traduit par des mouvements de robot plus fluides.
Exemples
AccSet 50, 100 ;
L'accélération est limitée à 50% de la valeur normale.
AccSet 100, 50 ;
La rampe d'accélération est limitée à 50 % de la valeur normale.
Arguments
AccSet Acc Rampe
Acc Type de données : nombre
Accélération et décélération en pourcentage des valeurs normales. 100% correspond à
l'accélération maximale. Valeur maximale : 100 %.
La valeur d'entrée < 20 % donne 20 % de l'accélération maximale.
Rampe Type de données : nombre
La vitesse à laquelle l'accélération et la décélération augmentent en pourcentage des valeurs normales
(voir Figure 1). Les secousses peuvent être limitées en réduisant cette valeur. 100% correspond au
taux maximum. Valeur maximale : 100 %.
La valeur d'entrée < 10 % donne 10 % du taux maximum.
Accélération
Time
AccSet 100, 100, c'estàdire accélération normale
Accélération Accélération
Temps Temps
AccSet 30, 100 AccSet 100, 30
Figure 1 La réduction de l'accélération entraîne des mouvements plus fluides.
Manuel de référence RAPID 8AccSet1
Machine Translated by Google
Exécution du programme
L'accélération s'applique à la fois au robot et aux axes externes jusqu'à ce qu'une nouvelle instruction AccSet soit
exécutée.
Les valeurs par défaut (100 %) sont automatiquement définies
lors d'un démarrage à
froid lors du chargement d'un nouveau
programme lors du démarrage d'un programme s'exécutant depuis le début.
Syntaxe
AccSet
[ Acc ':=' ] < expression (IN) de num > ','
[ Rampe ':=' ] < expression (IN) de num > ';'
Informations connexes
Décrit dans:
Instructions de positionnement Résumé RAPIDE Mouvement
8AccSet2 Manuel de référence RAPID