- Schneider Electric
- TSXCSY85 Commande de Mouvements Module SERCOS®, Métiers Automates Premium
- Mode d'emploi
Schneider Electric TSXCSY85 Commande de Mouvements Module SERCOS®, Métiers Automates Premium Mode d'emploi
Ajouter à Mes manuels90 Des pages
▼
Scroll to page 2
of
90
PL7 Junior/Pro Métiers Automates Premium Commande de Mouvements Module SERCOS® TSX CSY 85 Manuel de Mise en Oeuvre Métiers 35008792.01 07/2008 fre www.schneider-electric.com 2 Table des matières A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Chapitre 1 Architecture SERCOS® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Présentation de l’architecture SERCOS® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Evolution des modules TSX CSY xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Evolution des services PL7 en fonction des versions des modules . . . . . . . . . . 15 Chapitre 2 Méthodologie de mise en oeuvre . . . . . . . . . . . . . . . . . . . . . . . 17 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise en oeuvre d’un axe indépendant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise en oeuvre d’un groupe d’axes coordonnés ou suiveurs . . . . . . . . . . . . . . . Chapitre 3 3.1 Chapitre 4 4.1 35008792.01 07/2008 17 18 20 22 Présentation des fonctionnalités du TSX CSY 85 . . . . . . . . . . 23 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation des spécificités du module TSX CSY 85 . . . . . . . . . . . . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation des spécificités du module TSX CSY 85 . . . . . . . . . . . . . . . . . . . . Le fonctionnement de l’instruction TRF_RECIPE . . . . . . . . . . . . . . . . . . . . . . . . Le fonctionnement de l’instruction WRITE_CMD . . . . . . . . . . . . . . . . . . . . . . . . Configuration d’un axe indépendant (voies 1 à 12). . . . . . . . . . . . . . . . . . . . . . . Configuration d’un profil de came . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration d’un groupe d’axes suiveurs (voies 21 à 24) . . . . . . . . . . . . . . . . 23 24 24 25 27 29 30 36 39 Fonctions d’interpolation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonction Calcul de trajectoire : TrjCompute (ACTION_TRF (26900) . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TrjCompute : fonction de calcul de trajectoire (ACTION_TRF = 26900) . . . . . . . Interpolation linéaire : type 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 3 : type 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 47 47 48 53 54 3 4.2 Annexes Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 5 : type 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Interpolation linéaire avec liaison selon une interpolation circulaire : type 10 . . . 62 Interpolation circulaire en indiquant le rayon : type 11. . . . . . . . . . . . . . . . . . . . . 67 Interpolation circulaire en indiquant le centre : type 12 . . . . . . . . . . . . . . . . . . . . 69 Interpolation axe tangentiel : type 100 ou 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Positionnement du maître et gestion de la vitesse . . . . . . . . . . . . . . . . . . . . . . . 74 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 GetTabResultF : résultat du calcul de trajectoire (ACTION_TRF = 16901). . . . . 75 MoveImmedInterpo : Variation de la vitesse du maître (ACTION_CMD = 905) . 79 GetMinimumConstantSpeed : obtention de la vitesse constante minimum possible (ACTION_TRF = 14905) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Annexe A Codes d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Codes d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Index 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 35008792.01 07/2008 A propos de ce manuel Présentation Objectif du document Ce manuel traite de la mise en oeuvre logicielle de la commande de mouvements spécifique au module SERCOS® TSX CSY 85. Dans ce manuel nous ne traiterons que les spécificités du module TSX CSY 85, dans tous les autres cas, le module TSX CSY 85 est identique au module TSX CSY 84, ces fonctionnalités sont décrites dans le manuel de mise en oeuvre du module TSX CSY 84. Note : tout ce qui s’applique au montage du module TSX CSY 84 est valable pour le module TSX CSY 85. Champ d'application Document à consulter Commentaires utilisateur 35008792.01 07/2008 Le module TSX CSY 85 est disponible pour des versions de PL7 supérieures ou égales à 4.5 et pour la version PL7 V4.4 mise à jour à l’aide du CDROM spécifique au TSX CSY 85. Titre Référence Manuel de mise en oeuvre métier SERCOS® TSX CSY 84 / 164 TLX DS 57 PL7 xx F tome 6 Manuel de mise en oeuvre matériellec ommande de mouvement TSX DM 57 xx F Manuel de mise en oeuvre logiciel PL7 TSX DOC PL7 V44 F Envoyez vos commentaires à l'adresse e-mail techpub@schneider-electric.com 5 A propos de ce manuel 6 35008792.01 07/2008 Architecture SERCOS® 1 Présentation Objet du chapitre Ce chapitre présente de manière succincte la liaison numérique entre un maître et des esclaves, définie par la norme EN 61491 "Liaison des données sérielles pour la communication en temps réel entre unités de commande et dispositifs d’entraînement". Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Introduction Présentation de l’architecture SERCOS® 35008792.01 07/2008 Page 8 10 Evolution des modules TSX CSY xxx 12 Evolution des services PL7 en fonction des versions des modules 15 7 Architecture SERCOS Introduction Liaison numérique La liaison numérique entre un module de commande d’axes (maître) et des variateurs de vitesse intelligents (esclaves) est définie par la norme Européenne EN 61491, concernant les équipements électriques des machines industrielles. L’utilisation d’une architecture distribuée permet de raccorder les entrées/sorties application (codeur de position, arrêt d’urgence, ...) directement sur les variateurs de vitesse, ce qui limite les coûts de câblage. La liaison par fibre optique permet des échanges à grande vitesse (2 ou 4 MHz) et assure une immunité aux parasites. Données échangées Identification des objets échangés Les données échangées via la liaison numérique sont de 2 types : des données cycliques échangées entre le maître et les esclaves (commande de position, ...) ou entre les esclaves et le maître (mesure de position, ...). L’échange de données cycliques, entre le maître et chaque esclave, est limité à 8 objets en lecture et 8 objets en écriture, tous les cycles SERCOS®. z des données non cycliques : commandes complexes, écriture ou lecture de paramètres, ... Pour chaque cycle, ces échanges s’effectuent au moyen de 2 octets réservés en lecture et 2 octets réservés en écriture. Plusieurs cycles sont donc nécessaires pour échanger un objet (par exemple, pour effectuer la lecture d’un paramètre). z Tous les objets sont accessibles au travers d’un numéro d’identification : IDN. La norme permet d’identifier 31768 objets, parmi lesquels elle en spécifie environ 300 (par exemple, IDN 40 = valeur de la vitesse). Tous les objets comprennent les champs suivants : Nom (64 caractères au maximum), attribut, unité, valeur maximale, valeur minimale, valeur. 8 35008792.01 07/2008 Architecture SERCOS Modes de marche Les modes de marches du bus suivent les 5 phases suivantes : Au démarrage : Phase Mode de marche Phase 0 Test du bus en anneau. Les variateurs de vitesse sont en mode répéteur. Phase 1 Détermination des esclaves présents sur le bus. Phase 2 Configuration système des variateurs de vitesse. Phase 3 Programmation des échanges cycliques. Paramétrage des variateurs de vitesse. En fonctionnement normal : Phase Mode de marche Phase 4 Echanges cycliques actifs. Chaque variateur de vitesse servant de répéteur sur le bus, une coupure d’alimentation, un défaut de communication, un défaut sur l’un des variateur de vitesse ou la coupure du bus provoque le passage en phase 0. Note : certains paramètres (IDN) ne sont accessibles qu’en phase 3 (se reporter à la norme EN 61491). Les fonctions GetActualPhase, GetCommandedPhase et SetCommandedPhase permettent de connaître la phase en cours et de se positionner en phase 3. 35008792.01 07/2008 9 Architecture SERCOS Présentation de l’architecture SERCOS® Synoptique Le synoptique de l’architecture SERCOS® est le suivant : Module de commande d’axes TSX CSY 84 / 85 / 164 Bus en anneau Variateurs de vitesse Moteurs PL7 Junior/Pro + UniLink TjE (TSX CSY 85) Présentation de l’offre Premium 10 L’offre Premium se compose : de la gamme des automate Premium (rack, alimentation, processeur, ...) : TSX/PCX/PMX 57 version logicielle ≥ V3.3 minimum, z de modules de commande d’axes TSX CSY 84 ou TSX CSY 85 pouvant piloter jusqu’à 8 variateurs de vitesse, au travers du bus en anneau, z de la gamme des variateurs de vitesse Lexium 17S (4 A à 56 A) : LXM 17S, z de la gamme de moteurs : BPH..., z du logiciel UniLink, qui permet de paramétrer et de régler les variateurs de vitesse. z du logiciel PL7 Junior/Pro version minimum SV 3.4 + complément fonctionnel C ou SV > 3.4 pour le TSX CSY 84, z du logiciel PL7 Junior/Pro version minimum SV 4.3 + Add-on Motion TSX CSY 164 ou SV ≥ 4.4 pour le TSX CSY 164. z du logiciel PL7 Junior/Pro version minimum SV 4.4 + Add-on Motion TSX CSY 85 ou SV ≥ 4.5 pour le TSX CSY 85. z 35008792.01 07/2008 Architecture SERCOS Synoptique fonctionnel Le synoptique suivant présente les différentes fonctions réalisées par le module de commande d’axes et par les variateurs de vitesse : UniLink PL7 Junior/Pro TjE Automate TSX/PCX/PMX 57 Programme application Variateur de vitesse Lexium 17S TSX CSY Bus X 84 / 85 / 164 Calcul de trajectoire Moteur BPH Boucle de position Interpolation Boucle de Bus en anneau Vitesse Position Note : il est possible d’utiliser un variateur de vitesse, autre que ceux proposés dans la gamme Premium. Dans ce cas, il sera configuré par son logiciel de configuration et non par UniLink. Fonctions réalisées par les différents modules Les modules de commande d’axes TSX CSY 84 / 85 / 164 réalisent le calcul de trajectoire et l’interpolation de plusieurs axes. Le variateur de vitesse gère les boucles de position, de vitesse et de couple. Il assure également la conversion de puissance afin de piloter le moteur. Les informations du codeur sont envoyées au variateur de vitesse (position courante, vitesse en cours). Les échanges entre l’automate et le module de commande d’axes s’effectuent au travers du bus X en fond de rack Les échanges entre le module de commande d’axes et les variateurs utilisent le bus en anneau SERCOS®. 35008792.01 07/2008 11 Architecture SERCOS Evolution des modules TSX CSY xxx 12 35008792.01 07/2008 Architecture SERCOS Présentation La version du module est affichée : z z sur l’étiquette se trouvant sur le côté du module, dans la zone module des écrans de mise au point en mode connecté. CSY 84 CSY 84 CSY 84 CSY 85 V1.1 V1.2 V1.3 V1.0 CSY 164 V1.0 CSY 164 V1.1 Possibilité de fermer la boucle de position via un codeur incrémental ou SSI sur les variateurs Lexium 17S et 17HP (1) (Non documenté) X X X X X X Possibilité de commuter la commande position en couple (1) et (2) (Non documenté) X X X X X X Possibilité de commuter la commande position en commande vitesse (1) et (2) (Non documenté) X X X X X X Lire ou écrire les paramètres du variateur X X X X X X Boucle de position avec codeur externe (1) X X X X X X Mode Torque (1) X X X X X X Mode Vitesse (1) X X X X X X X Mode Manuel (4) X X X X Comportement sur défaut ou dévalidation d’un axe indépendant (FREEWHEEL_STOP) (3)) X X X X Propagation des arrêts dans un groupe suiveur X X X X Fonction d’alignement des pentes d’arrêts d’urgence X X X X Choix du comportement d’arrêt sur ordre de verrouillage X X X X Arrêt d'un axe membre d'un groupe suiveur à une position absolue après un Unlink X X X Arrêt d'un axe membre d'un groupe suiveur à une position absolue X X X Fonction "activation de suivi sur cible" X X X Service compteur de Modulo X X X Passage des paramètres ACC et DEC dans le MOVE X X X Arrêt de suivi (Unlink) du groupe suiveur déclenché par un trigger X X X Configuration dynamiques des voies indépendantes X X Reconfiguration dynamique des groupes X X Fonction de surveillance des écarts entre axes X X Fonctions spécifiques d’interpolation (5) 35008792.01 07/2008 X 13 Architecture SERCOS CSY 84 CSY 84 CSY 84 CSY 85 V1.1 V1.2 V1.3 V1.0 Fonctions spécifiques de cames (5) CSY 164 V1.0 CSY 164 V1.1 X (1) Nécessite une modification des fichiers des modules TSX CSY 84/85/164 (Sercos.cfg). (2) Nécessite une version minimale pour les variateurs Lexium ( MHDS xxxxN 00 ≥ SV 1.3, MHDA xxxx ≥ SV 1.4 ) pas de restriction pour les Lexium HP et Lexium option AS. (3) Nécessite une version minimale pour les variateurs Lexium MHDx 5.51. (4) Nécessite la version PL7 SV4.3 minimale pour obtenir les écrans de mise au point. (5) Nécessite la version PL7 SV4.5 ou la version PL7 SV4.4 avec Add-on motion TSX CSY 85. 14 35008792.01 07/2008 Architecture SERCOS Evolution des services PL7 en fonction des versions des modules Illustration Configuration TSX CSY 84 PL7 3.4 + Add-On C PL7 4.0 + Add-On Motion PL7 4.1 PL7 4.2 PL7 4.3 PL7 4.3 + Add-On Motion PL7 4.4 + Add-On Motion PL7 4.5 X X X X X X X Ecrans de Mise au point TSX CSY 84 X X X X X X Ecrans de réglage TSX CSY 84 X X X X X X X X X X X X X X X Ecrans de mode manuel TSX CSY 84 Configuration du TSX CSY 164 Configuration du TSX CSY 85 35008792.01 07/2008 15 Architecture SERCOS 16 35008792.01 07/2008 Méthodologie de mise en oeuvre 2 Présentation Objet du chapitre Ce chapitre décrit la méthodologie globale pour mettre en oeuvre un mouvement d’axe indépendant ou d’axes interpolés. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 35008792.01 07/2008 Sujet Page Introduction 18 Mise en oeuvre d’un axe indépendant 20 Mise en oeuvre d’un groupe d’axes coordonnés ou suiveurs 22 17 Méthodologie de mise en oeuvre Introduction Fonctionnalités du module TSX CSY 85 Le module TSX CSY 85 permet de réaliser les fonctionnalités suivantes : z z z z z 8 axes réels connectés à un variateur de vitesse (voies 1 à 8), 4 axes imaginaires (voies 9 à 12), 4 axes à entrée de mesure externe (voies 13 à 16), 4 groupes d’axes coordonnés (voies 17 à 20). Chaque groupe permet l’interpolation linéaire de 2 à 8 axes, 4 groupes d’axes suiveurs (voies 21 à 24). Chaque groupe peut être composé au maximum de 7 axes : 1 axe maître et 6 axes esclaves. Note : les fonctionnalités en gras sont les seules nécessaires pour mettre en oeuvre la fonction de trajectoire interpolée spécifique au module TSX CSY 85. Note : Le module TSX CSY 85 propose également 7 profils de came (voies 25 à 31). Axe réel Un axe réel est un axe physique qui pilote un variateur de vitesse au travers du bus en anneau SERCOS®. Axe imaginaire Un axe imaginaire n’est pas un axe physique. Il peut être utilisé pour coordonner les mouvements de plusieurs axes physiques. Par exemple, un axe imaginaire peut être l’axe maître d’un groupe suiveurs. Un axe imaginaire peut également être utilisé en phase de réglage ou de mise au point pour simuler un axe réel maître indépendamment du procédé. Axe à mesure externe 18 Un axe à mesure externe permet de remonter au module une information de position externe. Typiquement le module TSX CSY 85 a besoin d’effectuer un suivi de position à partir d’un codeur piloté par un mécanisme externe et raccordé sur l’entrée de position auxiliaire du variateur de vitesse. 35008792.01 07/2008 Méthodologie de mise en oeuvre Groupe d’axes coordonnés Un groupe d’axes coordonnés se compose d’axes qui se déplacent en coordination les uns des autres. Un des axes du groupe, défini comme le maître de la coordination, sert de référence en vitesse pour le déplacement du groupe. L’accélération et la vitesse des autres axes coordonnés seront calculés pour que tous les axes effectuent leur déplacement en même temps. Groupe d’axes suiveurs Un groupe d’axes suiveurs se compose d’un axe maître et d’axes esclaves qui suivent les mouvement de l’axe maître. Il existe 2 manière de suivre l’axe maître : z z en mode ratio : chaque axe esclave suit l’axe maître suivant un rapport défini en configuration et appelé Rapport suiveur. Par exemple, la position de l’esclave est égale à celle du maître multiplié par un rapport x, en mode came : les axes esclaves suivent l’axe maître suivant un profil de came. Un profil de came permet de réaliser une came électronique, afin de simplifier la programmation de mouvements complexes. Une table de points permet de définir la position de l’esclave en fonction de celle du maître. 35008792.01 07/2008 19 Méthodologie de mise en oeuvre Mise en oeuvre d’un axe indépendant Introduction Un axe indépendant peut être soit un axe réel connecté à un variateur de vitesse, soit un axe imaginaire, soit un axe à mesure externe. Les groupes d’axes suiveurs ou coordonnés sont composés d’un ensemble d’axes indépendants (donc réel, imaginaire ou à mesure externe). Méthodologie de mise en oeuvre d’un axe réel Avant de mettre en oeuvre un axe réel, il faut que la voie 0 soit valide (tous les bits ALLOW de la voie 0 : %Qxy.0.18 et %Qxy.0.26 à %Qxy.0.31 sont à l’état 1). La méthodologie de mise en oeuvre d’un axe réel s’effectue en 3 phases : Phase 1 : configuration du variateur de vitesse, en utilisant le logiciel UniLink, création de la trajectoire en utilisant le logiciel TjE (Trajectory Editor), z Phase 2 : configuration du module TSX CSY 85, en utilisant l’éditeur de configuration PL7 (déclaration du module et configuration des paramètres pour tous les axes utilisés), z Phase 3 : écriture du programme application, transfert de ce programme dans l’automate, transfert des données de trajectoire dans l’automate et mise au point de l’application. z Note : La validation du variateur par le logiciel Unilink inhibe les commandes du module vers le variateur. Aussi, est-il nécessaire de dévalider le variateur avant de quitter le logiciel Unilink. Méthodologie de mise en oeuvre d’un axe imaginaire Un axe imaginaire n’est pas connecté à un variateur de vitesse (ce n’est pas un axe physique). En dehors des opérations liées au variateur de vitesse qui n’existe pas, la mise en oeuvre d’un axe imaginaire s’effectue de la même manière que pour un axe réel. Méthodologie de mise en oeuvre d’une entrée de mesure externe Une entrée de mesure externe a beaucoup moins de fonctions que les autres types d’axes indépendants. Sa mise en oeuvre est identique à celle d’un axe réel ou imaginaire dans lequel seule l’information de position est à configurer. Toutes les opérations liées au variateur de vitesse ou à la programmation d’un mouvement n’existe donc pas. 20 35008792.01 07/2008 Méthodologie de mise en oeuvre Méthodologie de mise en oeuvre d’un axe réel Synoptique Début Mode local (Conception) TjE pour TSX CSY 85 UniLink Déclaration du module PL7 Junior/Pro Editeur de dans la configuration configuration automate Configuration des axes réels (esclaves), virtuel (maître) et groupe d’axes Configuration des PL7 Junior/Pro fonctions et paramétrage Editeur de des axes utilisés configuration Edition et visualisation de la trajectoire Programmation des mouvements dans l’application globale Configuration des paramètres du variateur de vitesse et du moteur résolveur PL7 Junior/Pro Editeur de programme PL7 Junior/Pro Transfert des données Transfert de Mode Transfert dans l’application ou la l’application dans la mémoire de l’automate mémoire de l’automate Mode connecté Mode connecté Réglage des paramètres PL7 Junior/Pro au travers de codes opératoires (paramètres communs, module et variateurs de vitesse) 35008792.01 07/2008 Phase 1 Phase 2 Tests et mise au point PL7 Junior/Pro (variateurs de vitesse Mode mise au point et bus en anneau) Chargement des paramètres des drives dans l’automate. Edition du dossier Exploitation PL7 Junior/Pro Editeur de documentation Réglage des paramètres des variateurs de vitesse. Paramètres sauvegardés dans les variateurs ou dans l’automate l’automate UniLink UniLink Oscilloscope Phase 3 PL7 ou pupitre de contrôle Fin 21 Méthodologie de mise en oeuvre Mise en oeuvre d’un groupe d’axes coordonnés ou suiveurs Groupe d’axes coordonnés Les axes coordonnés sont des axes réels ou imaginaires. Mettre en oeuvre un groupe d’axes coordonnés consiste donc à mettre en oeuvre les axes réels (méthodologie décrite pages précédentes) puis le groupe. Groupe d’axes suiveurs Dans un groupe d’axes suiveurs, l’axe maître peut être réel, imaginaire ou à mesure externe et les axes esclaves peuvent être réels ou imaginaires. La mise en oeuvre d’un groupe d’axes suiveurs revient donc à mettre en oeuvre les axes indépendants qui composent ce groupe, suivant la méthodologie décrite aux pages précédentes, puis le groupe. 22 35008792.01 07/2008 Présentation des fonctionnalités du TSX CSY 85 3 Présentation Objet de ce chapitre Ce chapitre présente les fonctionalités spécifiques du module TSX CSY 85. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 3.1 35008792.01 07/2008 Sujet Présentation des spécificités du module TSX CSY 85 Page 24 23 Présentation fonctionnalités 3.1 Présentation des spécificités du module TSX CSY 85 Présentation Objet de ce souschapitre Ce sous-chapitre présnete les spécificités du module TSX CSY 85. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Présentation des spécificités du module TSX CSY 85 24 Page 25 Rappels sur le fonctionnement de l’instruction TRF_RECIPE 27 Rappels sur le fonctionnement de l’instruction WRITE_CMD 29 Configuration d’un axe indépendant (voies 1 à 12) 30 Configuration d’un profil de came 36 Configuration d’un groupe d’axes suiveurs (voies 21 à 24) 39 35008792.01 07/2008 Présentation fonctionnalités Présentation des spécificités du module TSX CSY 85 Introdutcion Comme nous l’avons vu précédemment, le module TSX CSY 85 est en tout point identique au module TSX CSY 84 hormis une série de fonctionnalités logicielles d’interpolation. A l’aide du logiciel d’édition de trajectoires TjE, ces nouvelles fonctionnalités vont permettre, à partir de quelques points (60 points de références maximum), de créer aiséement des trajectoires complexes associées à des groupes de 2 ou 3 axes. Un nombre maximum de 7 profils de came est disponible sur ce module par conséquent il est possible de gérer un maximum de 2 groupes de 3 axes ou bien 3 groupes de 2 axes. Les groupes étant indépendants et fonctionnant en simultané. Les trajectoires sont crées à l’aide de points définissant des segments suivant les types d’interpolation : z z z z linéaire stricte, linéaire avec liaison par interpolation polynomiale (cubique ou de degré 5), linéaire avec liaison par interpolation circulaire, circulaire. Note : le logiciel d’édition de trajectoire est fourni avec le CD TSX CSY 85 fonction trajectoire incluant : z PL7 V4.4 Add-on motion TSX CSY 85, z le logiciel TjE (outils d’édition de trajectoire), z le guide utilisateur du TjE. 35008792.01 07/2008 25 Présentation fonctionnalités Principe La trajectoire est crée par l’association d’axes réels esclaves à un axe maître par l’intermédiare d’un groupe d’axe suiveurs. Des profils de cames (table de 5000 points maîtres maximum pour 4996 points maîtres réels) sont automatiquement calculés pour obtenir cette trajectoire. Description du principe : z z z z A partir de la table d’interpolation, les profils de came associés à chaque axe esclave sont calculés par l’algorithme interne du module. Les axes esclaves sont associés à l’axe maître. Par la programmation des axes esclaves à l’aide de la fonction standard TRF_RECIPE et des paramètres spécifiques à chaque type d’interpolation la trajectoire du maître est calculée. Ensuite, la gestion de la trajectoire du maître (en manuel ou automatique, par programmation ou interface utilisateur) permet d’obtenir instantanément les positions sur chaque axe esclave associé. Note : l’algorithme d’interpolation permet de créer des trajectoires avec positionnement en absolu (origine de la trajectoire égale à l’origine des axes) ou en positionnement relatif (le mouvement est effectué à partir de la position courante sur l’axe). Note : les nouvelles fonctions proposées sont également en mesure de déterminer la vitesse maximum autorisée sur l’axe maître et par conséquent sur chaque axe pour chaque segment de la trajectoire mais aussi d’effectuer le mouvement complet à la vitesse maximum possible (vitesse constante sur la somme des trajectoires) en tenant compte des accélérations maximum supportées par les moteurs selon la dynamique de la trajectoire. 26 35008792.01 07/2008 Présentation fonctionnalités Rappels sur le fonctionnement de l’instruction TRF_RECIPE Rappel Cette instruction permet avec la fonction "Axe réel", de lire ou d’écrire les paramètres des variateurs de vitesse. Note : vous pouvez également lire ou d’écrire les profils de came et lancer l’exécution de fonctions spéciales. Syntaxe de l’instruction TRF_RECIPE TRF_RECIPE %CHxy.i (longueur, adresse %MW) : transfert des paramètres du variateur de vitesse, du profil de came, ou des paramètres d’une fonction spéciale dans ou à partir de la table qui débute à l’adresse %MW. La longueur de cette table à transférer est définie par le paramètre longueur. L’action a exécuter est définie par le mot %MWxy.i.10 (ACTION_TRF). Exemple : TRF_RECIPE %CH104.3(10,100) (chargement des paramètres du variateur de vitesse de l’axe réel 3, du module situé en position 4 du rack 1, dans la table de longueur 10, qui débute à l’adresse %MW100). Interface TRF_RECIPE 35008792.01 07/2008 La commande à réaliser est définie dans le mot %MWxy.i.10 et le résultat de la commande est disponible dans le mot %MWxy.i.3 à %MWxy.i.8. Adresse Type Symbole Signification %MWxy.i.3 Mot ERROR_TRF Erreur d’écriture de la commande TRF_RECIPE %MDxy.i.4 Double Mot RETURN_TRF_1 Retour 1 de la fonction %MFxy.i.6 Flottant RETURN_TRF_2 Retour 2 de la fonction %MFxy.i.8 Flottant RETURN_TRF_3 Retour 3 de la fonction %MWxy.i.10 Mot ACTION_TRF Action à réaliser %MDxy.i.11 Double Mot PARAM_TRF_1 Paramètre 1 %MDxy.i.13 Double Mot PARAM_TRF_2 Paramètre 2 %MFxy.i.15 Flottant PARAM_TRF_3 Paramètre 3 %MFxy.i.17 Flottant PARAM_TRF_4 Paramètre 4 27 Présentation fonctionnalités Actions réalisées par TRF_RECIPE Les actions qu’il est possible de réaliser avec le service TRF_RECIPE sont : Fonction ACTION_TRF (%MWxy.i.10) Signification Axe réel (1) 14905 Nouvelle fonctionnalité du TSX CSY 85 : lecture de la vitesse minimum possible de la trajectoire en fonction des tables d’interpolation envoyées au module par l’intermédiaire du code 26900. Axe réel (1) 16001 Chargement des paramètres du variateur de vitesse dans la mémoire automate. Groupe d’axe 16901 Nouvelle fonctionnalité du TSX CSY 85 : lecture des paramètres du mouvement suite à un calcul de trajectoire (code 26900). z positions clef du maître, z vitesse maximum possible, z vitesse calculée (vitesse réellement utilisée). Axe réel (1) 26001 Déchargement des paramètres du variateur de vitesse, à partir de la mémoire automate. Groupe d’axe (1) 26900 Nouvelle fonctionnalité du TSX CSY 85 : calcul des trajectoires selon les segments d’interpolations donnés commes paramètres d’entrée. Légende (1) 28 PARAM_TRF_1 à PARAM_TRF_4 = 0 35008792.01 07/2008 Présentation fonctionnalités Rappels sur le fonctionnement de l’instruction WRITE_CMD Rappel Ce service permet d’émettre une commande vers le module de commande d’axes. WRITE_CMD : écriture explicite des mots de commande dans le module. Cette opération s’effectue à partir de mots internes %MW qui contiennent la commande à réaliser et ses paramètres (par exemple, une commande de mouvement). Syntaxe de l’instruction WRITE_CMD Interface WRITE_CMD Contrôle de l’échange 35008792.01 07/2008 WRITE_CMD %CHxy.i : écriture des informations de commande de la voie i, du module situé à l’adresse xy (numéro de rack, position dans le rack). Exemple : WRITE_CMD %CH3.1 (écriture des informations de commande de la voie 1, du module situé en position 3 du rack 0). La commande à réaliser est définie dans le mot %MWxy.i.26 et le résultat de la commande est disponible dans les mots %MWxy.i.19 à %MWxy.i.24 Adresse Type Symbole Signification %MWxy.i.19 Mot ERROR_CMD Erreur d’écriture de la commande WRITE_CMD %MDxy.i.20 Double Mot RETURN_CMD_1 Retour 1 de la fonction %MFxy.i.22 Flottant RETURN_CMD_2 Retour 2 de la fonction %MFxy.i.24 Flottant RETURN_CMD_3 Retour 3 de la fonction %MWxy.i.26 Mot ACTION_CMD Action à réaliser %MDxy.i.27 Double Mot PARAM_CMD_1 Paramètre 1 %MDxy.i.29 Double Mot PARAM_CMD_2 Paramètre 2 %MFxy.i.31 Flottant PARAM_CMD_3 Paramètre 3 %MFxy.i.33 Flottant PARAM_CMD_4 Paramètre 4 Les 2 bits suivants peuvent être utilisés pour contrôler l’écriture des informations de commande dans le module : Bit Signification %MWxy.i.0:X1 Ce bit est positionné à 1 lorsque l’échange est en cours. Il est remis à 0 lorsque l’échange est terminé. %MWxy.i.1:X1 Ce bit est positionné à 1 si les paramètres transmis sont hors bornes ou erronés. 29 Présentation fonctionnalités Configuration d’un axe indépendant (voies 1 à 12) Introduction Vous devez configurer le module TSX CSY 85 à l’aide du logiciel PL7. Un axe indépendant est soit un axe réel (voies 1 à 8), soit un axe imaginaire (voies 9 à 12). La configuration d’un axe réel va permettre de piloter un axe physique (qui utilise un variateur de vitesse). Dans ce cas, il est nécessaire d’assurer une certaine cohérence entre les paramètres saisis dans l’écran de configuration du module TSX CSY 85 et ceux définis lors de la configuration du variateur de vitesse. Tout d’abord effectuez la configuration des axes indépendants, deux ou trois axes réels et un axe qui sera utilisé ensuite comme maître des axes réels qui seront configurés ensuite comme axes suiveurs. Pour pouvoir utiliser les nouvelles fonctions d’interpolation décrites dans la suite de cette documentation vous devez respecter les règles suivantes : z z z z 30 Les unités de mesure (pour les axes réels) sont exclusivement les suivantes : z Type = Linéaire, z Position = mm, z Vitesse = mm/s, 2 z Accélération = mm/s Les paramètres limites : Vitesses max., Accélération max. et Décélération max. de la zone Butées sont utilisées par l’algorithme d’interpolation afin de calculer les vitesses possibles sur chaque segment de la trajectoire. Utilisez ces valeurs pour remplir les paramètres de la zone Mouvement tel que : z Accélération max. = Accélération. z Décélaration max. = Décélération. La configuration de l’axe, futur maître de la trajectoire, doit respecter les conditions suivantes : z Vitesse max. = somme vectorielle des vitesses maximum de chaque axe réel de la trajectoire (axes suiveurs). z Accélération et décélération = minimums respectifs des accélérations et décélérations des axes réels de la trajectoire. 35008792.01 07/2008 Présentation fonctionnalités Ecran de configuration L’écran de configuration d’un axe indépendant est le suivant. Il propose 5 zones de saisie des paramètres : Butées, Contrôle de position en validation, Unités, Facteur d’échelle et Mouvement. TSX CSY 85 [RACK0 POSITION 3] Configuration Désignation : 8 AXIS N4 MOTION.CONT Symbole : Voie : Fonction : 1 Réel Axe réel Voies configurées : 0, 1, 14, 15, 17, 22, 27 Butées Contrôle de position Position max. 3.000000e+002 Position min. -3.000000e+002 Vitesse max. 1.000000e+005 Accélération max 1.000000e+001 Décélération max 1.000000e+001 Ctrl. de position en validation Actif Tolérance 0.000000e+000 35008792.01 07/2008 Tâche : MAST Unités Type Linéaire Position Vitesse mm mm/s mm/s² Accélération Facteur d’échelle Numérateur 1.000000e+000 Dénominateur 1.000000e+000 Mouvement Modulo Modulo max. Modulo min. 2.000000e+001 -2.000000e+001 Fenêtre au point 7.000000e+000 Accélération 1.000000e+001 Décélération 1.000000e+001 Type d’accélération Trapèze 125 % 31 Présentation fonctionnalités Paramètres de la zone Butées Description : Paramètres Description Contrôle de position Dans le cas d’une machine bornée, cette case à cocher permet d’activer le contrôle des butées (limites) de position. La position de l’axe est comparée avec les butées de position définies en configuration. Lorsque l’axe atteint l’une de ces butées, son mouvement est arrêté et un défaut est généré. Dans le cas d’un axe infini, cette case ne doit pas être cochée. Position max. Butée de position maximale. Cette valeur est saisie en flottant. Position min. Butée de position minimale. Cette valeur est saisie en flottant. Vitesse max. Vitesse maximale autorisée. Cette valeur est indépendante de celle définie dans le variateur de vitesse (axe réel). Cette valeur est saisie en flottant. Lorsque la vitesse maximale est configurée à la valeur 0, le contrôle de vitesse n’est plus validé. Accélération max. Accélération maximale autorisée. Cette valeur est indépendante de celle définie dans le variateur de vitesse (axe réel). Cette valeur est saisie en flottant. Décélération max. Décélération maximale autorisée. Cette valeur est indépendante de celle définie dans le variateur de vitesse (axe réel). Cette valeur est saisie en flottant. Paramètres de la zone Contrôle de position en validation 32 Description : Paramètres Description Actif Cette case à cocher permet de valider le contrôle de position. Lorsque l’axe est désactivé : z si son déplacement est inférieur à la tôlérance, celui-ci revient à sa position précédente, sur réactivation de l’axe z si son déplacement est supérieur à la tôlérance, celui-ci reste à sa nouvelle position, sur réactivation de l’axe. Tolérance Valeur de la fenêtre de contrôle. Cette valeur est saisie en flottant. 35008792.01 07/2008 Présentation fonctionnalités Paramètres de la zone Unités Descirption : Paramètres Description Type Type d’unités physiques dans lesquelles sont exprimées les mesures de position, de vitesse et d’accélération : Angulaires, Linéaires, Linéaires anglais ou Points codeur. Position Unité de position. z Angulaire : mrad, rad, deg, arcmin, tours, z Linéaire : μm, mm, cm, m z Linéaire anglais : in, ft, yd, mil z Points codeur : points. Vitesse Unité de vitesse. z Angulaire : mrad/s, rad/s, rad/mim, deg/s, deg/min, arcmin/s, tours/s, tours/min z Linéaire : μm/s, mm/s, mm/min, cm/s, cm/min, m/s, m/min z Linéaire anglais : in/s, in/min, ft/s, ft/min, yd/min, mil/s z Points codeur : points/ms, points/s, points/min Accélération Unité d’accélération. z Angulaire : mrad/s2, rad/s2, deg/s2, arcmin/s2, tours/s2, tours/min/s z Linéaire : μm/s2, mm/s2, cm/s2, m/s2, m/min2, g’s z Linéaire anglais : in/s2, ft/s2, yd/min2, mil/s2 z Points codeur : points/ms2, points/s2 Paramètres de la zone Facteur d’échelle 35008792.01 07/2008 Description : Paramètre Description Numérateur Numérateur du facteur d’échelle. Cette valeur est saisie en flottant. Dénominateur Dénominateur du facteur d’échelle. Cette valeur est saisie en flottant. 33 Présentation fonctionnalités Paramètres de la zone Mouvement Remise à l’échelle Description : Paramètre Description Modulo Dans le cas d’un axe infini, cette case à cocher permet d’activer la fonction modulo. Modulo max. Limite haute du modulo. Cette valeur est saisie en flottant. Modulo min. Limite basse du modulo. Cette valeur est saisie en flottant. Fenêtre au point Valeur de la fenêtre au point. Cette valeur est saisie en flottant. Accélération Valeur d’accélération définie pour un mouvement. Cette valeur est saisie en flottant. Décélération Valeur de décélération définie pour un mouvement. Cette valeur est saisie en flottant. Type d’accélération Type d’accélération : Rectangle 100%, Trapèze 125%, Trapèze 150%, Trapèze 175% ou Triangle 200%. Pour un variateur dont la position est définie en unité angulaire : degrés, le module effectue une remise à l’échelle, selon sa référence qui est en tours et sa vitesse en tours/seconde. Par exemple, si l’on configure l’axe en type angulaire avec un facteur d’échelle de 1/1 : z unité de position en tours et unité de vitesse en tours/s : un mouvement incrémental de position 1 et de vitesse 1 exécutera 1 tour en 1 seconde, z unité de position en degrés et unité de vitesse en tours/min : un mouvement incrémental de position 360 et de vitesse 60 exécutera 1 tour en 1 seconde. Changement du type d’unités Lorsque l’on change de type d’unités par rapport au variateur qui reste en tours, l’unité de référence du module est le mm (pour le type linéaire) et le inch (pour le type linéaire anglais). Le module réalise une transformation égale à : z 1 tour pour le variateur = 1 mm pour le module (type linéaire), z 1 tour pour le variateur = 1 inch pour le module (type linéaire anglais). Par exemple, si l’on configure l’axe en type linéaire avec un facteur d’échelle 1/ 1 : z unité de position en mm et unité de vitesse en mm/s : un mouvement incrémental de position 1 et de vitesse 1 exécutera 1 tour en 1 seconde, z unité de position en mm et unité de vitesse en mm/s : un mouvement incrémental de position 1000 et de vitesse 1000 exécutera 1 tour en 1 seconde (soit 1000 mm en 1 seconde). 34 35008792.01 07/2008 Présentation fonctionnalités Utilisation du facteur d’échelle 35008792.01 07/2008 Soit une application où l’axe fait avancer un tapis, tel que 1 tour de l’axe fait avancer le tapis de 100 mm. Si l’on désire exprimer la position en mm : z l’unité de position sera configurée en mm, la vitesse en mm/s, le numérateur du facteur d’échelle sera égal à 100 et le dénominateur restera à 1, z un mouvement incrémental de position 1000 et de vitesse 1000 exécutera un déplacement du tapis de 1 m (soit 10 tours de l’axe) en 1 seconde (vitesse 1000 mm/s). 35 Présentation fonctionnalités Configuration d’un profil de came Introduction Un profil de came (voies 25 à 31) permet de définir par une table de points, la position d’un axe esclave, en fonction de celle de l’axe maître. Pour utiliser les fonctions d’interpolation du module TSX CSY 85 vous devez donc définir un profil de came par axe réel de la trajectoire et respecter les règles suivantes : z z z z Type d’interpolation = Linéaire, Nb. points = nombre de points de la trajectoire sur l’axe concerné + 5. Incrément Maître : z Unité = mm, z Incrément Fixe, z Valeur de démarrage = 0.0, z Incrément = 1.0, Incrément esclave : z Unité = mm, z Incrément Fixe, z Valeur de démarrage = 0.0, z Incrément = 1.0. Note : le nombre de points des profils de came d’axes de même groupe doivent être identiques. Si ce nombre est trop faible, le module renvoie le code d’erreur 5. Le nombre total de points configurés pour les cames influent sur le temp de calcul de l’interpolation (environ 1 seconde pour 100 points configurés. Le nombre maximum de points pour un module TSX CSY 85 est de 10000. Par conséquent il est conseillé d’utiliser un nombre de points minimum qui permet d’obtenir une trajectoire suffisamment précise. 36 35008792.01 07/2008 Présentation fonctionnalités Exemple de configuration L’écran de configuration d’un profil de came sur le module TSX CSY 85 propose 3 zones à obligatoirement configurer comme vu précédemment et qui permettent de définir la table de points maître et esclave : TSX CSY 85 [RACK0 POSITION 3] Configuration Désignation : 8 AXIS N4 MOTION.CONT Symbole : Voie : Fonction : 27 Profil came Profil de came Voies configurées : 0, 1, 14, 15, 17, 22, 27 Linéaire Cubique Nb. points 500 Tâche : MAST Incrément maître Unité Valeur de démarrage Fixe mm Variable Incrément 0.000000e+000 Incrément esclave Valeur de démarrage Unité Fixe mm Variable Incrément 0.000000e+000 1.000000e+000 1.000000e+000 Paramètres de la table : Paramètres Description Linéaire Lorsque ce bouton est coché, l’interpolation entre 2 points consécutifs du profil de came s’effectue de manière linéaire. Ce bouton fonctionne en alterné avec le bouton Cubique. Cubique Lorsque ce bouton est coché, l’interpolation entre 2 points consécutifs du profil de came s’effectue de manière cubique. Ce bouton fonctionne en alterné avec le bouton Linéaire. Nb. points Ce champ permet de saisir le nombre de points utilisés pour définir le profil de came. Paramètres de lazome incrément maître : 35008792.01 07/2008 Paramètres Description Unité Permet de définir l’unité dans laquelle sont exprimés les incrément du maître. L’unité choisie peut être une sous-unité de celle définie pour les axes (par exemple, cm pour les axes et mm pour l’incrément). Fixe Lorsque ce bouton est coché, l’incrément entre 2 points consécutifs du profil de came sera toujours le même. Ce bouton fonctionne en alterné avec le bouton Variable. Valeur de démarrage Dans le cas d’un incrément fixe, ce champ permet de saisir la valeur de début du profil de came. Cette valeur est saisie en flottant. Incrément Dans le cas d’un incrément fixe, ce champ permet de définir la valeur de l’incrément. Cette valeur est saisie en flottant. 37 Présentation fonctionnalités Paramètres Description Variable Lorsque ce bouton est coché, l’incrément entre 2 points consécutifs du profil de came est variable. La valeur des points est définie par une table de mots constants %KF dont la longueur est égale au nombre de points. Adresse table %KF Dans le cas d’un incrément variable, ce champ permet de saisir l’adresse de début de la table des points du maître. Note : un profil de came est toujours bouclé. Il faut assurer l’égalité entre la première et la dernière valeur de la table pour l’esclave. La table décrira entièrement le modulo et on rajoutera un point supplémentaire (modulo + 1) dont la valeur de l’esclave sera la première valeur de la table. Par exemple, pour modulo 360° les valeurs sont 0 à 359 et la table est la suivante : Table (maître, esclave) : (0, x0) ; (1, x1) ; (2, x2) ; ... ; (359, x359) ; (360, x0) Dans le cas d’un mouvement linéaire et si la dernière valeur de la table pour l’esclave n’est pas égale à la première valeur, on rajoutera des points supplémentaires (par exemple on répétera plusieurs fois le dernier point avec des valeurs d’esclave qui tendront progressivement vers la première valeur de la table). Paramètres de lazome incrément esclave : Paramètres Description Unité Permet de définir l’unité dans laquelle sont exprimés les incrément de l’esclave. L’unité choisie peut être une sous-unité de celle définie pour les axes (par exemple, cm pour les axes et mm pour l’incrément). Fixe Lorsque ce bouton est coché, l’incrément entre 2 points consécutifs du profil de came sera toujours le même. Ce bouton fonctionne en alterné avec le bouton Variable. Valeur de démarrage Dans le cas d’un incrément fixe, ce champ permet de saisir la valeur de début du profil de came. Cette valeur est saisie en flottant. Incrément Dans le cas d’un incrément fixe, ce champ permet de définir la valeur de l’incrément. Cette valeur est saisie en flottant. Variable Lorsque ce bouton est coché, l’incrément entre 2 points consécutifs du profil de came est variable. La valeur des points est définie par une table de mots constants %KF dont la longueur est égale au nombre de points. Adresse table %KF Dans le cas d’un incrément variable, ce champ permet de saisir l’adresse de début de la table des points de l’esclave. 38 35008792.01 07/2008 Présentation fonctionnalités Configuration d’un groupe d’axes suiveurs (voies 21 à 24) Introduction Un groupe d’axes suiveurs ou esclaves est un ensemble d’axes, composé d’axes esclaves (6 au maximum) qui suivent les mouvements d’un axe maître. L’axe maître peut être un axe réel, un axe imaginaire ou une consigne externe. Les axes esclaves sont des axes réels ou imaginaires. Dans le cadre d’un module TSX CSY 85 utilisant les nouvelles fonctions d’interpolation, les règles à respecter sont les suivantes : z z z z z 35008792.01 07/2008 Chaque groupe peut être constitué de 2 ou 3 axes interpolés. Un profil de came doit être défini pour chaque axe esclave (maximum 7). Conséquence du point précédent, un maximum de 7 axes interpolés est possible (par exemple 2 groupes de 2 axes et un groupe de 3 axes). Seuls deux axes peuvent être interpolés, le troisième axe d’un groupe doit obligatoirement être lié au maître soit par un profil de came soit par un lien fixe. Pour chaque axe, les paramètres doivent être les suivants : z sélectionnez l’option Came, z Démarrage = Immédiat, z Offset = 0.0, z sélectionnez l’option Consigne, z sélectionnez l’option Stop maître/déf. 39 Présentation fonctionnalités Ecran de configuration L’écran de configuration d’un groupe d’axes suiveurs est le suivant. Il propose 7 zones qui permettent de configurer l’axe maître et les 6 axes esclaves possibles : TSX CSY 85 [RACK0 POSITION 3] Configuration Désignation : 8 AXIS N4 MOTION.CONT Symbole : Voie : Fonction : 22 suiveur Groupe d’axes suiveurs Voies configurées : 0, 1, 9, 13, 15, 17, 20 ,24, 28 Maître 1 Esclave 1 Engrenage Came Ratio 1.000000e+000 2 Tâche : MAST Bias Arrêt sur suivi remains Stop Trigger 0.000000e+000 maître/déf 1.000000e+000 Mesure Consigne Démarrage Immediatly Esclave 2 Bias Arrêt sur suivi Engrenage Came No 25 Offset 0.000000e+000 4 remains Stop Immediatly Trigger 0.000000e+000 Mesure Consigne Démarrage maître/déf Esclave 3 Bias Arrêt sur suivi Came Ratio Engrenage 1.000000e+000 1.000000e+000 N remains Stop Trigger 0.000000e+000 Mesure Consigne Démarrage Immediatly maître/déf Esclave 4 Bias Arrêt sur suivi Engrenage Came Ratio 1.000000e+000 1.000000e+000 N remains Stop Trigger 0.000000e+000 Mesure Consigne Démarrage Immediatly maître/déf Esclave 5 Bias Arrêt sur suivi Engrenage Came Ratio 1.000000e+000 1.000000e+000 N remains Stop Trigger 0.000000e+000 Mesure Consigne Démarrage Immediatly maître/déf Maître Ce champ permet de définir le numéro de l’axe maître (axes 1 à 16). La valeur N indique que l’axe maître n’est pas choisi. Zones Esclave Les 6 zones Esclave 1 à 6 sont identiques. Elles ne sont actives que lorsque le numéro du maître est défini. 40 35008792.01 07/2008 Présentation fonctionnalités Paramètres d’une zone Esclave Description : Paramètre Description Esclave 1 (à 6) Permet de définir le numéro de l’axe esclave (axes 1 à 12). Mesure Lorsque ce bouton est coché, l’axe esclave suit la position mesurée de l’axe maître. Ce bouton fonctionne en alterné avec le bouton Consigne. Consigne Lorsque ce bouton est coché, l’axe esclave suit la position de consigne de l’axe maître. Ce bouton fonctionne en alterné avec le bouton Mesure. Engrenage Lorsque ce bouton est coché, l’axe esclave suit l’axe maître en mode Ratio ; c’est-à-dire suivant un rapport déterminé par les champ Ratio. Ce bouton fonctionne en alterné avec le bouton Came. Came Lorsque ce bouton est coché, l’axe esclave suit l’axe maître en mode Came ; c’est à dire suivant le profil de came dont le numéro est choisi dans le champ No. Ce bouton fonctionne en alterné avec le bouton Engrenage. Ratio En mode Ratio, ces 2 champs permettent de saisir le numérateur et le dénominateur qui définissent le rapport entre l’axe maître et esclave. Ces valeurs sont saisies en flottant. Démarrage Permet de choisir la condition de démarrage : z immédiat, z lorsque la position du maître augmentée de la valeur d’offset atteint dans le sens positif, la valeur de seuil définie dans le champ Trigger, z lorsque la position du maître plus la valeur d’offset atteint dans le sens négatif, la valeur de seuil définie dans la champ Trigger, z lorsque la position du maître plus la valeur d’offset est supérieure ou égale à la valeur de seuil définie dans le champ Trigger, z lorsque la position du maître plus la valeur d’offset est inférieure ou égale à la valeur de seuil définie dans le champ Trigger. 35008792.01 07/2008 No En mode Came, ce champ permet de choisir le numéro du profil de came (compris entre 25 et 31). Offset En mode Came, ce champ permet de saisir une valeur d’offset qui sera ajoutée à la position du maître, afin de définir la position de l’esclave. La position de l’esclave résultante sera donnée par l’index dans la table du maître du profil de came. Cet index est égal à la position actuelle du maître + offset. Par exemple, soit un profil de came défini de 0 à 1000 pour les coordonnés du maître. Pour démarrer le suivi pour une position du maître égale à 100000, la valeur de l’offset devra être égale à -100000.0. Cet offset permet par exemple de définir une fonction sinus et une fonctions cosinus, à partir d’un même profil de came. Cette valeur est saisie en flottant. 41 Présentation fonctionnalités Paramètre Description Bias remains (résiduel) z un offset dynamique est rajouté de manière automatique à la Lorsque cette case est cochée : position du maître, afin de définir la position de l’esclave, z les mouvements supplémentaires des esclaves ne sont pas arrêtés sur suppression du lien avec le maître. Position d’un axe suiveur 42 Trigger Lorsque la condition de démarrage dépend de la position de l’axe maître par rapport à un seuil, ce champ permet de saisir la valeur du seuil. Cette valeur est saisie en flottant. Le déclenchement aura lieu lorsque position actuelle du maître + offset > (ou <, >, <) à la valeur du seuil (Trigger). Arrêt sur suivi Lorsque cette case est cochée, la validation du lien entre le maître et l’esclave provoque l’arrêt d’un éventuel mouvement supplémentaire de l’axe suiveur, suivant un profil de décélération déterminé automatiquement. Stop maître/déf. Lorsque cette case est cochée, le maître s’arrête lors d’un défaut d’écart de poursuite entre le maître et l’esclave. Lorsqu’un axe est suiveur, sa position dépend uniquement de celle de l’axe maître qu’il suit. Les paramètres de configuration de l’axe (butées de position, vitesse maximale, accélération maximale,...) sont ignorés. Pour garantir la sécurité de l’application, configurer ces paramètres (de sécurité) dans le variateur de vitesse. 35008792.01 07/2008 Présentation fonctionnalités Facteur d’échelle Dans un groupe d’axes suiveurs, le facteur d’échelle est décorélé des unités utilisées pour les axes, lorsque celles-ci sont de même type (Linéaire, Angulaire, ...). Par exemple, si l’axe maître est configuré en m et l’axe esclave en cm (unités différentes mais de même type : Linéaire) et si on utilise un facteur d’échelle 1/ 1, cela signifie que si le maître parcourt 1 mm, l’esclave se déplacera également de 1 mm. Si les unités du maître et de l’esclave sont de types différents, il faut convertir les unités dans l’unité de référence du type d’unités (mm pour le type linéaire, inch pour le type linéaire anglais, tour pour le type angulaire). Par exemple, si le maître est configuré en m et l’esclave en tours (unités de types différents : Linéaire et Angulaire) et si on veut que lorsque le maître se déplace de 1 m, l’esclave effectue 1 tour, il faudra définir le facteur d’échelle de la manière suivante : z 1 m = 1000 mm (en unité de référence du type linéaire), z 1 tour = 1 tour (en unité de référence du type angulaire), donc le facteur d’échelle = 1000/1 (quand le maître fait 1000 mm, l’esclave fait 1 tour). 35008792.01 07/2008 43 Présentation fonctionnalités 44 35008792.01 07/2008 Fonctions d’interpolation 4 Présentation Objet de ce chapitre Ce chapitre décrit les nouvelles fonctionnalités d’interpolation du module TSX CSY 85. Contenu de ce chapitre Ce chapitre contient les souschapitres suivants : 35008792.01 07/2008 Souschapitre Sujet Page 4.1 Fonction Calcul de trajectoire : TrjCompute (ACTION_TRF (26900) 47 4.2 Positionnement du maître et gestion de la vitesse 74 45 Interpolation 46 35008792.01 07/2008 Interpolation 4.1 Fonction Calcul de trajectoire : TrjCompute (ACTION_TRF 26900) Présentation Objet de ce souschapitre Ce sous chapitre présente la fonction de calcul de trajectoire TrjCompute, obtenue par le code ACTION_TRF = 26900, chargé dans le module par l’instruction TRF_RECIPE ainsi que les différents types de segments qu’il est possible de créer. . Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : 35008792.01 07/2008 Sujet Page TrjCompute : fonction de calcul de trajectoire (ACTION_TRF = 26900) 48 Interpolation linéaire : type 0 53 Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 3 : type 1 54 Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 5 : type 2 59 Interpolation linéaire avec liaison selon une interpolation circulaire : type 10 62 Interpolation circulaire en indiquant le rayon : type 11 67 Interpolation circulaire en indiquant le centre : type 12 69 Interpolation axe tangentiel : type 100 ou 101 72 47 Interpolation TrjCompute : fonction de calcul de trajectoire (ACTION_TRF = 26900) Présentation La fonction TrjCompute permet de charger des trajectoires dans le module TSX CSY 85. Elle est réalisée grâce à : z z z l’instruction standard de transfert d’information au module TRF_RECIPE (voir Rappels sur le fonctionnement de l’instruction TRF_RECIPE, p. 27) le code action ACTION_TRF = 26900 (%MWxy.i.10) et la table de paramètres caractérisant la trajectoire. Note : la réalisation de la table de paramètres s’effectue de deux manières, soit directement en saisissant les paramètres dans la table de mots soit en important cette table à l’aide du logiciel graphique d’édition de trajectoireTjE (Trajectory Editor). Dans les pages qui suivent nous indiquons la syntaxe à utiliser puis nous décrivons toutes les interpolations acceptées par cette fonction ainsi que leur codage. AVERTISSEMENT dévalidez le groupe avant d’utiliser la fonction TrjCompute. Vous devez impérativement mettre à zéro le bit ALLOW_ACQUIRE du groupe d’axes suiveur avant de lancer la fonction TrjCompute. Vous pouvez ensuite valider à nouveau le groupe en positionnant à 1 les bits ALLOW_ACQUIRE et CONTROL_ACQUIRE. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 48 35008792.01 07/2008 Interpolation Syntaxe de la fonction La fonction TrjCompute s’exécute : z z z sur une voie de type groupe d’axes suiveur (voies 21 à 24), avec le paramétrage suivant : z %MWxy.i.10 (ACTION_TRF) = 26900, z %MDxy.i.11 (param_trf_1) = 0, z %MDxy.i.13 (param_trf_2) = 0, z %MDxy.i.15 (param_trf_3) = 0, z %MDxy.i.17 (param_trf_4) = 0, et la fonction TRF_RECIPE ayant pour paramètres la table de mots contenant la description de la trajectoire ainsi que la longueur de cette table. TRF_RECIPE %CHxy.i (Longueur_table, Table_trajectoire) : Paramètre Description %CHxy.i Voie associée au groupe de voie du module composé des axes esclaves et de l’axe maître de la trajectoire à calculer. Longueur_table Nombre de mots composant la table de trajectoire. La formule de calcul est la suivante : Longueur_table = 6 +Nombre d’axes + Nombre de mots par point * nombre de points : z Nombre d’axes : nombre d’axes esclaves 2 ou 3. z Nombre de mots par points : 17 pour 2 axes et 19 pour 3 axes. z Nombre de points : nombre de points de référence caractérisant le mouvement. Table_trajectoire Premier mot de la table contenant les paramètres de la trajectoire, cette table est composée d’une entête et d’autant de blocs que de segments de trajectoires nécessaires à réaliser le mouvement. Cette table est détaillée dans les paragraphes qui suivent. Exemple : TRF_RECIPE %CH3.21 (93,100) ; pour un mouvement sur deux axes, avec 5 points caractéristiques et une table située en %MW100. 35008792.01 07/2008 49 Interpolation Entête de la table de trajectoire Le tableau suivant décrit le contenu de l’entête de la table de trajectoire commençant à l’adresse %MWi : Adresse mémoire Description %MWi Nombre de points à interpoler %MWi+1 Nombre d’axes esclaves utilisés pour la trajectoire. %MWi+2 décalage mémoire pour chaque point d’interpolation : z 17 avec 2 axes esclaves z 19 avec 3 axes esclaves %MWi+3 Version de la table d’interpolation, mettre la valeur 0 pour le moment. %MWi+4 Réservé %MWi+5 Réservé %MWi+6 Identifiant (ID) de l’axe des X %MWi+7 Identifiant (ID) de l’axe des Y %MWi+8 Identifiant (ID) de l’axe des Z. Note : si le mouvement n’utilise que deux axes, ce mot n’existe pas, l’entête de la table est seulement composée de 8 mots. Note : ne pas confondre le numéro de la voie associée à l’axe et l’ID de l’axe. Pour obtenir l’ID d’un axe vous pouvez utiliser la fonction GetAxisID (code 523) à l’aide de l’instruction WRITE_CMD. 50 35008792.01 07/2008 Interpolation Corps de la table de trajectoire Le corps de la table contient une suite de blocs caractérisant chaque segment de la trajectoire. Chaque bloc contient un nombre identique de mots constituant les paramètres d’interpolation de chaque segment. Le tableau suivant décrit un segment type pour une table de trajectoire dont l’entête commence à l’adresse %MWi : 35008792.01 07/2008 Adresse mémoire Paramètre Description %MFj (1) XCoord Coordonné selon l’axe des X du point caractéristique du segment. %MFj+2 YCoord Coordonné selon l’axe des Y du point caractéristique du segment. %MFj+4 ZCoord Coordonné selon l’axe des Z du point caractéristique du segment. Note : si le mouvement n’utilise que deux axes, ce paramètre n’existe pas, le bloc associé à ce segment n’est alors constitué que de 17 mots au lieu de 19. %MFj+6 ParF0 Vset : vitesse de consigne de ce segment. %MFj+8 ParF1 Paramètre ParF1, dépendant du type d’interpolation. %MFj+10 ParF2 Paramètre ParF2, dépendant du type d’interpolation. %MFj+12 ParF3 Paramètre ParF3, dépendant du type d’interpolation. %MWj+14 ParW0 Type d’interpolation du segment : z 0 : linéaire, z 1 : linéaire avec liaison selon une interpolation polynomiale de degré 3, z 2 : linéaire avec liaison selon une interpolation polynomiale de degré 5, z 10 : linéaire avec liaison selon une interpolation circulaire, z 11 : circulaire par détermination du rayon du cercle, z 12 : circulaire par détermination du centre du cercle, z 100 : uniquement pour le point P0, pour indiquer que le mouvement s’effectuera avec un axe tangentiel, z 101 : uniquement pour le point P0, pour indiquer que le mouvement s’effectuera avec un axe tangentiel mais avec un décalage de 180° par rapport au code 100 (autre côté de la courbe). %MWj+15 ParW1 Paramètre ParW1, dépendant du type d’interpolation. %MWj+16 ParW2 Paramètre ParW2, dépendant du type d’interpolation. %MWj+17 ParW3 Paramètre ParW3, dépendant du type d’interpolation. %MWj+18 ParW4 Paramètre ParW4, dépendant du type d’interpolation. 51 Interpolation Adresse mémoire Paramètre Description Légende (1) j = 6 + Nombre d’axes, j = 9 si l’a trajectoire est configurée sur 3 axes, j= 8 si elle est configurée sur deux axes. Note : ces différents paramètres sont utilisés tous ou en partie selon le type d’interpolation choisi pour chaque segment. Pour obtenir la table de trajectoire complète, il suffit de positionner à la suite les uns des autres les blocs caractérisant chaque segment. AVERTISSEMENT Association des segments Chaque bloc caractérise le segment qui permet d’atteindre le point caractéristique du segment (XCoord, YCoord, ZCoord) et pas le segment qui part de ce point. Par conséquent le premier point P0 ne définit pas une section mais simplement les coordonnés de l’origine de la trajectoire. Ce point est nécessaire dans des cas précis comme pour une trajectoire fermée afin d’en pouvoir calculer la longueur. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Codes d’erreur 52 Lors de l’utilisation de cette fonction, les codes d’erreurs communs à tous les types d’interpolation pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 9502 Le nombre maximum de points d’une came est dépassé. 9503 Le nombre maximum d’axes est dépassé. 9505 Le nombre de point configuré pour l’une des cames n’est pas suffisant pour exécuter la fonction. 9507 Came non configurée. 9510 Le nombre maximum de points pour une table est dépassé. 35008792.01 07/2008 Interpolation Interpolation linéaire : type 0 Présentation Ce type d’interpolation permet d’effectuer une trajectoire rectiligne entre le point précédent et le point définissant le segment. L’inconvénient principal de ce type d’interpolation réside dans le fait qu’une suite de segments de ce type peuvent définir des lignes brisées et ainsi créer des contraintes mécaniques et électriques sur les équipements commandés (des variations brusques de vitesse par exemple). Le seul moyen de réduire ces contraintes est alors de diminuer la vitesse de déplacement ou de s’arrêter à chaque point de la table. Ce type de segment peut cependant convenir lors de mouvements de transition, de repositionnement ou de maintenance. Paramètres du bloc Codes d’erreur Le tableau suivant indique les paramètres à renseigner dans la table de trajectoire pour ce type de segment : Paramètre Description ParW0 Saisissez 0 pour indiquer que le type d’interpolation à utiliser est l’interpolation linéaire. ParW1 Indiquez dans ce paramètre le nombre de point du segment linéaire. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur le segment. Le module TSX CSY 85 définit ces points puis calcule une interpolation linéaire entre ceux-ci afin de déterminer la position qui sera envoyée aux variateurs toutes les 4ms. Dans le cas d’une interpolation linéaire il suffit de mettre la valeur minimum : 1. ParW4 Pour ce type de segment, seul le mode tangentiel peut être utilisé, mais seulement dans le cas d’une utilisation d’un troisième axe pour un mouvement en 3 dimensions. Note : le mode tangentiel (bit 8 à 1) sera disponible dans une version ultérieure de l’ensemble TjE / TSX CSY 85, pour le moment seul le positionnement angulaire du troisème axe Z est supporté. Pour un mouvement sur deux axes, mettez la valeur 0. Lors de l’utilisation de ce type de segment, les codes d’erreurs pouvant être renvoyés dans le mot %MDxy.i.3 sont les suivants : Code 35008792.01 07/2008 Description 9504 deux points successifs identiques sont présents dans la table. 9515 Le nombre de points du segment est fixé à 0. 53 Interpolation Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 3 : type 1 Présentation Ce type d’interpolation permet de relier des segments linéaires entre eux en adoucissant les transitions selon une interpolation de degré 3. La trajectoire ne passe pas par le point défini dans la table mais suit une courbe définie par les paramètres. Plus la zone de liaison est petite, plus la trajectoire est proche du point mais plus la courbure est importante, plus la vitesse maximum possible est faible. Illustration La figure suivante présente un exemple de segment de type 1 : Point segment Axe Y Iracc2 Iracc1 Axe X 54 35008792.01 07/2008 Interpolation Paramètres du bloc Le tableau suivant indique les paramètres à renseigner dans la table de trajectoire pour ce type de segment : Paramètre Description ParW0 Saisissez 1 pour indiquer que le type d’interpolation à utiliser est l’interpolation linéaire avec liaison selon une interpolation polynomiale de degré 3. ParW1 = NpLin Indiquez dans ce paramètre le nombre de points de la partie linéaire du segment. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur cette partie linéaire. ParW2 = NpRacc Indiquez dans ce paramètre le nombre de points de la partie d’interpolation cubique du segment. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur cette partie. Il doit être suffisant afin de garantir la précision de la trajectoire, un valeur de 15 minimum est conseillée. 35008792.01 07/2008 ParW3 = KF Coefficient de forme de l’interpolation de degré 3. Compris entre 50 et 200 ce coefficient permet de modifier la forme de la zone de liaison. la valeur par défaut est de 100, il est conseillé de garder cette valeur par défaut si le mouvement désiré le permet car il garantit qu’il n’y aura pas "d’overshoot" du mouvement. Note : plus le coefficient KF augmente, plus la courbe se rapproche du point caractéristique du segment, plus il diminue, plus la courbe s’en éloigne. ParW4 Pour ce type de segment, seul le mode tangentiel peut être utilisé. Dans le cas d’une utilisation d’un troisième axe de type tangentiel sélectionnez mode tangentiel (bit 8 de ParW4 à 1) pour indiquer que le mouvement du troisième axe suivra la courbe en utilisant le mode tangentiel (positionnement d’un outil par exemple de telle sorte qu’il soit toujours perpendiculaire à la courbe et qu’il suive la tangente de celle-ci). Note : le mode tangentiel (bit 8 à 1) sera disponible dans une version ultérieure de l’ensemble TjE / TSX CSY 85, pour le moment seul le positionnement angulaire du troisème axe Z est supporté. Pour un mouvement sur deux axes, mettez la valeur 0. 55 Interpolation Codes d’erreur Paramètre Description ParF1 = lracc1 ParF2 = lracc2 lracc1 est la longueur de la liaison initiale. lracc2 est la longueur de la liaison finale. lracc1 et lracc2, exprimées en mm, détermine la longueur de la zone d’interpolation. Si ces longueurs sont trop grande (par exemple lracc1 > distance entre le point courant (Pn) et le point précédent (Pn-1)), la longueur maximale possible sera utilisée. Cette longueur maximale est automatiquement calculée par le module en fonction de la section précédente pour lracc1 et de la section suivante pour lracc2. Exemple : si la somme de lracc2 de Pn-1 et de lracc1 de Pn est supérieure à la distance entre Pn-1 et Pn, la partie linéaire de la trajectoire se résumera à un point d’inflexion sur la trajectoire entre ces deux points. D’autre part si lracc1 > 2*lracc2 alors l’interpolation considère que lracc1=2*lracc2. De même si lracc2 > 2*lracc1 alors l’interpolation considère que lracc2=2*lracc1. Lors de l’utilisation de ce type de segment, les codes d’erreurs pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 9501 l’une des longueur lracc1 ou lracc2 est égale à zéro (cas de figure interdit). 9504 deux points successifs identiques sont présents dans la table. 9514 Liaison trop longue : le segment suivant = 0 9515 Le nombre de points du segment linéaire est fixé à 0. 9516 Le nombre de points du segment d’interpolation polynomiale de degré 3 est fixé à 0. Note : les codes d’erreur indiqués sont ceux du module TSX CSY 85, les codes d’erreur du TjE sont les mêmes avec le 9 en moins (9501 correspond à 501 etc...). 56 35008792.01 07/2008 Interpolation Coefficient de forme KF La figure suivante donne une indication sur l’évolution de la forme de la trajectoire en fonction de la valeur du coefficient de forme KF (compris entre 50 et 200) : Courbe de trajectoire du maître en fonction de KF Y 3,5 3 pol 3° avec Kf=170 2,5 pol 3° avec Kf=125 pol 3° avec Kf=100 pol 3° avec Kf=80 pol 3° avec Kf=50 X 2 0 0,5 1 1,5 Note : plus le coefficient KF augmente, plus la courbe se rapproche du point caractéristique du segment, plus il diminue, plus la courbe s’en éloigne. 35008792.01 07/2008 57 Interpolation Exemple de trajectoire La figure suivante présente un exemple de trajectoire utilisant des segments de type 1 : Trajectoire interpolée XY=f(Maître) 6000 P5 5000 Iracc1 P3 Coord. esclave Y 4000 Iracc2 Iracc1 3000 P6 P1 2000 Iracc2 Iracc2 Iracc1 Iracc1 P4 Iracc2 1000 Iracc1 Point de passage P2 Trajectoire générée P0 0 0 58 Iracc2 1000 2000 3000 4000 5000 Coord. esclave X 6000 7000 8000 9000 10000 35008792.01 07/2008 Interpolation Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 5 : type 2 Présentation Ce type d’interpolation permet de relier des segments linéaires entre eux en adoucissant les transitions selon une interpolation de degré 5. La trajectoire ne passe pas par le point défini dans la table mais suit une courbe déifnie par les paramètres. Plus la zone de liaison est petite, plus la trajectoire est proche du point mais plus la courbure est importante, plus la vitesse maximum possible est faible. Par rapport à une interpolation de degré 3, cette interpolation assure un mouvement plus souple toutefois si la limite d’accélération est atteinte, la vitesse sur le segment peut être restreinte sur ce type de liaison. Illustration La figure suivante présente un exemple de segment de type 2 : Point segment Axe Y Iracc2 Iracc1 Axe X 35008792.01 07/2008 59 Interpolation Paramètres du bloc 60 Le tableau suivant indique les paramètres à renseigner dans la table de trajectoire pour ce type de segment : Paramètre Description ParW0 Saisissez 2 pour indiquer que le type d’interpolation à utiliser est l’interpolation linéaireavec liaison selon une interpolation polynomiale de degré 5. ParW1 = NpLin Indiquez dans ce paramètre le nombre de points dela partie linéaire du segment. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur cette partie linéaire. ParW2 = NpRacc Indiquez dans ce paramètre le nombre de points dela partie d’interpolation de degré 5 du segment. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur cette partie. Il doit être suffisant afin de garantir la précision de la trajectoire, un valeur de 15 minimum est conseillée. ParW3 = KF Coefficient de forme de l’interpolation de degré 5. Compris entre 50 et 200 ce coefficient permet de modifier la forme de la zone de liaison. la valeur par défaut est de 100, il est conseillé de garder cette valeur par défaut si le mouvement désiré le permet car il garantit qu’il n’y aura pas "d’overshoot" du mouvement. Note : plus le coefficient KF augmente, plus la courbe se rapproche du point caractéristique du segment, plus il diminue, plus la courbe s’en éloigne. ParW4 Pour ce type de segment, seul le mode tangentiel peut être utilisé. Dans le cas d’une utilisation d’un troisième axe de type tangentiel sélectionnez mode tangentiel (bit 8 de ParW4 à 1) pour indiquer que le mouvement du troisième axe suivra la courbe en utilisant le mode tangentiel (positionnement d’un outil par exemple de telle sorte qu’il soit toujours perpendiculaire à la courbe et qu’il suive la tangente de celle-ci). Note : le mode tangentiel (bit 8 à 1) sera disponible dans une version ultérieure de l’ensemble TjE / TSX CSY 85, pour le moment seul le positionnement angulaire du troisème axe Z est supporté. Pour un mouvement sur deux axes, mettez la valeur 0. 35008792.01 07/2008 Interpolation Codes d’erreur Paramètre Description ParF1 = lracc1 ParF2 = lracc2 lracc1 est la longueur de la liaison initiale. lracc2 est la longueur de la liaison finale. lracc1 et lracc2, exprimées en mm, détermine la longueur de la zone d’interpolation. Si ces longueurs sont trop grande (par exemple lracc1 > distance entre le point courant (Pn) et le point précédent (Pn-1)), la longueur maximale possible sera utilisée. Cette longueur maximale est automatiquement calculée par le module en fonction de la section précédente pour lracc1 et de la section suivante pour lracc2. Exemple : si la somme de lracc2 de Pn-1 et de lracc1 de Pn est supérieure à la distance entre Pn-1 et Pn, la partie linéaire de la trajectoire se résumera à un point d’inflexion sur la trajectoire entre ces deux points. Ainsi la courbe sera continue ainsi que sa dérivée. D’autre part si lracc1 > lracc2/0.66 alors l’interpolation considère que lracc1=lracc2/0.66 De même si lracc2 > lracc1/0.66 alors l’interpolation considère que lracc2=lracc1/0.66 Lors de l’utilisation de ce type de segment, les codes d’erreurs pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 9501 l’une des longueur lracc1 ou lracc2 est égale à zéro (cas de figure interdit). 9504 deux points successifs identiques sont présents dans la table. 9514 Liaison trop longue : le segment suivant = 0 9515 Le nombre de points du segment linéaire est fixé à 0. 9516 Le nombre de points du segment d’interpolation polynomiale de degré 5 est fixé à 0. Note : les codes d’erreur indiqués sont ceux du module TSX CSY 85, les codes d’erreur du TjE sont les mêmes avec le 9 en moins (9501 correspond à 501 etc...). 35008792.01 07/2008 61 Interpolation Interpolation linéaire avec liaison selon une interpolation circulaire : type 10 Présentation Ce type d’interpolation permet de relier des segments linéaires entre eux par une trajectoire circulaire (arcs de cercles ou cercles complets). Note : ce type d’interpolation n’est possible que lorsque le mouvement s’effectue dans un plan (2 axes seulement). Illustration La figure suivante présente un exemple de segment de type 10 : Point segment Axe Y Iracc Iracc ϑ 0 Axe X 62 35008792.01 07/2008 Interpolation Paramètres du bloc 35008792.01 07/2008 Le tableau suivant indique les paramètres à renseigner dans la table de trajectoire pour ce type de segment : Paramètre Description ParW0 Saisissez 10 pour indiquer que le type d’interpolation à utiliser est l’interpolation linéaire avec liaison selon une interpolation circulaire. ParW1 = NpLin Indiquez dans ce paramètre le nombre de points dela partie linéaire du segment. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur cette partie linéaire. ParW2 = NpRacc Indiquez dans ce paramètre le nombre de points dela partie d’interpolation circulaire. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur cette partie. Il doit être suffisant afin de garantir la précision de la trajectoire, un valeur de 15 minimum est conseillée. ParW4 Bit 0 à 0 pour une liaison effectuant un angle inférieur à 180°. Bit 0 à 1 pour une liaison effectuant un angle supérieur à 180° Dans le cas d’une utilisation d’un troisième axe de type tangentiel sélectionnez mode tangentiel (bit 8 de ParW4 à 1) pour indiquer que le mouvement du troisième axe suivra la courbe en utilisant le mode tangentiel (positionnement d’un outil par exemple de telle sorte qu’il soit toujours perpendiculaire à la courbe et qu’il suive la tangente de celle-ci). Note : le mode tangentiel (bit 8 à 1) sera disponible dans une version ultérieure de l’ensemble TjE / TSX CSY 85, pour le moment seul le positionnement angulaire du troisème axe Z est supporté. ParF1 = lracc lracc est la longueur du segment d’interpolation circulaire. 63 Interpolation Codes d’erreur Lors de l’utilisation de ce type de segment, les codes d’erreurs pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 9501 la longueur lracc est égale à zéro (cas de figure interdit). 9504 deux points successifs identiques sont présents dans la table. 9506 utilisation d’un type d’interpolation circulaire alors que plus de deux axes sont définis. 9508 Liaison circulaire selon un angle de 180°. 9509 Liaison circulaire selon un angle de 0°. 9514 Liaison trop longue : le segment suivant = 0 9515 Le nombre de points du segment linéaire est fixé à 0. 9517 Le nombre de points du segment d’interpolation circulaire est fixé à 0. Note : les codes d’erreur indiqués sont ceux du module TSX CSY 85, les codes d’erreur du TjE sont les mêmes avec le 9 en moins (9501 correspond à 501 etc...). 64 35008792.01 07/2008 Interpolation Exemple de trajectoire La figure suivante présente un exemple de trajectoire utilisant des segments de type 10 et 1. Le point P4 donne un exemple de mouvement circulaire avec le paramètre ParW4 = . Attention dans ce cas la vitesse n’est plus continue : Trajectoire interpolée XY=f(Maître) 6000 P5 5000 Iracc2 Iracc1 P3 Coord. esclave Y 4000 Iracc 3000 P6 P1 2000 Iracc Iracc P4 1000 Iracc Point de passage P2 Trajectoire générée P0 0 0 35008792.01 07/2008 1000 2000 3000 4000 5000 Coord. esclave X 6000 7000 8000 9000 10000 65 Interpolation Exemple de trajectoire circulaire complète La figure suivante présente un exemple de trajectoire circulaire pour laquelle sont définis les coins du carré circonscrit avec pour longueur des segments ciculaires la moitié du côté de ce carré : Trajectoire interpolée XY=f(Maître) 4500 Point de passage Trajectoire générée P0/P4 P1/P5 4000 Coord. esclave Y 3500 Iracc 3000 2500 Iracc 2000 1500 3500 66 Iracc P3 Iracc 4000 4500 5000 5500 Coord. esclave X P2 6000 6500 35008792.01 07/2008 Interpolation Interpolation circulaire en indiquant le rayon : type 11 Présentation Ce type d’interpolation permet également de relier des segments linéaires entre eux par une trajectoire circulaire. Vous devez spécifier : z z z z le point d’origine (Pn-1), le point d’arrivée (Pn), le rayon du cercle et la direction de la trajectoire (horaire ou anti-horaire). Note : Un mouvement circulaire complet n’est pas possible pour ce type d’interpolation. Si vous désirer parcour un cercle entier vous devez utiliser l’interpolation de type 10. Note : ce type d’interpolation n’est possible que lorsque le mouvement s’effectue dans un plan (2 axes seulement). Illustration La figure suivante présente un exemple de segment de type 11 : Axe Y P2 P1 R ϑ C 35008792.01 07/2008 Axe X 67 Interpolation Paramètres du bloc Codes d’erreur Le tableau suivant indique les paramètres à renseigner dans la table de trajectoire pour ce type de segment : Paramètre Description ParW0 Saisissez 11 pour indiquer que le type d’interpolation à utiliser est l’interpolation linéaireavec liaison selon une interpolation circulaire dont on donne le rayon. ParW1 = NpLin Indiquez dans ce paramètre le nombre de points de l’arc de cercle. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur ce segment. ParW4 Bit 0 à 0 pour un sens anti-horaire de la trajectoire. Bit 0 à 1 pour un sens horaire de la trajectoire. Dans le cas d’une utilisation d’un troisième axe de type tangentiel sélectionnez mode tangentiel (bit 8 de ParW4 à 1) pour indiquer que le mouvement du troisième axe suivra la courbe en utilisant le mode tangentiel (positionnement d’un outil par exemple de telle sorte qu’il soit toujours perpendiculaire à la courbe et qu’il suive la tangente de celle-ci). Note : le mode tangentiel (bit 8 à 1) sera disponible dans une version ultérieure de l’ensemble TjE / TSX CSY 85, pour le moment seul le positionnement angulaire du troisème axe Z est supporté. ParF1 = R Radius est la longueur du rayon de l’arc de cercle. Lors de l’utilisation de ce type de segment, les codes d’erreurs pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 9504 deux points successifs identiques sont présents dans la table. 9506 utilisation d’un type d’interpolation circulaire alors que plus de deux axes sont définis. 9511 le rayon est inférieur à la moitié de la distance entre les points Pn-1 et Pn. 9512 Cercle impossible. 9513 Rayon égal à 0. 9518 Le nombre de points du segment d’interpolation circulaire est fixé à 0. Note : les codes d’erreur indiqués sont ceux du module TSX CSY 85, les codes d’erreur du TjE sont les mêmes avec le 9 en moins (9504 correspond à 504 etc...). 68 35008792.01 07/2008 Interpolation Interpolation circulaire en indiquant le centre : type 12 Présentation Ce type d’interpolation permet également de relier des segments linéaires entre eux par une trajectoire circulaire. Vous devez spécifier : z z z z le point d’origine (Pn-1), le point d’arrivée (Pn), les coordonnés du centre du cercle et la direction de la trajectoire (horaire ou anti-horaire). Note : un mouvement circulaire complet est possible si le point de départ est égal au point d’arrivée. Note : ce type d’interpolation n’est possible que lorsque le mouvement s’effectue dans un plan (2 axes seulement). Illustration La figure suivante présente un exemple de segment de type 12 : Axe Y P2 P1 R ϑ C (Xc,Yc) 35008792.01 07/2008 Axe X 69 Interpolation Paramètres du bloc 70 Le tableau suivant indique les paramètres à renseigner dans la table de trajectoire pour ce type de segment : Paramètre Description ParW0 Saisissez 12 pour indiquer que le type d’interpolation à utiliser est l’interpolation linéaire avec liaison selon une interpolation circulaire dont on indique les coordonnés du centre du cercle. ParW1 = NpLin Indiquez dans ce paramètre le nombre de points de l’arc de cercle. Ce nombre de points (minimum 1) représente le nombre de points intermédiaires que le module doit calculer pour définir la trajectoire sur ce segment. ParW4 Bit 0 à 0 pour un sens anti-horaire de la trajectoire. Bit 0 à 1 pour un sens horaire de la trajectoire. Dans le cas d’une utilisation d’un troisième axe de type tangentiel sélectionnez mode tangentiel (bit 8 de ParW4 à 1) pour indiquer que le mouvement du troisième axe suivra la courbe en utilisant le mode tangentiel (positionnement d’un outil par exemple de telle sorte qu’il soit toujours perpendiculaire à la courbe et qu’il suive la tangente de celle-ci). Note : le mode tangentiel (bit 8 à 1) sera disponible dans une version ultérieure de l’ensemble TjE / TSX CSY 85, pour le moment seul le positionnement angulaire du troisème axe Z est supporté. ParF1 = Xc ParF2 = Yc Xc est la position du centre du cercle selon l’axe X. Yc est la position du centre du cercle selon l’axe Y. Note : le module TSX CSY 85 recalcule automatiquement la position exacte du centre. Toutefois si la position indiquée différe de la position exacte de plus de la moitié de la longueur du rayon du cercle le code d’erreur 9519 est généré. 35008792.01 07/2008 Interpolation Codes d’erreur Lors de l’utilisation de ce type de segment, les codes d’erreurs pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 9506 utilisation d’un type d’interpolation circulaire alors que plus de deux axes sont définis. 9512 Cercle impossible. 9518 Le nombre de points du segment d’interpolation circulaire est fixé à 0. 9519 La position indiquée du centre est en dehors de la tolérance acceptée par le module. Note : les codes d’erreur indiqués sont ceux du module TSX CSY 85, les codes d’erreur du TjE sont les mêmes avec le 9 en moins (9506 correspond à 506 etc...). 35008792.01 07/2008 71 Interpolation Interpolation axe tangentiel : type 100 ou 101 Présentation Ce type d’interpolation permet d’utiliser un troisième axe qui suivra automatiquement la courbe créée à partir de deux axes. Ce troisième axe va permettre de positionner un outil de découpe pour lequel sera indiqué un angle d’attaque de l’outil. Cette interpolation garantit un positionnement angulaire constant sur chaque segment. Note : ce type d’interpolation est uniquement utilisé sur le point P0 pour indiquer que le troisième axe est de type tangentiel. Note : pour chaque segment de la courbe, la position sur le troisième axe indique l’angle (en degré) selon lequel l’outil de découpe doit être positionné si le bit 8 du paramètre ParW4 du segment est à 0. Si ce bit 8 est à 1 la position de l’outil sera automatiquement tangent à la courbe. le mode tangentiel (bit 8 à 1) sera disponible dans une version ultérieure de l’ensemble TjE / TSX CSY 85, pour le moment seul le positionnement angulaire du troisème axe Z est supporté. Note : le code 100 est utilisé pour positionner l’outil d’un côté de la courbe et le code 101 pour l’autre côté. 72 35008792.01 07/2008 Interpolation Illustration La figure suivante indqiue par les flèches rouges le positionnement du troisème axe sur la courbe : Axe Y Axe X Paramètres du bloc 35008792.01 07/2008 Le tableau suivant indique les paramètres à renseigner dans la table de trajectoire pour ce type de segment : Paramètre Description ParW0 Saisissez 101 pour indiquer que le troisième axe du mouvement est de type tangentiel. Note : ce type est uniquement utilisé sur le premier point P0 de la courbe car il indique le mode de fonctionnement du troisième axe sur la totalité de la trajectoire. 73 Interpolation 4.2 Positionnement du maître et gestion de la vitesse Présentation Objet de ce souschapitre Ce sous-chapitre décrit les fonctions de positionnement du maître et de gestion de la vitesse du mouvement sur la trajectoire. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : 74 Sujet Page GetTabResultF : résultat du calcul de trajectoire (ACTION_TRF = 16901) 75 MoveImmedInterpo : Variation de la vitesse du maître (ACTION_CMD = 905) 79 GetMinimumConstantSpeed : obtention de la vitesse constante minimum possible (ACTION_TRF = 14905) 82 35008792.01 07/2008 Interpolation GetTabResultF : résultat du calcul de trajectoire (ACTION_TRF = 16901) Présentation Après avoir chargé la trajectoire dans le module (voir TrjCompute : fonction de calcul de trajectoire (ACTION_TRF = 26900), p. 48), le module a calculé les différents profils de came pour chaque axe qui associent les axes réels esclaves à l’axe maître. Vous pouvez maintenant travailler sur le mouvement et sa trajectoire en obtenant différentes informations. La fonction GetTabResultF permet d’obtenir la vitesse maximum autorisée ainsi que la vitesse calculée (vitesse réellement utilisée). 35008792.01 07/2008 75 Interpolation Syntaxe de la fonction La fonction GetTabResultF s’exécute : z z z sur une voie de type groupe d’axes suiveur (voies 21 à 24), avec le paramétrage suivant : z %MWxy.i.10 (ACTION_TRF) = 16901, z %MDxy.i.11 (param_trf_1) = 0, z %MDxy.i.13 (param_trf_2) = 0, z %MDxy.i.15 (param_trf_3) = 0.0 pour lire la table du maître, 1.0 pour lire la table des vitesses maximum autorisées et 2.0 pour obtenir la tale des vitesses calculées. z %MDxy.i.17 (param_trf_4) = 0, et la fonction TRF_RECIPE ayant pour paramètres la table de mots devant recevoir les informations demandées par le param_trf_3 ainsi que la longueur de cette table. TRF_RECIPE %CHxy.i (Longueur_table, Table_réception) : 76 Paramètre Description %CHxy.i Voie associée au groupe de voie du module composé des axes esclaves et de l’axe maître de la trajectoire dont on veut obtenir les informations. Exemple : %CH3.21 Longueur_table Nombre de mots composant la table de réception : Longueur_table = 4 x Nombre de points de la trajectoire. Table_réception Premier mot de la table réceptionnant les valeurs demandées par le paramètre param_trf_3. Cette table contient deux flottants pour chaque point de la trajectoire. Ces mots contiennent les vitesses (param_trf_3 = 1.0 ou 2.0) ou des positions caractéristiques pour chaque type de segment (param_trf_3 = 0.0). Les paragraphes qui suivent détaillent plus précisément l’information reçue lorsque vous voulez obtenir la position du maître. Exemple : %MW0: 35008792.01 07/2008 Interpolation Position du maître Lorsque vous demandez la position du maître, vous obtenez deux mots flottants pour chaque point (P0, P1,..., Pn...) des segments des axes esclaves. Ces mots flottants correspondent à la position des points du maître identiques aux points des esclaves pour les segments de type 0 (voir Interpolation linéaire : type 0, p. 53), 11 (voir Interpolation circulaire en indiquant le rayon : type 11, p. 67) et 12 (voir Interpolation circulaire en indiquant le centre : type 12, p. 69). Dans le cas des segments de type 1 (voir Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 3 : type 1, p. 54), 2 (voir Interpolation linéaire avec liaison selon une interpolation polynomiale de degré 5 : type 2, p. 59) et 10 (voir Interpolation linéaire avec liaison selon une interpolation circulaire : type 10, p. 62), l’interpolation crée deux segments pour représenter le segment demandé et ainsi les points (et par conséquent les vitesses) ne coincident plus. Le tableau suivant donne un exemple de points pour une trajectoire dont l’illustration est donnée ensuite Point X Y Type P0 0 0 ignoré P1 P2 P3 P4 P5 P6 2000 3500 4000 3000 2000 0 35008792.01 07/2008 4000 4000 3000 2000 2000 0 10 0 10 0 1 linéaire liaison Position Maître Point sur illustration 0 Toujours 0 0 Toujours 0 3472,136 Fin de linéaire entre P0 et P1, début liaison circulaire 5263,540 Fin liaison circulaire en P1 5263,540 Fin linéaire entre P1 et P2 5263,540 Fin linéaire entre P1 et P2 6381,574 Fin de linéaire entre P2 et P3, début liaison circulaire 7248,053 Fin liaison circulaire en P3 8162,267 Fin linéaire entre P3 et P4 8162,267 Fin linéaire entre P3 et P4 8162,267 Fin de linéaire entre P4 et P5, début liaison degré 3 10161,267 Fin liaison degré 3 en P5 11990,695 Fin linéaire entre P5 et P6 (longueur totale maitre) 11990,695 Fin linéaire entre P5 et P6 (longueur totale maitre) 77 Interpolation Illustration Illustration du tableau précédent : Trajectoire interpolée XY=f(Maître) 4500 P2 P1 4000 3500 P3 Coord. esclave 3000 2500 P5 2000 P4 1500 Point de passage 1000 Trajectoire générée Position renvoyée dans la table de position du maître 500 P0/P6 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Coord. esclave 78 35008792.01 07/2008 Interpolation MoveImmedInterpo : Variation de la vitesse du maître (ACTION_CMD = 905) Présentation Après avoir chargé la trajectoire dans le module (voir TrjCompute : fonction de calcul de trajectoire (ACTION_TRF = 26900), p. 48), le module a calculé les différents profils de came pour chaque axe qui associent les axes réels esclaves à l’axe virtuel maître. Vous pouvez maintenant travailler en agissant sur le mouvement et sa trajectoire. La fonction MoveImmedInterpo permet de positionner le maître sur la trajectoire en utilisant la vitesse maximum autorisée en fonction des différents segment la composant. Sur chaque segment le module essaye d’obtenir la vitesse minimum entre la vitesse désirée et la vitesse permise sur le segment en respectant les accélérations et décélérations fixées sur le maître. Syntaxe de la fonction La fonction MoveImmedInterpo s’exécute : z z z sur la voie 0 du module, avec le paramétrage suivant : z %MWxy.i.26 (ACTION_CMD) = 905, z %MDxy.i.27 (param_cmd_1) = ID du groupe d’axe (601 à 604), z %MDxy.i.29 (param_cmd_2) = 10 si vitesse absolue (param_cmd_4), toute autre valeur indique que la vitesse contenue dans param_cmd_4 est un pourcentage de la vitesse maximale calculée, z %MDxy.i.31 (param_cmd_3) = position à atteindre, z %MDxy.i.33 (param_cmd_4) = vitesse désirée soit en absolu soit en relatif (de 0 pour 0% à 10000 pour 100%) selon la valeur de param_cmd_2, et l’instruction WRITE_CMD appliquée à la voie 0 du module. Note : pour obtenir l’ID de l’axe, utilisez la fonction GetAxisID (code 523) à l’aide de l’instruction WRITE_CMD. 35008792.01 07/2008 79 Interpolation Exemple de trajectoire La figure suivante donne un exemple de trajectoire : Trajectoire interpolée XY=f(Maître) 4500 4000 3500 Coord. esclave Y 3000 2500 2000 1500 1000 500 Trajectoire générée 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Coord. esclave X Exemple de mouvement non modulé La figure suivante donne un exemple de mouvement non modulé (param_cmd_2 = 10) sur l’exemple de trajectoire précédente : 10000 5000 0 80 1.000 2.000 3.000 35008792.01 07/2008 Interpolation Exemple de mouvement modulé La figure suivante donne un exemple de mouvement modulé (param_cmd_2 différent de 10, param_cmd_4 de 0 pour 0% à 10000 pour 100%) sur l’exemple de trajectoire précédente : 10000 5000 0 1.000 2.000 3.000 4.000 Note : sur cette figure, nous constatons que le maître change sa vitesse en fonction des segments (ralentissements sur des segments plus serrés). Lorsque la vitesse est modulée le mouvement s’effectue dans sa totalité alors que dans le mouvement non modulé, figure précédente, les axes risquent de passer en défaut car la vitesse reste trop importante par rapport à la dynamique du mouvement. Codes d’erreur 35008792.01 07/2008 Lors de l’utilisation de cette fonction, les codes d’erreurs pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 7001 Pour les interpolations de types 1, 2 et 10 une liaison a été fixée avec l’un des paramètres ParF1 ou ParF2 à 0. 7002 Q_stop est en dehors des points de la trajectoire. 7003 La commande de mouvement ne s’est pas effectuée correctement. 7004 Le mouvement en cours a été arrêté. 7038 Le groupe spécifié (ID) n’est pas configuré. 7046 La trajectoire du groupe sélectionné n’a pas été calculée. 9015 La version du module ne supporte pas cette fonction. 81 Interpolation GetMinimumConstantSpeed : obtention de la vitesse constante minimum possible (ACTION_TRF = 14905) Présentation Après avoir chargé la trajectoire dans le module (voir TrjCompute : fonction de calcul de trajectoire (ACTION_TRF = 26900), p. 48), le module a calculé les différents profils de came pour chaque axe qui associent les axes réels esclaves à l’axe maître. Vous pouvez maintenant travailler sur le mouvement et sa trajectoire en obtenant différentes informations. La fonction GetMinimumConstantSpeed permet d’obtenir la vitesse minimum autorisée sur la totalité des segments de la trajectoire. Syntaxe de la fonction La fonction GetMinimumConstantSpeed s’exécute : z z z sur une voie de type groupe d’axes suiveur (voies 21 à 24), avec le paramétrage suivant : z %MWxy.i.10 (ACTION_TRF) = 14905, z %MDxy.i.11 (param_trf_1) = 0, z %MDxy.i.13 (param_trf_2) = 0, z %MDxy.i.15 (param_trf_3) = 0, z %MDxy.i.17 (param_trf_4) = 0, z %MDxy.i.6 (return_trf_2) = contient la vitesse demandée, et la fonction TRF_RECIPE dont les paramètres ne sont pas utilisés. Syntaxe de l’appel de la fonction : TRF_RECIPE %CHxy.i (0, 0) Codes d’erreur 82 Lors de l’utilisation de cette fonction, les codes d’erreurs pouvant être renvoyés dans le mot %MWxy.i.3 sont les suivants : Code Description 1 Numéro de groupe incorrect. 3 la trajectoire n’a pas été calculée avant l’exécution de la fonction. 35008792.01 07/2008 Annexes Présentation Objet de cette annexe Cette anexe présente les différents codes d’erreur spécifiques au module TSX CSY 85. Contenu de cette annexe Cette annexe contient les chapitres suivants : Chapitre A 35008792.01 07/2008 Titre du chapitre Codes d’erreur Page 85 83 Annexes 84 35008792.01 07/2008 Codes d’erreur A Codes d’erreur Présentation Le mot %MWxy.i.3 (i compris entre 21 et 24 pour les groupes de voies) contient les codes d’erreur survenant après une instruction TRF_RECIPE. Le bit %MWxy.i:X3 renvoie l’état de la commande en cours sur la voie i. L’algorithme d’interpolation du module TSX CSY 85 gère les codes d’erreur supérieurs à 9500. La méthode de diagnostic est la suivante : z z z z z 35008792.01 07/2008 vérifiez que la commande est terminée : %MWxy.i:X3 = 0, consultez le flottant %MFxy.i.8 (return_trf_3) pour obtenir le point concerné par l’erreur, consultez le code d’erreur dans le mot %MWxy.i.3, reportez-vous au tableau suivant pour savoir quel type d’erreur est survenu, modifiez votre programme ou la configuration de votre module pour supprimer cette erreur lors de la prochaine exécution de l’instruction TRF_RECIPE. 85 Codes d’erreur Codes d’erreur 86 Le tableau suivant décrit les codes d’erreur possibles : Code Description 9501 Pour une interpolation de type 1, 2 ou 10, l’un des paramètres ParF1 ou ParF2 est égal à zéro. 9502 Le nombre maximum de points pour une trajectoire a été atteint. Le module TSX CSY 85 autorise 10 000 points maximum. 9503 Le nombre d’axes déini est supérieur à celui autorisé. 9504 Deux points successifs identiques sont présents dans la table pour des interpolations de types autres que 12. 9505 Le nombre de points définis pour au moins une came est insuffisant par rapport au nombre de point de la trajectoire. 9506 Utilisation d’un type d’interpolation circulaire alors que plus de deux axes sont définis (types 10, 11 et 12). 9507 Une came correspondant à l’un des axes n’a pas été configurée. 9508 Liaison circulaire selon un angle de 180° (type 10). 9509 Liaison circulaire selon un angle de 0° (type 10). 9510 Une trajectoire a été définie avec un nombre de points supérieur au maximum autorisé (60 points de références maximum). 9511 Le rayon est inférieur à la moitié de la distance entre les points Pn-1 et Pn. 9512 Cercle impossible, si le type est 11 le point origine est égal au point destination, si le type est 12, le point origine est égal au point destination et est égal au centre du cercle. 9513 Rayon égal à 0 (type 11). 9514 Liaison trop longue : le segment suivant = 0 (types 1, 2 ou 10). 9515 Le nombre de points du segment linéaire est fixé à 0 (types 0, 1 ou 10). 9516 Le nombre de points du segment d’interpolation polynomiale de degré 3 est fixé à 0 (type 1). 9517 Le nombre de points du segment d’interpolation circulaire est fixé à 0 (type 10). 9518 Le nombre de points du segment d’interpolation circulaire est fixé à 0 (type 11 ou 12). 9519 La position du centre fixée dans la table différe de plus de 50% du rayon du cercle par rapport à la position calculée par le module (type 12). 9520 Groupe non configuré. 9521 L’un au moins des axes associés au groupe n’est pas configuré. 9522 Le nombre de points du segment d’interpolation polynomiale de degré 5 est fixé à 0 (type 2). 35008792.01 07/2008 Codes d’erreur 35008792.01 07/2008 Code Description 9523 Le nombre de points de la table d’interpolation est égal à zéro (premier mot de la table). 9524 Mémoire insuffisante pour calculer l’interpolation. 9525 Le segment suivant étant de longueur nulle, il est impossible d’effectuer la liaison. 9526 La table du maître est vide, le calcul d’interpolation n’a pas été effectué. 9527 Le nombre de mots par point n’est pas correct dans la table d’interpolation. 9528 Le type d’interpolation demandé n’existe pas (paramètre type différent de 0, 1, 2, 10, 11 ou 12). 9002 Code d’erreur existant déjà mais pouvant survenir lorsque l’anneau SERCOS n’est pas configuré correctement. 87 Codes d’erreur 88 35008792.01 07/2008 B AC Index A E ACTION_CMD, 29 905 MoveImmedInterp, 79 ACTION_TRF 14905 GetMinimumConstantSpeed, 82 16901 GetTabResultF, 75 26900 TrjCompute, 48 Architecture SERCOS, 10 Esclave Module SERCOS®, 39 B I Butées Module SERCOS(r), 30 IDN, 8 Incrément esclave Module SERCOS®, 36 Incrément maître Module SERCOS®, 36 Interpolation type 0, 53 type 1, 54 type 10, 62 type 100, 72 type 101, 72 type 11, 67 type 12, 69 type 2, 59 C Calcul de trajectoire Module SERCOS®, 10 Configuration d’un profil de came Module SERCOS®, 36 Contrôle de position en validation Module SERCOS(r), 30 D Données cycliques Module SERCOS®, 8 Données non cycliques Module SERCOS®, 8 35008792.01 07/2008 F Facteur d’échelle Module SERCOS(r), 30 L Liaison numérique Module SERCOS®, 8 89 Index M Maître Module SERCOS®, 39 Mise en oeuvre d’un axe imaginaire Module SERCOS®, 20 Mise en oeuvre d’un axe réel Module SERCOS®, 20 Mise en oeuvre d’une entrée de mesure externe Module SERCOS®, 20 Modes de marche, 9 Module SERCOS®, 8 Mouvement Module SERCOS(r), 30 O Offre Premium Module SERCOS®, 10 P PARAM_CMD, 29 R RETURN_CMD, 29 T TRF_RECIPE, 27 U Unités, 30 W WRITE_CMD, 29 90 35008792.01 07/2008