Académique Documents
Professionnel Documents
Culture Documents
1
Cours de formation Programmation ADEPT V+ 1
2
Cours de formation Programmation ADEPT V+ 1
I ) GENERALITES................................................................................................................................................................ 94
II ) EXECUTION DES PROGRAMMES V+ A PARTIR DU TERMINAL SYSTEME ......................................................................... 94
ø Multi-tâche ou multi-processeur ........................................................................................................................ 95
ø Applications multi-tâches................................................................................................................................... 95
ø Priorite des taches par defaut ............................................................................................................................ 96
ø Contrôle de l’état du système ............................................................................................................................. 97
ø Arrêt des programmes en cours d’exécution...................................................................................................... 98
ø Arrêt provisoire d’un programme ...................................................................................................................... 99
ø Poursuite de programme V+.............................................................................................................................. 99
CHAPITRE 10 TYPE DE DONNEES ............................................................................................................................ 104
II ) REEL .......................................................................................................................................................................... 105
III ) CHAINES ................................................................................................................................................................... 105
IV ) POSITIONS ................................................................................................................................................................ 106
V ) POSITIONS ARTICULAIRES .......................................................................................................................................... 106
VI ) TRANSFORMATIONS ................................................................................................................................................. 107
VII ) TABLEAUX .............................................................................................................................................................. 107
VIII ) INSTRUCTIONS PROGRAMME .................................................................................................................................. 109
ø Affectations....................................................................................................................................................... 109
ø Affectation de réels........................................................................................................................................... 109
ø Affectation de chaînes de caractères................................................................................................................ 110
ø Affectations de positions articulaires ............................................................................................................... 111
ø Affectations de transformations........................................................................................................................ 111
IX ) OPERATIONS SUR LES CHAINES DE CARACTERES ...................................................................................................... 112
ø LONGUEUR D’UNE CHAINE DE CARACTERE........................................................................................... 112
ø EXTRAIRE UN GROUPE DE CARACTER RES D’UNE CHAINE .................................................................... 113
ø CONVERTION DEDECIMAL ASCII ............................................................................................................... 113
CHAPITRE 11 OPERATIONS NUMERIQUES ........................................................................................................... 116
I ) EXPRESSION LOGIQUE ................................................................................................................................................. 116
ø Constante logique............................................................................................................................................. 116
II ) OPERATEURS RELATIONNELS ..................................................................................................................................... 119
III ) OPERATEUR LOGIQUE .............................................................................................................................................. 120
IV ) REPRESENTATION NUMERIQUE ................................................................................................................................. 121
CHAPITRE 12 CLASSIFICATION DES VARIABLES............................................................................................... 124
I ) VARIABLES GLOBALES ................................................................................................................................................ 124
II ) VARIABLES LOCALES ET AUTOMATIQUES .................................................................................................................. 124
NOTA :....................................................................................................................................................................... 124
III ) VISUALISATION DES VARIABLES LOCAL................................................................................................................. 135
CHAPITRE 13 CREATION DES POSITIONS ............................................................................................................. 137
I ) INTRODUCTION ........................................................................................................................................................... 137
II ) TYPES DE POSITION .................................................................................................................................................... 138
ø Variables de transformation/précision............................................................................................................. 138
ø Transformation................................................................................................................................................. 138
ø Points de précision ........................................................................................................................................... 145
III ) CREER ET MODIFIER DES VARIABLES DE POSITION .................................................................................................... 148
ø Comment spécifier un nom de position ............................................................................................................ 148
ø Créer et modifier des variables de position...................................................................................................... 148
ø Créer une transformation................................................................................................................................. 149
ø Créer un point de précision.............................................................................................................................. 151
IV ) OPERATIONS DE POSITIONNEMENT DIVERSES ........................................................................................................... 152
CHAPITRE 14 STRUCTURES DE CONTROLE DES PROGRAMMES.................................................................. 156
BRANCHEMENTS INCONDITIONNELS................................................................................................................... 156
II ) BRANCHEMENTS CONDITIONNELS ................................................................................................................. 157
BOUCLES COMMANDEES......................................................................................................................................... 159
3
Cours de formation Programmation ADEPT V+ 1
4
Cours de formation Programmation ADEPT V+ 1
5
Cours de formation Programmation ADEPT V+ 1
Adept Technology offre un ensemble complet de publications techniques qui supportent ses produits.
Les publications Adept suivantes peuvent être mentionnées dans cet ouvrage:
Reference guide V+
ø ABREVIATIONS
Abrév. Définition
6
Cours de formation Programmation ADEPT V+ 1
MATTENTION
AVERTISSEMENT
ø SERVICE ASSISTANCE-CLIENT
Appels d'assistance
Adept Technology dispose d'une équipe complète d'assistance au Centre d'Assistance-Client, à son
quartier général de San José, Californie. La ligne d’appel est +(1) 408 432 0888
Adept Technology dispose d'un centre technique européen à Dortmund (Allemagne). La ligne d'appel
assistance est +(49) 231 758940.
Avant d'appeler ce service, préparer les informations suivantes : numéro de série du robot et de
l'armoire de commande, nombre d'heures de fonctionnement de l'armoire de commande. Vous
trouverez ces informations sur leur unité respective.
7
Cours de formation Programmation ADEPT V+ 1
ø INFORMATIONS DE FORMATION
Pour les informations concernant la formation Adept, appelez le (1) 408-434-5024 à San José (USA),
le (49) 231 758940 à Dortmund (Allemagne), le +(39) 575 282622 à Arezzo (Italie) et le +(33) 1 69 19
16 16 à Paris (France).
ø INFORMATIONS D'APPLICATION
Il existe également une ligne réservée à l'assistance aux applications robotiques appelez le (1) 408-
434-5033 à San José (USA), le (49) 231 758940 à Dortmund (Allemagne) ou le (33) 1 69 19 16 16 à
Paris (France).
III ) SECURITE
F NOTE
Conformément aux définitions RIA (Robotic Industries Association), dans ce manuel, le terme
"utilisateur" désigne la personne ou la société responsable, et "opérateur" la personne qui démarre,
stoppe, ou contrôle le fonctionnement du robot.
Toute personne utilisant les cellules robotisées Adept doit prendre connaissance des recommandations
de cet ouvrage.
Nous vous recommandons de lire la publication ANSI/RIA R15.06-1986, concernant les exigences de
sécurité des cellules robotisées. Cette publication contient des recommandations sur l'installation, les
dispositifs de sécurité, la maintenance, les essais, la mise en service des robots et la formation des
opérateurs. Ce document est disponible auprès de l'ANSI (American National Standards Institute)
1430 Broadway, New York, NY 10018.
8
Cours de formation Programmation ADEPT V+ 1
ATTENTION
L'entrée dans la cellule robotisée lorsque le voyant orange ARM POWER/HIGH POWER ou le
voyant blanc PROGRAM RUNNING est allumés risque de vous exposer à un accident corporel
grave.
Adept Technology recommande l'utilisation de dispositifs de sécurité additionnels tels que rideaux
optiques, portes de sécurité, ou tapis tactile pour éviter l'entrée dans la cellule pendant que le voyant
BRAS EN ACTION/PUISSANCE ACTIVEE est allumé. Ces dispositifs peuvent être connectés en
utilisant les circuits d'arrêt d'urgence externe du robot.
9
Cours de formation Programmation ADEPT V+ 1
10
Cours de formation Programmation ADEPT V+ 1
11
Cours de formation Programmation ADEPT V+ 1
I ) DESCRIPTION
L'armoire de commande Adept permet de réaliser un environnement en langage V+ qui commande des
équipements externes. L'armoire de commande gère les entrées utilisateur ou de la cellule robotisée,
et génère les sorties utilisateur ou de commande des équipements de la cellule robotisée.
L'armoire de commande Adept, utilise un système d’exploitation multitâche V+ qui permet l'exécution
simultanée de plusieurs programmes d'application, notamment le programme principal du robot.
ø SMART CONTROLLER
12
Cours de formation Programmation ADEPT V+ 1
ø CONTROLLEUR MV
MV-10 Controller
With AWC Module Controller Interface Panel (CIP)
Mise sous puissance
Mode manuel mode Auto
AU
Connecteur MCP
Switch réseau Alimentation O/1
13
Cours de formation Programmation ADEPT V+ 1
Slots
Nécessaires
Optional Modules
Floppy
Graphics VGB - graphics processor, frame buffer, A-Series color video output -
Module 1024 x 768, keyboard/trackball input
AdeptVision EVI - vision framegrabber, two 1K x 1K frame buffers, supports up to
Interface 4 cameras and 2 strobes
Auxiliary Sys. 030, 040, or 060 - 3 modules max per controller, same specs as main
Processor system processor
AdeptMotion MI-6 - 6 axes motor control per module, up to 4 modules in MV-19
Interface MI-3 - 3 axes motor control per module
Digital DIO - 64 channels - 32 input/32 output, 2 output ranges - 10-15VDC
Input/Output and 15-30VDC, 400 mA max output, 8 modules max per controller
AdeptForce VFI - interface to force-sensing unit, part of AdeptForce VME product,
Interface includes 6-axis force/torque sensing, guarded moves, data collection
Adept Joint VJI / EJI - interface to Adept robots and power chassis, interface to
Interface belt encoders for conveyor tracking.
14
Cours de formation Programmation ADEPT V+ 1
Il existe trois options d'interface utilisateur différentes pour les contrôleurs Adept MV :
• Une interface utilisateur graphique utilisant la carte Adept VGB, un moniteur SVGA, un clavier
standard style PC, et un dispositif de pointage série.
L'installation des trois interfaces opérateur différentes est couverte dans ce chapitre. Il vous suffit de
lire les sections qui concernent le type d'interface que vous installez.
Le type d'interface que V + attend quand il s'initialise dépend des options commandées avec le
système. Si votre système a été commandé avec l'option AdeptWindows PC, V + s'initialise et attend
que l'interface opérateur soit assurée par un ordinateur PC équipé du logiciel Adept Windows PC .
Si votre système n'est pas commandé avec l'option AdeptWindows PC, V + s'initialise et attend que
l'interface opérateur soit faite en utilisant soit :
• Un terminal fourni par l'utilisateur, relié au connecteur RS-232/TERM sur la carte AWC.
FNOTA :
Le comportement au démarrage du système est déterminé par le commutateur DIP de configuration de
la carte AWC et les réglages des commutateurs DIP du «logiciel» du contrôleur NVRAM. Les
instructions de la présente section supposent que ces deux interrupteurs DIP ont été laissés à leurs
réglages d'usine par défaut. Si vous avez changé ces réglages ou que vous désirez changer le
comportement au démarrage du système, reportez-vous au Guide de l'utilisateur du Contrôleur Adept
MV pour plus de détails sur les réglages des interrupteursAWC DIP et aux Instructions relatives aux
programmes utilitaires Adept pour plus de détails sur les réglages des interrupteurs DIP «logiciels».
15
Cours de formation Programmation ADEPT V+ 1
Si vous avez commandé ce type d'interface, la carte VGB est déjà installée. Il n'y a pas de configuration
du matériel ou du logiciel à réaliser. Il suffit d'installer le moniteur, le clavier et le dispositif de
pointage. L'interface utilisateur est disponible dès que vous mettez le système sous tension.
FNOTA :
Le clavier et le moniteur fournis par Adept sont destinés à être utilisés dans des environnements
industriels légers. Dans les situations plus sévères, ils doivent être protégés dans une armoire
appropriée. Cette option n’est pas diponible lors de l’utilisation de carte vision AVI.
16
Cours de formation Programmation ADEPT V+ 1
• Connectez le contrôleur Adept au PC à l'aide d'un hub réseau fourni par l'utilisateur ou à l'aide d'un
câble de liaison Ethernet croisé. (Ce type de câble est disponible auprès d'Adept).
• Si vous utilisez une connexion série : Connectez le contrôleur Adept au PC à l'aide d'un câble série
standard. Utilisez le port série RS232/TERM de la carte AWC.
• AdeptWindows PC
Après installation, chacun de ces programmes peut être démarré depuis la barre de menu Windows
Démarrer.
FNOTA :
Toutes les applications ci-dessus sont installées. Toutefois, seul AdeptWindows PC est requis pour
l'interface opérateur.
17
Cours de formation Programmation ADEPT V+ 1
Pc vers controleur
Pour créer le réseau représenté ci dessus procédez selon les étapes suivantes :
1. Installez le logiciel AdeptWindows sur le PC. Voir «Installation du logiciel AdeptWindows» dans
votre guide utilisateur « Adept windows ».
Connectez le contrôleur Adept à votre PC à l'aide d'un hub réseau ou d'un câble de liaison ethernet
croissé.
Installez un protocole TCP/IP sur le PC à l'aide de l'adresse IP et du masque de sous-réseau indiqué dans
la Figure 5-4. Voir «Configuration de l'interface TCP/IP (connexion Ethernet)» en page 96 et la
documentation de votre PC pour plus de détails.
Connectez le contrôleur Adept à votre PC à l'aide d'un câble série. Enfichez une extrémité du câble
dans le connecteur RS232/TERM de la carte AWC et l'autre extrémité dans un port série disponible sur le
PC.
Démarrez le PC.
18
Cours de formation Programmation ADEPT V+ 1
Sélectionnez File puis Connect via Ethernet. Entrez l'adresse IP du contrôleur et cliquez sur OK.
(Le logiciel AdeptWindows PC vous donne la dernière adresse IP utilisée comme adresse par défaut.)
configuration. Voir la Figure 4-1 pour l'emplacement des DIP de configuration SW1.
Fig 4.1
19
Cours de formation Programmation ADEPT V+ 1
Tab 4.2
Amorçage automatique
Pour utiliser la carte AWC dans une configuration d'amorçage automatique, régler les DIP de
configuration SW1 comme suit :
20
Cours de formation Programmation ADEPT V+ 1
21
Cours de formation Programmation ADEPT V+ 1
22
Cours de formation Programmation ADEPT V+ 1
23
Cours de formation Programmation ADEPT V+ 1
CHAPITRE 3 ROBOTS
I ) DESCRIPTION GENERALE
Les robots AdeptOne XL, Adept Cobra 600 et Cobra 800 Pack0ne et AdeptThree XL sont des robots
SCARA à quatre axes. Les Axes 1, 2 et 4 ont un déplacement rotatif, l'axe 3 a un déplacement de
translation.
Tous les robots Adept peuvent être reliés aux armoires de commande Adept MV.
24
Cours de formation Programmation ADEPT V+ 1
II ) TERMINOLOGIE GENERALE
ø SOCLE
Le socle est la partie inférieure de tous les robots Adept. Toutes les connexions physiques entre l'unité
mécanique et l'armoire de commande sont situées à l'arrière du socle.
ø COLONNE
La colonne est située immédiatement au-dessus du socle.
ø AXE 1
L'axe 1 permet le déplacement rotatif du bras interne. Le déplacement du bras interne des robots
SCARA Adept est limité à moins de 360°.
ø AXE 2
L'axe 2 est le point de pivotement entre le bras interne et le bras externe. Le déplacement du bras
externe est limité par des butées mécaniques situées en haut du bras interne. Comme pour l'axe 1, son
déplacement sur les robots SCARA Adept est limité à moins de 360°. Ce déplacement peut être
comparé à un coude humain capable d'agir en gaucher ou en droitier.
25
Cours de formation Programmation ADEPT V+ 1
ø AXE 3
L'axe 3 permet le déplacement vertical du fourreau à l'extrémité du bras externe.
ø AXE 4
L'axe 4 permet la rotation du fourreau sur les robots SCARA Adept dans une plage supérieure à 360°.
Ce déplacement peut être comparé à un avant-bras humain lors du serrage ou du desserrage d'un
bouchon à vis, si l'axe 5 n'est pas présent.
ø AXE 5
L'axe 5 est optionnel. Il permet de contrôler le basculement de l'outil sur une plage de +-91°. Ce
déplacement est comparable à celui du poignet humain.
ø AXE 6
L'axe 6 permet la rotation de l'outil lorsque l'axe 5 est installé. Ce déplacement est comparable à celui
de la main humaine lors du serrage d'une petite vis ou du desserrage d'un bouchon à vis de bouteille.
26
Cours de formation Programmation ADEPT V+ 1
27
Cours de formation Programmation ADEPT V+ 1
28
Cours de formation Programmation ADEPT V+ 1
29
Cours de formation Programmation ADEPT V+ 1
I ) MISE EN ROUTE
Si votre système possède une armoire de commande Adept, dotée de l'interface graphique utilisateur
carte VGB, il suffit d'allumer l'écran à l'aide du bouton se trouvant en bas à droite du moniteur. Une
fois la mise en route du système terminée, les écrans de mise en route montrés dans les Fig. 3-1 et 3-2
s'affichent.
Dans un système avec l'armoire de commande Adept n’utilisant pas d’interface graphique, mais se
connectant via liaison série, l'écran de mise en route montré dans la Fig. 3-3 s'affiche.
Dans un système possédant une licence AdeptWindows (interface graphique sur PC), il sera nécessaire
de se connecter à un PC muni du logiciel Adept Window via un câble série ou une liaison ethernet.
Le texte exact de ces trois écrans dépend de la version du système d'exploitation et des options
installées de votre système.
Une fois le processus de mise en route (lancement) terminé, le curseur apparaît près de l'invite système
(L'invite du système V+ est un point).
30
Cours de formation Programmation ADEPT V+ 1
31
Cours de formation Programmation ADEPT V+ 1
32
Cours de formation Programmation ADEPT V+ 1
33
Cours de formation Programmation ADEPT V+ 1
Avant qu'un déplacement du robot ne puisse être amorcé, la puissance doit être activée et le robot doit
être étalonné.
En mode automatique
Suivre ces étapes pour activer la puissance en mode automatique au moyen du MCP:
FNOTA :
Si la puissance est activée et qu'on relâche le contacteur d'activation du MCP, le système reconnaît un
signal d'arrêt d'urgence et coupe immédiatement la puissance.
Mettre en position de marche les interrupteurs de mise sous tension sur le contrôleur et sur le châssis
d'alimentation.
Régler l'interrupteur de mise sous tension du système du VFP ou CIP à la position I si il est câblé pour
mettre en marche l'alimentation du système.
Vérifier que tous les boutons d'arrêt d'urgence sont désactivés et que toutes les portes d'accès à la
cellule de travail sont fermées.
FNOTA :
En mode automatique, le système d'exploitation V + peut prendre environ huit secondes pour exécuter
la séquence d'activation de la puissance.
34
Cours de formation Programmation ADEPT V+ 1
En mode manuel
Suivre ces étapes pour activer la puissance en mode manuel au moyen du MCP :
FNOTA :
Si la puissance est activée et qu'on relâche le contacteur d'activation du MCP, le système reconnaît un
signal d'arrêt d'urgence et coupe immédiatement la puissance.
Mettre en position de marche les interrupteurs de mise sous tension sur le contrôleur et sur le châssis
d'alimentation.
Régler l'interrupteur de mise sous tension du système du VFP ou CIP à la position I pour mettre en
marche l'alimentation du système.
Vérifier que tous les boutons d'arrêt d'urgence sont désactivés et que toutes les portes d'accès à la
cellule de travail sont fermées.
Régler le commutateur de mode sur MANUAL et l'autre commutateur NET sur « 0 ». Pour plus de
sécurité, retirer les clés des commutateurs à clé.
FNOTA :
En mode manuel, le système d'exploitation V + peut prendre environ huit secondes pour exécuter la
séquence d'activation de la puissance.
Pour réactiver la puissance après avoir appuyé sur le bouton d'arrêt d'urgence du MCP, tourner le
bouton d'arrêt d'urgence vers la droite (sens horaire). Le bouton est rappelé par ressort et retournera à
sa position normale. Enfoncer le contacteur d'activation. On peut maintenant réactiver la puissance en
appuyant sur la touche COMP/PWR (groupe de commande de mode) et sur la touche-poussoir HIGH
POWER ON/OFF du VFP ou CIP.
ø COMMANDES ECRAN
35
Cours de formation Programmation ADEPT V+ 1
· La plupart des mots clés peuvent être entrés soit exactement tel qu'ils sont indiqués dans ce
manuel (montrés en GRAS & MAJUSCULES) soit sous forme abrégée, spécifique au mot clé
concerné.
· Les mots en italique sont remplacés par le nom que vous fournissez. Par exemple, spéc-fich
doit être remplacé par le nom du fichier choisi.
· Les informations entre accolades sont optionnelles. Si vous les omettez, le système prend
celles par défaut.
Les parenthèses en gras indiquent que si l'argument est utilisé, les parenthèses sont
nécessaires.
Pour simplifier, les commandes décrites dans ce manuel n'indiquent pas toutes les options disponibles
pour chacune d'entre elles. Voir le Guide de Référence V et V+ pour la description complète de
l'ensemble des commandes.
ÖID Affiche les informations d'identification des composants du système. Ces informations peuvent
être demandées lorsque vous appelez notre Service Client.
36
Cours de formation Programmation ADEPT V+ 1
Exemple :
Ö STATUS Affiche les données d'état du système et les programmes en cours d'exécution.
L'état du robot (étalloné/non calibré), la vitesse de contrôle (valeur), les états du programme (actif, en
cours, en attente).
Exemple :
L'espace mémoire dépend du volume de données et des programmes chargés dans la RAM.
A chaque mise sous tension du système, la date et l'heure s'affichent. Régler la date et l'heure après
l'invite (.) en suivant la commande suivante
Chaque fois qu'une commande STORE est émise, le fichier-disque créé comporte la date et l'heure.
La date et l'heure système peuvent être également utilisées pour rechercher et enregistrer des
caractéristiques de fonctionnement.
D'autres commandes seront présentées lorsque cela sera nécessaire au cours de ce manuel.
37
Cours de formation Programmation ADEPT V+ 1
38
Cours de formation Programmation ADEPT V+ 1
39
Cours de formation Programmation ADEPT V+ 1
I ) GENERALITES
Le système Adept permet de contrôler le robot à partir du boîtier de commande manuelle optionnel.
Pour utiliser le boîtier, passer votre main gauche dans l'ouverture gauche du boîtier et, à l'aide
de votre pouce gauche, déplacer les barres de vitesse de déplacement manuel. Utiliser votre
main droite pour toutes les autres fonctions. Les divers groupes de touches du boîtier seront
présentés dans cette section.
40
Cours de formation Programmation ADEPT V+ 1
41
Cours de formation Programmation ADEPT V+ 1
ø TOUCHES UTILISATEUR
Les touches utilisateur sous l'écran LCD, sans libellé fixe, permettent d'effectuer des choix offerts par
les touches de fonction prédéfinies en-dessous, ou de choisir une option de menu affichée sur l'écran
LCD en appuyant sur la touche correspondante pendant l'exécution du programme d'application (ce
sujet est traité en détail dans le cours de programmation de V/V+).
42
Cours de formation Programmation ADEPT V+ 1
ø TOUCHES DE FONCTIONS
Les touches de fonctions permettent de démarrer des opérations spécifiques.
Elles sont de deux types: Prédéfinis et Programmables.
43
Cours de formation Programmation ADEPT V+ 1
ø FONCTION DISP
La touche de fonction DISP permet d'afficher (de gauche à droite dans la Fig. 4-7) sur le boîtier les
coordonnées d'articulaire, le repère WORLD actuel, l'état du système, l'état des E/S BINAIRES, ou le
DERNIER MESSAGE D'ERREUR.
Appuyer sur le bouton CLR ERR pour continuer l'exécution. Le message d'erreur est
supprimé et le boîtier retourne à son état antérieur à l'erreur.
44
Cours de formation Programmation ADEPT V+ 1
ø FONCTION CMD
La touche de fonction CMD est utilisée (de gauche à droite dans la Fig. 4-9) pour le démarrage
automatique et le stockage sur disque de toute la mémoire (STORE ALL), ou pour activer les
programmes de commandes CMD1 ou CMD2.
45
Cours de formation Programmation ADEPT V+ 1
ø TOUCHE REC/DONE
46
Cours de formation Programmation ADEPT V+ 1
47
Cours de formation Programmation ADEPT V+ 1
ø TOUCHE PANIC
La touche PANIC stoppe le programme en émettant une instruction d'arrêt (HALT) et stoppe le robot
en désactivant l'alimentation du bras, ce qui active les freins. La touche PANIC peut être remplacée
dans certaines versions par un bouton d'arrêt d'urgence à enclenchement.
48
Cours de formation Programmation ADEPT V+ 1
ø TOUCHE RUN/HOLD
Jusqu'à la version logicielle 8.1, la touche RUN/HOLD stoppe le robot et interrompt l'exécution du
programme lorsqu'elle est appuyée initialement. Si la touche RUN/HOLD est appuyée et maintenue,
le programme est exécuté jusqu'à ce que la touche RUN/HOLD soit relâchée. Une fois RUN/HOLD
relâchée, le robot stoppe et le programme en cours s'interrompt jusqu'à ce que la touche RUN/HOLD
soit appuyée et maintenue à nouveau.
A partir de la version 8.2, la touche RUN/HOLD a été supprimée en réponse à de nouvelles normes de
sécurité et à l'introduction du bouton-poussoir PROGRAM START sur le panneau AV des armoires
de commande Adept.
49
Cours de formation Programmation ADEPT V+ 1
ø TOUCHE COMP/PWR
Au cas où l'alimentation du bras (ARM POWER) serait désactivée (en appuyant sur PANIC du boîtier
de commande manuelle, ou sur un bouton d'arrêt d'urgence, ou par une condition d'erreur système),
Nota : en mode automatique ou manuel le système d’exploitation V+ peut prendre environ huit
secondes pour exécuter la séquence d’activation de la puissance.
Si le robot n'est pas étalonné et si ARM POWER est activé, le système est en mode non étalonné.
Cela est indiqué par la LED PANIC allumée et les deux LED COMP/PWR et MAN/HALT éteintes.
50
Cours de formation Programmation ADEPT V+ 1
ø TOUCHE MAN/HALT
Sélection de l'état
Les touches actives en mode manuel sont en bleu sur le boîtier. Le mode manuel est fréquemment
utilisé pour déplacer le robot vers des positions. Le système doit être en mode manuel pour choisir les
différents systèmes de coordonnées disponibles, utilisés dans les déplacements commandés
manuellement.
En mode manuel, toutes les instructions de mouvement émises à partir du clavier du terminal système
n'ont aucun effet sur l'unité mécanique commandée.
Le mode manuel est accessible uniquement à partir du mode ordinateur (COMP). Si toutefois ARM
POWER est désactivé (la LED du bouton PANIC est éteinte),
NOTA : En mode manuel, le système d'exploitation V + peut prendre environ huit secondes pour
exécuter la séquence d'activation de la puissance.,
- Ensuite, appuyer sur le bouton MAN/HALT pour mettre le système en mode manuel. Si le système
est bien en mode manuel:
La LED de la touche MAN/HALT est allumée, et l'une des LED du mode manuel est
également allumée (les LED "mode manuel" indiquent le type de déplacement manuel choisi:
WORLD, TOOL, JOINT, ou FREE).
Le système reste en mode manuel jusqu'à ce que ARM POWER soit désactivé ou la touche
DIS/PWR appuyée.
Le système est en état WORLD lorsque le mode manuel est entré pour la première fois après la mise
51
Cours de formation Programmation ADEPT V+ 1
sous tension du système. Une fois en mode manuel, appuyer sur la touche MAN/HALT
successivement pour choisir l'état (WORLD>TOOL->JOINT->FREE et retour à WORLD). Si vous
quittez puis ré-entrez en mode manuel (sans mettre le système hors tension), le dernier état activé est
choisi automatiquement.
52
Cours de formation Programmation ADEPT V+ 1
ø BANDES DE VITESSE
Les bandes de vitesse servent à commander la vitesse et le sens de déplacement du robot.
Les axes qui se déplacent lorsque les bandes de vitesse sont enfoncées dépendent de l’état sélectionné
par la touche MAN/HALT. On appuie sur les bandes de vitesse avec le pouce gauche. Lorsqu'on
appuie sur les bandes de vitesse près des extrémités extérieures, le robot se déplace plus rapidement;
lorsqu'on appuie près du centre, le robot se déplace plus lentement. La vitesse maximale du robot en
mode manuel est de 250 mm par seconde (10 pt/s).
53
Cours de formation Programmation ADEPT V+ 1
ø ETAT WOLRD
Tout déplacement est parallèle aux coordonnées universelles (WORLD). Vue de dessus, la rotation
positive du préhenseur s'effectue dans le sens contraire des aiguilles d'une montre. Toute la
préhension se limite à appuyer/relâcher la bande de vitesse + ou –
54
Cours de formation Programmation ADEPT V+ 1
ø ETAT OUTILLAGE(TOOL)
Tout déplacement est parallèle aux coordonnées d'outil (TOOL). X+ Tool est aligné avec la rainure
rotative dans le flasque. Vue de dessus, la rotation positive du préhenseur s'effectue dans le sens
horaire.
55
Cours de formation Programmation ADEPT V+ 1
56
Cours de formation Programmation ADEPT V+ 1
Dans l'état JOINT (articulaire), seul l'axe sélectionné se déplace. Une fois qu'on a étalonné le robot,
qu'on a sélectionné le mode manuel et qu'on a réactivé la puissance, on peut sélectionner le mode
articulaire.
La DEL sur la touche MAN/HALT est allumée. Si elle n'est pas allumée, appuyer sur la touche
MAN/HALT.
Une des DEL d'état manuel est aussi allumée (les DEL d’état manuel) indiquent le type de
déplacement manuel qui a été sélectionné, soit WORLD, TOOL, JOINT ou FREE).
Appuyer sur la touche MAN/HALT (voir Figure 4-5) plusieurs fois, jusqu'à ce que la DEL JOINT
s'allume. Quand la DEL sur la touche MAN/HALT et la DEL JOINT sont allumées, l'état JOINT
(articulaire) est sélectionné et on doit sélectionner le déplacement d'un axe en particulier.
57
Cours de formation Programmation ADEPT V+ 1
Free State
58
Cours de formation Programmation ADEPT V+ 1
59
Cours de formation Programmation ADEPT V+ 1
60
Cours de formation Programmation ADEPT V+ 1
61
Cours de formation Programmation ADEPT V+ 1
I ) FICHIERS - DISQUE
Le principe du fichier - disque est ce qui différencie le plus les systèmes d'exploitation Adept des
autres systèmes d'exploitation. Dans la plupart des systèmes d'exploitation, un fichier-disque contient
un seul programme exécutable, un même document texte, ou un même type de données. Avec les
systèmes d'exploitation Adept, un fichier-disque peut contenir plusieurs types d'informations, les plus
communes étant les programmes et les valeurs des variables globales.
A mesure que vous vous familiariserez avec la structure de fichiers des systèmes d'exploitation Adept,
rappelez-vous que lorsque vous chargez ou stockez un fichier, vous ne chargez/stockez pas
nécessairement un même type d'informations.
Le chargement de données, telles que programmes, positions et autres données dans la mémoire
système à partir d'une disquette, doit généralement être effectué avant d'exploiter le robot en
automatique.
62
Cours de formation Programmation ADEPT V+ 1
Les fichers-disque des systèmes d'exploitation Adept doivent répondre aux exigences suivantes:
· Le nom du fichier doit comporter entre 1 et 8 caractères suivis d'un point (.), puis d'une
extension de 1 à 3 caractères.
· Le nom peut inclure n'importe quels caractères du clavier à l'exception de l'astérisque (*) et
d'un blanc ().
· Le nom ne peut inclure qu'un seul point (.). Le point désigne la fin du nom et le début de
l'extension.
· Le point et l'extension peuvent être omis dans la plupart des cas ; le système d'exploitation
fournit le point et l'extension par défaut (V2).
63
Cours de formation Programmation ADEPT V+ 1
Ö LOAD ….
La commande du système d'exploitation LOAD charge le contenu d'un fichier-disque (tous les
programmes, positions et autres types de données) dans la mémoire système, à partir d'un lecteur de
disquettes.
Conditions d'erreur
Si le fichier-disque n'existe pas dans le lecteur spécifié, ou si la disquette n'est pas insérée dans le
lecteur spécifié, un message d'erreur s'affiche.
64
Cours de formation Programmation ADEPT V+ 1
Les programmes chargés à partir d’un fichier-disque N’ECRASERONT PAS les programmes du
même nom présents dans la mémoire système.
Les positions réelles et chaînes chargées à partir d’un fichier-disque ECRASERONT les positions
réelles et les chaînes du même nom présentes dans la mémoire système.
Il existe plusieurs méthodes pour sauvegarder les données modifiées sur fichier-disque. Ces méthodes
sont les suivantes:
65
Cours de formation Programmation ADEPT V+ 1
Ö STORE …..
La commande STORE sauvegarde le contenu de la mémoire système (tous les programmes, positions
et autres types de données) dans un fichier sur disque dur ou disquette.
La syntaxe complète de la commande STORE est:
nom_prog,...,nom_prog est une liste des programmes que vous souhaitez stocker dans
le fichier-disque; les sous-programmes ou les variables globales
consultés par ces programmes seront aussi stockés. Si cette liste est
omise, tous les programmes (plus les sous-programmes et les variables
globales) résidant dans la mémoire système seront stockés dans le
fichier-disque.
ø CONDITIONS D'ERREUR
Si le fichier-disque nommé est actuellement sur la disquette spécifiée, ou si le lecteur spécifié ne
contient pas de disquette, un message d'erreur s'affiche.
66
Cours de formation Programmation ADEPT V+ 1
Exemple de stockage
Un message d’erreur apparaît si le programme nommé ou un sous programme désigné n’existe pas
dans la mémoire système.
Un message d’erreur apparaît également si le fichier-disque nommé existe déjà sur le disque nommé.
Pour des raisons de sécurité, le système d’exploitation Adept ne permet pas l’écrasement manuel ou
automatique des fichiers-disque
67
Cours de formation Programmation ADEPT V+ 1
Store C :new_file.v2=b.programme
STORER Stocke dans un fichier-disque seulement les variables REELLES désignées par
le ou les programmes nommés. Sauf spécification contraire, l’extension " .RV " ou " .RL " sera ajoutée
aux fichiers-disque crées au moyen de la commande STORER.
68
Cours de formation Programmation ADEPT V+ 1
ø RENOMMER UN FICHIER-DISQUE
Utiliser la commande FRENAME pour modifier le nom du fichier-disque original. Utiliser ensuite la
commande STORE pour stocker les programmes, sous-programmes, positions et autres types de
données dans le fichier-disque avec le nom original.
Ö FRENAME
FRENAME permet de modifier le nom d'un fichier-disque existant en lui donnant un nom qui n'existe
pas avant d'émettre cette commande.
voie est remplacé par l'unité de disques (A:, D:, ou NFS>PC:) dans laquelle
vous souhaitez sauvegarder le fichier. Si voie est omis, le système prend
l'unité par défaut (D:).
69
Cours de formation Programmation ADEPT V+ 1
Notons que seul le nom du fichier est changé et non son contenu.
Notons également que la commande FRENAME exige que les fichiers-disques restent dans la même
voie.
70
Cours de formation Programmation ADEPT V+ 1
ø EFFACER UN FICHIER-DISQUE
Utiliser la commande FDELETE pour effacer le fichier-disque original. Utiliser ensuite la commande
STORE pour stocker les programmes, positions et autres types de données dans le fichier-disque avec
le nom original.
Ö FDELETE
voie est remplacé par l'unité de disques (A:, D:, ou NFS>PC/:) ou se trouve le
fichier à effacer. Si voie est omis, le système prend l'unité par défaut
(A:).
Répondre par "Y" pour exécuter l'effacement. L'effacement est définitif ; il n'existe aucun moyen pour
récupérer le fichier effacé. Répondre par "N" ou appuyer sur la touche Retour ("N" est par défaut)
pour annuler la commande.
FDELETE mon-fichier.v2
71
Cours de formation Programmation ADEPT V+ 1
72
Cours de formation Programmation ADEPT V+ 1
V+ utilise une structure hiérarchique de fichiers traditionnelle. Un répertoire central se trouve en haut
de la hiérarchie à partir duquel sont créés et imbriqués les sous-répertoires.
73
Cours de formation Programmation ADEPT V+ 1
Ö FDIRECTORY OU LS
FDIR voie
voie est remplacé par l'unité de disques (A:, D:, ou NFS>PC ::) à partir de
laquelle vous souhaitez visualiser le contenu. Si voie est omis, le
système prend l'unité par défaut (D:).
Dans l’exemple au dessous on se trouve sous la racine du disque dur D:\.
Ensuite tous les fichiers et répertoires sont rangés sous forme de tableau comme suit:
Indique la date de
ndique le nom du fichier Indique l’espace mémoire que création du fichier ou du
ou du répertoire prend un fichier en octets. répertoire.
74
Cours de formation Programmation ADEPT V+ 1
Ö LS
L'affichage de la liste des fichiers se trouvant sur disquette peut vous aider à gérer vos données
système.
La syntaxe de la commande CD est:
LS voie
voie est remplacé par l'unité de disques (A:, nfs>source :, ou D:) dont vous
souhaitez obtenir la liste des fichiers. Si voie est omise, le système prend
l'unité par défaut (D:).
Les sous-répertoires des systèmes d'exploitation Adept doivent répondre aux exigences suivantes:
Le nom peut inclure n'importe quel caractère du clavier à l'exception de l'astérisque (*), du point (.),
ou d'un blanc ( ).
Chaque fois que le terme voie est utilisée dans ce manuel, un sous-répertoire peut être indiqué dans la
voie.
Si la voie de la commande de gestion de fichiers n'est pas complète, le système prend l'unité/répertoire
par défaut. A la mise sous tension du système, l'unité/répertoire par défaut est A: l'unité/répertoire par
défaut peut être défini(e) temporairement à l'aide de la commande CD.
La commande
CD D:\programs\Tâche-2\
Crée temporairement le sous-répertoire "Tâche2" comme unité par défaut. Toute commande
CD, STORE, LOAD, etc., émise ensuite sans spécification d'unité ou de voie sera exécutée dans le
sous-répertoire " Tâche2 ".
75
Cours de formation Programmation ADEPT V+ 1
Les sous-répertoires des systèmes d'exploitation Adept doivent répondre aux exigences suivantes:
Pour effacer un sous-répertoire, ce dernier doit être vide de tous fichiers et sous-répertoires.
76
Cours de formation Programmation ADEPT V+ 1
Ö FLIST
Si le fichier-disque n’existe pas, un message d’erreur apparaît et aucun contenu n’est indiqué.
FLIST fichier.v2
Provoque l’affichage à l’écran du contenu du fichier-disque " FICHIER.V2 " résidant sur le
disque C :
77
Cours de formation Programmation ADEPT V+ 1
Ö DIRECTORY
La commande moniteur DIRECTORY affiche à l'écran les noms de tous les programmes résidant
dans la mémoire système, y compris les programmes protégés.
Lorsqu'un programme n'est pas protégé, la ligne descriptive complète PROGRAM est affichée, y
compris tout commentaire pouvant se trouver sur cette ligne.
Exemple :
La commande DIRECTORY 1
affiche à l'écran les noms de tous les programmes non protégés résidant dans la
mémoire système avec la ligne descriptive complète PROGRAM, y compris tout
commentaire pouvant se trouver sur cette ligne.
Ö RENAME
La commande RENAME permet de modifier le nom d'un programme existant en lui donnant un
nouveau nom avant l'émission de cette commande.
La syntaxe de la commande RENAME est :
RENAME nouveau_programme=ancien_programme
Nouveau_programme est le nouveau nom du programme, qui n'existe pas encore dans
la mémoire programme.
Ancien_programme est l'ancien nom du programme, qui réside déjà dans la mémoire
programme.
Notez que seul le nom du programme est changé et non son contenu.
78
Cours de formation Programmation ADEPT V+ 1
Ö COPY
La commande COPY permet de copier un programme existant. Ceci peut s'avérer utile lors de la
création d'un nouveau programme similaire à un programme existant ou basé sur celui-ci. Cette
commande ne supprime pas le programme existant de la mémoire système et ne change pas son nom.
La syntaxe de la commande COPY est :
Exemple :
copy a1.principal = a.principal
Ö DELETE
La commande DELETE permet d'effacer un type de données spécifiées, résidant dans la mémoire
système.
La syntaxe complète de la commande DELETE est :
Répondre par "Y" pour exécuter l'effacement. En cas de fausse manoeuvre, il est possible de récupérer
les données en exécutant la commande LOAD du fichier-disque. Répondre par "N" ou appuyer sur la
touche Retour ("N" est la réponse par défaut) pour annuler la commande.
79
Cours de formation Programmation ADEPT V+ 1
DELETE En l'absence du caractère optionnel après DELETE, cette opération efface les
PROGRAMMES et les SOUS-PROGRAMMES appelés par le ou les PROGRAMMES nommés
dans la liste, ainsi que toutes les variables de POSITIONS, REELLES et CHAINES DE
CARACTERES utilisées.
DELETEP Efface seulement les PROGRAMMES nommés dans la liste ainsi que les SOUS
PROGRAMMES appelés par ceux-ci.
DELETES Efface seulement les variables CHAINES DE CARACTERES désignées dans la liste.
80
Cours de formation Programmation ADEPT V+ 1
Ö LIST
la commande LIST permet d'afficher à l'écran la liste des données du type spécifié résidant dans la
mémoire système.
La syntaxe complète de la commande LIST est :
nom.nom … ...est la liste des données du même type à afficher à l'écran. En l'absence
de cette liste, toutes les données du type spécifié résidant dans la
mémoire système seront affichées.
LISTP a.main.program affiche tous les pas du programme "a.main.program", un programme non
protégé résidant dans la mémoire système.
LISTLaffiche les variables POSITIONS soit toutes celle présente dans la mémoire système, soit
celles désignées par la ou les POSITION nommées dans la liste
LISTR affiche toutes les variables REELLES soit toutes celle présente dans la mémoire
système, soit celles nommées dans la liste.
LISTS affiche toutes les variables CHAINE DE CARACTERES, soit toutes celle présente dans la
mémoire système, soit celles nommées dans la liste.
81
Cours de formation Programmation ADEPT V+ 1
Lorsque nom-module est omis, l'écran affiche la liste des noms des modules se trouvant actuellement
dans la mémoire système.
Lorsque nom-modu1e est spécifié, l'écran affiche la liste des programmes se trouvant dans le module
nommé.
Cette commande permet de créer un nouveau modu1e, d'ajouter des programmes supplémentaires dans
un module existant ou de classer des programmes à l'intérieur d'un module en les annexant à la fin du
module. Tout programme résidant dans la mémoire système ne peut être attribué qu'à un seul module à
la fois. Lorsque l'on annexe un programme principal à un module, tous les sous-programmes désignés
par ce programme doivent être annexés manuellement.
Lors de la création d'un nouveau module, le nom du premier programme est utilisé comme nom du
module.
Cette commande permet également de redisposer les programmes à l’intérieur du module. Les
programmes nommés seront placés à la fin du module, le dernier programme nommé occupant la
dernière position dans le module.
DELETEM nom_module
Cette commande permet de supprimer un module et tous les programmes de la mémoire système
associés à celui-ci. Il ne supprime cependant pas les sous-progammes désignés par tout programme
supprimé, sauf lorsque les sous-programmes sont contenus dans le module concerné. Les variables
désignées par les programmes supprimés restent.
Cette commande permet de créer un fichier-disque qui contient tous les programmes (seulement leur
code, à l'exclusion des positions, réels ou chaînes désignés) existants dans le module nommé. Ces
programmes sont stockés dans le même ordre que celui où ils sont placés dans le moduIe. Un fichier-
disque ne peut contenir qu'un seul module.
82
Cours de formation Programmation ADEPT V+ 1
83
Cours de formation Programmation ADEPT V+ 1
Un programme V+ se compose d'un ensemble d'instructions qui sont interprétées par le système Adept
pour déplacer une unité mécanique, activer des signaux d'entrées/sorties, effectuer des calculs,
enregistrer des données et afficher des informations.
ø PROGRAMME DE COMMANDE
Un programme de commande est un programme V+ composé entièrement de commandes au lieu
d'instructions programme .
84
Cours de formation Programmation ADEPT V+ 1
85
Cours de formation Programmation ADEPT V+ 1
CHAPITRE 8 EDITEUR
I ) ACCES A L'EDITEUR
Ces trois types de programmes sont créés, édités et modifiés à l'aide de l'éditeur pleine page SEE. On
accède à l'éditeur SEE par la commande.
SEE nom_programme
Si nom_programme ne se trouve pas dans la mémoire système,une invite au bas de l'écran demande
s'il faut le créer :
La réponse "Y" provoque la création du programme et le curseur de l'éditeur SEE se place en haut de
la fenêtre d'édition, en introduisant automatiquement à la ligne de désignation du programme
.PROGRAM nom_programme ( )
et la création du programme peut alors commencer. La réponse "N" ou une pression sur la touche
" Retour " entraîne le retour à l'invite système et le programme nommé n'est pas créé.
Si nom-programme est omis, on accédera au dernier programme édité ou exécuté.
86
Cours de formation Programmation ADEPT V+ 1
II ) LA FENETRE D’EDITION
Les détails de la fenêtre de l’éditeur SEE sont indiqués ci-dessous
Curseur
.PROGRAM
Nom du programme en cours d’édition nombre de lignes ds le progr taille presse papier
87
Cours de formation Programmation ADEPT V+ 1
Touches de Action
fonctions
F2 Création d’un nouveau programme/ou appelle d’un programme
F3 Va au programme appelé par l’instruction CALL
SHIFT+F3 Basculement entre les programmes dans la pile
F4 Sortie de l’éditeur
88
Cours de formation Programmation ADEPT V+ 1
1 Si l’écran affiche
ILLEGAL PROGRAM STATEMENT *
Appuyez sur F6
2 Si l’écran affiche
CANNOT EXIT WHILE LINES ATTACHED *
Appuyez sur:
# ESC K
89
Cours de formation Programmation ADEPT V+ 1
IV ) AFFICHAGE A L’ECRAN
: TYPE ….
sortie peut être soit une valeur littérale, chaîne de caractères ou réelle, soit une
variable chaîne de caractères ou réelle, soit une commande désignatrice
de format. Une ligne vierge est affichée en l'absence de sortie .
90
Cours de formation Programmation ADEPT V+ 1
: PROMPT …
L'instruction PROMPT provoque l'affichage d'informations sur le terminal et attend une réponse de
l'utilisateur. Cette réponse sera affectée à la ou aux variables nommées.
La syntaxe de l'instruction PROMPT est :
sortie est une chaîne de caractères (valeur ou variable). Une ligne vierge est
affichée en l'absence de sortie, mais l'utilisateur ne doit pas moins
introduire une réponse.
variab1e est une seule variable chaîne de caractères ou bien une ou plusieurs
variables réelles. Si la réponse de l'utilisateur comporte plus d'une
variable pour une seule sortie, celui-ci peut séparer les entrées par une
virgule (,) ou un espace ( ). L'utilisateur termine sa réponse par une
pression sur la touche "Retour".
Le formatage de sortie pour cette instruction est seulement réalisable comme suit :
Où la fonction $ENCODE peut intégrer les désignateurs de format et la sortie en une chaîne unique,
remplaçant la sortie normale.
EXEMPLE
91
Cours de formation Programmation ADEPT V+ 1
COMMENTAIRES PROGRAMME
Tous les commentaires programme commencent par un point virgule (;) ; ils sont composés de texte en
caractères minuscules et majuscules et, comme toutes les lignes de programme, ne doivent par
dépasser 70 caractères afin de faciliter leur lecture.
92
Cours de formation Programmation ADEPT V+ 1
93
Cours de formation Programmation ADEPT V+ 1
I ) GENERALITES
Avant de pouvoir exécuter un programme V+, il doit résider dans la mémoire système. Un
programme V+ ne peut pas être exécuté à partir d'un fichier-disque contenant le(s) programmes), les
positions et autres types de données à charger.
Après avoir chargé un fichier dans la mémoire système, l'exécution du programme est démarrée à
partir du clavier du terminal système, du boîtier de commande manuelle, ou du panneau AVANT de
l'armoire de commande.
Ö EXECUTE ….
94
Cours de formation Programmation ADEPT V+ 1
ATTENTION
Faire très attention lorsque l’on spécifie un pas de départ autre que le pas n° 1. En effet, toutes
les conditions logicielles et matérielles de départ au pas voulu doivent être satisfaites pour éviter tout
risque d’accident matériel ou corporel.
ø MULTI-TACHE OU MULTI-PROCESSEUR
Multi-tâche désigne la capacité d’un seul processeur à exécuter plusieurs programmes simultanément.
A niveau système, l’armoire adept effectue des multi traitements au moyen des processeurs montés sur
la carte processeur système, les carte servo, etc ..
ø APPLICATIONS MULTI-TACHES
La tâche principale de l’armoire d’un robot est de commander celui-ci. Elle peut néanmoins réaliser
simultanément d’autres fonctions utiles, par exemple :
95
Cours de formation Programmation ADEPT V+ 1
96
Cours de formation Programmation ADEPT V+ 1
Ö STATUS num
Num est un chiffre correspondant au numéro de la tâche dont on veut connaître la liste
des programmes appelés par ordre d’exécution. Si num est omis la page
ci-dessous sera affichée.
Nom du programme
Indique les numéros principal exécuté par Numéro de ligne
de tâches qui sont en la tâche. du programme.
fonction ou qui ont
été en fonction. Nom du programme
en cours d’exécution
Etat de la tâche
Program running: La tâche est active.
Program WAIT: La tâche est en attente.
Not active: La tâche est inactive.
Abort: La tâche est interrompue
97
Cours de formation Programmation ADEPT V+ 1
Ö ABORT num
Le système d'exploitation Adept fournit une invite spéciale avec astérisque immédiatement avant le
mot ABORT. Après avoir appuyé sur Entrée/Retour, le robot stoppe à la fin du déplacement en cours
et le programme est arrêté prématurément.
Exemple :
Sur votre système vous avez les tâches 0 et 2 qui sont actives, pour les arrêter tapez:
Après avoir validé la commande a 2 le système indique le pas sur lequel le programme s’est arrêté (
ex.go, à la ligne 94 ) la date et l’heure de l’arrêt(le 23 Juillet 1999, à 11 heures 08 secondes).
Pour la tâche 0 il n’est pas nécessaire d’indiquer le numéro de la tâche, par défaut il interrompt la
tâche 0.
98
Cours de formation Programmation ADEPT V+ 1
Ö PAUSE
ø POURSUITE DE PROGRAMME V+
Pour faire repartir un programme interrompu, introduire la commande:
Ö PROCEED num
Cette commande provoque le redémarrage du programme au pas suivant celui sur lequel il
avait été interrompu.
Ö RETRY num
Cette commande provoque le redémarrage du programme au pas sur lequel il avait été
interrompu.
Num est un chiffre correspondant au numéro de la tâche que l’on désire redémarrer, Si
num est omis le programme dans la pile de la tâche numéro 0 sera
redémarré.
99
Cours de formation Programmation ADEPT V+ 1
: RUNSIG
RUNSIG numero-sig
Mise à l'état "haut" ou "bas" du signal binaire spécifié aussi longtemps que l'exécution de la tâche
programme appelante se poursuit.
PARAMETRE
numero-sig Expression en valeur réelle, variable ou constante, spécifiant l'un des
signaux de sortie ( ou un signal logiciel interne) devant être commandé.
Le signal sera mis à l'état "haut" pendant l'exécution du programme si la valeur est positive.
Une valeur négative entraîne la mise à l'état "bas" du signal pendant l'exécution du programme, puis sa
mise à l'état "haut" lorsque l'exécution s'arrête.
Si aucun signal n'est spécifié, tout RUNSIG activé pour la tâche sera annulé.
100
Cours de formation Programmation ADEPT V+ 1
NOTES
101
Cours de formation Programmation ADEPT V+ 1
102
Cours de formation Programmation ADEPT V+ 1
103
Cours de formation Programmation ADEPT V+ 1
Les données utilisées de façon répétitive par un programme sont souvent stockées dans la mémoire
système. On peut estimer que les données de la mémoire système se trouvent dans une boîte, à laquelle
on accède par un nom défini par l'utilisateur.
Ces boîtes sont souvent appelées variables, car leur contenu peut changer ou varier de temps en temps.
De plus, deux des types de données ci-dessus possèdent un préfixe particulier ($, #).
104
Cours de formation Programmation ADEPT V+ 1
II ) REEL
Cette variable peut contenir des nombres pouvant être utilisés pour des calculs mathématiques. La
taille de chaque variable "réel" est de 4 octets. Les variables "réel" peuvent être interprétées en tant
que réels, nombres entiers, valeurs logiques ou valeurs ASCII .
III ) CHAINES
Cette variable peut contenir n'importe quelle combinaison de caractères ASCII, de caractères
alphabétiques (A à Z), de caractères spéciaux (-'!@ # $ %~& ()-=+[]{}\ ; : ,< >/ ?') et de nombres qui
ne peuvent être utilisés dans des opérations mathématiques (0 à 9). Chacune des touches possibles du
clavier est autorisée, à l'exception des guillemets (II). Chaque variable "chaîne" est d'une taille fixe de
128 octets, quelle que soit la taille effective de la chaîne.
Restriction le caractère ASCII 34 (“) ne peut être utilisé dans une variable chaîne.
105
Cours de formation Programmation ADEPT V+ 1
IV ) POSITIONS
Les variables “position” représentent un moyen de désigner les positions du robot par leur nom.
V ) POSITIONS ARTICULAIRES
Cette variable représente les positions exactes de chaque articulation du robot. Ces variables exigent 4
octets par articulation du robot.
106
Cours de formation Programmation ADEPT V+ 1
VI ) TRANSFORMATIONS
Cette variable représente la position et l'orientation de l'outil du robot en coordonnées cartésiennes. La
taille de chaque variable transformation tt est de 48 octets.
VII ) TABLEAUX
En plus des "boîtes" individuelles de mémoire, il est possible de regrouper des boîtes de mémoire de
trois façons.
Exemple d’affectation
Affectation de variables
Reseau[2] = 36
Reseau[3] = 20
Affecte la valeur 36 dans la case numéro 2 et la valeur 20 dans la case numéro 3 du tableau uni-
dimentionnel réseau[]
Le nombre entre crochets définit l’indice du tableau.
$texte[1]= “bonjour”
$texte[2]= “bonsoir”
107
Cours de formation Programmation ADEPT V+ 1
108
Cours de formation Programmation ADEPT V+ 1
ø AFFECTATIONS
Il faut utiliser une instruction d'affectation pour créer une variable ayant un nom défini par l'utilisateur
et contenant une valeur. Toutes les variables doivent être affectées avant de pouvoir être prises en
compte.
ø AFFECTATION DE REELS
Number = 25
Height = number
Part_part=number + 25
Number = number + 75
On peut affecter aux réels des valeurs littérales, d'autres variables, des expressions associant des
valeurs littérales et des variables. il est possible d'affecter à une variable réelle une expression appelant
cette même variable qui peut prendre alors une nouvelle valeur.
109
Cours de formation Programmation ADEPT V+ 1
$string = “adept”
$name = $string
$part= “H”+”4”
$part=$part +”-“+”k”
On peut affecter aux chaînes de caractères des valeurs littérales placées entre guillemets ("), d'autres
variables, une expression (appelée concaténation, n'utilisant que le signe "+") associant librement des
valeurs littérales placées entre guillemets (") ou des variables. il est possible d'affecter à une chaîne de
caractères une expression appelant cette même chaîne qui prendra alors une nouvelle valeur .
110
Cours de formation Programmation ADEPT V+ 1
ø AFFECTATIONS DE TRANSFORMATIONS
111
Cours de formation Programmation ADEPT V+ 1
VAL et $ENCODE
$String = $ENCODE(100)
: LEN
112
Cours de formation Programmation ADEPT V+ 1
: $MID
: $CHR
Retourne le caractère correspondant à la valeur ASCII du réel.
Exemple
113
Cours de formation Programmation ADEPT V+ 1
114
Cours de formation Programmation ADEPT V+ 1
115
Cours de formation Programmation ADEPT V+ 1
( ) intérieur en premier
+ - de gauche à droite
Exemple:
Dans les exemples ci-dessous le résultat dans X est toujours le même:
X=3
X =6 / 2
X = SQRT(9)
X = SQR(2) – 1
X = 9 MOD 6
I ) EXPRESSION LOGIQUE
Le V+ ne possède pas d’expression logique (Booleen) spécifique. Toute variable numérique ou
expression peut être utilisée en tant que donnée logique. V+ considère 0 comme étant la valeur fausse
et toute autre valeur vraie.
ø CONSTANTE LOGIQUE
Il existe 4 constantes logiques, TRUE et ON dont la valeur est –1, et FALSE et OFF dont la valeur
est 0. Ces constantes peuvent être utilisées à tout moment .Une variable ,valeur ou expression logique
peut être utilisée chaque fois que cela est nécessaire.
Dans l’exemple suivant une entrée est testée, si elle est activée, la variable dio.test retourne une valeur
vraie et le test IF est valide.
116
Cours de formation Programmation ADEPT V+ 1
117
Cours de formation Programmation ADEPT V+ 1
118
Cours de formation Programmation ADEPT V+ 1
II ) OPERATEURS RELATIONNELS
Les opérateurs relationnels sont utilisés pour comparer deux éléments entre eux afin d'obtenir une
valeur logique VRAI ou FAUX. Cette comparaison peut être effectuée sur toute combinaison des
éléments suivants: variables réelles et valeurs littérales numériques, ou sur toute combinaison de
variables et de valeurs littérales de chaînes de caractères.
Le résultat d’une opération contenant un opérateur relationnel sera toujours ou –1 (TRUE) ou 0
(FALSE).
Le V+ utilise les opérateurs de test standard du tableau ci dessous:
Exemple :
X est égal à 6 et Y est égal à 10, le résultat des différentes opérations suivantes sera –1 (TRUE)
X<Y
Y>=X
Y<>X
119
Cours de formation Programmation ADEPT V+ 1
Symbole Effet
AND Les deux expressions doivent être = à vrai
pour que le résultat soit vrai.
OR Au moins une des expressions doit être
vrais pour que le résultat soit vrai.
NOT Complemente l’expression ou la valeur
XOR L’une des expressions doit être vrai et
l’autre fausse pour que le résultat soit vrai.
Exemple :
NOT (X ==7)
(X > 2 ) AND ( Y =< 10 )
120
Cours de formation Programmation ADEPT V+ 1
IV ) REPRESENTATION NUMERIQUE
Les valeurs numériques peuvent être représentées sous forme de notation décimale standard ou sous
forme de notation scientifique comme nous le montre le tableau ci-dessous.
Les valeurs numériques peuvent être représentées sous forme Octales, Hexadécimales et Binaires
121
Cours de formation Programmation ADEPT V+ 1
122
Cours de formation Programmation ADEPT V+ 1
123
Cours de formation Programmation ADEPT V+ 1
I ) VARIABLES GLOBALES
Les variables globales sont les variables par défaut, elles sont disponibles à tout moment pour tout
programme en mémoire. Cependant, elles peuvent être modifiées ou altérées par inadvertance, ou
générer des conflits avec des programmes exécutés simultanément dans la même tache ou une tache
parallele.
.PROGRAM principal( )
LOCAL i, start, $nam., loc[ ], num
Les variables Locales et Auto sont definies une fois pendant l’exécution du programme et leur valeur
reste preservées apres des appel successifs de sous-programmes.
NOTA :
Si une variable LOCAL est declarée dans un programme utilisé par plusieurs taches en même temps
ou s’il est appelé récursivement par la même tache, il y aura partage de cette variable pour chaque
intance de programme.
Les variables AUTO permettent d’eviter cette situation.
Les variables locales doivent être transférées pour permettre aux autres programmes ou sous-
programmes d’accéder à ces variables.
124
Cours de formation Programmation ADEPT V+ 1
On utilise l’instruction CALL pour transférer/recevoir des variables vers ou depuis les sous
programmes.
Les variables étant transférées par référence, il n’est pas nécessaire d’utiliser le même nom de variable
pour le transfert et la réception de variables. Cependant, les variables doivent être du même type et
l’ordre de transfert/réception doit être préservé.
Exemple :
.Program a.main()
; A= 100 car la valeur " réelle " dans cette adresse mémoire n’a pas été modifiée
Program a.sub(n)
; n = 100 car les deux références A et n pointent à la même adresse mémoire
125
Cours de formation Programmation ADEPT V+ 1
.Program a.main()
; A= 100 ->car la valeur " réelle " dans cette adresse mémoire n’a pas été modifiée par le sous-
programme.
; n -> est indéfinie car cette variable est locale au sous programme a.sub(), elle n’est donc pas connue
dans ce programme.
Program a.sub(n)
; n = 100 car les deux références A et n pointent à la même adresse mémoire.
126
Cours de formation Programmation ADEPT V+ 1
.Program a.main()
; A= 1100 ->car la valeur " réel " dans cette adresse mémoire a été modifiée par le sous-programme
; n -> est indéfinie car cette variable est locale au sous programme a2.sub(), elle n’est donc pas
connue dans ce programme
Program a2.sub(n)
; n = 1100 car les deux références A et n pointent à la même adresse mémoire.
127
Cours de formation Programmation ADEPT V+ 1
.Program b.main()
; A= 100 ->car la valeur " réelle " dans cette adresse mémoire n’a pas été modifiée par le sous-
programme
; temp=1100 -> lorsque cette variable global a été modifiée dans le sous-programme b.sub()
Program a.sub(n)
; n = 100 car les deux références A et n pointent à la même adresse mémoire qui n’a pas été modifiée
; TEMP=1100 lorsque cette variable globale a été modifiée
128
Cours de formation Programmation ADEPT V+ 1
.Program c.main()
; A= 100 ->car la valeur réelle dans cette adresse mémoire n’a pas été modifiée par le sous-programme
; temp -> est indéfinie car cette variable est locale au sous programme a.sub(), elle n’est donc pas
connue dans ce programme
Program a.sub(n)
; n = 100 car sa valeur est passée par référence mais pas modifiée
; temp=1100 lorsque sa valeur est modifiée
129
Cours de formation Programmation ADEPT V+ 1
Program a.sub(n)
; temp = 100 lorsque ‘n’ est copié dans ‘temp’
; n=1100 lorsque sa valeur de ‘a’(n) est ajoutée a 1000
;n=100 lorsque ‘temp’ est copié dans ‘n’
130
Cours de formation Programmation ADEPT V+ 1
.Program e.main()
; total= 300 ->car la valeur " réelle " dans cette adresse mémoire est le résultat de la somme de
A+B traité par le sous programme.
Program a.sub(n1,n2,somme)
; n1 = 100 car la valeur est passée par référence correspond au contenu de l’adresse de A
; n2 = 200 car la valeur passée par référence correspond au contenu de l’adresse de B
; somme =300 lorsque sa valeur est modifiée.
131
Cours de formation Programmation ADEPT V+ 1
L’adresse mémoire de la variable A est partagée par les deux tâches qui exécutent le même
programme
Si la tâche 1 est démarrée après la tâche 3 le système recommence à compter à partir de 100
Si la tâche 3 est démarrée après la tâche 1 le système recommence à compter à partir de 100
132
Cours de formation Programmation ADEPT V+ 1
Pour chaque exécution du programme dans une tâche différente une adresse mémoire de la variable A
est exploitée.
133
Cours de formation Programmation ADEPT V+ 1
134
Cours de formation Programmation ADEPT V+ 1
; la variable tab[2] aura la nouvelle valeur 1000 car le contenu de son adresse a été modifié par le s/p
; la chaîne $tab2[1] est modifiée par le sous-programme avec la valeur " bonsoir "
Program f.sub(n)
; $val[1] à $val[3] contiennent les valeurs de $tab[1]à $tab[2]
; n2 -> est égale à 1000
Les variables locales n'étant pas disponibles pour la mémoire globale, leurs valeurs ne sont pas
stockées sur disque. Pour visualiser l'état d'une variable locale, on utilise la commande moniteur
LISTR suivi du symbole "@"+ le numero de la tache d’utilisation de la variable, puis du nom du
programme qui désigne la variable locale et, enfin, de la variable elle même.
L l S T L @ tache p r i n c i p a l variable,variable,variable...
L l S T R @ tache p r i n c i p al variable,variable,variable...
L l S T S @ tache p r i n c i p al variable,variable,variable...
135
Cours de formation Programmation ADEPT V+ 1
136
Cours de formation Programmation ADEPT V+ 1
I ) INTRODUCTION
L'objectif essentiel du langage V+ est de commander des unités mécaniques. Cette section décrit les
types de positions V+ et comment elles sont associées à l'espace dans lequel se déplace l'unité
mécanique.
Le langage V+ permet une grande souplesse de commande des actions d’un robot. Ce langage de
programmation permet de concevoir des programmes qui transforment le robot en un dispositif à
apprentissage et répétition. Cependant, pour assurer une souplesse maximale de la commande des
déplacements du robot, Adept a choisi l’approche qui consiste à faire dire par le programmeur au robot
la manière (le programme) et où ce dernier doit fonctionner (les positions).
Il existe plusieurs méthodes pour mémoriser la position d’un robot, toutes ces méthodes spécifient une
position par une variable. Le moyen le plus courant consiste à utiliser le robot pour ce faire. Dans ce
cas, le robot mémorise sa position et l’orientation de l’outil monté en bout de bras.
Après avoir mémorisé une position, le robot peut revenir à la position apprise avec l’orientation
initiale ou une orientation différente. En raison de cette possibilité de retour à une position apprise
avec une orientation différente, l’orientation de l’outil en bout de bras doit être spécifiée.
137
Cours de formation Programmation ADEPT V+ 1
II ) TYPES DE POSITION
ø VARIABLES DE TRANSFORMATION/PRECISION
Une position peut être spécifiée en utilisant soit une variable de transformation, comprenant six
composantes, soit un point de précision en spécifiant l'état dans lequel devraient être les axes
lorsqu'une certaine position est atteinte.
ø TRANSFORMATION
La variable de position Adept de base (la variable de transformation) est un ensemble de six
composantes, chacune identifiant individuellement une position dans l'espace cartésien et l'orientation
de l'outil en bout de bras à cette position.
Les six valeurs d’une transformation sont désignées ci-dessous, les caractères en minuscules
représentant : y = lacet ; p = tangage ; r = roulis
X Y Z y p r
145 -145 750 0 180 45
Position Orientation
138
Cours de formation Programmation ADEPT V+ 1
Les trois premières composantes d'une variable de transformation sont les valeurs des points sur les
axes X, Y et Z. Pour les robots SCARA Adept, l'origine de l'espace cartésien est le socle du robot (ou
système de coordonnées universelles (WORLD). L'axe Z+ pointe vers le haut en passant par le milieu
de la colonne du robot. L'axe X+ pointe vers l'avant du robot, et l'axe Y+ pointe vers la gauche
lorsque vous vous tenez derrière le robot.
139
Cours de formation Programmation ADEPT V+ 1
Les trois autres composantes d'une variable de transformation spécifient l'orientation de l'outil en bout
de bras ou ce qui peut être considéré comme étant le repère de référence local.
Ces trois autres composantes sont le lacet, le basculement et le roulis. Pour les robots SCARA Adept,
l'origine de ce second espace cartésien est l'outil en bout de bras (ou système de coordonnées d'outil).
Généralement, l'axe Z+ pointe vers le bas; toutefois, s'il existe un cinquième axe (Axe 5), il peut
pointer dans d'autres directions. L'axe X+ peut tourner autour de l'axe Z pour pointer dans n’importe
quelle direction en restant toujours en angle droit par rapport à l'axe Z+. L'axe Y+ peut également
tourner autour de l'axe Z pour pointer dans n'importe quelle direction en restant toujours en angle droit
par rapport aux axes Z et X.
140
Cours de formation Programmation ADEPT V+ 1
ROULIS
On entend par "roulis" la rotation autour de l'axe Z de ce repère de référence local (TOOL). La Fig.
7-5 montre un repère de référence local dans l'espace cartésien principal (WORLD) du robot; le roulis
s'effectue dans cet espace. Dans un robot Adept sans cinquième axe (Axe 5) fixé à l'extrémité du
fourreau, la rotation du fourreau correspond à la composante roulis d'une variable de transformation.
Si le robot Adept était équipé d'un cinquième axe muni d'un préhenseur rotatif, la rotation de ce
dernier correspondrait à la composante roulis.
141
Cours de formation Programmation ADEPT V+ 1
BASCULEMENT
On entend par “basculement” le mouvement de déviation, de haut en bas, autour de l’axe Y du repère
de référence local (TOOL). Fig 7.6 montre le repère de référence local dévié de 25°. La déviation
d’un cinquième axe correspond à la composante basculement.
142
Cours de formation Programmation ADEPT V+ 1
LACET
On entend par "lacet" la rotation du repère de référence local parallèle à l'axe Z du repère de référence
principal (WORLD). Cette rotation ne s'effectue pas autour de l'axe Z du repère de référence
principal mais est centrée à l'origine du repère de référence local (TOOL). Le cylindre dans la Fig. 7-
7 représente l'axe du lacet. Notons qu'il est parallèle à l'axe Z du repère de référence principal mais est
centré à un point quelconque dans cet espace.
Notons que lorsque l'axe Z du repère de référence principal et l'axe Z du repère de référence local sont
parallèles, le roulis et le lacet produisent un déplacement dans le même plan, bien que les deux
déplacements pourraient être dans des directions identiques ou opposées. Lorsqu'un robot Adept
possède un cinquième axe, la rotation du fourreau correspond à la composante lacet.
143
Cours de formation Programmation ADEPT V+ 1
La Fig. 7-8 montre les composantes lacet, basculement et roulis d'une variable de transformation.
Notez la trajectoire suivie par le repère de référence local lorsque la composante basculement de la
variable de transformation dévie l'outil en bout de bras qui était parallèle à l'axe Z du repère de
référence principal.
144
Cours de formation Programmation ADEPT V+ 1
ø POINTS DE PRECISION
Si, dans votre application, l'angle de rotation (d'axe) est un élément critique, vous devez spécifier vos
positions en tant que "Points de Précision"
Dans tous les types de robot, les composantes d’un point en coordonnées articulaires représentent les
valeurs angulaires ou linéaires des différents axes.
Dans un robot SCARA, un point en cordonnées articulaires comporte quatre valeurs ou plus en
fonction du nombre d’axes du robot.
145
Cours de formation Programmation ADEPT V+ 1
Un point de précision d'un robot SCARA Adept possède au moins quatre valeurs et peut en avoir
davantage selon le nombre d'axes de l'unité mécanique.
Axe 1
L'axe 1 permet la rotation du bras interne, limitée à moins de 360° pour les robots SCARA Adept.
Axe 2
L'axe 2 est le point de pivotement entre le bras interne et le bras externe. Le déplacement du bras
externe est limité par des butées mécaniques situées en haut du bras interne. Comme pour l'axe 1, le
déplacement pour les robots SCARA Adept est limité à moins de 360'. Ce déplacement peut être
comparé à un coude capable d'agir dans une configuration à gauche ou à droite.
Axe 3
146
Cours de formation Programmation ADEPT V+ 1
Axe 4
L'axe 4 permet la rotation du fourreau des robots SCARA Adept sur une plage supérieure à 360°. Ce
déplacement peut être comparé à un avant-bras humain lors du serrage ou du desserrage d'un bouchon
à vis, si l'axe 5 n'est pas présent.
147
Cours de formation Programmation ADEPT V+ 1
· Les caractères suivants peuvent être alphabétiques (A à Z), numériques (0 à 9), un tiret bas
" _ " ou un point (.).
Si la position doit être un point de précision, le nom doit être précédé par un signe #, non compté dans
la longueur du nom de la position.
Si la position doit être une transformation, aucun caractère ne doit préfixer le nom.
Ö HERE
La méthode la plus directe pour créer une variable de position consiste à placer l'unité mécanique sur
la position à enregistrer comme variable de position, et d'entrer la commande du système
d'exploitation suivante
HERE nom_pos
Ö POINT
La commande POINT permet de créer des variables de position sans nécessairement disposer d’un
robot. Il faut cependant procéder très attentivement lors de la création de points sur lesquels le robot ne
s’est jamais placé. La commande POINT est plus souvent utilisée pour modifier une position existante
ou pour créer un correcteur d’outil.
POINT nom_pos
148
Cours de formation Programmation ADEPT V+ 1
Ö HERE d
B Si cette position convient appuyer à nouveau sur la touche " return " pour valider sinon
modifier directement les cordonnées que l’on désir comme montré ci dessous.
Chaque cordonnée doit être séparée par une virgule, si une valeur ne doit pas être saisie tapez
une virgule à sa place.
pour la position du robot montrée ci-dessous, créerait une transformation ayant les valeurs suivantes:
x y z y p r
En millimètres En degrés
149
Cours de formation Programmation ADEPT V+ 1
Les composantes Z, lacet et basculement de pick ne sont pas montrés dans le graphique
bidimensionnel ci-dessus.
Pick
X Y Z y p r
566 0 750 018 0 135
est suffisamment importante pour atteindre l'enveloppe de travail en partant du socle, la composante
roulis se base sur l'orientation suivante par rapport au socle du robot.
150
Cours de formation Programmation ADEPT V+ 1
Ö HERE #a
Pour la position du robot montrée ci-dessous créerait un point de précision ayant les valeurs suivantes:
#a
Jt1 Jt2 Jt3 Jt4
42.781 19.129 10 53.781
151
Cours de formation Programmation ADEPT V+ 1
Ö WHERE
Ö WHERE 1
Cette commande du système d'exploitation peut être terminée en maintenant appuyée la touche CTRL
(contrôle) et en appuyant sur la lettre C.
152
Cours de formation Programmation ADEPT V+ 1
153
Cours de formation Programmation ADEPT V+ 1
154
Cours de formation Programmation ADEPT V+ 1
155
Cours de formation Programmation ADEPT V+ 1
BRANCHEMENTS INCONDITIONNELS
F GOTO Etiquette
Les étiquettes doivent être introduites dans le programme de façon explicite. Les étiquettes de rang
faible doivent se trouver au début du programme et celles de rang fort vers la fin du programme. Les
incréments entre étiquettes doivent être d'au moins 10, un incrément de 100 étant communément
utilisé.
F CALL sous_programme(var,var2,…)
156
Cours de formation Programmation ADEPT V+ 1
II ) BRANCHEMENTS CONDITIONNELS
F IF relation THEN
….
ELSE
….
END
Si la relation est jugée FAUSSE, l'exécution du programme se poursuit par l'instruction qui suit
l'instruction END, ou par l'exécution du groupe d'instructions ELSE (s'il existe).
157
Cours de formation Programmation ADEPT V+ 1
F CASE value OF
VALUE 1 :
….
VALUE 2,3,4:
….
ANY
….
END
Définit une table de "vérité" permettant d’évaluer une valeur spécifique par rapport à de nombreuses
autres pour rechercher une équivalence.
Permet d’évaluer un groupe de codes par rapport à plusieurs valeurs. Les deux sont nécessaires dans la
déclaration VALUE pour indiquer l’arrêt des évaluations.
158
Cours de formation Programmation ADEPT V+ 1
BOUCLES COMMANDEES
L'indice est défini une seule fois sur la valeur-initiale, lors de l'accès initial à la structure de
commande.
c. L'indice est ensuite contrôlé dans l'instruction FOR à chaque passage de la boucle.
* Si la valeur STEP (optionnelle) est positive (+) ou omise, la comparaison
Est effectuée
est effectuée.
Lorsque le résultat de la comparaison est FAUX, le corps de la boucle FOR est exécuté et la
comparaison ci-dessus est effectuée de nouveau.
L'indice change au retour à l'instruction FOR. Le changement à chaque passage de la boucle est positif
(+1) sauf si la valeur optionnelle STEP est utilisée pour spécifier une valeur positive ou négative
différente.
159
Cours de formation Programmation ADEPT V+ 1
BOUCLES PRECONDITIONNELLES
F WHILE condition DO
…..
END
Dans une boucle pré-conditionnée, l'exécution de la séquence à répéter n'est pas garantie car la
condition introduite est évaluée avant l'accès à la boucle.
Si la condition est jugée FAUSSE, l'exécution du programme se poursuit par l'instruction qui suit
l'instruction END.
FDO
….
UNTIL condition
Une boucle post-conditionnée est toujours exécutée une fois, après quoi la condition introduite est
évaluée.
160
Cours de formation Programmation ADEPT V+ 1
161
Cours de formation Programmation ADEPT V+ 1
.PROGRAM goto()
TYPE /C23, /X10, "ce programme montre le principe d'une boucle infinie", /C2
TYPE /X10, "Ce programme ne pourra etre arrete que par une commande 'ABORT' "
.PROGRAM goto1()
IF (VAL($num) < 1) OR (VAL($num) > 100) THEN ;test si la reponse est entre 1 et 100
TYPE /C1, "Vous avez saisie la valeur : ", num, /C4 ; affiche la valeur saisie en cas de
succes
RETURN
162
Cours de formation Programmation ADEPT V+ 1
.
PROGRAM call()
163
Cours de formation Programmation ADEPT V+ 1
.PROGRAM if.then.1()
164
Cours de formation Programmation ADEPT V+ 1
.PROGRAM if.then.2()
TYPE /C2, "les positions sont creees, appuyez sur <CR> pour tester cette position"
165
Cours de formation Programmation ADEPT V+ 1
.PROGRAM case.1()
; affichage du menu
100 TYPE /C24, /U20, "*************************************************"
TYPE /C1, /X30, "MENU PRINCIPAL"
TYPE /C1, /X30, "CHOIX NUM 1:"
TYPE /C1, /X30, "CHOIX NUM 2:"
TYPE /C1, /X30, "FIN 0:"
TYPE /C2, /X10, " saisir un nombre entre 0 et 2 ", /S
;saisie de la reponse
PROMPT "", $reponse
;test de la reponse et traitement
CASE VAL($reponse) OF
VALUE 0:
TYPE /C25, u15, "Vous avez choisi de quitter. le programme est termine"
HALT
VALUE 1: ;choix num 1
CALL case.sub($reponse) ; appel de sous programme
.PROGRAM case.sub($ans)
; ABSTRACT: affiche le resultat du choix pendant 1 seconde puis
; affiche un autre message de retour au programme principal pendant 1.5
; INPUT PARMS: $ans selection de l'operateur
;
; OUTPUT PARMS:
;
; SIDE EFFECTS:
;
; DATA STRUCT:
;
; MISC:
;
;* Copyright (c) 1998 by {company name}
;---------------------------------------------------------
TYPE /C24, /U20, "vous avez choisi le programme", $ans
WAIT.EVENT , 1
TYPE /C2, " Retour au programme principal dan 1.5 secondes "
WAIT.EVENT , 1.5
RETURN
166
Cours de formation Programmation ADEPT V+ 1
.PROGRAM for.loop()
; boucle for
FOR i = 0 TO limit
TYPE "boucle numero :", i
END ; fermeture de la boucle FOR
TYPE /C2, "nombre de boucle execute :", i
RETURN
.PROGRAM while.do()
; ABSTRACT: exemple de structure conditionnelle WHILE.. DO.. END..
; on test l'etat d'une variable pour entrer dans la boucle
; INPUT PARMS:
;
; OUTPUT PARMS:
;
; SIDE EFFECTS:
;
; DATA STRUCT:
; MISC:
;* Copyright (c) 1998 by {company name}
;---------------------------------------------------------
LOCAL $reponse, fin
167
Cours de formation Programmation ADEPT V+ 1
.PROGRAM while.do.move()
.PROGRAM do.until()
168
Cours de formation Programmation ADEPT V+ 1
.PROGRAM do.until.menu()
;saisie de la reponse
PROMPT "", $reponse
169
Cours de formation Programmation ADEPT V+ 1
170
Cours de formation Programmation ADEPT V+ 1
171
Cours de formation Programmation ADEPT V+ 1
I ) TYPES DE TRAJECTOIRES
Si le robot ne peut atteindre l'emplacement voulu car la trajectoire en ligne droite passe par un élément
matériel connu du robot (colonne centrale du robot SCARA), ou si le robot n'est pas dans la
configuration correcte, le robot n'effectuera pas le déplacement. Il est possible de commander la
trajectoire du monte et baisse/de l'outil.
172
Cours de formation Programmation ADEPT V+ 1
Si le robot ne peut atteindre l’emplacement voulu car il n'est pas dans la configuration correcte, le
robot n'effectuera pas le déplacement.
Chaque articulation se déplace de la valeur minimale nécessaire pour atteindre l'emplacement voulu.
Une exception à cette règle est lorsque l'articulation 4 rencontre une butée en tournant de la valeur
minimale ; dans ce cas, l'articulation tourne dans la direction opposée pour atteindre l'emplacement
voulu.
173
Cours de formation Programmation ADEPT V+ 1
Lorsque d’utilisation de position transformation, les robots SCARA se déplace en gardant leur
configuration de départ tant qu’un changement de configuration ne sera pas demandé. Les positions de
transformation dépendent essentiellement de la position et de l’orientation du tool flange.
174
Cours de formation Programmation ADEPT V+ 1
INSTRUCTIONS DE DEPLACEMENT
: MOVE pt MOVES pt
Exemple :
MOVE prise
MOVE pose
pose
prise
il peut s'agir d'un déplacement en ligne droite: MOVES ou d'un déplacement à interpolation articulaire
: MOVE
175
Cours de formation Programmation ADEPT V+ 1
: APPRO
Cette instruction de mouvement déclenche l'approche d'un emplacement spécifié suivant l'axe Z outil.
La syntaxe pour s'approcher d'un emplacement est :
Dans l’exemple ci dessous on montre l’utilisation d’un déplacement sans approche du point et d’un
déplacement avec approche du point.
176
Cours de formation Programmation ADEPT V+ 1
: DEPART
Cette instruction de déplacement déclenche l'éloignement d'un emplacement spécifié suivant l'axe Z
outil.
La syntaxe pour s'éloigner d'un emplacement est :
DEPARTS hauteur_destination
Il peut s'agir d'un déplacement en ligne droite: DEPARTS
Ou d'un déplacement à interpolation articulaire : DEPART
hauteur-destination est au-dessus (+) ou en dessous (-) de la position actuelle de
l'outil et le long de l'axe Z outil et ne dépend pas de l'orientation d'un
emplacement connu ou nommé. L'emplacement actuel est simplement
l'endroit où le robot se trouve au moment où cette instruction est
exécutée.
DEPART est toujours relatif à l'orientation de l'outil au moment où l'instruction est exécutée.
Exemple :
DEPART 50
177
Cours de formation Programmation ADEPT V+ 1
MODIFICATEURS DE DEPLACEMENTS
: BREAK
Pt_b Pt_b
Exemple d’un déplacement avec interruption Exemple d’un déplacement sans interruption
de la trajectoire continue sur le point " Pt_b ", de la trajectoire sur le point " Pt_b ".
l’affichage du texte se produit seulement après L’affichage se produit avant la fin du
stabilisation sur le point " Pt_b " . mouvement, pas d’interruption du
déplacement en cours.
178
Cours de formation Programmation ADEPT V+ 1
: BRAKE
: WAIT condition
Cette instruction place le programme dans une "boucle d'attente" jusqu'à ce que la condition soit
VRAIE.
Cette condition peut être une relation explicite (a > b) ou un numéro de signal "Tout Ou Rien".
Exemple :
: DELAY
L'instruction DELAY est traitée comme une instruction de mouvement. Elle est interprétée comme
"SE DEPLACER ICI" et les codeurs doivent donc être activés et lisibles.
DELAY secondes
secondes peut être inférieur à l'unité; cependant, un temps inférieur à 0,016
entraînera toujours un retard de 16 millisecondes
Cette instruction produit les effets suivants :
Toute variable binaire provisoire de la trajectoire ayant été spécifiée est effacée après l'expiration
de DELAY.
Si l'instruction est suivie d'un BREAK, le signal "déplacement terminé" ne sera pas transmis avant
l'expiration du retard introduit, à +-0,016 seconde près. Dans le cas contraire, le processeur du
système continue le traitement.
179
Cours de formation Programmation ADEPT V+ 1
180
Cours de formation Programmation ADEPT V+ 1
181
Cours de formation Programmation ADEPT V+ 1
182
Cours de formation Programmation ADEPT V+ 1
183
Cours de formation Programmation ADEPT V+ 1
NOTE
184
Cours de formation Programmation ADEPT V+ 1
NOTE
185
Cours de formation Programmation ADEPT V+ 1
: SPEED …
La vitesse de déplacement est définie par l'association d'une commande de réglage de la vitesse
moniteur et d'une commande programme de réglage de la vitesse programme.
ø VITESSE MONITEUR
Etant une commande, le réglage SPEED est introduit après l'invite moniteur.
SPEED facteur-vitesse
Les valeurs possibles de facteur-vitesse sont :
Minimum = 0,000001
Maximum = Faire très attention lorsque la valeur dépasse 100
Vitesse nominale = 100
Valeur par défaut
À la mise en marche = 50 (la moitié de la vitesse nominale)
Toute instruction de déplacement déjà traitée ne sera pas affectée par cette commande.
ø VITESSE PROGRAMME
: SPEED
L’instruction SPEED est utilisée aussi bien en tant que commande qu’instruction programme elle
peut également être utilisée en tant que fonction.
La syntaxe quand elle est utilisé en tant que commande est :
SPEED facteur_de_vitesse
186
Cours de formation Programmation ADEPT V+ 1
Minimum = 0,000001
Maximum = Faire très attention lorsque la valeur dépasse 100
Vitesse nominale = 100
Valeur par défaut
À la mise en marche = 50 (la moitié de la vitesse nominale)
ALWAYS est un qualificatif optionnel qui détermine les valeurs par défaut
facteur_vitesse et facteur_vitesse_r. du programme pour toute
instruction de déplacement qui ne comporte pas un réglage de vitesse
particulier. Le ALWAYS facteur_vitesse reste valide jusqu'à
l'application d'un autre ALWAYS .
Fonction :
Vit = SPEED(1)
Retourne une variable correspondant à la vitesse moniteur actuel dans la variable vit
Ex :
187
Cours de formation Programmation ADEPT V+ 1
Vit =SPEED(2)
Retourne une variable correspondant a la vitesse programme définie par la dernière
instruction " SPEED val ALWAYS " dans la variable vit
188
Cours de formation Programmation ADEPT V+ 1
: ACCEL
Fonction :
acc = ACCEL(1)
Retourne une variable correspondant à l’accélération actuelle dans la variable " acc "
dec =ACCEL(2)
Retourne une variable correspondant a la décélération actuel dans la variable " dec "
Vitesse
Courbe de vitesse
À SPEED 200 et ACCEL 100,100
Courbe de vitesse
À SPEED 100 et ACCEL 100,100
Courbe de vitesse
À SPEED 100 et ACCEL 50,50
189
Cours de formation Programmation ADEPT V+ 1
: NULL
: NONULL
Commande au système de ne pas attendre que le robot soit stabilisé à sa position finale. Ceci
permet des déplacements plus rapides.
Always est un qualificatif optionnel qui determine le mode par défaut dans le
programme pour toute instruction ne comportant pas de réglage
NULL ou NONULL particulier. Le always reste valide jusqu'à
l’application de l’instruction inverse avec ALWAYS.
NOTA
: FINE
Commande au système V+ d’activer la fonction de haute précision. Seules les petites erreurs de
positions finales des articulations sont alors autorisées. Ceci augmente le temps de cycle.
La syntaxe de l’instruction est :
190
Cours de formation Programmation ADEPT V+ 1
: COARSE
Commande au système V+ d’activer la fonction de basse précision. Des erreurs plus importantes
sur les positions finales des articulations sont alors autorisées.
syntaxe de l’instruction est :
NOTA
191
Cours de formation Programmation ADEPT V+ 1
III ) MOVE A
CP activé CP désactivé
CPON CPOFF
FINE
COARSE
192
Cours de formation Programmation ADEPT V+ 1
LEFTY
NOTA : Ce changement de configuration ne peut pas être fait pendant en mouvement en ligne
droite (cartesien)
RIGHTY
NOTA : Ce changement de configuration ne peut pas être fait pendant en mouvement en ligne
droite (cartesien)
ABOVE
Commande une configuration avec le coude du robot vers le bas lors du mouvement suivant.
NOTA : Ce changement de configuration ne peut pas être fait pendant en mouvement en ligne
droite (cartesien)
BELOW
Commande une configuration avec le coude du robot vers le haut lors du mouvement suivant.
NOTA : Ce changement de configuration ne peut pas être fait pendant en mouvement en ligne
droite (cartesien)
MULTIPLE always
SINGLE always
193
Cours de formation Programmation ADEPT V+ 1
194
Cours de formation Programmation ADEPT V+ 1
195
Cours de formation Programmation ADEPT V+ 1
CHAPITRE 16 TEMPORISATEURS
TIMERS
: TIMER (temporisateur)
Syntaxe :
Syntaxe :
EXEMPLE :
Réglage d’un temporisateur à ZERO puis temporisation du déplacement vers B
196
Cours de formation Programmation ADEPT V+ 1
: WAIT.EVENT
WAIT.EVENT , temps
: WAIT
WAIT
197
Cours de formation Programmation ADEPT V+ 1
198
Cours de formation Programmation ADEPT V+ 1
199
Cours de formation Programmation ADEPT V+ 1
ø CANAUX D'E/S
Le système d'E/S numériques peut gérer jusqu'à 512 entrées et sorties physiques. Chaque carte
d'E/S numériques DIO du système gère 32 entrées et 32 sorties, le BUS DEVICENET vous permet
d'ajouter des cartes additionnelles afin de répondre aux impératifs de votre application. Les signaux
logiciels attribuables aux canaux d'E/S sont désignés comme suit:
Pour désigner les signaux de sortie, il suffit d'utiliser le numéro du canal. Pour désigner des
signaux d'entrée, il suffit d'inclure un 1 avant le numéro à trois chiffres du canal approprié.
ø BITS INTERNES
En plus des signaux d’E/S, il existe un certain nombre de bits internes. Ces bits internes font
office de variable booléennes globales, pouvant agir sur la totalité des sous-programmes ou, même,
sur la totalité des programmes multi-tâches.
1 = ON
2 = OFF
-= non configuré
200
Cours de formation Programmation ADEPT V+ 1
Ö IO
Cette commande permet d’afficher l’état des groupes de signaux et de bits en dynamique.
Pour annuler la commande moniteur, appuyer simultanément sur les touches CRT et C
EXEMPLE :
IO
0032 – 0001 0000 0000 0000 0000 0101 1100 1100 0010
1032 – 1001 0000 0000 0000 0000 0101 1100 1100 0011
IO 2
2032 – 0001 0000 0000 0000 0000 0101 1100 0000 0011
2064 – 2033 0000 0000 0000 0000 0101 1000 1100 0011
2096 – 2065 0000 0000 0000 0000 0101 1100 1100 0010
2128 – 2097 0000 0000 0000 0000 0101 1100 1100 0011
2160 – 2129 0000 0000 0000 0000 0101 1100 1100 0000
2192 – 2161 0000 0000 0000 0000 0101 1000 1100 0011
2224 – 2193 0000 0000 0000 0000 0101 1100 1100 0011
2256 – 2225 0000 0000 0000 0000 0101 0100 1100 0011
2288 – 2257 0000 0000 0000 0000 0101 1100 1100 0010
2320 – 2289 0000 0000 0000 0000 0101 0100 1100 0011
2352 – 2321 0000 0000 0000 0000 0101 1100 1100 0010
2384 – 2353 0000 0000 0000 0000 0101 1000 1100 0011
2416 – 2385 0000 0000 0000 0000 0101 1000 1100 0011
2448 – 2417 0000 0000 0000 0000 0101 1000 1100 0011
2480 – 2449 0000 0000 0000 0000 0101 1000 1100 0011
2512 – 2481 0000 0000 0000 0000 0101 1000 1100 0011
Affichage écran IO
201
Cours de formation Programmation ADEPT V+ 1
ACTIVATION DE SORTIES
Mise à l'état "haut" ou "bas" de signaux de sorties binaires externes ou de signaux logiciels internes
(non applicable aux signaux d'entrées extrêmes).
PARAMETRES
EXEMPLES
Couper le signal "alimentation" (en supposant que l’alimentation’ soit positif, mettre en fonction la
sortie 4).
SIGNAL -alimentation, 4
PARAMETRE
Une valeur négative indique une logique négative (FALSE) pour ce signal.
202
Cours de formation Programmation ADEPT V+ 1
EXEMPLE
Supposons que les signaux d'E/S binaires suivants soient installés et possèdent les valeurs indiquées
:
Alors, les références des fonctions SIG ci-dessous renverront les valeurs indiquées :
On peut utiliser seulement des signaux binaires qui sont effectivement installés et configurés.
Lorsque le signe d'un "numero_sig" est positif, le signal est interprété comme TRUE s'il possède
une valeur haute.
Lorsque le signe d'un "numero_sig" est négatif, le signal est interprété comme TRUE s'il possède
une valeur basse.
SIG considère toujours qu'un "numero_sig" de valeur nulle est TRUE, c'est-à-dire SIG(o) = -1.0.
203
Cours de formation Programmation ADEPT V+ 1
Passage à 1 ou 0 d'un groupe de signaux binaires sur la base d'une valeur décimale, binaire,
hexadécimale ou octale.
PARAMETRES
Maximum : 8.
EXEMPLES
Définir les signaux de sortie externes 1-8 (8 bits) à la représentation binaire de la constante 255,
c'est-à-dire 11111111. Ainsi, les signaux 1-8 seront mis en fonction.
Etat 1 0 1 1 0
Signal 15 14 13 12 11
204
Cours de formation Programmation ADEPT V+ 1
FOR nn=1 to 25
Bits nn,1=0
END
On peut référencer des signaux de sortie binaires externes, ou des signaux logiciels internes.
: BITS(ler_signal, nombre_signx)
PARAMETRES
Maximum : 8.
EXEMPLES
Supposons que les états des signaux d'entrée suivants soient présents :
Signal 1008 1007 1006 1005 1004 1003 1002 1001
Etat 1 1 O 1 0 1 1 0
Le pas de programme
X = BITS( 1003,4 )
205
Cours de formation Programmation ADEPT V+ 1
206
Cours de formation Programmation ADEPT V+ 1
On peut référencer des signaux d’entrée ou de sortie binaires externes, ou des signaux logiciels
internes.
On peut lire n'importe quel groupe de huit signaux maximum, à la condition que tous les signaux
du groupe soient configurés et utilisables par le système.
: RESET
Sauf si l’utilisateur dédie une tache à chaque processus devant être commandé, il est souvent
nécessaire de laisser une tâche balayer de façon continue, sans jamais s’arrêter pour attendre un
processus ou un dispositif matériel particulier.
Dans ce cas, on peut mettre en œuvre une technique pilotée par les états.
Par exemple, le segment de programme suivant attend une autre tâche pour déclencher la
surveillance d’un élément matériel pendant un intervalle donné :
Alors que le segment de code de la page suivante permet l’exécution du balayage continu :
207
Cours de formation Programmation ADEPT V+ 1
208
Cours de formation Programmation ADEPT V+ 1
209
Cours de formation Programmation ADEPT V+ 1
POSITIONS RELATIVES
Chaque transformation utilisée jusqu'ici dans ce cours était une transformation relative au système
de coordonnées de référence, appelé repère cartésien (WORLD). Cette section traite les
transformations relatives à une autre transformation ou à un autre repère. Ces transformations
relatives peuvent être créées par apprentissage avec le robot, ou en connaissant la géométrie d'une
transformation et en utilisant les valeurs géométriques pour faire calculer la nouvelle transformation
relative par le logiciel. Cette manière de créer et d'utiliser des transformations peut s'avérer très
utile lorsque l'on travaille avec une géométrie fixe, par exemple des positions fixes discrètes ou une
action répétitive sur une palette.
: DISTANCE
L'instruction programme
DISTANCE(nom_position,nom_position)
Détermine la distance, en ligne droite, en millimètres, entre les deux positions nommées. Cette
mesure est fonction de la précision du robot dans le système de coordonnées de référence dans
lequel les positions se trouvent.
Les indications nom_position doivent être des transformations, non des points en coordonnées
articulaires. Ils doivent posséder des coordonnées en X, en Y et en Z.
Les deux positions peuvent être indiquées dans n'importe quel ordre.
Prise_pose = DISTANCE(prise,pose)
210
Cours de formation Programmation ADEPT V+ 1
: DX(nom_position)
: DY(nom_position)
: DZ(nom_position)
Les indications nom_position doivent être des transformations et non des points en coordonnées
articulaires. lis doivent posséder des coordonnées en X, en Y et en Z.
Après exécution de cette opération, on peut effectuer d'autres analyses sur les positions, par
exemple :
Si les positions doivent être utilisées pour déterminer un angle d'orientation par rapport à un repère
de référence, la différence entre les coordonnées en X et la différence entre les coordonnées en Y.
peuvent fournir les informations permettant de déterminer cet angle d'orientation.
La position d'une transformation par rapport à l'autre dans le système de coordonnées de référence.
Ces instructions ne renvoient aucune information concernant les valeurs de "lacet", "tangage" ou
"roulis" de la position.
211
Cours de formation Programmation ADEPT V+ 1
: DECOMPOSE
Cette instruction programme permet d'extraire les coordonnées de l'un ou l'autre type de variable de
position.
La syntaxe de cette instruction est :
DECOMPOSE nom_tableau[index]=nom_position
Indice Indice
Tableau Tableau
1 Valeur de x 1 Valeur de jt1
2 Valeur de y 2 Valeur de jt2
3 Valeur de z 3 Valeur de jt3
4 Valeur de yaw 4 Valeur de jt4
5 Valeur de pitch 5 Valeur de jt5
6 Valeur de roll 6 Valeur de jt6
Si la position est une transformation, les six éléments du tableau correspondent aux six valeurs: X,
Y, Z, yaw, pitch, roll.
Si la position est un point en coordonnées articulaires, les éléments du tableau correspondent aux
valeurs articulaires de la position, en commençant par la première articulation et en poursuivant
pour englober les valeurs de toutes les articulations, concernées.
212
Cours de formation Programmation ADEPT V+ 1
: TRANS
L'instruction programme TRANS permet de créer des transformations relatives par le logiciel, si
les conditions suivantes sont respectées :
Une transformation ayant une orientation parallèle à la géométrie de la carte connue réside dans la
mémoire système.
Dans le schéma ci-dessus, n'importe laquelle des positions peut être créée et mémorisée par
apprentissage à l'aide du robot, par acquisition depuis un système de vision ou téléchargée depuis
un système de CAO .
Si les coordonnées du repère propre à la carte sont connues, si l'orientation de chaque position
relative est également connue et si l'orientation de la position de référence est parallèle aux repères
de la carte, alors les coordonnées des positions relatives sont connues.
Les coordonnées de la position " r1 " située dans le coin en haut à gauche de la carte seront
déterminées par apprentissage à l'aide du poignet robot. Lors de la création de " r1 " , les
coordonnées OUTIL (l'orientation de l'outil) doivent être parallèles au repère géométrique qui sera
utilisé pour créer les positions relatives dans le logiciel.
213
Cours de formation Programmation ADEPT V+ 1
Les distances et directions, parallèlement au repère OUTIL, entre le composant connu " r1 ".. et les
composants relatifs " r2, r3, r4 ", ainsi que l'orientation des composants relatifs, sont :
Toutes les coordonnées spécifiées dans l'instruction programme TRANS sont parallèles au repère
OUTIL défini lors de l'apprentissage de " r1 " et sont repérées positivement ou négativement à
partir de cette origine.
Les coordonnées ci-dessus supposent que la carte est plate dans le plan X/Y du repère OUTIL et
que tous les composants sont à la même hauteur sur la carte, ce qui n'implique aucune variation
dans la direction Z.
214
Cours de formation Programmation ADEPT V+ 1
TRANS(dir_x,dir_y,dir_z,lacet,tangage, roulis)
sont les valeurs et la direction de TRANS parallèlement au repère outil tel que
défini à la position connue " r1 " .
Noter que l'orientation de la carte ne doit pas nécessairement être parallèle au repère cartésien. Seul
le repère OUTIL doit être aligné par rapport aux valeurs géométriques connues de la carte.
SET r2 = rl:TRANS(0,-325,0,0,0,0)
SET r3 = rl:TRANS(200,-425,0,0,0,90)
SET r4 = rl:TRANS(300,275,0,0,0,-30)
215
Cours de formation Programmation ADEPT V+ 1
Si la carte est ultérieurement repositionnée par rapport à sa position d'origine, il suffira d'apporter
deux modifications :
Lorsque le programme est réexécuté, les instructions TRANS recréent les positions relatives " r2,
r3, r4 " sur la base de la nouvelle position et de la nouvelle orientation de la position " r1 "
Noter que les valeurs des orientations sont toujours indiquées parallèlement au repère OUTIL
propre à la position de référence.
216
Cours de formation Programmation ADEPT V+ 1
La technique ci-dessus ne peut être mise en œuvre si l'on connaît les coordonnées relatives des
positions des composants " r2, r3, r4 " . Si ce n'est pas le cas, une autre méthode consiste, après
apprentissage de la position de référence, à placer le robot sur les positions relatives et à effectuer
l'apprentissage de celles-ci relativement à la position connue.
La syntaxe de la commande HERE pour chaque position relative est :
HERE r1:r2
HERE r1:r3
HERE r1:r4
Ceci crée les transformations relatives " r2, r3, r4 " quelles que soient l'orientation et la distance des
positions relatives par rapport à la position connue " rl " et crée également l'orientation adéquate à
chaque emplacement relatif.
r1 est aligné par rapport à la carte r1 N'est PAS aligné par rapport à la carte
217
Cours de formation Programmation ADEPT V+ 1
Lorsque l'on travaille avec un mouvement répétitif, l’instruction TRANS peut être incorporée à une
structure de contrôle en boucle si l'on sait que les valeurs dimensionnelles géométriques restent
constantes.
218
Cours de formation Programmation ADEPT V+ 1
L'apprentissage du centre de la palette comme position connue permet de minimiser toute erreur
pouvant se trouver dans les valeurs dimensionnelles géométriques constantes.
Le logiciel devient très simple si les positions peuvent être ordonnées d'une manière logique pour
produire un déplacement répétitif.
219
Cours de formation Programmation ADEPT V+ 1
Exemple: Créer 25 transformations relatives à partir d'une position connue au centre de la palette.
Les boucles FOR imbriquées font que l'instruction TRANS recalculera de façon répétitive une
nouvelle transformation prise. Le produit des valeurs dimensionnelles géométriques constantes
(dir_x et dir_y) par les indices d'incrémentation (x et y) créera l'ensemble des 25 transformations
sur la palette.
Noter que la position centre sera utilisée comme prise pour la 13ème itération des boucles FOR
emboîtées, avec X= 0 et Y= 0.
220
Cours de formation Programmation ADEPT V+ 1
On peut également obtenir d'autres types de déplacements. Un déplacement circulaire peut être
réalisé par l'intermédiaire de différentes techniques mais celle décrite ci-dessous met
particulièrement en évidence la manière dont fonctionne le "générateur de trajectoires du robot".
Le point, central est la position de référence pour le déplacement circulaire ci-dessous.
Noter que l'orientation de la position connue est que l'axe X doit être orienté vers le trou n°l. Une
droite passant par le centre du cercle et le trou n 01 doit être parallèle à deux des bords de la palette.
L'orientation dans le repère OUTIL peut être crée en alignant le repère OUTIL par rapport à l'un
ou l'autre de ces deux bords.
La technique mise en œuvre consiste à réaliser d'abord une rotation à partir de la position
connue, puis à calculer le rayon du cercle.
221
Cours de formation Programmation ADEPT V+ 1
Noter que la position cercle sera utilisée seulement comme point de référence au centre du cercle,
aucune pièce ne s'y trouvant. Noter aussi que la rotation doit être réalisée avant le déplacement
radial, faute de quoi les positions relatives se situeraient toutes sur la même localisation avec une
rotation différente pour chacune.
222
Cours de formation Programmation ADEPT V+ 1
La fonction inverse retourne une transformation dont la représentation est l’inverse mathématique
de la transformation passé par référence.
EXEMPLE
Dans le cas ci-dessus on pourrait se repositionner sur le point loc_a en recalculant ce point à partir
de loc_c et loc_b comme suit :
223
Cours de formation Programmation ADEPT V+ 1
Si les dimensions de la pince sont inconnues (pince déportée) il peut être très utile de connaître le
centre outil de cette pince. Une méthode très simple pour apprendre le centre outil consiste en
l’utilisation de transformation relative.
Dans l’exemple ci-dessous la transformation " ref_loc " est connue, cependant les dimensions de la
pince ne sont pas connues. Il ne sera donc pas possible de commander un déplacement du bras
robot avec un positionnement de la pince sur le point " ref_loc ".
Dans l’exemple ci-dessous le type de produit à prendre ne nécessite aucune orientation de la pince,
l’apprentissage du vecteur " grip_1 " permettant de définir les dimensions de la pince se fera
comme suit.
Positionner manuellement la pince dont on désir connaître les caractéristiques sur la pièce à
prendre.
224
Cours de formation Programmation ADEPT V+ 1
Change? .ç
X Y Z y p r
-50. 0.0000 -100. 0.000 0.000 0.000
Les valeurs de la transformation (X, Y, Z, yaw, pitch, roll) seront crées pour " grip_1 " elles
constituerons la valeur d’offset à ajouter à la position du TOOL FLANGE du robot.
L’offset actuel devra être inversé pour être utilisé dans une fonction de somme vectorielle.
225
Cours de formation Programmation ADEPT V+ 1
DO SET grip_1=INVERSE(grip_1)
Visualisation du résultat.
LISTL grip_1
X Y Z y p r
50.000 0.000 100.000 0.000 0.000 0.000
Exemple
La prise de pièces avec la pince N°1 se fera comme suit :
TOOL grip_1
MOVE ref_loc
226
Cours de formation Programmation ADEPT V+ 1
TRANSFORMATION TOOL
TOOL trans
Si la transformation trans est omise, le TOOL sera réinitialisé à une valeur NULL
ATTENTION
Exemple
227
Cours de formation Programmation ADEPT V+ 1
FRAME
L'instruction programme FRAME permet de créer un repère de référence défini par l'utilisateur,
possédant un système de coordonnées.
On peut aligner le repère OUTIL par rapport au système de coordonnées défini par l'utilisateur de
sorte que les instructions programme TRANS soient exécutées avec une plus grande précision lors
de l'alignement des transformations relatives.
Cette instruction créée un système de coordonnées en utilisant seulement les localisations de quatre
positions, sans utiliser leurs orientations.
Sont les quatre positions nécessaires pour créer le repère de référence défini par l’utilisateur.
228
Cours de formation Programmation ADEPT V+ 1
Cette droite sera parallèle au futur axe X du système de coordonnées. Elle pourrait devenir cet axe
x.
Le sens allant de départ_x vers dir_x définit la direction POSITIVE de l'axe x
Une droite tracée perpendiculairement à la droite ci-dessus et dirigée vers dir_y détermine trois
éléments :
Cette droite sera parallèle au futur axe y du système de coordonnées. Elle pourrait devenir cet axe
Y.
Le sens allant vers dir_y définit la direction POSITIVE de l'axe Y.
La direction POSITIVE de l'axe Z est également connue. Utiliser l'axe X, l'axe Y et la règle de la
main droite pour obtenir un repère direct.
229
Cours de formation Programmation ADEPT V+ 1
Repère de référence définie par l'utilisateur pour des positions relatives fixes discrètes.
On peut toujours utiliser les trous de montage de la carte pour créer le système de coordonnées
défini par l'utilisateur, s'il existe toujours une position homogène par rapport aux positions fixes
discrètes.
Les positions des trous de montage de la carte " loc_1, loc_2,loc_3 " peuvent être définies par
apprentissage. Celles-ci pourront être utilisées dans l'instruction programme FRAME pour créer un
repère à partir duquel les positions relatives seront définies à l'aide de l'instruction TRANS.
Une droite tracée entre loc_1 et loc_2 définit l'orientation POSITIVE de l'axe x
Une droite tracée perpendiculairement à la droite ci-dessus et dirigée vers 100-3 détermine
l'orientation POSITIVE de l'axe y et par conséquent celle de l'axe z.
230
Cours de formation Programmation ADEPT V+ 1
On peut également utiliser le trou de montage " loc_1 " comme " origine " du repère.
231
Cours de formation Programmation ADEPT V+ 1
Si les coordonnées par rapport à la carte sont connues, si l'orientation du FRAME est parallèle aux
coordonnées de la carte et si l'on connaît également l'orientation de chaque position relative, alors le
programme peut déterminer les positions par des TRANS relativement à FRAME.
SET rl = carte:TRANS(275,0,0,0,0,90)
SET r2 = carte:TRANS(600,0,0,0,0,90)
SET r3 = carte:TRANS(700,200,0,0,0,180)
SET r4 = carte:TRANS(0,300,0,0,0,60)
232
Cours de formation Programmation ADEPT V+ 1
Si la .carte est ultérieurement repositionnée par rapport à sa position d'origine, il suffira d'apporter
une modification :
Effectuer un nouvel apprentissage des trous de montage de la carte "loc_l, loc_2, loc_3 "
pour permettre à l'instruction FRAME de recréer le repère défini par l'utilisateur. Lorsque les
positions relatives seront créées dans le logiciel, elles seront définies par rapport au nouveau repère
défini par l’utilisateur.
233
Cours de formation Programmation ADEPT V+ 1
Noter que les coordonnées géométriques nécessaires sont toujours indiquées parallèlement au
système de coordonnées FRAME à l'origine.
234
Cours de formation Programmation ADEPT V+ 1
On peut utiliser certains des trous de déplacement répétitifs pour créer le système de coordonnées
défini par l'utilisateur.
Les positions des trous " loc_l , loc_2, loc_3 peuvent être obtenues par apprentissage, puis utilisées
dans l'instruction programme FRAME pour créer un repère à partir duquel les positions relatives
seront obtenues par TRANS.
Une droite tracée entre loc-l et loc-2 définit l'orientation POSITIVE de l'axe x
Une droite tracée perpendiculairement à la droite ci-dessus et dirigée vers loc_3 détermine
l'orientation POSITIVE de l'axe Y et l'orientation POSITIVE de l'axe Z.
235
Cours de formation Programmation ADEPT V+ 1
L'apprentissage du centre de la palette comme origine de FRAME permet de minimiser toute erreur
pouvant se trouver dans les valeurs dimensionnelles géométriques constantes.
Exemple: Créer 25 transformations relatives sur chaque palette à partir de l'origine de FRAME au
centre de chaque palette.
236
Cours de formation Programmation ADEPT V+ 1
NOTE
237
Cours de formation Programmation ADEPT V+ 1
Le système d'exploitation Adept possède plusieurs variables système qui affectent le traitement de
l'exécution. Il existe deux types de variables système: les variables binaires et les paramètres.
ENABLE switch
DISABLE switch
Switch est remplacé par l'une des variables binaires indiquées dans le Tabl. 6-1.
SWITCH
238
Cours de formation Programmation ADEPT V+ 1
239
Cours de formation Programmation ADEPT V+ 1
PARAMETRES
Les paramètres affectent le système pratiquement de la même manière que le font les variables
binaires, excepté le fait que les paramètres peuvent avoir une plage de valeurs, et pas simplement
être à "0" ou à "l”
Ö PARAMETER
Pour voir la valeur d'un seul paramètre (V.HAND.TIME par exemple), entrer la commande du
système d'exploitation.
PARAMETER TERMINAL
240
Cours de formation Programmation ADEPT V+ 1
EXEMPLE :
Test de l’absence d’arret d’urgence, pour la mise sous puissance et l’etallonagde du robot s’il
n’estpas deja ettaloné.
241
Cours de formation Programmation ADEPT V+ 1
Sous réserve d'activation correcte, V+ émettra une interruption suite à un événement en appelant un
programme spécifié, tout comme si une instruction CALL avait été exécutée.
On dit qu'un tel programme est appelé de façon asynchrone, puisque son exécution n'est pas
synchronisée avec le déroulement normal du
Programme.
Le traitement asynchrone est activé par les instructions programme REACT, REACTE et
REACTI.
La priorité du programme peut être augmentée ou réduite par l'instruction programme LOCK et sa
valeur déterminée par la fonction PRIORITY. Lorsque la priorité du programme est augmentée à
une valeur donnée, toutes les interruptions ayant une priorité égale ou inférieure sont inactivées.
242
Cours de formation Programmation ADEPT V+ 1
NOTA
Ne pas confondre "priorité du programme" avec "priorité des tâches ". La priorité des tâches régit le
traitement des différentes tâches du système. La priorité du programme régit l'exécution des
programmes à l'intérieur d'une tâche de programme. La priorité des programmes est décrite en
détail ci-dessous
: REACT
PARAMETRES
Lors de la détection de la transition du signal spécifié, V+ émet une interruption qui permet de
TERMINER LE DEPLACEMENT EN COURS DU ROBOT.
243
Cours de formation Programmation ADEPT V+ 1
EXEMPLE
244
Cours de formation Programmation ADEPT V+ 1
: REACTI
PARAMETRES
EXEMPLE
245
Cours de formation Programmation ADEPT V+ 1
On peut surveiller simultanément n'importe lesquels des 16 premiers signaux externes (1001-1016)
configurés comme entrées.
Les interruptions sont déclenchées par les TRANSITIONS des signaux, non par des niveaux.
Le signal doit rester stable pendant au moins 18 millisecondes pour garantir la détection d'une
transition.
ON
OFF
0.018 secondes
Transition sur front montant et stable
0.018 secondes
Transition sur front descendant et stable
246
Cours de formation Programmation ADEPT V+ 1
: IGNORE signal
PARAMETRE
EXEMPLES
Si une transition du signal survient entre les points 1 et 2 le programme sera interrompu et la
routine alarme sera exécutée.
Si une transition du signal 1001 survient après le point 2 l’évolution du programme continuera
normalement.
Seuls les signaux d'E/S binaires installés et configurés comme entrées peuvent faire l'objet d'une
surveillance pour interruption.
L'instruction IGNORE doit être exécutée par la même tâche programme que celle qui a exécuté
l'instruction REACT ou REACTI que l'on souhaite annuler.
Cette instruction ne produit aucun effet si une valeur nulle est spécifiée.
247
Cours de formation Programmation ADEPT V+ 1
248
Cours de formation Programmation ADEPT V+ 1
249
Cours de formation Programmation ADEPT V+ 1
: REACTE
Normalement, lorsqu’une erreur survient pendant l’exécution d’un programme de commande robot,
le programme s’arrête et un message d’erreur est affiché sur le terminal du système.
REACTE nom_programme
Lance la surveillance des erreurs robot pouvant survenir lors de l’exécution du programme de
commande du robot (tache 0)
PARAMETRE
NOTA
250
Cours de formation Programmation ADEPT V+ 1
EXEMPLE
La priorité du programme est montée à 254 à l'appel du programme de traitement des erreurs,
inactivant ainsi tous les programmes d'interruption.
L'exécution du programme s'arrête si une erreur survient alors que le système est en train de traiter
une erreur antérieure.
Le programme de traitement des erreurs peut contenir une instruction RETURN. A son exécution,
le programme tentera de réexécuter l'instruction ayant provoqué l'erreur. Noter que ceci peut
produire une boucle infinie si l'erreur continue de survenir.
Une fois déclenché (par une erreur), le traitement des erreurs est désactivé automatiquement. Donc,
il faut exécuter une autre instruction REACTE si le traitement des erreurs doit se poursuivre.
Une instruction DETACH pour le robot (unité logique numéro 0) est effectivement exécutée avant
l'accès au programme de traitement des erreurs. Donc, une instruction ATTACH doit être exécutée
pour permettre au programme de commande du robot de reprendre.
251
Cours de formation Programmation ADEPT V+ 1
: ERROR
Renvoi le numéro d’une erreur récente ayant provoqué l’arrêt de l’exécution du programme ou
entraîné un interruption REACTE.
ERROR (tache,selection)
PARAMETRE
1. Cette fonction est particulièrement utile dans le programme appelé par une fonction REACTE,
pour déterminer la raison du déclenchement de REACTE.
2 La fonction ERROR ne signale pas les erreurs signalées par la fonction IOSTAT.
252
Cours de formation Programmation ADEPT V+ 1
: $ERROR
PARAMETRE
code-erreur Expression en valeur réelle, dont la valeur (négative) définit une
situation d’erreur.
EXEMPLES
Le code ci-dessous peut être utilisé dans un sous-programme de traitement d’erreur REACTE :
Le segment de programme ci-dessous affiche un message d’erreur si une erreur d’E/S survient :
: STATE
Select=1 Si le résultat de cette test est 8, les variateur sont sous puissance mais
le robot n’est pas " Calibré "
253
Cours de formation Programmation ADEPT V+ 1
EXEMPLE
254
. PROGRAM a.main() . PROGRAM err.react
REACTE err.react SIGNAL s.reacti
s.reacti=2005 WAIT
SIGNAL –s.reacti Reacte err.react
WAIT RETURNE
Priorite=1
REACTI s.reacti,err.reacti,priorite
WHILE TRUE DO
APPROS point_1,50
MOVE point_1
BREAK . PROGRAM err.reacti()
DEPARTS 50 AUTO dest.loc, num.err
.PROGRAM ARRET.U()
PROMPT " Désactiver les APPROS point_2,50
MOVE point_2 SET dest.loc=DEST
AU puis ENTER ",dd
BREAK Num.err=ERROR(-1,0)
DO
DEPARTS CASE num.err OF
SCHEMA DU TRAITEMENT D’ERREUR
ENABLE POWER
END VALUE –908 :
UNTIL SWITCH(POWER)
Signal –s.reacti
ATTACH
WAIT
RETURN
Priorite=priorite+1
REACTI s.reacti,err.reacti,priorite
Cours de formation Programmation ADEPT V+ 1
CALL arret.u()
MOVE dest.loc
Priorite=priorite-1
REACTI s.reacti,err.reacti,priorite
RETURN
END
255
Cours de formation Programmation ADEPT V+ 1
256
Cours de formation Programmation ADEPT V+ 1
257
Cours de formation Programmation ADEPT V+ 1
Un programme de commandes peut être également utilisé pour exécuter d'autres programmes. Un
exemple d'utilisation pourrait être le chargement de fichiers-disque contenant des programmes,
positions et autres types de données que l'armoire de commande devra utiliser pour commander le
robot ou la cellule robotisée.
Les commandes d’entrée utilisées dans les programmes MC ne délivrent pas d’invites interactives ;
par exemple, DELETE,CALIBRATE et POINT fonctionnent différemment.
Les commentaires et les lignes vierges sont admises, sauf lorsque l’on utilise les commandes
suivantes :
EXEMPLE :
Programme de commande AUTO :
258
Cours de formation Programmation ADEPT V+ 1
COMMANDS nom_programme
Le Programme doit résider dans la mémoire RAM avant de lancer l’instruction COMMANDE.
ø EXECUTION AUTOMATIQUE
Le nom du fichier programme doit être AUTO
Le programme doit être stocké dans un fichier appelé AUTO.V2
Le fichier doit résider sur le disque sélectionné par défaut.
Le switch système de démarrage AUTO doit être actif (voir configuartion des switches page 19)
Le système démarre alors automatiquement à la mise sous tension et exécute les commandes se
trouvant dans le programme AUTO.
259
Cours de formation Programmation ADEPT V+ 1
260
Cours de formation Programmation ADEPT V+ 1
261
Cours de formation Programmation ADEPT V+ 1
Cette section donne une description générale des stratégies de programmation de l'afficheur, des
voyants et des touches d'entrée du boîtier de commande manuelle. La programmation du boîtier de
commande manuelle exige une connaissance de base de la programmation V+. Ce chapitre traite
des instructions utilisées spécifiquement pour le boîtier de commande manuelle.
L’afficheur du MCP est un afficheur à cristaux liquides (LCD) de 2 lignes de 80 caractères en tout.
Les instructions ATTACH, DETACH, WRITE et READ, permettent d'effectuer les opérations
d'écriture et de lecture sur cet afficheur. Ce chapitre décrit les possibilités de ces instructions
applicables à la programmation du MCP.
Pour qu'un programme d'application puisse communiquer avec le MCP , ce dernier doit d'abord être
attaché au moyen de l'instruction ATTACH. Le numéro d'unité logique du MCP est 1. L'instruction
ci-dessous prépare le MCP aux communications :
: ATTACH(l)
Comme avec tous les autres dispositifs attachés par un programme, le MCP doit être détaché
lorsque le programme a fini d'utiliser le MCP. L'instruction ci-dessous permet de libérer le MCP :
262
Cours de formation Programmation ADEPT V+ 1
: DETACH(1)
En cas d'arrêt anormal de l'exécution d'un programme (c'est-à-dire pour toute autre cause que
HALT , PAUSE ou STOP), tous ses dispositifs y restent attachés, à l'exception du terminal et du
boîtier de commande manuelle qui sont détachés.
Si le MCP a été attaché par un programme d'application, l'utilisateur peut interagir avec le boîtier de
commande manuelle sans placer le sélecteur à clé sur la position "PENDANT".
263
Cours de formation Programmation ADEPT V+ 1
: WRITE
Les instructions ci-dessous permettent d'afficher un message d'accueil sur les deux lignes de
l'afficheur du boîtier de commande manuelle :
Noter que la deuxième instruction d'écriture utilise le qualificatif /S. Ce qualificatif supprime les
caractères retour chariot-saut ligne "CR> <LF" qui sont normalement envoyés par l'instruction
d'écriture. Si ce qualificatif avait été omis, la première ligne affichée aurait été écrasée. Les codes
de commande du boîtier de commande manuelle sont décrits en détail dans cette section. Ces codes
commandent la position du curseur, les voyants du MCP et l'interprétation des pressions sur les
touches. Ces codes sont envoyés au boîtier de commande manuelle au moyen de l'instruction
WRITE. Le qualificatif « /S « , doit être transmis avec ces instructions pour éviter d'écraser
l'affichage du boîtier de commande manuelle.
Une série de pressions sur les touches d'entrée de données peut être lue. On utilise l'instruction
READ pour ce type d'entrée.
Une seule pression sur l'une quelconque des touches peut être détectée. Ces pressions uniques sur
une touche peuvent être contrôlées selon trois modes différents :
Les touches peuvent être contrôlées comme les touches d'un clavier normal.
Les touches peuvent être contrôlées en mode "tout ou rien » ("on" ou « off"). L'état de la touche
change à chaque pression sur celle-ci.
Les touches peuvent être contrôlées en mode "niveau". L'état de la touche est considéré être " on "
seulement pendant que la touche est enfoncée.
On utilise la fonction PENDANT() pour détecter les pressions sur les touches dans ce
mode. On utilise l'instruction KEYMODE pour définir le comportement des touches.
264
Cours de formation Programmation ADEPT V+ 1
PARAMETRES
EXEMPLE
265
Cours de formation Programmation ADEPT V+ 1
0 Mode clavier
Les touches programmées dans ce mode fonctionnent de façon similaires à celles d'un clavier de
terminal.
Les pressions individuelles sur les touches du MCP sont détectées au moyen de la fonction
PENDANT(). L'interprétation de la pression sur une touche est déterminée par l'instruction
KEYMODE. Le mode par défaut est "clavier". Si une .instruction PENDANT () demande une
entrée de type clavier, le numéro de la première pression sur une touche de type " clavier " sera
renvoyé. Les numéros des touches du MCP sont indiqués dans les pages suivantes. Le code ci-
dessous permet de détecter la première touche utilisateur enfoncée :
L'état de la touche peut être lu "au vol". Lorsque l'utilisateur appuie sur une touche configurée dans
ce mode, l'état interne de la touche maintenu par V+ change et l'état de la DEL de la touche (le cas
échéant) change également. La DEL est allumée lorsque la touche est à l'état ON. L'état de la
touche est disponible même lorsque le boîtier de commande manuelle n'est pas en mode USER,
mais seulement si le boîtier de commande manuelle est attaché.
La fonction PENDANT() doit spécifier la touche à contrôler pour pouvoir détecter les pressions sur
les touches en mode tout ou rien ou niveau.
Lorsqu'une touche est configurée tout ou rien, son état est maintenu à "ON" (-1) ou "OFF" (0). Cet
état bascule à chaque pression sur la tourne. Si la touche comporte une DEL, l'état de celle-ci
bascule également. Le code ci-dessous place la touche "REC/DONE" en mode tout ou rien et attend
une pression sur la touche "REC/DONE":
266
Cours de formation Programmation ADEPT V+ 1
EXEMPLE:
Les arguments de KEYMODE indiquent que la touche 8 du MCP (la touche "REC/DONE") est
configurée comme touche tout ou rien. L'argument de PENDANT() indique qu'il faut lire l'état de
la touche 8 du MCP.
2 Mode niveau
Le niveau actuel de la touche est maintenu par le boîtier de commande manuelle et peut être lu "au
vol". Si le boîtier de commande manuelle n'est pas en mode USER, le niveau renvoyé pour la
touche est zéro. L’état de la touche est ON seulement pendant qu'elle est maintenue enfoncée. Ceci
est utile, par exemple, pour commander le curseur. La valeur renvoyée n'est pas valable si le boîtier
de commande manuelle n'est pas attaché.
Lorsqu'une touche a été configurée sur le mode niveau, son état reste à "on" aussi longtemps que la
touche est maintenue enfoncée. Son état reste à "off" lorsqu'elle n'est pas enfoncée. Le code ci-
dessous utilise les touches 2, 4, 6 et 8 pour déplacer le curseur sur l'écran du terminal. Les touches
sont configurées en mode niveau, de sorte que le curseur se déplace aussi longtemps que ces
touches restent enfoncées.
EXEMPLE
267
Cours de formation Programmation ADEPT V+ 1
Le potentiomètre de vitesse du MCP renvoie une valeur allant de -128 à 127 en fonction de
l'emplacement sur lequel on appuie. Un argument "-2" à la fonction PENDANT() permet de
renvoyer la valeur du potentiomètre. Le code ci-dessous permet d'afficher l'état du potentiomètre de
vitesse.
La touche " SLOW " permet de modifier la valeur renvoyée. Le code ci-dessous comprime de 50%
la plage des valeurs renvoyées lorsque l'état de la touche " SLOW " est " ON " :
268
Cours de formation Programmation ADEPT V+ 1
: PENDANT
PARAMETRE
Selection Expression en valeur réelle, dont la valeur sélectionne le type des
informations renvoyées.
Selection = 0
Selection = -1
Selection = -2
Renvoie les valeurs actuelles du potentiomètre de vitesse, entre -128 (décimal) et 127 (décimal).
Selection = -3
Renvoie le mode d'affichage actuellement activé dans le boîtier de commande manuelle. Ceci peut
être utilisé, par exemple, pour déterminer l'état de la commande manuelle avant de tenter de
l'attacher. Les chiffres affichés doivent être interprétés comme suit :
EXEMPLES
Cet exemple définit les touches utilisateur en mode "clavier", puis attend que l'une d'elles soit
enfoncée :
269
Cours de formation Programmation ADEPT V+ 1
L'exemple ci-dessous définit la touche REC/DONE en mode "niveau" et établit une boucle jusqu'à
ce que cette touche soit enfoncée :
Selection > 0
Renvoie immédiatement une valeur qui reflète l'état actuel de la touche ayant le numéro donné, au
moment où la fonction est appelée. L'état de la touche est fonction du mode défini pour cette
touche.
En mode "clavier" ou "niveau ", une valeur ON ( -1.0) indique que le boîtier de commande
manuelle est attaché en mode USER et que la touche est enfoncée. Une valeur OFF (0.0) indique
que le boîtier de commande manuelle n'est pas attaché en mode USER ou que la touche n'est pas
enfoncée. La valeur renvoyée n'est pas significative si le boîtier de commande manuelle n'est pas
attaché.
En mode "tout ou rien", une valeur ON (-1.0) indique que la touche est "on" et une valeur OFF
(0.0) que la touche est "off". Cette valeur est significative seulement si le boîtier de commande
manuelle est attaché. Même si le boîtier de commande manuelle n'est pas en mode USER, la valeur
renvoyée reflète précisément l'état de la touche.
NOTA
Lorsque " selection " est égal à 36 (ce qui désigne la touche "SLOW"), la valeur renvoyée indique
270
Cours de formation Programmation ADEPT V+ 1
l'état en cours du "mode lent", c'est-à-dire tel qu'indiqué par la DEL de la touche. La touche
"SLOW" est toujours en mode "tout ou rien" et la commande KEYMODE n'a aucun effet sur elle.
271
Cours de formation Programmation ADEPT V+ 1
: READ
L'instruction READ accepte les entrées des "touches de données" (1, 2, 3,4, 5, 6, 7, 8, 9,
0, ,+, -) du boîtier de commande manuelle. Avec une instruction READ / un <CR-LF>
doit indiquer la fin de l'entrée des données. Sur le MCP / cette séquence est envoyée par
la touche "REC/DONE" (qui équivaut à la touche <entrée> ou <retour> d'un clavier
normal). La touche "DEL" fonctionne comme la touche " retour arrière " d'un clavier
normal et supprime les pressions de touches non entrées. L'instruction READ ne
reconnaît aucunes des autres touches du boîtier de commande manuelle. Les touches de
fonction prédéfinies sont actives et peuvent être utilisées pendant qu'un programme
attaché attend une entrée.
La ligne d'instructions :
READ(l) $reponse
Provoque une pause du programme en attente d'une entrée en provenance du boîtier de commande
manuelle. L'utilisateur termine l'entrée en appuyant sur la touche "REC/DONE". L'entrée est
mémorisée dans la variable en chaîne "$reponse". L’entrée peut être mémorisée en tant que variable
réelle mais les touches " + " et " -" ne doivent alors pas être utilisées comme entrée.
272
Cours de formation Programmation ADEPT V+ 1
Une méthode facile pour déterminer quelle touche du boîtier de commande manuelle est enfoncée
par l'opérateur consiste à utiliser une instruction telle que :
Choix = PENDANT ( 0 )
A la prochaine pression sur une touche, la valeur de celle-ci sera attribuée à la variable "choix".
Cependant, cette instruction entraîne l'attente indéterminée du programme jusqu'à ce qu'une des
touches du boîtier de commande manuelle soit enfoncée. Les appels au sous-programme REACTI
devront également attendre l'enfoncement d'une touche.
Lorsqu'il n'est pas désirable d'arrêter l'exécution du programme, on peut utiliser les instructions :
Les instructions désignées par les points sont exécutées lorsque la touche.num.l est enfoncée, dans
le cas contraire, l'exécution du programme se poursuit sans interruption.
La technique de contrôle sans attente des touches du boîtier de commande manuelle décrite ci-
dessus devient fastidieuse si l'on doit contrôler de nombreuses touches. Dans ce cas, la structure
CASE est plus efficace :
273
Cours de formation Programmation ADEPT V+ 1
Du point de vue de la programmation, il est judicieux de contrôler l'état du MCP avant d'y effectuer
un ATTACH. L'instruction :
etat.actuel = PENDANT(-3)
Le MCP réagit à un certain nombre de codes de commande qui influent sur l'afficheur LCD, sur
l'option de répétition des touches du boîtier et sur les DEL correspondant aux touches du boîtier.
Les codes de commande sont envoyés comme valeurs ASCII, en utilisant l'instruction WRITE. La
méthode normale d'envoi des codes de commande consiste à utiliser la fonction $CHR() pour
convertir un code de commande en sa valeur ASCII.
274
Cours de formation Programmation ADEPT V+ 1
Pour vider l'affichage et placer le curseur au centre de la ligne supérieure, émettre l'instruction :
Le code ci-dessous place le texte "SORTIR " au milieu de la ligne inférieure et fait clignoter ce
texte.
$CHR(23) indique au boîtier de commande manuelle d'annuler une série de positions clignotantes
commençant à l'emplacement actuel du curseur et s'étendant sur le nombre de positions spécifié par
le code de commande suivant $CHR(4).
275
Cours de formation Programmation ADEPT V+ 1
Les DEL des touches utilisateur, des touches de fonction et de la touche " REC/DONE " peuvent
être allumées (en continu ou de façon intermittente). Le code ci-dessous place le texte " CLEAR "
et " EXIT " au dessus des deux premières touches utilisateur, allume la DEL placée sur
périphérique de raccordement la première touche utilisateur et fait clignoter le voyant de la
deuxième touche utilisateur :
276
Cours de formation Programmation ADEPT V+ 1
Normalement, les touches du boîtier de commande manuelle configurées en tant que touches
"clavier" sont des touches répétitives, c'est-à-dire que des pressions de la touche sont enregistrées
aussi longtemps que la touche est maintenue enfoncée. La fonction "répétitive" peut être désactivée,
ce qui demande à l'utilisateur d'effectuer une pression distincte sur la touche pour chaque pression
de touche qu'il désire enregistrer. L'instruction ci-dessous désactive la fonction "répétitive" de la
touche point (.) :
277
Cours de formation Programmation ADEPT V+ 1
278
Cours de formation Programmation ADEPT V+ 1
NOTES
279
Cours de formation Programmation ADEPT V+ 1
NOTES
280
Cours de formation Programmation ADEPT V+ 1
281
Cours de formation Programmation ADEPT V+ 1
CHAPITRE 24 N.F.S.
NFS (Network File Server) est un protocole Client / Serveur fonctionnant sous TCP/IP permettant
au serveur de partager un espace disque et aux clients d'y avoir accès.
La principale utilisation du protocole NFS avec les contrôleurs Adept est de permettre l'échange de
fichiers entre les contrôleurs des robots et des ordinateurs de type PC.
Pour effectuer cette tâche il est indispensable d'installer un logiciel dit "serveur NFS" sur les PC
destinés à partager leurs espaces disque. Si vous disposez du kit AdeptWindows PC, un serveur
NFS est inclut dans le package, sinon vous pouvez vous en procurer un auprès d'un revendeur de
logiciels informatique. Adept recommande d'utiliser le logiciel OmniNFS de Xlink (
http://www.xlink.com/ ).
282
Cours de formation Programmation ADEPT V+ 1
Une fois que l'on connaît l'adresse IP du serveur NFS il faut créer un "alias" sur le contrôleur
Adept. L'alias est raccourci permettant de ne pas avoir a ressaisir l'adresse IP complète à chaque
fois que l'on a besoin de spécifier un équipement présent sur un réseau TPC/IP. La commande
moniteur pour créer cet alias est:
ø FSET
FSET TCP /NODE 'pc' /ADDRESS 192 168 142 103
ATTENTION: dans la commande moniteur il ne faut pas mettre de point entre les différents
champs de l'adresse IP!
Une fois l'alias créé il faut maintenant monter l'espace disque partagé. Pour ce faire il faut entrer la
commande moniteur suivante:
283
Cours de formation Programmation ADEPT V+ 1
ø NET
Cette commande permet entre autre de voir les différents disques montés ainsi que l'état des options
TCP/IP du contrôleur. L'exécution de la commande NET provoque l'affichage suivant:
FDIR NFS>C:\
Pour copier le fichier auto.v2 placé dans le répertoire \APPLI\ du disque D:\ local vers l'espace
disque partagé C on utilisera la commande moniteur:
FCOPY NFS>C:\AUTO.V2=DISK>D:\APPLI\AUTO.V2
Pour définir l'espace disque partagé C comme répertoire par défaut on utilisera la commande
moniteur:
CD NFS>C:\
CD DISK>D:\
284
Cours de formation Programmation ADEPT V+ 1
FCLOSE (lun)
DETACH (lun)
285
Cours de formation Programmation ADEPT V+ 1
ø PROBLEMES POSSIBLES:
Si dans la définition des paramètres TCP/IP de votre serveur NFS vous avez définit un serveur
DNS ou DHCP il faut créer un alias pour les différents robots qui doivent se connecter sur le
serveur. Pour créer un alias depuis Windows il suffit de modifier le fichier "hosts.sam" en ajoutant
des lignes de définition pour chaque contrôleur Adept. Une fois les lignes ajoutées il faut
sauvegarder le ficher sans aucune extension le nom du fichier devient donc: "HOSTS".
Exemple de fichier HOSTS Windows:
286
Cours de formation Programmation ADEPT V+ 1
287
Cours de formation Programmation ADEPT V+ 1
; Exemple de programme V+
;* Version V1.0
;*****************************************************************************
;* *
;* The information set forth in this document is the property of *
;* Adept Technology, Inc. *
;* *
;* and is to be held in trust and confidence. Publication, *
;* duplication, disclosure, or use for any purpose not expressly *
;* authorized by Adept Technology, Inc. in writing is prohibited. *
;* *
;* The information in this document is subject to change without *
;* notice and should not be construed as a commitment by *
;* Adept Technology, Inc. *
;* *
;* Adept Technology, Inc. *
;* makes no warranty as to the suitability of this material for *
;* use by recipient, and assumes no responsibility for any *
;* consequence resulting from such use. *
;* *
;*****************************************************************************
; DESCRIPTION:
;
; Ceci est l’entete du programme exemple developper pour la
; formation V+
;
; GLOBAL utilisation de ce programme:
;
; a.vp1_cls ; ce programme d’entete
;
; AUTHOR:
;
; Adept Training Department (980810)
;
; CHANGES:
;
; NONE
;
;----------------------------------------------------------------------------
CALL vp1_main()
RETURN
.END
288
Cours de formation Programmation ADEPT V+ 1
AUTO $error
AUTO choice, run, quit
DO
WHILE run DO
; traitement de la selection
CASE choice OF
VALUE 1: ;si la reponse est 1
CALL vp1_pnp() ;appel du PROGRAMME vp1_pck.n.plc.
run = FALSE
VALUE 2: ; si la reponse est 2
CALL vp1_cycle.time() ;appel du PROGRAMME vp1_cycle.time.
run = FALSE
END
END
UNTIL quit
RETURN
.END
289
Cours de formation Programmation ADEPT V+ 1
AUTO $ans
choice = FALSE
run = FALSE
quit = FALSE
PROMPT , $ans
; test de la reponse
choice = ASC($ans)-48
IF choice == 0 THEN
run = FALSE
quit = TRUE
END
RETURN
.END
290
Cours de formation Programmation ADEPT V+ 1
TYPE
TYPE /X15, "0 => FIN
TYPE /X15, "1 => appel programme prise depose"
TYPE /X15, "2 => appel programme d’affichage tp cycle"
TYPE
min = 0
max = 2
RETURN
.END
291
Cours de formation Programmation ADEPT V+ 1
CALL vp1_move.start()
OPENI
APPRO loc1, 30
MOVE loc1
CLOSEI
DEPART 30
APPRO loc2, 30
MOVE loc2
OPENI
DEPART 30
OPENI
APPRO loc2, 30
MOVE loc2
CLOSEI
DEPART 30
APPRO loc1, 30
MOVE loc1
OPENI
DEPART 30
.END
292
Cours de formation Programmation ADEPT V+ 1
; Capture the current permanent program speed & lower the speed
perm.speed = SPEED(2)
SPEED 20 ALWAYS
DEPART 330-DZ(HERE)
MOVE #start
RETURN
.END
293
Cours de formation Programmation ADEPT V+ 1
AUTO $d
TYPE /C45, /U40, /X15, "*** ADEPT V+ PROGRAMMING II TRAINING CLASS ***"
TYPE /X15, "Cycle Time Optimization Workshop (Version 1.0)", /C1
TYPE /X15, " Copyright 1998 by Adept Technology, Inc.", /C1
PROMPT , $d
RETURN
.END
294
Cours de formation Programmation ADEPT V+ 1
a.vp1_cl
Menu Program Exemple :LOGIGRAMME
CALL vp1_menu.input
CASE
OUI choix ==
NON
fin = TRUE
OUI choix ==
NON
CALL PROGRAM
vp1_pnp
OUI choix ==
NON
CALL
PROGRAM
ANY
UNTIL
fin
fin =
TRUE
Retour au
Systeme
295
Cours de formation Programmation ADEPT V+ 1
Exemple 2
L’exemple suivant permet de metre en œuvre une application simple en muti tache soit :
A) En cas de deafut systeme Permet une mise sous permet de traiter des Affiche les differents menu
ex. arret d’urgence le prog. puissance du robot et un evennements sur des IO et de choix.
est interrompu et le module ettalonage en cas de perte de de les interpretés. Affiche les messages
« err.r.reacti » est executé. puissance. d’erreur
Le redemarge du cycle en Visualisation de la selection
mose manuel ou auto sera Permet de selectionner le du commutateur en AUTO,
autorisé par le module mode auto par basculement voyant clignotant attente
GEMMA d’un commutateur et de passage efectif en Auto par
valider ce mode par pression le GEMMA pour voyant fix
B) Le mode de marche sur le BP dcy Visualisation commutateur
definit par le GEMMA en pas à pas ( voyant pap
permet soit de lancer ce Permet de selectionner le clignotant)
module en auto, soit en pap. mode pap par basculement
Une pression sur le BP pap du commutateur Visualisation defaut de
fait evoluer le robot en pas a AUTO/MANU puissance (voyant AU
pas clignottant)
296
Cours de formation Programmation ADEPT V+ 1
297
Cours de formation Programmation ADEPT V+ 1
298
Cours de formation Programmation ADEPT V+ 1
299
Cours de formation Programmation ADEPT V+ 1
300
Cours de formation Programmation ADEPT V+ 1
301
Cours de formation Programmation ADEPT V+ 1
302
Cours de formation Programmation ADEPT V+ 1
303
Cours de formation Programmation ADEPT V+ 1
304
Cours de formation Programmation ADEPT V+ 1
305
Cours de formation Programmation ADEPT V+ 1
306
Cours de formation Programmation ADEPT V+ 1
307
Cours de formation Programmation ADEPT V+ 1
308
Cours de formation Programmation ADEPT V+ 1
309
Cours de formation Programmation ADEPT V+ 1
310
Cours de formation Programmation ADEPT V+ 1
311
Cours de formation Programmation ADEPT V+ 1
312
Cours de formation Programmation ADEPT V+ 1
313
Cours de formation Programmation ADEPT V+ 1
ALIGN Aligne l’axe Z du repère outil avec l’axe du repère WORLD le plus proche.
ANY Signale le début de l’exécution alternatif d’un groupe d’instructions dans une structure de
type CASE.
314
Cours de formation Programmation ADEPT V+ 1
ASC (string, index) Retourne la valeur ASCII d’un caractère spécifique d’une chaîne de
caractères.
AUTO.POWER.OFF
Autorise ou pas le V+ à couper la puissance lors de certaines erreurs.
BCD (value) Convertit une valeur réelle au format BCD (Binary Coded Decimal).
315
Cours de formation Programmation ADEPT V+ 1
SCALE(transformation BY value)
SHIFT(transformation BY value, value,value)
Complément de la syntaxe des instructions SCALE et SHIFT.
CALL program(arg_list)
Suspend l’exécution du programme le temps de l’exécution du sous-
programme.
CALLP var(arg_list)
Appelle un programme par l’adresse de son pointeur.
CALLS string(arg_list)
Appelle un programme par le nom contenu dans la chaîne de caractères.
CLOSE
CLOSEI Ferme le préhenseur du robot.
316
Cours de formation Programmation ADEPT V+ 1
$DBLB (value)
Convertit un réel double précision en une chaîne de caractères codée au
format 8 bytes IEEE.
DCB (value)
Convertit une valeur binaire codée en BCD en une valeur entière.
DEFINED (var_name)
Détermine si une variable est définie.
DELAY time
Arrête le mouvement du robot durant le temps spécifié.
DEPART distance
317
Cours de formation Programmation ADEPT V+ 1
DEPARTS distance
Commande un mouvement de recul du robot de la distance spécifiée.
DETACH ( logical_unit)
Détache le périphérique spécifié au programme.
DEVICE ( type, unit, error, p1, p2, ... ) out[i], in[j], out_trans, in_trans
Envoi une commande ou des données à un périphérique externe et retourne
des données depuis ce périphérique.
DOS string, error Exécute l’instruction programme contenue dans la chaîne de caractères.
DURATION (select)
Retourne le temps minimum du déplacement déterminé par l’instruction
DURATION.
DX (location)
DY (location)
DZ (location)
Retourne la composante X, Y ou Z de la transformée.
318
Cours de formation Programmation ADEPT V+ 1
$ERROR (error_code)
Retourne la chaîne de caractères associée à un numéro d’erreur.
FCLOSE (logical_unit)
Ferme le fichier disque, la fenêtre graphique ou l’icône graphique ouverte
sur l’unité logique.
FEMPTY (logical_unit)
Vide le tampon interne utilisé dans le cas d’écriture dans un fichier disque
ou une fenêtre graphique en forçant l’écriture dans le fichier ou la fenêtre.
319
Cours de formation Programmation ADEPT V+ 1
$FLTB (value) Convertit un réel simple précision en une chaîne de caractères codée sur 4
bytes au format IEEE.
320
Cours de formation Programmation ADEPT V+ 1
GETC (lun, mode) Retourne le BYTE correspondant au dernier caractère reçu dans l’unité
logique spécifiée.
GFLOOD (logical_unit) x, y
Remplit de la couleur par défaut une région de la fenêtre graphique.
321
Cours de formation Programmation ADEPT V+ 1
IF logical_expr THEN
Exécute le groupe d’instructions suivant si le résultat de l’équation est vrai.
INRANGE (location)
Retourne une valeur identifiant la possibilité du robot à atteindre une
position.
322
Cours de formation Programmation ADEPT V+ 1
INSTALL password, op
Installe ou supprime une option logicielle.
$INTB (value) Convertit un entier binaire signé codé sur 16 bits en une chaîne de
caractères codée sur 2 bytes au format IEEE.
... KERMIT.RETRY
Détermine le nombre maximum d’essais que le driver KERMIT peut
effectuer avant de reporter une erreur.
323
Cours de formation Programmation ADEPT V+ 1
... KERMIT.TIMEOUT
Détermine le paramètre de délais que le driver de protocole KERMIT
enverra au serveur.
KILL task_number Vide la pile d’exécution d’une tâche et ferme l’accès aux périphériques
ouverts.
LAST (array_name[])
Retourne l’index le plus élevé d’un tableau.
$LNGB (value) Convertit un entier binaire signé codé sur 32 bits en une chaîne de
caractères codée sur 4 bytes.
LOCK priority Définit le niveau de priorité minimum pour l’appel des interruptions de type
REACT ou REACTI.
MC monitor_command
Introduit une commande moniteur dans un fichier de commande.
... MCP.MESSAGE
Contrôle la manière dont les messages d’erreur sont affichés lorsque le
324
Cours de formation Programmation ADEPT V+ 1
... MCS.MESSAGE Active ou désactive l’affichage sur l’écran terminal des commandes MCS.
... MONITORS
Active ou désactive l’utilisation de plusieurs fenêtres moniteur.
MULTIPLE ALWAYS
Autorise une rotation complète sur les axes du robot..
NETWORK (component,code)
Retourne l’état du réseau et l’adresse IP du robot.
325
Cours de formation Programmation ADEPT V+ 1
mouvement de manière à ce que l’angle de " pitch " du poignet ait une
valeur positive.
NONULL ALWAYS
Instruction .commandant au programme de ne pas stabiliser la position du
robot à la fin du mouvement. Page 190
NOOVERLAP ALWAYS
Génère une erreur programme si le prochain mouvement doit effectuer une
rotation sur un des axes robot de plus de 180°.
NORMAL (transformation_value)
Calcule la transformée corrigée de toute erreur mathématique.
... NOT.CALIBRATED
Retourne l’état de calibration des robots connectés au système ou décalibre
les robots.
ON Idem TRUE.
OPEN
OPENI Ouvre le préhenseur du robot.
... value OR value ... Retourne le résultat d’un .OU logique entre les deux variables
OUTSIDE (low, test, high) Test si la variable est hors des deux limites.
PARAMETER (parameter_name)
PARAMETER (parameter_name[index])
Retourne la valeur d’un paramètre système. Page 240
PAUSE Stoppe l’exécution du programme. Page 99
326
Cours de formation Programmation ADEPT V+ 1
327
Cours de formation Programmation ADEPT V+ 1
... RETRY Contrôle si le bouton " PROGRAM START " autorise le redémarrage
du programme.
RUNSIG signal_num Active la sortie tout au long de l’exécution de la tâche . Page 100
RX (angle)
RY (angle)
RZ (angle) Retourne la transformée correspondant à l’orientation. page
211
... SCREEN.TIMEOUT
Définit le temps de TIME-OUT pour éteindre le moniteur graphique.
328
Cours de formation Programmation ADEPT V+ 1
... SET.SPEED Définit si la vitesse moniteur peut être changée à l’aide du boîtier
d’apprentissage.
SIG.INS (signal_num)
Retourne TRUE ou FALSE selon que le numéro du signal est défini ou pas.
SIGN (value) Retourne 1 si value est positif et –1 si value est négatif. Page 202
329
Cours de formation Programmation ADEPT V+ 1
SOLVE.FLAGS (joints[index])
Retourne la configuration géométrique du robot correspondant aux
positions articulaires.
STATE (select) Retourne des informations d’état de l’ensemble robot. Page 253
STRDIF ($a, $b) Compare deux chaînes byte par byte pour les classer.
SWITCH (switch_name)
SWITCH (switch_name[index])
Retourne l’état d’un switch système.
330
Cours de formation Programmation ADEPT V+ 1
$TIME (date, time) Retourne une chaîne de caractères correspondant à la date ou à l’heure.
TIMER (timer_number)
Retourne la valeur en seconde d’une temporisation système. Page 196
TOOL transformation_value
Définit la transformée correspondant à la position du centre d’outil par
rapport au flasque de fixation de l’outil. Page 227
... TRACE Contrôle l’affichage des pas programme sur l’écran du terminal.
$TRANSB (transformation)
Convertit une transformée en une chaîne de caractères codée sur 48 bytes.
... TRUE ... Retourne la valeur correspondant au OUI logique. Page 120
$TRUNCATE (string)
Retourne la chaîne de caractères correspondant aux caractères de la chaîne
d’origine placés à droite du caractère ASCII NULL.
UNIDIRECT directions[index]
Spécifie qu’un axe ne tourne que dans une seule direction.
331
Cours de formation Programmation ADEPT V+ 1
caractères
... UPPER Contrôle si les caractères majuscules sont traités comme les caractères
minuscules.
VALUE expression_list:
Indique la valeur à tester dans une structure de contrôle de type
CASE…OF. Page 158
WAIT condition Met le programme en attente jusqu’à ce que la condition soit vraie. Page
197
WHILE condition DO
Début de la structure de contrôle WHILE…DO. Page 160
332
Cours de formation Programmation ADEPT V+ 1
CHAPITRE 26
333
Cours de formation Programmation ADEPT V+ 1
ø INTRODUCTION
Lorsqu'on utilise le système V + , il est possible que des erreurs de logiciel ou de matériel se
produisent. Par exemple, si l'on ne saisit pas les commandes ou les instructions correctement, V +
les rejette. Généralement, le système affiche un message indiquant l'erreur sur le terminal pour que
l'utilisateur la corrige.
ø LISTE ALPHABETIQUE
Cette section présente tous les messages d'erreur produits par V + , explique leur signification et les
mesures à prendre. Cette liste inclut également une série de messages d'information que V + affiche
dans certaines situations. Presque tous les messages de V + comportent un code numérique
permettant d'identifier le message à l'intérieur d'un programme V + . Les fonctions ERROR et
IOSTAT permettent de retourner ce code d'erreur. La chaîne $ERROR permet de retourner le
message d'erreur correspondant à un code d'erreur. Le code d'erreur de chaque message apparaît
dans la marge droite pour tous les messages ayant un code. Pour plus de commodité, la seconde
section de cette annexe indique toutes les erreurs V + par ordre de code numérique. Cette section
décrit tous les messages V + . Chaque description comprend le texte du message, son code d'erreur,
une explication de la cause probable du message et suggère la mesure à prendre.
334
Cours de formation Programmation ADEPT V+ 1
Aborted (–400)
Explication : La dernière commande saisie ou le programme en cours
d'exécution a été abandonné(e) par l'opérateur. *Are you sure (Y/N)? (10)
Action de l'utilisateur : Aucune. Explication : La commande demandée aura un effet important sur l'état du
système et V + veut savoir si vous voulez
*Already attached to logical unit* (–515) réellement l'exécuter.
Explication : Un programme a exécuté plusieurs instructions ATTACH pour Action de l'utilisateur : Pour que V + poursuive, taper o, puis appuyer sur
une unité logique donnée, sans exécuter Enter. Pour annuler la commande, taper n, puis
d'instruction DETACH entre les deux. (Le appuyer sur Enter, ou appuyer simplement sur
programme demeure lié à l'unité logique à la suite Enter.
de l'erreur.)
Action de l'utilisateur : Vérifier la logique du programme et supprimer les *Arithmetic overflow* (–409)
instructions ATTACH redondantes. Explication : Le résultat du calcul est en dehors de la plage permise des
variables numériques, ou V + a rencontré un
*Ambiguous AUTO invalid* (–477) nombre non compris dans la plage permise des
Explication : En quittant l'éditeur des programmes, V + a rencontré une entiers lors de la conversion d'une valeur
variable automatique de type indéfini. Le système numérique en nombre décimal, hexadécimal ou
ne peut déterminer s'il s'agit d'une variable réelle octal, ou en valeur logique. Les valeurs logiques
ou d'une transformée. Les variables automatiques utilisent des entiers à 32 bits, bien que la plupart
ne peuvent être ambiguës étant donné que leur des instructions qui nécessitent des arguments à
espace mémoire requis doit être connu avant de nombres entiers acceptent des entiers de 16 bits
les désigner. seulement. De plus, la grandeur des variables
Action de l'utilisateur : Ajouter le paramètre de spécification de type REAL numériques doit se situer dans une plage
ou LOC à l'instruction AUTO qui déclare la d'environ 5.4E-20 à 9.2E+18.
variable, ou référencer la variable dans une Action de l'utilisateur : Modifier le programme comme requis.
instruction de telle sorte que son type soit clair.
*A scratch frame store is needed (use VSELECT)* (–756)
*Ambiguous name* (–453) Explication : VCORRELATE transmet ce message d'erreur lorsqu'il effectue
Explication : L'abréviation utilisée pour la dernière commande, instruction une recherche hiérarchique d'échelle de gris ou
ou dernier nom défini par le système n'est pas une recherche binaire et qu'aucune mémoire vidéo
assez longue pour identifier l'opération prévue. de travail n'est disponible.
Action de l'utilisateur : Saisir à nouveau la dernière ligne avec une Action de l'utilisateur : Utiliser VSELECT pour rendre inopérante une
abréviation plus longue. mémoire vidéo virtuelle d'une mémoire vidéo
physique différente de celle recherchée.
*AOI not defined* (–752)
Explication : On a tenté de placer un outil vision à l'aide d'une AOI (zone
d'intérêt) qui n'a pas été définie. *Attempt to modify active belt* (–614)
Action de l'utilisateur : Définir l'AOI à l'aide de l'instruction VDEF.AOI.
335
Cours de formation Programmation ADEPT V+ 1
Explication : Une instruction qui modifiera le numéro du convoyeur démarrage automatique peuvent nécessiter une
actuellement suivi par le robot a été exécutée. intervention de l'utilisateur.
Action de l'utilisateur : Modifier le programme pour ne pas modifier le
numéro pendant que le robot le suit.
♦ Le robot peut commencer à se déplacer au cours de la procédure de
*Attempt to redefine variable class* variable_name (–470) démarrage automatique. Si nécessaire, on peut
Explication : Lors de la sortie de l'éditeur, la variable nommée a été détectée arrêter le robot en appuyant sur le bouton
à deux des endroits suivants : la liste des EMERGENCY STOP du contrôleur, ou sur le
arguments .PROGRAM, une instruction AUTO, bouton PANIC du boîtier de commande manuelle.
une instruction LOCAL ou une instruction
GLOBAL. *Backplane E-STOP detected by CPU* (–630)
Action de l'utilisateur : Modifier le programme pour inclure la variable à un Explication : Le système AdeptMotion a détecté une erreur ou un problème
seul de ces endroits. qui a déclenché le signal BRKSTOP sur le bus
VME. Si l'on rencontre cette erreur, cela signifie
*Attempt to redefine variable type* variable_name (–469) qu'il y a un signal BRAKE-ESTOP transitoire ou
Explication : Si l'on édite un programme, la dernière ligne saisie contient une un problème soit sur la carte d'interface de
référence à une variable qui est incohérente avec mouvement soit sur le module AWC.
son utilisation ailleurs dans le programme. Action de l'utilisateur : Corriger le problème qui fait que le système d'axes
L'erreur probable est la confusion entre une signale cette erreur .
variable de position et une variable numérique. Si
l'on vient de quitter l'éditeur, la variable nommée *Bad block in disk header* (–523)
est en conflit avec la variable globale existante. Explication : Au cours du formatage du disque, un bloc défectueux a été
Action de l'utilisateur : Si la nouvelle utilisation de la variable est correcte, détecté dans la zone d'en-tête du disque.
supprimer toutes les références à la variable L'opération de formatage a été interrompue et le
incorrecte, puis saisir à nouveau l'instruction qui a disque est inutilisable.
provoqué l'erreur. Si la nouvelle utilisation est Action de l'utilisateur : Saisir à nouveau la commande FORMAT — Si
incorrecte, utiliser un autre nom de variable. S'il y l'erreur persiste, changer de disquette.
a conflit avec une variable globale, utiliser la
commande DELETE_ pour supprimer la variable, *Bad camera calibration* (–726)
ou faire de la variable en conflit une commande Explication : Une instruction VPUTCAL a servi à transmettre les données
AUTO ou LOCAL pour le programme. d'étalonnage de la vision au système AdeptVision,
et un élément ou plusieurs éléments de données
Auto Startup... (Aucun) est erroné.
Explication : La procédure de démarrage automatique est amorcée. (Pour Action de l'utilisateur : S'assurer que le programme lit les données
plus de détails, voir la section sur les programmes d'étalonnage à partir d'un fichier de données
de commande.) valide, ou de l'assertion de valeurs correctes par le
Action de l'utilisateur : Aucune pour ce message, mais les commandes programme.
subséquentes du programme de commande de
336
Cours de formation Programmation ADEPT V+ 1
*Bad grip definition* (–721) L'étiquette peut être absente ou avoir été mal
Explication : L'instruction DEFGRIP a été exécutée avec des paramètres tapée lors de sa définition ou sur sa référence.
incorrects. Action de l'utilisateur : Vérifier les Action de l'utilisateur : Vérifier la définition et la référence de l'étiquette.
paramètres DEFGRIP. Les positions précisées par
les transformées ne doivent pas être trop * Breakpoint at (task) program_name, step n (17)
éloignées du prototype, et la largeur et la hauteur Explication : Un point d'interruption a été rencontré avant le pas indiqué.
des rectangles de la pince ne doivent pas être trop (Toute sortie associée à ce point d'interruption est
importantes. Une trop grande distance est une affichée sous le message ci-dessus.)
distance supérieure à la largeur de deux images. Action de l'utilisateur : Saisir une commande PROCEED (CTRL+P),
RETRY, SSTEP(CTRL+Z), ou XSTEP
*Belt not enabled* (–615) (CTRL+X) pour reprendre l'exécution du
Explication : Une opération du robot qui faisant référence à un convoyeur en programme. Sinon, saisir toute autre commande.1
mouvement a été tentée alors que la fonction de Les touches de commande CTRL+P, CTRL+X et
suivi du convoyeur n'était pas activée. CTRL+Z ne peuvent être utilisées que si le
Action de l'utilisateur : Saisir la commande ENABLE BELT et retenter débougueur de V + est en mode moniteur.
l'opération.
*Breakpoint not allowed here* (–380)
*Belt servo dead* (–617) Explication : On a tenté de définir un point d'interruption avant la première
Explication : Le processeur de convoyeur ne répond pas aux commandes de instruction exécutable d'un programme.
V+. Action de l'utilisateur : Saisir une nouvelle commande de point d'interruption
Action de l'utilisateur : Après avoir sauvegardé les programmes, mettre le en précisant un pas après la première instruction
contrôleur hors tension et le remettre sous tension. exécutable, c'est-à-dire, après l'instruction
Si l'erreur se répète, contacter le service après- .PROGRAM, toute instruction AUTO et LOCAL,
vente Adept. et tous les commentaires et lignes vierges au
début du programme.
*Belt window violation* (–616)
Explication : On a prévu un déplacement du robot qui l'entraîne hors de la *Calibration program not loaded* (–425)
fenêtre du convoyeur, ou le robot a quitté la Explication : Un programme requis pour l'étalonnage n'a pas été chargé à
fenêtre convoyeur lors du suivi de celui-ci. partir du disque. Cette erreur se produit
Action de l'utilisateur : Modifier le programme pour que le robot ne se généralement si certains programmes
déplace pas en dehors de la fenêtre du convoyeur. d'étalonnage n'ont pas été mis en mémoire, et si la
Consulter le paramètre BELT.MODE et commande ou l'instruction CALIBRATE est
l'instruction WINDOW pour différentes méthodes émise avec un mode d'entrée ne permettant pas
de définition de la fenêtre du convoyeur. leur chargement automatique.
Action de l'utilisateur : Réémettre la commande ou l'instruction
*Branch to undefined label* Step nnn (–412) CALIBRATE dans le mode approprié. Le mode
Explication : Une instruction du programme fait référence à une étiquette de par défaut nul provoque le chargement
programme qui n'est pas définie dans ce dernier. automatique des programmes requis du disque par
337
Cours de formation Programmation ADEPT V+ 1
la commande ou l'instruction CALIBRATE, puis Explication : La carte d'interface vision ne répond pas à une commande du
la suppression des programmes. système de vision.
Action de l'utilisateur : S'assurer que la carte d'interface vision est bien
*Calibration sensor failure* Mtr n (–1106) installée. Après avoir sauvegardé tous les
Explication : Pendant l'étalonnage, le capteur d'étalonnage du moteur indiqué programmes et les prototypes, mettre le
n'a pu être lu correctement. Cela signifie que le contrôleur hors tension et le remettre sous tension.
déplacement du robot est bloqué ou qu'une erreur Si le problème persiste, contacter le service après-
s'est produite au niveau du matériel. vente Adept.
*Camera already off* (–719) Action de l'utilisateur : Saisir une commande VPICTURE ON et reprendre
Explication : Une opération VPICTURE pour mettre la caméra hors tension l'opération qui a échoué.
a été lancée alors que la caméra était déjà hors
tension (line vision seulement). *Cancelled* (–358)
Action de l'utilisateur : Modifier le programme pour supprimer les Explication : Un opération de l'éditeur, du programme débogueur ou du
instructions VPICTURE OFF redondantes. boîtier de commande a été interrompue du fait de
l'opérateur.
*Camera already running* (–714) Action de l'utilisateur : Il s'agit généralement d'un message d'information
Explication : Une opération VPICTURE pour mettre la caméra sous tension pour confirmer l'annulation de l'opération.
a été lancée alors que la caméra était déjà en
marche (line vision seulement). *Can't access protected or read-only program* (–310)
Action de l'utilisateur : Modifier le programme pour supprimer les Explication : Une tentative de modification d'un programme protégé ou non
instructions VPICTURE ON redondantes, ou modifiable a eu lieu. Ces programmes ne peuvent
saisir une instruction VPICTURE OFF. être modifiés.
Action de l'utilisateur : Aucune.
*Camera disconnected* (–710) *Can't ALTER and track belt* (–626)
Explication : Le matériel de l'interface vision indique que la caméra n'est pas Explication : Un mouvement de convoyeur a été spécifié en mode ALTER,
connectée. Action de l'utilisateur : Vérifier la ou une tentative d'activation du mode ALTER a
caméra et son câblage afin de s'assurer qu'ils sont eu lieu pendant que le robot sélectionné procédait
connectés correctement. Si le problème persiste, au suivi d'un convoyeur. Ces deux opérations sont
consulter le manuel du système vision. interdites car le suivi de convoyeur et le mode
ALTER ne peuvent s'exécuter simultanément.
*Camera interface board absent* (–722) Action de l'utilisateur : Désactiver le mode ALTER ou interrompre le suivi
de convoyeur.
338
Cours de formation Programmation ADEPT V+ 1
*Can't create program in read-only mode* (–364) *Can't find calibration program file* (–426)
Explication : Une tentative d'édition d'un programme en mode lecture seule a Explication : Lors du traitement d'une commande ou d'une instruction
eu lieu, mais le programme n'existe pas. d'étalonnage CALIBRATE, le système V + n'a pu
Action de l'utilisateur : Si le nom du programme a été saisi de façon trouver le programme utilitaire d'étalonnage dans
incorrecte, saisir à nouveau la commande avec le le fichier CAL_UTIL.V2.
bon nom. Ne pas choisir l'accès en lecture seule Action de l'utilisateur : Restaurer le fichier manquant du disque de
(avec /R) pour la création d'un programme. distribution V + vers le répertoire \CALIB\ sur
l'unité locale ou sur le disque du système.
*Can't delete .PROGRAM statement* (–350)
Explication : Une tentative de suppression de l'instruction .PROGRAM a eu *Can't go on, use EXECUTE or PRIME* (–313)
lieu lors de la modification d'un programme. Explication : Une tentative de poursuivre l'exécution d'un programme
Action de l'utilisateur : Pour modifier l'instruction .PROGRAM, remplacez- terminé ou arrêté à cause d'une instruction HALT
la par une autre instruction .PROGRAM. Pour a eu lieu. Normalement, lorsqu'un programme a
supprimer des lignes au début du programme, terminé tous ses cycles, une erreur se produit si
passer à la ligne 2 avant d'émettre les commandes l'on saisit la commande PROCEED, RETRY ou
de suppression. XSTEP (ou si l'on appuie sur le bouton
RUN/HOLD du boîtier de commande).
*Can't execute from SEE program instruction* (–362)
339
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : À l'aide de la commande EXECUTE ou PRIME, ou Action de l'utilisateur : Arrêter le programme en cours, puis réessayer
de la fonction PRIME du boîtier de commande, l'opération.
redémarrer le programme à partir de l'instruction
voulue. *Cartesian control of robot not possible* (–635)
Explication : Un programme a tenté de commander le déplacement rectiligne
*Can't interpret line* (–450) d'un robot qui ne supporte pas ce type de
Explication : V + n'a pu interpréter la dernière commande ou instruction déplacement.
saisie. Action de l'utilisateur : Modifier le programme pour utiliser un déplacement
Action de l'utilisateur : Vérifier l'orthographe et l'utilisation, et saisir à avec axes interpolés.
nouveau la ligne. S'il y a eu erreur de chargement
à partir du disque, éditer les programmes affectés Change? (11)
pour corriger les lignes indiquées — elles ont été Explication : Il est possible de modifier la valeur de position créée à l'aide de
converties en lignes erronées. la commande HERE ou POINT.
Action de l'utilisateur : Saisir les nouveaux éléments voulus, séparés par des
*Can't mix MC & program instructions* (–414) virgules, ou appuyer sur RETURN si on ne veut
Explication : Une instruction a été lue au cours du traitement d'un apporter aucune modification. ...,
programme de commandes, ou une instruction change to : (Aucun)
MC a été lue dans un programme normal. Explication : Lors d'une opération de remplacement de chaîne, l'éditeur SEE
Action de l'utilisateur : Editer le programme de commandes pour pouvoir demande quelle est la chaîne de remplacement.
utiliser la commande DO pour inclure Action de l'utilisateur : Saisir la chaîne de remplacement. Si l'on appuie
l'instruction, ou supprimer l'instruction MC du simplement sur RETURN, la chaîne à rechercher
programme normal. est effacée (une chaîne à blanc sera utilisée pour
le remplacement).
*Can't open vision window for read/write* (–734)
Explication : On a tenté d'ouvrir la fenêtre de vision en mode lecture- *Character not in font* (–742)
écriture, mais le système de vision effectue un Explication : Dans une chaîne de caractères devant être lue ou affectée par le
traitement critique qui l'empêche d'ouvrir la système de reconnaissance optique des caractères
fenêtre. (OCR), un ou plusieurs caractères ne sont pas
Action de l'utilisateur : Modifier le programme pour qu'il tente plus tard la dans la définition de la fonte utilisée.
commande FOPEN, ou spécifier /WRITEONLY Action de l'utilisateur : Redéfinir la fonte pour inclure le ou les caractère(s)
si aucune lecture n'est prévue. manquant(s).
*Can't start while program running* (–312) *Collision avoidance dead-lock* (–647)
Explication : Une tentative de lancer l'exécution d'un programme à l'aide du Explication : Deux robots avec détecteur de collision se bloquent
boîtier de commande manuelle a eu lieu alors mutuellement le passage. Aucun des deux ne peut
qu'un programme s'exécutait déjà comme tâche se déplacer tant que l'autre ne s'est pas dégagé de
n°0. son passage. Action de l'utilisateur : Modifier le
340
Cours de formation Programmation ADEPT V+ 1
programme d'application pour empêcher cette Explication : Une tentative de lancer l'exécution d'un programme ou
situation de blocage. d'AMORCER un programme à partir de de la
fenêtre du moniteur ou du terminal de commande
Command? (Aucun) a eu lieu alors que le contrôleur n'était pas en
Explication : Une commande étendue de l'éditeur SEE a été émise à l'aide de mode automatique.
la commande X. Action de l'utilisateur : Sélectionner le mode automatique à l'aide du
Action de l'utilisateur : Saisir la commande étendue désirée, ou appuyer sur commutateur du panneau avant, ou en activant le
RETURN pour annuler la demande. commutateur approprié sur le panneau de
commande personnalisé. Réintroduire la
*Communication time-out* (–531) commande précédente.
Explication : Une opération d'E/S n'a pas été effectuée dans le délai alloué.
Pour la transmission de données, le périphérique *Controller not in manual mode* (–304)
de communication à distance n'a pas accusé Explication : Une tentative d'effectuer une opération pour laquelle le
réception de toutes les données transmises. contrôleur doit être en mode manuel a eu lieu,
Action de l'utilisateur : S'assurer que le périphérique communique mais ce dernier n'est pas en mode manuel. S'il n'y
normalement. S'assurer que les connexions du a pas de panneau avant connecté, le système
périphérique à distance fonctionnement assume que le contrôleur est en mode
normalement. automatique.
Action de l'utilisateur : Sélectionner le mode manuel à l'aide du commutateur
*Communications overrun* (–524) du panneau avant, ou à l'aide du commutateur
Explication : Des données ont été reçues sur une unité d'E/S plus rapidement approprié sur le panneau de commande
que la capacité de traitement de V + , et certaines personnalisé. Relancer l'opération précédente.
des données ont été perdues. Ceci ne se produit
que sur la ligne d'interface série ou sur le réseau. *Controller not in network mode* (–317)
Action de l'utilisateur : Modifier le programme pour un entretien plus Explication : Une tentative d'utiliser une ligne série configurée réseau a eu
fréquent de l'unité d'E/S, ajouter un protocole lieu, mais le contrôleur n'est pas en mode réseau.
d'authentification, ou ralentir la vitesse de S'il n'y a pas de panneau avant branché, le
transmission vers V + . système assume que le contrôleur est en mode
local.
*COMP mode disabled* (–603) Action de l'utilisateur : Sélectionner le mode réseau à l'aide du commutateur
Explication : La commande saisie requiert que le robot soit commandé par le du panneau avant, ou à l'aide du commutateur
contrôleur, mais le mode COMPUTER n'a pas été approprié sur le panneau de commande
sélectionné sur le boîtier de commande. personnalisé. Relancer l'opération précédente.
Action de l'utilisateur : Sélectionner le mode COMP sur le boîtier de
commande, ou autoriser le mode DRY.RUN du *Controller overheating* (–631)
terminal, puis redonner la commande. Explication : Le capteur de température du bloc d'alimentation du contrôleur
*Controller not in automatic mode* (–303) a détecté une surchauffe. La haute puissance est
coupée.
341
Cours de formation Programmation ADEPT V+ 1
342
Cours de formation Programmation ADEPT V+ 1
de nombreux petits fichiers, cela signifie que le Explication : (1) L'unité de disque demandée (ou la tâche réseau à distance)
répertoire est plein. Si le message provient d'une n'est pas prête à communiquer avec le système V
unité asservie, cela signifie qu'on a tenté d'affecter +.
trop d'axes asservis à un seul CPU. (2) Un périphérique à accès limité, tel que le
Action de l'utilisateur : Supprimer les fichiers inutiles, ou utiliser une autre terminal, le boîtier de commande manuelle ou une
unité ou disquette. Reconfigurer le système pour ligne série, est connecté à une autre tâche d'un
éviter de dépasser le nombre d'axes maximum programme.
pour la CPU. (3) On a tenté d'écrire dans une fenêtre déroulante
pendant que celle-ci était affichée.
*Device hardware not present* (–658)
Explication : Un périphérique non présent sur le système a été spécifié. Action de l'utilisateur : (1) Si le périphérique demandé est un lecteur de
Action de l'utilisateur : Vérifier si le périphérique a été correctement microdisquette du système, s'assurer que la
spécifié. S'assurer que ce périphérique est disquette est correctement insérée et formatée.
physiquement présent et qu'il est correctement (2) Si un périphérique à accès limité est spécifié,
configuré. ABANDONNER et SUPPRIMER la tâche de
programme correspondante, ou attendre que la
*Device in use* (–668) tâche de programme libère le périphérique. Si
Explication : Une tentative de connecter, d'affecter ou de configurer un l'unité spécifiée est sur le réseau, vérifier les
périphérique (par exemple, un axe VMI) déjà connexions et s'assurer que le système à distance
utilisée a eu lieu. fonctionne correctement. ANNULER et
Action de l'utilisateur : Vérifier le code du programme pour s'assurer que SUPPRIMER la tâche de programme du
l'unité requise n'est pas déjà connectée. périphérique, ou attendre que la tâche libère le
périphérique.
*DeviceNet : Critical device off-line* (–903) (3) Ne pas modifier le menu déroulant à l'aide de
Explication : Un périphérique DeviceNet considéré comme critique (utilisant l'instruction FSET pendant qu'il est affiché. Il est
le programme utilitaire CONFIG_C) est préférable d'attendre immédiatement après avoir
déconnecté. L'alimentation est coupée et ne peut reçu un événement de sélection de menu pour
être rétablie tant que ce périphérique n'est pas modifier le menu déroulant.
connecté.
Action de l'utilisateur : À l'aide de la commande DEVICENET, vérifier si *Device reset* (–663)
DeviceNet est actif et si les périphériques Explication : Le périphérique est occupé par une opération de réinitialisation.
critiques sont connectés. Vérifier le câblage Cette dernière peut avoir été demandée (à l'aide
DeviceNet et chaque périphérique. Si ce d'une instruction SETDEVICE) par une autre
périphérique a été déconnecté intentionnellement, tâche de programme qui accède au périphérique,
utiliser le programme utilitaire CONFIG_C pour ou le périphérique peut avoir lancé la
le supprimer ou l'identifier comme non critique. réinitialisation de lui-même.
343
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : Utiliser les verrous logiciels pour empêcher une Explication : Une tentative de commande DO a eu lieu sans préciser une
seconde tâche de programme d'accéder au instruction à exécuter et aucune DO n'a été saisie
périphérique après la demande de réinitialisation. avant.
Noter que l'instruction SETDEVICE attendra la Action de l'utilisateur : Saisir l'instruction voulue avec la commande DO.
fin de la réinitialisation. Consulter la
documentation du périphérique concerné pour *Driver internal consistency error* (–519)
plus d'informations sur ses réinitialisations Explication : Un périphérique d'E/S ou asservi a répondu de manière
générées automatiquement. imprévue.
Action de l'utilisateur : Relancer l'opération qui a causé l'erreur. Si elle
*Device sensor error* (–662) persiste, contacter le service après-vente Adept.
Explication : Une erreur matérielle s'est produite sur le système de capteurs
auquel la dernière instruction DEVICE a accédé. *Duplicate character in font* (–740)
Action de l'utilisateur : Consulter la documentation sur le système de Explication : Un caractère figure plusieurs fois dans la chaîne qui définit une
capteurs pour déterminer la cause de l'erreur. fonte pour le système de reconnaissance optique
des caractères (OCR).
*Device time-out* (–659) Action de l'utilisateur : Supprimer les occurrences en double pour chaque
Explication : Le périphérique pas répondu dans le délai prévu. caractère de la chaîne des caractères définis.
Action de l'utilisateur : Consulter la documentation pour ce type de dispositif
pour déterminer la cause de l'erreur. Vérifier que *Duplicate model name* (–760)
le périphérique est physiquement bien configuré. Explication : Une tentative de nommer un nouveau modèle avec un nom
existant a eu lieu.
*Directory error* (–509) Action de l'utilisateur : Utiliser un autre nom pour le modèle ou supprimer le
Explication : Cette erreur peut se produire lors du lancement d'une modèle avec le nom qu'on veut utiliser.
instruction READ (à la suite d'une instruction
FOPEND) sur un répertoire NFS. *Duplicate .PROGRAM arguments* (–468)
Action de l'utilisateur : Contrairement aux autres erreurs, cette erreur peut Explication : Au moins deux des arguments de l'instruction .PROGRAM ont
être ignorée. Des instructions supplémentaires le même nom.
READ vers ce même répertoire permettront de Action de l'utilisateur : Editer la ligne .PROGRAM pour que chaque nom
retourner correctement le contenu supplémentaire d'argument soit unique. Avec l'éditeur V + SEE,
de ce répertoire. appuyer sur la touche de fonction Annuler (F6) ou
appuyer sur ESC+CTRL+C pour annuler les
*Directory not empty* (–571) modifications apportées à la ligne .PROGRAM.
Explication : On a tenté de supprimer un répertoire NFS qui n'était pas vide.
Action de l'utilisateur : Supprimer le contenu du répertoire avant de *Duplicate prototype name* (–718)
supprimer celui-ci. Explication : Le fichier spécifié dans la commande VLOAD contient un
prototype avec le même nom qu'un prototype
*DO not primed* (–302) existant.
344
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : Supprimer (VDELETE) le prototype en conflit qui *Hard envelope error* Mtr n (–1027)
existe déjà. Par mesure de sécurité, sauvegarder Explication : Le moteur indiqué ne suivait pas la position commandée avec
tout d'abord les prototypes existants à l'aide de la assez de précision, ce qui révèle une défaillance
commande VSTORE. du Tableau E-1. Codes des messages d'erreur
d'arrêt d'urgence du MMSP externe système
*Duplicate statement label* (–464) d'asservissement matériel ou un obstacle sur le
Explication : La même étiquette d'instruction est utilisée plusieurs fois dans parcours du robot. Du fait qu'il s'agit d'une erreur
un programme utilisateur. grave, la haute puissance a été coupée.
Action de l'utilisateur : Modifier une des étiquettes en double.
Code n Explication
*Duty-cycle exceeded* Mtr n (–1021) 0 Arrêt d'urgence Adept, erreur voie 1
Explication : Le moteur mentionné a fonctionné à haut régime pendant trop 1 Arrêt d'urgence Adept, erreur voie 2
longtemps. Le système d'asservissement a 2 Arrêt d'urgence client, erreur voie 1
désactivé la fonction Arm Power (puissance du 3 Arrêt d'urgence client, erreur voie 2
bras) pour protéger le matériel du robot.
Action de l'utilisateur : Remettre le système en puissance et tenter de
Action de l'utilisateur : Activer la fonction Arm Power ; réduire la vitesse relancer le déplacement à une vitesse plus lente.
et/ou l'accélération du déplacement en cours ou S'assurer qu'aucun obstacle n'entrave le
des déplacements précédents ; répéter le mouvement du robot. Si l'erreur persiste,
déplacement interrompu. contacter le service après-vente Adept.
345
Cours de formation Programmation ADEPT V+ 1
se peut que le codeur ou son câblage soit du connecteur CIP sur le module AWC. Si l'erreur
défectueux. persiste, contacter le service après-vente Adept.
Action de l'utilisateur : Mettre le système en puissance, étalonner le robot,
puis tenter de relancer le déplacement à vitesse *E-STOP asserted by CPU* (–919)
plus lente. Si l'erreur persiste, contacter le service Explication : Une condition d'arrêt d'urgence a été générée par V + en
après-vente Adept. réponse à une erreur interne. Normalement, cette
erreur ne devrait pas être perçue.
Enter new value: (Aucun) Action de l'utilisateur : Si cela ne présente aucun risque, tenter de couper la
Explication : La commande TEACH de l'éditeur SEE demande une nouvelle haute puissance et prendre note des différents
valeur pour la variable sélectionnée, c'est-à-dire la messages d'erreur qui s'affichent. Si l'erreur
dernière affichée dans la fenêtre de débogage. persiste, contacter le service après-vente Adept.
Action de l'utilisateur : Saisir la nouvelle valeur désirée (sous forme
d'expression valide pour le type de variable *E-STOP channels 1 and 2 do not match* (–922)
sélectionnée), ou appuyer sur RETURN pour Explication : Une condition d'arrêt d'urgence est survenue car les deux voies
annuler la demande. des signaux d'arrêt d'urgence redondantes ne
signalent pas la même condition d'arrêt d'urgence.
*E-STOP 1 detected by CPU* (–608) Action de l'utilisateur : Si on utilise un circuit d'arrêt d'urgence externe,
Explication : Une condition d'arrêt d'urgence sur la voie 1 d'arrêt d'urgence a vérifier que les deux voies sont câblées et
été détectée par la CPU. Normalement, ce fonctionnent correctement. S'assurer qu'on utilise
message est supprimé et la cause de l'arrêt la bonne révision du MCP. Vérifier si le CIP est
d'urgence est signalée. correctement connecté.
Action de l'utilisateur : Si cela ne présente aucun risque, tenter de couper la
haute puissance et prendre note des différents *E-STOP circuit is shorted* (–923)
messages d'erreur qui s'affichent. Vérifier si le Explication : Une condition d'arrêt d'urgence est survenue après détection
CIP est correctement connecté. Si cette erreur d'un court-circuit sur le câblage d'arrêt d'urgence.
revient fréquemment, contacter le service après- Action de l'utilisateur : Vérifier que toutes les voies d'arrêt d'urgence sont
vente Adept. câblées et fonctionnement correctement. Si le
problème persiste, contacter le service après-vente
*E-STOP 2 detected by CPU* (–914) Adept.
Explication : Une condition d'arrêt d'urgence sur la voie 2 d'arrêt d'urgence a
été détectée par le CPU. Normalement, ce *E-STOP circuit relay failure* (–907)
message est supprimé et la cause de l'arrêt Explication : Une condition d'arrêt d'urgence s'est produite parce que la
d'urgence est signalée. Il peut s'agir d'un problème chaîne d'arrêt d'urgence de l'une des voies ne
matériel du CIP, de son câblage ou du module présente pas le même état que l'autre voie. Ceci
AWC. peut être provoqué par les contacts soudés de l'un
Action de l'utilisateur : Maintenir le commutateur d'activation du MCP et des deux relais d'arrêt d'urgence (panne sur le
remettre le système en puissance. Renfoncer la CIP), un court-circuit sur l'une des voies d'arrêt
prise du connecteur JAWC sur le CIP et la prise d'urgence (panne sur le CIP ou sur les connexions
346
Cours de formation Programmation ADEPT V+ 1
utilisateur), ou une paire de contacts connectés Explication : Une condition d'arrêt d'urgence est survenue parce que le
aux voies d'arrêt d'urgence en état opposé (l'une circuit du poussoir d'arrêt d'urgence utilisateur a
ouverte, l'autre fermée). été coupé.
Action de l'utilisateur : Vérifier toutes les connexions utilisateur sur chacune Action de l'utilisateur : Rétablir le circuit du poussoir d'arrêt d'urgence
des voies d'arrêt d'urgence (prises bien enfoncées, utilisateur. Remettre le système en puissance.
contacts de chaque voie tous fermés). Si les
connexions utilisateur ne révèlent aucune *E-STOP from user muted safety gate* (–921)
anomalie, appeler le Service après-vente Adept. Explication : Une condition d'arrêt d'urgence est survenue parce que la porte
de sécurité silencieuse utilisateur a été ouverte en
*E-STOP from amplifier* (–641) mode automatique. En mode manuel, cette erreur
Explication : La carte d'interface de mouvement a détecté une condition ne devrait pas être signalée.
d'arrêt d'urgence générée par les variateurs du Action de l'utilisateur : Fermer la porte de sécurité silencieuse et remettre le
moteur. Cela signifie que les ariateurs ont détecté système en puissance. Si la porte est déjà fermée,
un état défectueux. vérifier le commutateur, les connecteurs
Action de l'utilisateur : Vérifier s'il y a un autre message. Pour déterminer s'il correspondants et le câblage.
y a eu une erreur non signalée du RSC, taper listr
error(task,4), où task est le numéro de la tâche qui *E-STOP from front panel button* (–908)
a reçu l'erreur. Si aucune information Explication : Une condition d'arrêt d'urgence est survenue parce qu'on a
supplémentaire n'est disponible, vérifier si les appuyé sur le poussoir d'arrêt d'urgence sur le
variateurs sont correctement branchés sur le fond panneau avant du CIP.
de panier, si les vis de fixation sont bien serrées et Action de l'utilisateur : Débloquer le poussoir de verrouillage d'arrêt
si le moteur et les câbles de signaux sont bien d'urgence. Remettre le système en puissance.
connectés.
*E-STOP from front panel external input* (–911)
*E-STOP detected by robot* (–643) Explication : Une condition d'arrêt d'urgence est survenue parce qu'elle a été
Explication : La carte d'interface de mouvement a détecté une condition commandée par un signal d'entrée externe du
d'arrêt d'urgence due au signal de freinage panneau avant.
d'urgence (BRAKE-ESTOP) validé sur le bus Action de l'utilisateur : Rétablir l'état du signal d'entrée externe du panneau
VME. avant. Remettre le système en puissance.
Action de l'utilisateur : Vérifier s'il y a un autre message. Pour déterminer s'il
y a eu une erreur non signalée du RSC, taper listr *E-STOP from MCP enable switch* (–913)
error(task,4), où task est le numéro de la tâche qui Explication : Une condition d'arrêt d'urgence est survenue parce que le
a reçu l'erreur. Si aucune information commutateur d'activation (auparavant appelé
supplémentaire n'est disponible, appeler le service commutateur HOLD-TO-RUN) du MCP a été
après-vente Adept. relâché. Si l'on relâche ce commutateur en mode
manuel, le système procède à une mise hors
*E-STOP from user E-STOP button* (–910) tension effectuée sous contrôle et non à un arrêt
d'urgence.
347
Cours de formation Programmation ADEPT V+ 1
*E-STOP from MCP E-STOP button* (–909) Explication : Le commutateur DRY.RUN est activé et l'exécution du
Explication : Une condition d'arrêt d'urgence est survenue parce qu'on a programme a été demandée. Par conséquent,
appuyé sur le bouton d'arrêt d'urgence du MCP. aucun déplacement du robot n'aura lieu.
Action de l'utilisateur : Débloquer le bouton de verrouillage d'arrêt Action de l'utilisateur : Aucune, à moins qu'on veuille faire bouger le robot.
d'urgence. Remettre le système en puissance. Dans un tel cas, annuler l'exécution du
programme et désactiver le commutateur
*E-STOP from robot* (–640) DRY.RUN
Explication : La carte d'interface de mouvement a détecté une condition
d'arrêt d'urgence produite par le RSC du robot. *Expected character(s) not found* (–745)
Cette erreur est probablement due à une faible Explication : Lors de l'apprentissage de caractères pour la reconnaissance
pression d'air, à un dépassement de course de optique ultérieure de caractères, le nombre de
l'axe 1 ou à une surchauffe du moteur. Un autre caractères de la chaîne donnée ne correspondait
message d'erreur donne peut-être plus pas au nombre de caractères trouvés sur la fenêtre
d'informations. d'apprentissage. L'apprentissage des caractères a
Action de l'utilisateur : Vérifier s'il y a un autre message. Pour déterminer s'il été annulé.
y a eu une erreur non signalée du RSC, taper listr Action de l'utilisateur : S'assurer que la chaîne en question correspond aux
error(task,4), où task est le numéro de la tâche qui caractères sur la fenêtre d'apprentissage.
a reçu l'erreur. Si aucune information
supplémentaire n'est disponible, vérifier si la *[Fatal] Addr Err* at aaaaaa m:n I=xxxx, A=aaaa, F=ff (Aucun)
pression d'air est trop faible, s'il y a dépassement Explication : Un problème interne est survenu sur le logiciel V + ou sur le
de course de l'axe 1 ou encore surchauffe du matériel du système.
moteur. Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette
erreur à l'ingénieur d'application Adept. Veuillez
*E-STOP from user enable switch* (–912) également indiquer les détails du message d'erreur
Explication : Une condition d'arrêt d'urgence est survenue parce qu'on a et ce que vous faisiez lorsque l'erreur s'est
appuyé sur le commutateur d'activation utilisateur produite. Pour sauvegarder les programmes en
(auparavant appelé HOLD-TO-RUN). Si l'on mémoire, relancer V + momentanément en
relâche ce commutateur en mode manuel, le appuyant sur CTRL+G. Les variateurs du robot
système procède à une mise hors tension ne fonctionneront pas, mais il est possible de
effectuée sous contrôle et non à un arrêt SAUVEGARDER les programmes. Mettre
d'urgence. ensuite le contrôleur hors tension, puis redémarrer
Action de l'utilisateur : Appuyer sur le commutateur d'activation utilisateur le système.
et remettre le système en puissance. Si l'on a déjà
appuyé sur le commutateur, vérifier ce dernier *[Fatal] Bus Err* at aaaaaa m:n I=xxxx, t=aaaa, F=ff (Aucun)
ainsi que ses connecteurs et son câblage.
348
Cours de formation Programmation ADEPT V+ 1
Explication : Une erreur s'est produire au niveau du contrôleur à cause d'une SAUVEGARDER les programmes. Mettre
erreur de lecture de la mémoire, de bruit sur le ensuite le contrôleur hors tension, puis redémarrer
bus de données interne ou d'un problème matériel. le système.
Action de l'utilisateur : Pour sauvegarder les programmes en mémoire,
redémarrer V + momentanément en appuyant sur *[Fatal] Emul 1111 Trap* at aaaaaa m:n (Aucun)
CTRL+G. Les variateurs du robot ne Explication : Un problème interne est survenu sur le logiciel V + ou sur le
fonctionneront pas, mais il est possible de matériel du système.
SAUVEGARDER les programmes. Mettre Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette
ensuite le contrôleur hors tension, puis redémarrer erreur à l'ingénieur d'application Adept. Veuillez
le système. Si le problème persiste, contacter le également indiquer les détails du message d'erreur
service après-vente Adept. et ce que vous faisiez lorsque l'erreur s'est
produite. Pour sauvegarder les programmes en
*[Fatal] CHK Trap* at aaaaaa m:n (Aucun) mémoire, redémarrer V + momentanément en
Explication : Un problème interne est survenu sur le logiciel V + ou sur le appuyant sur CTRL+G. Les variateurs du robot
matériel du système. ne fonctionneront pas, mais il est possible de
Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette SAUVEGARDER les programmes. Mettre
erreur à l'ingénieur d'application Adept. Veuillez ensuite le contrôleur hors tension, puis redémarrer
également indiquer les détails du message d'erreur le système.
et ce que vous faisiez lorsque l'erreur s'est
produite. Pour sauvegarder les programmes en *[Fatal] E-STOP signals are stuck off* (–904)
mémoire, redémarrer V + momentanément en Explication : Au cours du démarrage du système, ce dernier procède à un
appuyant sur CTRL+G. Les variateurs du robot essai pour s'assurer qu'aucun signal d'arrêt
ne fonctionneront pas, mais il est possible de d'urgence n'est bloqué. Ce message d'erreur est
SAUVEGARDER les programmes. Mettre suivi par un ou plusieurs messages d'erreur d'arrêt
ensuite le contrôleur hors tension, puis redémarrer d'urgence standard indiquant quels signaux sont
le système. bloqués. Lorsque cette erreur se produit, le robot
ne peut être mis sous tension.
*[Fatal] Emul 1010 Trap* at aaaaaa m:n (Aucun) Action de l'utilisateur : Vérifier le câblage des circuits d'arrêt d'urgence.
Explication : Un problème interne est survenu sur le logiciel V + ou sur le Vérifier les connexions du panneau d'interface du
matériel du système. contrôleur (CIP). Contacter le service après-vente
Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette Adept pour obtenir de l'aide.
erreur à l'ingénieur d'application Adept. Veuillez
également indiquer les détails du message d'erreur *[Fatal] Illeg Instr* at aaaaaa m:n (Aucun)
et ce que vous faisiez lorsque l'erreur s'est Explication : Un problème interne est survenu sur le logiciel V + ou sur le
produite. Pour sauvegarder les programmes en matériel du système.
mémoire, redémarrer V + momentanément en Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette
appuyant sur CTRL+G. Les variateurs du robot erreur à l'ingénieur d'application Adept. Veuillez
ne fonctionneront pas, mais il est possible de également indiquer les détails du message d'erreur
349
Cours de formation Programmation ADEPT V+ 1
et ce que vous faisiez lorsque l'erreur s'est Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette
produite. Pour sauvegarder les programmes en erreur à l'ingénieur d'application Adept. Veuillez
mémoire, on peut redémarrer V + également indiquer les détails du message d'erreur
momentanément en appuyant sur CTRL+G. Les et ce que vous faisiez lorsque l'erreur s'est
variateurs du robot ne fonctionneront pas, mais il produite. Pour sauvegarder les programmes en
est possible de SAUVEGARDER les mémoire, on peut redémarrer V + temporairement
programmes. Mettre ensuite le contrôleur hors en appuyant sur CTRL+G. Les variateurs du
tension, puis redémarrer le système. robot ne fonctionneront pas, mais il est possible
de SAUVEGARDER les programmes. Mettre
*[Fatal] I/O processor failure* (–905) ensuite le contrôleur hors tension, puis redémarrer
Explication : Le processeur d'E/S de la carte principale du CPU n'a pas le système.
démarré correctement. Ce processeur est
primordial pour le fonctionnement en toute *[Fatal] Priv Viol* at aaaaaa m:n (Aucun)
sécurité du robot. Par conséquent, si cette erreur Explication : Un problème interne est survenu sur le logiciel V + ou sur le
se produit, le système ne pourra pas être mis en matériel du système.
puissance. Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette
Action de l'utilisateur : Mettre le contrôleur hors circuit, puis le redémarrer. erreur à l'ingénieur d'application Adept. Veuillez
Essayer une autre unité d'amorçage. Recharger le également indiquer les détails du message d'erreur
logiciel du système. Si le problème persiste, et ce que vous faisiez lorsque l'erreur s'est
contacter le service après-vente Adept pour produite. Pour sauvegarder les programmes en
obtenir de l'aide. mémoire, on peut redémarrer V +
momentanément en appuyant sur CTRL+G. Les
*[Fatal] Manual mode switch stuck off* (–920) variateurs du robot ne fonctionneront pas, mais il
Explication : Au cours de l'initialisation du système, un essai matériel du est possible de SAUVEGARDER les
circuit de mode manuel a détecté le blocage du programmes. Mettre ensuite le contrôleur hors
commutateur à clé en mode automatique. Cette tension, puis redémarrer le système.
erreur indique une situation dangereuse et
empêche la mise en puissance du système. *[Fatal] Spurious Int* at aaaaaa m:n (Aucun)
Action de l'utilisateur : Rechercher tout commutateur de mode manuel en Explication : Un problème interne est survenu sur le logiciel V + ou sur le
cours d'utilisation. Vérifier si le CIP est matériel du système.
correctement connecté. Redémarrer le contrôleur Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette
V + pour éliminer l'erreur et reprendre l'essai. Si erreur à l'ingénieur d'application Adept. Veuillez
le problème persiste, contacter le service après- également indiquer les détails du message d'erreur
vente Adept. et ce que vous faisiez lorsque l'erreur s'est
produite. Pour sauvegarder les programmes en
*[Fatal] OVF Trap* at aaaaaa m:n (Aucun) mémoire, redémarrer V + momentanément en
Explication : Un problème interne est survenu sur le logiciel V + ou sur le appuyant sur CTRL+G. Les variateurs du robot
matériel du système. ne fonctionneront pas, mais il est possible de
350
Cours de formation Programmation ADEPT V+ 1
SAUVEGARDER les programmes. Mettre Action de l'utilisateur : Mettre le contrôleur hors tension et tenter de le
ensuite le contrôleur hors tension, puis redémarrer redémarrer. Si le problème persiste, contacter le
le système. service après-vente Adept.
*[Fatal] Uninit Trap* at aaaaaa m:n (Aucun) *[Fatal Force Err] ...* ... (Aucun)
Explication : Un problème interne est survenu sur le logiciel V + ou sur le Explication : Le processeur d'effort a détecté une condition d'erreur. Il est
matériel du système. possible de continuer à utiliser le système V + ,
Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette sans utiliser le capteur d'effort tant que l'erreur
erreur à l'ingénieur d'application Adept. Veuillez n'est pas corrigée.
également indiquer les détails du message d'erreur Action de l'utilisateur : Aucune intervention nécessaire si on ne prévoit pas
et ce que vous faisiez lorsque l'erreur s'est d'utiliser le capteur d'efforts. Sinon, consulter la
produite. Pour sauvegarder les programmes en documentation du capteur d'effort pour corriger
mémoire, on peut redémarrer V + temporairement l'erreur.
en appuyant sur CTRL+G. Les variateurs du
robot ne fonctionneront pas, mais il est possible *[Fatal] Graphics/display processor error* (Aucun)
de SAUVEGARDER les programmes. Mettre Explication : Le processeur graphique du système graphique n'a pas répondu
ensuite le contrôleur hors tension, puis redémarrer aux commandes du système V + .
le système. Action de l'utilisateur : Mettre le contrôleur hors tension et tenter de le
redémarrer. Si le problème persiste, contacter le
*[Fatal] ZDIV Trap* at aaaaaa m:n (Aucun) service après-vente Adept.
Explication : Un problème interne est survenu sur le logiciel V + ou sur le
matériel du système. *[Fatal] Initialization failure* Mtr n (–1014)
Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette Explication : Au cours de l'initialisation d'un module cinématique du robot,
erreur à l'ingénieur d'application Adept. Veuillez l'initialisation du moteur indiqué a échoué. Il peut
également indiquer les détails du message d'erreur s'agir d'une carte d'interface d'asservissement
et ce que vous faisiez lorsque l'erreur s'est manquante ou mal configurée, ou d'une
produite. Pour sauvegarder les programmes en configuration erronée du moteur pour ce module.
mémoire, redémarrer V + momentanément en Action de l'utilisateur : S'assurer que toutes les cartes d'interface
appuyant sur CTRL+G. Les variateurs du robot d'asservissement sont bien installées et
ne fonctionneront pas, mais il est possible de configurées (à l'aide du programme utilitaire
SAUVEGARDER les programmes. Mettre SPEC.V2 pour la configuration des moteurs). Si
ensuite le contrôleur hors tension, puis redémarrer le problème persiste, contacter le service après-
le système. vente Adept.
*[Fatal] DIV Instr Err* at aaaaaa m:n (Aucun) *[Fatal] Invalid serial I/O configuration* (Aucun)
Explication : Le système V + a détecté une erreur à partir d'une instruction Explication : Au cours du démarrage initial, V + a détecté que la
DIVIDE. Cela indique une défaillance du configuration du matériel pour les
processeur. communications série n'était pas valide. On a
351
Cours de formation Programmation ADEPT V+ 1
352
Cours de formation Programmation ADEPT V+ 1
programmes. Mettre ensuite le contrôleur hors numéro d'unité logique mentionné avant de
tension, puis redémarrer le système. procéder à l'opération FOPEN.
353
Cours de formation Programmation ADEPT V+ 1
Explication : L'opération NFS a créé un fichier trop gros pour la capacité du *Font not defined* (–736)
serveur. Explication : La police spécifiée pour la reconnaissance optique des
Action de l'utilisateur : Fermer le fichier, ouvrir un nouveau fichier, et caractères (OCR) n'est pas définie.
relancer l'opération précédente. Action de l'utilisateur : Utiliser VDEF.FONT ou VLOAD pour définir la
police.
Find : (Aucun)
Explication : Lors du lancement d'une opération de recherche ou de *Font not loaded* (–551)
remplacement de chaîne, l'éditeur SEE demande Explication : La police spécifiée n'existe pas.
quelle chaîne rechercher dans le programme. Action de l'utilisateur : Spécifier une autre police (la police 1 est toujours
Action de l'utilisateur : Saisir la chaîne recherchée, ou appuyer sur RETURN chargée).
pour annuler la demande.
*Front panel serial bus failure* (–925)
*First statement must be .PROGRAM* (–351) Explication : Le bus série i2c du module AWC du CIP est en panne. Ce bus
Explication : On a tenté d'insérer ou d'ajouter une instruction avant sert aux E/S du panneau avant et aux signaux
l'instruction .PROGRAM qui doit être la première d'E/S numériques sur le CIP. Lorsque ce bus
instruction du programme. tombe en panne, la haute puissance est coupée.
Action de l'utilisateur : Déplacer le curseur sous la ligne .PROGRAM du Normalement, ce message s'affiche lors de
programme avant de tenter d'insérer ou d'ajouter l'exécution de certains programmes de diagnostic.
des instructions. Action de l'utilisateur : Vérifier le câblage du module AWC vers le CIP.
Mettre le contrôleur hors tension, puis le
*Font already defined* (–737) redémarrer. Si le problème persiste, contacter le
Explication : On a tenté de charger (VLOAD) un fichier de polices de service après-vente Adept pour obtenir de l'aide.
caractères (pour reconnaissance optique de
caractères) contenant une police qui porte le *Force protect limit exceeded* (–624)
numéro d'une police déjà en mémoire. Le Explication : Au moins une jauge de contrainte du capteur d'effort a dépassé
chargement a été annulé et aucune des polices du la limite prédéfinie, provoquant l'arrêt d'urgence
fichier n'a été chargée. du robot. Ceci peut être dû à des efforts élevés au
Action de l'utilisateur : Renommer ou supprimer la police actuellement cours d'une insertion, d'une panne ou d'une
définie dans la mémoire. accélération rapide.
Action de l'utilisateur : En cas de panne, s'assurer que la zone de travail est
*Font not completely trained* (–738) évacuée. Si le dépassement de limite survient en
Explication : Lors de la préparation d'une police pour la reconnaissance fonctionnement normal, élever cette limite ou
optique des caractères (OCR), certains ou tous les désactiver le mode de protection. Remettre le
caractères de la police n'ont pas été appris. système en puissance à l'aide du boîtier de
Action de l'utilisateur : Afficher la police (avec VSHOW.FONT) pour voir commande manuelle et poursuivre l'opération.
quels caractères n'ont pas été appris. Les
apprendre ou les supprimer de la police. *Front panel HIGH POWER lamp failure* (–924)
354
Cours de formation Programmation ADEPT V+ 1
Explication : La puissance a été coupée après détection d'une défaillance graphique. La cause peut être une panne
(circuit ouvert) de l'ampoule HIGH POWER du momentanée du matériel ou une erreur de logiciel.
panneau avant. Cette ampoule est probablement Action de l'utilisateur : Essayer de sauvegarder le plus de données possibles
hors service. Cette situation est considérée sur le disque. Exécuter les commandes moniteur
comme dangereuse. L'arrêt d'urgence n'est pas ZERO 1 et ZERO 2 pour supprimer les données
signalé. Cependant, on ne peut pas remettre le graphiques. Si l'erreur persiste, mettre le
système en puissance tant que l'ampoule n'est pas contrôleur hors tension, puis redémarrer le
remplacée. système.
Action de l'utilisateur : Remplacer l'ampoule HIGH POWER. Voir (HALTED) (8)
«Remplacement de l'ampoule du voyant HIGH Explication : Une instruction d'arrêt (HALT) a été exécutée, provoquant
POWER» à la page 217. l'arrêt du programme en cours.
Action de l'utilisateur : Toute commande de moniteur peut être saisie, mais
*Function already enabled* (–422) on ne peut pas utiliser la commande PROCEED
Explication : On ne doit pas activer certaines fonctions ou opérations pour reprendre l'exécution du programme.
lorsqu'elles le sont déjà. Le mode ALTER est une
de ces fonctions. *Hard envelope error* Mtr n (–1027)
Action de l'utilisateur : Eviter de réactiver la fonction ou l'opération. Explication : Le moteur indiqué ne suivait pas la position commandée avec
assez de précision, ce qui révèle une défaillance
*Graphics processor timeout* (–552) du système d'asservissement matériel ou un
Explication : Le processeur graphique (sur le processeur du système) n'a pu obstacle sur le parcours du robot. Du fait qu'il
répondre à une commande de V + dans les cinq s'agit d'une erreur grave, la haute puissance a été
secondes. coupée.
Action de l'utilisateur : Sauvegarder tous les programmes et toutes les Action de l'utilisateur : Remettre le système en puissance et tenter de
variables sur le disque, puis redémarrer le système relancer le déplacement à une vitesse plus lente.
à partir du disque. Si le problème persiste, S'assurer qu'aucun obstacle n'entrave le
contacter le service après-vente Adept. mouvement du robot. Si l'erreur persiste,
contacter le service après-vente Adept.
*Graphics software checksum error* (–558)
Explication : Le code de la carte graphique est corrompu. *Hardware not in system* (–805)
Action de l'utilisateur : Sauvegarder les programmes nouveaux ou modifiés, Explication : Une instruction a tenté d'accéder à un matériel optionnel (tel
redémarrer le contrôleur et recharger les que la carte FORCE) non installé sur le système.
programmes. Si le problème persiste, contacter le Action de l'utilisateur : Installer le matériel en question ou supprimer
service après-vente Adept. l'instruction d'accès à ce matériel.
*Graphics storage area format error* (–555) *HIGH POWER button not pressed* (–646)
Explication : Au cours de l'exécution d'une commande FREE, V + a détecté Explication : L'interrupteur HIGH POWER n'a pas été actionné dans le délai
des données corrompues dans la mémoire prescrit. Ce message peut également avoir été
355
Cours de formation Programmation ADEPT V+ 1
356
Cours de formation Programmation ADEPT V+ 1
*Illegal I/O channel number* (–518) Action de l'utilisateur : Corriger le numéro d'axe.
Explication : Le système a rencontré un numéro de voie d'E/S interne non
valide. Cela révèle un problème interne du *Illegal memory reference* (–418)
logiciel V + . Explication : Une opération a tenté de désigner une adresse mémoire
Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette incorrecte. Soit l'adresse spécifiée es en dehors de
erreur à l'ingénieur d'application Adept. Veuillez la plage, soit elle n'est utilisée par aucun des
également indiquer les détails du message d'erreur modules d'E/S.
et ce que vous faisiez lorsque l'erreur s'est Action de l'utilisateur : Corriger l'adresse ou installer le module manquant.
produite.
*Illegal monitor command* (–300)
*Illegal I/O device command* (–502) Explication : Le système ne reconnaît pas le nom de la dernière commande,
Explication : Une unité d'E/S a rejeté une commande. Certains dispositifs probablement parce qu'elle comporte une faute de
n'acceptent pas toutes les commandes. Par frappe ou parce qu'il s'agit d'une instruction et non
exemple, les E/S d'accès direct au terminal ou à d'une commande.
l'unité Kermit sont interdites ; la fonction GETC Action de l'utilisateur : Vérifier le nom de la commande et saisir celle-ci de
ne peut pas être lue à partir d'un fichier disque nouveau. Utiliser la commande DO pour appeler
ouvert pour accès direct. Ce message d'erreur une instruction à partir du terminal.
révèle également un problème matériel du
contrôleur de l'unité. *Illegal motion from here* (–613)
Action de l'utilisateur : Corriger la commande d'E/S pour la rendre Explication : Le dernier déplacement commandé ne peut s'exécuter depuis la
compatible avec l'unité. Si le problème persiste, position actuelle du robot. Par exemple, NEST ne
contacter l'ingénieur d'application Adept pour peut être exécutée qu'immédiatement après une
obtenir de l'aide. instruction READY. La commande CALIBRATE
ne peut être exécutée qu'après la mise sous
*Illegal I/O redirection specified* (–525) tension, LIMP ou NEST ; seules les instructions
Explication : On a désigné un réacheminement d'E/S non acceptable dans CALIBRATE et READY peuvent être exécutées
une commande «monitor» DEFAULT, une lorsque le robot est sur NEST.
commande en mode «monitor» d'E/S de disque Action de l'utilisateur : Exécuter la séquence d'opérations appropriée avant
(LOAD ou STORE_), ou dans une instruction de relancer le déplacement désiré.
ATTACH. Il y a soit une erreur de syntaxe, soit
une demande de réacheminement non valide pour *Illegal operation* (–423)
la configuration d'E/S. Explication : Une instruction a tenté de lancer une opération interdite.
Action de l'utilisateur : Vérifier la syntaxe de l'instruction non valide. Action de l'utilisateur : Vérifier l'instruction en cours au moment où l'erreur
Vérifier la configuration d'E/S pour s'assurer que s'est produite. S'assurer que rien n'entrave son
l'unité de réacheminement est autorisée. exécution.
357
Cours de formation Programmation ADEPT V+ 1
Explication : On a tenté : (1) de saisir une ligne autre qu'une instruction Explication : La carte du contrôleur qui traite les images vision n'a pas
.PROGRAM à la première ligne du programme, répondu lors du traitement d'une demande de
ou (2) de saisir une instruction .PROGRAM avec prise d'image.
une erreur de syntaxe. Action de l'utilisateur : Après avoir sauvegardé les programmes, les variables
Action de l'utilisateur : Déplacer le curseur sous la première ligne du et les prototypes vision, mettre le contrôleur hors
programme, puis saisir la ligne correctement. tension. S'assurer que le processeur d'images est
(Avec l'éditeur V + SEE, on peut appuyer sur la bien enfoncé dans le fond de panier du contrôleur.
touche de fonction Annuler ou sur ESC+CTRL+C Si le problème persiste, contacter le service après-
pour annuler les modifications apportées à la vente Adept.
ligne .PROGRAM.
*Incompatible robot and safety ID* (–644)
*Illegal record length* (–528) Explication : Le robot et le contrôleur n'ont pas les mêmes options de
Explication : Une instruction FOPEN a spécifié une longueur sécurité.
d'enregistrement non autorisée. Par exemple, la Action de l'utilisateur : S'assurer que le robot et le contrôleur appropriés sont
valeur est négative ou trop grande, ou la longueur utilisés ensemble. Installer la licence de sécurité
de l'enregistrement est nulle avec le mode d'accès appropriée EN954 sur le contrôleur (ou l'enlever).
direct spécifié.
Action de l'utilisateur : Editer le programme pour qu'il spécifie une longueur *Inconsistent hierarchy levels* (–757)
d'enregistrement acceptable ou le mode d'accès Explication : L'instruction visuelle VPLAN.FINDER a tenté de combiner
séquentiel. deux modèles ou plus de recherche d'objet qui
n'ont pas été configurés au même niveau
*Illegal use of belt variable* (–466) hiérarchique (sous-échantillon).
Explication : Une variable de convoyeur a été utilisée dans un contexte qui Action de l'utilisateur : Reconfigurer les modèles pour qu'ils soient tous au
ne l'autorise pas, probablement dans une même niveau hiérarchique.
transformée composée, mais pas à la position la
plus à gauche. *Information not available* (–730)
Action de l'utilisateur : Editer le programme pour utiliser la variable de Explication : (1) Une opération VGETPIC, VPUTPIC, VRULER,
convoyeur de façon appropriée. VRULERI ou VWINDOW a été tentée alors que
la mémoire d'images (binaire ou échelle de gris)
*Illegal user LUN specified* (–527) ne contient pas de données d'images correctes. (2)
Explication : Une instruction d'E/S a désigné un numéro d'unité logique Aucune information n'est disponible pour VGAPS
(LUN) non défini dans le système V + , ou à ni VSUBPROTO (par exemple,
laquelle il n'est pas possible d'accéder de la façon V.LAST.VER.DIST est sur zéro), ou le nom du
spécifiée. (Voir la Action de l'utilisateur : prototype spécifié ne correspond pas à celui du
S'assurer que Kermit n'accède à aucun fichier, dernier objet défini.
puis relancer l'opération échouée. Action de l'utilisateur : Modifier les opérations précédant celle qui a échoué
pour être sûr que les conditions requises sont
*Image processing board failure* (–728) réunies.
358
Cours de formation Programmation ADEPT V+ 1
359
Cours de formation Programmation ADEPT V+ 1
Explication : Un spécificateur de format de sortie non identifié a été lu dans caractère autre que les deux points. Les noms de
une instruction TYPE ou WRITE, ou dans une police sont mentionnés par FONT_n, où n étant
fonction $ENCODE. un entier compris entre 0 et 50. (Le nom
Action de l'utilisateur : Editer le programme pour utiliser un spécificateur de particulier FONT_0 fait référence à toutes les
format valide. polices.) Dans le même ordre d'idées, les noms de
*Invalid hardware configuration* (–533) modèles ont la forme TMPL_n. Les noms de
Explication : On a tenté d'accéder à une unité d'E/S de façon incompatible prototypes ne doivent pas commencer ni par
avec sa configuration. Ce dispositif est soit absent FONT_, ni par TMPL_.
du système soit configuré pour une autre Action de l'utilisateur : Lancer de nouveau l'opération en spécifiant
utilisation. Par exemple, si une ligne de correctement le nom de prototype, sous-
communication série est configurée comme port prototype, police ROC ou de modèle de
réseau, on ne peut y accéder comme à une ligne corrélation.
série utilisateur. *Invalid network address* (–561)
Action de l'utilisateur : S'assurer qu'on accède au périphérique approprié. Explication : Cette erreur se produit lorsqu'un serveur NFS n'a pas
Mettre le contrôleur hors tension et tenter de le correctement exporté le chemin utilisé, ou lorsque
redémarrer. S'assurer que le disque d'amorçage l'adresse de réseau IP utilisée n'est pas de classe
utilisé convient au contrôleur. Utiliser le A, B ou C.
programme utilitaire CONFIG_C pour vérifier la Action de l'utilisateur : Vérifier les adresses IP utilisées pour désigner les
configuration d'E/S série. Si le problème persiste, nœuds du réseau.
contacter l'ingénieur d'application Adept pour *Invalid network protocol* (–541)
obtenir de l'aide. Si l'erreur est due à une Explication : Un message a été reçu et rejeté par un noeud distant parce qu'il
opération d'E/S du disque, cela signifie que le ne respectait pas le protocole prévu. Si l'on tentait
matériel de contrôle du disque est mal configuré. d'accéder au périphérique KERMIT, ce message
Dans ce cas, contacter le service après-vente indique que le serveur distant a signalé une erreur
Adept. ou transmis un message que le pilote de Kermit
*Invalid in read-only mode* (–352) sur V + n'a pas compris.
Explication : Lors de l'accès à un programme en mode lecture seule, on a Action de l'utilisateur : Vérifier si la version du logiciel réseau sur le noeud
lancé une fonction d'édition interdite. distant est compatible avec le logiciel réseau du
Action de l'utilisateur : Modifier le programme d'édition en mode lecture- noeud local. Désactiver (DISABLE) ou activer
écriture, ou utiliser une autre commande d'édition. (ENABLE) les noeuds du réseau concernés et
*Invalid model name* (–732) relancer l'opération. Si l'erreur se produit de façon
Explication : Le nom d'un prototype, d'un sous-prototype, d'une police OCR répétée, contacter l'ingénieur d'application Adept
ou d'un modèle de corrélation a été spécifié de pour obtenir de l'aide. (Voir le Manuel
façon incorrecte. Le format correcte de nom de d’utilisation du langage V + pour plus de détails
prototype est proto:subproto, où proto est un nom sur Kermit.)
de prototype, et subproto, celui d'un sous- *Invalid network resource* (–560)
prototype. Cette erreur se produit si les deux Explication : Cette erreur se produit lorsqu'on désigne un noeud qui n'a pas
points sont suivis d'un blanc, ou si l'on utilise un été défini.
360
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : Vérifier les définitions de noeuds. le terminal du système pour interrompre la
*Invalid number format* (–456) commande VTRAIN, ou interrompre l'exécution
Explication : Une erreur de syntaxe a été décelée au cours de la lecture d'un du programme qui a lancé l'apprentissage.
numéro. Par exemple, le chiffre 8 ou 9 a été *Invalid servo error* Mtr n (–1001)
rencontré lors de la lecture d'un numéro octal. Explication : Une erreur non identifiée a été signalée pour le moteur de robot
Action de l'utilisateur : Saisir à nouveau la ligne avec un numéro valide. indiqué.
*Invalid orientation* (–619) Action de l'utilisateur : Relancer l'opération. Si l'erreur persiste, contacter le
Explication : On a commandé un déplacement vers une position définie par service après-vente Adept.
une transformée dont l'orientation pointe vers le *Invalid servo initialization data* (–625)
haut au lieu du bas. Explication : Au cours de l'initialisation du système V + , après l'amorçage à
Action de l'utilisateur : Corriger la définition de la transformée de partir du disque, le système à détecté des données
destination. Par exemple, il peut s'avérer d'initialisation du variateur dans un format
nécessaire de corriger la transformée de base dans incorrect. Ceci peut être dû à une utilisation d'une
la transformée composée. (La composante p de version du programme utilitaire SPEC
toutes les transformées de destination doit être incompatible avec le système V + .
d'environ 180 degrés.) Action de l'utilisateur : S'assurer que le disque système a été configuré
*Invalid program or variable name* (–455) correctement. Contacter l'ingénieur d'application
Explication : Un nom défini par l'utilisateur utilisé dans une commande ou Adept pour obtenir de l'aide.
une instruction n'a pu être reconnu par V + . *Invalid software configuration* (–315)
Action de l'utilisateur : Vérifier le nom et saisir à nouveau la ligne. Explication : Au cours du démarrage initial, V + a constaté que le logiciel du
*Invalid qualifier* (–476) système n'était pas correctement configuré pour
Explication : Un qualificateur non valide a été spécifié dans la dernière les options ou le matériel présent.
commande. Action de l'utilisateur : Mettre le contrôleur hors tension et tenter de le
Action de l'utilisateur : Saisir à nouveau la commande avec un qualificateur redémarrer. S'assurer que le disque d'amorçage
valide. utilisé est compatible avec le contrôleur. Si le
*Invalid request while camera running* (–706) problème persiste, contacter le service après-vente
Explication : On a tenté de lancer une opération pour laquelle le système Adept pour obtenir de l'aide.
vision doit être inactif, mais ce dernier était en *Invalid statement label* (–463)
train de traiter une image. Explication : L'étiquette de l'instruction n'est pas un entier compris entre 0 et
Action de l'utilisateur : Utiliser une instruction VWAIT pour mettre en 65535.
attente l'exécution du programme jusqu'à ce que Action de l'utilisateur : Saisir à nouveau la ligne avec une étiquette valide.
le système vision soit inactif. Invalid steps will be changed to ?
*Invalid request while vision training* (–729) lines (Aucun)
Explication : On a tenté de lancer une instruction VEDGE.INFO ou VGAPS Explication : La commande étendue AUTO.BAD a été utilisée pour changer
alors que le système vision était en mode la mesure à prendre lorsqu'une ligne non valide
d'apprentissage de prototype. est détectée en cours d'édition. Par la suite, cette
Action de l'utilisateur : À l'aide du boîtier de commande manuelle, arrêter ligne sera automatiquement remplacée par une
l'apprentissage du prototype, puis taper Ctrl+C sur
361
Cours de formation Programmation ADEPT V+ 1
ligne non valide avec un point d'interrogation à la entraîneraient une modification de la pile, ce qui
colonne 1. est interdit.
Action de l'utilisateur : Aucune. Il s'agit d'un message d'information. Action de l'utilisateur : Retirer le programme de la pile en laissant la tâche
*Invalid VFEATURE access* (–801) s'exécuter jusqu'à ce que le programme voulu
Explication : Une fonction VFEATURE a servi à accéder, à partir du exécute une instruction RETURN ou lance une
système vision, à des données non valides. En commande KILL en mode «monitor» pour vider
particulier, à la suite d'une instruction VLOCATE la pile. Si on utilise l'éditeur de programme SEE,
en mode sans attente, les données vision sont appuyer sur la touche Annuler pour poursuivre
incorrectes si VFEATURE(1) renvoie la valeur l'édition.
FALSE. *Invalid when program task active* (–311)
Action de l'utilisateur : Editer le programme de sorte qu'à la suite d'une Explication : On a tenté de lancer une tâche de robot ou de programme PC
instruction VLOCATE, aucun accès VFEATURE alors que cette tâche était déjà en cours
[autre que VFEATURE(1)] n'ait lieu si d'exécution.
VFEATURE(1) indique que les données vision ne Action de l'utilisateur : Annuler la tâche en cours d'exécution, ou, si possible,
sont pas valides. lancer l'exécution du programme comme une
*Invalid vision argument* (–735) tâche différente.
Explication : Un argument pour une fonction vision, une instruction ou une *I/O communication error* (–507)
commande n'est pas dans la plage autorisée. Explication : Une erreur matérielle a été détectée dans l'interface d'E/S.
Action de l'utilisateur : Vérifier la plage autorisée Action de l'utilisateur : Réessayer la commande. Si le problème persiste,
pour les arguments de cette fonction, instruction contacter le service après-vente Adept.
ou commande. Vérifier l'étalonnage vision pour *I/O queue full* (–517)
s'assurer que l'échelle est raisonnable. Explication : Un périphérique a reçu trop rapidement un trop grand nombre
*Invalid vision X/Y ratio* (–727) de demandes d'E/S et il n'y a plus de place dans la
Explication : Une instruction VPUTCAL a été utilisée pour transmettre les file d'attente.
données d'étalonnage vision au système Action de l'utilisateur : Relancer l'opération. Si le problème persiste, nous
AdeptVision, mais le rapport des échelles x et y vous remercions de signaler cette erreur à
n'est pas dans la plage autorisée. l'ingénieur d'application Adept. Veuillez
Action de l'utilisateur : S'assurer que le programme lit les données également indiquer les détails du message d'erreur
d'étalonnage à partir d'un fichier de données et ce que vous faisiez lorsque l'erreur s'est
valide, ou de l'assertion de valeurs correctes par le produite.
programme. *Is a directory* (–568)
*Invalid when program on stack* (–366) Explication : Le programme appelant a spécifié un répertoire dans une
Explication : On a tenté d'éditer l'instruction .PROGRAM ou AUTO alors opération NFS ne s'appliquant pas à un répertoire.
que le programme figure sur une pile d'exécution Action de l'utilisateur : Reprendre l'opération en appelant un fichier et non
de tâche. Lorsqu'une tâche se trouve sur une pile, un répertoire ; ou effectuer une opération
ses arguments de sous-programme et ses valeurs appropriée pour un répertoire.
de variables automatiques sont conservés sur la *Joint 1 in brake track or robot overheated* (–606)
piles. La modification de ces instructions
362
Cours de formation Programmation ADEPT V+ 1
Explication : (1) L'axe 1 du robot s'est déplacé dans la piste de freinage Action de l'utilisateur : S'assurer qu'on utilise correctement les fonctions et
matériel, ce qui provoque la coupure de la les opérations de position, puis éditer le
puissante et empêche le robot de bouger. (2) Il y a programme comme requis.
surchauffe de la base du robot. Action de Macro (Z ends) : (Aucun)
l'utilisateur : (1) Appuyer sur le bouton de Explication : On a lancé la définition d'une macro-commande de l'éditeur
déblocage du frein à la base du robot et remettre SEE.
les axes dans leur espace de fonctionnement Action de l'utilisateur : Taper la macro-commande, puis appuyer sur Z pour
normal. Remettre le système en puissance et indiquer la fin de la définition.
poursuivre l'exécution du programme. (2) Vérifier *Manual brake release* (–639)
le filtre du ventilateur à la base du robot, puis Explication : Le bouton de déblocage manuel du frein du robot est actif. Une
vérifier la température ambiante du robot. Laisser fois que l'on a appuyé sur ce bouton, on ne peut
refroidir le robot, remettre le système en plus établir la puissance.
puissance et poursuivre l'exécution du Action de l'utilisateur : S'assurer que le bouton de déblocage manuel du frein
programme. (habituellement situé sur le robot) est inactif. Si le
*Line too long* (–354) problème persiste alors que l'on n'a pas appuyé
Explication : On a tenté une opération qui aurait pu entraîner un pas de sur le bouton, contacter le service après-vente
programme contenant trop de caractères. Un pas Adept.
de programme peut contenir au plus environ 150 *Manual control pendant failure* (–650)
caractères. Explication : Un programme a tenté d'accéder au boîtier de commande
Action de l'utilisateur : Saisir le pas de programme sous forme de deux pas manuelle alors que ce dernier était déconnecté ou
distincts ou plus. en panne.
*Location out of range* (–610) Action de l'utilisateur : S'assurer que le boîtier de commande est bien
Explication : V + a détecté une position trop éloignée (probablement dans un connecté. Si le problème persiste, contacter le
calcul intermédiaire), ou hors de portée du robot. service après-vente Adept.
Cela indique peut-être une erreur dans la valeur *Manual mode switch 1 off detected by CPU* (–917)
d'un argument de fonction de position ou dans Explication : Une condition d'arrêt d'urgence est survenue en mode manuel
une transformée composée. parce que la CPU a détecté sur la voie de signaux
Action de l'utilisateur : S'assurer qu'on utilise correctement les fonctions et 1 que le bouton de mode manuel était sur le mode
les opérations de position, puis éditer le automatique. Normalement, ce message s'efface
programme comme requis. et le système signale l'erreur – 645. Il peut s'agir
*Location too close* (–618) d'un problème matériel du CIP, de son câblage ou
Explication : On a tenté de déplacer le robot vers une position trop proche de du module AWC.
sa colonne. Cela indique probablement une erreur Action de l'utilisateur : Si cela ne présente aucun risque, basculer le bouton
dans la valeur de l'argument de fonction de de mode automatique/manuel, puis tenter de
position, ou d'une transformée composée remettre le système en puissance. Renfoncer la
incorrecte. prise du connecteur JAWC sur le CIP et la prise
du connecteur CIP sur le module AWC. Vérifier
363
Cours de formation Programmation ADEPT V+ 1
364
Cours de formation Programmation ADEPT V+ 1
ou à l'instruction demandée. Cela signifie que service après-vente Adept. Le tableau suivant
l'argument était inexistant ou que l'argument résume les informations sur les codes.
présent n'était pas valide. Il est possible qu'on ait Les procédures de test de ces messages
utilisé un seul signe (=) pour l'opérateur s'adressent uniquement au personnel qualifié ou
relationnel d'égalité (==). formé. Le travail est effectué en présence de
Action de l'utilisateur : Vérifier la syntaxe de l'opération, puis saisir à tensions dangereuses, dont celles du panneau de
nouveau la ligne. sécurité. Tout manque de prudence risque
*Missing bracket* (–475) d'entraîner des blessures graves, voire mortelles.
Explication : Dans la description d'un élément de tableau, un crochet gauche Tableau E-2. Codes des messages d'erreur de diagnostic MMSP
(moins de) n'a pas son crochet droit (plus de) Code n Explication Action de l'utilisateur
correspondant. Soit il y a un crochet gauche de 0 Pas de réponse du matériel de carte d'arrêt d'urgence, ou erreur de
trop, soit il manque un crochet droit. parité.Vérifier que le panneau de sécurité est
Action de l'utilisateur : Saisir à nouveau la ligne en veillant à ce que chaque alimenté en c.a. et que l'alimentation c.c. est
crochet gauche ait un crochet droit correspondant. configurée correctement.
*Missing parenthesis* (–459) 1 Erreur matériel état 1.
Explication : On a tenté d'évaluer une expression avec un nombre inégal de Une erreur s'est produite ans la séquence de ommunication ou de test.
parenthèses ouvrantes et fermantes. éessayer. Si le problème persiste, cela peut être dû
Action de l'utilisateur : Corriger l'expression. à une carte d'arrêt d'urgence défaillante. Noter le
*Missing quote mark* (–460) message et le numéro de code de l'erreur, et
Explication : Une chaîne entre guillemets n'a pas de guillemet fermant contacter le service près-vente Adept.
correspondant en fin de ligne. 2 Erreur matériel état 2.
Action de l'utilisateur : Taper un guillemet à la fin de la chaîne. Les chaînes Une erreur s'est produite dans la séquence de comunication ou de
ne peuvent pas dépasser les limites de ligne. test.Réessayer. Si le problème persiste,cela peut
*Mixing half and full resolutions* (–750) être dû à une carte d'arrêt d'urgence défaillante.
Explication : On a défini un modèle (prototype de reconnaissance, police Noter le message et le numéro de code de l'erreur,
OCR ou modèle de corrélation) à l'aide d'une et contacter le service après-vente Adept.
image plein cadre, mais celui-ci a été appliqué à 3 Erreur matériel contacteur AP1puissance de bras.
une image demi-cadre (champ seulement), ou Consulter le Manuel d'instruction du robot ou contacter le service après-
vice versa. vente Adept.
Action de l'utilisateur : S'assurer qu'on utilise la caméra virtuelle appropriée *MMSP external sensor fault* Code n (–1109)
pour définir et appliquer le modèle. Un tableau Ces codes de messages concernant le matériel, consulter avant tout le
d'étalonnage qui contient les données indiquant si Manuel d'instruction du robot. Si l'on ne trouve
la caméra doit capter des images plein cadre ou pas de réponse aux questions, contacter le service
demi-cadre est associé à chaque caméra virtuelle. après-vente Adept. Si l'un de ces codes de
*MMSP diagnostic error* Code n (–1108) message s'affiche, s'écarter du robot et essayer de
Ces codes de message étant surtout destinés au matériel, consulter le Manuel remettre le système sous tension. Si le même code
d'instruction du robot en premier lieu. Si l'on ne d'erreur s'affiche de nouveau sans raison
trouve pas de réponse aux questions, contacter le apparente, cela peut provenir d'une défaillance du
365
Cours de formation Programmation ADEPT V+ 1
capteur. Le tableau suivant résume les raisons des Si l'erreur s'est produite pendant qu'un programme déplaçait le robot, tenter
codes de messages. de modifier le programme pour un déplacement
♦ Les procédures de test de ces messages plus lent du robot ou pour que ce dernier accélère ou décélère plus
s'adressent uniquement au personnel qualifié ou lentement. Pour les défauts sur les câbles et les
formé. Le travail est effectué en présence de capteurs, consulter le Manuel d'instruction du
tensions dangereuses, dont celles du panneau de robot ou contacter le service après-vente Adept.
sécurité. Tout manque de prudence risque 1 Erreur accéléromètre, voie 2. Le robot (axe 1 ou 2) se déplace ou accélère
d'entraîner des blessures graves, voire mortelles. trop rapidement :
4 Erreur matériel contacteur AP2 puissance de bras. l'accéléromètre a un problème ou la fonction d'essai intégré de
Consulter le Manuel d'instruction du robot ou contacter le service après- l'accéléromètre est défaillante. Si l'erreur s'est
vente Adept. produite pendant qu'un programme déplaçait le
5 Erreur matériel relais de contrôle cyclique, voie 1 (SR8). Une erreur s'est robot, tenter de modifier le programme pour un
produite dans la séquence de communication ou déplacement plus lent du robot ou pour que ce
de test. Réessayer. Si le problème persiste, cela dernier accélère ou décélère plus lentement. Pour
peut être dû à une carte d'arrêt d'urgence les défauts sur les câbles et les capteurs, consulter
défaillante. Consulter le le Manuel d'instruction du robot ou contacter le
Manuel d'instruction du robot ou contacter le service après-vente Adept. service après-vente Adept.
Noter le message et le numéro de code de l'erreur 2 Erreur capteur de limitation de tension variateur 3, voie 1. Le robot (axe 3)
avant de contacter le service après-vente Adept. se déplace ou accélère trop rapidement : défaut du
6 Erreur matériel relais de contrôle cyclique, voie 2 (SR9). Une erreur s'est capteur de limitation de tension, ou fonction
produite dans la séquence de communication ou d'essai intégrée du capteur de limitation de
de test. Réessayer. Si le problème persiste, cela tension défaillante. Si l'erreur s'est produite
peut être dû à une carte d'arrêt d'urgence pendant qu'un programme déplaçait le robot,
défaillante. Consulter le Manuel d'instruction du tenter de modifier le programme pour un
robot ou contacter le service après-vente Adept. déplacement plus lent du robot ou pour que ce
Noter le message et le numéro de code de l'erreur dernier accélère ou décélère plus lentement. Pour
avant de contacter le service après-vente Adept. les pannes de matériel, consulter le Manuel
d'instruction du robot ou contacter le service
Tableau E-2. Codes des messages d'erreur de diagnostic MMSP(Suite) après-vente Adept.
Code n Explication Action de l'utilisateur 3 Erreur capteur de limitation de tension variateur 3, voie 2. Le robot (axe 3)
Tableau E-3. Codes de message d'erreur de défaut de capteur du MMSP se déplace ou accélère trop rapidement : défaut du
externe capteur de limitation de tension, ou fonction
Code n Explication Action de l'utilisateur d'essai intégrée du capteur de limitation de
0 Erreur accéléromètre, voie 1. Le robot (axe 1 ou tension défaillante. Si l'erreur s'est produite
2) se déplace ou accélère trop rapidement : pendant qu'un programme déplaçait le robot,
l'accéléromètre a un problème ou la fonction d'essai intégré de tenter de modifier le programme pour un
l'accéléromètre est défaillante. déplacement plus lent du robot ou pour que ce
dernier accélère ou décélère plus lentement. Pour
366
Cours de formation Programmation ADEPT V+ 1
les pannes de matériel, consulter le Manuel Explication : Le variateur du moteur indiqué a signalé un état défectueux sur
d'instruction du robot ou contacter le service la ligne 1. Cette panne ne se produit que sur les
après-vente Adept. dispositifs contrôlés par le système
4 Erreur capteur de limitation de tension variateur 4, voie 1. Le robot (axe 4) d'asservissement AdeptMotion. L'interprétation
se déplace ou accélère trop rapidement : défaut du de cette panne varie selon l'unité contrôlée.
capteur de limitation de tension, ou fonction Action de l'utilisateur : Remettre le système en puissance et redémarrer le
d'essai intégrée du capteur de limitation de programme. Si l'erreur persiste, prendre les
tension défaillante. Si l'erreur s'est produite mesures appropriées pour le système
pendant qu'un programme déplaçait le robot, AdeptMotion. S'il s'agit d'un robot Adept
tenter de modifier le programme pour un standard, contacter le service après-vente Adept.
déplacement plus lent du robot ou pour que ce *Motor overheating* Mtr n (–1016)
dernier accélère ou décélère plus lentement. Pour Explication : Le moteur indiqué surchauffe.
les pannes de matériel, consulter le Manuel Action de l'utilisateur : Réduire la vitesse, l'accélération et/ou la décélération
d'instruction du robot ou contacter le service des déplacements du robot, ou intercaler des
après-vente Adept. délais dans le cycle de l'application pour
5 Erreur capteur de limitation de tension variateur 4, voie 2. Le robot (axe 4) permettre au moteur de refroidir.
se déplace ou accélère trop rapidement : défaut du *Motor stalled* Mtr n (–1007)
capteur de limitation de tension, ou fonction Explication : Le moteur indiqué a calé en cours de fonctionnement. Ceci est
d'essai intégrée du capteur de limitation de généralement dû à un obstacle sur le parcours du
tension défaillante. Si l'erreur s'est produite robot.
pendant qu'un programme déplaçait le robot, Action de l'utilisateur : Remettre le système en puissance et redémarrer le
tenter de modifier le programme pour un programme. Retirer l'obstacle ou modifier le
déplacement plus lent du robot ou pour que ce programme pour que le robot suive un parcours
dernier accélère ou décélère plus lentement. Pour différent.
les pannes de matériel, consulter le Manuel *Motor startup failure* Mtr n (–1105)
d'instruction du robot ou contacter le service Explication : Au cours de l'étalonnage, le moteur indiqué ne s'est pas déplacé
après-vente Adept. comme prévu. Cela peut être dû à l'un des
6 Erreur arrêt d'urgence total, voie 1 (SR5) Consulter le Manuel d'instruction problèmes suivants : (1) Le moteur est obstrué ou
du robot ou contacter le service après-vente a atteint une butée de fin de course, (2) la charge
Adept. du robot est trop importante pour l'étalonnage, (3)
le dispositif
Tableau E-3. Codes de message d'erreur de défaut de capteur du MMSP 7 Erreur arrêt d'urgence total, voie 2 (SR4)
externe(Suite) Consulter le Manuel d'instruction du robot ou contacter le service après-
Code n Explication Action de l'utilisateur vente Adept.
Code n Explication Action de l'utilisateur d'entraînement du moteur ne
fonctionne pas ou (4) les codeurs de position ne
*Motor amplifier fault* Mtr n (–1018) fonctionnent pas.
367
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : Eloigner le robot de ses butées et enlever toute Action de l'utilisateur : Redémarrer le protocole DDCMP.
charge inhabituelle. Remettre le système en *Network connection closed* (101)
puissance et tenter de nouveau l'étalonnage. Si Explication : Une connexion client s'est fermée sur l'unité logique concernée.
l'erreur persiste, contacter le service après-vente Action de l'utilisateur : Aucune. Il s'agit d'un message d'information.
Adept. *Network connection opened* (100)
*Must be in debug mode* (–360) Explication : Une nouvelle connexion client a été établie sur l'unité logique
Explication : On a tenté une fonction d'édition possible uniquement lorsque concernée.
le débogueur du programme est actif. Action de l'utilisateur : Aucune. Il s'agit d'un message d'information.
Action de l'utilisateur : Utiliser une autre commande d'édition ou activer le *Network connection terminated* (–565)
débogueur du programme à l'aide de la Explication : Cette erreur survient lorsqu'on tente des opérations d'entrée ou
commande étendue DEBUG de l'éditeur SEE ou de sortie alors que la connexion réseau est déjà
de la commande en mode «monitor» DEBUG. terminée.
*Must use CPU #1* (–666) Action de l'utilisateur : Rétablir la connexion réseau, puis retenter
Explication : Une commande ou instruction devant être exécutée sur la CPU l'opération.
1 a été lancée sur une autre CPU. *Network error* Code n (valeur reçue)
Action de l'utilisateur : Réexécuter la commande ou l'instruction sur la CPU Explication : Un code d'erreur entre 255 et -1 (inclus) a été reçu du réseau.
1. Ce code d'erreur que V + ne peut interpréter est
*Must use straight-line motion* (–611) transmis à l'utilisateur.
Explication : On a tenté de lancer une instruction de déplacement d'axe alors Action de l'utilisateur : Selon l'application. Si le code affiché n'a pas de
que le système était dans un mode n'autorisant signification pour l'application utilisée, s'assurer
que les mouvements rectilignes. Par exemple, on que le contrôleur distant transmet des données
ne peut utiliser que des mouvements rectilignes valides.
lors de la gestion d'un convoyeur. *Network node off line* (–538)
Action de l'utilisateur : Remplacer l'instruction par une autre instruction qui Explication : On a tenté de transmettre des données sur un noeud de réseau
ne demande que des mouvements rectilignes. connu qui n'est pas connecté. Le noeud est soit
*Negative overtravel* Mtr n* (–1032) désactivé, soit n'est pas connecté au réseau.
Explication : Le moteur indiqué a dépassé sa plage de déplacement négatif Action de l'utilisateur : Vérifier si le noeud distant est actif et connecté au
limitée par le matériel. réseau. Vérifier également si le noeud local est
Action de l'utilisateur : Ramener le robot dans son espace de travail. Corriger connecté au réseau.
la cause du dépassement par le robot. Rétablir *Network not enabled* (–542)
l'alimentation. Explication : On a tenté d'accéder à un noeud de réseau distant, ou de lancer
*Negative square root* (–410) certaines fonctions réseau alors que le réseau
Explication : On a tenté de calculer la racine carrée d'un nombre négatif. n'était pas actif.
Action de l'utilisateur : Corriger le programme comme requis. Action de l'utilisateur : Active le réseau et relancer l'opération.
*Network closed locally* (–535) *Network resource name conflict* (–564)
Explication : On a tenté d'accéder à une ligne série DDCMP alors que le Explication : Le nom spécifié pour un montage NFS est le même que le nom
protocole était inactif. Le protocole a sans doute d'un réseau existant, tel que le nom d'un disque
été arrêté par une autre erreur. NFS
368
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : Changer le nom. Action de l'utilisateur : Continuer l'appel sélectif vers l'unité d'E/S jusqu'à
*Network restarted remotely* (–534) réception des données, ou utiliser une demande de
Explication : V + a reçu un message de démarrage DDCMP du système lecture qui attende automatiquement les données à
distant alors que le protocole avait déjà recevoir.
commencé. Le système distant a probablement *No matching connection* (–539)
arrêté et redémarré son protocole. Le protocole Explication : Une demande de liaison logique sur le réseau a été reçue et
local est arrêté et toutes les demandes d'E/S en rejetée car il n'y a aucune connexion
attente ont terminé avec cette erreur. correspondante sur le noeud distant.
Action de l'utilisateur : (1) Fermer et rouvrir la ligne DDCMP ; (2) vérifier la Tableau E-4. Codes de message d'erreur du NFS
logique du programme distant pour savoir Code n Explication
pourquoi il a redémarré le protocole. 19 Dispositif inexistant.
*Network timeout* (–562) 30 Système de fichiers en lecture seule. Une opération d'écriture a été tentée
Explication : Cette erreur se produit lorsqu'on lance une transaction réseau et sur un système de fichiers en lecture seule.
qu'aucune réponse ne parvient du serveur. 69 Quota disque dépassé. Le quota du disque client sur le serveur a été
Action de l'utilisateur : Vérifier l'intégrité du réseau. S'assurer que le serveur dépassé.
fonctionne correctement. S'assurer également que 99 La mémoire cache d'écriture du serveur utilisée pour l'appel
l'adresse IP utilisée est correcte. WRITECACHE a été vidée sur le disque.
*NFS error* Code n (–1200 à –1299) Action de l'utilisateur : Vérifier si la liaison logique correcte a été spécifiée.
Explication : NFS envoyant des messages d'erreur sans signification pour V Vérifier également si le noeud distant fonctionne
+ , certaines d'entre elles sont considérées comme correctement.
des erreurs variables NFS. Ces erreurs *No models* (–758)
s'interprètent de la façon suivante : le numéro Explication : L'instruction VSTORE ou la commande en mode «monitor» n'a
d'erreur –(1200+n) de V + correspond au code trouvé aucun modèle à enregistrer.
d'erreur n de NFS. Le Tableau E-4 décrit les Action de l'utilisateur : Fournir les noms de modèles corrects à l'instruction
codes d'erreur NFS actuellement connus qui sont VSTORE.
signalés de cette façon. *No models planned* (–761)
*No air pressure* (–607) Explication : La reconnaissance ne peut pas commencer car aucun modèle
Explication : V + a détecté une défaillance de l'alimentation d'air des freins objet n'a été prévu pour la caméra virtuelle
et du préhenseur du robot. La puissance est concernée.
coupée et ne peut être rétablie sans le Action de l'utilisateur : Saisir le numéro de caméra virtuelle ou le plan
rétablissement de la pression d'air. approprié utilisant le numéro de caméra spécifié.
Action de l'utilisateur : Rétablir la pression d'air, remettre le système en (Voir l'instruction VPLAN.FINDER dans le
puissance et relancer le programme. Si l'erreur AdeptVision optionnel.)
persiste, contacter le service après-vente Adept. *No objects seen* (–704)
*No data received* (–526) Explication : Le système de vision signale qu'il n'a vu aucun objet à la suite
Explication : Une demande de lecture d'E/S sans attente n'a trouvé aucune d'une commande VTRAIN ou VLOCATE. Dans
donnée à retourner. Il ne s'agit pas vraiment d'une le cas de la commande VLOCATE, il s'agit d'une
erreur. erreur seulement si l'on s'attend à voir des objets.
369
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : Dans le cas de l'apprentissage, s'assurer que l'objet de commandes, instructions et fonctions connectent
l'apprentissage est visible à la caméra. Si l'on le robot par défaut.)
s'attend à voir des objets, vérifier le paramètre de Action de l'utilisateur : S'assurer que le système a été initialisé à partir du
seuil, le paramètre de zone minimale et le disque système approprié (par exemple, utilisation
matériel de la caméra. de la commande ID pour afficher l'identification
*No other program referenced* (–353) du système). Modifier le programme pour qu'il ne
Explication : On a lancé une commande qui a tenté de désigner un tente pas de connecter le robot.
programme édité précédemment, mais aucun *No vision system selected* (–751)
autre programme n'a été édité au cours de Explication : La tâche en cours n'a pas sélectionné de système de vision. Le
l'actuelle session d'édition. système de vision 1 est sélectionné par défaut.
Action de l'utilisateur : Utiliser la touche de fonction New (Nouveau) ou Cette erreur peut indiquer que l'option de vision
GoTo (Aller à) (ou la lettre N sur le clavier) pour n'est pas installée.
passer à un nouveau programme. Action de l'utilisateur : Utiliser la fonction SELECT() pour sélectionner un
*No picture data available* (–723) système de vision.
Explication : On a tenté une opération de vision qui nécessite des données *No zero index* Belt n (–1011)
d'image traitées (codage par longueur d'exécution) Explication : Le contrôleur du convoyeur n'a pas détecté de marque d'index
alors qu'aucune donnée d'image traitée n'était zéro pour le convoyeur indiqué.
disponible. Action de l'utilisateur : S'assurer que la valeur du paramètre
Action de l'utilisateur : Lancer une commande ou instruction VPICTURE ou BELT.ZERO.COUNT est définie correctement.
VWINDOW avec le paramètre de mode de − ou S'assurer également que le codeur de convoyeur
1. On obtient ainsi les données d'image traitées est bien connecté. Si le problème persiste,
nécessaires aux règles ou au retraitement. contacter le service après-vente Adept.
*No program specified* (–301) *No zero index* Mtr n (–1004)
Explication : Aucun programme n'a été spécifié pour une commande ou une Explication : Le contrôleur du moteur n'a pas détecté de marque d'index zéro
instruction EXECUTE ou SEE, ou une pour l'axe indiqué.
commande DEBUG, et aucun autre programme Action de l'utilisateur : Avant de pouvoir relancer le programme, réétalonner
n'est disponible par défaut. le robot. Si le problème persiste, contacter le
Action de l'utilisateur : Taper de nouveau la ligne en indiquant un nom de service après-vente Adept.
programme. *Nonexistent file* (–501)
*No prototypes* (–702) Explication : (1) Le fichier demandé n'est pas enregistré sur le disque utilisé.
Explication : Il s'agit de la réponse aux commandes moniteur VSTORE et Soit le nom comporte une faute de frappe, soit le
VSHOW (sans paramètre) lorsqu'il n'existe pas de disque utilisé n'est pas le bon. (2) Le titre, le
prototype. menu ou la barre de défilement demandé de la
Action de l'utilisateur : Charger des prototypes d'objet vision ou en créer un fenêtre graphique n'existe pas.
nouveau. Action de l'utilisateur : (1) Vérifier le nom du fichier - afficher le répertoire
*No robot connected to system* (–622) du disque avec la commande FDIRECTORY. (2)
Explication : On a tenté de connecter un robot à un système qui ne peut Vérifier le nom de l'élément de la fenêtre
contrôler un robot. (Noter que certaines graphique spécifié.
370
Cours de formation Programmation ADEPT V+ 1
371
Cours de formation Programmation ADEPT V+ 1
372
Cours de formation Programmation ADEPT V+ 1
373
Cours de formation Programmation ADEPT V+ 1
Ramener le robot dans son espace de travail. Contrairement à l'erreur -667, si aucune routine
Corriger la cause du dépassement par le robot. REACTE n'est définie et qu'un robot est connecté,
Rétablir l'alimentation. le programme V + s'arrête avec cette erreur.
*Positive overtravel* Mtr n (–1033) Action de l'utilisateur : Il peut s'avérer nécessaire de redémarrer ou de
Explication : Le moteur indiqué a dépassé la plage de déplacement limitée reprendre toutes les opérations interrompues par
par le matériel. la panne d'alimentation secteur du contrôleur. Il
Action de l'utilisateur : Ramener le robot dans son espace de travail. Corriger peut également être nécessaire de procéder à une
la cause du dépassement par le robot. Rétablir réinitialisation partielle du système. Par exemple,
l'alimentation. tout robot connecté au contrôleur devra être
*Power disabled : Manual/Auto changed* (–645) réétalonné après ce type de panne.
Explication : V + coupe l'alimentation lorsque le commutateur du panneau Press HIGH POWER button to enable power (57)
d'interface du contrôleur (CIP) passe de Explication : Appuyer sur le bouton de HIGH POWER du panneau avant
MANUEL à AUTO ou vice versa. pour finir le processus de mise en puissance du
Action de l'utilisateur : Utiliser toute méthode valide pour remettre le système.
système en puissance. Action de l'utilisateur : Lorsque le bouton de HIGH POWER du panneau
*Power failure detected* (–667) d'interface du contrôleur (CIP) clignote, appuyer
Explication : Indique qu'une panne d'alimentation secteur du contrôleur a été immédiatement sur celui-ci pour finir le processus
détectée. Si une batterie de secours est installée, de mise en puissance à deux étapes. (Appuyer sur
cette erreur sera signalée (une fois l'alimentation le bouton dans le délai spécifié dans les données
rétablie) par toute opération d'E/S annulée lors de de configuration de V + .)
la panne. Ce code d'erreur peut être annulé par un *Processor crash* CPU = n (Aucun)
programme utilisant l'instruction REACTE pour Explication : V + a détecté que la CPU spécifiée sur le contrôleur était en
assurer un niveau de protection automatique état d'erreur fatale. Un message s'affiche sitôt
contre les pannes d'alimentation. l'erreur détectée. Il s'agit selon toute
Action de l'utilisateur : Il peut s'avérer nécessaire de redémarrer ou de vraisemblance d'une erreur logicielle ou d'un
reprendre toutes les opérations interrompues par problème matériel du processeur.
la panne d'alimentation secteur du contrôleur. Il Action de l'utilisateur : Nous vous remercions de bien vouloir signaler cette
peut également être nécessaire de procéder à une erreur à l'ingénieur d'application Adept. Veuillez
réinitialisation partielle du système. Par exemple, également indiquer les détails du message d'erreur
tout robot connecté au contrôleur doit être et ce que vous faisiez lorsque l'erreur s'est
réétalonné après ce type de panne. produite. Il est conseillé de sauvegarder les
*Power failure detected by robot* (–632) programmes en mémoire, de mettre le contrôleur
Explication : Indique qu'une panne d'alimentation du contrôleur a été hors tension et de le redémarrer. (Si l'ID du
détectée par le logiciel de contrôle du robot processeur concerné est 1, redémarrer V + en
pendant que ce dernier était connecté au appuyant sur CTRL+G. Les équipements asservis
programme. Ce message d'erreur s'affiche en plus du robot ne fonctionneront pas, mais on peut
du code -667 si un robot est connecté à un mémoriser les programmes avec STORE.) Si le
programme avec un programme REACTE défini.
374
Cours de formation Programmation ADEPT V+ 1
problème persiste, contacter le service après-vente sur le bouton PROGRAM START sur le
Adept. contrôleur. (On peut appuyer momentanément sur
*Program already exists* (–309) le bouton RUN/HOLD pour relancer l'exécution
Explication : On a tenté de charger un programme existant (LOAD), ou de du programme si le sélecteur à clé du panneau
copier (COPY) ou de renommer (RENAME) un avant est en position MANUAL.)
programme avec un nom existant. *Program interlocked* (–308)
Action de l'utilisateur : Supprimer le programme à l'origine du conflit ou Explication : On a tenté d'accéder à un programme déjà utilisé par un
utiliser un autre nom. processus de V + . Par exemple, on a tenté de
*Program argument mismatch* (–408) supprimer ou d'éditer un programme en cours
Explication : Les arguments d'une instruction CALL, CALLS ou EXECUTE d'exécution, ou d'exécuter un programme en cours
ne concordent pas avec ceux du programme d'édition.
désigné car ils sont de types différents. Action de l'utilisateur : Annuler le programme ou quitter l'éditeur, selon le
Action de l'utilisateur : Modifier l'instruction CALL, CALLS ou EXECUTE, cas, et relancer l'opération. On peut utiliser
ou l'instruction .PROGRAM du programme l'éditeur SEE en mode lecture seule pour voir les
désigné afin que les arguments concordent. S'il programmes verrouillés par l'accès lecture-
manque des arguments dans l'instruction CALL, écriture.
CALLS ou EXECUTE, s'assurer que des virgules Program name? (Aucun)
sont utilisées de façon appropriée pour distinguer Explication : On a saisi une commande de l'éditeur SEE pour passer à un
les arguments présents. autre programme.
Program completed (3) Action de l'utilisateur : Saisir le nom du nouveau programme à éditer, ou
Explication : Le programme a été exécuté le nombre de fois spécifié dans la appuyer sur RETURN pour annuler la demande.
dernière commande ou instruction EXECUTE. *Program not executable* (–307)
Action de l'utilisateur : Saisir n'importe quelle commande de moniteur, mais Explication : En raison d'erreurs de programme détectées au cours du
ne pas utiliser PROCEED pour relancer chargement ou en quittant l'éditeur, ce programme
l'exécution du programme. ne peut s'exécuter.
Program program_name doesn't exist. Create it (Y/N)? (Aucun) Action de l'utilisateur : Editer le programme pour supprimer les erreurs.
Explication : On a tenté d'utiliser l'éditeur SEE pour accéder à un programme *Program not on top of stack* (–421)
inexistant. Explication : Une spécification de contexte DO a référencé une variable
Action de l'utilisateur : Taper Y pour créer le programme. Toute autre automatique ou un argument de sous-programme
touche, y compris RETURN, annule la demande d'un programme ne se trouvant pas sur le dessus
d'édition. de la pile pour la tâche spécifiée.
Program HOLD (15) Action de l'utilisateur : Saisir à nouveau la commande DO en précisant le
Explication : On a appuyé sur le bouton RUN/HOLD du boîtier de contexte de programme approprié ou en éliminant
commande manuelle pendant l'exécution d'un les références aux variables automatiques et aux
programme ; ce dernier est suspendu. arguments de sous-programme. Utiliser la
Action de l'utilisateur : On peut saisir n'importe quelle commande en mode commande STATUS pour déterminer quel
«monitor». Pour poursuivre l'exécution du programme se trouve sur le dessus de la pile.
programme, taper proceed ou retry, ou appuyer Program task # stopped at program_name, step step_number date time (4)
375
Cours de formation Programmation ADEPT V+ 1
Explication : L'exécution de la tâche de programme mentionnée s'est arrêtée caractères de commande qui relance son
pour la raison indiquée dans le message précédant exécution (directement ou indirectement).
celui-ci. Le numéro de pas affiché correspond au Action de l'utilisateur : Modifier au besoin les définitions de la macro pour
pas de programme NEXT suivant à exécuter (par que celle-ci ne s'appelle pas elle-même. Une
exemple, si l'on saisit PROCEED). La date et macro U peut appeler une macro Y, ou vice versa
l'heure en cours s'affichent si elles ont été définies (mais pas les deux).
sur le système. *Region too big* (–743)
Action de l'utilisateur : Aucune. Il s'agit d'un message d'information. Explication : Lors de la reconnaissance optique de caractères (OCR) pour
*Program task not active* (–318) reconnaître du texte (VROC), ou de
Explication : On a tenté d'annuler une tâche inactive. l'apprentissage d'une police (VTRAIN.OCR), la
Action de l'utilisateur : Aucune si le numéro de tâche correct a été spécifié. région de la fenêtre couvrait plus de 63 pixels
Sinon, utiliser la commande STATUS pour horizontalement ou verticalement.
déterminer quel numéro de tâche aurait dû être Action de l'utilisateur : S'assurer qu'il n'y a aucune région sans rapport dans
utilisé. la fenêtre d'apprentissage. Si les caractères de la
*Program task not in use* (–319) police sont trop gros, utiliser une lentille de
Explication : On ne peut accéder à une tâche du programme car elle n'a caméra de plus courte focale, ou augmenter l'écart
jamais servi. (Ces tâches de programme n'utilisent entre la caméra et le texte.
aucune mémoire système et ne figurent pas dans *Region too complicated* (–744)
l'affichage STATUS.) Explication : Lors de la reconnaissance optique de caractères (OCR) pour
Action de l'utilisateur : Aucune. l'apprentissage d'une police, une région de
*Protected program* (53) caractères comportait plus de 20 concavités et
Explication : On a tenté de lister un programme dont l'accès est interdit aux trous.
utilisateurs. Action de l'utilisateur : Examiner l'image binaire (avec VDISPLAY mode 2).
Action de l'utilisateur : Aucune. Le seuil peut nécessiter un ajustement.
*Protection error* (–530) *Remote has not exported network resource* (–563)
Explication : Une opération d'E/S ne peut être exécutée parce que (1) elle a Explication : Le serveur NFS n'a pas exporté le chemin spécifié pour
tenté d'écrire sur un disque protégé en écriture, ou utilisation par les clients.
(2) l'utilisateur n'a pas le profil d'accès requis. Action de l'utilisateur : Vérifier la configuration du serveur NFS et le chemin
Action de l'utilisateur : Vérifier la disquette pour s'assurer que la languette de utilisé par le système V + .
protection en écriture est dans la bonne position. *Reserved word illegal* (–457)
Utiliser la commande FDIRECTORY pour Explication : On a tenté d'utiliser un mot réservé à V + pour un nom de
afficher le répertoire de la disquette. Si le fichier variable. (Voir le Manuel de référence du langage
est protégé (P) ou en lecture seule (R), on ne peut V + pour la liste des mots clés réservés.)
pas y accéder de cette façon. Action de l'utilisateur : Utiliser un autre nom pour la variable. On peut, par
*Recursive macros illegal* (–357) exemple, ajouter un préfixe ou un suffixe au
Explication : On a tenté de lancer l'exécution d'une macro de façon premier nom utilisé.
récurrente. Cette macro comporte une chaîne de Return manual control pendant to background display (^C to exit) (Aucun)
376
Cours de formation Programmation ADEPT V+ 1
Explication : L'affichage du boîtier de commande manuelle doit être en programme utilitaire CONFIG_C, mais le module
mode non prioritaire pour l'opération de robot est absent de la mémoire.
sélectionnée. Action de l'utilisateur : Avant de réinitialiser, ajouter le module du robot au
Action de l'utilisateur : Appuyer sur la touche DONE du boîtier une fois ou disque-amorce à l'aide du programme utilitaire
plus pour quitter la fonction en cours. CONFIG_C.
*Robot already attached to program* (–602) *Robot not attached to this program* (–601)
Explication : Un programme a exécuté plusieurs instructions ATTACH pour Explication : On a tenté de lancer une commande ou une instruction de
le robot, sans exécuter d'instruction DETACH contrôle du robot dans l'une des situations
entre celles-ci. Il est également possible qu'on ait incorrectes suivantes : (1) Le système n'est pas
tenté de sélectionner un autre robot alors qu'il y configuré pour contrôler un robot. (2) Aucun
en a déjà un de connecté. Malgré cette erreur, le robot n'est connecté au système. (3) Le robot est
robot demeure connecté. connecté à une autre tâche de programme.
Action de l'utilisateur : Vérifier la logique du programme — supprimer les Action de l'utilisateur : (1) S'assurer que le système est initialisé à l'aide du
instructions ATTACH redondantes, ou disque système approprié, ou supprimer
déconnecter (DETACH) le robot avant de tenter l'instruction de contrôle du robot. (2) Connecter le
d'en connecter un autre. robot ou activer le commutateur du système
*Robot interlocked* (–621) DRY.RUN. (3) Modifier au besoin la logique du
Explication : (1) On a tenté d'accéder à un robot ou à une unité externe déjà programme pour faire en sorte qu'à tout moment,
utilisée par une autre tâche de programme ou par une seule tâche de programme contrôle le robot.
le moniteur du système ; (2) on a tenté d'étalonner *Robot not calibrated* (–605)
le robot à l'aide du contrôleur en mode manuel, Explication : On a tenté d'exécuter un programme de commande du robot
opération interdite pour des raisons de sécurité. alors que le robot n'est pas étalonné. Aucun
Action de l'utilisateur : (1) Vérifier la logique du programme et s'assurer que déplacement n'est permis tant que le robot n'est
le robot ou l'unité n'est contrôlé(e) que par une pas étalonné.
seule tâche du programme ; (2) mettre le Action de l'utilisateur : Si on veut utiliser le robot, lancer une commande
commutateur à clé du CIP sur le mode CALIBRATE ou configurer le programme pour
automatique ou régler comme il se doit les qu'il exécute une instruction CALIBRATE. On
signaux du mode manuel utilisateur. peut également activer le commutateur
*Robot module not enabled* (–900) DRY.RUN afin de permettre l'exécution du
Explication : Le module de robot indiqué est en mémoire, mais n'a pu être programme sans utiliser le robot.
activé à cause d'une erreur (signalée par un *Robot power off* (–604)
message distinct). Explication : L'opération demandée ne peut être exécutée car la puissance est
Action de l'utilisateur : Utiliser les programmes utilitaires CONFIG_C et/ou coupée.
SPEC pour corriger la configuration du module. Action de l'utilisateur : Remettre le système en puissance et relancer
*Robot module not loaded* ID : n (–628) l'opération.
Explication : Cette erreur se produit seulement lors du démarrage lorsqu'un *Robot power off requested* (–906)
module de robot a été configuré avec le
377
Cours de formation Programmation ADEPT V+ 1
Explication : La puissance a été coupée par une demande programme ou d'origine électrique sur la RSC ou autour ou à
utilisateur, telle que la commande DISABLE l'intérieur du câble de signaux du bras.
POWER. Action de l'utilisateur : Si le problème persiste, contacter le service après-
Action de l'utilisateur : Aucune. vente Adept.
*Robot power on* (–627) *RSC module ID doesn't match robot* (–676)
Explication : On a tenté une action pour laquelle la puissance doit être Explication : Les données de configuration de V + contiennent une
coupée. spécification absolue d'identification pour un
Action de l'utilisateur : Couper la puissance - DISABLE POWER - et module de robot (par exemple, 6 pour le robot
relancer l'action. Adept 550), et la RSC du robot ne comporte pas
*RSC bad packet format* (–655) ce numéro d'identification.
Explication : V + a reçu un paquet de données non valide de la carte RSC au Action de l'utilisateur : S'assurer qu'on utilise le type de robot approprié. À
cours du chargement initial des données l'aide du programme utilitaire CONFIG_C,
d'étalonnage. remplacer l'identification du module par –1 dans
Action de l'utilisateur : Aucune à moins que le chargement des données de les données de configuration de V + . Corriger
calibration échoue. Si le problème persiste, l'ID du module dans la RSC.
contacter le service après-vente Adept. *RSC power failure* (–670)
*RSC calibration load failure* (–656) Explication : La RSC signale un problème sur son alimentation. Etant donné
Explication : V + ne peut charger les données d'étalonnage de la carte RSC. que toute panne d'alimentation de la RSC
Action de l'utilisateur : Mettre le contrôleur hors tension et s'assurer que les l'empêche complètement de communiquer (donc
câbles du robot sont correctement connectés. Si le incapable de signaler une défaillance), ce message
problème persiste, contacter le service après-vente d'erreur a sans doute une autre source, tel que le
Adept. bruit d'origine électrique sur la RSC ou autour ou
*RSC communications failure* (–651) à l'intérieur du câble des signaux du bras. Il est
Explication : V + a perdu la communication avec la carte RSC. Soit un possible qu'il y ait une connexion intermittente
problème matériel s'est produit, soit le robot sur les lignes d'alimentation de la RSC.
fonctionne dans un environnement ou règne un Action de l'utilisateur : Si le problème persiste, contacter le service après-
bruit d'origine électrique trop élevé. vente Adept.
Action de l'utilisateur : Vérifier les connexions des câbles du robot. Remettre *RSC reset* (–652)
le système en puissance, étalonner le robot, puis Explication : V + a détecté une perte momentanée d'alimentation de la carte
relancer le programme. Si le problème persiste, RSC, maintenant rétablie.
contacter le service après-vente Adept. Action de l'utilisateur : Remettre le système en puissance et relancer le
*RSC hardware failure* (–669) programme. Si le problème persiste, vérifier le
Explication : La carte RSC signale une défaillance interne. Etant donné que câblage du robot. Si aucune solution n'est trouvée,
toute défaillance de la RSC l'empêche contacter le service après-vente Adept.
complètement de communiquer (donc incapable *RSC time-out* (–653)
de signaler une défaillance), ce message d'erreur a Explication : V + n'a pas reçu de réponse de la carte RSC dans le délai prévu
sans doute une autre source, tel que le bruit au cours du chargement initial des données
378
Cours de formation Programmation ADEPT V+ 1
d'étalonnage. Cela provient sans doute d'une Action de l'utilisateur : Consulter la documentation sur le matériel, consulter
défaillance de la RSC ou de son câblage. leService après-vente Adept pour plus de détails
Action de l'utilisateur : Mettre le contrôleur hors tension et vérifier le sur les types de fusibles et leur emplacement, et
câblage du robot. Si le problème persiste, remplacer le fusible.
contacter le service après-vente Adept. *Servo board 12v fuse open* (–671)
*RSC transmission garbled* (–654) Explication : La carte d'asservissement est dotée d'un bus à fusibles de 12 V
Explication : V + a reçu une transmission incorrecte de la carte RSC. Soit un et le système y a détecté un circuit ouvert.
problème s'est produit au niveau du matériel, soit Action de l'utilisateur : Consulter la documentation sur le matériel et
le robot fonctionne dans un environnement ou remplacer le fusible.
règne un bruit d'origine électrique trop élevé. *Servo board solenoid fuse open* (–672)
Action de l'utilisateur : Aucune, à moins que le chargement des données Explication : La carte d'asservissement est dotée d'une ligne de contrôle à
d'étalonnage ou que les communications de la fusible à électrovanne pour le robot et le système
RSC échouent. Si le problème persiste, contacter y a détecté un circuit ouvert.
le service après-vente Adept. Action de l'utilisateur : Consulter la documentation sur le matériel et
Searching for string (exact case) (Aucun) remplacer le fusible.
Explication : On a saisi la commande 0' de l'éditeur SEE. L'éditeur est prêt à *Servo task overloaded* (–674)
rechercher la chaîne indiquée, dans le mode Explication : Une tâche d'interruption d'asservissement a dépassé le temps
recherche spécifié. d'exécution. L'algorithme de détection signale une
Action de l'utilisateur : Il s'agit d'un message d'information. Utiliser la erreur lorsque la tâche d'interruption
commande Repeat pour lancer la recherche d'asservissement occupe dix tranches de temps ou
indiquée, ou la commande Find (ou Change) pour plus par seconde en temps réel. Lorsque cette
lancer une nouvelle recherche (ou un nouveau erreur s'est produite, le robot est passé en état
remplacement). La commande étendue EXACT d'erreur fatale et la tâche d'interruption
contrôle le réglage du mode de recherche. d'asservissement s'est arrêtée.
Searching for string (ignoring case) (Aucun) Action de l'utilisateur : Prendre l'une ou l'autre des mesures suivantes : (1)
Explication : On a saisi la commande 0' de l'éditeur SEE. L'éditeur est prêt à Enlever les tâches d'asservissement de la CPU 1
rechercher la chaîne indiquée, dans le mode pour allouer plus de temps à la génération des
recherche spécifié. trajectoires ; (2) effectuer une mise à niveau du
Action de l'utilisateur : Il s'agit d'un message d'information. Utiliser la processeur de système pour augmenter le débit,
commande Repeat pour lancer la rechercher ou (3) réduire le nombre de robots ou d'axes
indiquée, ou la commande Find (ou Change) pour utilisés.
lancer une nouvelle recherche (ou un nouveau Set for CASE DEPENDENT searches (Aucun)
remplacement). La commande étendue EXACT Explication : La commande étendue EXACT a été utilisée comme méthode
contrôle le réglage du mode de recherche. de prise en compte de la casse lors des recherches
*Servo board E-Stop fuse open* (–673) de chaînes. Ce message indique comment sera lue
Explication : La carte d'asservissement est dotée d'un circuit d'arrêt d'urgence la casse dans les recherches suivantes (pour les
à fusibles et le système y a détecté un circuit recherches de chaînes actuelles ou futures).
ouvert. Action de l'utilisateur : Aucune. Il s'agit d'un message d'information.
379
Cours de formation Programmation ADEPT V+ 1
Set for CASE INDEPENDENT searches (Aucun) interprète de V + ou générateur de trajectoire ; Vi,
Explication : La commande étendue EXACT a été utilisée comme méthode logiciel de vision ; Sv, logiciel d'asservissement.
de prise en compte de la casse lors des recherches Action de l'utilisateur : Indiquer l'erreur à l'ingénieur d'application Adept
de chaînes. Ce message indique comment sera lue ainsi que toute information relative au contexte.
la casse dans les recherches suivantes (pour les On peut continuer à utiliser le système, mais avec
recherches de chaînes actuelles ou futures). le risque d'un problème matériel.
Action de l'utilisateur : Aucune. Il s'agit d'un message d'information. *Software incompatible* Code n (–1026)
*Skew envelope error* Mtr n (–1022) Explication : Incompatibilité détectée entre le code d'asservissement et le
Explication : Les deux moteurs entraînant les demi-axes du robot ne se logiciel d'étalonnage.
suivaient pas avec suffisamment de précision. Action de l'utilisateur : S'assurer qu'on utilise le logiciel d'étalonnage (dans
Action de l'utilisateur : S'assurer que rien ne fait obstacle au déplacement du le répertoire \CALIB\) fourni avec le système V +
robot. Remettre le système en puissance et tenter utilisé. Si ce logiciel est utilisé, noter le numéro
de relancer le déplacement à une vitesse plus de code et contacter le service après-vente Adept.
lente. Au besoin, utiliser le programme utilitaire *Speed pot or STEP not pressed* (–620)
SPEC pour augmenter la limite maximale d'erreur Explication : Alors que le contrôleur était en mode manuel, un programme
d'alignement. de V + a tenté de lancer un mouvement du robot,
*Soft envelope error* Mtr n (–1006) mais la touche STEP et la bande de vitesse du
Explication : Le moteur indiqué ne suivait pas la position commandée avec MCP n'étaient pas enfoncées.
assez de précision, ce qui révèle une défaillance Action de l'utilisateur : Lorsqu'un programme de V + est sur le point
du système d'asservissement matériel ou un d'amorcer des mouvements du robot, appuyer sur
obstacle sur le parcours du robot. Comme il ne la touche STEP et sur la bande de vitesse du
s'agit pas d'une erreur grave, le déplacement s'est MCP. Pour continuer le déplacement une fois
arrêté, mais la puissance n'a pas été coupée. commencé, relâcher la touche STEP tout en
Action de l'utilisateur : Tenter d'effectuer le mouvement à vitesse réduite. maintenant la bande de vitesse enfoncée. Mettre
S'assurer que rien n'entrave le déplacement du le contrôleur en mode automatique.
robot. *SPIN motion not permitted* (–638)
*Software checksum error* (–316) Explication : Soit une instruction SPIN (rotation) a tenté de déplacer un axe
Explication : Lors du traitement d'une commande FREE, le système V + a non configuré avec la fonction de rotation
détecté une erreur de somme de contrôle dans la continue, soit le robot suit actuellement un
mémoire système. Il s'agit d'un problème au convoyeur ou se déplace sous le contrôle d'une
niveau matériel ou logiciel du système. (Noter instruction ALTER.
toutefois qu'une erreur de somme de contrôle se Action de l'utilisateur : Configurer l'axe pour la fonction de rotation
produira si un patch de correction est appliqué au continue, ou terminer le suivi du convoyeur ou
logiciel du système après son chargement à partir l'instruction ALTER avant de tenter de lancer une
du disque et son démarrage.) Les codes suivants instruction SPIN.
sont ajoutées au message, indiquant l'erreur où Step syntax MUST be valid (Aucun)
s'est produite : Os, système d'exploitation ; V + , Explication : La commande étendue AUTO.BAD de l'éditeur SEE a été
utilisée pour modifier l'action du système lorsqu'il
380
Cours de formation Programmation ADEPT V+ 1
détecte une ligne erronée lors de l'édition. Par la *String too short* (–417)
suite, cette ligne de l'éditeur devra être corrigée Explication : Une instruction ou commande de programme attendait un
pour pouvoir effectuer une opération qui sort le argument (chaîne) d'une certaine longueur
curseur de la ligne erronée. minimale, mais l'argument reçu est trop court.
Action de l'utilisateur : Aucune. Il s'agit d'un message d'information. Action de l'utilisateur : Examiner la syntaxe de l'instruction, puis éditer le
*Stop-on-force triggered* (–623) programme pour transmettre une chaîne de
Explication : Le déclenchement du mode protégé d'un capteur d'effort s'est longueur adéquate.
produit alors que le robot n'était pas contrôlé par *String variable overflow* (–416)
le programme. Explication : On a tenté de créer une chaîne excédant la longueur maximale
Action de l'utilisateur : Remettre le système en puissance pour que le robot de 128 caractères.
continue son déplacement. Si ce déclenchement Action de l'utilisateur : Editer le programme pour qu'il génère des chaînes de
n'était pas voulu, s'assurer que le mode protégé est longueur adéquate.
désactivé avant que le programme ne laisse le *Subdirectory in use* (–547)
contrôle du robot au boîtier de commande Explication : On a tenté de supprimer un sous-répertoire contenant des
manuelle. fichiers référencés par une autre opération (par
*Stopped due to servoing error* (–600) exemple, une commande FDIRECTORY).
Explication : Le programme s'est arrêté à cause d'une ou de plusieurs erreurs Action de l'utilisateur : Vérifier si tous les fichiers du sous-répertoire ont été
d'asservissement. supprimés. Vérifier également si d'autres tâches
Action de l'utilisateur : Corriger la cause des erreurs d'asservissement de programme font appel au sous-répertoire.
signalées en consultant, au besoin, le manuel sur Tenter de nouveau la suppression.
le matériel du système. *Subdirectory list too long* (–546)
*Storage area format error* (–305) Explication : Le chemin d'un répertoire contient trop de sous-répertoires, ou
Explication : Lors de l'exécution d'une commande FREE, V + a détecté que le chemin du répertoire est trop long pour être
des programmes ou des données de la mémoire à traité. Le chemin est une combinaison de sous-
accès direct (RAM) ont peut-être été corrompus. répertoires dans la spécification du fichier et le
La cause peut être une panne momentanée du chemin de répertoire par défaut défini avec la
matériel ou une erreur de logiciel. commande en mode «monitor» DEFAULT. Les
Action de l'utilisateur : Sauvegarder le plus de données possible sur le chemins de répertoire sont limités à 16 sous-
disque. Saisir ensuite la commande ZERO ou répertoires et à 80 caractères (dont la partie du
mettre le contrôleur hors tension, puis redémarrer chemin du répertoire spécifiée par le chemin par
le système. défaut).
*Straight-line motion can't alter configuration* (–612) Action de l'utilisateur : Spécifier un chemin plus court dans la spécification
Explication : Une demande de modification de la configuration a été faite au du fichier ou dans la commande DEFAULT. Si
cours d'un mouvement rectiligne. Cela est on doit accéder à un disque distant contenant plus
interdit. de 16 sous-répertoires imbriqués, il ne sera pas
Action de l'utilisateur : Supprimer la demande de modification de la possible lire les fichiers des sous-répertoires à
configuration, ou utiliser une instruction de plus de 16 niveaux. Dans ce cas, on devra, à l'aide
mouvement d'interpolation d'axe. du système ayant servi à créer le disque, copier
381
Cours de formation Programmation ADEPT V+ 1
les fichiers dans un répertoire imbriqué moins Explication : La commande étendue DEBUG de l'éditeur SEE a été utilisée
profondément. pour lancer une session de débogage du
*Switch can't be enabled* (–314) programme en cours. Le débogueur doit savoir
Explication : Une commande ENABLE pour un commutateur à été rejetée à quelle tâche du programme on veut utiliser lors de
cause d'une situation d'erreur. Par exemple, la l'exécution du programme.
mise en puissance du système est interdite si le Action de l'utilisateur : Saisir le numéro de tâche voulu, ou appuyer sur
système est en état d'erreur fatale (FATAL RETURN pour accéder à la tâche utilisée lors de
ERROR). la dernière session de débogage.
Action de l'utilisateur : Examiner la description du commutateur concerné, *Template already defined* (–748)
corriger l'erreur et réessayer. Explication : On a saisi un numéro de modèle existant pour la définition d'un
*SYSFAIL detected by CPU* (–629) nouveau modèle de corrélation avec l'instruction
Explication : Une carte sur le bus VME a décelé une erreur grave et a généré VTRAIN.MODEL.
le signal SYSFAIL (échec système) qui provoque Action de l'utilisateur : Supprimer le modèle existant s'il ne sert plus, ou
la coupure de la haute puissance. Les contrôleurs saisir un autre numéro de modèle dans
de séquence des cartes CPU génèrent ce signal et l'instruction VTRAIN.MODEL.
allument la DÉL SF en cas d'erreur grave. *Template of uniform intensity* (–746)
Action de l'utilisateur : Vérifier les DÉL SYSFAIL à l'avant des cartes. La Explication : Lors de la définition d'un modèle de corrélation avec
DÉL de la carte défaillante doit être allumée. l'instruction VTRAIN.MODEL, la zone de
Redémarrer le système. S'assurer que les cartes l'image à l'intérieur des limites du modèle a une
sont bien enfoncées et vérifier les connexions des intensité uniforme. Les modèles d'image doivent
unités sur les cartes. Tester le système en présenter certaines variations de luminosité.
démontant le plus de cartes possible, puis en les (C'est-à-dire que le modèle doit comporter
remettant en place jusqu'à ce qu'on trouve la carte certaines caractéristiques qui permettent ensuite la
défectueuse. Si le problème persiste, contacter le corrélation.)
service après-vente Adept. Action de l'utilisateur : Vérifier la position du modèle sur l'image et s'assurer
*SYSFAIL detected by robot* (–642) qu'il est placé au bon endroit. Observer également
Explication : La carte d'interface de mouvement a détecté un signal l'image en niveaux de gris de la trame pour
SYSFAIL sur le bus VME et a généré le signal s'assurer qu'elle est correcte. (Il est possible par
d'arrêt d'urgence du fond de panier. Cette erreur exemple qu'une lampe stroboscopique n'ait pas
est normalement remplacée par d'autres erreurs et fonctionné ou que le bouchon de l'objectif soit
ne s'affiche pas. encore sur la caméra.)
Action de l'utilisateur : Vérifier s'il y a un autre message. Pour déterminer s'il *Template not defined* (–747)
y a eu une erreur non signalée de la RSC, taper Explication : Le modèle de corrélation désigné dans l'opération
listr error(task,4), où task est le numéro de la VCORRELATE, VDELETE, VSHOW.MODEL
tâche qui a reçu l'erreur. Si aucune information ou VSTORE n'existe pas.
supplémentaire n'est disponible, appeler le service Action de l'utilisateur : Vérifier le numéro de corrélation saisi pour
après-vente Adept. l'opération. Utiliser le menu déroulant Models
Task = (Aucun) dans la fenêtre de vision (ou l'instruction
382
Cours de formation Programmation ADEPT V+ 1
VSHOW.MODEL) pour obtenir la liste des Explication : V + n'a pas mis le système en puissance parce que le
modèles actuellement définis dans le système de commutateur d'asservissement du MCP sur le
vision. boîtier de commande manuelle n'a pas été activé.
*Time-out nulling errors* Mtr n (–1003) Action de l'utilisateur : Prendre une ou plusieurs des mesures suivantes : (1)
Explication : Le moteur indiqué a pris trop de temps pour finir le dernier Appuyer sur le commutateur d'asservissement du
déplacement, probablement parce que le robot est MCP, puis le relâcher pendant deux à dix
bloqué et ne peut atteindre sa destination. secondes, puis appuyer à nouveau ; et (2) s'assurer
Action de l'utilisateur : Mettre le système en puissance et réessayer le qu'on enfonce le commutateur d'asservissement
déplacement après avoir apporté les modifications du MCP et non le poussoir RUN/HOLD par
nécessaires au programme. Si l'erreur se produit erreur.
de façon répétée, contacter l'ingénieur *Too many arguments* (–553)
d'application Adept pour obtenir de l'aide. Explication : Trop d'arguments ont été spécifiés dans la dernière commande
*Time-out enabling amplifier* Mtr n (–1009) ou instruction.
Explication : Le variateur du moteur indiqué a signalé un état défectueux. Action de l'utilisateur : Saisir à nouveau la commande ou l'instruction avec le
Cela peut être dû à une panne d'alimentation nombre d'arguments adéquat.
momentanée ou à une erreur de matériel. *Too many array indices* (–474)
Action de l'utilisateur : Remettre le système en puissance et redémarrer le Explication : La spécification d'un élément de tableau contient plus de trois
programme. Si l'erreur persiste, contacter le index.
service après-vente Adept. Action de l'utilisateur : Saisir à nouveau la ligne avec le bon nombre d'index.
*Timeout enabling power* (–675) *Too many closeable windows* (–554)
Explication : La mise en puissance n'a pas eu lieu dans le délai prescrit, et les Explication : On a spécifié trop de fenêtres graphiques dans le menu
dispositifs d'asservissement n'ont signalé aucune déroulant sous le logo Adept dans la ligne de
autre erreur au cours de ce délai. statut en haut de l'écran.
Action de l'utilisateur : Pour les robots non fabriqués par Adept, utiliser le Action de l'utilisateur : Désigner toutes les fenêtres suivantes comme
programme utilitaire SPEC pour augmenter le /NOCLOSEABLE (qu'on ne peut fermer), ou
délai de mise en puissance. supprimer certaines fenêtres apparaissant dans ce
Pour les robots Adept, vérifier soigneusement l'installation (câblage, tensions menu déroulant.
sur les lignes d'alimentation secteur, disjoncteurs, *Too many icons* (–556)
vis de retenue du variateur, câbles et Explication : On a tenté de définir plus d'icônes que le système peut en
connecteurs). Pour obtenir des informations sur la accepter.
configuration correcte de l'installation, consulter Action de l'utilisateur : Supprimer les icônes inutiles. Au besoin, utiliser le
le Manuel d'instruction du robot. S'assurer que le programme utilitaire CONFIG_C pour
châssis du variateur est correctement connecté à reconfigurer le système V + et qu'il accepte plus
l'alimentation et mis sous tension. Réessayer. Si le d'icônes.
problème persiste, contacter le service après-vente *Too many network errors* (–536)
Adept. Explication : (1) Le nombre d'erreurs détectées par le protocole DDCMP
*Timeout : MCP enable switch not toggled* (–649) dépasse la limite permise. Le protocole local est
arrêté et toutes les demandes d'E/S se terminent
383
Cours de formation Programmation ADEPT V+ 1
avec cette erreur. (2) Le pilote Kermit de V + a Explication : Il s'est produit l'une ou l'autre des situations suivantes : (1) le
rencontré plus d'erreurs que ne l'autorise le moment du calcul d'un nouveau point de
paramètre KERMIT.RETRY. trajectoire est arrivé, mais la tâche interne de
Action de l'utilisateur : (1) Utiliser la commande en mode «monitor» NET trajectoire n'a pas fini de calculer le point
pour déterminer le type des erreurs. Rechercher précédent ; (2) les dispositifs d'asservissement
s'il y a du bruit sur la ligne de communication, des n'ont pas reçu les données de trajectoire à temps
erreurs de configuration du DDCMP, ou une parce que la tâche de trajectoire a mis trop de
logique de programme qui transmet des messages temps à calculer et à écrire les données ; ou (3)
plus rapidement que la capacité de traitement. l'intervalle de trajectoire est égal ou inférieur à
Utiliser l'instruction FCMND appropriée pour l'intervalle d'asservissement.
augmenter la limite maximale d'erreurs. (2) Action de l'utilisateur : Prendre une ou plusieurs des mesures suivantes : (1)
Augmenter la valeur du paramètre Si le temps de cycle de la trajectoire est inférieur
KERMIT.RETRY, accroître la nombre de à 16 microsecondes, le remplacer par le temps
tentatives du serveur distant, redémarrer la immédiatement au-dessus ; (2) déplacer les tâches
session Kermit et répéter l'opération échouée. d'asservissement de la CPU 1 pour allouer plus de
*Too many vision requests pending* (–703) temps à la génération de trajectoire ; (3) effectuer
Explication : Un programme a émis trop de commandes VLOCATE avant une mise à niveau du processeur du système pour
d'avoir terminé les premières. augmenter le débit ; (4) réduire le nombre de
Action de l'utilisateur : Editer le programme pour qu'il attende que les robots ou d'axes utilisés ; ou (5) si le temps de
demandes VLOCATE en attente soit terminées cycle de trajectoire est de 2 microsecondes,
pour en émettre d'autres. s'assurer que l'intervalle d'asservissement est de 1
*Too many windows* (–550) microseconde.
Explication : On a tenté de créer une fenêtre graphique alors que le *Undefined program or variable name* (–406)
maximum admissible de fenêtres est déjà atteint. Explication : Le programme ou la variable désigné(e) dans une commande
(Le système V + utilise deux fenêtres pour l'écran ou un pas de rogramme n'existe pas —
et la ligne de statut en haut de l'écran. Chaque probablement parce qu'il contient une faute de
barre de titre, de menu et de défilement constitue frappe.
une fenêtre distincte. La fenêtre déroulante est Action de l'utilisateur : Si le nom correct a été saisi, créer un programme ou
toujours attribuée même si elle n'est pas visible. une variable en utilisant l'un des éditeurs de V +
Les systèmes équipés d'AdeptVision ont une ou les commandes moniteur appropriées de V + ,
fenêtre allouée en permanence pour ou en le ou la chargeant à partir d'un fichier
l'apprentissage de la vision.) disque.
Action de l'utilisateur : Si possible, modifier les définitions des fenêtres pour *Undefined value* (–401)
omettre les barres de menu et les barres de Explication : (1) On a désigné une variable à laquelle aucune valeur n'est
défilement. Au besoin, accroître la mémoire affectée. (2) À l'aide de l'éditeur SEE, on a tenté
tampon des fenêtres à l'aide du programme d'utiliser une macro, de retourner à une position
utilitaire CONFIG_C. du curseur en mémoire ou de lancer une recherche
*Trajectory clock overrun* (–636) ou un remplacement répété de chaîne sans
384
Cours de formation Programmation ADEPT V+ 1
effectuer d'abord la séquence d'initialisation *Unexpected PSS state* Code nnn (–1110)
appropriée. Explication : Le logiciel a détecté une modification imprévue dans le
Action de l'utilisateur : (1) Affecter une valeur à la variable ou corriger son séquenceur d'alimentation. Le code indique l'état
nom. (2) Définir une macro, enregistrer une détecté. Cette erreur ne devrait jamais se produire,
position du curseur, ou saisir la ou les chaîne(s) à et indique peut-être un problème matériel ou
rechercher ou à remplacer. logique sur le module AWC ou sur le CIP.
*Undefined value in this context* (–420) Action de l'utilisateur : Si cela ne présente aucun risque, tenter de couper la
Explication : Une valeur de variable automatique ou d'argument de sous- puissance et prendre note des différents messages
programme figure dans une commande en mode d'erreur qui s'affichent. Si l'erreur persiste,
«monitor», mais le programme spécifié ne figure contacter le service après-vente Adept.
pas dans la pile d'exécution pour la tâche de *Unexpected text at end of line* (–451)
programme précisée. Les variables automatiques Explication : V + n'a pas reconnu la commande ou instruction précédente,
et les arguments de sous-programme ont des probablement à cause d'une faute de frappe dans
valeurs seulement lorsque le programme qui les un nom de fonction ou parce qu'on a spécifié un
définit figure dans une pile. argument alors que ce n'était pas autorisé.
Action de l'utilisateur : Modifier la commande en mode «monitor» pour Action de l'utilisateur : Saisir à nouveau la ligne en corrigeant l'erreur de
qu'elle ne désigne pas de variable. S'assurer que le syntaxe.
programme se trouve sur la pile d'exécution *Unexpected zero index* Belt n (–1012)
appropriée. On peut insérer une instruction Explication : Un signal d'index zéro a été transmis par le codeur pour ce
PAUSE ou un point d'interruption dans le convoyeur à moteur à un moment imprévu. Il est
programme pour l'arrêter alors qu'il se trouve sur possible que le codeur cumule ou perde des
la pile d'exécution. données, qu'il y ait un problème de matériel avec
*Unexpected end of file* (–504) le signal d'index zéro, ou que les données selon le
Explication : (1) Si un fichier a été chargé à partir du disque, la fin de ce paramètre de configuration de l'index zéro soient
fichier a été lue de façon inattendue. (2) Si le mal définies.
programme lit un fichier, ce code d'erreur indique Action de l'utilisateur : Poursuivre l'utilisation du système. Si cette erreur
tout simplement que la fin du fichier a été atteinte survient à plusieurs reprises, contacter le service
et ne doit pas être interprété comme une réelle après-vente Adept.
erreur. (3) Ce message s'affiche si on a répondu à *Unexpected zero index* Mtr n (–1005)
une invite du programme en appuyant sur Explication : Un signal d'index zéro a été transmis par le codeur pour ce
CTRL+Z. (4) Une interruption a été détectée sur moteur à un moment imprévu. Il est possible que
une ligne série. le codeur cumule ou perde des données, qu'il y ait
Action de l'utilisateur : (1) Réessayer de lire le fichier. (2) Fermer le fichier un problème de matériel avec le signal d'index
et poursuivre l'exécution du programme. (3) zéro, ou que les données selon le paramètre de
Traiter le programme comme s'il avait été arrêté configuration de l'index zéro soient mal définies.
plus tôt par l'utilisateur. (4) S'assurer que le Action de l'utilisateur : Mettre le système en puissance, étalonner le robot et
programme interrompt les transmissions continuer à utiliser le système. Si l'erreur survient
CTRL+Z.
385
Cours de formation Programmation ADEPT V+ 1
à plusieurs reprises, contacter le service après- indiquée est incompatible avec le système V +
vente Adept. utilisé.
*Unknown editor command* (–363) Action de l'utilisateur : Corriger la ligne ou la saisir à nouveau en s'assurant
Explication : En utilisant l'éditeur de programme SEE, on a tapé une valeur que l'orthographe et la syntaxe sont correctes. Si
ou une commande étendue inconnue. on utilise l'éditeur SEE, une instruction non valide
Action de l'utilisateur : Saisir une autre commande. est convertie en ligne non valide ou doit être
*Unknown error code* (–800) corrigée pour pouvoir quitter la ligne (selon le
Explication : Un code d'erreur ne correspondant à aucun message d'erreur a paramétrage de la fonction AUTO.BAD). S'il
été transmis V + par une unité externe. s'agit d'une erreur lors d'un chargement de fichier
Action de l'utilisateur : Si un contrôleur externe communique avec V + disque, éditer le programme pour corriger
lorsque l'erreur se produit, vérifier qu'il transmet l'instruction en question.
les codes d'erreur appropriés. Sinon, une erreur *Unknown keyword* (–424)
logique s'affiche. Nous vous remercions de bien Explication : Le mot-clé d'une instruction FSET est inconnu dans le contexte
vouloir signaler cette erreur à l'ingénieur où il se trouve. (La plupart du temps, un mot-clé
d'application Adept. Veuillez également indiquer utilisé pour une ligne série a également été utilisé
les détails du message d'erreur et ce que vous pour désigner une fenêtre ou vice versa.)
faisiez lorsque l'erreur s'est produite. Action de l'utilisateur : Corriger la ligne du programme en cours ou saisir à
*Unknown function* (–462) nouveau la commande avec le mot-clé correct.
Explication : En recevant une instruction, V + a lu une référence à une *Unknown model* (–759)
fonction qu'il ne reconnaît pas. Il peut s'agir d'une Explication : On a donné à l'instruction de vision VPLAN.FINDER un nom
erreur de frappe dans un nom de fonction ou d'un de modèle inexistant sur le système.
oubli d'un opérateur entre un symbole et une Action de l'utilisateur : Donner un nom de modèle existant à l'instruction de
parenthèse ouvrante. vision VPLAN.FINDER.
Action de l'utilisateur : Vérifier la syntaxe et l'orthographe et saisir à *Unknown network node* (–537)
nouveau la ligne. Explication : On a désigné une adresse de noeud de réseau inconnue du
*Unknown instruction* (–452) réseau local.
Explication : Une instruction que le système n'a pas reconnue a été saisie (ou Action de l'utilisateur : S'assurer qu'on a spécifié une adresse de noeud
lue à partir d'un fichier disque). Cette erreur est correcte. Vérifier si le noeud distant est actif et
souvent causée par une faute de frappe dans le connecté au réseau. Si on utilise des tables
nom de l'instruction ou lorsqu'on tente d'utiliser d'acheminement explicites, s'assurer qu'elles
une commande comme une instruction ou vice mentionnent ce noeud.
versa. Noter que les instructions comportant des *Unknown prototype* (–707)
erreurs sont affichées comme lignes non valides Explication : Une commande ou instruction de vision a désigné un prototype
avec un point d'interrogation. Si le message s'est objet inconnu du système de vision. Cela peut être
affiché au cours du chargement d'un fichier dû à une faute de frappe dans le nom du
disque, ce fichier a probablement été créé en prototype.
mode local ou à l'aide d'un système V + différent Action de l'utilisateur : Saisir la commande VSHOW sur le terminal pour
(version ou options différentes), et la ligne afficher la liste des prototypes connus. Au besoin,
386
Cours de formation Programmation ADEPT V+ 1
charger le fichier de prototypes approprié à partir Action de l'utilisateur : Vérifier la syntaxe de l'opération et saisir à nouveau
du disque ou utiliser l'instruction VTRAIN pour la ligne en prenant soin d'éliminer le conflit.
le prototype. Supprimer les variables globales en conflit si
*Unknown sub-prototype* (–731) nécessaire.
Explication : Une commande ou instruction de vision a désigné un sous- *Vision aborted* (–749)
prototype objet inconnu du système de vision. Explication : (1) On a sélectionné l'élément Abandonner du menu dans la
Cela peut être dû à une faute de frappe dans le fenêtre de vision. Si une instruction de vision d'un
nom du prototype. programme de V + était en cours d'exécution, elle
Action de l'utilisateur : Saisir la commande VSHOW sur le terminal pour est abandonnée et le code d'erreur de ce message
afficher les sous-prototypes définis pour le s'affiche (pour accès avec la fonction ERROR).
prototype spécifié. Au besoin, charger le fichier (2) Un programme de V + a été abandonné durant
de prototypes approprié à partir du disque ou l'exécution d'une instruction de vision. (Dans ce
utiliser VDEF.SUBPROTO pour définir le sous- cas, le code d'erreur du message standard Aborted
prototype. (Abandonné) doit s'afficher. (3) Une instruction
*User has not tested MMSP system* (–648) VABORT a été émise.
Explication : Un système doté de l'option de sécurité EN954 de catégorie 3 Action de l'utilisateur : Si on a sélectionné par erreur l'élément Abandonner
— Dispositifs de sécurité du mode manuel dans le menu, on peut poursuivre l'exécution du
(MMSP) — n'a pu être mis en service par le programme de V + en saisissant retry n sur le
programme utilitaire SAFE_UTL. clavier, n étant le numéro de la tâche interrompue.
Action de l'utilisateur : Tester les MMSP avec le programme utilitaire On peut également poursuivre le programme en
SAFE_UTL avant d'activer l'alimentation pour la saisissant proceed n, mais l'instruction de vision
première fois. Réexécuter le programme utilitaire abandonnée n'est pas relancée.
tous les trois mois. Si on a connecté le robot à un *[Vision error] <details> (Aucun)
contrôleur différent ou remplacé le contrôleur ou On peut faire afficher à tout moment sur le terminal du système V + les
le module SIO, reprendre le test. (Pour obtenir de messages d'erreur de vision ci-dessous lorsque le
plus amples informations sur l'utilisation de commutateur du système VISION est enfoncé. Si
SAFE_UTL, consulter le Manuel d'instruction de l'une de ces erreurs se produit, toutes les
robot Adept One-MV/AdeptThree-MV.) commandes de vision en attente (par exemple,
*Variable type mismatch* (–465) VLOCATE) sont abandonnées et le commutateur
Explication : Une ou plusieurs variables de la ligne sont d'un type VISION est désactivé. L'utilisateur doit réactiver
incompatible avec les autres variables ou avec le le commutateur VISION pour relancer le système
type requis par la commande ou l'instruction. Par de vision. Les prototypes ne sont pas supprimés
exemple, il est possible qu'on ait tenté d'associer de la mémoire lorsque ces erreurs se produisent
des variables de position et des variables ou lorsque le commutateur VISION est désactivé.
numériques. Si cette erreur survient lorsqu'on Chacun de ces messages se présente ainsi :
quitte l'éditeur, le type de variable du programme *[Erreur de vision] <détails>*, <détails>
est incompatible avec le type d'une variable représentant les informations spécifiques à
globale déjà définie. l'erreur. Ces informations aide le personnel Adept
387
Cours de formation Programmation ADEPT V+ 1
388
Cours de formation Programmation ADEPT V+ 1
Action de l'utilisateur : S'assurer que le processeur de vision est installé et Explication : Une commande STORE (Enregistrer) a été exécutée alors que
que le logiciel accepte l'option vision. Mettre le les programmes protégés et/ou en lecture seule
contrôleur hors tension, puis le redémarrer. Si le sont dans la mémoire du système V + . Les
problème persiste, contacter le service après-vente programmes protégés et en lecture seule ne sont
Adept. pas enregistrés sur le nouveau fichier disque.
*Vision software incompatible* (–762) Action de l'utilisateur : Saisir la commande FCOPY pour transférer les
Explication : Le logiciel de vision et celui de V + du contrôleur sont programmes en lecture d'un disque à un autre. Les
incompatibles. Cela signifie que le logiciel du programmes protégés ne peuvent pas être
système qui a été chargé est mal construit et est transférés d'un disque à un autre.
sur le point de tomber en panne. Ce message ne *Warning* SET.SPEED switch disabled (54)
devrait jamais s'afficher. Explication : Une opération PRIME a été exécutée à partir du boîtier de
Action de l'utilisateur : Ne pas utiliser ce logiciel. Recharger une bonne commande manuelle alors que le commutateur
version du logiciel. Signaler ce problème au SET.SPEED est désactivé. Dans ce cas, la vitesse
Service après-vente Adept. de moniteur précisée dans la commande PRIME
*Vision system out of memory* (–733) n'a aucun effet.
Explication : Le système de vision a manqué de mémoire pour la dernière Action de l'utilisateur : Si l'on veut que la commande PRIME modifie la
opération lancée. Ne pas confondre ce message vitesse du moniteur, taper la commande enable
avec *[Erreur de vision] Mémoire saturée*. Cette set.speed à l'aide du clavier.
erreur ne désactive pas le commutateur de vision *Warning* Watchdog timer disabled (56)
et est toujours signalée en réponse à la dernière Explication : Au démarrage, toutes les CPU affichent ce message si le
instruction de vision. rythmeur de séquence d'alerte est désactivé. Le
Action de l'utilisateur : Réduire la complexité de l'image ou réduire le rythmeur de séquence est un périphérique qui
nombre de modèles en mémoire. Si le problème autorise le signal SYSFAIL sur le bus VME
persiste, contacter le service après-vente Adept. (coupant la haute puissance) si la CPU s'arrête. La
*Warning* Monitoring watchpoint (55) DÉL SF de la carte défaillante doit s'allumer. Ce
Explication : L'exécution d'un programme a débuté pendant le réglage d'un message s'affiche également chaque fois qu'une
point de surveillance. tâche utilisateur est lancée à partir du moniteur et
Action de l'utilisateur : Aucune. Il s'agit d'un message d'information. On peut que le rythmeur de séquence est désactivé.
désactiver le point de surveillance pour ne plus Action de l'utilisateur : Ne pas utiliser ce système. Le rythmeur de séquence
qu'il ralentisse l'exécution du programme. doit être activé pour que le système fonctionne en
*Warning* Not calibrated (51) toute sécurité. L'utilisateur ne peut pas modifier le
Explication : Le système d'asservissement du robot et les capteurs de réglage du rythmeur de séquence du module
position des axes ne sont pas étalonnés. Dans ce AWC. Signaler ce problème au service après-
cas, les variables de position définies risquent de vente Adept.
ne pas correspondre aux positions voulues. Watchpoint changed at (task) program_name, step n. ... (18)
Action de l'utilisateur : Saisir la commande CALIBRATE ou faites exécuter Explication : Un point de surveillance a été activé, et l'expression du point de
l'instruction CALIBRATE par le programme. surveillance a changé.
*Warning* Protected and read-only programs are not stored (52) Action de l'utilisateur : Poursuivre la session de débogage.
389
Cours de formation Programmation ADEPT V+ 1
390
Cours de formation Programmation ADEPT V+ 1
Liste numérique
Cette section donne la liste de tous les messages de V + ayant un code numérique. La plupart des codes de message associés à des erreurs peuvent être appelés à l'aide de
la fonction ERROR qui permet d'afficher le code de la dernière erreur. De plus, la fonction $ERROR permet d'afficher le message d'erreur
correspondant à un code d'erreur de V + . Les informations ci-après comportent le code du message, le texte du message et parfois un
commentaire sur la situation à laquelle s'applique le message. Les parenthèses en chevron (<...>) comportent la description d'un élément qui
peut apparaître dans ce message. Tous les numéros sont décimaux. présente les messages qui donnent des informations.
Tableau E-6, «Messages d'avertissement,» à la page 382 présente les messages d'avertissement que vous pouvez recevoir.
Tableau E-5, «Messages d'information,» à la page 381 présente les messages d'erreur que vous pouvez recevoir.
391
Cours de formation Programmation ADEPT V+ 1
392
Cours de formation Programmation ADEPT V+ 1
–362 *Can't execute from SEE program instruction* –451 *Unexpected text at end of line*
–363 *Unknown editor command* –452 *Unknown instruction*
–453 *Ambiguous name*
–454 *Missing argument*
–364 *Can't create program in read-only mode*
–365 *Illegal in read-write mode*
–366 *Invalid when program on stack* –455 *Invalid program or variable name*
–380 *Breakpoint not allowed here* –456 *Invalid number format*
–457 *Reserved word illegal*
–458 *Illegal expression syntax*
–400 Aborted –459 *Missing parenthesis*
–401 *Undefined value* –460 *Missing quote mark*
–402 *Illegal value* –461 *Invalid format specifier*
–403 *Illegal assignment* –462 *Unknown function*
–404 *Illegal array index*
–405 *Illegal digital signal*
–406 *Undefined program or variable name* –463 *Invalid statement label*
–407 *Invalid argument* –464 *Duplicate statement label*
–408 *Program argument mismatch* –465 *Variable type mismatch*
–409 *Arithmetic overflow* –466 *Illegal use of belt variable*
–410 *Negative square root* –467 *Illegal .PROGRAM statement*
–411 *Not enough storage area* –468 *Duplicate .PROGRAM arguments*
–412 *Branch to undefined label* Step nnn –469 *Attempt to redefine variable type* : variable_name
–413 *Not enough program stack space* –470 *Attempt to redefine variable class* : variable_name
–414 *Can't mix MC & program instructions* –471 *Misplaced declaration statement*
–416 *String variable overflow* –472 *Control structure error* Step nnn
–417 *String too short* –473 *Control structure error*
–418 *Illegal memory reference* –474 *Too many array indices*
–419 *Illegal when command program active* –475 *Missing bracket*
–420 *Undefined value in this context* –476 *Invalid qualifier*
–421 *Program not on top of stack* –477 *Ambiguous AUTO invalid*
–422 *Function already enabled* –500 *File already exists*
–423 *Illegal operation* –501 *Nonexistent file*
–424 *Unknown keyword* –502 *Illegal I/O device command*
–425 *Calibration program not loaded* –503 *Device full*
–426 *Can't find calibration program file* –504 *Unexpected end of file*
–450 *Can't interpret line* –506 *File already open*
393
Cours de formation Programmation ADEPT V+ 1
394
Cours de formation Programmation ADEPT V+ 1
395
Cours de formation Programmation ADEPT V+ 1
396
Cours de formation Programmation ADEPT V+ 1
397