Vous êtes sur la page 1sur 250

Machine Translated by Google

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  celui­ci  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  7677­1  
Version :  M2000/Rev.1

ABB  Robotics  Products  AB
S­721  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  ci­dessus.

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 .................................................. .......................................  1­1
2  Présentation .................................................. ............................................. 2­1
1  Autres  manuels ....................................................... .................................................. ....  2­3

2  Comment  lire  ce  manuel .................................................. .............................................  2­3

2.1  Conventions  typographiques.................................................. ..................................  2­4  2.2  Règles  de  

syntaxe.............. .................................................. .....................................  2­4  2.3  Syntaxe  

formelle........ .................................................. .......................................  2­5  3  Résumé  

RAPIDE ...... .................................................. ..................................  3­1  1  La  structure  du  

langage............ .................................................. .............  3­5  2  Contrôle  du  déroulement  du  

programme .................................. ...............................................  3­6  2.1  Principes  de  

programmation .................................................. ..................................  3­6  2.2  Appel  d'une  autre  

routine ........ .................................................. ..................  3­6  2.3  Contrôle  du  programme  dans  la  

routine .................. .......................................... .. 3­6

2.4  Arrêt  de  l'exécution  du  programme .................................................. ................................  3­7
3  Consignes  diverses .................................................................. .............................................  3­8

3.1  Attribuer  une  valeur  aux  données ................................................ .................................. 3­8

3.2  Attendez.................................................. .................................................. .............  3­8

3.3  Commentaires .................................................. .................................................. ... 3­8

3.4  Chargement  des  modules  de  programme .................................................. .............................. 3­8

3.5  Fonctions  diverses .................................................. ..................................................  3­9

3.6  Données  de  base ....................................................... .................................................. .....  3­9

4  Paramètres  de  mouvement .................................................. .................................................. ...  3­10  4.1  

Principes  de  programmation ......................................... .......................................  3­10  4.2  Définition  de  la  

vélocité..... .................................................. .....................................  3­10  4.3  Définition  de  

l'accélération ........ .................................................. .......................... 3­11

4.4  Définition  de  la  gestion  de  la  configuration .................................................. .............. 3­11

4.5  Définition  de  la  charge  utile .................................................. .......................................  3­11  4.6  Définition  

du  comportement  près  des  points  singuliers . ................................................ 3­11

4.7  Déplacement  d'un  programme .................................................. ..................................  3­12  4.8  Servo  
souple ...... .................................................. ............................................... 3­12

4.9  Ajuster  les  valeurs  de  réglage  du  robot ....................................... .......................... 3­12

4.10  Données  pour  les  paramètres  de  mouvement.............................................. ..................................  3­13
5  Mouvement.................................................. .................................................. ..................  3­14

5.1  Principes  de  programmation .................................................. ..................................  3­14  5.2  Instructions  

de  positionnement ...... .................................................. ..................  3­15  5.3  

Recherche.................................. .................................................. ................................  3­15

Manuel  de  référence  RAPID 1­1
Machine Translated by Google

Page

5.4  Activation  de  sorties  ou  d'interruptions  à  des  positions  spécifiques ...................... 3­15

5.5  Commande  de  mouvement  en  cas  d'erreur/d'interruption......................................................... ....  
3­16  5.6  Commande  d'axes  externes ...................................... ....................................... 3­16

5.7  Axes  indépendants .................................................................. .......................................  3­16  5.8  
Fonctions  de  position .................................................. .......................................  3­17
5.9  Données  de  mouvement ....................................... .................................................. ..  3­17
5.10  Données  de  base  pour  les  mouvements.................................................. ..............................  3­18

6  Signaux  d'entrée  et  de  sortie .................................................. .......................................  3­19  6.1  Principes  
de  programmation .................. .................................................. ..................................  3­19  6.2  
Modification  de  la  valeur  d'un  signal ...... .................................................. .....  3­19  6.3  Lecture  de  la  
valeur  d'un  signal  d'entrée .................................. ..................................  3­19  6.4  Lecture  de  la  valeur  
d'un  signal  de  sortie ...... ...............................................  3­19  6.5  Tester  l'entrée  sur  les  signaux  de  
sortie ......................................... ..................................  3­20  6.6  Données  pour  les  signaux  d'entrée  et  
de  sortie ...... ..................................................  3­20
7  Communiquer................................................................ .................................................. ..  3­21

7.1  Principes  de  programmation .................................................. ..................................  3­21  7.2  
Communiquer  à  l'aide  du  boîtier  d'apprentissage ........ ............................................... 3­21

7.3  Lecture  ou  écriture  dans  un  canal/fichier  série  basé  sur  des  caractères ....... 3­22

7.4  Communication  à  l'aide  de  canaux  série  binaires ...................................... ... 3­22
7.5  Données  pour  les  canaux  série .................................................. .......................................  3­22

8  Interruptions .................................................. .................................................. ...........  3­23  8.1  Principes  
de  programmation .................................. ...............................................  3­23  8.2  Connexion  
d'interruptions  à  des  routines  de  déroutement.................................. ..................  3­23  8.3  Ordre  des  
interruptions .................................. .................................................. .........  3­24  8.4  Annulation  des  
interruptions .................................. ..................................................  3­24  8.5  Activation/désactivation  
des  interruptions.................................................. ..................................  3­24  8.6  Type  de  données  des  
interruptions ...... .................................................. ..................... 3­24

9  Récupération  d'erreur .................................................. .................................................. ...  3­25
9.1  Principes  de  programmation ....................................................... .................................. 3­25

9.2  Création  d'une  situation  d'erreur  à  partir  du  programme ...................................... 3­25

9.3  Redémarrage/retour  depuis  le  gestionnaire  d'erreurs .................................................. ........ 3­26
9.4  Données  pour  le  traitement  des  erreurs.............................................. .....................................  3­26  
10  Système  et  heure ...... .................................................. ..................................................  3­27  10.1  
Principes  de  programmation. .................................................. ..................................  3­27  10.2  
Utilisation  d'une  horloge  pour  chronométrer  un  événement ...... .................................................. ......  
3­27  10.3  Lecture  de  l'heure  et  de  la  date  actuelles .................. ..................................  3­27

1­2 Manuel  de  référence  RAPID
Machine Translated by Google

Page

11  Mathématiques .................................................. .................................................. .....  3­28

11.1  Principes  de  programmation .................................................. ...............................  3­28  11.2  Calculs  

simples  sur  des  données  numériques ........ ................................................ 3­28

11.3  Calculs  plus  avancés .................................................................. .......................  3­28

11.4  Fonctions  arithmétiques ....................................................... .......................................  3­29

12  Soudage  par  points .................................................. .................................................. .....  3­30  12.1  

Fonctionnalités  de  soudage  par  points ...................... ..................................................  3­30  12.2  

Principes  de  Spotware .................................................. .............................. 3­31

12.3  Principes  de  SpotWare  Plus ....................................................... .......................... 3­31

12.4  Principes  de  programmation .................................................. ..................................  3­32  12.5  

Instructions  de  soudage  par  points ...... .................................................. ..............  3­33  12.6  Données  

de  soudage  par  points ...................... .................................................. .........  3­33  13  Soudage  à  

l'arc ...................................... .................................................. ....................  3­34  13.1  Principes  de  

programmation .................. .................................................. ...  3­34  13.2  Instructions  de  soudage  à  

l'arc ...................................... ..................................... 3­34

13.3  Données  de  soudage  à  l'arc ............................................... ................................................ 3­35

14  GlueWare................................................ .................................................. ..........  3­36

14.1  Caractéristiques  de  collage .................................................. ................................................ 3­36

14.2  Principes  de  programmation .................................................. ..................................  3­36  14.3  
Instructions  de  collage ............. .................................................. .......................... 3­36

14.4  Données  de  colle .................................................. .................................................. ....  3­37

15  Communication  avec  un  ordinateur  externe .................................................. ..................  3­38  15.1  

Principes  de  programmation ...................... ..................................................  3­38  15.2  Envoi  d'un  

message  contrôlé  par  programme  du  robot  à  un  ordinateur.......  3­38
16  Consignes  d'entretien ....................................................... ................................................  3­39

16.1  Envoi  d'une  valeur  au  signal  de  test  du  robot ......................................... .........  3­39  17  Fonctions  

de  chaîne ...................................... .................................................. ............  3­41

17.1  Opérations  de  base ....................................................... .......................................... 3­41

17.2  Comparaison  et  recherche .................................................. ................................ 3­41

17.3  Transformation .................................................. .................................................. 3­41

18  Résumé  de  la  syntaxe.................................................. ..................................................  3  ­43  18.1  Mode  
d'emploi.................................................. .................................................. ..  3­43

18.2  Fonctions.................................................. .................................................. ...  3­46
4
5  Caractéristiques  de  base ....................................................... ..................................  5­1
1  Éléments  de  base .................................................. .................................................. .....  5­3

Manuel  de  référence  RAPID 1­3
Machine Translated by Google

Page

1.1  Identifiants .................................................. .................................................. .... 5­3

1.2  Espaces  et  caractères  de  nouvelle  ligne ................................................ ......................... 5­4
1.3  Valeurs  numériques ....................................................... ............................................... 5­4

1.4  Valeurs  logiques ....................................................... ................................................ 5­4

1.5  Valeurs  de  chaîne .................................................. ..................................................  5­4
1.6  Commentaires .................................................. .................................................. ... 5­5
1.7  Espaces  réservés .................................................. .................................................. 5­5
1.8  En­tête  de  fichier.............................................. .................................................. ....  5­5

1.9  Syntaxe .................................................. .................................................. ......... 5­6
2  Modules.................................................. .................................................. ...............  5­8

2.1  Modules  de  programme .................................................. ................................................ 5­8

2.2  Modules  du  système .................................................. ..................................................  5­9  2.3  
Module  déclarations .................................................................. .....................................  5­9

2.4  Syntaxe .................................................. .................................................. .........  5­9
3  Routines .................................................. .................................................. ..............  5­11

3.1  Portée  de  la  routine.................................................. ..................................................  5  ­11
3.2  Paramètres.................................................. .................................................. ...  5­12
3.3  Résiliation  de  routine .................................................. ....................................... 5­13
3.4  Déclarations  de  routine .................................................. .......................................  5­13
3.5  Appel  de  procédure.................................................. ..................................................  5  ­14

3.6  Syntaxe .................................................. .................................................. ......... 5­15

4  Types  de  données.................................................. .................................................. ...........  5­18  4.1  
Types  de  données  sans  valeur .................. .................................................. .....  5­18  4.2  Types  de  
données  égaux  (alias) .................................. ............................................... 5­18

4.3  Syntaxe .................................................. .................................................. .........  5­19
5  Données.................................................. .................................................. .....................  5­20

5.1  Portée  des  données.................................................. .................................................. ....  5­20  5.2  
Déclaration  des  variables ......................................... ...............................................  5­21
5.3  Déclaration  persistante .................................................. ..................................... 5­22
5.4  Déclaration  de  constante.................................................. .......................................  5­22

5.5  Initialisation  des  données ....................................... .................................................. 5­22

5.6  Syntaxe .................................................. .................................................. ......... 5­23
6  Mode  d'emploi.................................................. .................................................. .........  5­25

6.1  Syntaxe .................................................. .................................................. ......... 5­25

7  Expressions.................................................. .................................................. .........  5­26  7.1  Expressions  
arithmétiques .................................. ...............................................  5­26

1­4 Manuel  de  référence  RAPID
Machine Translated by Google

Page

7.2  Expressions  logiques.................................................. ..................................................  5­27  7.3  
Expressions  de  chaîne .... .................................................. ..................................  5­27  7.4  Utilisation  
de  données  dans  des  expressions ........ .................................................. .....................  5­28  7.5  
Utilisation  d'agrégats  dans  les  expressions ..................... ..................................................  5­29  7.6  
Utilisation  d'appels  de  fonction  dans  des  expressions.............................................. ..................  5­29  
7.7  Priorité  entre  opérateurs .................................. .................................................. . 5­30

7.8  Syntaxe.................................................. .................................................. ..........  5­31
8  Récupération  d'erreur .................................................. .................................................. ...  5­33  8.1  
Gestionnaires  d'erreurs.................................................. .................................................. .....  5­33

9  Interruptions.................................................. .................................................. ................  5­35  9.1  
Manipulation  des  interruptions .................. ..................................................  5­35  9.2  Routines  de  
déroutement ....................................... .................................................. .... 5­36
10  Exécution  à  rebours .................................................. ..................................................  5­37
10.1  Gestionnaires  rétrogrades .................................................. .......................................  5­37

11  Multitâche ................................................................ .................................................. .....  5­39  11.1  
Synchronisation  des  tâches ...................................... ..................................................  5­39  11.2  
Communication  inter­tâches... .................................................. .......................  5­41

11.3  Type  de  tâche .................................................. ..................................................  5­42  11.4  
Priorités ....................................................... .................................................. ........ 5­42
11.5  Tailles  des  tâches .................................................. .................................................. ... 5­43

11.6  À  méditer .................................................................. ............................................... 5­44

6  Principes  de  mouvement  et  d'E/S ....................................... ................................  6­1  1  Systèmes  de  
coordonnées .................. .................................................. .......................  6­3
1.1  Point  central  de  l'outil  du  robot  (TCP) .................................................. ..................... 6­3

1.2  Systèmes  de  coordonnées  utilisés  pour  déterminer  la  position  du  TCP ...................... 6­3

1.3  Systèmes  de  coordonnées  utilisés  pour  déterminer  la  direction  de  l'outil ...... 6­8

2  Positionnement  pendant  l'exécution  du  programme ............................................. ................  6­13  2.1  
Généralités.................................. .................................................. .......................  6­13

2.2  Interpolation  de  la  position  et  de  l'orientation  de  l'outil ....................................... 6­13

2.3  Interpolation  des  trajectoires  d'angle .................................................. ................................ 6­16

2.4  Axes  indépendants.............................................................. .......................................  6­22  2.5  
Servo  souple .................................................. .................................................. ..  6­24
2.6  Résolution  du  chemin .................................................. ............................................... 6­25

2.7  Arrêt  et  redémarrage............................................................ ..................................................  6­  25
3  Synchronisation  avec  les  instructions  logiques.................................................. .............  6­27  3.1  
Exécution  séquentielle  du  programme  aux  points  d'arrêt .................. .....................  6­27

Manuel  de  référence  RAPID 1­5
Machine Translated by Google

Page

3.2  Exécution  séquentielle  du  programme  aux  points  de  survol ....................................... ....  6­27  
3.3  Exécution  simultanée  de  programmes ...................................... .............................. 6­28

3.4  Synchronisation  des  chemins.................................................. ......................................  6­30  
4  Configuration  du  robot ...... .................................................. .......................................  6­32
4.1  Données  de  configuration  du  robot  pour  6400C ...................................... ................. 6­34

5  Singularités .................................................. .................................................. ........  6­36  5.1  
Exécution  du  programme  à  travers  les  singularités .................................. ....................  6­37  5.2  
Déplacement  manuel  à  travers  les  singularités .................. ..................................................  6  
­37  6  Principes  d'E/S ................................................ .................................................. ..........  6­38
6.1  Caractéristiques  des  signaux .................................................. ..................................... 6­38
6.2  Signaux  du  système .................................................. ..................................................  6­  39  
6.3  Connexions  croisées .................................................. ..................................................  6­39
6.4  Limites ................................................................ .................................................. .. 6­40

7  Types  de  données  et  données  système.............................................. .......................  7­1
bool  ­  Valeurs  logiques ............................................... ............................. 7­bool­1
horloge  ­  Mesure  du  temps .................................................. ................... 7­horloge­1

confdata  ­  Données  de  configuration  du  robot........................................ ....   7­confdata­1

dionum  ­  Valeurs  numériques  0  ­  1.................................................. ............ 7­dionum­1
errnum  ­  Numéro  d'erreur .................................................. ....................... 7­errnum­1

extjoint  ­  Position  des  joints  externes ................................................ ......   7­extjoint­1
intnum  ­  Identité  de  l'interruption ...................................... ........................ 7­numéro­1
iodev  ­  Canaux  et  fichiers  série ......................................................... ............. 7­iodev­1

jointtarget  ­  Données  de  position  conjointe.............................. ............  7­jointtarget­1
loaddata  ­  Charger  les  données.............................................. ............................. 7­loaddata­1
mecunit  ­  Unité  mécanique ....................................................... ................... 7­mecunit­1

motsetdata  ­  Données  de  paramètres  de  mouvement ...................................... ........  7­motsetdata­1  
num  ­  Valeurs  numériques  (registres) ............................... ........................ 7­num­1
orienter  ­  Orientation................................................. .............................. 7­orient­1

o_robtarget  ­  Données  de  position  d'origine ....................................... ....  7­o_robtarget­1  
o_jointtarget  ­  Données  de  position  d'origine  de  l'articulation ..................  7  ­o_jointtarget­1
pos  ­  Positions  (seulement  X,  Y  et  Z) ...................................... ................  pose   7­pos­1  
­  Transformations  de  coordonnées .............................. .....................  progdisp   7­pos­1
­  Déplacement  de  programme ......................... ................................  robjoint  ­   7­progdisp­1
Position  de  l'articulation  des  axes  du  robot............ ................................  7­robjoint­1  robtarget  ­  
Données  de  position ......... .................................................. .........  7­robtarget­1  signalxx  ­  Signaux  
numériques  et  analogiques ................................. ................... 7­signalxx­1

1­6 Manuel  de  référence  RAPID
Machine Translated by Google

Page

données  de  vitesse  ­  Données  de  vitesse .................................. .........................  7­speeddata­1  chaîne  ­  

Chaînes................. .................................................. ..................  7­string­1  symnum  ­  Numéro  

symbolique ....................... .......................................  7­symnum­1
tooldat  ­  Données  d'outil .................................................. .................................. 7­tooldata­1

triggdata  ­  Evénements  de  positionnement  ­  trigg........................................ .....  7­triggdata­1  tunedata  ­  Type  

de  syntonisation  du  servo ...................................... ..............................  wobjdata  ­   7­tunedata­1

Données  d'objet  de  travail ............... ..............................................  7­wobjdata­  1
zonedata  ­  Données  de  zone.............................................. .............................  7­­zonedata­1

Données  système .................................................. .......................................  7­Données  système­1

8  Mode  d'emploi .................................................. ...............................................  8­1
« :=  »  ­  Attribue  une  valeur ................................................ ............................................... 8­:=­1

AccSet  ­  Réduit  l'accélération ............................................. ........ 8­AccSet­1

ActUnit  ­  Active  une  unité  mécanique................................................ ... 8­ActUnit­1

Add  ­  Ajoute  une  valeur  numérique................................................ ................... 8­Ajouter­1

Pause  ­  Pause  exécution  du  programme.................................................. ........ 8­Pause­1

CallByVar  ­  Appel  d'une  procédure  par  une  variable.........................................  8­CallByVar­1
Effacer  ­  Efface  la  valeur ............................................. ......................... 8­Effacer­1

ClkReset  ­  Réinitialise  une  horloge  utilisée  pour  le  chronométrage..................................  8  ­ClkReset­1  ClkStart  

­  Démarre  une  horloge  utilisée  pour  le  chronométrage ...................................... .... 8­ClkStart­1

ClkStop  ­  Arrête  une  horloge  utilisée  pour  le  chronométrage.......................................... .. 8­ClkStop­1
Fermer  ­  Ferme  un  fichier  ou  un  canal  série ....................................... ...... 8­Fermer­1

commentaire  ­  Commentaire ............................................... ................................  8­commentaire­1

Compact  IF  ­  Si  une  condition  est  satisfaite,  alors...  (une  instruction).......  8­Compact  IF­1  ConfJ  ­  Contrôle  la  

configuration  pendant  le  mouvement  de  l'articulation........ ... 8­ConfJ­1

ConfL  ­  Surveille  la  configuration  pendant  le  mouvement  linéaire ....... ­ConfL­1

CONNECT  ­  Connecte  une  interruption  à  une  routine  de  déroutement ......  8­CONNECT­1
DeactUnit  ­  Désactive  une  unité  mécanique .........................................  8­DeActUnit­1

Decr  ­  Décrémente  de  1 .................................................. ..................... 8­décr­1

EOffsOff  ­  Désactive  un  décalage  pour  les  axes  externes..........................8­EOffsOff­1

EOffsOn  ­  Active  un  décalage  pour  les  axes  externes .......................  8­EOffsOn­1

EOffsSet  ­  Active  un  décalage  pour  les  axes  externes  à  l'aide  d'une  valeur ........ 8­EOffsSet­1

ErrWrite  ­  Rédiger  un  message  d'erreur ......................................... .....  8­ErrWrite­1  EXIT  ­  Termine  l'exécution  

du  programme ..................................... ......... 8­SORTIE­1

POUR  ­  Répète  un  certain  nombre  de  fois.................................................. . 8­POUR­1

GOTO  ­  Passe  à  une  nouvelle  instruction ................................................ ......... 8­GOTO­1

GripLoad  ­  Définit  la  charge  utile  du  robot ......................................  8­GripLoad­1

Manuel  de  référence  RAPID 1­7
Machine Translated by Google

Page

IDelete  ­  Annule  une  interruption ............................................. .............. 8­IDuppression­1

IDisable  ­  Désactive  les  interruptions ....................................... .............. 8­IDésable­1

IEable  ­  Active  les  interruptions .............................................. ............... 8­IEnable­1

SI  ­  Si  une  condition  est  remplie,  alors ... ;  sinon .................................... 8­IF­1

Incr  ­  Incréments  de  1   .................................................. ....................... 8­Incr­1

IndAMove  ­  Mouvement  de  position  absolu  indépendant.................  8­IndAMove­1  IndCMove  ­  Mouvement  

continu  indépendant............ ...............  8­IndCMove­1  IndDMove  ­  Déplacement  indépendant  de  la  position  

delta ..................  8  ­IndRMove­1  IndReset  ­  Réarmement  indépendant......................................... ..................
8­IndReset­1

IndRMove  ­  Déplacement  de  position  relatif  indépendant ..................  8­IndRMove­1  InvertDO  ­  Inverse  la  

valeur  d'un  signal  de  sortie  numérique ........... ........  8­InvertDO­1  ISignalDI  ­  Ordonne  des  interruptions  à  

partir  d'un  signal  d'entrée  numérique ........  8­ISignalDI­1  ISignalDO  ­  Interrompt  à  partir  d'un  signal  de  sortie  

numérique .. .....................  8­ISignalDO­1  ISleep  ­  Désactive  une  interruption................... ....................................

8­ISleep­1  

ITimer  ­  Ordonne  une  interruption  temporisée.................................. ............ 8­ITimateur­1

IWatch  ­  Active  une  interruption ................................................ ........... 8­IWatch­1

étiquette  ­  Nom  de  la  ligne ................................................. .................................... 8­label­1

Load  ­  Charger  un  module  de  programme  pendant  l'exécution.............. 8­Charger­1

MoveAbsJ  ­  Déplace  le  robot  vers  une  position  d'articulation  absolue.............  8­MoveAbsJ­1  MoveC  ­  

Déplace  le  robot  de  manière  circulaire................ .................................. 8­CoupC­1

MoveJ  ­  Déplace  le  robot  par  mouvement  articulaire.................................. 8­CoupJ­1

MoveL  ­  Déplace  le  robot  linéairement............................................ ......... 8­CoupL­1

Ouvrir  ­  Ouvre  un  fichier  ou  un  canal  série.......................................... ...... 8­Open­1  

PDispOff  ­  Désactive  le  déplacement  du  programme..............  8­PDispOff­1  PDispOn  ­  Active  déplacement  

de  programme..............................  8­PDispOn­1  PDispSet  ­  Active  le  déplacement  de  programme  à  l'aide  

d'une  valeur ............  8­PDispSet­1  ProcCall  ­  Appelle  une  nouvelle  procédure ...................... ................................
8­ProcCall­1

PulseDO  ­  Génère  une  impulsion  sur  un  signal  de  sortie  numérique ......  8­PulseDO­1
RAISE  ­  Appelle  un  gestionnaire  d'erreurs ...................................... ............ 8­LANCER­1

Réinitialiser  ­  Réinitialise  un  signal  de  sortie  numérique ....................................... ..... 8­Réinitialiser­1

RestoPath  ­  Restaure  le  chemin  après  une  interruption ......................  8­RestoPath­1  RETRY  ­  Redémarre  

suite  à  une  erreur... ................................................ 8­RÉESSAYER­1

RETOUR  ­  Termine  l'exécution  d'une  routine ......................................  8­RETOUR­1

SearchC  ­  Recherches  circulaires  à  l'aide  du  robot.................................. 8­RechercheC­1

SearchL  ­  Recherche  linéaire  à  l'aide  du  robot ...................................... 8­RechercheL­1

Set  ­  Définit  un  signal  de  sortie  numérique ....................................... ............. 8­Ensemble­1

1­8 Manuel  de  référence  RAPID
Machine Translated by Google

Page

SetAO  ­  Change  la  valeur  d'un  signal  de  sortie  analogique .................. 8­SetAO­1

SetDO  ­  Modifie  la  valeur  d'un  signal  de  sortie  numérique ...... 8­SetDO­1

SetGO  ­  Modifie  la  valeur  d'un  groupe  de  signaux  de  sortie  numériques ..... 8­SetGO­1

SingArea  ­  Définit  l'interpolation  autour  de  points  singuliers ..................  8­SingArea­1  SoftAct  ­  Activation  

du  servo  soft .................. .................................... 8­SoftAct­1

SoftDeact  ­  Désactivation  du  servo  soft ................................................  8­SoftDeAct­1
StartMove  ­  Redémarre  le  mouvement  du  robot ....................................... .....  8­StartMove­1

Stop  ­  Arrête  l'exécution  du  programme.................................................. ............ 8­Stop­1  

StopMove  ­  Arrête  le  mouvement  du  robot ...................................... ..................  8­StopMove­1  StorePath  ­  

Stocke  le  chemin  lorsqu'une  interruption  se  produit.................  8­StorePath­1  TEST  ­  En  fonction  de  la  

valeur  d'une  expression ... ........................ 8­TEST­1

TPErase  ­  Efface  le  texte  imprimé  sur  le  pendentif  d'apprentissage ........ 8­TPErase­1

TPReadFK  ­  Lit  les  touches  de  fonction ...................................... ........  8­TPReadFK­1  TPReadNum  ­  Lit  un  

nombre  à  partir  du  pendentif  d'apprentissage................  8­TPReadNum­1  TPWrite  ­  Écrit  sur  le  pendentif  

d'apprentissage ................................................  8­TPWrite­1  TriggC  ­  Mouvement  circulaire  du  robot  avec  

événements ................................ 8­TriggC­1  

TriggEquip  ­  Définit  un  événement  d'E/S  à  temps  de  position  fixe....  8­TriggEquip­1  TriggInt  ­  Définit  un  

événement  lié  à  la  position  interrompre ................................ 8­TriggInt­1  

TriggIO  ­  Définit  un  événement  d'E/S  à  position  fixe .................. . 8­TriggIO­1  

TriggJ  ­  Mouvements  du  robot  dans  le  sens  des  axes  avec  événements ...... 8­TriggJ­1  

TriggL  ­  Mouvements  linéaires  du  robot  avec  événements ...................... 8­TriggL­1  

TRYNEXT  ­  Saute  par­dessus  une  instruction  qui  a  provoqué  une  erreur8­TRYNEXT­1  TuneReset  ­  

Réinitialiser  le  réglage  du  servo................ ..........................  8­TuneServo­1  TuneServo  ­  Réglage  des  

servos ............... ..................................................  8  ­TuneServo­1  UnLoad  ­  Décharge  un  module  de  

programme  pendant  l'exécution.................. 8­Décharger­1

VelSet  ­  Modifie  la  vélocité  programmée .................................. 8­VelSet­1

WaitDI  ­  Attend  jusqu'à  ce  qu'un  signal  d'entrée  numérique  soit  défini.............. 8­AttendezDI­1

WaitDO  ­  Attend  jusqu'à  ce  qu'un  signal  de  sortie  numérique  soit  défini ......  8­WaitDO­1  WaitTime  ­  Attend  

un  certain  temps. .......................................  8­Temps  d'attente­1
WaitUntil  ­  Attend  jusqu'à  ce  qu'une  condition  soit  remplie ................................  8­  Attendre  jusqu'à­1

WHILE  ­  Se  répète  aussi  longtemps  que ............................................ ..................  8­PENDANT­1
Écrire  ­  Écrit  dans  un  fichier  basé  sur  des  caractères  ou  un  canal  série ...... 8­Ecrire­1

WriteBin  ­  Écrit  sur  un  canal  série  binaire ..................................  8­WriteBin­1

9  Fonctions .................................................. ..................................................  9­1
Abs  ­  Obtient  la  valeur  absolue.................................................. ................. 9­Abs­1

ACos  ­  Calcule  la  valeur  de  l'arc  cosinus......................................... ... 9­ACos­1

Manuel  de  référence  RAPID 1­9
Machine Translated by Google

Page

ASin  ­  Calcule  la  valeur  de  l'arc  sinus ....................................................... ....... 9­ASin­1

ATan  ­  Calcule  la  valeur  de  l'arc  tangente ...................................... 9­ATan­1

ATan2  ­  Calcule  la  valeur  de  l'arc  tangente2 ...................................... 9­ATan2­1

CDate  ­  Lit  la  date  actuelle  sous  forme  de  chaîne ...................................... 9­CDate­1

CJointT  ­  Lit  les  angles  de  joint  actuels ......................................... 9­CJointT­1

ClkRead  ­  Lit  une  horloge  utilisée  pour  le  chronométrage ..................................  9  ­ClkRead­1
Cos  ­  Calcule  la  valeur  du  cosinus.................................................. ........... 9­­Cos­1

CPos  ­  Lit  les  données  de  position  actuelle  (pos) ...................................... 9­CPos­1

CRobT  ­  Lit  les  données  de  position  actuelle  (robtarget) ...................... 9­CRobT­1

CTime  ­  Lit  l'heure  actuelle  sous  forme  de  chaîne ...................................... 9­CTime­1
CTool  ­  Lit  les  données  actuelles  de  l'outil ......................................... ....... 9­CTool­1

CWObj  ­  Lit  les  données  de  l'objet  de  travail  actuel.................................. 9­CWobj­1  
DefDFrame  ­  Définir  un  cadre  de  déplacement.................................  9  ­DefDFrame­1
DefFrame  ­  Définir  un  cadre ................................................ ....................  9­DefFrame­1

Dim  ­  Obtient  la  taille  d'un  tableau ................................................ ................ 9­Dim­1

DOutput  ­  Lit  la  valeur  d'un  signal  de  sortie  numérique ......  9­DOutput­1  EulerZYX  ­  Récupère  les  
angles  d'Euler  à  partir  de  l'orient ...... ................................  9­EulerZYX­1  Exp  ­  Calcule  la  valeur  
exponentielle....... ....................................... 9­Exp­1
GetTime  ­  Lit  l'heure  actuelle  sous  la  forme  d'une  valeur  numérique.................  9­GetTime­1

GOutput  ­  Lit  la  valeur  d'un  groupe  de  signaux  de  sortie  numériques .....  9­GOutput­1
IndInpos  ­  Statut  de  position  Indépendante ...................................... 9­IndInpos­1  
IndSpeed  ­  Etat  de  la  vitesse  indépendante.............................. .......  9­VitInd­1
IsPers  ­  Est  persistant .................................................. ............................. 9­IsPers­1
IsVar  ­  Est  variable ................................................ ................................ 9­EstVar­1

MirPos  ­  Mise  en  miroir  d'une  position............................................ ........... 9­MirPos­1

NumToStr  ­  Convertit  une  valeur  numérique  en  chaîne ................................  9­NumToStr­1
Offs  ­  Déplace  la  position  d'un  robot............................................ ............ 9­Offs­1

OpMode  ­  Lire  le  mode  de  fonctionnement............................................ .....  9­OpMode­1  OrientZYX  
­  Construit  un  orient  à  partir  des  angles  d'Euler ..................  9­OrientZYX­  1  ORobT  ­  Supprime  un  
déplacement  de  programme  d'une  position ......... 9­ORobT­1

PoseInv  ­  Inverse  la  pose ............................................. ..................... 9­PoseInv­1

PoseMult  ­  Multiplie  les  données  de  pose ....................................... ...........  9­PoseMult­1  PoseVect  
­  Applique  une  transformation  à  un  vecteur .......................... ...  9­PoseVect­1  Pow  ­  Calcule  la  
puissance  d'une  valeur .................................. ............ 9­Pow­1

Présent  ­  Teste  si  un  paramètre  optionnel  est  utilisé .................................. 9­Présent­1

ReadBin  ­  Lit  à  partir  d'un  canal  série  binaire ................................ 9­ReadBin­1

1­10 Manuel  de  référence  RAPID
Machine Translated by Google

Page

ReadMotor  ­  Lit  les  angles  actuels  du  moteur ................................  9­ReadMotor­1
ReadNum  ­  Lit  un  nombre  à  partir  d'un  fichier  ou  du  canal  série .......  9­ReadNum­1

ReadStr  ­  Lit  une  chaîne  à  partir  d'un  fichier  ou  d'un  canal  série .................. 9­ReadStr­1

RelTool  ­  Faire  un  déplacement  par  rapport  à  l'outil ......................... 9­RelTool­1

Arrondi  ­  Arrondi  est  une  valeur  numérique ......................................... ......... 9­Tour­1

RunMode  ­  Lire  le  mode  d'exécution ................................................ ......  9­Mode  d'exécution­1
Sin  ­  Calcule  la  valeur  du  sinus......................................................... ................ 9­Péché­1

Sqrt  ­  Calcule  la  valeur  de  la  racine  carrée................................................ .. 9­place­1

StrFind  ­  Recherche  un  caractère  dans  une  chaîne .................................. 9­StrFind­1

StrLen  ­  Obtient  la  longueur  de  la  chaîne ................................................ .............. 9­StrLen­1

StrMap  ­  Mappe  une  chaîne ................................................ ......................... 9­StrMap­1  

StrMatch  ­  Recherche  d'un  modèle  dans  la  chaîne ...................................... ......  9­StrMatch­1  StrMemb  ­  Vérifie  

si  un  caractère  appartient  à  un  ensemble ......................  9­  StrMemb­1  StrOrder  ­  Vérifie  si  les  chaînes  sont  

ordonnées ......................................... ..  9­StrOrder­1  StrPart  ­  Trouve  une  partie  d'une  

chaîne............................... ..................... 9­StrPart­1

StrToVal  ­  Convertit  une  chaîne  en  une  valeur ....................................... ..  9­StrToVal­1  Tan  ­  Calcule  la  valeur  

de  la  tangente ..................................... ............... 9­Tan­1

TestDI  ­  Teste  si  une  entrée  numérique  est  définie.......................................... ........ 9­TestDI­1

Trunc  ­  Tronque  une  valeur  numérique................................................ ....... 9­Tronc­1

ValToStr  ­  Convertit  une  valeur  en  chaîne ................................................ ..  9­ValToStr­1  10  Données  et  

programmes  prédéfinis.............................................. ......................  10­1  1  Utilisateur  du  module  

système ...................... .................................................. .....................  10­3
1.1  Contenu .................................................. .................................................. ...... 10­3

1.2  Créer  de  nouvelles  données  dans  ce  module............................................ .......................  10­3  1.3  

Effacement  de  ces  données .................... .................................................. ..................... 10­4

11  Programmation  hors  ligne.............................................. ..................................  11­1  1  Programmation  hors  

ligne ............ .................................................. ..................................  11­3  1.1  Format  de  
fichier .................. .................................................. ..................................  11­3

1.2  Édition.................................................. .................................................. .........  11­3  1.3  Vérification  de  la  

syntaxe .................................. .................................................. ............ 11­3

1.4  Exemples................................................................. .................................................. .....  11­4  1.5  Création  

de  vos  propres  instructions ..................................... .................................. 11­4

12
13  Arcware .................................................................. ..................................................  13  ­1
données  de  couture  ­  Données  de  couture .................................. ................................  13­données  de  couture­1

weavedata  ­  Données  de  tissage .................................................. .......................  13­weavedata­1

Manuel  de  référence  RAPID 1­11
Machine Translated by Google

Page

données  de  soudure  ­  Données  de  soudure .................................. ................................  13­données  de  soudure­1

ArcC  ­  Soudage  à  l'arc  avec  mouvement  circulaire......................................... 13­ArcC­1

ArcL  ­  Soudage  à  l'arc  avec  mouvement  linéaire ....................................... . 13­ArcL­1

14  Spotware.................................................. ..................................................  14­  1
gundata  ­  Données  du  pistolet  de  soudage  par  points .................................. ................  14­gundata­1  spotdata  ­  

Données  de  soudage  par  points ...................... ................................................  14­spotdata­1  SpotL  ­  Soudage  

par  points  avec  mouvement .................................................. ...... Module  

système  14­SpotL­1  SWUSER ...................................... .......................  14­SWUSER­1  Module  système  

SWUSRC.................. ..................................................  14­  Module  système  SWUSRC­1  

SWTOOL ................................................ .....................  14­SWTOOL­1

15  GlueWare................................................ ..................................................  15­  1
ggundata  ­  Données  du  pistolet  à  encoller ...................................... ..................  15­ggundata­1  GlueC  ­  Collage  

avec  mouvement  circulaire.......................... ................................ 15­GlueC­1  

GlueL  ­  Collage  avec  mouvement  linéaire.................................. ............. 15­GlueL­1

Module  système  GLUSER ............................................... ....................  15­GLUSER­1

16
17
18  Référence  rapide.................................................. ..................................  18­1  1  La  fenêtre  

Jogging ...... .................................................. ..................................  18­3  1.1  Fenêtre :  

Jogging ........ .................................................. ..................................  18­3  2  La  fenêtre  Entrées/

Sorties ........ .................................................. ..................  18­4  2.1  Fenêtre :  Entrées/

Sorties.............. .................................................. .......  18­4  3  La  fenêtre  du  

programme .................................. .................................................. ....  18­6

3.1  Déplacement  entre  les  différentes  parties  du  programme .................................................. . 18­6

3.2  Menus  généraux ....................................................... ...............................................  18­7

3.3  Fenêtre :  Programme  Instr................................................. ..................................  18­10  3.4  Fenêtre :  

Routines  de  programme ...... .................................................. ..................  18­11  3.5  Fenêtre :  Données  du  

programme  3.6  Fenêtre :  Types  de   .................................................. .............................. 18­13

données  du  programme ................ .................................................. ..  18­15  3.7  Fenêtre :  Test  du  

programme ......................................... .......................................  18­16  3.8  Fenêtre :  Programmer  les  

modules. .................................................. .......................  18­17  4  La  fenêtre  de  
production .................................. .................................................. ...............  18­18

4.1  Fenêtre :  Production .................................................. .......................................  18­18

5  Le  gestionnaire  de  fichiers.............................................. ..................................................  18­20

5.1  Fenêtre :  Gestionnaire  de  fichiers ....................................... .......................................  18­20

1­12 Manuel  de  référence  RAPID
Machine Translated by Google

Page

6  La  fenêtre  de  service.................................................. ...............................................  18­22
6.1  Menus  généraux .................................................. ..................................................  18­  22

6.2  Journal  d'entretien  de  la  fenêtre .................................. ..................................  18­24  6.3  Étalonnage  
du  service  de  la  fenêtre ...... .................................................. ................  18­25
6.4  Commutation  de  service  de  fenêtre .................................................. .......................  18­26

7  Les  paramètres  du  système .................................................. ..................................................  18­27  7.1  
Fenêtre :  Paramètres  système . .................................................. .....................  18­27
19  Fonctionnalité  spéciale  de  ce  robot  
20  Index,  glossaire ......................................... ...............................................  20­1

Manuel  de  référence  RAPID 1­13
Machine Translated by Google

1­14 Manuel  de  référence  RAPID
Machine Translated by Google

INDICE

UN CallByVar  8­CallByVar­1  
appelant  un  sous­programme  3­6
Abs  9­Abs­1   Mouvement  circulaire  
valeur  absolue  9­Abs­1  
CDate  9­CDate­1  6­15,  8­MoveC­1
réduction  de  l'accélération  8­AccSet­1 CJointT  9­CJointT­1
AccSet  8­AccSet­1 Effacer  8­Effacer­1
ACos  9­ACos­1 ClkRead  9­ClkRead­1
ActUnit  8­ActUnit­1 ClkReset  8­ClkReset­1
Ajouter  8­Add­1   ClkStart  8­ClkStart­1
agrégat  5­18  type   ClkStop  8­ClkStop­1  
de  données  alias  5­18   horloge  7­horloge­1  
jeu  de  sortie   lecture  9­ClkRead­1  
analogique  8­SetAO­1 réinitialisation  8­
ET  5­27   ClkReset­1  démarrage  
soudage  à  l'arc  13­ArcC­1,  13­ArcL­1 8­ClkStart­1  arrêt  8­ClkStop­1
ArcC  13­ArcC­1 Fermer  8­Fermer­1  
ArcL  13­ArcL­1  
commentaire  3­8,  5­5,  8­commentaire­1  
arcus  cosinus  9­ACos­1  
unité  d'entraînement  commune  8­ActUnit­1,  8­
arcus  sinus  9­ASin­1  
arcus  tangente  9­ATan­1,  9­ATan2­1   DeActUnit­1  communication  
argument   3­38  instructions  de  communication  3­21
conditionnel  5­29  
Compact  IF  8­Compact  IF­1  
arithmétique  8­:=­1  
composant  d'un  enregistrement  
expression  arithmétique  5­26   5­18  exécution  simultanée  6­28  
tableau  5­21,  5­22   condition  8­IF­1  
obtenir  la  taille  9­Dim­1 argument  conditionnel  5­29  
ASin  9­ASin­1   confdata  7­confdata­1  
affectation  d'une  valeur  aux   instructions  de  vérification  de  la  configuration  3­11
données  3­8  affectation  8­:=­1 ConfJ  8­ConfJ­1
ATan  9­ATan­1 ConfL­ConfL­1
Configuration  des  axes   CONNECTER  8­CONNECTER­1
ATan2  9­ATan2­1  6­32 CONST  5­22  
constante  5­20  
B
système  de  coordonnées  
exécution  à  rebours  5­37 6­3  axes  externes  coordonnés  6­7  
Gestionnaire  arrière  11­5   chemin  d'angle  6­16,  7­­zonedata­1
gestionnaire  arrière  5­13,  5­37,  5­39,  5­41,  5­  42,  5­44   Cos  9­­Cos­1  

système   mouvement  continu  8­IndCMove­1
CPos  9­CPos­1  
de  coordonnées  de  base  6­3  bool  
7­bool­1 Remplissage  de  cratères  13­Seamdata­6
Pause  8­Pause­1 Croix  CRobT  9­CRobT­1  
6­39
C CHeure  9­CHeure­1
CTool  9­CTool­1
C_MOTSET  7­Données  système­1
CWobj  9­CWobj­1
C_PROGDISP  7­Données  système­1  
appel  8­ProcCall­1

Manuel  de  référence  RAPID 20­1
Machine Translated by Google

D EulerZYX  9­EulerZYX­1
SORTIE  8­SORTIE­1
données  
Exp  9­Exp­1  
5­20  utilisées  dans  l'expression  
valeur  exponentielle  9­Exp­1,  9­Pow­1  
5­28  type  de   expression  5­26  
données  5­18  date  9­CDate­1
axes  externes  
DeactUnit  8­DeActUnit­1   activer  8­ActUnit­1  
déclaration   coordonné  6­7  
constante  5­22   désactiver  8­DeActUnit­1  
module  5­9  
extjoint  7­extjoint­1
persistante  5­22  
routine  5­13   F
variable  5­21
Decr  8­Decr­1  
fichier  fermer  8­
diminue  la  vitesse  8­VelSet­1  
décrémente  8­Decr­1 Fermer­1  charger  
DefDFrame  9­DefDFrame­1 8­Charger­1  
DefFrame  9­DefFrame­1   ouvrir  8­Ouvrir­1  lire  9­ReadBin­1,  9­ReadNum­1,  9­
ReadStr­1  
sortie  numérique  9­DOutput­1  
déchargement  8­
impulsion  8­PulseDO­1  
reset  8­Reset­1   UnLoad­1  écriture  8­Write­1,  8­
WriteBin­1  en­
set  8­Set­1,  8­SetDO­1
Dim  9­Dim­1   tête  de  fichier  5­5  
dionum  7­dionum­1   instructions  de  fichier  

position   3­21  fin  7­­zonedata­1  point  de  survol  7­­zonedata­1
FOR  8­FOR­1  
de  déplacement  9­
trame  9­DefFrame­1  
Offs­1  direction  
de  l'outil  de  déplacement  9­ fonction  5­11  
appel  de  fonction  5­29
RelTool­1  cadre  de  déplacement  6­6,  9­DefDFrame­1,  9­
Instructions  
g
de  déplacement  de  DefFrame­1  3­12
DIV  5­26 GetTime  9­GetTime­1  
D  Sortie  9­D  Sortie­1 ggundata  15­ggundata­1  

E
données  
globales  5­20  routine  5­11
phase  finale  13­seamdata­6
EOffsOff  8­EOffsOff­1 GlueC  15­GlueC­1
EOffsOn  8­EOffsOn­1 ColleL  15­GlueL­1
EOffsSet  8­EOffsSet­1  égal  au  
GlueWare  3­36  

type  de  données  5­18  
collage  15­GlueC­1,  15­GlueL­1  
effacement  de  l'affichage  du  pendentif  d'apprentissage  8­TPErase­1
pistolet  de  collage  données  15­ggundata­1
GLUSER  15­GLUSER­1
ERRNO  5­33,  7­Données  système­1  
errnum  7­errnum­1   ALLER  À  8­ALLER  À­1

gestionnaire  d'erreurs   GOutput  9­GOutput­1
5­33  numéro  d'erreur   GripLoad  8­GripLoad­1  
5­33  récupération   groupe  d'E/S  8­SetGO­1,  9­GOutput­1  
d'erreur  5­33  nouvelle  tentative  8­RETRY­1,  8­TRYNEXT­1 gundata  14­gundata­1
ErrEcrit  8­ErrEcrit­1

20­2 Manuel  de  référence  RAPID
Machine Translated by Google

H IMinuterie  8­IMinuterie­1
IWatch  8­IWatch­1
chaleur  13­couture­4
J
je

mouvement  articulaire  6­13,  8­MoveJ­1  
Principes  d'E/S  6­38 jump  8­GOTO­1
Synchronisation  E/S  6­27
IDupprime  8­IDupprime­1   L
identifiant  5­3
IDésactiver  8­IDésable­1 étiquette  8­

IEnable  8­IEnable­1 étiquette­1  mouvement  linéaire  6­14,  8­MoveL­1
Load  8­Load­1  
IF  8­Compact  IF­1,  allumage  8­
load  
IF­1  13­seamdata­3
Incr  8­Incr­1   activate  payload  8­GripLoad­1  
incrément  8­Incr­1 loaddata  7­loaddata­1  

IndAMove  8­IndAMove­1
IndCMove  8­IndCMove­1 données  locales  

IndDMove  8­IndRMove­1  entrée   5­20  routine  

indépendante  9­IndInpos­1,  9­Ind 5­11  expression  logique  

Vitesse­1   5­27  valeur  logique  5­4,  7­bool­1

mouvement  indépendant  8­IndAMove­1,  8­Ind M
CMove­1,  8­IndRMove­1
IndInpos  9­IndInpos­1,  9­IndSpeed­1 routine  principale  
IndReset  8­IndReset­1 5­8  instructions  mathématiques  3­28,  3­41  
IndRMove  8­IndRMove­1
vitesse  maximale  8­VelSet­1  unité  
IndSpeed  9­IndSpeed­1   mécanique  7­mecunit­1  activer  8­
instructions  d'entrée  3­19   ActUnit­1  désactiver  8­
interpolation  6­13   DeActUnit­1  mecunit  7­mecunit­1
interruption  3­23,  5­35  
activer  8­IWatch­1  à   MirPos  9­MirPos­1  
une  position  8­TriggInt­1   miroir  9­MirPos­1
connecter  8­CONNECT­1   MOD  5­26  
désactiver  8­ISleep­1   interpolation  linéaire  modifiée  6­16  
supprimer  8­IDelete­1   module  5­8  
désactiver  8­IDisable­1   déclaration  5­9  
activer  8­IEnable­1  de   instructions  de  mouvement  
l'entrée  numérique  8­ISignalDI­1   3­15  instructions  de  réglage  de  
identité  7­intnum­1   mouvement  3­10  motsetdata  7­motsetdata­1
temporisé  8­ITimer­1 MoveAbsJ  8­MoveAbsJ­1
INTNO  7­Données  système­1   MoveC  8­MoveC­1
intnum  7­intnum­1 MoveJ  8­MoveJ­1
InvertDO  8­InvertDO­1  iodev   DéplacerL  8­DéplacerL­1
7­iodev­1 mouvement  
ISignalDI  8­ISignalDI­1 circulaire  8­MoveC­1  
ISignalDO  8­ISignalDO­1 articulaire  8­
ISleep  8­ISleep­1 MoveJ­1  linéaire  8­
IsPers  9­IsPers­1 MoveL­1  multitâche  5­39
IsVar  9­IsVar­1

Manuel  de  référence  RAPID 20­3
Machine Translated by Google

N Pow  9­Pow­1
Présent  9­Présent­1
type  de  données  sans  valeur  5­18 ProcCall  8­ProcCall­1  
NOT  5­27  
procédure  5­11  
num  7­num­1  
appel  de  procédure  8­CallByVar­1,  8­ProcCall­1  
valeur  numérique  5­4,  7­num­1
programme  
NumToStr  9­NumToStr­1
5­8  données  de  
O programme  5­20  déplacement  de  
programme  3­12  activer  8­
o_jointtarget  7­o_jointtarget­1   PDispOn­1  désactiver  8­
système  de  coordonnées  d'objet  6­5,  7­wobjdata­1   PDispOff­1  supprimer  à  partir  de  la  
programmation  hors  ligne  11­3 position  9­ORobT­1  instructions  de  
Offs  9­Offs­1   déroulement  du  
décalage  9­Offs­1 programme  3­6  module  de  programme  5­8  programmation  11­3
ImpulsionDO  8­ImpulsionDO­1
Ouvrir  
fichier  8­Open­1  
Q
voie  série  8­Open­1  mode  
de  fonctionnement   quaternion  7­orient­2
lecture  9­OpMode­1  
priorité   R
opérateur  5­30
RAISE  8­RAISE­1  
OpMode  9­OpMode­1  
paramètre  facultatif  5­12
OU  5­27   lecture  de  l'horloge  9­

orient  7­orient­1 ClkRead­1  date  actuelle  9­

OrientZYX  9­OrientZYX­1 CDate­1  angles  d'articulation  actuels  9­
ORobT  9­ORobT­1   CJointT­1  position  actuelle  du  robot  9­

sortie  à   CRobT­1  heure  actuelle  9­CTime­1,  9­
GetTime­1  actuel  données  d'outil  
une  position  8­TriggIO­1  
instructions  de  sortie  3­19 9­CTool­1  objet  de  travail  actuel  9­
CWobj­1  sortie  numérique  9­
P DOutput­1  fichier  9­ReadBin­1,  9­ReadNum­1,  9­
Touche  de  
paramètre  5­12   fonction  ReadStr­1  8­TPReadFK­1  
synchronisation  de  chemin  6­30   groupe  de  sorties  9­GOutput­1  canal  
charge  utile  7­loaddata­1   série  9­ReadBin­1,  9­Read
activer  8­GripLoad­1 Num­1,  9­ReadStr­1
PDispOff  8­PDispOff­1 ReadBin  9­ReadBin­1
PDispOn  8­PDispOn­1 ReadMotor  9­ReadMotor­1
PERS  5­22   LireNum  9­LireNum­1
persistant  5­20   ReadStr  9­ReadStr­1  
placeholder  5­5   enregistrement  5­18
pos  7­pos­1   RelTool  9­ATan2­1,  9­DefFrame­1,  9­Op
pose  7­pose­1 Mode­1,  9­Pow­1,  9­RelTool­1,  9­
PoseInv  9­PoseInv­1 RunMode­1  
PoseMult  9­PoseMult­1  
répéter  8­FOR­1,  8­WHILE­1  mots  
instruction   réservés  5­3
de  position  3­15   Réinitialiser  8­Réinitialiser­1

position  fixe  E/S  6­30,  8­TriggIO­1 réinitialiser

20­4 Manuel  de  référence  RAPID
Machine Translated by Google

système  de  mesure  8­IndReset­1 activation  de  8­SoftAct­1  
RestoPath  8­RestoPath­1 désactivation  de  8­SoftDeAct­1
RÉESSAYER  8­RÉESSAYER­1 SoftAct  8­SoftAct­1
RETOUR  8­RETOUR­1   SoftDeact  8­SoftDeAct­1  
configuration  du  robot  6­32   speeddata  7­speeddata­1  
position  du  robot  7­o_robtarget­1,  7­robtarget­1  robtarget   données  du  pistolet  de  soudage  par  points  
7­o_robtarget­1,  7­robtarget­1 14­gundata­1  soudage  par  points  3­30,  
Round  9­Round­1   14­SpotL­1  spotdata  14­spotdata­1
routine  5­11   SpotL  14­SpotL­1
déclaration  5­13   Sqrt  9­Sqrt­1  
routine  call  8­ProcCall­1  routine   racine  carrée  9­Sqrt­1
data  5­20 StartMove  8­StartMove­1  
RunMode  9­RunMode­1  lecture   stationnaire  TCP  6­10
du  mode  de   Arrêt  8­Stop­1  
fonctionnement  9­RunMode­1 point  d'arrêt  7­­zonedata­1
StopMove  8­StopMove­1  arrêt  
S
de  l'exécution  du  programme  3­7  
chronomètre  7­clock­1,  8­ClkStart­1
données  
StorePath  8­StorePath­1
de  portée  portée  5­20  
StrFind  9­StrFind­1  
routine  portée  5­11  données  
de  couture  13­données  de  couture­1
chaîne  5­4,  7­chaîne­1  

SearchC  8­SearchC­1   expression  de  chaîne  5­27
StrLen  9­StrLen­1
instructions  de  recherche  3­15
SearchL  8­SearchL­1  type   StrMap  9­StrMap­1
StrMatch  9­StrMatch­1
de  données  semi­valeur  5­18  
StrMemb  9­StrMemb­1
fermeture  de  
StrOrder  9­StrOrder­1
canal  série  8­
StrPart  9­StrPart­1
Close­1  file  8­
Commutateur  StrToVal  9­
WriteBin­1  open  8­
StrToVal­1  
Open­1  read  9­ReadBin­1,  9­ReadNum­1,  9­
ReadStr­1   5­12  symnum  7­symnum­1  

écriture  8­Write­1 règles  de  syntaxe  

Ensemble  8­Ensemble­1
2­4  données  système  7­System  

SetAO  8­SetAO­1 data­1  module  système  5­9

SetDO  8­SetDO­1 J
SetGO  8­SetGO­1  
signalai  7­signalxx­1   Tan  9­Tan­1
signalao  7­signalxx­1   TCP  6­3  
signaldi  7­signalxx­1   fixe  6­10
signaldo  7­signalxx­1   ESSAI  8­ESSAI­1
signalgi  7­signalxx­1   TestDI  9­TestDI­1  
signalgo  7­signalxx­1   chaîne  de  texte  7­string­1  
collage  simulé  15­GlueC­5,  15­GlueL­7  simulation  de   temps  9­CTime­1,  9­GetTime­1  
soudage  par  points  14­SpotL­7 instructions  de  temps  3­27  
Péché  9­Péché­1 point  central  de  l'outil  6­3  
SingArea  8­SingArea­1   système  de  coordonnées  de  l'outil  
singularité  6­36   6­9  tooldata  7­tooldata­1
servo  souple  3­12,  6­24 TPErase  8­TPErase­1
TPReadFK  8­TPReadFK­1
TPReadNum  8­TPReadNum­1

Manuel  de  référence  RAPID 20­5
Machine Translated by Google

Routine  d'interruption   objet  de  travail  7­wobjdata­1  
TPWrite  8­TPWrite­1  5­11,  5­35 système  de  coordonnées  universel  
TriggC  8­TriggC­1  données  de   6­4  système  de  coordonnées  du  poignet  6­9
déclenchement  7­données  de  déclenchement­1 Écrire  le  message  
TriggEquip  8­TriggEquip­1
TriggInt  8­TriggInt­1 d'erreur  d'écriture  8­Write­1  8­ErrWrite­1  
TriggIO  8­TriggIO­1 sur  le  pendentif  d'apprentissage  8­TPWrite­1
TriggJ  8­TriggJ­1 WriteBin  8­WriteBin­1
TriggL  8­TriggL­1
X
Tronçon  9­tronc­1
TRYNEXT  8­TRYNEXT­1
OU  exclusif  5­27
TuneReset  8­TuneServo­1
TuneServo  8­TuneServo­1   Z
tunetype  7­tunetype­1  
zonedata  7­­zonedata­1
conventions  typographiques  2­4

tu

Décharger  8­Décharger­1
Utilisateur  ­  module  système  10­3  
système  de  coordonnées  utilisateur  6­5,  7­wobjdata­1

ValToStr  9­ValToStr­1  VAR  
5­21  variable  
5­20  vitesse  7­
speeddata­1  diminution  8­
VelSet­1  max.  8­VelSet­1  
VelSet  8­VelSet­1

attendre  un  temps  spécifique  8­WaitTime­1  
toute  condition  8­WaitUntil­1  entrée  
numérique  8­WaitDI­1  sortie  
numérique  8­WaitDO­1  jusqu'à  
ce  que  le  robot  soit  en  position  8­WaitTime
1
attendre  les  instructions  3­8
WaitDI  8­WaitDI­1
WaitDO  8­WaitDO­1
Temps  d'attente  8­Temps  d'attente­1
WaitUntil  8­WaitUntil­1  
weavedata  13­weavedata­1  
welddata  13­welddata­1
TANT  QUE  8­TANTQUE­1  
wobjdata  7­wobjdata­1

20­6 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 2­1
Machine Translated by Google

Introduction

2­2 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  dois­je  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  ceux­ci,  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  ceux­ci  sont  chargés  dans  le  robot.

Si  vous  programmez  hors  ligne,  vous  trouverez  quelques  conseils  au  Chapitre  11 :  Programmation  hors  
ligne.

Le  chapitre  13­15  décrit  la  fonctionnalité  lorsque  le  robot  est  équipé  de  Process­

Manuel  de  référence  RAPID 2­3
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 :  
Aide­mé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.

2­4 Manuel  de  référence  RAPID
Machine Translated by Google

Introduction

Syntaxe  simplifiée

Exemple:

TPEcrit  Chaîne  [\Num]  |  [\Bool]  |  [\Pos]  |  [\Orient]

Instruction Argumentation   Argument   Arguments  


obligatoire facultatif
mutuellement  exclusifs

­  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 2­5
Machine Translated by Google

Introduction

2­6 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 3­1
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

3­2 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 3­3
Machine Translated by Google

Résumé  RAPIDE

Page

3­4 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  sous­programme.

­  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

­  Multi­tâches

Manuel  de  référence  RAPID 3­5
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)

3­6 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 3­7
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.

3­8 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 3­9
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

3­10 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 3­11
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'auto­optimisent ;  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

3­12 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 3­13
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.

3­14 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 3­15
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  ».

3­16 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 3­17
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

3­18 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 3­19
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.

3­20 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 3­21
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"

3­22 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  moment­là.

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  celui­ci  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 3­23
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"

3­24 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 3­25
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

3­26 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 3­27
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

3­28 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 3­29
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

3­30 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  

marche­arrê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 3­31
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

3­32 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 3­33
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

CHALEUR  D'ALLUMAGE  À  PRÉACTION REMPLIR POSTACTION

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

3­34 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 3­35
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

3­36 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 3­37
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".

3­38 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 3­39
Machine Translated by Google

Instructions  d'entretien Résumé  RAPIDE

3­40 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 3­41
Machine Translated by Google

Fonctions  de  chaîne Résumé  RAPIDE

3­42 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'en­tê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 3­43
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 ]

3­44 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 3­45
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)

3­46 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 3­47
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 )

3­48 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  En­tê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 5­1
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  inter­tâ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

5­2 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  ci­dessous  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

AUTRE ELSEIF FINPOUR ENDFUNC


FIN  SI ENDMODULE  ENDPROC  ENDTEST
ENDTRAP  ENDWHILE  ERREUR SORTIE
FAUX POUR DEPUIS FUNC
ALLER  À SI INOUT LOCAL
MOD MODULE  NOSTEPIN  PAS
AVIS OU PRES PROC
AUGMENTER RÉESSAYER  EN  LECTURE  SEULE RETOUR
MARCHER TEST  DU  MODULE  SYSTÈME ALORS
POUR PIÈGE VRAI ESSAYEZSUIVANT

VAR AFFICHER  UNIQUEMENT  PENDANT AVEC


XOR

Manuel  de  référence  RAPID 5­3
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,  ­245E­2

La  valeur  doit  être  comprise  dans  la  plage  spécifiée  par  le  format  flottant  de  la  norme  ANSI  IEEE  754­1985  (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  8859­1)  et  de  caractères  de  contrôle  (caractères  non  
ISO  8859­1  dans  la  plage  de  codes  numériques  0­255).  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  \\"

5­4 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  En­tête  de  fichier

Un  fichier  de  programme  commence  par  l'en­tê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 5­5
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  8859­1  ­­  <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>

5­6 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 5­7
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.

5­8 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 5­9
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> }

5­10 Manuel  de  référence  RAPID
Machine Translated by Google

Caractéristiques  de  base  RAPID Routines

3  routines
Il  existe  trois  types  de  routines  (sous­programmes) :  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 5­11
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  lui­mê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

5­12 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 5­13
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.

5­14 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 5­15
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> }

5­16 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 5­17
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 ;

par  exemple [ 300,  500,  profondeur ] pos  enregistrer  la  valeur  globale.

Un  composant  spécifique  d'une  donnée  d'enregistrement  est  accessible  en  utilisant  le  nom  de  ce  composant ;

par  exemple pos1.x :=  300; affectation  de  la  composante  x  de  pos1.

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  semi­valeur  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

5­18 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 5­19
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.

5­20 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 5­21
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.

Exemple: CONST  pos  séq{3} := [[614,  778,  1020],  


[914,  998,  1021],  
[814,  998,  1022]] ;

5.5  Initialisation  des  données

Dans  le  tableau  ci­dessous,  vous  pouvez  ce  qui  se  passe  dans  diverses  activités,  par  exemple  chaud  et  froid
commencer.

5­22 Manuel  de  référence  RAPID
Machine Translated by Google

Caractéristiques  de  base  RAPID Données

Tableau  1

Commencer Commencer Commencer Commencer

Événement   Allumer Fermer  ou Commencer

programme programme programme programme


système (Démarrage   Nouveau programme
Programme  ouvert (Déplacer  PP   (Déplacer   (Après   (Déplacez  PP  
Affecte à  chaud) programme (Après  l'arrêt)
vers  principal) PP  vers  Routine) cycle) vers  le  curseur)

Constant Inchangé Init Inchangé Init Init Inchangé  Inchangé Inchangé

Variable Inchangé Init Inchangé Init Init Inchangé  Inchangé Inchangé

Persistant Inchangé Init Inchangé Init Init Inchangé  Inchangé Inchangé

Recommandé Disparaît Disparaît Inchangé  Inchangé Inchangé  Inchangé Inchangé

Interruptions  commandées

Routine  de   Ne  pas  courir Courir* Courir Courir Ne  pas  courir Ne  pas  courir Ne  pas  courir Ne  pas  courir

démarrage

Sys_reset  
(avec  motn
???  ensemble

choses)

Des  dossiers
Inchangé Se  ferme Se  ferme Se  ferme Se  ferme Inchangé  Inchangé Inchangé

Chemin Recréé Disparaît Disparaît Disparaît Disparaît Inchangé  Inchangé Disparaît


après  la  mise  hors  
tension

*  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 5­23
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>

5­24 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  point­virgule  ";".  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 5­25
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  condition  dans  une  instruction  IF c ;  par  exemple  SI  a>=3   ...

­  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

Opérateur Opération Types  d'opérandes Type  de  résultat

+ ajout num  +  num num3)

+ idem1)3)
plus  unaire ;  garder  le  signe +num  ou  +pos

+ ajout  de  vecteur pos  +  pos position

­ soustraction nombre  ­  nombre num3)

­ idem1)3)
moins  unaire ;  changer  de  signe ­num  ou  ­pos

­ soustraction  vectorielle pos  ­  pos position

* 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

/ division nombre /  nombre nombre

DIV  2) division  entière num  DIV  num nombre

MOD  2) entier  modulo ;  reste num  MOD  num nombre

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  sous­domaine  entier  du  type  num.

5­26 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

Opérateur Opération Types  d'opérandes Type  de  résultat

< moins  que nombre  <  nombre bourdonner

<= inférieur  ou  égal  à nombre  <=  nombre bourdonner

= 1)=  1)  n'importe  lequel  n'importe  
égal  à lequel
bourdonner

>= Plus  grand  ou  égal  à nombre  >=  nombre bourdonner

> plus  grand  que nombre  >  nombre bourdonner

<> pas  égal  à lequel


1)  1)  n'importe  lequel  <>  n'importe  
bourdonner

ET et booléen  ET  booléen bourdonner

XOR exclusif  ou booléen  XOR  booléen bourdonner

OU ou booléen  OU  booléen bourdonner

PAS unaire  non ;  négation PAS  bool 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.

Exemple: "IN"  +  "MISE" donne  le  résultat  "INPUT"

Manuel  de  référence  RAPID 5­27
Machine Translated by Google

Expressions Caractéristiques  de  base  RAPID

Le  tableau  4  montre  la  seule  opération  possible.

.
Tableau  4

Opérateur Opération Types  d'opérandes Type  de  résultat

+ concaténation  de  chaînes chaîne  +  chaîne chaîne

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

5­28 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".

Exemple: Cosinus(45) un  argument  requis ...  et  


Cosinus(0.785398\Rad) un  commutateur  un  
Dist(p2) argument  requis ...  et  un  
Dist(\distance:=pos1,  p2) facultatif

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 5­29
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  ci­dessous  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

Expression Commande  d'évaluation Commentaire

a  +  b  +  ca   (a  +  b)  +  ca   règle  de  gauche  à  


+  b  *  ca   +  (b  *  c)  (a   droite  *  supérieur  à  +
OU  b  OU  c OU  b)  OU  c Règle  de  gauche  à  droite

5­30 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 5­31
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>

5­32 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 5­33
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.

5­34 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).

Exemple: ISleep  sig1int ; désactivé


.
IWatch  sig1int ; activé

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 5­35
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.

5­36 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 5­37
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".

5­38 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  sont­ils  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ère­plan  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ère­plan  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 5­39
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

5­40 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  inter­tâ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 5­41
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ère­plan  d'une  autre.  Ensuite,  l'arrière­plan  ne  s'exécutera  que  lorsque  l'avant­plan  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  ci­dessous  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

5­42 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

tache  1 tâche  2 tâche  3

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 5­43
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  ci­dessus.  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ère­plan.

5­44 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 6­1
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

6­2 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 6­3
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.

6­4 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 6­5
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).

6­6 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 6­7
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.

6­8 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 6­9
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.

6­10 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 6­11
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

6­12 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 6­13
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.

6­14 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  celui­ci  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 6­15
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  au­delà  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)  au­delà  de  la

6­16 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 6­17
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  20a­c).

Figure  20a  Trois  positions  avec  différentes  orientations  d'outil  sont  programmées  comme  ci­dessus.

6­18 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  
TCP­mm.

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 6­19
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.

6­20 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 6­21
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  moment­là,  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.

6­22 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  (compte­tours  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 6­23
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

6­24 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 6­25
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  ci­dessus),  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

6­26 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 6­27
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.

6­28 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 6­29
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.

6­30 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 6­31
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).

6­32 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 6­33
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.

6­34 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 6­35
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  au­dessus  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é.

6­36 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é  au­dessus  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 6­37
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  ci­dessus,  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.

6­38 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,  reportez­vous  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 6­39
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

6­40 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 7­bool­1
Machine Translated by Google

7­bool­2 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 7­horloge­1
Machine Translated by Google

7­horloge­2 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,  0­90°,  dans  le  sens  positif  à  partir  de  la  position  zéro ;  le  quadrant  1  est  la  
révolution  suivante,  90­180°,  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 7­confdata­1
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.

7­confdata­2 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  90­180o.

­  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 7­confdata­3
Machine Translated by Google

7­confdata­4 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 7­dionum­1
Machine Translated by Google

7­dionum­2 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 :=  

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 7­errnum­1
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

7­errnum­2 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 7­errnum­3
Machine Translated by Google

7­errnum­4 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).

eax_b (axe  externe  b) Type  de  données :  nombre

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 7­extjoint­1
Machine Translated by Google

...

eax_f (axe  externe  f) Type  de  données :  nombre

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

7­extjoint­2 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 7­numéro­1
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

7­numéro­2 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 7­iodev­1
Machine Translated by Google

7­iodev­2 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.

extaxe (axes  externes) Type  de  données :  extjoint

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 7­jointtarget­1
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

7­jointtarget­2 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.

dent (centre  de  gravité) Type  de  données :  pos

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 7­loaddata­1
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.

moi (inertie  y) Type  de  données :  nombre

Moment  d'inertie  de  la  charge  autour  de  l'axe  y',  exprimé  en  kgm2 .

Pour  plus  d'informations,  voir  ix.

7­loaddata­2 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 7­loaddata­3
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

7­loaddata­4 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 7­mecunit­1
Machine Translated by Google

7­mecunit­2 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 7­motsetdata­1
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.

7­motsetdata­2 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 7­motsetdata­3
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

7­motsetdata­4 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.5E­2  (=  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 7­num­1
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

7­num­2 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 7­o_jointtarget­1
Machine Translated by Google

extaxe (axes  externes) Type  de  données :  extjoint

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

7­o_jointtarget­2 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  ci­dessous.

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,  q2­q4=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 7­orient­1
Machine Translated by Google

Qu'est­ce  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  (y3­z2)

y2  x1  –  z3  – 1  +  
q3
= ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
2
signe  q3  =  signe  (z1­x3)

z3  x1  –  y2  – 1  +  
q4
= ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
2
signe  q4  =  signe  (x2­y1)

7­orient­2 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  est­elle  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.

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  est­elle  définie  dans  les  
données  d'outil ?

Manuel  de  référence  RAPID 7­orient­3
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

7­orient­4 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 7­o_robtarget­1
Machine Translated by Google

pourrir (rotation) Type  de  données :  orient

L'orientation  de  l'outil,  exprimée  sous  la  forme  d'un  quaternion  (q1,  q2,  q3  et  q4).

robconf (configuration  du  robot) Type  de  données :  confdata

La  configuration  des  axes  du  robot  (cf1,  cf4,  cf6  et  cfx).

extaxe (axes  externes) Type  de  données :  extjoint

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

7­o_robtarget­2 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 7­pos­1
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

7­pos­2 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.

pourrir (rotation) Type  de  données :  orient

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'est­ce  qu'un  quaternion ? Types  de  données  ­  orienter

Manuel  de  référence  RAPID 7­pose­1
Machine Translated by Google

7­pose­2 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

pdisp (déplacement  de  programme) Type  de  données :  poser

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.

eoffs (décalage  externe) Type  de  données :  extjoint

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 7­progdisp­1
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

7­progdisp­2 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.

...

rax_6 (robot  axe  6) Type  de  données :  nombre

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 7­robjoint­1
Machine Translated by Google

7­robjoint­2 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  celles­ci  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.  Assurez­vous  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.

pourrir (rotation) Type  de  données :  orient

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.

robconf (configuration  du  robot) Type  de  données :  confdata

La  configuration  des  axes  du  robot  (cf1,  cf4,  cf6  et  cfx).  Celui­ci  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 7­robtarget­1
Machine Translated by Google

o
itive  quart  de  tour  0­90  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.

extaxe (axes  externes) Type  de  données :  extjoint

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  90­180o  position   , axe  6  en
0­90o.

­  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.

7­robtarget­2 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 7­robtarget­3
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'est­ce   Guide  de  l'utilisateur  ­  Paramètres  système

qu'un  quaternion ? Types  de  données  ­  Orienter

7­robtarget­4 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  semi­valeur.

Manuel  de  référence  RAPID 7­signalxx­1
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

7­signalxx­2 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.

v_ori (orientation  de  la  vitesse) Type  de  données :  nombre

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.

v_leax (axes  externes  linéaires  de  vitesse) Type  de  données :  nombre

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 7­speeddata­1
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.

Nom Vitesse  TCP Orientation Extension  linéaire  axe  Rotation  ext.  axe  


v5   5  mm/s   500o /s   5000  mm/s   1000o /s  
v10   10  mm/s   500o /s   5000  mm/s   1000o /s  
v20   20  mm/s   500o/s   5000  mm/s   1000o/s  
v30   30  mm/s   500o /s   5000  mm/s   1000o /s  
v40   40  mm/s   500o /s   5000  mm/s   1000o /s  
v50   50  mm/s   500o /s   5000  mm/s   1000o /s  
v60   60  mm/s   500o /s   5000  mm/s   1000o /  
v80   80  mm/s   500o /s   5000  mm/s   s  1000o /
v100   100  mm/s   500o /   5000  mm/s   s  1000o /  
v150   150  mm/s   s  500o /   5000  mm/s   s  1000o /  
v200   200  mm/s   s  500o / 5000  mm/s   s  1000o /  
v300   300  mm/s   s  500o / 5000  mm/s   s  1000o /
v400   400  mm /s   s  500o / 5000  mm /s   s  1000o /
v500   500  mm/s   s  500o / 5000  mm/s   s  1000o /
v600   600  mm/s   s  500o / 5000  mm/s   s  1000o /
v800   800  mm/s   s  500o / 5000  mm/s   s  1000o /
v1000   1000  mm/s   s  500o /   5000  mm/s   s  1000o /
v1500   1500  mm/s   s  500o / 5000  mm/s   s  1000o /  
v2000   2000  mm/s   s  500o / 5000  mm/s   s  1000o /
v2500   2500  mm/s   s  500o / 5000  mm/s   s  1000o /
v3000   3000  mm/s   s  500o /   5000  mm/s   s  1000o /
v4000   4000  mm/s   s  500o / 5000  mm/s   s  1000o /
v5000 5000  mm/s   s  500o / 5000  mm/s   s  1000o /
vmax 5000  mm/s   s  500o / 5000  mm/s   s  1000o /
v6000   6000  mm/s   s  500o / 5000  mm/s   s  1000o /
v7000 7000  mm/s s  500o /s 5000  mm/s s

7­speeddata­2 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 7­speeddata­3
Machine Translated by Google

7­speeddata­4 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  8859­1  ainsi  que  des  caractères  
de  contrôle  (caractères  non  ISO  8859­1  avec  un  code  numérique  compris  entre  0  et  255).

Manuel  de  référence  RAPID 7  cordes­1
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  cordes­2 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  ci­dessous.

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.

Valeur Constante  symbolique Commentaire

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é

Valeur Constante  symbolique Commentaire

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 7­symnum­1
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

7­symnum­2 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 7­tooldata­1
Machine Translated by Google

tframe (cadre  d'outil) Type  de  données :  poser

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.

tload (charge  d'outil) Type  de  données :  loaddata

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.

7­tooldata­2 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 7­tooldata­3
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

7­tooldata­4 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 7­triggdata­1
Machine Translated by Google

7­triggdata­2 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  ci­dessous.

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.

Valeur Constante  symbolique Commentaire

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 7­tunetype­1
Machine Translated by Google

7­tunetype­2 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.

ufprog (cadre  utilisateur  programmé) Type  de  données :  booléen

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 7­wobjdata­1
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".

uframe (cadre  utilisateur) Type  de  données :  poser

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.

oframe (cadre  d'objet) Type  de  données :  poser

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).

7­wobjdata­2 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 7­wobjdata­3
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

7­wobjdata­4 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 7­zonedata­1
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

7­zonedata­2 Manuel  de  référence  RAPID
Machine Translated by Google

MoveL  avec  mouvements  de  200  mm 90  mm   60  millimètres

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.

pzone_tcp (zone  de  chemin  TCP) Type  de  données :  nombre

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é.

pzone_ori (orientation  de  la  zone  de  chemin) Type  de  données :  nombre

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.

pzone_eax (axes  externes  de  la  zone  de  trajectoire) Type  de  données :  nombre

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 7­zonedata­3
Machine Translated by Google

zone_ori (orientation  des  zones) Type  de  données :  nombre

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.

zone_leax (axes  extérieurs  linéaires  de  zone) Type  de  données :  nombre

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.

7­zonedata­4 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 7­zonedata­5
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

7­zonedata­6 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.

Nom Description Type  de  données Changé  par Voir  également

C_MOTSET  Paramètres  de  mouvement  actuels,  c'est­à­ motsetdata Instructions Types  de  données  ­  motsetdata


dire :  ­  max.  vitesse  et  correction  de  vitesse  ­   ­  VelSet Mode  d'emploi  ­  VelSet
max.  accélération ­  AccSet Instructions  ­  AccSet

­  déplacement  autour  de  points  singuliers  ­   ­  Zone  de  chant Mode  d'emploi  ­  SingArea


surveillance  de  la  configuration  des  axes ­  ConfL,ConfJ Instructions  ­  ConfL,  ConfJ
­  GripLoad Mode  d'emploi  ­  GripLoad
­  charge  utile  dans  la  pince

C_PROGDISP  Déplacement  du  programme  actuel  pour  robot  et  exter progdisp Instructions Types  de  données  ­  progdisp


axes  finaux. ­  PDispSet Instructions  ­  PDispSet
­  PDispOn Instructions  ­  PDispOn
­  PDispOff Instructions  ­  PDipOff
­  EOffsSet Instructions  ­  EOffsSet
­  EOffsOn Instructions  ­  EOffsOn
­  EOffsOff Instructions  ­  EOffsOff

ERRNO La  dernière  erreur  survenue numéro  d'erreur Le  robot Types  de  données  ­  errnum


Résumé  RAPIDE  ­
Récupération  d'erreur

INTNO La  dernière  interruption  survenue intnum Le  robot Types  de  données  ­  intnum


Résumé  RAPID  ­  Interruptions

Manuel  de  référence  RAPID 7­Données  système­1
Machine Translated by Google

7­Données  système­2 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  reg2­reg3 .

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 8­AccSet­1
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

8­AccSet­2 Manuel  de  référence  RAPID

Vous aimerez peut-être aussi