Le cœur de la Robotique
Guide d’intégration Applicatif Promia 50 - Manutention IRC5
ABB RDGI0009_E_Guide Intégration Promia Manut_Fra.doc
Guide d’intégration Applicatif Promia 50 - Manutention Document ID: RDGI 0009 Révision: E
Cette documentation est destinée à être imprimée en recto/verso. Document basé sur le modèle RDDI0040_A
Les informations contenues dans ce document peuvent être modifiées sans préavis et ne doivent pas être considérées comme un engagement de la part d’ABB France s.a.s. ABB France s.a.s réfute toute responsabilité quant aux erreurs éventuelles contenues dans de document. En aucun cas, ABB France s.a.s ne peut être tenu responsable des dommages pouvant découler de l’utilisation de ce document ou des logiciels ou matériels décrits dans ce document. Ce document ne doit pas être reproduit ni copié, intégralement ou en partie, sans l’autorisation d’ABB France s.a.s. Il ne doit pas non plus être ni communiqué à des tiers ni utilisé à des fins non autorisées. Toute transgression donnera lieu aux poursuites judiciaires prévues par la loi en vigueur. D’autres exemplaires de ce document peuvent être obtenus auprès d’ABB France s.a.s au prix actuel. © ABB ABB France s.a.s Division Robotique Rue de l’Equerre ZI des Béthunes 95310 Saint-Ouen l’Aumône FRANCE
Sommaire
Vue d’ensemble
7
Documentation produit, M2004
9
Documentation Promia
11
1 Sécurité
13
1.1 1.2 1.3
A propos du chapitre Sécurité .........................................................................................13 Standards de sécurité applicables à l’IRC5.....................................................................14 Terminologie sécurité......................................................................................................15
2 Installation de l’applicatif 2.1 2.2 2.3 2.4
Généralités......................................................................................................................17 Lancement de RobotStudio Online .................................................................................18 Création d’un nouveau système......................................................................................19 Insertion et configuration de l’option logicielle .................................................................22
3 Organisation mémoire - Sauvegardes 3.1 3.2 3.3
29
Configuration des E/S .....................................................................................................30 Configuration des tâches RAPID.....................................................................................32
5 Configuration des modules système 5.1 5.2 5.3 5.4
25
Sauvegarde.....................................................................................................................25 Restauration....................................................................................................................26 Réinitialisation de la mémoire programme (P-Start)........................................................27
4 Configuration des paramètres 4.1 4.2
17
33
Modules du tronc commun ..............................................................................................34 Réalisation de la configuration ........................................................................................35 Configuration du module CEL_CONF.SYS .....................................................................36 Personnalisation de l’IHM (module CEL_MENU.SYS)....................................................38
5.4.1 Personnalisation de la sauvegarde simplifiée ......................................................38 5.5
Configuration des modules MAN_CONF ........................................................................40
5.5.1 Configuration générale des séquences.................................................................40 5.5.2 Définition des séquences. ....................................................................................42 Instruction ActiveAct – Activation d’un actionneur d’une séquence .............................45 Instruction DesactiveAct– Désactivation d’un actionneur d’une séquence ....................46 Instruction CtrlSeq – Vérification de l’état d’un capteur d’une séquence ......................49 5.5.3 Définition des contrôles présence pièce ..............................................................50 Instruction DefineCPP – Définition des signaux de contrôle présence pièce .................51 5.5.4 Définition des ordres et événements outil ...........................................................52 Instruction DefineOrdOut – Définition des signaux ordres outil....................................53 Instruction DefineEvtOut – Définition des signaux événements outil............................55 5.6
Personnalisation des modules DEF_SITE ......................................................................57
5.6.1 Personnalisation des écrans .................................................................................57
5.6.2 Ajout de messages spécifiques dans l’écran de production.................................58 Instruction AffMessPU – Affichage d’un message utilisateur .......................................61 Instruction RazMessPU – Effacement d’un message utilisateur ....................................62 5.6.3 Paramètres généraux............................................................................................63 5.6.4 Carte d'identité robot ...........................................................................................64 5.7
Autres personnalisations : configuration des modules PERSOxxx.SYS .........................65
5.7.1 Module de personnalisation en avant-plan ..........................................................65 5.7.2 Module de personnalisation en arrière-plan ........................................................66 5.8
Vérification et chargement des modules " RAPID"..........................................................66
6 Ecriture des programmes et trajectoires 6.1 6.2 6.3
69
Généralités......................................................................................................................69 Structure du module PRG_MVT.MOD ............................................................................70 Considérations à prendre en compte dans un environnement multi-robot ......................73
6.3.1 Rappels des fonctionnalités « MultiMove » ........................................................73 6.3.2 Cas particuliers des trajectoires de repli et de lancement ....................................74 6.4 6.5 6.6 6.7 6.8
Apprentissage des points de repli et de rebouclage........................................................75 Programmes de travail ....................................................................................................76 Trajectoires de travail......................................................................................................77 Programmes de service ..................................................................................................78 Autres règles diverses – FAQ .........................................................................................80
7 Echanges codes 7.1 7.2 7.3 7.4
Priorité des échanges codes ...........................................................................................81 Principe du code interne .................................................................................................82 Principe des programmes de services ............................................................................83 Principe des échanges ....................................................................................................84
8 Actions de base programmables sur trajectoires 8.1
81
85
Edition des trajectoires ....................................................................................................85
8.1.1 Insertion d’une instruction spécifique de l’applicatif ..........................................86 8.1.2 Ajout et suppression d’arguments optionnels......................................................87 8.2
Programmation des ordres..............................................................................................88
Action "ORDRE" sur point d’arrêt.................................................................................88 Action "MOVE_ORDRE" sur point de passage.............................................................89 Action "ORD_OUTIL" sur point d’arrêt ........................................................................91 Action "MOVE_ORD_OUTIL" sur point de passage ....................................................92 8.3
Programmation des événements ....................................................................................94
Action "EVENT" sur point d’arrêt .................................................................................94 Action "MOVE_EVENT" sur point de passage .............................................................95 Action "EVT_OUTIL" sur point d’arrêt.........................................................................97 Action "MOVE_EVT_OUT" sur point de passage ........................................................98 8.3.1 Evénements utilisés en aiguillage......................................................................100 8.4
Programmation des séquences.....................................................................................101
Action « SEQ ».............................................................................................................101 8.5
Programmation des contrôles présence pièce ..............................................................103
Action “ CPP ”..............................................................................................................103 8.6
Programmation des contrôles dynamiques ...................................................................104
Action "CTRL_DYN" ..................................................................................................104 9 Cartes d’Entrées Sorties 9.1
4
107
Généralités....................................................................................................................107
RDGI 0009
Révision E
10 Suivi des moyens 10.1 10.2
109
Mot d’état suivi et état robot ..........................................................................................109 Définition du mot commentaire......................................................................................110
10.2.1 Mots commentaires communs à tout métier......................................................110 11 Règles à respecter 11.1 11.2 11.3
Echanges automate liés aux états et événements robot...............................................113 Echanges automates en trajectoire (ordres - événements)...........................................114 Chronogrammes à respecter.........................................................................................115
12 Index et annexes 12.1 12.2
113
123
Index .............................................................................................................................123 Table des illustrations ...................................................................................................124
RDGI 0009 Révision E
5
Vue d’ensemble
Vue d’ensemble A propos de ce manuel Ce document est destiné avant tout aux intégrateurs afin de leur permettre de programmer les armoires robot ABB IRC5 équipées du logiciel "Promia5.X Manutention". Il est également destiné à toute personne désirant avoir une connaissance de cet applicatif ne se limitant pas à sa simple utilisation. Ce manuel contient les instructions relatives à la mise en œuvre des fonctions de manutention de l’applicatif Promia. Il contient les caractéristiques de l’application de base orientée manutention. Il aborde les points suivants : • Description des fonctions apportées par le logiciel d’application, • Configurations à effectuer, • Ecriture des programmes et trajectoires, • Description des différentes actions et de leurs paramètres, • Annexes (procédures de sauvegardes / restitutions, configuration des robots, limites de prestations, documentation à remettre...), • Règles de bonne programmation à respecter. L’Applicatif Promia doit être configuré et personnalisé par l’intégrateur. L’ensemble de ces opérations doit être réalisé conformément à la présente notice et sont sous l’entière responsabilité de l’intégrateur. Les opérations sont décrites chronologiquement. Le chargement de l'application, décrit n'est pas nécessaire lorsque l'application a été pré-chargée par ABB. Les notions de base, telles que séquences, contrôles dynamiques, points de repli, de rebouclage, sont abordées dans la notice utilisateur et les normes Renault disponibles sur le site http://www.cnomo.com.
Usage Ce manuel doit être utilisé lors de la création ou de modifications substantielles des programmes basés sur l’applicatif Promia.
Qui doit lire ce manuel ? Ce manuel est rédigé notamment pour : • Les programmeurs robot et les intégrateurs, • Les techniciens de maintenance.
Pré requis Le lecteur doit : • Etre familiarisé avec l’utilisation du pupitre de l’IRC5, • Avoir été formé à la programmation de base des robots.
RDGI 0009
Révision E
7
Vue d’ensemble
Références – Documentation Produit Référence
Document
Manuel Produit, procédures Manuel Produit, références Démarrage - IRC5 et RobotStudio Online
IRC5 3HAC 021313-001 IRC5 3HAC 021313-001 3HAC 021564-001
Comment lire ce manuel ? Afin de faciliter la lecture, le texte ayant une signification particulière adopte un formatage spécifique.
Type de texte
Formatage
Exemple
Eléments de l’interface utilisateur, comme menu, boîte de dialogue, bouton.
Gras
In the Open File dialog box, click OK
Touches du clavier
Capitales
To open the help, press the F1 key.
Monospace (courrier)
MoveJ
Monospace (courrier) italique
PROC RoutineName()
Messages ordinateurs et instruction RAPID Variables dans les messages ordi/instruction RAPID Liens hypertexte
Bleus italiques
Références à autres manuels ou sources d’info
Italique
See The RobotStudio Online Operator’s Manual See the RAPID reference manual for further information.
Révisions Révision
Description
Rédacteur
A
Première édition, livrée en janvier 2007 Utilisation d’un document maître - Prise en compte des spécificités de la manutention gérée par l’automate – Ajout d’un chapitre sur les sauvegardesCorrections diverses – Novembre 2007 Suppression des doublons avec la notice utilisateur – Corrections diverses Avril 2008 Mise à jour du $5.5.2 Mise à jour du suivi des moyens
M. Bekaert
B
C D E
8
M. Bekaert
M. Bekaert M. Bekaert M. Bekaert
RDGI 0009
Révision E
Documentation produit, M2004
Documentation produit, M2004
Généralités
La documentation robot est divisée en différentes catégories. Cette liste est basée sur le type d’information contenu dans chaque document, que les produits sont optionnels ou pas. Ceci signifie que chaque livraison de produit robot ne contient pas tous les documents listés, mais seulement ceux correspondant à l’équipement livré. Cependant, tous les documents listés peuvent être commandés auprès d’ABB. Les documents listés sont valables pour les systèmes robot M2004.
Manuels Hardware Tout le hardware, robots et armoires de commande, est livré avec un Manuel produit divisé en deux parties : Manuel produit, procédures •
Informations sécurité
•
Installation et mise en route (descriptions de l’installation mécanique, connexions électriques et chargement logiciel)
•
Maintenance (descriptions de toutes les procédures de maintenance préventives requises, incluant les périodicités)
•
Réparation (descriptions de toutes les procédures de réparation, incluant les pièces détachées)
•
Procédures additionnelles, si besoin (étalonnage, désinstallation)
Manuel produit, références •
Références (Numéros d’article pour la documentation cite dans le manuel produit, procédures, liste d’outils, standards sécurité)
•
Liste de pièces détachées
•
Dessins ou vues éclatées
•
Schémas électriques
Manuels RobotWare Les manuels suivants décrivent le logiciel robot en général et contient les informations de références applicables. • RAPID Vue d’ensemble: Vue d’ensemble du langage de programmation RAPID. • RAPID Manuel de référence partie 1: Description de toutes les instructions RAPID. • RAPID Manuel de référence partie 2: Description de toutes les fonctions RAPID, ainsi que des types de données. • Manuel de référence technique – paramètres système: Description des paramètres système et configuration workflows.
RDGI 0009
Révision E
9
Documentation produit, M2004
Manuels d’application Les applications spécifiques (ex. options software ou hardware) sont décrites dans les Manuel d’application. Un manuel d’application peut décrire une ou plusieurs applications. Un manuel d’application contient généralement les informations concernant • Le but de l’application (ce qu’elle fait et quand elle est utile) • Ce qui est inclus (ex câbles, cartes E/S, instructions RAPID, paramètres système) • Comment utiliser l’application • Exemples d’utilisation de l’application.
Manuels opérateur Ce groupe de manuels est destiné à tous ceux qui sont en contact opérationnel avec le robot, comme les opérateurs de cellule de production, les programmeurs et les dépanneurs. Ce groupe de manuels contient : • Démarrage - IRC5 et RobotStudio Online • Manuel opérateur - IRC5 avec FlexPendant • Manuel opérateur - RobotStudio Online • Manuel de dépannage pour armoire de commande et robot
10
RDGI 0009
Révision E
Documentation Promia
Documentation Promia
Généralités Promia est une famille de logiciels d’application destinée aux systèmes robot IRC5. Tous ces logiciels comportent une partie commune, liée au process de manutention, sur laquelle peut se greffer une partie spécifique à un métier, à un process. Pour chaque métier, la documentation Promia consiste en une notice utilisateur et un guide d’intégration. Les informations fournies pour un métier donné incluent toujours les informations relatives au process manutention.
RDGI 0009
Révision E
11
1 Sécurité 1.1 A propos du chapitre Sécurité
1 Sécurité 1.1
A propos du chapitre Sécurité
Introduction à la Sécurité Ce chapitre décrit les principes de sécurité et les procédures à utiliser quand un robot ou un système robot est en opération. Il ne couvre ni la conception ni l’installation de la sécurité de l’équipement. Ces thèmes se trouvent dans les Manuels Produit livrés avec le système robot.
Sécurité du personnel Un robot est lourd, extrêmement puissant et rapide. Une pause ou un arrêt du mouvement peut être suivi d’un mouvement rapide aléatoire. Même si une trajectoire est prévue, une modification en cours d’opération peut intervenir via un signal externe résultant d’un mouvement inattendu. Il est donc important de suivre toutes les règles en vigueur quand on pénètre dans l’espace de sécurité du robot.
Régulation sécurité Avant de commencer à travailler avec le robot, assurez-vous que vous de connaître les règles de sécurité décrites dans le Manuel Opérateur – IRC5 avec FlexPendant.
RDGI 0009
Révision E
13
1 Sécurité 1.2 Standards de sécurité applicables à l’IRC5
1.2
Standards de sécurité applicables à l’IRC5
Standards de sécurité Le robot est totalement conforme aux standards de sécurité spécifiés dans les directives européennes machine. Les robots ABB commandés par l’IRC5 sont conformes aux standards suivants : Standard EN ISO 12100-1 EN ISO 12100-2 EN 954-1 EN 775 EN 60204 EN 61000-6-4 (option) EN 61000-6-2
EMC, generic emission EMC, generic immunity
Standard IEC 204-1 IEC 529
Description Electrical equipment of industrial machines Degrees of protection provided by enclosures
Standard ISO 10218
Description Manipulating industrial robots, safety Manipulating industrial robots, coordinate systems and motions
ISO 9787
Standard ANSI/RIA 15.06/1999 ANSI/UL 1740-1998 (option) CAN/CSA Z 434-03 (option)
14
Description Safety of machinery, terminology Safety of machinery, technical specifications Safety of machinery, safety related parts of control systems Manipulating industrial robots, safety Electrical equipment of industrial machines
Description Safety requirements for industrial robots and robot systems Safety standard for robots and robot equipment Industrial robots and robot systems - General safety
RDGI 0009
Révision E
1 Sécurité 1.3 Terminologie sécurité
1.3
Terminologie sécurité
Vue d’ensemble Cette section indique tous les types d’avertissement pouvant intervenir lors des opérations d »écrites dans ce manuel. Chaque avertissement est expliqué dans sa propre section avec : • Un symbole par niveau d’avertissement (DANGER, AVERTISSEMENT ou PRUDENCE) et type de danger • Une brève description de ce qui arrive si l’opérateur/personnel de service n’élimine pas le danger • Une instruction permettant d’éliminer le danger et de réaliser l’opération manuellement.
Niveaux de danger Le tableau ci-dessous définit les symboles des avertissements utilisés dans ce manuel. Symbole
Désignation
Signification
Danger
Avertit des risques qui causeront des blessures personnelles graves, voire mortelles et/ou l’endommagement majeur du produit si les consignes ne sont pas respectées.
Avertissement
Avertit des risques pouvant causer des blessures personnelles ou l’endommagement majeur du produit. Toujours respecter les consignes accompagnant ce symbole.
Choc électrique
Avertit des risques de choc électrique pouvant causer des blessures personnelles graves, voire mortelles. Toujours respecter les consignes accompagnant ce symbole.
Danger
Avertissement
Choc électrique
RDGI 0009
Révision E
15
1 Sécurité 1.3 Terminologie sécurité
Prudence
Attire l’attention sur le risque d’endommagement du produit si une certaine action n’est pas effectuée ou est effectuée de manière incorrecte.
Décharges électrostatiques (ESD)
Le symbole ESD indique le risque de décharges électrostatiques pouvant entraîner un endommagement majeur du produit.
Prudence
Décharges électrostatiques (ESD)
Conseil
Dirige vers des instructions spécifiques pour trouver plus d’information, ou astuces pour réaliser la même opération d’une façon plus simple.
Conseil
Remarque
Information sur des éléments importants.
Remarque
16
RDGI 0009
Révision E
2 Installation de l’applicatif 2.1 Généralités
2 Installation de l’applicatif 2.1
Généralités La première Installation est généralement effectuée par un technicien ABB qui réalise la mise en service du robot et du logiciel. Il peut s’avérer nécessaire de réinstaller l’application dans les cas suivants : • Lorsqu’on réinstalle le logiciel de base (RobotWare), • Suite à une mise à jour de ce même logiciel, • En cas de chargement d’une nouvelle version de « Promia ». La procédure d’installation décrite dans le chapitre suivant est valable dans tous ces cas.
Condition préalable à l’installation d’un système et de l’application Promia Pour que vous puissiez créer un système, vous devez déjà avoir installé sur votre ordinateur : • RobotStudio Online, • La version du logiciel de base « RobotWare » que vous allez utiliser. Si l’un des deux fait défaut, se reporter au Manuel d’utilisation de RobotStudio Online. Vous devez disposer des clés de licence fournies avec l’armoire de commande. Ces clés déterminent les modèles de robots et les options logicielles correspondant à votre installation. Remarque : RobotStudio Online ne gère pas les versions des options externes. Pour éviter toute mauvaise opération, veillez à n’avoir dans votre répertoire « Mediapool » que la version de Promia que vous désirez installer.
RDGI 0009 Révision E
17
2 Installation de l’applicatif 2.2 Lancement de RobotStudio Online
2.2
Lancement de RobotStudio Online
Lancement de l’application Lancer «RobotStudio Online» sur votre ordinateur.
Figure 1.
Figure 2.
18
Chargement de RobotStudio Online
Ecran d’accueil de RobotStudio Online
RDGI 0009
Révision E
2 Installation de l’applicatif 2.3 Création d’un nouveau système
2.3
Création d’un nouveau système Le générateur de système comporte un assistant de création de systèmes. L'assistant comporte des sections correspondant aux différentes phases de la procédure de création d'un système.
Instructions
Exemple d’écran
1. Cliquer sur « Lancer le générateur de système » pour créer un nouveau système de commande.
2. Cliquer sur «Créer un élément».
RDGI 0009 Révision E
19
2 Installation de l’applicatif 2.3 Création d’un nouveau système
3. Cliquer sur « Suivant »
4. Entrer le nom du système à créer, le
chemin d'accès du répertoire où stocker le système dans votre ordinateur, puis cliquer sur « Suivant »
5. Cliquer sur « … » et sélectionner le fichier .kxt du système robot pour recopier la clé dans le champ. Cliquer sur « Suivant ».
20
RDGI 0009
Révision E
2 Installation de l’applicatif 2.3 Création d’un nouveau système
6. Cliquer sur « … » et sélectionner le fichier .kxt du premier drive module pour recopier la clé dans le champ. Puis cliquer «-> » pour ajouter ce drive module. Renouveler ces opérations pour les éventuels autres robots. Cliquer sur « Suivant ».
RDGI 0009 Révision E
21
2 Installation de l’applicatif 2.4 Insertion et configuration de l’option logicielle
2.4
Insertion et configuration de l’option logicielle Une fois la création du système effectuée, vous arrivez à l’écran ci-dessous et pouvez installer Promia comme décrit ci-après. Instructions 1. Installer les éventuelles options externes (Positionneurs,…) : cliquer sur « … » et sélectionner le fichier .kxt de l’option dans le Mediapool. Cliquer ensuite sur « Æ » pour ajouter l’option dans la liste de droite. Procéder ensuite de même pour Promia.
Exemple d’écran
APPL-PROMIA-50
2. Vérifier dans cet écran que les options commandées sont cochées. Faîte défiler le curseur.
22
RDGI 0009
Révision E
2 Installation de l’applicatif 2.4 Insertion et configuration de l’option logicielle
Instructions
Exemple d’écran
3. Vérifier dans cet écran que les options de l’application PROMIA sont cochées, cliquer sur « Terminer ».
Instructions
Exemple d’écran
4. Votre système est créé, il faut maintenant le télécharger dans la baie. Cliquer sur « Télécharger ».
Entre les étapes 3 et 4, il est possible d’incorporer des paramètres système qui seront téléchargés sur l’armoire en même temps que le logiciel et l’applicatif. Ils seront stockés dans le répertoire SYSPAR du système et seront automatiquement chargés lors du démarrage de l’armoire. Attention : Ne jamais télécharger de fichier « SYS.cfg » de cette manière car l’ordre des tâches RAPID dans l’armoire ne serait plus standard, et les comparaisons de backups deviendraient très complexes. Il est par contre possible de transférer de cette manière un fichier de paramètres « controller », avec un nom autre que « SYS.cfg », et de le charger ensuite manuellement depuis le pupitre de l’armoire. Dans ce cas, l’ordre des tâches est conservé.
RDGI 0009 Révision E
23
3 Organisation mémoire - Sauvegardes 3.1 Sauvegarde
3 Organisation mémoire - Sauvegardes Rappel : Les modules programme existent à la fois dans la mémoire programme et sous la forme de fichiers dans le FlashDisk. L’organisation des modules dans les tâches ainsi que l’emplacement des fichiers correspondants est décrite dans les paramètres SYS.cfg. En pratique, les modules sont répartis sur le FlashDisk entre deux emplacements. Le répertoire de l’applicatif, situé en dehors du système courant, qui contient les modules non modifiables par l’intégrateur, et les répertoires SITE, situés dans le système courant, qui contiennent les trajectoires et les personnalisations. Echanges entre FlashDisk et mémoire Programme Les échanges entre le FlashDisk et la mémoire Programme se font via 4 mécanismes : • Le chargement et la sauvegarde directs d’un module en mémoire, qui ne concerne que les tâches dites d’avant plan ou de mouvement, • La sauvegarde des modules dans un backup (on utilisera de préférence la sauvegarde depuis l’écran Backup de l’application). • La restauration d’une sauvegarde • Lors d’une réinitialisation de la mémoire Programme (P-Start).
3.1
Sauvegarde
Synoptique de la sauvegarde
Mémoire Programme
Backup
FlashDisk
Répertoire de sauvegarde (REST_ABB)
Applicatif PROMIA
Répertoires SITE
Figure 3. Synoptique d’un backup Lors d’un backup, tous les paramètres de configuration et tous les modules en mémoire sont sauvegardés. Les modules RAPID sont sauvés suivant une arborescence qui correspond aux différentes tâches du système. Les modules « partagés » entre toutes les tâches y sont stockés dans une pseudo- tâche 0.
RDGI 0009 Révision E
25
3 Organisation mémoire - Sauvegardes 3.2 Restauration A noter : les répertoires d’origine des modules ne sont pas mis à jour. La cohérence entre les données en mémoire et les données sur le FlashDisk n’est pas assurée. Cette incohérence n’est cependant pas critique en IRC5 (cf. ci-dessous PStart) L’écran Backup de l’application donne un accès rapide à cette fonction de sauvegarde. Son IHM est très simple, le répertoire unique de sauvegarde est automatiquement écrasé, sans confirmation de l’opérateur. L’opération de sauvegarde s’effectue de manière asynchrone (elle ne bloque pas l’écran). Eviter de modifier le programme pendant la sauvegarde.
3.2
Restauration
Synoptique de la restauration
Mémoire Programme
Restauration de backup
FlashDisk
Répertoire de sauvegarde (REST_ABB)
Applicatif PROMIA
Répertoires SITE
Figure 4. Synoptique de la restauration de backup Lors de la restauration d’un backup, les paramètres sont chargés en mémoire et les modules RAPID sont à la fois restaurés en mémoire et dans leur emplacement sur le FlashDisk. Après une restauration, les données en mémoire et sur le FlashDisk sont cohérentes.
26
RDGI 0009
Révision E
3 Organisation mémoire - Sauvegardes 3.3 Réinitialisation de la mémoire programme (P-Start)
3.3
Réinitialisation de la mémoire programme (P-Start)
Synoptique
2
Mémoire Programme
2 P-Start
1
1
FlashDisk
Répertoire de sauvegarde (REST_ABB)
Applicatif PROMIA
Répertoires SITE
Lors de la réinitialisation de la mémoire programme, les modules qui ont été modifiés en mémoire sont tout d’abord automatiquement sauvegardés sur le FlashDisk, à leur emplacement d’origine. Il n’est donc pas nécessaire de faire systématiquement une sauvegarde du programme de mouvement à chaque modification. On pourra se contenter de faire une sauvegarde du module ou un backup à des moments choisis, correspondant à des étapes de mise en route ou de mise à jour. Dans un deuxième temps, tous les modules sont rechargés en suivant la configuration des tâches et modules. Cette configuration pointe sur les répertoires SITE pour les modules personnalisables. Il est donc nécessaire que le chargement de modules modifiés hors ligne soit réalisé depuis ce répertoire SITE. En pratique, cela signifie qu’on peut charger un module depuis une clé USB, pour vérifier les éventuelles erreurs de syntaxe ou de référence, mais ce module devra ensuite être copié dans le répertoire SITE. A noter également que la plupart des modules personnalisables sont à la fois chargés dans la tâche d’avant-plan (de mouvement) et la tâche d’arrière plan (surveillance). Leur prise en compte nécessite donc un P-Start.
RDGI 0009 Révision E
27
3 Organisation mémoire - Sauvegardes 3.3 Réinitialisation de la mémoire programme (P-Start)
28
RDGI 0009
Révision E
4 Configuration des paramètres 3.3 Réinitialisation de la mémoire programme (P-Start)
4 Configuration des paramètres Vue d’ensemble L’applicatif est installé avec un certain nombre de données pré-configurées, et ces données prennent essentiellement deux formes : • Des paramètres, dans les domaines des entrées/sorties (EIO), process (PROC), armoire de commande (SYS), mouvement (MOC), et IHM (MMC). •
Des variables ou des routines RAPID, regroupées dans des modules dédiés.
Le présent chapitre traite de la personnalisation des paramètres. En général, les paramètres MMC et MOC n’ont pas à être modifiés directement. La modification des paramètres SYS est à réserver à des extensions spécifiques (ajout de modules). Les paramètres EIO et PROC doivent être adaptés aux besoins du site. Ce chapitre ne décrit que la modification des paramètres sur l’armoire. Les paramètres peuvent également être modifiés via RobotStudio Online. Se référer alors à la documentation de ce produit.
RDGI 0009 Révision E
29
4 Configuration des paramètres 4.1 Configuration des E/S
4.1
Configuration des E/S
Principe de base Lors du chargement initial de l’applicatif, le fichier EIO.cfg (paramètres d’entréessorties) est chargé en fonction de la configuration réseau du site (Interbus S, Profibus, FIPIO ou Parallèle). Les cartes prédéfinies varient suivant des configurations type, mono et multi-robot. Des cartes additionnelles sont déclarées pour les signaux liés à la manutention et au(x) process. Déclaration des cartes Cette opération est à effectuer pour ajouter des cartes d’E/S supplémentaires par rapport à la configuration chargée à l’origine. • Aller dans Panneau de Commande – Configuration à partir du menu
ABB, • • • • •
Choisir dans « Rubriques » : I/O Choisir le type « Unit » dans la liste, Choisir « Ajouter » dans la Barre de Commande, Renseigner les informations demandées, Valider par « OK » et redémarrer le système, comme demandé.
Contraintes sur les entrées/sorties Il est possible de déplacer les entrées/sorties, mais certaines règles doivent être respectées : • Pour chaque robot n, les ordres API, OR1_n à OR16_n, doivent avoir des adresses contiguës et former le groupe « GoOrdresn ».
30
•
De même, pour chaque robot n, les événements API, EV1_n à EV16_n, doivent avoir des adresses contiguës et former le groupe « GiEventsn ».
•
Pour chaque robot n, les ordres outil doivent être « contigus par morceau » et pouvoir être regroupés dans un maximum de 4 groupes, de longueur variable. Sur ce point, voir également le chapitre 5.5.4 : Définition des ordres et événements outil
•
De même, pour chaque robot n, les événements outil doivent être « contigus par morceau » et pouvoir être regroupés dans un maximum de 4 groupes, de longueur variable. Sur ce point, voir également le chapitre 5.5.4 : Définition des ordres et événements outil
RDGI 0009
Révision E
4 Configuration des paramètres 4.1 Configuration des E/S
Déplacement des entrées et sorties au pupitre Cette procédure est utilisée pour déplacer les E/S utilisées des cartes simulées vers les cartes réelles. • Aller dans Panneau de Commande – Configuration à partir du menu • • • • • • •
ABB, Choisir dans « Rubriques » : I/O Choisir le type « Signal » dans la liste, Sélectionner le signal à modifier, Sélectionner le champ « Assigned to Unit », Choisir la carte de réaffectation, Eventuellement, sélectionner « Unit Mapping » et modifier l’adresse du signal dans la carte. Valider l’écran par « OK » et redémarrer le système, comme demandé.
Déplacement des entrées et sorties hors ligne Les fichiers de configuration des entrées sorties (les fichiers EIO.cfg) peuvent être modifiés hors ligne par un éditeur de texte. Dans ce cas, faire attention à conserver l’attribut « -store » pour les sorties suivantes : • • • • • •
RDGI 0009 Révision E
Les groupes définissant les ordres API : GoOrdres’n’ Les groupes définissant les ordres outil : GoOrdOut’n’ Les signaux de pilotage des séquences WRepli’n’ (robot n à la position de repli) Reb_prg’n’ (robot n à la position de rebouclage) REPLI (tous les robots sont à la position de repli)
31
4 Configuration des paramètres 4.2 Configuration des tâches RAPID
4.2
Configuration des tâches RAPID
Vue d’ensemble La configuration des tâches RAPID est prédéfinie. Elle n’a normalement pas à être modifiée. En particulier, il n’y a pas lieu de créer de tâches supplémentaires par rapport à celles qui sont déjà définies. L’intégrateur peut cependant avoir besoin de créer des modules programme supplémentaires, soit pour y intégrer une spécificité liée à son process, soit pour répartir les trajectoires de travail en plusieurs modules afin d’optimiser l’occupation de la mémoire de programme. La configuration des modules des tâches doit alors être mise à jour pour : • Permettre le chargement correct des modules en cas de P-Start • Permettre au client d’identifier les spécificités de l’armoire • Faciliter la labellisation de l’installation Déclaration des modules Cette opération est à effectuer pour ajouter des modules supplémentaires par rapport à la configuration chargée à l’origine. • Aller dans Panneau de Commande – Configuration à partir du menu
ABB, • • • • • • •
Choisir dans « Rubriques » : Controller Choisir le type « Automatic loading of modules » dans la liste, Choisir « Ajouter » dans la Barre de Commande, Renseigner les informations demandées, Valider par « OK » S’il s’agit d’un module ajouté à une tâche d’avant plan uniquement, vous pouvez redémarrer le système, comme demandé Sinon, faire un P-Start o o
32
Sélectionner « Redémarrer » dans le menu ABB, puis « Avancé… » puis cocher P-Start et faire « OK ». Le choix P-Start apparaît alors dans la barre de commande. Sélectionner ce choix et attendre la fin du redémarrage.
RDGI 0009
Révision E
5 Configuration des modules système 4.2 Configuration des tâches RAPID
5 Configuration des modules système Vue d’ensemble L’applicatif est installé avec un certain nombre de données pré-configurées, et ces données prennent essentiellement deux formes : • Des paramètres, dans les domaines des entrées/sorties (EIO), process (PROC), contrôle de armoire (SYS), mouvement (MOC), et IHM (MMC). •
Des variables ou des routines RAPID, regroupées dans des modules dédiés.
Ce chapitre traite de la personnalisation des modules RAPID autres que ceux qui contiennent les trajectoires. Les règles liées à l’apprentissage des trajectoires font quant à elles l’objet de chapitres spécifiques. Les modules personnalisables se trouvent dans des répertoires « Site » prédéfinis. Dans un système mono-robot, il n’existe qu’un répertoire site, appelé "Site". Dans un système multi-robots, il existe un répertoire site pour chacune des unités mécaniques indépendantes. Ces répertoires sont alors nommés Site1, pour l’unité mécanique no1, Site2, pour l’unité mécanique no2, … Les répertoires site contiennent tous les modules personnalisables de Promia pour une unité mécanique donnée. Leur contenu varie en fonction des process installés sur cette unité mécanique.
RDGI 0009 Révision E
33
5 Configuration des modules système 5.1 Modules du tronc commun
5.1
Modules du tronc commun
Vue d’ensemble Ces modules sont indépendants des process et permettent de personnaliser la manutention, la gestion de la cellule, l’interface homme - machine. Liste des modules personnalisables
Nom du module (environnement mono-robot)
Nom du module (environnement multi-robots unité mécanique ‘n’)
CEL_CONF.SYS
CEL_CONF.SYS
CEL_MENU.SYS
CEL_MENU.SYS
Rôle principal du module
Définition des constantes communes à la cellule ; chargé en avant-plan et en arrière plan Définition des menus du conteneur d’écran et des boutons du panneau opérateur NB : Ce module figure uniquement dans le répertoire site lié à l’unité mécanique 1
DEF_SITn.SYS
Définition des libellés des séquences, présence pièce, ordres, et événements ; ces libellés seront repris dans les écrans de Promia ; chargé en avant-plan et en arrière plan
MAN_CNFn.SYS
Définition des signaux utilisés pour les présences pièce ; définition des pilotages et des contrôles des séquences ; chargé en avant-plan et en arrière plan
PERSO_AVP.SYS
PERSO_AVn.SYS
Personnalisation intégrateur sur les événements système ; définition des points de repli et de rebouclage ; actions à réaliser en fin de repli ou de trajectoire de lancement ; chargé en avant-plan uniquement
PERSO_ARP.SYS
PERSO_ARn.SYS
Personnalisations intégrateur liées à la surveillance permanente ; chargé en arrière-plan uniquement
PRG_MVT.MOD
PRG_MVn.MOD
Définition des trajectoires et de leur enchaînement dans les programmes.
DEF_SITE.SYS
MAN_CONF.SYS
34
RDGI 0009
Révision E
5 Configuration des modules système 5.2 Réalisation de la configuration
5.2
Réalisation de la configuration
Vue d’ensemble Bien qu’il soit possible sur une armoire IRC5 de réaliser la personnalisation des modules RAPID directement sur l’armoire, il est recommandé d’éditer les modules • hors ligne, via par un éditeur de texte • à l’aide de RobotStudio OnLine. Dans le cas d’une édition via RobotStudio Online, les modifications sont automatiquement transférées dans l’armoire. Dans le cas d’une édition hors ligne, il sera nécessaire de transférer et de charger manuellement les modifications, en utilisant soit un client ftp, soit une clé USB. La vérification et le chargement des modules à l’aide d’une clé USB sont détaillés dans le chapitre 5.8 Vérification et chargement des modules " RAPID".
RDGI 0009 Révision E
35
5 Configuration des modules système 5.3 Configuration du module CEL_CONF.SYS
5.3
Configuration du module CEL_CONF.SYS Ce module contient la définition des constantes communes à l’ensemble de la cellule, y compris dans une configuration multi-robot ; il est chargé à la fois en avant-plan et en arrière plan.
Configuration des codes programmes réservés La gestion des codes programme mouvement correspond à la sélection du travail à faire exécuter par le robot en fonction de l'état machine et de l'état pièce de l'environnement du robot. Cette sélection est réalisée par un système externe à l’armoire robot qui génère une information appelée "code programme" qui sera transmise à l’armoire robot. (L’armoire ne réalisant que le départ sur le programme demandé). Cependant, certains numéros de programmes sont réservés et gérés par l’applicatif. Ils ne doivent donc pas être utilisés pour les programmes de travail. Ces codes correspondent à la demande de repli et aux programmes de service 1 à 4. Les valeurs fournies par défaut sont celles utilisées dans les lignes de carrosserie tôlerie; toutefois il est possible de modifier ces valeurs, notamment pour les installations où le nombre de codes des programmes de travail est supérieur à 64. Dans ce cas, contacter le client afin de définir de concert les codes à utiliser. Il suffira alors de modifier les valeurs des constantes suivantes : Deux paramètres correspondent à la plage des codes de service. Fourniture de base ABB : CONST num CP_ServMin:=59; CONST num CP_ServMax:=62; Les autres paramètres permettent d’identifier les numéros des codes de service. Fourniture de base ABB : CONST CONST CONST CONST CONST
num num num num num
CP_REPLI:=63; CP_DemServ1:=62; CP_DemServ2:=61; CP_DemServ3:=60; CP_DemServ4:=59;
Dans un système multi-robots, bien que le fichier ne soit situé que dans le répertoire Site1, il est chargé dans toutes les tâches RAPID.
Lecture des codes cycle sur le point de rebouclage Les codes cycles ne sont pris en compte, par défaut, que sur le point de rebouclage. Les différents cycles devront alors commencer et se terminer sur ce point de rebouclage, selon le schéma dit “de la marguerite” appliqué en tôlerie. Il est possible de modifier ce comportement afin de pouvoir terminer un cycle en dehors du point de rebouclage, en passant à FALSE la variable Code_Au_Reb.
36
RDGI 0009
Révision E
5 Configuration des modules système 5.3 Configuration du module CEL_CONF.SYS Fourniture de base ABB : ! Flag d'autorisation de lecture des codes cycles ! en dehors du point de rebouclage programme PERS bool Code_Au_Reb:=TRUE; Les codes de services (Repli, Lance, service 1,…) ne sont pas pris en compte en dehors du point de rebouclage.
Gestion des défauts Le comportement par défaut de Promia pour l’acquittement et l’envoi des défauts à l’automate est le suivant : • L’acquittement des défauts avec validation est typiquement réalisé sur l’armoire, une fois que le défaut a disparu. • Un défaut est signalé à l’automate tant qu’il est présent Des variables permettent de modifier ce comportement : • Une valeur TRUE de la variable AcqDefautsSurAPI indique que tous les défauts sont acquittés sur l’automate. Dans ce cas, aucune validation n’est demandée sur l’armoire. • Une valeur TRUE de la variable MajDefSurRestart indique que le mot défaut est temporairement remis à zéro lors d’une relance du programme, et permet ainsi de gérer sur front, côté automate, l’apparition des défauts. Fourniture de base ABB : !------------------------! Acquittement des défauts sur l'automate !------------------------CONST bool AcqDefautsSurAPI:=FALSE; CONST bool MajDefSurRestart:=FALSE;
RDGI 0009 Révision E
37
5 Configuration des modules système 5.4 Personnalisation de l’IHM (module CEL_MENU.SYS)
5.4
Personnalisation de l’IHM (module CEL_MENU.SYS) Ce module contient 4 types d’information : • Les chemins utilisés pour la sauvegarde simplifiée (écran Backup) • Les boutons et voyants figurant dans le panneau opérateur virtuel • La liste des écrans accessibles dans le conteneur d’écrans, ainsi que leur emplacement et leur ordre dans la barre de commande. • Les éventuels menus de configuration appelables lors d’une réinitialisation de programme. Les chemins de sauvegarde peuvent être personnalisés à loisir par l’intégrateur. Le panneau opérateur, les menus du conteneur et les menus de configuration globale sont à modifier avec prudence. Leur personnalisation fait appel à des notions plus complexes et n’est pas décrite ici. S’il s’avère nécessaire de modifier ces menus, prière de contacter ABB qui vous guidera dans cette opération.
5.4.1 Personnalisation de la sauvegarde simplifiée La sauvegarde simplifiée est une sauvegarde de type « backup », accessible depuis le conteneur d’écran. Cette sauvegarde est identique à celle réalisée dans l’écran standard ABB, mais comporte des chemins d’accès prédéfinis par l’intégrateur pour 3 types de support : flashdisk, port USB ou réseau. Répertoires par défaut Par défaut, en absence de personnalisation, la sauvegarde s’effectue dans les répertoires suivant : Picto
38
Bouton correspondant
Support
Répertoire par défaut
FlashDisk
/hd0a/NomDuSystème/REST_ABB
USB
/bd0/Backup_DateCourante
Réseau
aucun
RDGI 0009
Révision E
5 Configuration des modules système 5.4 Personnalisation de l’IHM (module CEL_MENU.SYS)
Personnalisation La personnalisation s’effectue en modifiant les paramètres suivants, qui définissent les chemins d’accès aux répertoires de sauvegarde : ! répertoires prédéfinis pour sauvegarde backup ALIAS string backupPath; ! répertoire FlashDisk : par défaut "REST_ABB" si non renseigné CONST backupPath stFlashDiskPath:=""; ! répertoire USB : par défaut "Backup_aaaammjj" si non renseigné CONST backupPath stUSBPath:=""; ! chemin réseau + répertoire à définir CONST backupPath stNetWorkPath:="";
L’ALIAS permet de définir un type équivalent au type « string » et de retrouver plus facilement ces données dans la liste des données du programme. Le chemin à fournir pour les sauvegardes sur le FlashDisk est un chemin relatif au système robot courant. Par exemple le paramétrage d’une valeur « Mes sauvegardes » créera un répertoire de sauvegarde appelé « Mes sauvegardes » dans le système robot courant. Le chemin à fournir pour une sauvegarde sur clé USB est un chemin relatif à la racine de la clé. Exemple : le paramétrage d’une valeur 66-12354 créera un répertoire 66-12354 sous la racine de la clé USB. Le chemin à fournir pour un PC distant est un chemin lié au répertoire « monté » visible de l’armoire, en général « pc : ». Exemple « pc:66-12354 » créera un sousrépertoire 66-12354 dans le répertoire distant défini dans les paramètres système.
RDGI 0009 Révision E
39
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
5.5
Configuration des modules MAN_CONF
Vue d’ensemble La configuration de la manutention se fait dans le fichier "MAN_CONF.SYS" (MAN_CNFx.SYS, en configuration multi-robot) : l’intégrateur peut y paramétrer la gestion des préhenseurs au moyen des séquences et la gestion des contrôles de présence pièce. Les E/S dédiées à cette fonction sont par défaut déclarées sur une carte “MANUT ” : 14 entrées banalisées utilisables au choix pour les contrôles des actionneurs ou les contrôles des présences pièce (CTRL1 à CTRL14) 10 sorties de pilotage des actionneurs (PIL1 à PIL10) Cette configuration par défaut correspond à la manutention de base 5 séquences. Il est cependant possible d’ajouter autant de cartes physiques et de signaux d’entrées / sorties que nécessaire pour une application particulière, et ce dans la limite de 8 contrôles présence pièce et 16 séquences (16 actionneurs et 16 capteurs).
5.5.1 Configuration générale des séquences Contenu Cette partie de la configuration décrit le comportement général des séquences et inclut : •
La déclaration du nombre de séquences utilisables en trajectoire, NB_SEQ, et la liste de ces séquences : Tab_Seq_Prog{NB_SEQ+1}. Le premier élément de ce tableau reprend le nombre de séquences (NB_SEQ), les autres éléments sont les numéros des séquences réellement programmées ; voir l’exemple ci-dessous.
•
la temporisation qui remplace la séquence en mode déverminage : TEMPO_DEVERM.
Cette temporisation sert également à simuler le temps d’attente des contrôles présence pièce en mode déverminage
40
•
le temps de latence des séquences, TEMPO_SEQ_ATT. Il s’agit du temps de réponse de l’équipement en régime transitoire : pendant cette durée, l’absence de positionnement correct des entrées correspondantes n’entraîne pas de remontée de défaut. Valeur minimum 2 sec.
•
le comportement, réel ou simulé, des séquences en mode déverminage : Tab_Inhib_Seq, un tableau de variables booléennes qui contient pour chacune des séquences TRUE si la séquence est simulée, ou FALSE si la séquence est réellement activée.
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF Configuration livrée par défaut La configuration est livrée par défaut avec les paramètres suivants : !##################################### ! Definition du nombre de prehenseurs !##################################### ! NB_SEQ = Nombre de séquences effectivement programmées (16 au maximum) ! Tab_Seq_Prog : définition des séquences programmées dans ce module : ! 1er élément = NB_SEQ, ! puis NB_SEQ éléments contenant les numéros des séquences ! Exemples : ! - aucune séquence ! CONST num NB_SEQ:=0; ! CONST num Tab_Seq_Prog{NB_SEQ+1}:=[0]; ! - 3 séquences, séquence 1, séquence 8 et séquence 12 ! CONST num NB_SEQ:=3; ! CONST num Tab_Seq_Prog{NB_SEQ+1}:=[3,1,8,12]; CONST num NB_SEQ:=0; CONST num Tab_Seq_Prog{NB_SEQ+1}:=[0]; ! Tempo techno en deverminage sur SEQ et CPP CONST num TEMPO_DEVERM:=0.5; ! Tempo avant info suivi attente sequence CONST num TEMPO_SEQ_ATT:=2; ! Tableau d'inhibition des séquences en déverminage PERS bool Tab_Inhib_Seq{16}:=[FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE];
Exemple de personnalisation CONST num NB_SEQ:=2; CONST num Tab_Seq_Prog{NB_SEQ+1}:=[2,1,2];
Dans cet exemple, 2 séquences, la séquence 1 et la séquence 2, peuvent être pilotées par le robot en trajectoire. Remarque importante NB Les séquences qui ne sont pas déclarées comme utilisables en trajectoire peuvent cependant être pilotées manuellement. Il suffit pour cela qu’elles soient définies, c'est-à-dire que leurs routines ACT_SEQ et CTRL_SEQ soient renseignées (cf. chapitre suivant). Ce mécanisme est utilisé par exemple pour les séquences pilotées par l’automate : elles ne sont pas utilisables en trajectoire, mais elles peuvent pilotées dans l’écran de pilotage manuel des séquences.
RDGI 0009 Révision E
41
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
5.5.2 Définition des séquences. L’intégrateur doit renseigner les routines Act_Seq 1 à 16 pour définir comment activer ou désactiver une séquence et les routines Tst_Seq .1 à 16 pour définir comment tester son état. Ces routines sont appelées aussi bien pour le pilotage manuel de la séquence que pour le pilotage en trajectoire (de celles qui sont déclarées dans Tab_Seq_Prog). Configuration livrée par défaut Les routines Act_Seq et Tst_Seq sont livrées vides par défaut. Le module contient, sous forme de commentaire un exemple typique de séquence gérée par le robot et un exemple typique de séquence gérée par l’automate : !================================================ ! ! Deux modes de gestions des séquences sont possibles : ! ! - gestion par la baie robot : voir l'exemple 1 ci-dessous ! ! - gestion par l'API de l'installation : voir l'exemple 2 cidessous ! ! ! ! L'integrateur fait un copié / collé de l'exemple dans les ! ! séquences souhaitées. ! ! ! ! ! !============================================= ! ! exemple 1 : séquence gérée par la baie robot ! !--------------------------------------------! !###################### ! ! Active la sequence 1 ! !###################### ! PROC Act_Seq1( ! num etat) ! ! TEST etat ! CASE DEACTIVATE: ! ! a definir par l'utilisateur ... ! !DesactiveAct PIL1; ! !ActiveAct PIL2; ! CASE ACTIVATE: ! !ActiveAct PIL1; ! !DesactiveAct PIL2; ! ! a definir par l'utilisateur ... ! DEFAULT: ! ENDTEST ! ENDPROC ! ! !#################### ! ! Test la sequence 1 ! !#################### ! PROC Tst_Seq1( ! num etat, ! INOUT bool Controle) ! ! ! exemple de séquence gérée par le robot ! InitCtrlSeq; ! TEST etat ! CASE DEACTIVATE: ! ! a definir par l'utilisateur ... ! !CtrlSeq CTRL1,REPOS; ! !CtrlSeq CTRL2,ACTIF; ! Controle:=CtrlSeqOK(); ! RETURN; ! CASE ACTIVATE: ! ! a definir par l'utilisateur ... ! !CtrlSeq CTRL1,ACTIF; ! !CtrlSeq CTRL2,REPOS; ! Controle:=CtrlSeqOK(); ! RETURN; ! DEFAULT: ! Controle:=TRUE; ! ENDTEST ! Controle:=FALSE; 42
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF ! ENDPROC ! !============================================= ! !--------------------------------------! ! exemple 2 : séquence gérée par l'API ! !La valeur de la variable "SeqAPI_Cmd1 vaut : ! ! - 1,3,5,7,...,31 pour le case DESACTIVATE des séquences 1,2,3,4,...,16 ! ! - 2,4,6,8,...,32 pour le case ACTIVATE des séquences 1,2,3,4,...,16 ! !--------------------------------------! ! !###################### ! ! Active la sequence 1 ! !###################### ! PROC Act_Seq1( ! num etat) ! ! TEST etat ! CASE DEACTIVATE: ! DesactiveAct CdeSeqAPI1; ! IF NOT SeqEnregSig() THEN ! SetGO SeqAPI_Cmd1,1; ! WaitTime 1.0; ! SetGO SeqAPI_Cmd1,0; ! ENDIF ! CASE ACTIVATE: ! ActiveAct CdeSeqAPI1; ! IF NOT SeqEnregSig() THEN ! SetGO SeqAPI_Cmd1,2; ! WaitTime 1.0; ! SetGO SeqAPI_Cmd1,0; ! ENDIF ! DEFAULT: ! ENDTEST ! ENDPROC ! ! !#################### ! ! Test la sequence 1 ! !################### ! PROC Tst_Seq1( ! num etat, ! INOUT bool Controle) ! ! InitCtrlSeq; ! TEST etat ! CASE DEACTIVATE: ! CtrlSeq RetourSeqAPI1,REPOS; ! Controle:=CtrlSeqOK(); ! RETURN; ! CASE ACTIVATE: ! CtrlSeq RetourSeqAPI1,ACTIF; ! Controle:=CtrlSeqOK(); ! RETURN; ! DEFAULT: ! Controle:=TRUE; ! ENDTEST ! Controle:=FALSE;
!
ENDPROC
! ================ fin des exemples ==================
Pilotage des séquences Les routines Act_Seq1 à 16 sont appelées pour la gestion de l’activation ou désactivation des actionneurs des séquences 1 à 16. Ces routines ont comme argument l’état souhaité de la séquence : « DEACTIVATE » (par convention, mettre l’actionneur en position « repos ») et « ACTIVATE » (par convention, mettre l’actionneur en position « travail »).
RDGI 0009 Révision E
43
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF L’intégrateur doit programmer pour chacun de ces deux états d’une séquence des instructions spécifiques permettant de piloter à 1 ou à 0 les actionneurs mis en œuvre, et ce en utilisant respectivement les instructions « ActiveAct » et « DesactiveAct » dont l’argument est le nom de la sortie à actionner. Exemple : Fourniture de base : !###################### ! Active la sequence 1 !###################### PROC Act_Seq1( num etat) TEST etat CASE DEACTIVATE: ! a definir par l'utilisateur ... CASE ACTIVATE: ! a definir par l'utilisateur ... DEFAULT: ENDTEST ENDPROC
Personnalisé : !###################### ! Active la sequence 1 !###################### PROC Act_Seq1( num etat) TEST etat CASE DEACTIVATE: ! a definir par l'utilisateur ... DesactiveAct PIL1; ActiveAct PIL2; DesactiveAct PIL3; ActiveAct PIL4; CASE ACTIVATE: ! a definir par l'utilisateur ... ActiveAct PIL1; DesactiveAct PIL2; ActiveAct PIL3; DesactiveAct PIL4; DEFAULT: ENDTEST ENDPROC
Les routines Act_Seq sont également appelées au démarrage de l’armoire dans un mode spécifique permettant d’enregistrer les signaux mis en jeu par la séquence. Les instructions « ActiveAct » et « DesactiveAct » sont alors inactives. Mais si la programmation des séquences doit comporter d’autres instructions qui ont un impact sur l’environnement (SetGo, par exemple), il est nécessaire d’inhiber ces actions en utilisant la fonction SeqEnregSig (voir plus haut l’exemple typique de séquence gérée par l’automate). Il est inutile et même déconseillé de déclarer avec l'attribut "store" les sorties correspondant aux actionneurs bistables.
44
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Instruction ActiveAct – Activation d’un actionneur d’une séquence L’instruction ActiveAct permet de positionner à 1 un signal de sortie utilisé pour piloter une séquence.
Arguments ActiveAct
signal
signal Type de donnée : signaldo Signal de sortie logique utilisé pour piloter la séquence.
Exécution du programme Le signal est positionné à 1. L’utilisation de cette instruction permet de plus à l’applicatif de connaître les signaux associés à la séquence et d’afficher leurs noms dans l’écran de visualisation des séquences. Mode opératoire Cette instruction ne doit être utilisée que dans une routine Act_Seqx du module MAN_CONF associé au robot concerné. Voir aussi
RDGI 0009 Révision E
Instruction/Fonction
Rôle
DesactiveAct
Instruction de mise à 0 d’une sortie de pilotage de séquence
SEQ
Instruction de pilotage et de test des séquences
45
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Instruction DesactiveAct– Désactivation d’un actionneur d’une séquence L’instruction DesactiveAct permet de positionner à 0 un signal de sortie utilisé pour piloter une séquence.
Arguments DesactiveAct
signal
signal Type de donnée : signaldo Signal de sortie logique utilisé pour piloter la séquence.
Exécution du programme Le signal est positionné à 0. L’utilisation de cette instruction permet de plus à l’applicatif de connaître les signaux associés à la séquence et d’afficher leurs noms dans l’écran de visualisation des séquences. Mode opératoire Cette instruction ne doit être utilisée que dans une routine Act_Seqx du module MAN_CONF associé au robot concerné. Voir aussi
46
Instruction/Fonction
Rôle
ActiveAct
Instruction de mise à 1 d’une sortie de pilotage de séquence
SEQ
Instruction de pilotage et de test des séquences
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Contrôle des séquences Les routines Tst_Seq1 à 16 sont appelées pour le contrôle des capteurs programmés dans les deux états possibles de chaque séquence. Principe : Chaque capteur peut être contrôlé à l’état « 1 » ou « 0 ». Pour le contrôle d’une séquence un ‘ET’ logique est opéré par le système entre les contrôles de chaque capteur concerné par cette séquence. Si les équations logiques des séquences sont plus complexes que ce simple ‘et’ logique, il sera nécessaire de définir en plus des cross-connexions dans les paramètres d’entrées / sorties, afin de se ramener à des ‘ET’ logiques dans les routines de contrôle. Pour ce faire, l’intégrateur doit programmer pour les deux états de pilotage, « DEACTIVATE » (repos) et « ACTIVATE » (actif), des instructions spécifiques permettant de contrôler les capteurs : il s’agit de l’instruction « CtrlSeq» dont les arguments sont le nom de l’entrée à tester (CTRL1, DETECT1, …) et l’état attendu (REPOS = « 0 » ou ACTIF = « 1 » ). Les instructions standards « InitCtrlSeq » et « CtrlSeqOK » qui figurent dans les routines Tst_Seq… ne doivent en aucun cas être supprimées. L’ordre des signaux testés pour vérifier les états repos (DEACTIVATE) doit être identique à celui des signaux testés pour vérifier l’état actif (ACTIVATE). Par ex : CTRL1 puis CTRL2 dans les deux cas. Exemple : Fourniture de base : !#################### ! Test de la sequence 1 !#################### PROC Tst_Seq1( num etat, INOUT bool Controle) InitCtrlSeq; TEST etat CASE DEACTIVATE: ! Test de la sequence 1 ! a definir par l'utilisateur Controle:=CtrlSeqOK(); RETURN; CASE ACTIVATE: ! Test de la sequence 1 ! a definir par l'utilisateur Controle:=CtrlSeqOK(); RETURN; DEFAULT: Controle:=TRUE; ENDTEST Controle:=FALSE; ENDPROC
RDGI 0009 Révision E
...
...
47
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Programmation personnalisée : !#################### ! Test de la sequence 1 !#################### PROC Tst_Seq1( num etat, INOUT bool Controle) InitCtrlSeq; TEST etat CASE DEACTIVATE: ! Test de la sequence 1 ! a definir par l'utilisateur ... CtrlSeq CTRL1,REPOS; CtrlSeq CTRL2,ACTIF; Controle:= CtrlSeqOK(); RETURN; CASE ACTIVATE: ! Test de la sequence 1 ! a definir par l'utilisateur ... CtrlSeq CTRL1,ACTIF; CtrlSeq CTRL2,REPOS; Controle:= CtrlSeqOK(); RETURN; DEFAULT: Controle:=TRUE; ENDTEST Controle:=FALSE; ENDPROC
48
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Instruction CtrlSeq – Vérification de l’état d’un capteur d’une séquence L’instruction CtrlSeq permet de tester un signal d’entrée utilisé pour contrôler une séquence.
Arguments CtrlSeq
signal
etat
signal Type de donnée : signaldi Signal d’entrée logique utilisé pour contrôler la séquence. etat Type de donnée : num Etat attendu du signal. Utiliser les constantes prédéfinies REPOS et ACTIF.
Exécution du programme Le signal est testé suivant l’état attendu. Le résultat de ce test est mémorisé par l’applicatif ; l’instruction CtrlSeqOK effectuera ensuite un ‘et’ logique entre tous les tests de ce type contenus dans la routine Tst_Seqx afin de déterminer si le contrôle de la séquence est correct. L’utilisation de cette instruction permet de plus à l’applicatif de connaître les signaux associés à la séquence et d’afficher leurs noms dans l’écran de visualisation des séquences. Mode opératoire Cette instruction ne doit être utilisée que dans une routine Tst_Seqx du module MAN_CONF associé au robot concerné. Voir aussi Instruction/Fonction SEQ
RDGI 0009 Révision E
Rôle Instruction de pilotage et de test des séquences
49
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
5.5.3 Définition des contrôles présence pièce La configuration des signaux de présence pièce se fait par l’utilisation de l’instruction DefineCPP dans la routine Enreg_CPP du module MAN_CONF.SYS. Par défaut aucun contrôle présence pièce n’est défini, et la routine Enreg_CPP fournie en standard est la suivante : !####################### ! Initialisation des CPP !####################### PROC Enreg_Cpp() ! Noms des signaux jusqu'à 8 différents ! a définir par l'utilisateur... !DefineCPP 1,CPP1; !DefineCPP 2,CPP2; ENDPROC Pour personnaliser cette routine à votre site, il suffit de créer autant d’appels à l’instruction DefineCPP que nécessaire.
Cette instruction DefineCPP a deux arguments : • Le numéro du contrôle de présence pièce à définir • Le signal d’entrée logique associé à ce contrôle présence pièce Exemple : DefineCPP 1,ctrl_v1;
50
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Instruction DefineCPP – Définition des signaux de contrôle présence pièce L’instruction DefineCPP permet de définir le signal utilisé pour tester une présence pièce.
Arguments DefineCPP
nCPP
signal
nCPP Type de donnée : num Numéro de la présence pièce définie. Ce même numéro sera ensuite utilisé dans les instructions CPP ; il doit être compris entre 1 et 8. signal Type de donnée : signaldi Signal d’entrée logique utilisé pour tester la présence pièce. Ce signal sera à 1 pour signifier que la pièce est présente. En cas de logique négative, le signal doit être inversé (attribut ‘inverted’ à TRUE) dans sa définition dans les paramètres d’entrées/sorties.
Exécution du programme L’association entre le signal est la présence pièce est mémorisée par l’applicatif. Cette association a lieu à chaque redémarrage de l’armoire et à chaque redémarrage du programme RAPID à son début. Mode opératoire Cette instruction ne doit être utilisée que dans la routine Enreg_CPP du module MAN_CONF associé au robot concerné. Voir aussi Instruction/Fonction CPP
RDGI 0009 Révision E
Rôle Instruction de test des présences pièce
51
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
5.5.4 Définition des ordres et événements outil Principe Pour chaque robot, les ordres outil, d’une part, et les événements outil, d’autre part, doivent être « contigus par morceau » et pouvoir être regroupés dans un maximum de 4 groupes, de longueur variable.
Groupe 1 Groupe 2 Ordres outil
16 signaux max Groupe 3 Groupe 4
Groupe 1 Evénements outil
Groupe 2 16 signaux max Groupe 3 Groupe 4
Le renseignement des groupes utilisés, ainsi que du nombre de signaux concernés est réalisé dans la routine EnregOrdEvtOut. Si les ordres et événements outil ne sont pas utilisés, il suffit de laisser cette routine vide. S’ils sont effectivement utilisés, la routine comportera deux instructions : DefineOrdOut et DefineEvtOut.
Configuration livrée par défaut !###################################### ! Initialisation des Ordre/Event outils !###################################### PROC EnregOrdEvtOut() ! Définition des groupes de signaux ! pour les Ordre/Event outils ! a definir par l'utilisateur... DefineOrdOut\Group1:="GoOrOu1"\nbSig1:=16; DefineEvtOut\Group1:="GiEvOu1"\nbSig1:=16; ENDPROC
52
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Instruction DefineOrdOut – Définition des signaux ordres outil L’instruction DefineOrdOut permet de renseigner PROMIA sur les signaux à utiliser pour la gestion des ordres outil. Arguments DefineOrdOut [Group1] [nbSig1] [Group3] [nbSig3] Group1 Nom du 1er groupe de signaux à utiliser.
[Group2] [nbSig2] [Group4] [nbSig4]
Type de donnée : string
nbSig1 Type de donnée : num er Longueur du 1 groupe de signaux à utiliser. Group2 Type de donnée : string Nom du 2ème groupe de signaux à utiliser. nbSig2 Type de donnée : num Longueur du 2ème groupe de signaux à utiliser. Group3 Type de donnée : string Nom du 3ème groupe de signaux à utiliser. nbSig3 Type de donnée : num Longueur du 3ème groupe de signaux à utiliser. Group4 Type de donnée : string Nom du 4ème groupe de signaux à utiliser. nbSig4 Type de donnée : num Longueur du 4ème groupe de signaux à utiliser. Exemple : DefineOrdOut\Group1:="GoOrOu1"\nbSig1:=5 \Group2:="GoOrOu2"\nbSig2:=11; Les ordres outil sont répartis sur deux groupes, GoOrOu1 qui comporte 5 signaux et GoOrOu2 qui en comporte 11. Limites :
• •
4 groupes au maximum peuvent ainsi être définis. Il n’est cependant pas nécessaire de répartir les ordres outil sur 4 groupes. La somme de tous les nombres de signaux utilisés doit être inférieure ou égale à 16.
Exécution du programme L’association entre les signaux et les ordres outils est mémorisée par l’applicatif. Cette association a lieu à chaque redémarrage de l’armoire et à chaque redémarrage du programme RAPID à son début.
RDGI 0009 Révision E
53
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF Mode opératoire Cette instruction est à utiliser exclusivement dans la routine EnregOrdEvtOut du module MAN_CONF associé au robot concerné. Voir aussi Instruction/Fonction DefineEvtOut
54
Rôle Définition des signaux événements outil
RDGI 0009
Révision E
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Instruction DefineEvtOut – Définition des signaux événements outil L’instruction DefineEvtOut permet de renseigner PROMIA sur les signaux à utiliser pour la gestion des événements outil. Arguments DefineEvtOut [Group1] [nbSig1] [Group3] [nbSig3] Group1 Nom du 1er groupe de signaux à utiliser.
[Group2] [nbSig2] [Group4] [nbSig4]
Type de donnée : string
nbSig1 Type de donnée : num er Longueur du 1 groupe de signaux à utiliser. Group2 Type de donnée : string Nom du 2ème groupe de signaux à utiliser. nbSig2 Type de donnée : num Longueur du 2ème groupe de signaux à utiliser. Group3 Type de donnée : string Nom du 3ème groupe de signaux à utiliser. nbSig3 Type de donnée : num Longueur du 3ème groupe de signaux à utiliser. Group4 Type de donnée : string Nom du 4ème groupe de signaux à utiliser. nbSig4 Type de donnée : num Longueur du 4ème groupe de signaux à utiliser.
Exemple: DefineEvtOut\Group1:="GiEvOu1"\nbSig1:=5 \Group2:="GiEvOu2"\nbSig2:=10; Les événements outil sont répartis sur deux groupes, GiEvOu1 qui comporte 5 signaux et GiEvOu2 qui en comporte 10.
Limites:
• •
4 groupes au maximum peuvent ainsi être définis. Il n’est cependant pas nécessaire de répartir les événements outil sur 4 groupes. La somme de tous les nombres de signaux utilisés doit être inférieure ou égale à 16.
Exécution du programme L’association entre les signaux et les événements outils est mémorisée par l’applicatif. Cette association a lieu à chaque redémarrage de l’armoire et à chaque redémarrage du programme RAPID à son début. RDGI 0009 Révision E
55
5 Configuration des modules système 5.5 Configuration des modules MAN_CONF
Mode opératoire Cette instruction est à utiliser exclusivement dans la routine EnregOrdEvtOut du module MAN_CONF associé au robot concerné. Voir aussi Instruction/Fonction DefineOrdOut
56
Rôle Définition des signaux ordres outil
RDGI 0009
Révision E
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE
5.6
Personnalisation des modules DEF_SITE
5.6.1 Personnalisation des écrans Les libellés présents dans les écrans utilisateur sont personnalisables dans le module Def_Sitn (par PC). Il est conseillé de respecter la limite de 15 caractères pour ces libellés. ! Texte des sequences: 15 caracteres max ! "123456789012345" CONST string SEQ1:="SEQUENCE1 "; …. CONST string SEQ8:="SEQUENCE8 "; ! Texte des demandes pilotage sequence: 15 caracteres max ! "123456789012345" CONST string REPOS_1:="RECUL "; CONST string ACTIF_1:="AVANCE "; …. CONST string REPOS_16:="RECUL "; CONST string ACTIF_16:="AVANCE "; !======== ! Ordres !======== ! Texte des ordres: 15 caracteres max ! "123456789012345" CONST string ORD01:="ORDRE1 "; …. CONST string ORD16:="ORDRE16 "; !=============== ! Ordres Outils !=============== ! Texte des ordres outils: 15 caracteres max ! "123456789012345" CONST string ORDOU01:="ORDREOUTIL1 "; … CONST string ORDOU16:="ORDREOUTIL16 "; !============ ! Evenements !============ ! Texte des evenements: 15 caracteres max ! "123456789012345" CONST string EVE01:="EVENT1 "; …. CONST string EVE16:="EVENT16 "; !=================== ! Evenements Outils !=================== ! Texte des evenements outils: 15 caracteres max ! "123456789012345" CONST string EVEOU01:="EVENTOUTIL1 "; …. CONST string EVEOU03:="EVENTOUTIL16 "; !============================ ! Contrôles Présences Pièces !============================ ! Texte des CPP: 15 caractères max ! "123456789012345 " CONST string CPP_1:="PRESENCE PIECE1"; ….. CONST string CPP_8:="PRESENCE PIECE8";
RDGI 0009 Révision E
57
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE
5.6.2 Ajout de messages spécifiques dans l’écran de production Utilisation Les messages d’information et les messages de défaut apparaissent dans la zone “ MESSAGES ET DEFAUTS ” de l’écran de production. L’intégrateur a la possibilité de créer 20 messages spécifiques par robot. Suivant sa définition, l’affichage d’un message peut s’accompagner de l’arrêt des mouvements du robot et/ou demander une validation de l’opérateur. Des informations peuvent également être envoyées à l’automate pour le suivi des moyens. La déclaration de ces messages est contenue dans le module DEF_SITE. Les instructions AffMessPU et RazMessPU permettent ensuite respectivement de les afficher et de les afficher. Fourniture de base et personnalisation Par défaut le module DEF_SITE est livré avec 5 messages utilisateur, et contient la séquence de déclaration suivante : !***************************************************************** !* MESSAGES UTILISATEUR * !***************************************************************** !********************Déclarations des messages******************** ! Numéros des messages CONST num MESS_reserve1:=1; CONST num MESS_reserve2:=2; CONST num DEFT_reserve1:=3; CONST num DVAL_reserve1:=4; CONST num DVAL_reserve2:=5; ! Dimension tableau des messages CONST num MAX_MESS_UTIL:=5; CONST MessData MessUtilisateur{MAX_MESS_UTIL}:=[ [MESS_reserve1,"PUM1: reserve ",MESS_INFO ,AUCUN_DEFAUT, 0], [MESS_reserve2,"PUM2: reserve ",MESS_INFO ,AUCUN_DEFAUT, 0], [DEFT_reserve1,"PUS1: reserve ",MESS_DEFAUT,AUCUN_DEFAUT, 0], [DVAL_reserve1,"PUV1: reserve ",MESS_DEFVAL,AUCUN_DEFAUT, 0], [DVAL_reserve2,"PUV2: reserve ",MESS_DEFVAL,AUCUN_DEFAUT, 0] ];
Cette fourniture de base correspond à une préconfiguration de 2 messages d’information, 1 message de défaut simple et 2 messages de défaut avec validation. Aucune information vers l’automate n’est associée à ces messages. Pour personnaliser cette liste, il est nécessaire de : • Créer une constante numérique qui permettra d’utiliser le message ; ce numéro sert à la fois pour la déclaration du message dans le tableau MessUtilisateur que pour l’affichage ou l’effacement du message. ! ** Perso utilisateur ** CONST num nMsgAttDebRot:=1; •
Modifier l’élément correspondant dans le tableau MessUtilisateur (voir ci-après la définition de la structure MessData).
Si les 5 messages préconfigurés par défaut ne suffisent pas et si l’on est donc amené à créer de nouveaux messages, il faut aussi modifier la taille du tableau de 58
RDGI 0009
Révision E
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE messages (c’est à dire le nombre maximal de messages utilisés). La valeur utilisée doit cependant rester inférieure ou égale à 20 : ! Dimension tableau des messages CONST num MAX_MESS_UTIL:=X; Exemple de personnalisation : !***************************************************************** !* MESSAGES UTILISATEUR * !***************************************************************** !********************Déclarations des messages******************** ! Numéros des messages CONST num nMsgAttDebRot:=1; CONST num nMsgAttFinRot:=2; CONST num nDefSurvVitRot:=3; CONST num nDValSurvRot:=4; CONST num nDValPresAirTete:=5; CONST num nDValCollTete:=6; ! Dimension tableau des messages CONST num MAX_MESS_UTIL:=6; CONST MessData MessUtilisateur{MAX_MESS_UTIL}:=[ [nMsgAttDebRot,"PUM1: attente début rotation outil ", MESS_INFO ,AUCUN_DEFAUT, 0], [nMsgAttFinRot," PUM2: attente fin rotation outil ", MESS_INFO ,AUCUN_DEFAUT, 0], [nDefSurvVitRot,"PUS1: Défaut surveillance vitesse outil ", MESS_DEFAUT,AUCUN_DEFAUT, 0], [nDValSurvRot,"PUV1: Défaut critique surveillance outil ", MESS_DEFAUT,AUCUN_DEFAUT, 0], [nDValPresAirTete,"PUV2: Absence air sur tête ", MESS_DEFVAL,DEF_APP, 242], [nDValCollTete,"PUV3: Collision tête ", MESS_DEFVAL,DEF_APP, 244] ];
Utilisation de ces messages (par exemple dans le module PRG_MVT): Aff_MessPU nMsgAttDebRot; Affichage du message Suppression du message affiché Raz_MessPU nMsgAttDebRot; précédemment
RDGI 0009 Révision E
59
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE
Déclaration des messages La déclaration de ces messages est réalisée dans le module DEF_SITE, en adaptant la définition du tableau MessUtilisateur. Chaque message est défini par une donnée de type MessData, composée de la manière suivante : • Un numéro, spécifique, qui sera utilisé pour l’affichage et l’effacement du message, •
•
Un texte, le libellé du message, tel qu’il apparaîtra dans l’écran de production, Une donnée numérique qui définit l’importance du message ; utiliser les constantes prédéfinies : o o
o
•
MESS_INFO : Message (simple information), MESS_DEFAUT : défaut non fatal ; le robot est arrêté, mais repartira dès disparition du défaut et du message associé, sans validation de l’opérateur, MESS_DEFVAL : Défaut fatal ; le robot est arrêté mais ne repart pas lors de la disparition du défaut ; une validation par l’opérateur est exigée une fois le défaut corrigé.
Une donnée numérique qui définit le type de défaut envoyé au suivi des moyens : o AUCUN_DEFAUT si aucune information n’est à envoyer au suivi o DEF_AOP, DEF_DE, DEF_APF, DEF_AI, DEF_APE, DEF_APP pour signaler, respectivement un appel opérateur, un défaut dérive, un arrêt fonctionnel, un arrêt induit, un arrêt pour exploitation, ou un arrêt pour panne. Pour plus de précision sur ces types de défaut, voir le chapitre 10.1, Mot d’état suivi et état robot.
•
Une donnée numérique qui définit le mot commentaire associé Pour plus de précision sur ces types de défaut, voir le chapitre 10.2, Définition du mot commentaire.
60
RDGI 0009
Révision E
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE
Instruction AffMessPU – Affichage d’un message utilisateur L’instruction AffMessPU permet l’affichage d’un message dans l’écran de production. Arguments AffMessPU
numMess
numMess Numéro du message à afficher.
[param] Type de donnée : num
param Type de donnée : num Donnée numérique optionnelle dont la valeur sera ajoutée à la fin du message. Exemple : AffMessPu nMsgAttDebRot\param :=1;
Exécution du programme Le message est affiché dans l’écran de production : • dans l’écran « instantané » uniquement pour les messages d’information • à la fois dans l’écran « instantané » et l’écran « historique » pour les messages de défaut et de défaut avec validation Si le message est de type défaut ou défaut avec validation, le mouvement du robot est arrêté. Si un mot d’état suivi a été associé à ce message, ce mot d’état et le mot commentaire définis sont envoyés à l’automate, si aucun défaut plus prioritaire ou plus ancien dans la même priorité n’est déjà signalé. Mode opératoire Pour une meilleure lisibilité des programmes, il est conseillé d’utiliser pour les numéros de message des constantes avec un nom approprié. Voir aussi Instruction/Fonction RazMessPU RDGI 0009 Révision E
Rôle Effacement d’un message utilisateur 61
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE
Instruction RazMessPU – Effacement d’un message utilisateur L’instruction RazMessPU permet l’effacement d’un message dans l’écran de production. Arguments RazMessPU
numMess
[param]
numMess Numéro du message à effacer.
Type de donnée : num
Exemple : RazMessPu nMsgAttDebRot;
Exécution du programme Le message est effacé de l’écran « instantané » dans l’écran de production. Si le message est de type défaut simple, le mouvement du robot interrompu reprend. Si le message est de type défaut avec validation, une boite de dialogue s’ouvre pour demander la validation du message. Si un mot d’état suivi avait été associé à ce message, le défaut n’est plus signalé à l’automate. Mode opératoire Pour une meilleure lisibilité des programmes, il est conseillé d’utiliser pour les numéros de message des constantes avec un nom approprié. Voir aussi Instruction/Fonction AffMessPU
62
Rôle Affichage d’un message utilisateur
RDGI 0009
Révision E
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE
5.6.3
Paramètres généraux Dans le module DEF_SITE sont également définis des paramètres généraux, précisant les contrôles dynamiques par défaut, l’utilisation d’une deuxième entrée de contrôle air et la nécessité de prise en compte des codes cycles au point de rebouclage. ¾ Contrôles dynamiques par défaut Le contrôle dynamique permet d'arrêter le robot en cas de perte de l'une des informations surveillées, et de le redémarrer automatiquement dès que la condition revient. Les contrôles dynamiques par défaut sont les contrôles dynamiques activés après un démarrage du programme ou lors de l’utilisation de l’action CTRL_DYN \OUI. Dans la fourniture ABB, les contrôles dynamiques activés par défaut sont ceux des séquences et des contrôles présence pièce. Les événements et les événements outils ne sont par défaut pas contrôlés dynamiquement. Il est possible de modifier ce comportement par défaut en affectant des valeurs TRUE ou FALSE à des variables booléennes prédéfinies: Active_ctl_cpp (présences pièce), Active_ctl_seq (séquences), Active_ctl_ev (événements) et Active_ctl_evo, (événements outil). Une valeur TRUE signifie actif par défaut, FALSE, inactif par défaut. La fourniture de base ABB est la suivante : !Flags d inhibition des controles dynamiques PERS bool Active_ctl_cpp:=TRUE; PERS bool Active_ctl_evo:=FALSE; PERS bool Active_ctl_ev:=FALSE; PERS bool Active_ctl_seq:=TRUE; ¾ Prise en compte d’une seconde entrée présence air Le contrôle présence air se fait classiquement via l’entrée CPAIR. Pour des installations complexes, il est possible de surveiller un deuxième signal, CPAIR2. Pour ce faire il faudra déplacer sur une carte physique cette entrée qui est par défaut définie sur une carte simulée et passer à TRUE la variable ctl_air12. Fourniture de base ABB : !Flag pour 2ème controles débit air CPAIR2 PERS bool ctl_air12:=FALSE;
RDGI 0009 Révision E
63
5 Configuration des modules système 5.6 Personnalisation des modules DEF_SITE
5.6.4 Carte d'identité robot Bien que ces données ne soient pas directement utilisées par l'applicatif et apparaissent sous forme de commentaire, l'intégrateur se doit de renseigner dans le fichier DEF_SITE.SYS la carte d'identité du robot. Ces renseignements seront utilisés par des utilitaires hors ligne spécifiques de Renault. Ces données se trouvent sous la forme de commentaires au début du fichier. !===================================== !========================= ! Identification du robot !========================= ! Texte identification robot : 30 caractères maximum ! "123456789012345678901234567890" ! ROBOT :=" BAIE ROBOT / PORTEUR "; ! LIGNE :=" SOUBASSEMENT "; ! UNIT :=" PLANCHER CENTRAL "; ! ZONE :=" ZONE 3 "; ! DMES :=" date de mise en service "; ! NOM :=" nom intégrateur "; ! NUMROBOT :=" numéro du robot "; ! NUMBAIE :=" numéro de la baie "; ! MATRICULE:=" matricule Renault de la baie "; ! "123456789012345678901234567890" ! NUMOUTIL1:=" numéro outil "; ! NUMOUTIL2:=" "; ! NUMOUTIL3:=" "; ! NUMOUTIL4:=" "; ! CHGOUTIL :=" OUI ou NON ? "; ! "123456789012345678901234567890" ! BUTMECA1N:="valeur axe sur butée méca - ?"; ! BUTMECA1P:="valeur axe sur butée méca + ?"; ! BUTELEC1N:="valeur axe sur butée élec. - ?"; ! BUTELEC1P:="valeur axe sur butée élec. + ?"; ! BUTMECA2N:=" "; ! BUTMECA2P:=" "; ! BUTELEC2N:=" "; ! BUTELEC2P:=" "; ! BUTMECA3N:=" "; ! BUTMECA3P:=" "; ! BUTELEC3N:=" "; ! BUTELEC3P:=" "; !===========
64
RDGI 0009
Révision E
5 Configuration des modules système 5.7 Autres personnalisations : configuration des modules PERSOxxx.SYS
5.7
Autres personnalisations : configuration des modules PERSOxxx.SYS
Principe Deux modules sont dédiés aux personnalisations de l’intégrateur. PERSOAVx.SYS est chargé dans la tâche d’avant plan. Il a 4 principales utilités : • Il contient les positions remarquables : point de repli et de rebouclage programme. Ces données sont apprises via la module PRG_MVx.MOD mais sont stockées dans ce module. • Il permet de personnaliser des réactions aux événements système : mise sous tension de l’armoire, démarrage de programme, reprise après stop. • Il permet d’adapter l’initialisation de l’installation après l’exécution des trajectoires de repli ou de lancement • Il permet, en cas de besoin, de personnaliser la gestion du process PERSOARx.SYS est chargé dans la tâche d’arrière plan. Il permet d’ajouter des surveillances spécifiques.
5.7.1 Module de personnalisation en avant-plan Contenu Outre la déclaration des positions p_repli et p_reb_prg, le module contient les routines suivantes :
Routine
Rôle
PowerOnPerso
Routine appelée à la mise sous tension de l’armoire
RestartPerso RecyclagePerso StartPerso
Routine appelée par un RESTART (redémarrage après STOP ou AU) Routine appelée en cas de recyclage Routine appelée par un START= lancement programme depuis la routine Main, ou depuis une autre routine
InitPerso
Initialisation des programmes
ApRepliPerso
Routine appelée après la mise au repli du robot ; typiquement utilisée pour forcer certains ordres
ApRepDirPerso
Routine appelée après la mise au repli du robot ; typiquement utilisée pour forcer certains ordres
ApLancePerso
Routine appelée après la mise au repli du robot ; typiquement utilisée pour forcer certains ordres
L’intégrateur peut ajouter à sa guise des données et des routines dans ce module, mais il ne doit en aucun cas modifier les noms des données et routines fournies par ABB.
RDGI 0009 Révision E
65
5 Configuration des modules système 5.8 Vérification et chargement des modules " RAPID"
5.7.2 Module de personnalisation en arrière-plan Contenu Ce module contient les routines suivantes :
Routine
Rôle
InitSurvPerso
Routine appelée lors de la réinitialisation des surveillances
SurvPerso
Routine scrutée en permanence dans la tache de fond asynchrone
RazPerso
Routine appelée lors de la remise à zéro du contexte d’exécution (Future extension).
SauvePerso
Personnalisation de la sauvegarde (Future extension).
Mises en garde très importantes
Les routines du module PERSOARx.SYS sont appelées par la tache de fond!!!
B
Il ne faut en aucun cas mettre d’instructions bloquantes (WaitDi, STOP, boucle While sans i temporisation…) sous peine de bloquer la tache de fond.
B
Tous les ajouts d’instructions dans la routine “ SURV_PERSO » entraineront une dégradation de la période de scrutation de la tache de fond.
5.8
Vérification et chargement des modules " RAPID" Les procédures données dans ce paragraphe sont données pour le module MAN_CONF.SYS, mais valent également pour les modules DEF_SITE.SYS et PERSOxxx.SYS.
Vérification du module modifié Cette opération permet de vérifier la syntaxe du fichier personnalisé avant chargement dans l’armoire. • • • • • • 66
Sélectionner « Editeur de Programme » à partir du menu ABB Choisir la tâche robot concernée, si nécessaire, Choisir « Modules » en haut d’écran puis « Fichier » dans la barre de Commande. Choisir « Charger Module » et répondre « Oui » à la question posée. Changer éventuellement le type de fichier affiché en « *.sys » en haut à droite de l’écran. Remonter l’arborescence jusqu’à la visualisation des lecteurs et sélectionner “ bd0a ”, RDGI 0009
Révision E
5 Configuration des modules système 5.8 Vérification et chargement des modules " RAPID" • •
• • • •
Parcourir éventuellement la clé pour se placer dans le répertoire contenant le module, Sélectionner le module (par exemple MAN_CONF.SYS), A la question «Voulez-vous écraser le module existant ? », confirmer en répondant “ OUI ” S’il n'y a pas d'erreur de syntaxe, vous pouvez passer à l'étape suivante. Sinon un message indique les coordonnées du ou des blocs erronés. Dans ce cas, faites les modifications nécessaires à la correction du problème.
Chargement des personnalisations sur le FlashDisk Cette opération permet de copier le fichier modifié sur le support de sauvegarde de l’armoire (FlashDisk).
• •
Sélectionner « Explorateur FlexPendant » à partir du menu ABB. Naviguer jusqu’à vous positionner sur le répertoire contenant le module à charger. Sélectionner le module, Choisir Copier dans Menu de la Barre de Commande,
• • •
Naviguer jusqu’à vous positionner dans le répertoire site approprié, Choisir Coller dans Menu de la Barre de Commande, Répondre Oui à la question concernant le remplacement de fichier.
• •
Chargement des personnalisations en mémoire Cette opération permet de charger les fichiers modifiés en mémoire de travail. Le module PRG_MVT peut être directement chargé depuis le menu ‘Charger module », comme indiqué ci-dessus dans la vérification des modules, mais il doit être chargé depuis le répertoire SITE du robot concerné et non pas depuis la clé USB. Les autres modules nécessitent d’effectuer un P-Start. •
Copier les modules dans le répertoir SITE comme indiqué ci-dessus.
•
Sélectionner « Redémarrer » dans le menu ABB, puis « Avancé… » puis cocher P. Start et faire « OK ». Le choix P-Start apparaît alors dans la barre de commande. Sélectionner ce choix et attendre la fin du redémarrage.
•
Le chargement des personnalisations de la manutention est terminé.
Après ce chargement, il est conseillé de faire une sauvegarde, via le menu Backup de l’applicatif.
RDGI 0009 Révision E
67
5 Configuration des modules système 5.8 Vérification et chargement des modules " RAPID"
68
RDGI 0009
Révision E
6 Ecriture des programmes et trajectoires 6.1 Généralités
6 Ecriture des programmes et trajectoires 6.1
Généralités
Vue d’ensemble Le module PRG_MVT contient les programmes et les trajectoires du robot. Un “programme”, qui correspond à l’ensemble des tâches à réaliser pour un code programme, est constitué d’un enchaînement de trajectoires. Les trajectoires sont des routines de type "PROC". Toutes les trajectoires et toutes les données de mouvement doivent a priori se trouver dans ce module PRG_MVT. La création d’un nouveau module ne peut se faire qu’avec l’accord du client. Travail à faire par l’intégrateur dans le module "PRG_MVT" : • Renseignement des programmes de travail. • Création et apprentissage des trajectoires des programmes de travail. • Apprentissage des trajectoires de service : o T_Lance, o T_Repli, o T_Serv1 o T_Serv2 o T_Serv3 o T_Serv4 Tout ce travail peut se faire directement sur le pupitre, sans passer par un PC. Après chaque modification importante de trajectoire ou de programme, il est conseillé de sauvegarder le module PRG_MVT.MOD. Il est également conseillé de faire régulièrement une sauvegarde via le menu Backup de l’applicatif.
RDGI 0009 Révision E
69
6 Ecriture des programmes et trajectoires 6.2 Structure du module PRG_MVT.MOD
6.2
Structure du module PRG_MVT.MOD
Routine « Main » La routine “Main” du module PRG_MVT contient l’appel au point d’entrée de Promia. L’ajout d’instructions avant cet appel est possible. Elles seront alors exécutées dès le lancement de programme. L’ajout d’instructions après cet appel est sans effet (la routine LancePromia ne rend jamais la main). Module PRG_MVT PROC MAIN() !****************************** !* ATTENTION !!!!! * !* ROUTINE A NE PAS MODIFIER * !* ET A NE PAS SUPPRIMER !! * LancePromia; ENDPROC
Commentaires
NE PAS MODIFIER
Routine « Programme » Cette routine est appelée pour chaque nouveau travail à effectuer. Elle a la forme d’un débranchement en fonction du numéro de programme reçu. Les enchaînements des trajectoires constituant les programmes de travail seront renseignés dans cette routine. L’exemple ci-dessous est orienté multi-robots. L’acquittement du code se fait via la sortie ACQ_CODE1 pour le robot 1. Dans le cas d’un système mono-robot, c’est la sortie TC qui est utilisée, pour des raisons de compatibilité avec les applications S4CPlus.
Module PRG_MV1
Commentaires
PROC Programme( num prog) TEST prog CASE 1: !Cycle de Soudage Aff_Prog prog,"Soudage"; !Pulse Acquittement code PulseDO\PLength:=1,ACQ_CODE1; AutoriseTraj; T_SOUD_R20; CASE 2: !Cycle de Dépose/Prise Berceau Aff_Prog prog,"Dépose-Prise"; !Pulse Acquittement code PulseDO\PLength:=1,ACQ_CODE1; AutoriseTraj; T_DEPOSE_C14; AutoriseTraj; TL_C14_C13; 70
Programme de travail n°1 Affichage du nom du programme dans les écrans utilisateurs Top cycle pour l’automate Lancement trajectoire. Programme de travail n°2
3 trajectoires : - dépose - liaison
RDGI 0009
Révision E
6 Ecriture des programmes et trajectoires 6.2 Structure du module PRG_MVT.MOD AutoriseTraj; T_PRISE_C13; CASE 3: !Cycle de Remplissage Aff_Prog prog,"Remplissage"; !Pulse Acquittement code PulseDO\PLength:=1,ACQ_CODE1; AutoriseTraj; TL_REB_C13; AutoriseTraj; T_PRISE_C13; CASE CP_CODE_NUL: Aff_Prog 0,strEMPTY; Aff_Traj strEMPTY; DEFAULT: Aff_Prog prog,strEMPTY; Aff_Traj strEMPTY; ENDTEST ENDPROC
- prise Programme de travail n°3
Une trajectoire peut être partagée par plusieurs programmes
Traitement des programmes inconnus (ne pas modifier)
Routine « Services » Cette routine est appelée par la routine « Programme » dans le cas où le numéro de programme reçu ne correspond pas à un programme de travail. Il s’agit alors d’un code de demande de service (au sens large). Les travaux à exécuter pour les demandes de service 1 à 4 sont à renseigner dans cette routine. Le traitement des demandes de repli et de l’exécution de la trajectoire de lancement sont traités par la routine « Services », non modifiable.
Module PRG_MVT (fourniture ABB) !*********************** !Procédures de Service * !*********************** PROC Services( num sprog) TEST sprog CASE CP_DemServ1: Aff_Prog sprog,"Service 1"; AutoriseTraj; T_Serv1; Etat_Serv1:=SV_PAS_DEMANDE; CASE CP_DemServ2: Aff_Prog sprog,"Service 2"; AutoriseTraj; T_Serv2; Etat_Serv2:=SV_PAS_DEMANDE; CASE CP_DemServ3: Aff_Prog sprog,"Service 3"; AutoriseTraj; T_Serv3; Etat_Serv3:=SV_PAS_DEMANDE; CASE CP_DemServ4: Aff_Prog sprog,"Service 4"; AutoriseTraj;
RDGI 0009 Révision E
Commentaires
Affichage du programme dans utilisateurs
nom du les écrans
Lancement de la trajectoire T_Serv1. Information « demande de service effectuée ».
NE PAS MODIFIER
71
6 Ecriture des programmes et trajectoires 6.2 Structure du module PRG_MVT.MOD T_Serv4; Etat_Serv4:=SV_PAS_DEMANDE; DEFAULT: ! ajouter par un ERRWRITE ! si nécessaire ENDTEST ENDPROC
72
RDGI 0009
Révision E
6 Ecriture des programmes et trajectoires 6.3 Considérations à prendre en compte dans un environnement multi-robot
6.3
Considérations à prendre en compte dans un environnement multi-robot
L’armoire IRC5 permet de piloter plusieurs unités mécaniques, et en particulier plusieurs robots.
6.3.1 Rappels des fonctionnalités « MultiMove » Comportement asynchrone par défaut Une tâche mouvement est associée à chacune des unités mécaniques déclarées. Par défaut, ces tâches s’exécutent de manière totalement asynchrone. Des instructions spécifiques permettent cependant de créer des points de rendez-vous, ou des mouvements synchronisés. Points de rendez-vous Il est possible de créer des points de rendez-vous entre deux ou plusieurs tâches mouvement : chacun de ces points de rendez-vous possède un identifiant propre et les tâches mouvement s’attendent alors mutuellement sur une instruction particulière, WaitSyncTask. Lorsque toutes les tâches concernées ont atteint cette instruction, elles reprennent alors leur exécution en séquence. Cette instruction a pour arguments l’identification du point de rendez-vous et la liste des tâches concernées. L’identifiant relatif à un point de rendez-vous particulier doit être unique et doit être déclaré dans chacune des tâches impliquées. Pour plus d’information, voir cette instruction dans le Manuel de Référence RAPID. Mouvements synchronisés Les trajectoires peuvent contenir des sections de mouvements synchronisés entre plusieurs tâches mouvement. Une telle section commence par une instruction SyncMoveOn, qui précise un identifiant et la liste des tâches concernées, et se termine par une instruction SyncMoveOff qui comporte elle aussi un identifiant. Les instructions de mouvement comprises entre ces deux instructions doivent elles aussi comporter un identifiant, spécifique des mouvements synchrones. Comme pour l’instruction WaitSyncTask, chaque identifiant doit être unique à l’intérieur d’une même tâche et doit être déclaré dans chacune des tâches impliquées. De plus, chaque trajectoire comportant des sections synchrones devra comporter une clause UNDO, qui contiendra au moins l’instruction SyncMoveUnDo. Pour plus d’information, voir ces instructions, ainsi que les instructions de mouvement dans le Manuel de Référence RAPID.
RDGI 0009 Révision E
73
6 Ecriture des programmes et trajectoires 6.3 Considérations à prendre en compte dans un environnement multi-robot
Implémentation Les listes de tâches utilisées pour les instructions WaitSyncTask et SyncMoveOn seront typiquement implantées dans les modules PERSOAVx de chacune des tâches mouvement. Exemple de deux robots avec un positionneur : PERS PERS PERS PERS
tasks tasks tasks tasks
tasksR1R2{2} := [["T_ROB1"],["T_ROB2"]]; tasksR1Posi{2} := [["T_ROB1"],["T_POS1"]]; tasksR2Posi{2} := [["T_ROB2"],["T_POS1"]]; tasksR1R2Posi{3} := [["T_ROB1"],["T_ROB2"],["T_POS1"]];
6.3.2 Cas particuliers des trajectoires de repli et de lancement Les trajectoires de repli Comme un mouvement vers la position de repli peut être exécuté soit à travers la trajectoire T_REPLI, qui peut inclure plusieurs points, soit via la trajectoire T_REPLI_DIRECT, qui n’en comporte que 2, il est impossible d’effectuer ces mouvements en mode synchronisé. Un point de rendez-vous peut éventuellement être programmé lors de l’arrivée à la position de repli, mais cette programmation est le plus souvent inutile, car l’attente de tous les robots en position de repli est déjà réalisée par l’applicatif PROMIA. Si un point de rendez-vous s’avère malgré tout nécessaire, l’identifiant sera commun aux routines T_REPLI et T_REPLI_DIRECT. Cela provoquera un message d’avertissement 41630 du système (les identifiants devant être uniques). Ne pas tenir compte de cet avertissement. Les trajectoires de lancement Si l’intégrateur le souhaite, les trajectoires de lancement peuvent être effectuées en mode synchronisé, à condition que toutes les trajectoires de lancement des différents robots aient le même nombre de points. C’est une possibilité, mais ce n’est pas une obligation. Les autres trajectoires Il est déconseillé de programmer un point de rendez-vous à la fin des trajectoires de travail, ou dans la routine « Programme », car elles interdisent les anticipations éventuelles des tâches de certains robots pendant des routines de service sont exécutées sur les autres robots.
74
RDGI 0009
Révision E
6 Ecriture des programmes et trajectoires 6.4 Apprentissage des points de repli et de rebouclage
6.4
Apprentissage des points de repli et de rebouclage
Vue d’ensemble Les trajectoires T_Lance, T_Repli et T_Repli_Direct sont pré-renseignées dans la fourniture de base ABB. Elles mettent en œuvre deux points particuliers, le point de repli et le point de rebouclage. Ces deux points particuliers sont pré-déclarés dans l’applicatif mais leurs coordonnées par défaut ne correspondent pas aux besoins du site. Comme les trajectoires T_Repli ou T_Repli_Direct, puis T_Lance sont appelées dès le lancement du programme robot, on commencera donc par renseigner ces deux points particuliers. Ces points doivent impérativement être appris avec le référentiel objet de base wobj0 et l’outil Tool_defaut. Ils doivent également être éloignés d’au moins 20 mm. L’outil Tool_defaut est une variable de type tooldata, définie avec le CDO à 0 (sur le flasque) et avec la charge nominale de l’outil embarqué. Il aura fait l’objet d’une identification de charge particulière. Dans le cas de l’utilisation d’un changeur d’outil, il appartient à l’intégrateur de créer autant d’outils que nécessaire et de mettre à jour cette variable en fonction de l’outil effectivement porté.
Mode opératoire Pour mémoriser ces positions, il faut procéder de la manière suivante : •
Mettre le robot dans sa position physique de repli en pilotage manuel après avoir sélectionné l’outil Tool_defaut et l’objet wobj0.
• •
Sélectionner Editeur de programme dans le menu ABB. Si le module courant n’est pas PRG_MVx, choisir Modules en haut d’écran et sélectionner ce module. Choisir Routines en haut d’écran. Se positionner sur la routine T_Lance. Positionner le curseur sur la ligne MoveJ p_repli, ... Choisir Modifier la Position en bas de l’écran puis confirmer par Modifier. Mettre le robot sur sa position physique du point de rebouclage des programmes Positionner le curseur sur la ligne MoveJ p_reb_prg ... Valider Modifier la Position en bas de l’écran puis confirmer par Modifier.
• • • • • • •
Après avoir modifié une de ces positions, il est nécessaire de redémarrer le programme à son point de départ.
RDGI 0009 Révision E
75
6 Ecriture des programmes et trajectoires 6.5 Programmes de travail
6.5
Programmes de travail
Principe Pour chaque programme de travail il convient de renseigner dans la routine « Programme », en fonction du numéro de programme qui correspond au code envoyé par l’automate, l’enchaînement des trajectoires à exécuter. L’intégrateur doit également renseigner le nom du programme, tel qu’il apparaîtra dans l’écran de production. Une trajectoire peut être commune à plusieurs programmes. Il est possible de choisir, au sein d’un même programme, entre deux trajectoires, au moyen de test sur des événements (voir exemple ci-dessous).
Toute trajectoire devra comporter l’appel de la procédure « AntiReboucle » et tout appel de trajectoire dans la routine « Programme » doit être précédé de la ligne “ AutoriseTraj; ” Ces 2 instructions permettent de gérer l’Antirebouclage en cas de déplacement pointeur sur début routine (ex. spécial 4). Si, a priori, rien n’empêche l’utilisation d’instructions logiques (telles que IF, FOR, WHILE) dans la routine « Programme », cette utilisation est fortement déconseillée. En cas de déroutement (choix entre deux trajectoires), on préfèrera l’aiguillage via le test d’événements. Voir le chapitre 8.3.1. Exemple de personnalisation (Instructions modifiées ou insérées : sur fond blanc) Module PRG_MVT
Commentaires
!******************************** ! A personnaliser par intégrateur !******************************** PROC Programme(Num_Prog) Détail de la routine PROGRAMME TEST prog CASE 1 Aff_Prog prog," AILE D74 ! pulse sur la sortie Top Pulse DO\Plength:=1,TC; AutoriseTraj; TpriseB; AutoriseTraj; TColle; AutoriseTraj; TdeposeB; CASE 2 Aff_Prog prog," AILE X9+ ! pulse sur la sortie Top Pulse DO\Plength:=1,TC; AutoriseTraj; TpriseB; AutoriseTraj; TcolleB;
"; cycle
NB Une trajectoire peut être utilisée dans plusieurs programmes. Programme de travail n°2 "; cycle
! attente aiguillage AffAttAiguillage; WaitUntil Dinput (EV3) <>Dinput (EV4); RazAttAiguillage; IF Dinput (EV3)=1 THEN AutoriseTraj; TdeposeC; ELSE AutoriseTraj; TDeposeT; ENDIF DEFAULT:
76
Programme de travail n°1 - Affichage du nom du programme dans les écrans utilisateurs - Top cycle pour l’automate
Exemple d’aiguillage (par exemple dépose sur convoyeur ou sur table) Affichage « Attente aiguillage » Attente de l’événement 3 ou 4 Effacement message Dépose sur convoyeur Dépose sur table
RDGI 0009
Révision E
6 Ecriture des programmes et trajectoires 6.6 Trajectoires de travail
6.6
Trajectoires de travail
Convention Le nom des trajectoires de travail doit commencer par la lettre T et ne doit pas dépasser 8 caractères.
En principe, la première trajectoire d’un programme doit partir du point de rebouclage, et la dernière trajectoire d’un programme se terminer sur ce point. Sur ce point, voir $ Lecture des codes cycle sur le point de rebouclage Chaque routine de trajectoire devra débuter par les instructions “ Aff_Traj " T_xxxxx" ” qui permet d’afficher le nom de la trajectoire en cours sur l’écran utilisateur et “ AntiReboucle ” (qui permet de gérer l’anti- Rebouclage en cas de « déplacement pointeur sur début routine », ex. Spécial 4 ”) A la suite de ces instructions, la routine de trajectoire contiendra les instructions de mouvement et les actions de la trajectoire.
Exemple Module PRG_MVT
Commentaires - Le nom des trajectoires doit avoir au plus 8 caractères.
PROC TPriseB(); ! trajectoire de prise de la piece ! de type B Aff_Traj "TpriseB" ; Antireboucle; MoveJ p_reb_prg , fine , …. ORDRE \O1; MoveL *…; ............. MoveL *…; ENDPROC
RDGI 0009 Révision E
- Affichage du nom de la trajectoire dans les écrans utilisateurs - Le point de rebouclage des programmes peut être utilisé par toutes les trajectoires.
77
6 Ecriture des programmes et trajectoires 6.7 Programmes de service
6.7
Programmes de service Les programmes de repli et de lancement sont gérés en interne et ne sont visibles qu’à travers les trajectoires T_Lance, T_Repli et T_Repli_Direct. Les programmes de service suivants sont pré-déclarés et gérés par l’applicatif, mais modifiables : • • • •
Programme de service 1 Programme de service 2 Programme de service 3 Programme de service 4
Principes de la gestion des demandes de service Les principes exposés ici sont valables pour tout type d’application, manutention et autres métiers. Cependant, si l’applicatif tronc commun manutention n’utilise pas dans sa fourniture de base de demande de service dédiée, certains programmes de service peuvent par contre être réservés par les applications métier (exemple, demandes de service 1 – changement d’électrodes - et 2 – demande de rodage - pour l ‘application SRE). Il existe 2 façons d’appeler ces programmes de services : • L’API envoie le code correspondant au programme de service à exécuter (comme pour un programme de travail) • Une demande de service a été mémorisée dans une des variables « Etat_Serv1 » (demande de service 1) à « Etat_Serv4 » (demande de service 4). Le robot exécutera le programme de service correspondant avant de prendre en compte un nouveau code programme. Si l’application particulière développée par l’intégrateur nécessite la gestion de programmes de service, celui-ci devra utiliser ces variables Etat_ServX et aura tout intérêt à lui affecter les valeurs prédéfinies suivantes :
78
Valeur
Signification
SV_PAS_DEMANDE
Pas de demande de service ou demande de service correctement acquittée.
SV_ABANDONNE
Problème lors de la trajectoire de service, la demande de service n’a pas été correctement terminée.
SV_DDE_INTERNE
Demande de service provenant d’une demande interne à l’application, suite par exemple au dépassement d’un seuil du compteur de cycle.
SV_DDE_EXTERNE
Demande externe, par exemple par BP.
SV_EN_COURS
Demande de service en cours (trajectoire de service en cours)
SV_EFFECTIF
Fonction de service réalisée mais programme de service non terminé
RDGI 0009
Révision E
6 Ecriture des programmes et trajectoires 6.7 Programmes de service
Une demande de service positionnée par l’intermédiaire d’une variable Etat_ServX restera active tant que le programme de service correspondant n’aura pas remis cette variable à l’état SV_PAS_DEMANDE. Par défaut dans la fourniture ABB, cet acquittement est fait systématiquement dans la routine « Services » après l’appel de la trajectoire de service correspondante. Si l’intégrateur souhaite gérer des exceptions au cours de la trajectoire de service et forcer un nouvel appel de la routine de service en cas d’échec, il devra supprimer cet acquittement de la routine « Services » et le placer judicieusement dans la trajectoire de service. Pour le système, toutes les valeurs autres que SV_PAS_DEMANDE sont traitées de la même manière. La différenciation de ces valeurs permet uniquement de faciliter la mise au point de l’application. Renseignement des trajectoires de service T_Lance : appelée par le programme Lance. Cette trajectoire va du point de repli vers le point de rebouclage des programmes. La trajectoire “ T_Lance ” est déjà définie dans l'application, il reste à insérer les points de passage entre MoveJ p_repli..; et MoveJ p_reb_prg..; T_Repli : trajectoire appelée par le programme Repli. Cette trajectoire part du point de rebouclage des programmes et rejoint le point de repli selon une trajectoire apprise. T_Repli_Direct : trajectoire appelée par le programme de repli direct. Cette trajectoire ne comporte que le point de destination (P_Repli). T_SERV1, T_SERV2, T_SERV3, T_SERV4 : si les demandes de service 1 à 4 sont utilisées, il suffit d'insérer les points et les actions dans les trajectoires correspondantes. Le pas à pas ne permet pas d’entrer dans les routines de service. Pour effectuer des modifications, utiliser « Voir Routines » ou « Dépl. PP Routine » (Ex « Spécial 4 ») si un test est nécessaire.
RDGI 0009 Révision E
79
6 Ecriture des programmes et trajectoires 6.8 Autres règles diverses – FAQ
6.8
Autres règles diverses – FAQ
Ce chapitre a pour but de capitaliser les diverses règles de programmation qui pourraient apparaître au cours du processus d’intégration. Les intégrateurs sont invités à faire part de leurs propres remarques à ABB, qui pourra ainsi les mettre à disposition de tous. Utilisation des vitesses et des zones L’applicatif PROMIA met à disposition des constantes speeddata et zonedata prédéfinies. Il est recommandé d’utiliser ces données qui satisfont à la plupart des utilisations. !-----------------------! Speeddata !-----------------------CONST speeddata V_lent:=v100; CONST speeddata V_moyen:=v500; CONST speeddata V_rapide:=v2500; !-----------------------! Zonedata !-----------------------CONST zonedata Z_arret:=fine; CONST zonedata Z_petit:=z5; CONST zonedata Z_moyen:=z20; CONST zonedata Z_large:=z50; CONST zonedata Z_Xlarge:=z200; Utilisation des fonctions Les fonctions RAPID permettent de retourner une valeur à la routine appelante. Il existe une faiblesse dans le logiciel de base en cas de séquence « pas à pas avant->pas à pas arrière->pas à pas avant » dans le cas où une fonction ne contient qu’une seule instruction, qui conduit à une erreur indiquant que la fonction n’a pas de valeur de retour. Il est donc fortement déconseillé de créer une fonction qui ne contient qu’une seule instruction RETURN. Si la fonction ne nécessite pas d’autre instruction, il est alors conseillé d’insérer une ligne de commentaire avant l’instruction RETURN. Trajectoires circulaires Dans certaines configurations de certains robots, la friction sur les axes porteurs (axe 1 notamment) peut avoir pour effet de créer un méplat sur les trajectoires circulaires ; ce méplat peut être gênant pour certains process (découpe, par exemple). Dans ces cas, il faut soit trouver une configuration robot où l’impact de cette friction est minimisé, soit mettre en place l’option logicielle Advanced Shape Tuning, qui permet de compenser cette friction.
80
RDGI 0009
Révision E
7 Echanges codes 7.1 Priorité des échanges codes
7 Echanges codes 7.1
Priorité des échanges codes Il existe plusieurs types de demandes de travail. Ces différents types de codes programme sont hiérarchisés au niveau de la priorité de leur prise en compte. Voici dans l’ordre de ces priorités (du PLUS prioritaire au MOINS prioritaire) : • • • •
RDGI 0009 Révision E
Demande de repli, Demandes de services, Code interne (généré par la routine “Code_Interne”), Codes externes.
81
7 Echanges codes 7.2 Principe du code interne
7.2
Principe du code interne Le code retourné par la fonction Code_Interne est prioritaire sur tous les codes programmes externes présents. En fonction du nombre retourné par l’instruction “ Return x ; ” le travail défini dans la routine “ Programme ” au “ Case x ” sera exécuté. Par défaut, la routine retourne “ 0 ” laissant ainsi la priorité aux codes externes. En fonction de conditions spécifiques à l’environnement, la routine retournera le code du programme à exécuter de façon prioritaire. Si ces conditions ne sont pas remplies, il est IMPERATIF de retourner la valeur « 0 » (comme dans l’exemple qui suit) afin de permettre la prise en compte des demandes de code externe. Exemple d’utilisation : FUNC num Code_Interne() ! Calculer le code a executer ! en fonction des conditions ! internes et retourner ! le code calcule ! ! Ex: return XXX ! Si EV1 forçage programme 2 IF EV1=1 THEN RETURN 2; ELSE RETURN 0; ENDIF ENDFUNC
82
RDGI 0009
Révision E
7 Echanges codes 7.3 Principe des programmes de services
7.3
Principe des programmes de services Les demandes de service sont faites par bouton poussoir, par l’intermédiaire de la routine “Code_Interne”, ou par code externe. Elles sont gérées (mémorisation et priorité à l’exécution) dans la tâche d’arrière plan. La demande d’exécution d’un programme de service de priorité supérieure annule la demande d’exécution d’un programme de service de priorité inférieure. Chaque exécution d’un programme de service s’effectue lorsque le robot est à son point de rebouclage. Valeur des 4 trajectoires de service : • • • •
Programme de service 1 Programme de service 2 Programme de service 3 Programme de service 4
Lors d'une utilisation par code interne, le code programme à retourner par la routine “Code_Interne” est celui qui a été défini dans le module CEL_CONF. Rappel, ces codes sont par défaut : CONST CONST CONST CONST
RDGI 0009 Révision E
num num num num
CP_DemServ1 CP_DemServ2 CP_DemServ3 CP_DemServ4
:= := := :=
62; 61; 60; 59;
83
7 Echanges codes 7.4 Principe des échanges
7.4
Principe des échanges Le principe adopté pour les échanges de code programme doit permettre : • • •
De contrôler d'un programme à l'autre, par le passage à 0 de l'ensemble des informations liées au code, que l'ensemble de ces informations liées au code programme fonctionne. o c'est le rôle de l'information "Contrôle Validation Code à 0" (CVC_0) qui autorise le robot à contrôler que l'ensemble des informations du code sont à 0.
•
Le rôle de l’entrée CPCO est de contrôler l’imparité du code envoyé par l’automate (détection de fil coupé dans le cas d’une liaison parallèle). Cette entrée est optionnelle lorsque la liaison automate est réalisée par réseau de terrain.
Figure 5.
84
D'autoriser la lecture par le robot du code présent, d'éviter les erreurs de lecture dues à la non stabilisation des sorties code programme du système externe. C'est le rôle de l'information "Contrôle Validation Code à 1" (CVC_1)
Principe des échanges de code programme
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.1 Edition des trajectoires
8 Actions de base programmables sur trajectoires 8.1
Edition des trajectoires
Généralités L’édition des trajectoires est réalisée via les menus de la fenêtre Editeur de Programme. Chaque trajectoire est une routine dont le nom commence, par usage, par les caractères ‘T_’. Les commandes standard d’édition de programme sont disponibles. Les instructions spécifiques de l’applicatif peuvent être choisies directement pour être insérées dans les trajectoires. Mode opératoire général • • • •
Dans le menu ABB, choisir la fenêtre Editeur de Programme, Dans un environnement multi-robots, choisir la tâche d’avant-plan à éditer, Choisir le module, puis la routine à éditer, Se positionner sur la ligne à éditer.
Il est également possible de se positionner en édition sur la ligne du programme en cours d’exécution via la fenêtre "Fenêtre de Production". Dans ce cas, choisir ‘Déboguer’ puis ‘Modifier le programme’ :
Figure 6. Menu Déboguer de la Fenêtre de Production
RDGI 0009 Révision E
85
8 Actions de base programmables sur trajectoires 8.1 Edition des trajectoires
8.1.1 Insertion d’une instruction spécifique de l’applicatif Accès aux instructions spécifiques Les instructions spécifiques de l’applicatif se trouvent dans les listes PROMIA, (et éventuellement PROCESS1 et PROCESS2) du panneau des instructions qui s’ouvre par le menu « Ajouter l’instruction ».
Figure 7. Menu Ajouter l’instruction Insertion d’une instruction PROMIA (« tronc commun »)
Figure 8. Menu Ajouter l’instruction, instructions PROMIA 86
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.1 Edition des trajectoires
Figure 9. Menu Ajouter l’instruction, instructions PROMIA (suite)
8.1.2 Ajout et suppression d’arguments optionnels De nombreuses actions sur trajectoire comportent des arguments optionnels. La programmation de ces arguments est réalisée par la procédure suivante. Création d’action avec arguments optionnels. • • •
Choisir l’instruction désirée dans le panneau des instructions Dans la barre de commande choisir « Argument facultatif » La liste des arguments optionnels possibles est affichée. La barre de commande propose alors, pour chaque argument : « Utiliser » et « Ne pas Utiliser ». Sélectionner l’argument désiré et choisir « Utiliser » pour ajouter cet argument ou « Ne pas utiliser » pour le supprimer.
Modification d’action avec arguments optionnels. • • • •
RDGI 0009 Révision E
Dans la fenêtre Editeur de Programme, sélectionner l’instruction à modifier Cliquer à nouveau Dans la barre de commande choisir « Argument facultatif » La liste des arguments optionnels possibles est affichée. La barre de commande propose alors, pour chaque argument : « Utiliser » et « Ne pas Utiliser ». Sélectionner l’argument désiré et choisir « Utiliser » pour ajouter cet argument ou « Ne pas utiliser » pour le supprimer.
87
8 Actions de base programmables sur trajectoires 8.2 Programmation des ordres
8.2
Programmation des ordres
Action "ORDRE" sur point d’arrêt Cette action permet dans une seule instruction la mise à 1 ou 0 des 16 sorties ordres, après un éventuel retard. Cette action doit être utilisée sur point d’arrêt. Sur point de passage, on lui préfèrera l’instruction Move_Ordre. En effet, une programmation sur point de passage ne permet pas de maîtriser avec certitude le moment précis où les sorties sont réellement activées par rapport à la position du robot. Généralement, les sorties montent avant le passage sur le point. L’instruction Move_Ordre permet de remédier à cet asynchronisme. Arguments ORDRE [Delai] [O1] [O2] [O3] [O4] [O5] [O6] [O7] [O8] [O9] [O10] [O11] [O12] [O13] [O14] [O15] [O16] Delai Type de donnée : num Ce paramètre optionnel permet de préciser un retard à l’émission des ordres (en secondes). Ox Type de donnée : switch Mise à 1 de la sortie Ordre x, où « x » correspond au n° de sortie (1 à 16). Exécution du programme L’action ORDRE positionne à 1 les ordres spécifiés et met les autres à 0. Il est donc nécessaire de répéter les ordres préalablement positionnés que l’on souhaite maintenir à 1. L’action ORDRE sans argument remet à zéro tous les ordres.
Mode opératoire La programmation des ordres à émettre se fait dans la fenêtre “ Editeur de programme ”. Placer le curseur sur la ligne où l’on souhaite programmer des ordres, insérer l’instruction “ ORDRE ” de la liste PROMIA. Documenter ensuite les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction Move_Ordre ORD_OUTIL
88
Rôle Emission des ordres sur point de passage Emission des ordres outil sur point d’arrêt
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.2 Programmation des ordres
Action "MOVE_ORDRE" sur point de passage Cette action intègre dans une même instruction un déplacement et la mise à 1 ou 0 synchronisée des 16 sorties ordres. L’instruction “Move_Ordre” contient, en plus de la définition des ordres à émettre, le point visé, la zone, la vitesse, les données outil et le référentiel objet du déplacement. • comme l’instruction est programmée sur un point de passage, les sorties Ordres définies dans l’instruction sont positionnées à 1 lors du passage du robot sur la position qui correspond à la projection du point visé sur la trajectoire. Cette instruction permet donc d’activer les sorties Ordres de façon précise sur point de passage. La précision est de l’ordre de 5 millisecondes par rapport au point. • En cas d’utilisation de point d’arrêt, préférer l’instruction « ORDRE »
Arguments Move_Ordre [L] ToPoint [Id] [O1] [O2] [O3] [O4] [O5] [O6] [O7] [O8] [O9] [O10] [O11] [O12] [O13] [O14] [O15] [O16] speed zone tool wobj L Type de donnée : switch Spécifie que le mouvement est un déplacement linéaire (articulaire par défaut) ToPoint Type de donnée : robtarget Position visée par l’instruction et où les ordres seront émis. Id Type de donnée : identno Identificateur de synchronisation utilisé en cas de mouvements synchrones [Ox] Type de donnée : switch Ordre x, qui sera émis à 1 lors du passage sur le point. « x » correspond au n° de sortie (1 à 16). Speed Type de donnée : speeddata Vitesse programmée du déplacement vers le point. Zone Définition de la zone de passage.
Type de donnée : zonedata
Tool Type de donnée : tooldata Référentiel outil utilisé pour le mouvement. Wobj Type de donnée : wobjdata Référentiel objet utilisé pour le mouvement. Exécution du programme L’action MOVE_ORDRE positionne à 1 les ordres spécifiés et met les autres à 0. Il est donc nécessaire de répéter les ordres préalablement positionnés que l’on souhaite maintenir à 1. L’action MOVE_ORDRE sans argument Ox remet à zéro tous les ordres. RDGI 0009 Révision E
89
8 Actions de base programmables sur trajectoires 8.2 Programmation des ordres
Mode opératoire La programmation des ordres à émettre se fait dans la fenêtre “ Editeur de programme ”. Placer le curseur sur la ligne où l’on souhaite programmer des ordres, insérer l’instruction “ MOVE_ORDRE ” de la liste PROMIA. Documenter ensuite les arguments classiques des instructions de mouvement et les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction ORDRE MOVE_ORD_OUTIL
90
Rôle Emission des ordres sur point d’arrêt Emission des ordres outil sur point de passage
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.2 Programmation des ordres
Action "ORD_OUTIL" sur point d’arrêt Cette action permet dans une seule instruction la mise à 1 ou 0 des 16 sorties ordres outil, après un éventuel retard. Cette action doit être utilisée sur point d’arrêt. Sur point de passage, on lui préfèrera l’instruction Move_Ord_Outil. En effet, une programmation sur point de passage ne permet pas de maîtriser avec certitude le moment précis où les sorties sont réellement activées par rapport à la position du robot. Généralement, les sorties montent avant le passage sur le point. L’instruction Move_Ord_Outil permet de remédier à cet asynchronisme. Arguments ORD_OUTIL [Delai] [O1][O2][O3][O4][O5][O6][O7][O8] [O9][O10][O11][O12][O13][O14][O15][O16] Delai Type de donnée : num Ce paramètre optionnel permet de préciser un retard à l’émission des ordres outil (en secondes). Ox Type de donnée : switch Mise à 1 de la sortie Ordre outil x, où « x » correspond au n° de sortie (1 à 16). Exécution du programme L’action ORD_OUTIL positionne à 1 les ordres outil spécifiés et met les autres à 0.
Il est donc nécessaire de répéter les ordres outil préalablement positionnés que l’on souhaite maintenir à 1. L’action ORD_OUTIL sans argument remet à zéro tous les ordres.
Mode opératoire La programmation des ordres à émettre se fait dans la fenêtre “ Editeur de programme ”. Placer le curseur sur la ligne où l’on souhaite programmer des ordres outil, insérer l’instruction “ ORD_OUTIL ” de la liste PROMIA. Documenter ensuite les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction Move_Ord_Outil ORDRE
RDGI 0009 Révision E
Rôle Emission des ordres outil sur point de passage Emission des ordres automate sur point d’arrêt
91
8 Actions de base programmables sur trajectoires 8.2 Programmation des ordres
Action "MOVE_ORD_OUTIL" sur point de passage Cette action intègre dans une même instruction un déplacement et la mise à 1 ou 0 synchronisée des 16 sorties ordres outil. L’instruction “Move_Ord_Outil” contient, en plus de la définition des ordres outil à émettre, le point visé, la zone, la vitesse, les données outil et le référentiel objet du déplacement. • comme l’instruction est programmée sur un point de passage, les sorties Ordres outil définies dans l’instruction sont positionnées à 1 lors du passage du robot sur la position qui correspond à la projection du point visé sur la trajectoire. Cette instruction permet donc d’activer les sorties Ordres outil de façon précise sur point de passage. La précision est de l’ordre de 5 millisecondes par rapport au point. • En cas d’utilisation de point d’arrêt, préférer l’instruction « ORD_OUTIL » Arguments Move_Ord_Outil [L] ToPoint [Id] [O1] [O2] [O3] [O4] [O5] [O6] [O7] [O8] [O9] [O10] [O11] [O12] [O13] [O14] [O15] [O16] speed zone tool wobj L Type de donnée : switch Spécifie que le mouvement est un déplacement linéaire (articulaire par défaut) ToPoint Type de donnée : robtarget Position visée par l’instruction et où les ordres seront émis. Id Type de donnée : identno Identificateur de synchronisation utilisé en cas de mouvements synchrones [Ox] Type de donnée : switch Ordre outil x, qui sera émis à 1 lors du passage sur le point. « x » correspond au n° de sortie (1 à 16). Speed Type de donnée : speeddata Vitesse programmée du déplacement vers le point. Zone Définition de la zone de passage.
Type de donnée : zonedata
Tool Type de donnée : tooldata Référentiel outil utilisé pour le mouvement. Wobj Type de donnée : wobjdata Référentiel objet utilisé pour le mouvement. Exécution du programme L’action MOVE_ORD_OUTIL positionne à 1 les ordres outil spécifiés et met les autres à 0. Il est donc nécessaire de répéter les ordres outil préalablement positionnés que l’on souhaite maintenir à 1. 92
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.2 Programmation des ordres L’action MOVE_ORD_OUTIL sans argument Ox remet à zéro tous les ordres outil.
Mode opératoire La programmation des ordres à émettre se fait dans la fenêtre “ Editeur de programme ”. Placer le curseur sur la ligne où l’on souhaite programmer des ordres, insérer l’instruction “ MOVE_ORD_OUTIL ” de la liste PROMIA. Documenter ensuite les arguments classiques des instructions de mouvement et les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction ORD_OUTIL Move_Ordre
RDGI 0009 Révision E
Rôle Emission des ordres outil sur point d’arrêt Emission des ordres automate sur point de passage
93
8 Actions de base programmables sur trajectoires 8.3 Programmation des événements
8.3
Programmation des événements
Action "EVENT" sur point d’arrêt Cette action permet, sur un point d'arrêt, la programmation de l'attente de 1 à 16 entrées événements automate. Seuls les événements déclarés dans l’action sont attendus (à 1), les autres sont ignorés. Si le contrôle dynamique des événements est actif, seuls les événements attendus seront ensuite contrôlés régulièrement. Arguments EVENT [E1] [E2] [E3] [E4] [E5] [E6] [E7] [E8] [E9] [E10] [E11] [E12] [E13] [E14] [E15] [E16] Ex Type de donnée : switch Evénement attendu à 1, où x est le numéro de l’événement (1 à 16) Exécution du programme Si au moins un événement est programmé, l’évolution du robot est bloquée tant que les événements programmés ne sont pas présents. L’action EVENT contrôle à 1 les événements spécifiés et ignore les autres. Il est donc nécessaire de répéter les événements préalablement attendus que l’on souhaite continuer à contrôler. L’action EVENT sans argument remet à zéro tous les contrôles d’événements. Messages associés : Le message “ EVM01: Attente Evénement : n ” apparaît sur l’écran de production, précisant l’événement attendu non présent. Les événements attendus et non présents sont repérés par un signe rouge dans l’écran dédié. Si le contrôle dynamique est activé et que l'une de ces entrées n’est plus conforme à la programmation, le message “ EVS01: Perte Evénement : n ” apparaît dans l’écran principal. Les événements contrôlés et non présents sont repérés par un signe rouge dans l’écran dédié. Mode opératoire Placer le curseur sur la ligne où l’on souhaite programmer des événements, insérer l’instruction "EVENT" de la liste PROMIA. Documenter ensuite les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction EVT_OUTIL Move_Event
94
Rôle Contrôle des événements outil sur point d‘arrêt Contrôle des événements automate sur point de passage
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.3 Programmation des événements
Action "MOVE_EVENT" sur point de passage Cette action permet de programmer les événements sur point de passage. Seuls les événements déclarés dans l’action sont attendus (à 1), les autres sont ignorés. Si le contrôle dynamique des événements est actif, seuls les événements attendus seront ensuite contrôlés régulièrement. Arguments Move_Event [L] ToPoint [E1] [E2] [E3] [E4] [E5] [E6] [E7] [E8] [E9] [E10] [E11] [E12] [E13] [E14] [E15] [E16] speed zone tool wobj L Type de donnée : switch Spécifie que le mouvement est un déplacement linéaire (articulaire par défaut) ToPoint Type de donnée : robtarget Position visée par l’instruction et où les événements seront contrôlés. Ex Type de donnée : switch Evénement x, qui sera contrôlé à 1 lors du passage sur le point. « x » correspond au n° d’entrée (1 à 16). Speed Type de donnée : speeddata Vitesse programmée du déplacement vers le point. Zone Définition de la zone de passage.
Type de donnée : zonedata
Tool Type de donnée : tooldata Référentiel outil utilisé pour le mouvement. Wobj Type de donnée : wobjdata Référentiel objet utilisé pour le mouvement. Exécution du programme Lors de l’arrivée sur le point les événements programmés sont contrôlés. S’ils sont présents, le robot continue sur sa trajectoire. Dans le cas contraire, et si au moins un événement est programmé, le robot s’arrête sur sa trajectoire et son évolution est bloquée tant que les événements programmés ne sont pas présents. L’action MOVE_EVENT contrôle à 1 les événements spécifiés et ignore les autres. Il est donc nécessaire de répéter les événements préalablement attendus que l’on souhaite continuer à contrôler. L’action MOVE_EVENT sans argument \Ex remet à zéro tous les contrôles d’événements. Messages associés : Le message “ EVS02: Att. Evt en Mouvement : n ” apparaît sur l’écran de production, précisant l’événement attendu non présent. Les événements attendus et non présents sont repérés par un signe rouge dans l’écran dédié.
RDGI 0009 Révision E
95
8 Actions de base programmables sur trajectoires 8.3 Programmation des événements
Si le contrôle dynamique est activé et que l'une de ces entrées n’est plus conforme à la programmation, le message “ EVS01: Perte Evénement : n ” apparaît dans l’écran principal. Les événements contrôlés et non présents sont repérés par un signe rouge dans l’écran dédié. Mode opératoire Placer le curseur sur la ligne où l’on souhaite programmer des événements, insérer l’instruction "Move_Event" de la liste PROMIA. Documenter ensuite les arguments classiques des instructions de mouvement et les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction EVENT Move_Evt_Out
96
Rôle Contrôle des événements automate sur point d’arrêt Contrôle des événements outil sur point de passage
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.3 Programmation des événements
Action "EVT_OUTIL" sur point d’arrêt Cette action permet, sur un point d'arrêt, la programmation de l'attente de 1 à 16 entrées événements outil. Seuls les événements outil déclarés dans l’action sont attendus (à 1), les autres sont ignorés. Si le contrôle dynamique des événements outil est actif, seuls les événements outil attendus seront ensuite contrôlés régulièrement. Arguments EVT_OUTIL
[E1] [E2] [E3] [E4] [E5] [E6] [E7] [E8] E9] [E10] [E11] [E12] [E13] [E14] [E15] [E16]
Ex Type de donnée : switch Evénement outil attendu à 1, où x est le numéro de l’événement (1 à 16) Exécution du programme Si au moins un événement outil est programmé, l’évolution du robot est bloquée tant que les événements outil programmés ne sont pas présents. L’action EVT_OUTIL contrôle à 1 les événements outil spécifiés et ignore les autres. Il est donc nécessaire de répéter les événements outil préalablement attendus que l’on souhaite continuer à contrôler. L’action EVT_OUTIL sans argument remet à zéro tous les contrôles d’événements outil. Messages associés : Le message “ EOM01: Attente Evt Outil : n ” apparaît sur l’écran de production, précisant l’événement outil attendu non présent. Les événements outil attendus et non présents sont repérés par un signe rouge dans l’écran dédié. Si le contrôle dynamique est activé et que l'une de ces entrées n’est plus conforme à la programmation, le message “ EOS01: Perte Evt Outil : n ” apparaît dans l’écran principal. Les événements outil contrôlés et non présents sont repérés par un signe rouge dans l’écran dédié. Mode opératoire Placer le curseur sur la ligne où l’on souhaite programmer des événements, insérer l’instruction "EVT_OUTIL" de la liste PROMIA. Documenter ensuite les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction EVENT Move_Evt_Out
RDGI 0009 Révision E
Rôle Contrôle des événements automate sur point d‘arrêt Contrôle des événements automate sur point de passage
97
8 Actions de base programmables sur trajectoires 8.3 Programmation des événements
Action "MOVE_EVT_OUT" sur point de passage Cette action permet de programmer les événements outil sur point de passage. Seuls les événements outil déclarés dans l’action sont attendus (à 1), les autres sont ignorés. Si le contrôle dynamique des événements outil est actif, seuls les événements outil attendus seront ensuite contrôlés régulièrement. Arguments Move_Evt_Out
[L] ToPoint [E1] [E2] [E3] [E4] [E5] [E6] [E7] [E8] [E9] [E10] [E11] [E12] [E13] [E14] [E15] [E16] speed zone tool Wobj
L Type de donnée : switch Spécifie que le mouvement est un déplacement linéaire (articulaire par défaut) ToPoint Type de donnée : robtarget Position visée par l’instruction et où les événements seront contrôlés. Ex Type de donnée : switch Evénement outil x, qui sera contrôlé à 1 lors du passage sur le point. « x » correspond au n° d’entrée (1 à 16). Speed Type de donnée : speeddata Vitesse programmée du déplacement vers le point. Zone Définition de la zone de passage.
Type de donnée : zonedata
Tool Type de donnée : tooldata Référentiel outil utilisé pour le mouvement. Wobj Type de donnée : wobjdata Référentiel objet utilisé pour le mouvement. Exécution du programme Lors de l’arrivée sur le point les événements outil programmés sont contrôlés. S’ils sont présents, le robot continue sur sa trajectoire. Dans le cas contraire, et si au moins un événement outil est programmé, le robot s’arrête sur sa trajectoire et son évolution est bloquée tant que les événements programmés ne sont pas présents. L’action MOVE_EVT_OUT contrôle à 1 les événements outil spécifiés et ignore les autres. Il est donc nécessaire de répéter les événements outil préalablement attendus que l’on souhaite continuer à contrôler. L’action MOVE_EVT_OUT sans argument \Ex remet à zéro tous les contrôles d’événements outil. Messages associés :
98
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.3 Programmation des événements Le message “ EOS02: Att. Evt Outil Mvt : n ” apparaît sur l’écran de production, précisant l’événement outil attendu non présent. Les événements outil attendus et non présents sont repérés par un signe rouge dans l’écran dédié. Si le contrôle dynamique est activé et que l'une de ces entrées n’est plus conforme à la programmation, le message “ EOS01: Perte Evt Outil : n ” apparaît dans l’écran principal. Les événements outil contrôlés et non présents sont repérés par un signe rouge dans l’écran dédié. Mode opératoire Placer le curseur sur la ligne où l’on souhaite programmer des événements, insérer l’instruction "Move_Evt_Out" de la liste PROMIA. Documenter ensuite les arguments classiques des instructions de mouvement et les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction EVT_OUT Move_Event
RDGI 0009 Révision E
Rôle Contrôle des événements outil sur point d’arrêt Contrôle des événements automate sur point de passage
99
8 Actions de base programmables sur trajectoires 8.3 Programmation des événements
8.3.1 Evénements utilisés en aiguillage Principe Cette programmation permet de choisir entre 2 trajectoires pour un même code cycle, en fonction de deux événements automate distincts. Cette programmation n'est pas utilisée dans une trajectoire mais en amont, dans la routine « Programme ». Les événements sont inter-verrouillés (voir exemple).
Exemple type Choix de la trajectoire 1 ou 2 pour le programme 4, en fonction des événements 3 et 4. L’instruction AffAttAiguillage affiche le message “ TCM14: Attente Aiguillage ” dans l’écran de production. Il reste affiché tant que les événements testés ont une valeur identique. Il est ensuite effacé par l’instruction RazAttAiguillage. CASE 4 AffAttAiguillage; WaitUntil DInput(EV3)<>DInput(EV4); RazAttAiguillage; IF DInput(EV3)=1 THEN AutoriseTraj; Traj1; ELSE AutoriseTraj; Traj2; ENDIF
100
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.4 Programmation des séquences
8.4
Programmation des séquences
Action « SEQ » Cette action permet de programmer l’activation ou la désactivation de 1 à 16 actionneurs, d'attendre et de contrôler la bonne exécution de ces pilotages, et de lancer le contrôle dynamique des états attendus. Cette action est typiquement utilisée pour le pilotage des préhenseurs, mais elle permet également la gestion de tout organe mécanique piloté et contrôlé par des entrées/sorties tout ou rien (bridages, abattants rôdeuse...). L’état des séquences "attendu" et "présent" est visible à tout moment dans l’écran dédié. Cet écran permet également de voir l’état des capteurs mis en œuvre. Arguments La sélection des pilotages des séquences se fait à l’aide des arguments suivants : SEQ
[S1_A] | [S1_D] [S2_A] | [S2_D] [S3_A] | [S3_D] [S4_A] | [S4_D] [S5_A] | [S5_D] [S6_A] | [S6_D] [S7_A] | [S7_D] [S8_A] | [S8_D] [S9_A] | [S9_D] [S10_A] | [S10_D] [S11_A] | [S11_D] [S12_A] | [S12_D] [S13_A] | [S13_D] [S14_A] | [S14_D] [S15_A] | [S15_D] [S16_A] | [S16_D] [SANS_CTL] [SANS_ACT]
Sx_A Type de donnée : switch Sx_D Type de donnée : switch Arguments optionnels mutuellement exclusifs pour un même numéro. Ils demandent de piloter la séquence x (où x est le numéro de la séquence, compris entre 1 et 16) à l’état demandé : A à l’état Activé, ou D à l’état Désactivé. SANS_CTL
Type de donnée : switch
Argument optionnel demandant le pilotage des séquences uniquement, sans contrôle. SANS_ACT
Type de donnée : switch
Argument optionnel demandant le contrôle des séquences uniquement, sans pilotage. Exécution du programme Lorsqu'au moins une séquence est spécifiée, les séquences spécifiées sont activées ou désactivées, mais les autres séquences restent dans leur état précédemment programmé. L'utilisation de cette instruction sans aucun argument permet de réinitialiser l'état des séquences programmées comme étant inconnu et donc non contrôlé. Ce type de programmation est nécessaire lors de la dépose d'un outil de préhension raccordé par demi-changeur RDGI 0009 Révision E
101
8 Actions de base programmables sur trajectoires 8.4 Programmation des séquences
Toute séquence doit être soit activée, soit désactivée. Par conséquent, pour éviter que certaines séquences soient dans un état inconnu, et donc non surveillées, il est conseillé de les activer toutes au moins une fois, par exemple dans la trajectoire “ T_Lance ”. • Programmation sur point d’arrêt La programmation classique des séquences se fait sur point d’arrêt. Les séquences sont alors pilotées et contrôlées sur le point. Mais sur point d’arrêt on peut aussi : o contrôler une séquence sans la piloter ; utiliser l’argument optionnel \SANS_ACT, o Ou piloter une séquence sans la contrôler ; utiliser l’argument optionnel \SANS_CTL. Dans ce cas d'utilisation le contrôle dynamique doit être désactivé sinon le robot sera arrêté. • Programmation sur point de passage Sur point de passage on peut seulement piloter une séquence sans la contrôler ; utiliser l’argument optionnel \SANS_CTL. Dans ce cas d'utilisation le contrôle dynamique doit être désactivé sinon le robot sera arrêté. • Messages associés En cas d'attente, le message “ SQM01: Attente Séquence : n” apparaît dans l’écran de production. On peut visualiser les séquences en défaut dans l’écran dédié. Si le contrôle dynamique est activé et que l'une des séquences contrôlées n'est plus conforme à la programmation, le message “ SQS01: Perte Séquence : n ” apparaît dans l’écran de production.
Mode opératoire Placer le curseur sur la ligne où l’on souhaite programmer des séquences de manutention, insérer l’instruction "SEQ" de la liste PROMIA. Documenter ensuite les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction CPP
102
Rôle Contrôle des présences pièce
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.5 Programmation des contrôles présence pièce
8.5
Programmation des contrôles présence pièce
Action “ CPP ” L’action CPP permet d’attendre les entrées présence pièce “ CPPx ”, de programmer leur état attendu et de lancer leur contrôle dynamique. L’état des CPP "attendu" et "présent" est visible à tout moment dans l’écran dédié.
Arguments CPP
[CPP1_1] [CPP3_1] [CPP5_1] [CPP7_1]
| | | |
[CPP1_0] [CPP3_0] [CPP5_0] [CPP7_0]
[CPP2_1] [CPP4_1] [CPP6_1] [CPP8_1]
| | | |
[CPP2_0] [CPP4_0] [CPP6_0] [CPP8_0]
CPPx_n Type de donnée : switch Où ‘x’ est le numéro de l’entrée Présence Pièce (1 à 8) et ‘n’ est l’état attendu (0 ou 1).
Exécution du programme
Seules les entrées présence pièce spécifiées dans l’action sont attendues et contrôlées. Les autres sont ignorées. Il est donc nécessaire de répéter les CPP préalablement attendus que l’on souhaite continuer à contrôler. L’action CPP sans argument remet à zéro tous les contrôles de CPP (état indifférent). Cette programmation est à faire sur point d’arrêt. Elle est possible sur point de passage, uniquement si tous les états attendus sont indifférents (action CPP sans aucun argument). Messages associés : Lors de l’exécution de l'action CPP, tant que l’entrée dédiée au contrôle présence pièce ‘n’ n’est pas bien positionnée, le message “ CPM01: Attente Présence Pièce : n ” apparaît dans l’écran de production. Si le contrôle dynamique est activé et que l'une de ces entrées n'est plus conforme à la programmation, le message “ CPS01: Perte Présence Pièce : n ” apparaît dans l’écran. Mode opératoire Placer le curseur sur la ligne où l’on souhaite programmer des séquences de manutention, insérer l’instruction "CPP" de la liste PROMIA. Documenter ensuite les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction SEQ
RDGI 0009 Révision E
Rôle Pilotage et contrôle des séquences de manutention
103
8 Actions de base programmables sur trajectoires 8.6 Programmation des contrôles dynamiques
8.6
Programmation des contrôles dynamiques
Action "CTRL_DYN" Le contrôle dynamique permet d'arrêter le robot en cas de perte de l'une des informations surveillées, et de le redémarrer automatiquement dès que la condition revient. Le programme robot n'est pas arrêté, seuls les mouvements sont "suspendus". L'arrêt du robot se fait progressivement, et celui ci reste sur la trajectoire. Les asservissements ne sont pas coupés. Les surveillances "dynamiques" sont : • Les présences Pièces. • Les événements automate. • Les événements outils. • Les séquences.
Arguments CTRL_DYN
[OUI] | [NON] [SEQ_OUI] | [CPP_OUI] [EV_OUI] [EVOUT_OUI]
OUI Type de donnée : switch Si l’argument OUI est présent, tous les contrôles dynamiques sont remis à l’état par défaut défini dans le module DEF_SITE.SYS : o Active_Ctl_Seq (TRUE/FALSE). o Active_Ctl_Cpp (TRUE/FALSE). o Active_Ctl_Ev (TRUE/FALSE). o Active_Ctl_Evo (TRUE/FALSE). Les contrôles dynamiques sont également remis à ces valeurs par défaut en cas de : o Déplacement pointeur en début de programme (Ex. Spécial 3). o Déplacement pointeur sur début routine (Ex. Spécial 4). o Recyclage. o Au Repli. NON Type de donnée : switch Si l’argument NON est présent, tous les contrôles sont inhibés.
La programmation sans aucun argument est équivalente à CTRL_DYN \NON.
SEQ_OUI Type de donnée : switch Activation du contrôle dynamique des séquences de manutention. CPP_OUI Type de donnée : switch Activation du contrôle dynamique des contrôles de présence pièce. EV_OUI Type de donnée : switch Activation du contrôle dynamique des événements automate. EVOUT_OUI Type de donnée : switch Activation du contrôle dynamique des événements outil.
104
RDGI 0009
Révision E
8 Actions de base programmables sur trajectoires 8.6 Programmation des contrôles dynamiques Exécution du programme Les contrôles dynamiques sont gérés dans la tâche d’arrière plan. L’instruction CTRL_DYN met à jour le contexte de cette tâche de surveillance. L’état de ces contrôles est affiché dans l’écran « Contexte » de l’applicatif. Exemples CTRL_DYN ; CTRL_DYN\NON ; CTRL_DYN\OUI ; CTRL_DYN\CPP_OUI ; CTRL_DYN\CPP_OUI\EV_OUI ;
⇒ Inhibe tous les contrôles ⇒ Idem. ⇒ Restaure les états par défaut. ⇒ Active le contrôle CPP et désactive tous les autres. ⇒ Active les contrôles CPP et Evénements et désactive les autres.
Mode opératoire Placer le curseur sur la ligne où l’on souhaite programmer des séquences de manutention, insérer l’instruction "CTRL_DYN » de la liste PROMIA. Documenter ensuite les arguments optionnels, comme indiqué au paragraphe 8.1.2. Voir aussi Instruction/Fonction SEQ CPP EVENT EVT_OUTIL MOVE_EVENT MOVE_EVT_OUT
RDGI 0009 Révision E
Rôle Pilotage et contrôle des séquences de manutention Contrôle des présences pièce Test des événements automate Test des événements outil Test des événements automate en mouvement Test des événements outil en mouvement
105
9 Cartes d’Entrées Sorties 9.1 Généralités
9 Cartes d’Entrées Sorties 9.1
Généralités Le système est configuré automatiquement avec les cartes E/S selon vos options installées. En raison de la multiplicité des différentes configurations liée aux possibilités de commander plusieurs robots via une seule armoire, la définition d la configuration des entrées sorties ne figure pas dans ce guide mais fait l’objet d’une fourniture séparée adaptée aux besoins du client et du site.
RDGI 0009 Révision E
107
10 Suivi des moyens 10.1 Mot d’état suivi et état robot
10 Suivi des moyens (Norme réf : EM81_EA_040). Les différentes causes d’arrêt de la production sont signalées à l’automate de ligne sous la forme d’un mot d’état et d’un mot commentaire. Dans un système multi-robots, un mot permet également de signaler le robot qui a causé cet arrêt.
10.1 Mot d’état suivi et état robot Les différents types d’arrêt robot sont codés dans ce mot : Mot d’état HPR
Hors Production
APP
Arrêt pour Panne.
APF
Arrêt Fonctionnel.
APE
Arrêt pour Exploitation.
AIA
Arrêt Induit.
TC
Top Cycle.
DER
Dérive.
ALR
Alarme.
Abréviation de
Signification Hors Production. C'est un défaut qui demande une intervention opérateur (Exemples : réarmement local de l’armoire, acquittement d'un défaut sur l’armoire,...). Le robot fonctionne, mais fait autre chose que de la production (Exemple : programme de service en cours). Le robot est arrêté suite à une demande opérateur (Exemples : STOP local, Robot au repli ou est en train de gagner la position de repli...). Le robot est arrêté, car il lui manque une information logique de la part de l'automate (Exemples : attente du code de cycle, attente événement de l’automate...). Le robot signale à l'automate qu'il commence un cycle de travail : il met cette information à l’état 1 pendant 1 seconde. Le TC n’est pas activé sur les trajectoires de service 1, service 2, service 3, service 4 et de REPLI. Le robot signale un problème qui ne l'arrête pas obligatoirement (Exemple : défaut Présence Pièce...). Note: si le problème dure, c'est l'automate qui compte les temps de cycle des composants d'automatisme, et c’est lui qui signale au suivi central (au bout d'un certain temps) que le robot est arrêté pour “ dépassement de temps de cycle ”. Le process robot signale une alarme qui se traduit souvent par une demande d'intervention de l'opérateur (Exemple : Alerte le changement de constituant)
L’ordre des priorités est le suivant : HPR>APP>APE>AIA>APF>DER>AOP.
RDGI 0009 Révision E
109
10 Suivi des moyens 10.2 Définition du mot commentaire
10.2 Définition du mot commentaire Il précise l’événement qui a causé l’arrêt de l’exploitation. Ce numéro est renseigné par l’applicatif, ou par l’intégrateur. Si plusieurs événements sont présents simultanément, seul le plus ancien dans la priorité la plus élevée qui est signalé.
10.2.1 Mots commentaires communs à tout métier Ils sont gérés par l’applicatif Tronc commun : CODE 1 2 10 11 12 13 14 20 21 22 23 24 30 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 110
Libellé de l’état du robot PROGRAMME CELLULE ABANDONNE DEFAUT RESEAU DE TERRAIN ENTREES/SORTIES ROBOT HORS PUISSANCE APE STOP PERTE MARCHE AUTOMATIQUE ROBOT HORS PRODUCTION ECRAN SYSTEME A VALIDER ATTENTE BATTEMENT CODE ATTENTE CODE PIECE DEFAUT PARITE PROGRAMME ROBOT INEXISTANT ATTENTE AUTORISATION EVOLUTION ATTENTE DEPART PROGRAMME ROBOT ATTENTE POINT REBOUCLAGE ATTEINT ACTION AU PT REBOUCLAGE SEULEMENT METTRE LE ROBOT AU REPLI ROBOT AU REPLI ROBOT PENDANT REPLI ROBOT PENDANT LANCE ROBOT ATTENTE DEPART POUR LANCE PROGRAMME DE SERVICE 1 EN COURS PROGRAMME DE SERVICE 2 EN COURS PROGRAMME DE SERVICE 3 EN COURS PROGRAMME DE SERVICE 4 EN COURS ATTENTE AIGUILLAGE ATTENTE EVENEMENT 1 ATTENTE EVENEMENT 2 ATTENTE EVENEMENT 3 ATTENTE EVENEMENT 4 ATTENTE EVENEMENT 5 ATTENTE EVENEMENT 6 ATTENTE EVENEMENT 7 ATTENTE EVENEMENT 8 ATTENTE EVENEMENT 9 ATTENTE EVENEMENT 10 ATTENTE EVENEMENT 11 ATTENTE EVENEMENT 12 ATTENTE EVENEMENT 13 ATTENTE EVENEMENT 14 ATTENTE EVENEMENT 15 RDGI 0009
Nature APP APP APE APE APE HPR APP AIA AIA AIA APP AIA APE APE APE APE APE APE APE APE APF APF APF APF AIA AIA AIA AIA AIA AIA AIA AIA AIA AIA AIA AIA AIA AIA AIA AIA Révision E
10 Suivi des moyens 10.2 Définition du mot commentaire 66 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 100 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 130 131 132 133 134 135 136 137 138
RDGI 0009 Révision E
ATTENTE EVENEMENT 16 ATTENTE EVENEMENT OUTIL NON DOCUMENTE ATTENTE EVENEMENT OUTIL 1 ATTENTE EVENEMENT OUTIL 2 ATTENTE EVENEMENT OUTIL 3 ATTENTE EVENEMENT OUTIL 4 ATTENTE EVENEMENT OUTIL 5 ATTENTE EVENEMENT OUTIL 6 ATTENTE EVENEMENT OUTIL 7 ATTENTE EVENEMENT OUTIL 8 ATTENTE EVENEMENT OUTIL 9 ATTENTE EVENEMENT OUTIL 10 ATTENTE EVENEMENT OUTIL 11 ATTENTE EVENEMENT OUTIL 12 ATTENTE EVENEMENT OUTIL 13 ATTENTE EVENEMENT OUTIL 14 ATTENTE EVENEMENT OUTIL 15 ATTENTE EVENEMENT OUTIL 16 DEFAUT PRESENCE AIR DEFAUT SEQUENCE NON DOCUMENTE DEFAUT SEQUENCE 1 DEFAUT SEQUENCE 2 DEFAUT SEQUENCE 3 DEFAUT SEQUENCE 4 DEFAUT SEQUENCE 5 DEFAUT SEQUENCE 6 DEFAUT SEQUENCE 7 DEFAUT SEQUENCE 8 DEFAUT SEQUENCE 9 DEFAUT SEQUENCE 10 DEFAUT SEQUENCE 11 DEFAUT SEQUENCE 12 DEFAUT SEQUENCE 13 DEFAUT SEQUENCE 14 DEFAUT SEQUENCE 15 DEFAUT SEQUENCE 16 DEFAUT PRESENCE PIECE DEFAUT PRESENCE PIECE 1 DEFAUT PRESENCE PIECE 2 DEFAUT PRESENCE PIECE 3 DEFAUT PRESENCE PIECE 4 DEFAUT PRESENCE PIECE 5 DEFAUT PRESENCE PIECE 6 DEFAUT PRESENCE PIECE 7 DEFAUT PRESENCE PIECE 8
AIA DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER APP DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER DER
111
11 Règles à respecter 11.1 Echanges automate liés aux états et événements robot
11 Règles à respecter 11.1 Echanges automate liés aux états et événements robot Pré affectations des entrées/sorties Dans la configuration des entrées/sorties, plusieurs sorties et entrées de l’armoire sont reliées à des états ou des événements système du robot. Des équations logiques (cross connexions) sont également préprogrammées. (Extrait de la configuration Entrées/Sorties) # SYSSIG_OUT: -Status -Status -Status -Status -Status -Status -Status -Status
"CycleOn" -Signal "xCycleOn" "MotOnState" -Signal "xMotorOn" "AutoOn" -Signal "xAutoOn" "RunchOk" -Signal "xRunchOk" "Error" -Signal "xError" "PFError" -Signal "xPFError" "RegainDistError" -Signal "Retour" "TCPSpeed" -Signal "a_Ctrl_Mvt_Rob"
robot en cycle robot sous puissance robot en mode automatique chaîne de sécurité fermée robot arreté suite à erreur erreur de coupure de courant robot hors zone distance reprise vitesse du CDO
"MSP" -Action "MotorOn" "STARTT" -Action "Start" "xMotorOff" -Action "MotorOff" "xstop" -Action "Stop"
mise sous puissance distante départ distant mise hors puissance Stop distant (non utilisé)
# SYSSIG_IN: -Signal -Signal -Signal -Signal # EIO_CROSS: -Res "STARTT" -Act1 "DDCY" -Oper1 "AND" -Act2 "xCycleOn" -Act2_invert \ -Oper2 "AND" -Act3 "Retour" -Act3_invert -Oper3 "AND" -Act4 "ENPRO" -Res "MSP" -Act1 "DMSP" -Oper1 "AND" -Act2 "ENPRO" -Res "DMD_SERV1_1_R1" -Act1 "BP_SERV1" -Res "DMD_SERV2_1_R1" -Act1 "BP_SERV2" -Res "DMD_SERV3_R1" -Act1 "BP_SERV3" -Res "DMD_SERV4_R1" -Act1 "BP_SERV4" -Res "cycleOn1" -Act1 "xCycleOn" -Oper1 "AND" -Act2 "vo_vieAVP1" -Res "RAMVT" -Act1 "RAMVT1"
Pour de plus amples informations sur les entrées & sorties système ou sur les cross connexions, voir le Guide Utilisateur des armoires ABB, $ Paramètres Système. Par ailleurs, par logiciel, les équations suivantes sont également générées (indiquées ici sous le même format que les cross connexions) : -Res RCReady -Act1 "xAutoOn" –Oper1 "AND" –Act2 "xRunChOk" -Res "AUTO" –Act1 "xAutoOn" -Res "MANU" –Act1 "xAutoOn" –Act1_Invert
RDGI 0009 Révision E
113
11 Règles à respecter 11.2 Echanges automates en trajectoire (ordres - événements)
Règles à respecter La sortie automate “demande de Mise sous puissance Robot” reliée à DMSP doit prendre en compte le fait : • Que le robot est en mode auto. et chaîne de sécurité correcte (RCReady=1) • Que l’armoire est hors puissance (xMotorOn=0) La sortie automate “départ cycle” reliée à l’entrée DCCY doit prendre en compte : • Que le robot est en mode auto. et chaîne de sécurité correcte (RCReady=1) • Que l’armoire est sous puissance (xMotorOn=1) Les sorties automate “Autorisation d’évolution robot” reliée à AEVRB et “robot dans le flux de production” sont à programmer en fonction des spécificités du site.
11.2 Echanges automates en trajectoire (ordres - événements) Pour la gestion des interférences robot, les ordres émis par un robot doivent être reflétés par l’automate dans les événements émis pour les autres robots.
114
RDGI 0009
Révision E
11 Règles à respecter 11.3 Chronogrammes à respecter
11.3 Chronogrammes à respecter Légende des chronogrammes IR AOR iA R->A A->R
= = = = =
signal interne au robot Action opérateur sur le robot signal interne à l’automate Sortie robot, entrée automate Sortie automate, entrée robot
Chronogramme « armoire prête » La sortie RcReady indique que l’armoire est prête à prendre les commandes de l’automate. Elle est positionnée lorsque la chaîne de sécurité est correcte, et que l’armoire est en mode automatique. GS (iR)
ES (iR)
AS (iR)
Auto (R->A) Acquittement Auto sur PMA (AOR) RcReady (R->A)
Figure 10.
Chronogramme « Armoire prête »
Où GS, ES, et AS représentent respectivement les signaux Arrêt général (General Stop), Arrêt d'urgence (Emergency Stop) et Arrêt en Automatique (Automatic Stop).
RDGI 0009 Révision E
115
11 Règles à respecter 11.3 Chronogrammes à respecter
Chronogramme de mise sous puissance L’entrée DMSP n’est prise en compte qu’en mode automatique, et en production (ENPRO=1) Enpro (A->R)
RcReady (R->A)
DMSP (A->R)
1s
xMotorOn (R->A)
Figure 11.
116
Chronogramme « Mise sous puissance »
RDGI 0009
Révision E
11 Règles à respecter 11.3 Chronogrammes à respecter
Chronogramme de mise en exécution Enpro (A->R)
RcReady (R->A)
XMotorOn (R->A)
DDCY (A->R)
1s
xCycleOn (R->A)
Figure 12.
RDGI 0009 Révision E
Chronogramme de mise en exécution
117
11 Règles à respecter 11.3 Chronogrammes à respecter Chronogramme de mise en position de rebouclage depuis le repli
1 XMotorOn (R->A) 1 XCycleOn (R->A)
Repli (R->A)
DDCY (A->R)
Reb_prg (R->A)
Mot commentaire
Robot en mouvement vers le point de rebouclage
44
Figure 13.
43
21
Chronogramme de mise à position de rebouclage depuis repli
Chronogramme de mise en position de repli
1 XMotorOn (R->A) 1 XCycleOn (R->A) Envoi code cycle 63 (cf envoi code)
Reb_prg (R->A) Repli (R->A) Fin du cycle en cours
Figure 14.
118
Traj de repli
Chronogramme de mise au repli
RDGI 0009
Révision E
11 Règles à respecter 11.3 Chronogrammes à respecter Chronogramme de l’échange code Voir l’extrait de la norme EM81.EA.010. A noter qu’il n’y a pas d’information spécifique à l’acquittement de la prise en compte du code par le robot. C’est en général un ordre émis par le robot qui signale à l’automate que le programme est effectivement lancé. L’automaticien et le programmeur robot doivent se mettre d’accord sur cet ordre. Une fois un programme lancé, un nouveau code ne peut être présenté qu’après « un battement code » (passage à 0 du code, de la parité, de CVC_1 et battement de CVC_0).
Automate
Code
Parité (CPC0)
CVC_1
CVC_0
1s
Robot Ordre X
Le robot est en attente code
Figure 15.
RDGI 0009 Révision E
Code prêt / Exécution du code
Batte ment code
L'automate peut présenter le code suivant dès qu'il le connaît
Chronogramme de l’échange code
119
11 Règles à respecter 11.3 Chronogrammes à respecter Codage du contrôle de parité Le contrôle de la parité du code n'a lieu dans Promia que si le signal CPCO est défini dans la table d'échanges avec l'automate. Ce signal est optionnel lorsque les échanges entre le robot et l'automate se font par un bus de terrain. Il est par contre obligatoire lorsque ces échanges se font par une liaison fil à fil. L’algorithme qui régit la valeur de CPCO est le suivant : le nombre total de bits à 1, du mot formé par le code et CPCO, doit être impair. Code 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
120
nb bits du code à 1 0 1 1 2 1 2 2 3 1 2 2 3 2 3 3 4 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5
CPC0
code
1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
nb bits du code à 1 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6
RDGI 0009
CPC0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1
Révision E
11 Règles à respecter 11.3 Chronogrammes à respecter Chronogramme de la demande d’accès type 1 (arrêt en fin de cycle) Sur une demande d’accès, l’automate bloque le code cycle par la mise à 0 de CVC_1. Lorsque le robot atteint le point de rebouclage, il autorise l’accès, l’opérateur ouvre le portillon qui fait tomber AS. En fin d’intervention, l’automate repositionne CVC_1. Le redémarrage en cycle s’effectue ensuite selon les chronogrammes « mise sous puissance » et « mise en exécution ». Demande d'accès (iA) cvc_1 (A->R)
blocage du code cycle
Reb_Prg (R->A)
robot en cours de travail
Autorisation d'accès (iA) Ouverture portillon(iA)
AS (iR) (*)
XMotorOn (R->A) (**)
XCycleOn (R->A) (*) voir chronogramme mise sous puissance
Figure 16.
(**) voir chronogramme mise en exécution
Chronogramme de demande d’accès
Ce chronogramme est un chronogramme de principe. En pratique, le programme automate devra tenir compte des éventuelles erreurs pouvant survenir pendant le cycle en cours et réagir en fonction du mot d’état du suivi des moyens (cf. ci après). • •
•
En cas de défaut APP ou AI, autorisation immédiate de l’accès sans attendre l’information « Reb_Prg », En cas de défaut de type APF ou APE, attente de la fin de la routine de service ou de la demande de repli, tout en générant les signaux éventuellement attendus (DDCY), qui repositionneront finalement le robot au point de rebouclage, En cas de défaut DE, armer une tempo. Si le défaut disparaît avant la fin de la tempo, continuer à attendre la fin de cycle. S’il persiste, forcer la fin de cycle, tout en positionnant AEVRB à 0 pour éviter d’éventuels aléas.
Echanges automates en trajectoire (ordres - événements) Pour la gestion des interférences robot, les ordres émis par un robot doivent être reflétés par l’automate dans les événements émis pour les autres robots.
RDGI 0009 Révision E
121
11 Règles à respecter 11.3 Chronogrammes à respecter
122
RDGI 0009
Révision E
12 Index et annexes 12.1 Index
12 Index et annexes 12.1 Index Contraintes sur les E/S ....................................... 30 Instruction DefineEvtOut................................... 55 Instruction DefineOrdOut .................................. 53 Routine EnregOrdEvtOut................................... 52
C Contrôles dynamiques Action en trajectoire Instruction CTRL_DYN................................... 104 Configuration Valeurs par défaut .............................................. 63
Contrôles présence pièce Action en trajectoire Instruction CPP ................................................ 103 Configuration Instruction DefineCPP ....................................... 51 Routine Enreg_CPP ........................................... 50
E Evénements et ordres automate Action en trajectoire Instruction EVENT ............................................ 94 Instruction MOVE_EVENT............................... 95 Instruction MOVE_ORDRE .............................. 89 Instruction ORDRE............................................ 88 Configuration Contraintes sur les E/S ....................................... 30 Evénements utilisés pour aiguillage...................... 100
Evénements et ordres outil Action en trajectoire Instruction EVT_OUTIL.................................... 97 Instruction MOVE_EVT_OUT.......................... 98 Instruction MOVE_ORD_OUTIL ..................... 92 Instruction ORD_OUTIL ................................... 91 Configuration
RDGI 0009 Révision E
M Messages utilisateur Action en trajectoire Instruction AffMessPU ...................................... 61 Instruction RazMessPU ..................................... 62 Configuration Personnalisation ................................................. 58
Modules personnalisables Tronc commun ....................................................... 34
N Niveaux de danger............................................ 15
S Séquences de manutention Action en trajectoire Instruction SEQ................................................ 101 Configuration Fonction CtrlSeqOK .......................................... 47 Insrtuction ActiveAct......................................... 45 Instruction CtrlSeq ............................................. 49 Instruction DeasctiveAct.................................... 46 Instruction InitCtrlSeq ....................................... 47 Routine Act_Seq ................................................ 42 Routine Test_Seq............................................... 47
123
12 Index et annexes 12.2 Table des illustrations
12.2 Table des illustrations Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16.
124
Chargement de RobotStudio Online ...................................................................................... 18 Ecran d’accueil de RobotStudio Online ................................................................................ 18 Synoptique d’un backup......................................................................................................... 25 Synoptique de la restauration de backup............................................................................... 26 Principe des échanges de code programme........................................................................... 84 Menu Déboguer de la Fenêtre de Production ....................................................................... 85 Menu Ajouter l’instruction..................................................................................................... 86 Menu Ajouter l’instruction, instructions PROMIA ................................................................ 86 Menu Ajouter l’instruction, instructions PROMIA (suite)..................................................... 87 Chronogramme « Armoire prête »....................................................................................... 115 Chronogramme « Mise sous puissance »............................................................................. 116 Chronogramme de mise en exécution .................................................................................. 117 Chronogramme de mise à position de rebouclage depuis repli........................................... 118 Chronogramme de mise au repli ......................................................................................... 118 Chronogramme de l’échange code ...................................................................................... 119 Chronogramme de demande d’accès................................................................................... 121
RDGI 0009
Révision E
Le cœur de la Robotique
Note technique Préconfiguration pour Oscar IRC5
ABB RDDI0052_B_Préconfiguration pour OSCAR_Fra.doc
Note technique Préconfiguration pour Oscar Document ID: RDDI 0052 Révision: B
Cette documentation est prévue pour être imprimée en recto/verso
Les informations contenues dans ce document peuvent être modifiées sans préavis et ne doivent pas être considérées comme un engagement de la part d’ABB France s.a.s. ABB France s.a.s réfute toute responsabilité quant aux erreurs éventuelles contenues dans de document. En aucun cas, ABB France s.a.s ne peut être tenu responsable des dommages pouvant découler de l’utilisation de ce document ou des logiciels ou matériels décrits dans ce document. Ce document ne doit pas être reproduit ni copié, intégralement ou en partie, sans l’autorisation de ABB France s.a.s. Il ne doit pas non plus être ni communiqué à des tiers ni utilisé à des fins non autorisées. Toute transgression donnera lieu aux poursuites judiciaires prévues par la loi en vigueur. D’autres exemplaires de ce document peuvent être obtenus auprès d’ABB France s.a.s au prix actuel. © ABB ABB France s.a.s Division Robotique Rue de l’Equerre ZI des Béthunes 95310 Saint-Ouen l’Aumône FRANCE
Sommaire
Vue d’ensemble
5
1 Principe des backups sur l'IRC5
7
1.1 1.2 1.3
Principes généraux ...........................................................................................................7 Spécificités Promia............................................................................................................8 Spécificités Renault...........................................................................................................8
2 Configurations à réaliser 2.1 2.2 2.3
Etape 1 : Configuration de l'adresse réseau de l'armoire ..................................................9 Etape 2 : configuration de la communication ..................................................................11 Etape 3 : configurer la sauvegarde backup simplifiée .....................................................15
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar 3.1 3.2
9
17
Sauvegarde vers Oscar ..................................................................................................17 Restauration depuis Oscar..............................................................................................19
Vue d’ensemble
Vue d’ensemble A propos de cette note Cette note technique a pour but de décrire les étapes de configuration d'une armoire IRC5 équipée du logiciel d'application PROMIA pour les sauvegardes et restaurations des programmes utilisateur via le logiciel Renault "Oscar". Usage Cette note est destinée la mise en route des armoires IRC5 pour Renault. Qui est concerné par cette note ? Cette note est rédigée pour : • Les intégrateurs d'armoire IRC5 pour Renault Pré requis Le lecteur doit : • Etre familiarisé avec l'utilisation du FlexPendant de l'IRC5 Autres documents de référence Le lecteur doit également prendre connaissance de la documentation Oscar : • Référence Renault : GE03PR040-Module2 Comment lire cette note ? Afin de faciliter la lecture, le texte ayant une signification particulière adopte un formatage spécifique.
Type de texte
Révision B
Exemple
Eléments de l’interface utilisateur, comme menu, boîte de dialogue, bouton.
Gras
In the Open File dialog box, click OK
Touches du clavier
Capitales
To open the help, press the F1 key.
Monospace (courrier)
MoveJ
Monospace (courrier) italique
PROC RoutineName()
Messages ordinateurs et instruction RAPID Variables dans les messages ordi/instruction RAPID
RDDI 0052
Formatage
Liens hypertexte
Bleus italiques
Références à autres manuels ou sources d’info
Italique
See The RobotStudio Online Operator’s Manual See the RAPID reference manual for further information.
5
Vue d’ensemble
Révisions Révision
Description
Rédacteur
A
Première édition Prise en compte des remarques de Renault
M.Bekaert
B
6
M.Bekaert
RDDI 0052
Révision B
1 Principe des backups sur l'IRC5 1.1 Principes généraux
1 Principe des backups sur l'IRC5 1.1
Principes généraux
Contenu d'une sauvegarde Une sauvegarde comporte à la fois la mémoire de programme, les paramètres système et le répertoire 'Home' du système robot. Ces 3 sous-ensemble sont toujours sauvegardés et restaurés simultanément. Homogénéité de comportement Les principes généraux de la sauvegarde et de la restauration de la mémoire de programme sont décrits au chapitre "Organisation mémoire – Sauvegardes" des guides d'intégration. Ils y sont illustrés pour les sauvegardes sur le FlashDisk, mais ce principe vaut également pour les autres supports physiques : clé USB, PC distant. Backup
PC Distant
Armoire robot
Mémoire Programme
Paramètres de configuration en mémoire
Répertoire Home
Clé USB
REST_ABB
Dans tous les cas, la sauvegarde ou la restauration sont à l'initiative de l'opérateur. En particulier, dans le cas d'une sauvegarde vers un PC distant, c'est l'armoire qui "pousse" les données sur le PC lors de la sauvegarde, et qui les "tire" lors de la restauration, sans passer par le répertoire REST_ABB. Ce principe vaut également pour les sauvegardes sur le serveur Oscar, et c'est là une différence importante par rapport au principe des sauvegardes Oscar qui existait en S4C et S4CPlus, où le PC Oscar venait "tirer" ou "pousser" le répertoire REST_ABB de manière asynchrone par rapport au backup initié par l'opérateur. RDDI 0052
Révision B
7
1 Principe des backups sur l'IRC5 1.2 Spécificités Promia
1.2
Spécificités Promia
Accès simplifié à la sauvegarde En plus de l'accès classique via le menu ABB, Promia met à disposition un écran de backup qui facilite la sauvegarde dans des répertoires prédéfinis configurables. Cet écran est décrit dans les notices utilisateur (chapitre Ecran Backup) et la définition des répertoires est décrite dans les guides d'intégration (chapitre Personnalisation de l'IHM).
1.3
Spécificités Renault
Implémentation d'Oscar Le pupitre Oscar dialogue avec les armoires IRC5 via le protocole FTP. Chaque armoire est associée à un nom de système robot, configuré dans Oscar. Ce nom est celui du répertoire qui contiendra les sauvegardes pour ce robot. Ce nom de système robot sert également, pour les échanges FTP, à définir le nom d'utilisateur et le mot de passe utilisés. La sauvegarde simplifiée vient alors créer un répertoire "Backup" dans l'arborescence ainsi définie dans le PC Oscar, sous le répertoire qui porte le nom du robot. La configuration de l'armoire robot pour Oscar comporte ainsi 3 étapes : 1/ définition des paramètres réseau (adresse, masque, passerelle) 2/ configuration des échanges FTP. Le répertoire du robot dans Oscar est ensuite visible de l'armoire robot sous le nom pc: 3/ configuration de la sauvegarde simplifiée, pour créer un répertoire "Backup", sur le PC Oscar.
8
RDDI 0052
Révision B
2 Configurations à réaliser 2.1 Etape 1 : Configuration de l'adresse réseau de l'armoire
2 Configurations à réaliser 2.1
Etape 1 : Configuration de l'adresse réseau de l'armoire
Mode opératoire ¾ Lancer l'application de boot en effectuant un démarrage X-Start.
Pour savoir comment effectuer un démarrage X-Start, se reporter à la section Redémarrage de la Notice d'utilisation du FlexPendant. ¾ Dans la fenêtre Boot Application, appuyer sur Settings. La boîte de dialogue de connexion réseau suivante apparaît.
RDDI 0052
Révision B
9
2 Configurations à réaliser 2.1 Etape 1 : Configuration de l'adresse réseau de l'armoire ¾ Sélectionner Use the following IP settings. Entrer l'adresse IP, le masque de sous-réseau et la passerelle par défaut : Entrer l'adresse et le masque fournis par l'usine. Dans l'exemple cidessus, respectivement 192.168.8.79 et 255.255.255.0 Pour l'adresse de la passerelle, utiliser impérativement la même adresse IP que celle de l'armoire robot. ¾ Appuyer sur OK pour enregistrer les nouveaux paramètres. ¾ Dans la fenêtre Boot Application, choisir Select System. Une boite de dialogue apparaît avec la liste des systèmes robot installés (en général il n'y en a qu'un). Sélectionner le nom du système robot à démarrer et fermer la boite de dialogue par la touche Close. ¾ Dans la fenêtre Boot Application, appuyer sur Restart Controller pour redémarrer l'armoire de commande robot et utiliser les nouveaux paramètres.
10
RDDI 0052
Révision B
2 Configurations à réaliser 2.2 Etape 2 : configuration de la communication
2.2
Etape 2 : configuration de la communication
Les armoires livrées sont fournies avec l'option Client FTP. Le canal physique et le protocole de transmission de la liaison sont déjà prédéfinis. Il reste à définir le protocole d'application. Mode opératoire
RDDI 0052
Révision B
Dans le menu ABB, sélectionner "Panneau de commande" puis "Configuration". Sélectionner ensuite "Rubriques" puis "Communication":
11
2 Configurations à réaliser 2.2 Etape 2 : configuration de la communication
12
Sélectionner "Application protocol", puis "Ajouter"
RDDI 0052
Révision B
2 Configurations à réaliser
2.2 Etape 2 : configuration de la communication Définir le nouveau protocole :
Nom du paramètre
Signification
Valeur
Remarque
Name
Nom du protocole
Oscar
Impératif Choisir dans la liste proposée.
Type
Type de protocole
FTP
Transmission Protocol
Protocole de transmission
TCPIP1
Server address
Adresse su serveur
xxx.xxx.xxx.xxx
Trusted
Sécurisé Chemin du répertoire du pupitre Oscar, vu de l'armoire robot
Local Path
Si le nom n'apparaît pas, l'option FTP n'est pas chargée, recharger le logiciel Choisir dans la liste proposée Entrer l'adresse du pupitre Oscar, fournie par l'usine.
No
Entrer la chaîne complète, y compris les points. Ne pas modifier
pc:
Ne pas modifier
Cette chaîne commence par "/C:/FTP/" et se poursuit par le nom du robot sur le pupitre Oscar
Server Path
Username
Password Memory partition size Maximum File Size
RDDI 0052
Révision B
Chemin sur le pupitre Oscar
Nom d'utilisateur utilisé par le protocole FTP Mot de passe utilisé par le protocole FTP Taille de la partition mémoire Taille maximale de fichier
/C:/FTP/aaaaaa
Ce nom du robot est à prendre dans le fichier Excel de paramétrage « OSCAR » dans la colonne « NOM SAUVEGARDE » voir guide GE03.PR.040.
aaaaaa
Utiliser le même nom de robot que ci-dessus
aaaaaa
Utiliser le même nom de robot que ci-dessus
300
Ne pas modifier
500
Ne pas modifier
13
2 Configurations à réaliser 2.2 Etape 2 : configuration de la communication Dans l'exemple ci-dessous, le nom du système est Rob_ABB_IRC5. Ce nom est à personnaliser suivant le paramétrage d'Oscar.
ces 3 champs identiques contiennent le nom du robot
14
Valider par OK. Redémarrer l'armoire robot.
RDDI 0052
Révision B
2 Configurations à réaliser 2.3 Etape 3 : configurer la sauvegarde backup simplifiée
2.3
Etape 3 : configurer la sauvegarde backup simplifiée
Mode opératoire
RDDI 0052
Révision B
Dans le menu ABB, sélectionner "Données du programme"
Sélectionner le type "BackupPath"
Les 3 chemins de sauvegardes sont vides par défaut. Sélectionner stNetWorkPath
15
2 Configurations à réaliser 2.3 Etape 3 : configurer la sauvegarde backup simplifiée
Définir le nom du répertoire de sauvegarde sur le PC Oscar. Ce nom est impérativement pc:/Backup
Valider par OK
Valider par OK
La configuration pour Oscar est terminée. Penser à faire un backup dans le répertoire REST_ABB.
16
RDDI 0052
Révision B
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar 3.1 Sauvegarde vers Oscar
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar REMARQUE IMPORTANTE
Les sauvegardes et restaurations doivent être réalisées avec le(s) programme(s) robot arrêté(s). 3.1
Sauvegarde vers Oscar
1/ Sur l'armoire robot L’accès à la commande de sauvegarde se fait depuis la barre de commande bleue, qui apparaît lors de l’appui sur le bouton en haut à gauche du panneau flottant de l’écran conteneur. Choisir Backup dans le menu Tronc Commun.
Backup
RDDI 0052
Révision B
17
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar 3.1 Sauvegarde vers Oscar Dans l'écran Backup, choisir la sauvegarde réseau (3ème icône de la barre de commande). Lancer l'opération de sauvegarde par le bouton au centre de l'écran.
NB : Le chemin de destination est celui configuré dans l'étape 3 ci-dessus.
2/ Sur le pupitre Oscar Une fois cette opération terminée, achever la procédure de sauvegarde en lançant les commandes appropriées sur le pupitre « OSCAR ».
18
RDDI 0052
Révision B
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar 3.2 Restauration depuis Oscar
3.2
Restauration depuis Oscar
1/ Sur le pupitre Oscar Lancer les commandes de restitution pour le robot. 2/ Sur l'armoire robot
L'accès à la restauration se fait par le menu ABB, "Sauveg. et Restaurer", puis "Restaurer le système…" :
RDDI 0052
Révision B
19
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar 3.2 Restauration depuis Oscar
Appuyer sur le bouton comportant … pour modifier le chemin de la source du backup à restaurer :
Appuyer sur la 2ème icône pour remonter l'arborescence:
20
RDDI 0052
Révision B
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar 3.2 Restauration depuis Oscar
Remonter ainsi l'arborescence jusqu'à arriver à la racine du système de fichiers :
Choisir le lecteur réseau, puis le répertoire Backup et valider par OK
RDDI 0052
Révision B
21
3 Réalisation des sauvegardes et restaurations vers et depuis Oscar 3.2 Restauration depuis Oscar
Lancer la restauration par la touche "Restaurer"
22
RDDI 0052
Révision B