▼
Scroll to page 2
of
601
Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Rexroth IndraMotion MTX Manuel de programmation Description de l´application Pneumatics Service R911311170 Sortie 01 II Bosch Rexroth AG Electric Drives and Controls Titre Rexroth IndraMotion MTX Manuel de programmation Type de la documentation Description de l’application Type de documentation Classement interne de l’objectif de la documentation Liste des modifications IndraMotion MTX R911311170 / 01 DOK-MTX***-NC**PRO*V02-AW01-FR-P Numéro de document 120-2500-B301-01/DE Le présent manuel vous informe : D de la programmation standard de la commande IndraMotion MTX. Editions précédentes Etat DOK-MTX***-NC**PRO*V02-AW01-FR-P 09.2004 Remarque Valide pour 02VRS Protection E Bosch Rexroth AG, 2004 La transmission et la reproduction de ce document, l’exploitation et la communication de son contenu sont interdits, sauf autorisation écrite. Toute infraction donne lieu à des dommages et intérêts. Tous droits réservés en cas de délivrance d’un brevet ou de l’enregistrement d’un modèle d’utilité. (DIN 34-1) Obligations Les données techniques fournies n’ont pour seul but que de décrire le produit, elles ne sont pas à comprendre en tant que propriétés garanties au sens légal. Tous droits de modification de ce document et de disponibilité du matériel réservés. Editeur Bosch Rexroth AG Boîte postale 11 62 D-64701 Erbach Berliner Straße 25 D-64711 Erbach Tél. :+49 (0) 60 62/78-0 Fax :+49 (0) 60 62/78-4 28 Dpt.: BRC/ESM11 (WE) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls III Table des matieres Table des matieres Page 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2 2.3 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 3 3.1 3.2 3.3 3.4 3.5 4 Consignes de sécurité . . . . . . . . . . . . . . . . . . . . 1-1 Conformité d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Personnel qualifié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conseils de sécurité sur les produits . . . . . . . . . . . . . . . . . . . Consignes de sécurité contenues dans ce manuel . . . . . . . Consignes de sécurité pour le produit décrit . . . . . . . . . . . . 1-1 1-3 1-4 1-5 1-6 Fondements de la programmation CN . . . . . 2-1 Principes fondamentaux concernant la programmation standard et CPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liaison de programmes CN . . . . . . . . . . . . . . . . . . . . . . . . . . . Eléments de base d’un programme CN . . . . . . . . . . . . . . . . Sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmation label et instructions de saut . . . . . . . . . . . . . Instructions de décision et de ramification . . . . . . . . . . . . . . Instructions de répétition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmation de variables . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions CPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Autres éléments de base CPL . . . . . . . . . . . . . . . . . . . . . . . . Ordres pour la synchronisation du bloc CN . . . . . . . . . . . . . 2-2 2-5 2-7 2 - 26 2 - 35 2 - 41 2 - 45 2 - 48 2 - 65 2 - 70 2 - 73 Fonctions CN avec syntaxe conforme à la DIN 66025 (incl. extensions) . . . . . . . . . . . . . . 3-1 Synoptique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmation de l’avance et de la vitesse de rotation . . . Correction outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3-3 3 - 95 3 - 106 3 - 110 Fonctions CN avec syntaxe de langue standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 Un aperçu de toutes les instructions et fonctions G est joint en annexe. 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Fonction CPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Valeurs de coordonnées et d’axes . . . . . . . . . . . . . . . . . . . . . Décalages d’origine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Corrections d’outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Base de données outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Placements (Plan incliné) . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accès généralisé à Tables XML . . . . . . . . . . . . . . . . . . . . . . . Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Données système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adresse d’axe variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 5 - 19 5 - 21 5 - 23 5 - 26 5 - 29 5 - 30 5 - 31 5 - 45 IV Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Table des matieres 5.10 5.11 5.12 5.13 5.14 5.15 5.16 A A.1 A.2 A.3 A.4 A.5 Interface SPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saisie des temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreurs et catégories d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . Couplage NCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traitement de chaînes de caractères . . . . . . . . . . . . . . . . . . . Traitement de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 46 5 - 48 5 - 50 5 - 53 5 - 101 5 - 119 5 - 145 Annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Abréviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synoptique sous forme de tableau des fonctions CN . . . . . Blocs de signes ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes de touches supplémentaires . . . . . . . . . . . . . . . . . . . . Registre des mots clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 A-2 A - 53 A - 53 A - 54 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 1-1 Consignes de sécurité 1 1.1 Consignes de sécurité L Lisez ce manuel avant de programmer ou avant de modifier des programmes existants! L Conservez ce manuel d’utilisation à un emplacement toujours accessible à tous les utilisateurs! Conformité d’utilisation Ce manuel d’utilisation contient les indications pour une utilisation conforme à la finalité. Pour des raisons de clarté, il ne contient cependant pas l’ensemble des détails relatifs à toutes les combinaisons de fonctionnement possibles. Il est également impossible de tenir compte de tous les cas d’intégration et de fonctionnement imaginables. Une commande IndraMotion MTX- est destinée à: D La programmation de technologies de contour et d’usinage- (avance de trajectoire, vitesse de rotation de la broche, changement d’outil) d’une pièce à usiner. D Le guidage d’un outil d’usinage sur une trajectoire programmée. Les entraînements d’avance, les broches et les axes auxiliaires d’une machine outil sont commandés via l’interface SERCOS. Toute autre utilisation est inadaptée! . En dehors de cela, des composantes E/S sont nécessaires pour l’API intégré qui commande – en communication avec la CNC – l’ensemble du processus d’usinage de la machine et qui en contrôle la sécurité. . Le bon fonctionnement en toute sécurité du produit suppose un transport professionnel, un stockage, une mise en place et un montage effectués par des spécialistes, et une utilisation soignée. Les produits décrits D ont été développés, produits, contrôlés et documentés en respectant les normes de sécurité. En respectant les prescriptions de manipulation et les consignes techniques de sécurité décrites pour la projection, avec un montage et un fonctionnement conformes à la destination, le produit ne présente pas, dans les cas normaux, de danger pour les personnes ou le matériel. D répondent aux exigences D des directives EMV- (89/336/EWG, 93/68/EWG et 93/44/EWG) D de la directive basse tension (73/23/EWG) D des normes harmonisées EN 50081-2 et EN 50082-2 D sont prévus pour l’exploitation dans un environnement industriel, c’est à dire 1-2 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Consignes de sécurité D pas de raccordement direct à l’alimentation basse tensionpublique, D raccordement via un transformateur au réseau de moyenne- ou haute tension. Les appareils de classe -A- peuvent être utilisés dans les secteur résidentiels, commerciaux ou industriels ainsi que dans les petites entreprises s’ils sont pourvus des indications suivantes: . Ceci est un dispositif de classe A. Ce dispositif peut provoquer des parasites radio dans les secteurs résidentiels; dans ce cas il peut être exigé de l’exploitant qu’il mette en place à ses frais des mesures adaptées. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 1-3 Consignes de sécurité 1.2 Personnel qualifié Le personnel qualifié doit répondre aux exigences décrites par ZVEI et VDMA, à savoir: Formation au techniques d’automatisation Éditeur: ZVEI et VDMA MaschinenbauVerlag Postfach 71 08 64 60498 Frankfurt Ce manuel est destiné aux programmeurs-CN et aux projecteurs-CN. Ces personnes requièrent des connaissances particulières sur D le mode d’action, la syntaxe et la réserve d’ordres de la -programmation- standard de IndraMotion MTX. La programmation, le démarrage et l’utilisation, ainsi que la modification de paramètres programme doivent être effectués par un personnel spécialisé suffisamment formé! Ce personnel doit être en mesure de reconnaître les dangers possibles qui peuvent être provoqués par la programmation, les modifications de programme et en général par l’équipement mécanique, électrique ou électronique. Les interventions sur le matériel- et le logiciel de nos produits, si elles ne sont pas décrites sur cette notice d’utilisation, doivent impérativement être effectuées par notre personnel qualifié. En cas d’interventions non qualifiées au niveau matériel- ou logiciel ou en cas de non respect des avertissements donnés dans ce manuel d’utilisation ou apposés sur le produit, des dégâts personnels- ou matériels importants risquent de se produire. Seuls les spécialistes en électricité selon VDE826-09-01 (modifié), connaissant le contenu de ce manuel sont habilités à installer et à effectuer la maintenance des produits décrits. Ce sont des personnes qui D en raison de leur formation spécialisée, de leurs connaissances et expériences des normes concernées sont à même de juger des travaux à effectuer et de reconnaître les dangers possibles. D en raison d’une activité de plusieurs années dans un secteur comparable ont les mêmes connaissances que celles acquises après une formation spécialisée. Sur ce point, veuillez consulter et tenir compte de notre programme complet de formation. Les informations les plus actuelles sur les mesures, les logiciels et les systèmes de formation sont disponibles sur http://www.boschrexroth.com. Vous pouvez également vous renseigner auprès de: D notre Centre Didactique Erbach, Téléphone : (+49) (0 60 62) 78-600 D notre Centre de Formation Lohr-Wombach, Téléphone : (+49) (0 93 52) 40 43 25. 1-4 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Consignes de sécurité 1.3 Conseils de sécurité sur les produits Avertissement tension électrique dangereuse! Avertissement danger batteries! Composants mis en danger par l’électrostatique! Avertissement rayonnements lumineux nuisibles (émetteurfibre optique) Déconnecter la prise réseau avant ouverture! Conducteur de protection PE Terre générale R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 1-5 Consignes de sécurité 1.4 Consignes de sécurité contenues dans ce manuel TENSION ÉLECTRIQUE DANGEREUSE Ce symbole avertit d’une tension électrique dangereuse. Si cette consigne n’est pas respectée, il y a risque de dommages corporels. DANGER Ce symbole est utilisé pour indiquer un risque de dommages corporels si les consignes sont mal suivies ou ignorées. ATTENTION Ce symbole est utilisé pour indiquer un risque de dommages matériels ou logiciels si les consignes sont mal suivies ou ignorées. . Ce symbole est utilisé pour attirer l’attention sur un point particulier. L Ce symbole indique la description d’une action que vous devez effectuer. 1-6 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Consignes de sécurité 1.5 Consignes de sécurité pour le produit décrit DANGER Danger de mort par insuffisance de dispositifs d’ARRÊT D’URGENCE! Les dispositifs d’ARRÊT D’URGENCE doivent rester actifs et doivent pouvoir être atteints dans tous les modes d’exploitation. Un déverrouillage du dispositif d’ARRÊT D’URGENCE ne doit pas provoquer un redémarrage incontrôlé de l’installation! Vérifier d’abord la chaîne d’ARRÊT D’URGENCE, puis reconnecter! DANGER Mouvements erronés ou incontrôlés de l’axe! Testez des nouveaux programmes en détail, dans un premier temps sans mouvements d’axe! Pour cela, la commande offre dans le menu principal « Exécution » la possibilité de bloquer les mouvements d’axe ou les sorties de fonctions auxiliaires à l’aide de softkeys. DANGER Réactions incorrectes ou incontrôlées de la commande! Rexroth décline toute responsabilité pour les dommages indirects découlant de l’exécution d’un programme CN, d’un article CN individuel ou du déplacement manuel des axes. Rexroth décline également toute responsabilité pour des dommages indirects qui auraient pu être évités par une programmation appropriée de l’API! DANGER Les adjonctions d’équipement ou modifications peuvent nuire à la sécurité des produits décrits! Les conséquences peuvent être des dommages corporels, matériels ou environnementaux graves. Les adjonctions d’équipement ou les modifications de l’installation de fabricants autres que Rexroth doivent donc être autorisés explicitement par Rexroth. DANGER Les hautes performances des diodes lumineuses dans la connexion de fibre optique peuvent endommager la vue lors d’une exposition directe. Lorsque le convertisseur de fréquences est en service, ne regardez pas la diode lumineuse ou le bout ouvert d’un câble optique court connecté. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 1-7 Consignes de sécurité TENSION ÉLECTRIQUE DANGEREUSE Les travaux de maintenance sont – si pas spécifié différemment – à effectuer par principe uniquement lorsque l’installation est déconnectée! Dans ce contexte, l’installation doit être sécurisée contre une remise en marche non autorisée ou non intentionnelle. Si des travaux de mesure- ou de contrôle sont nécessaires sur l’installation active, ils doivent être effectués par des électriciens qualifiés. DANGER Mouvements d’outil et d’axe! Les moteurs d’avance et de broches pouvant amener des forces mécaniques très importantes risquent d’accélérer très rapidement sous l’effet de cette haute dynamique. D Ne jamais se trouver dans la zone de danger de la machine lorsque l’installation est en circuit! D Ne jamais désactiver les fonctions de l’installation touchant à la sécurité! D Signaler immédiatement toute apparition de perturbations sur votre installation à votre service de maintenance ou de réparation! ATTENTION N’utilisez que des pièces de rechange agrées par nous! ATTENTION Lors du travail avec les modules et les composants, respecter toutes les mesures de protection pour appareils sensibles à l’ électrostatique. Eviter les charges électrostatiques! Respecter les mesures de protection suivantes pour les modules et composants menacés par l’électrostatique (EGB)! D Le personnel responsable du stockage, du transport et de la manipulation doit avoir une formation en protection ESD. D Les EGB doivent être stockés et transportés dans leurs emballages de protection prescrits. D Les EGB ne doivent être utilisés par principe que sur les postes de travail ESD prévus et équipés à cet effet. D Le personnel, les plans de travail et tous les appareils et outils qui sont en contact avec EGB doivent avoir le même potentiel (par ex. mis à la terre). D Portez un bracelet de mise à la terre agréé. Le bracelet de mise à la terre doit être relié au plan de travail par le biais d’un câble doté d’une résistance intégrée de 1 MΩ. 1-8 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Consignes de sécurité D Les EGB ne doivent en aucun cas entrer en contact avec des objets rechargeable dont font partie la plupart des matières plastiques et synthétiques. D En cas d’utilisation d’EGB sur les appareils et lors de leur extraction, l’appareil ne doit pas être sous tension. Marque déposée Toutes les marques déposées des logiciels qui sont installés sur nos produits à la livraison, sont la propriété des fabricants respectifs. Chaque logiciel installé à la livraison est soumis à la loi du Copyright. Il ne peut être reproduit qu’avec notre accord ou en fonction des agréments de licence du fabricant respectif. PROFIBUSr est une marque déposée par l’association PROFIBUS Nutzerorganisation e. V. (association d’utilisateurs déclarée) SERCOS interfacet est une marque déposée par le Groupement d’Intérêt SERCOS interface e. V. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2-1 Fondements de la programmation 2 Fondements de la programmation CN Via un programme CN (programme pièce), une commande CN reçoit toutes les informations nécessaires pour le traitement d’une pièce à usiner sur une machine - outil. La structure d’un tel programme CN est variable; si bien il est possible de traiter quasiment n’importe quelle pièce à usiner avec les technologies les plus diverses (fraiser, façonner au tour, tailler, etc.). Dans le programme de pièces se trouve non seulement l’information de mouvement décrivant la voie de l’outil par rapport à la pièce à usiner mais également l’information sur la technologie. L’ information de mouvement est divisée en éléments de contours élémentaires individuels (droites, cercles, spirales, courbes spline, nurbs, etc.). La commande peut alors exécuter les mouvements à chaque fois dans une seule étape de traitement, si toutes les étapes de traitement sont fixées dans l’ordre correct et avec toutes les conditions secondaires nécessaires dans le programme CN. Les conditions secondaires nécessaires se composent entre autres des fonctions technologiques (vitesses, vitesses de rotation, etc.) et des fonctions auxiliaires des machines (par ex. pour le réfrigérant, blocage d’axe). . Les directives fondamentales sur la structure d’un programme CN se trouvent dans la DIN 66025. Le contenu de la DIN 66025 ’Structure de programme pour machines à commande numérique’ (Partie 1 et 2) correspond à celui des normes internationales: ISO/DIS 6983 et ISO/DP 6983 ’Numerical control of machines’. Tous les programmes CN sont gérés par IndraMotion MTX dans le ”système de fichiers” de la commande. Il est en outre possible de connecter des lecteurs externes et de faire dérouler des programmes directement à partir de ces derniers. Davantage d’informations sur le système de fichiers et les droits d’accès ainsi que des informations sur la création et l’édition de programmes pièces se trouvent dans les instructions de service MTX. 2-2 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.1 Principes fondamentaux concernant la programmation standard et CPL La commande offre deux possibilités de programmation: D Programmation standard ou programmation DIN D Programmation CPL (CPL: Customer Programming Language). A l’aide de la programmation standard ou DIN, vous décrirez les séquences de mouvement et leurs conditions secondaires (géométrie, cinématique, dynamique, corrections, etc.). La programmation standard représente une pure langue d’ordres pour la commande de mouvements sur la machine et pour piloter des fonctions de machine spécifiques. La syntaxe de l’ IndraMotion MTX se compose d’ordres qui sont déterminées à l’intérieur de la DIN 66025 (codes G et M) ainsi que d’extensions dans le domaine des codes G et des éléments de syntaxe supplémentaires similaires à la langue standard. Les éléments de base de la programmation standard sont les dites fonctions CN auxquelles est affecté à chaque fois une syntaxe de programmation. Des paramètres supplémentaires peuvent être affectés à une fonction CN à partir de laquelle la fonction est paramétrée. Exemple : Fonction CN : G2 Paramètre : I, J, K, R interpolation circulaire dans le sens des aiguilles d’une montre coordonnées de point central, rayon La programmation CPL (Customer Programming Language) s’oriente sur le standard du BASIC, mais elle contient également des éléments de structure similaires à Pascal. De ce fait, elle s’apprend facilement. CPL est une véritable langue de programmation et de ce fait représente une extension des possibilités de programmation. Elle comprend des éléments de programme se trouvant en dehors du centre de la commande de la machine, des fonctions spéciales de système rendant possible l’accès aux données de système. La programmation CPL offre les possibilités suivantes: D Programmation symbolique avec des variables D Traitement de chaînes de caractères D Traitement de fichiers D Opérateurs mathématiques: +, - , *, /, et fonctions trigonométriques, ... D Opérateurs de comparaison: =, <, >, ... D liaisons logiques: NOT, AND, OR, ... D Structures de contrôle pour la commande du déroulement de programme: REPEAT, WHILE, FOR, IF, CASE, GOTO, ... D Fonctions de système pour la détermination d’états internes de système : positions, fonctions actives, données d’outils, signaux d’interface, ... R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2-3 Fondements de la programmation D Services de processus: sélection du programme, position initiale, lancement du programme, définition de mode Il est ainsi possible de créer et d’enregistrer des déroulements quelconques d’exécution avec une écriture variable. Les instructions CPL sont, généralement, écrites en lettres capitales en tenant en compte les définitions formelles. L’utilisation de CPL résulte en: D programmes CN plus courts dans le cas de répétitions et de parties de programme de même nature D variantes de programmes dépendant de l’état par accès aux états de système de la commande. Une différence essentielle entre la programmation standard et CPL consiste dans le fait que toutes les parties CPL sont supprimées déjà au moment de la préparation de bloc, dès la lecture de la ligne de programme correspondante. Pour le traitement du bloc ultérieur et au moment de l’interpolation du bloc CN, les parts CPL ne sont ainsi plus existantes. Caractérisation des éléments CPL à l’intérieur d’un programme de pièces! A l’intérieur d’un programme de pièces, il est possible d’utiliser la programmation CPL comme programmation standard. Pour des raisons de clarté et notamment pour une interprétation performante de programme, les parties du programme CPL doivent être caractérisés, spécialement: D les blocs de programmation contenant exclusivement des éléments CPL doivent être caractérisés directement au début du bloc avec une valeur en nombre entier sans signe (numéro de la ligne). Exemple: 20 Ax1$=”U” Attribuer la valeur ”U” au bloc CPL 20 de la variable string ”Ax1$”. D Si des éléments CPL sont programmés à l’intérieur d’un bloc CN standard (par ex. à cause d’une programmation de variables symboliques), les parties CPL sont à mettre entre crochets (”[” et ”]”). Ceci sert à attribuer une valeur paramétrable aux fonctions CN et paramètres de fonctions CN. Pour cette raison seules des expressions qui à l’intérieur de CPL peuvent se trouver sur le côté droit d’un signe ”=” (variable, expressions mathématiques, fonctions de système fournissant une valeur correspondante) sont permises entre crochets. Exemple: 2-4 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation N10 G1 Y[CPOS(X)] Dans le bloc CN N10, l’axe Y doit être déplacé sur la position de la pièce à usiner qui a été programmée en dernier pour l’axe X. N20 ROT([360/A+SIN(B)]) Dans le bloc CN N20, activer l’aide à la saisie ’tourner’. L’angle de rotation est défini à l’aide d’une expression CPL. 30 XPOS=100.5 Dans le bloc CPL 30, la valeur 100.5 est tout d’abord affectée à la variable ”XPOS”. Dans le bloc CN N40 le contenu de la variable ”XPOS” est transmis à l’axe X en tant que valeur de coordonnées. N40 G1 X[XPOS] Y10 Les moments d’interprétation entre les parts des langues CPL et standard sont à prendre en compte! Par la caractérisation particulière des parties de langage CPL, le programmeur peut immédiatement reconnaître les parties du programme qui sont supprimées dès la préparation de bloc. Les éléments de la programmation standard ne montrent un effet visible de l’extérieur qu’au moment de l’exécution du bloc sur la machine. Exemple : N523 KvProg(X[@KVX]) Au moment de l’exécution du bloc N523, la valeur à utiliser comme KV pour l’axe X est celle qui était affectée à la variable permanente @KVX au moment de la préparation de bloc. Jusqu’au moment de l’exécution du bloc N523, la variable @KVX peut toutefois recevoir une valeur tout à fait différente (qui a été écrite par ex. par un autre canal)! Afin d’éviter ici des incertitudes, il convient d’utiliser la fonction ”WAIT”. L’ordre Wait bloque la préparation de bloc jusqu’à ce que le bloc CN programmé directement auparavant ait été complètement traité. Ainsi la préparation de bloc est synchronisée avec l’état actif (moment de l’interpolation) de la commande. Puis la préparation de bloc du bloc programmé ensuite est poursuivie. A ce moment là il n’existe plus de bloc préparé étant donné qu’ils ont tous été traités auparavant. Exemple: WAIT N523 KvProg(X[@KVX]) Synchronisation de la préparation de bloc Au moment de l’exécution de bloc du bloc N523, la valeur à utiliser comme KV pour l’axe X est celle qui était affectée à la variable permanente @KVX au moment de la préparation de bloc. Du fait que la préparation de bloc a été synchronisée maintenant, il s’agit maintenant de la valeur active de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2-5 Fondements de la programmation 2.2 Liaison de programmes CN Après la sélection du programme, celui - ci est d’abord vérifié en ce qui concerne sa syntaxe et les destinations de saut possibles ainsi que les appels de sous- programmes. En outre, les structures correspondantes d’administration sont créées pour les variables CPL auxquelles la commande accède au moment de l’exécution. Ce processus est désigné comme liaison (ou préparation). La création d’un tableau de liaison pour le programme CN correspondant est le résultat d’une exécution de liaison avec succès. Tous les tableaux de liaison de la IndraMotion MTX sont archivés dans un répertoire spécial qui est déterminé dans le paramètre de machine 3080 00004. Le nom du tableau de liaison d’un programme résulte du nom du programme pièce en ajoutant la désignation terminale (extension) ”.l” (l : liaison). Pendant le démarrage de la commande, celle - ci recherche pour tous les tableaux de liaison existants le programme CN correspondant. La recherche est effectuée selon le chemin de recherche réglé dans le paramètre de machine 3080 00001. Les tableaux de liaison pour lesquels aucun programme pièce ne peut être trouvé, sont effacés. Lors d’une nouvelle sélection d’un programme CN déjà lié, l’ IndraMotion MTX utilise un tableau de liaison déjà existant dans la mesure où le programme de pièces n’a pas été modifié entre - temps. Une nouvelle liaison est effectuée après une modification de programme. Liaison de sous - programmes - liaison supplémentaire Si des sous - programmes sont appelés dans le programme à lier, la IndraMotion MTX vérifie si des tableaux de liaison valides existent. Si cela est le cas, de tels sous- programmes ne sont pas liés de nouveau. Ainsi le processus de liaison peut être considérablement raccourci. Si dans un programme de pièces ne se trouvent pas de parties CPL (sauts, variables CPL, expressions CPL, etc.), mais seulement des blocs CN (DIN) et des appels de sous-programmes, le programme ne doit pas être expressément lié avant l’exécution. Dans ce cas lors de la sélection du programme, la clé logicielle à bascule ”CPL Prog / DIN Prog” peut être commutée sur le réglage ”DIN Prog”. Le cas échéant, les sous-programmes sont également liés encore au moment de l’exécution du programme, ce qui peut entraîner un risque de délais dans le flux de traitement. Dans le cas de la programmation d’appels de sous-programmes par des variables CPL (par ex. P[UP$] ), la liaison pour ce sous-programme ne s’effectue que pendant l’exécution du programme, étant donné que le nom de la variable ne peut être supprimé qu’à ce moment. Un sous-programme appelé de cette manière est donc toujours lié ultérieurement dans la mesure où un tableau de liaison n’existe pas encore. 2-6 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Influencer le processus de liaison à l’aide de l’identificateur DIN/CPL. Dans les conditions décrites ci-dessus, il est aussi possible d’influencer la liaison directement par des instructions dans le programme de pièces, indépendamment de la position actuelle de la clé logicielle à bascule ”CPL Prog / DIN Prog”. A un tel effet le mot clé ”(DIN)” doit être programmé au début de la première ligne de programme. Dans ce cas aussi, les sous-programmes sont, le cas échéant, liés ultérieurement au moment de l’exécution. Il est également possible de programmer l’instruction (DIN) respectivement dans la première ligne d’un sous-programme, ce qui a pour effet, en revanche, que le sous-programme ainsi caractérisé n’est pas lié. En alternative, le mot clé ”DIN” (sans parenthèses) peut être écrit aussi directement derrière l’appel du sous-programme dans le programme appelant (voir pour ce point également le chapitre 2.6 sous-programmes). De manière analogue à l’instruction (DIN), il existe également le mot clé ”(CPL)” qui est à programmer lui aussi au début de la première ligne du programme. Cela force la génération d’un tableau de liaison pour le programme concerné, même s’il a été sélectionné sous le réglage ”DIN Prog” ou s’il a été appelé en tant que sous-programme avec la caractérisation DIN. Unités de liaison La liaison ultérieure au moment de l’exécution du programme crée à chaque fois des unités de liaison autonomes. D Si l’appel d’un sous-programme est programmé à l’aide de variables CPL (par ex.P[UP$] ), le programme appelant et le sous-programme appelé appartiennent à des unités de liaison différentes. D Si un sous-programme est programmé directement, mais une liaison ultérieure est effectuée (par ex. à cause de la caractérisation DIN lors de l’appel du sous-programme : P UP DIN), le programme appelant et le sous-programme appelé appartiennent certes à la même unité de liaison, mais tous les autres sous-programmes appelés par le sousprogramme appartiennent à une autre unité de liaison. En ce qui concerne la validité de variables CPL entre des programmes avec des unités de liaison différentes, ce qui suit s’applique: D Les variables globales sont définies de nouveau pour chaque unité de liaison. S’il existe donc des variables globales avec le même nom dans des (sous-) programmes avec des unités de liaison différentes, il s’agit ici de variables indépendantes les unes des autres. D Si des informations sur les variables fixes doivent être échangés entre les programmes avec des niveaux de liaison différents, ceci ne peut s’effectuer qu’avec l’aide de variables CPL permanentes ou structurées. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2-7 Fondements de la programmation HP : ... N10 P UP1 ... UP1 ... N1010 P UP11 DIN ... UP11 ... N2010 P UP111 100 UP$=”UP2” ... N200 P[UP$] ... ... N300 UP3 DIN UP111 ... UP2 ... UP3 ... N1010 P UP31 ... UP31 ... Limite d’une unité de liaison 2.3 Eléments de base d’un programme CN Un programme CN se compose d’au moins 1 bloc de programmation. Pour les blocs de programmation, s’applique ce qui suit: D Au maximum 1 élément de contour (par ex. droite, arc de cercle) peut être programmé par bloc de programmation. D Les lignes vides avant ou après un bloc de programmation sont permises pour une meilleure structure/lisibilité du code de programmation. D Un bloc de programmation ne doit pas avoir plus de 512 caractères. D Un bloc de programmation se termine par le signe ASCII <LINEFEED>. D Un bloc de programmation se compose d’au moins un mot de programmation (par ex. fonction CN, paramètre de fonction). 2-8 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Instructions On entend sous ”instructions” les mots de programmation qui ont une influence directe ou indirecte sur la trajectoire de l’outil, le déroulement du programme, le statut, l’état ou la réaction de la commande. Toutes les fonctions CN sont par ex. des instructions typiques. Les fonctions CN disponibles se trouvent ensemble avec la règle de syntaxe nécessaire à chaque fois dans le chapitre 4. Les fonctions de parcours occupent une position particulière parmi les instructions: Les fonctions de parcours décrivent de quelle manière une position doit être approchée (par ex. droite, cercle, avec ou sans interpolation des axes impliqués, mouvement d’approche en avance ou en vitesse rapide, etc.). Exemples: G0, G1, G2 Les fonctions de parcours sont souvent programmées dans un seul bloc en commun avec des définitions de position, de course ou de rayon. Dans de tels cas, les fonctions de parcours déclenchent aussi toujours des mouvements de déplacement. De même les définitions de position ou de course, programmées dans un seul bloc de programmation sans une fonction de course, déclenchent toujours des mouvements de déplacement, étant donné qu’il y a toujours une fonction de parcours quelconque active. Exemple: Fonction de course avec définition de coordonnées G01 X40 Y50 Se déplacer en avance vers X40/Y50 Définition de coordonnées Fonction de course Conditions supplémentaires On entend sous conditions supplémentaires les mots de programmation avec lesquels les conditions secondaires nécessaires pour le traitement ou pour la technologie sont réglées sur la machine. Les mots de programmation avec effet de conditions supplémentaires : F<nombre> influence l’avance d’axes synchrones FA<nombre> influence l’avance d’axes asynchrones S<nombre> influence la vitesse de rotation de la broche M<nombre> active les fonctions M (par ex. sélection de rapports de réduction, sens de rotation de la broche, appel d’un sous-programme). Les fonctions auxiliaires sont souvent programmées en tant que fonctions M également. T<nombre> sélectionne les outils Les mots de programmation sont expliqués plus en détail dans le chapitre 4. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2-9 Fondements de la programmation Exemple: Information sur la course avec conditions additionnelles Se déplacer en avance programmée vers X40/Y50 avec les valeurs programmées F (avance= Conditions additionnelles 250 mm/min) et S (vitesse de rotation= 500 mm/min); avec broche tournant vers la droite et tenir outil T05 à disposition dans le magasin outils. G01 G71 X40 Y50 F250 S500 T05 M03 . Bien que de telles conditions supplémentaires ne servent pas directement à la description du contour ou du tracé de la trajectoire, elles peuvent tout de même influencer des mouvements sur la machine, voire les déclencher (par ex. mouvement du magasin outils)! 2 - 10 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.3.1 Mots de programmation Un mot de programmation est: 1. une fonction CN, ou 2. un paramètre avec une valeur ou une liste des paramètres. Un paramètre est adressé dans le programme de pièces via sa syntaxe (adresse). . Les ordres de synchronisation de blocs CN et des appels de sousprogrammes représentent des cas spéciaux de fonctions CN, étant donné qu’ils peuvent être programmés en commun avec une liste des paramètres CPL. Chaque mot de programme se compose toujours à partir d’un ou de deux mots partiels pouvant être combinés de la manière suivante: Mot de program- Mot partiel 1: mation: Mot partiel 2: Exemples: Fonction CN Syntaxe de fonction - AxAcc G0 G52.1 Syntaxe de fonction Liste des paramètres AxAcc(...) G0(NIPS) Syntaxe de fonction Valeur D5 M777 Syntaxe de l’ordre - OFFSTOPA Syntaxe de l’ordre Liste des paramètres CPL WPV[@9=10] - P UP1 G4711 Syntaxe UP Noms UP Liste des paramètres CPL P UP2[7,@25] G81[Z,R1] Syntaxe du paramètre Valeur X - 23,45 Y=AC(40) S250 F5000 Syntaxe du paramètre Liste des paramètres O(0,0,1) ROTAX(0,45) Ordre de synchronisation Sous-programme Syntaxe UP, Nom UP Paramètre . Les codes G et M peuvent apparaître non seulement avec mais aussi sans mot partiel 2: D Pour les codes G et M avec une fonctionnalité fixe interne, l’indice numérique fait partie de la syntaxe, par ex. G0, G17, G54, M0, M3, M19, ... . R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 11 Fondements de la programmation D Pour les fonctions définies par l’utilisateur (appels de sous-programmes et de fonctions auxiliaires), l’indice numérique n’est pas un élément de la syntaxe mais représente la valeur pour la fonction. Ces fonctions sont configurées au sein des paramètres machine. Mots de programmation à partir de fonctions CN Ici s’applique de manière générale: D La syntaxe des fonctions CN peut se composer non seulement de codes G et M, mais aussi d’éléments de la langue standard. Exemples: ”G0”, ”G41”, ”G141”, ”G52.0”, ”M30”, ”Mirror(...)” Toutes les fonctions CN disponibles se trouvent ensemble avec la règle de syntaxe correspondante dans le chapitre 4. D Les fonctions CN peuvent avoir des paramètres supplémentaires avec lesquels il est possible de piloter le mode d’action des fonctions CN. Ici, 3 cas sont à différencier: D Les paramètres qui sont programmés en tant que mot de programmation autonome dans le bloc CN, par ex. ”G02 X10 I1.3 J2.5 G94 F1000”. Dans la plupart des cas, il s’agit de paramètres qui sont définis à l’intérieur de la DIN 66 025. D Les paramètres qui sont programmés en tant que mot de programmation, mais au sein d’une liste des paramètres avec des éléments de syntaxe spécifiques, par ex.”KvProg(X1.2,Y1.2)”. D Les paramètres à l’intérieur d’une liste des paramètres sans éléments de syntaxe spécifiques entourés dans des parenthèses, pour lesquels uniquement la valeur est programmée à la place définie, par ex. ”Coord(0,1)”, ”Rotate(45)”, ”GetAxis(Z1,Z,W,REV)”. D Les listes des paramètres peuvent être optionnelles et contiennent au moins un paramètre possible. Si plusieurs paramètres existent pour une liste des paramètres, ceux - ci doivent être séparés l’un de l’autre par une virgule. . Les paramètres existants mais qui ne peuvent pas être utilisés simultanément (paramètres alternatifs) sont marqués dans le présent manuel par le caractère ”|” entre les deux alternatives. Le caractère ”|” n’est pas programmé. D Les paramètres de fonctions CN peuvent être optionnels. S’ils ne sont pas programmés en même temps, il s’agit de manière générale de réglages standard pouvant être soit codés de manière fixe, soit enregistrés dans les paramètres de la machine, qui prennent effet. . Dans le présent manuel, nous caractérisons D les paramètres optionnels par des accolades et D Caractères de substitution pour des valeurs à programmer par crochets triangulaires. 2 - 12 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Les accolades et les crochets triangulaires ne sont pas programmés. Exemple: Règle de syntaxe: TangToolOri({SYM<s>},{ANG<a>}) A l’aide de la prescription de syntaxe vous pouvez reconnaître que les paramètres SYM et ANG sont à chaque fois des paramètres optionnels. Pour SYM, à la place du caractère de substitution <s> respectivement pour ANG à la place du caractère de substitution <a> une valeur appropriée doit être programmée. Les valeurs permises pour <s> et <a> sont indiquées en règle générale dans la règle de syntaxe. Une programmation possible pour la règle de syntaxe indiquée ci dessus serait donc ”TangToolOri(SYM4)”. Listes des paramètres sans éléments de syntaxe spécifiques: Tous les paramètres dans ce type de liste sont des constantes et sont transmis directement comme indice numérique ou comme nom. Ils doivent être programmés dans un ordre défini exactement car la signification de chaque paramètre est déterminée uniquement par sa position à l’intérieur de la liste. Un échange de l’ordre des paramètres peut avoir pour résultat un tout autre mode d’action: Exemple: GetAxis(X1,X,Y3,Y) Les axes avec les noms de système X1 et Y3 sont repris dans le canal et les noms des canaux ”X” et ”Y” leur sont attribués. GetAxis(X1,Y3,X,Y) Les axes avec les noms de système X1 et X sont repris dans le canal et les noms des canaux ”Y3” et ”Y” leur sont attribués. Les paramètres d’une liste des paramètres sans éléments spécifiques de syntaxe peuvent être optionnels. Dans de tels cas, s’applique ce qui suit: D Les paramètres optionnels au début et au milieu de la liste peuvent être omis, mais la virgule correspondante doit être programmée. C’est uniquement ainsi que la position des paramètres dans la liste reste claire. D Les paramètres optionnels à la fin de la liste peuvent être omis et la liste terminée avec ”)”. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 13 Fondements de la programmation Exemple: GetAxis(<Phy.Ax1> {,<Log.Ax1>} {,<Phy.Ax2} {,<Log.Ax2>} {,...}) programmé sans paramètres au milieu: programmé sans paramètres à la fin: GetAxis(X,,Z) GetAxis(X) Utilisation d’expressions CPL dans les listes des paramètres sans éléments spécifiques de syntaxe: D Si des éléments individuels doivent être transmis en tant qu’expression CPL, ceux - ci doivent être à chaque fois entre crochets. Exemple: Noms de variables en tant que paramètre de transfert : 10 AX1$=”U” 20 AX2$=”V” : N100 G17([AX1$],[AX2$]) La variable string ”AX1$” reçoit le contenu ”U”. La variable string ”AX1$” contient le contenu ”V”. G17 circonscrit le plan de travail avec les axes U et V. Listes des paramètres avec éléments de syntaxe spécifiques: L’ordre de tous les paramètres dans ce type de liste est libre car la signification d’un paramètre est déterminée par sa syntaxe programmée. Exemple: ”KvProg(X1.2,Y1.4,Z1.6)” et ”KvProg(Z1.6,Y1.4,X1.2)” semblent être identiques étant donné que les valeurs KV individuelles peuvent être attribuées de manière univoque à l’aide des adresses des axes X, Y et Z. Les expressions CPL peuvent être utilisées non seulement pour les éléments de syntaxe mais aussi pour les indices numériques. Ceux - ci doivent être mis entre crochets ”[” et ”]”. Exemple: 20 valeur=1.2 Attribuer à la variable ”VALEUR” la valeur 1.2. N30 KvProg(Y[VALEUR],X1.2) Programmer les valeurs KV des axes Y et X. L’axe Y reçoit la valeur se trouvant dans la variable ”VALEUR”, l’axe X reçoit la valeur 1.2 (constante) 2 - 14 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Exemple : 40 ACHSB$=”X”:FACT%=2 Attribuer la valeur ”X” à la variable string ”ACHSB$” et la valeur 2 à la variable intégrale ”FACT%”. N50 Scale([ACHSB$][FACT%]) Mettre en service le cadrage de facteur 2 pour l’axe ”X”. Correspond à la programmation: Scale(X2) Exemple: 60 DIM PARAMETER$(10) 70 PARAMETER$=”X2” N80 AxAcc([Parameter$]) Créer un champ de caractères pour un string avec 10 caractères au maximum. Attribuer à l’axe ”X” l’accélération d’axe 2 m/s2. Mots de programmation en tant que paramètre Paramètres avec la valeur suivante: Pour de tels mots de programmation, s’applique en général ce qui suit: D Une adresse commence toujours avec une lettre et peut être composée à partir de plusieurs caractères. D Les mots de programmation avec adresse et chiffres sont utilisés par ex. pour la programmation de D Désignations d’axes et coordonnées (par ex. X..., Y..., Z..., B...) D Rayons (R...) et paramètres d’interpolation (I..., J..., K...) D Valeurs d’avance ou temporaires (F...) D Vitesses de rotation de la broche et vitesses de coupe (S..., Si=...) D Corrections outil externes (ED...) D Corrections D (D...) D Fonctions auxiliaires (M..., T...) D Les zéros de tête n’ont pas besoin d’être programmés. D Les nombres décimaux sont écrits avec un point décimal, les zéros consécutifs sont facultatifs ( ”X100.500” correspond par exemple à ”X100.5”) D Si aucun signe ou un signe positif n’a été programmé, la valeur qui suit est toujours interprétée comme positive. Un signe négatif déclare une valeur négative. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 15 Fondements de la programmation Exemple: Mot de programmation, composé de lettres d’adresse et d’un chiffre (ici : valeur de coordonnée de l’axe X) X-2407.0458 Valeur après la virgule Valeur avant point décimal Signe (+/ - ) Lettre d’adressage Paramètres avec liste suivante de paramètres: Pour de tels mots de programmation, s’applique en général ce qui suit: D Les mêmes déclarations que pour les mots de programmation composés d’une adresse et d’un chiffe sont ici globalement valides. D La liste des paramètres doit être programmée derrière l’adresse et mise entre parenthèses. Les éléments individuels doivent être séparés les uns des autres par des virgules. D Les éléments dans la liste des paramètres sont des constantes et sont transmis directement comme indice numérique ou comme nom. Ils doivent être programmés dans un ordre défini exactement car la signification de chaque paramètre est déterminée uniquement par sa position à l’intérieur de la liste. D Si des éléments individuels doivent être transmis en tant qu’expressions CPL, ceux - ci doivent être transmis entre crochets. D Les mots de programmation avec adresse et liste des paramètres sont utilisés par ex. pour la programmation de D Coefficients spline (par ex. X(...)..., Y(...)..., Z(...)..., B(...)...) D Orientation vectorielle (O(...), ROTAX(...) ) Attributs de programmation Lors de la programmation de positions d’axes et de coordonnées, il est possible en option d’indiquer un attribut de programmation pour la valeur de position programmée. Sans attribut de programmation la valeur de position est interprétée conformément à l’état modal actuel de la machine. Avec l’attribut de programmation, l’état modal peut être remplacé localement par axe ou coordonnée. L’ IndraMotion MTX connaît les attributs suivants: AC(...): L’indication de position programmée est interprétée de manière absolue, indépendamment de G90/G91. IC(...): L’indication de position programmée est interprétée de façon incrémentielle indépendamment de G90/G91. 2 - 16 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation DC(...): ACP(...): ACN(...): La position programmée pour un axe sans fin est approchée par le parcours le plus court, indépendamment des réglages dans les paramètres de machine et de la programmation de la fonction ”PosMode”. La position programmée pour un axe sans fin est approchée avec un sens de rotation positif, indépendamment des réglages dans les paramètres de machine et de la programmation de la fonction ”PosMode”. La position programmée pour un axe sans fin est approchée avec un sens de rotation négatif, indépendamment des réglages dans les paramètres de machine et de la programmation de la fonction ”PosMode”. Exemples: N10 G90 G1 F1000 X10 Y=IC(15) L’axe X se déplace en absolu sur la position 10, l’axe Y avance de 15 mm de manière incrémentielle. N20 G91 X=AC(15) Y5 En dépit de G91, l’axe X se déplace sur la position absolue 15, l’axe Y se déplace en avance de 5 mm de façon incrémentielle. N30 B=DC(90) L’axe B (axe sans fin) doit s’approcher sur le parcours le plus court sur la position 90 degrés. N40 B=ACP(350) L’axe B doit s’approcher à la position 350 degrés avec sens de rotation positif (course de déplacement: 260 degrés). L’axe B doit s’approcher à la position 0 degrés avec sens de rotation négatif (course de déplacement: 350 degrés). N50 B=ACN(0) Utilisation de caractères de séparation entre 2 mots partiels Chaque mot partiel peut se composer d’un ou plusieurs caractères (chaîne de caractères). Chaque caractère programmable peut être classifié conformément aux groupes suivants: D lettres: ”A” - ”Z”, ”a” - ”z” D chiffres (le point décimal inclus!): ”0” - ”9”,”.” D caractères ayant l’effet d’un caractère de séparation: ” ”, ”=”, ”+”, ” - ”, ”(”, ”)” D Autres caractères spéciaux (sans autre pertinence) Un caractère de séparation doit être programmé entre 2 mots partiels voisins si: D le mot partiel se trouvant devant termine avec une lettre ou un chiffre, et R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 17 Fondements de la programmation D le mot partiel se trouvant derrière commence avec une lettre ou un chiffre. Ceci est par exemple le cas D si une autre syntaxe suit une fonction CN sans valeur ni liste des paramètres, ou D si une syntaxe de paramètres se termine avec un chiffre et un indice numérique doit être attribué au paramètre. Exemples: 1. N10 OVE FeedForward(...) convient: ” ”. caractère de séparation qui 2. N20 X2=2 caractère de séparation qui convient: ”=” Dans le 2ème cas, il est également possible d’utiliser ” ” ou ”+” comme caractère de séparation alternatif, et lors d’une attribution de valeur négative, ” - ” est également possible. L’utilisation de caractères de séparation peut être également significative pour des listes des paramètres avec éléments spécifiques à la syntaxe! Particularités pour les désignations d’axe et de coordonnées Les désignateurs d’axes et de coordonnées souhaités sur votre commande sont à déterminer dans les paramètres de machine: D MP 1003 00001 désignation d’axe système D MP 7010 00010 désignation d’axe canal D MP 7010 00020 noms optionnels d’axes canal D MP 7080 00010 noms de coordonnées du canal D MP 7080 00020 noms de coordonnées cartésiennes du canal Les désignations d’axes et des coordonnées commencent toujours avec une lettre et peuvent: D se composer d’une ou plusieurs lettres, le nom du string de caractères en résultant ne devant toutefois pas être celui d’une fonction CN. Exemples: ”X”, ”PALETTE” D se composer d’une/plusieurs lettres et se terminer avec un chiffre. Exemples: ”X1”, ”PALETTE1” D Ici pour la séparation entre le désignateur et la valeur suivante, doit être programmé un caractère de séparation approprié: ”=”, ”+”, ”- ” ou un espace. 2 - 18 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Exemple: Les désignateurs d’axe ”X” et ”X2” sont définis. N40 N50 N60 N70 N80 N90 N100 N110 N120 N130 2.3.2 G1 G1 G1 G1 G1 G1 G1 G1 G1 G1 X10 X20 X2.5 X=2.2 X 2.8 X2 X2 1 X2=2.8 X2+3 X2-2.4 Axe X s’approche à la position 10 Axe X s’approche à la position 20 Axe X s’approche à la position 2.5 Axe X s’approche à la position 2.2 Axe X s’approche à la position 2.8 Axe X s’approche à la position 2 Axe X2 s’approche à la position 1 Axe X2 s’approche à la position 2.8 Axe X2 s’approche à la position 3 Axe X2 s’approche à la position - 2.4 Fin de programme La fin d’un programme ou d’un sous-programmeest atteinte dans les cas suivants: D en fin de fichier, ou D avec une ligne de programmation comportant ”M2”, ”M02” ou ”M30”. Sur la pageSeite 3 - 96, vous trouverez plus de détails sur les fonctions M mentionnées. Exemple: : N250 ... M30 N250 est le dernier bloc de programmation. Fin de programme. Après la fin d’un sous - programme le système retourne dans le programme appelant. Tous les états modaux (”modal” voir page 2 - 19) sont conservés. Après la fin du programme principal, il est effectué un saut à son début dans l’attente d’un nouveau ”Start CN”. Si ”M2”, ”M02” ou ”M30” a été utilisé comme fin HP, les états modaux sont mis sur la partie M30 du initstring. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 19 Fondements de la programmation 2.4 Effet de mots de programmation Les mots de programmation peuvent avoir un effet ”modal” ou ”non modal”. modal ”modal” signifie qu’un mot de programmation reste aussi longtemps effectif dans chaque bloc de programmation suivant, jusqu’à ce que vous D programmiez le même mot de programmation avec une autre valeur, D programmiez un autre mot de programmation annulant son effet, ou D désactiviez la fonction du mot de programmation de façon ciblée. . Parfois la notion à ”maintien automatique” est également utilisé comme synonyme pour ”modal”. Exemple pour un programme de pièces CN: N10 F1000 N20 G0 X0 Y0 N30 Z100 N40 G1(IPS1) X10 Y10 N50 X20 N60 G1(IPS2) X30 Y30 N70 X40 Y40 F500 N80 G0 X0 Y0 N90 Scale(X2,Y2) : N200 Scale() Mettre la vitesse d’avance à 1000 mm/min. F1000 exerce un effet modal. Interpolation linéaire en vitesse rapide sur position X0/Y0. G0 exerce un effet modal. Interpolation linéaire en vitesse rapide sur position Z100. Interpolation linéaire (en avance; avec fenêtre de positionnement fine) avec 1000 mm/min sur position X10/Y10. G1 annule l’effet de G0. G1(IPS1) a un effet modal. Interpolation linéaire (en avance; avec fenêtre de positionnement fine) avec 1000 mm/min sur position X20/Y10. Interpolation linéaire (en avance; avec fenêtre de positionnement approximative) avec 1000 mm/min sur position X30/Y30. G1 a été programmé avec une autre valeur (IPS2). G1(IPS2) a un effet modal. Interpolation linéaire (en avance; avec fenêtre de positionnement fine) avec 500 mm/min sur position X40/Y40. F a été programmé avec une autre valeur (500). F500 exerce un effet modal. Interpolation linéaire en vitesse rapide sur position X0/Y0. G0 annule l’effet de G1(...). G0 exerce un effet modal. Activation du facteur d’échelle. Le facteur d’échelle un effet modal. Le facteur d’échelle reste encore actif. Désactiver le facteur d’échelle. 2 - 20 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation non modal ”non modal” signifie qu’un mot de programmation n’a effet que dans le bloc de programmation dans lequel il a été programmé. . Parfois les notions ”sans maintien automatique” ou ”local” sont également utilisées comme synonymes pour ”non modal”. Exemple pour un programme de pièces CN : N10 G1 F1000 N20 G75 X100 Y100 N30 Z100 Activer l’interpolation linéaire. G1 exerce un effet modal. Mettre la vitesse d’avance à 1000 mm/min. F1000 exerce un effet modal. Le palpeur de mesure G75 n’exerce pas un effet modal. Dans ce bloc la fonction modale G1 est écrasée par la fonction G75. Interpolation linéaire en vitesse d’avance vers Z100. G1 reste toujours actif de manière modale. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 21 Fondements de la programmation 2.5 Eléments spéciaux de configuration du programme 2.5.1 Caractérisation de canal Outil pour déterminer dans quel canal le programme concerné peut être exclusivement utilisé. Le démarrage dans un autre canal entraîne une erreur d’exécution. La désignation du canal est écrite au début du programme. Syntaxe: $<numéro du canal> Exemple: N10 $2 : M30 2.5.2 Ce programme ne peut être exploité que dans le canal 2. Instructions programmées Fin de programme Numéros de bloc D Vous pouvez caractériser des blocs de programmation avec un numéro de bloc afin d’améliorer la lisibilité des codes de programmation. Dans la mesure où vous attribuez des numéros de bloc univoques, il est possible de programmer des sauts sur ces numéros de bloc. D Les blocs de programmation ne contenant que des éléments CPL doivent être caractérisés avec un numéro de bloc. De tels blocs sont également désignés comme blocs CPL. On notera ici que: D les numéros de bloc doivent toujours être programmés comme premier mot CN dans une ligne de programmation. D Les numéros de bloc de blocs CN standard se composent de la lettre d’adresse ”N” et d’un nombre positif qui suit directement. (Exemple : ”N10”, ”N10.2”). Prendre en compte que les expressions CPL au sein de blocs CN standard doivent être mises entre crochets. D Les numéros de blocs CPL purs se composent exclusivement d’un chiffre positif sans signe (Exemple : ”10”, ”11.9”). L’instruction CPL ou l’accord du bloc est programmé derrière le numéro de bloc. D Si un bloc CPL se termine avec ”:” il faut connecter un autre bloc CPL qui ne possède pas de numéro de ligne. 2 - 22 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.5.3 Lignes vides dans le code de programmation A l’aide de lignes vides, le programme peut être structuré, en augmentant ainsi la clarté. Les lignes vides sont ignorées par la commande. 2.5.4 Commentaires dans un programme pièce Pendant l’exécution du programme, les commentaires sont ignorés par la commande. Utiliser des commentaires pour: D documenter le code de programmation ou le doter d’explications D commenter en détail des lignes de programme entières ou des éléments individuels. Les programmes bien commentés facilitent et accélèrent des remaniements ultérieurs, par exemple lorsque des modifications doivent être effectuées sur le programme. Chaque caractère de commentaire entraîne cependant une augmentation d’1 octet du fichier de programmation. Commentaires en détail de lignes de programme complètes Vous avez la possibilité de masquer complètement chaque ligne de programme, peut importe qu’il s’agisse d’un bloc CN standard ou d’un bloc CPL. Pour effectuer les commentaires en détail: D programmer un point-virgule ”;” au début du bloc, ou D mettre la ligne complète entre parenthèses ”(” et ”)”. Commentaires dans un bloc CN standard A l’intérieur d’un bloc CN standard, il est possible de programmer un commentaire à tout endroit: D Programmer un point-virgule ”;” à l’endroit du début du commentaire. La commande interprétera la ligne de programmation à partir du point-virgule jusqu’à la fin de la ligne comme commentaire. D Limiter les commentaires terminés à l’intérieur d’un bloc CN standard avec des parenthèses ”(” et ”)”. Par ceci il est également possible de programmer des ”commentaires imbriqués”, par ex. si vous voulez masquer une séquence à l’intérieur d’une ligne de programmation, dans laquelle se trouve déjà un commentaire entre parenthèses. Les parenthèses ne doivent pas être utilisées derrière des fonctions pour lesquelles une liste des paramètres peut être programmée en option (par ex. G0, G1, G61), sans que cette liste ait été programmée. Exemple: N10 G0 (<texte commentaire>) N20 G0 (NIPS) (<texte commentaire>) Programmation invalide! Programmation valide R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 23 Fondements de la programmation D Il est possible d’ouvrir un commentaire avec ”//” après une fonction avec une liste optionnelle des paramètres possibles s’il manque la liste des paramètres. En option, un tel commentaire peut être terminé avec ”\\”. Commentaires dans un bloc CPL A l’intérieur d’un bloc CPL, il convient d’ouvrir un commentaire avec ”REM”. La commande interprétera la ligne de programmation à partir de l’instruction REM jusqu’à la fin de la ligne comme commentaire. Syntaxe: REM <texte commentaire> Exemple: ... 10 ... REM ***UP pour démasquer le mot de statut*** Exemples pour des commentaires dans le programme pièce: : ; <Commentaire> ;N10 <bloc CN standard> ;20 <CPL> ( <commentaire> ) (N30 <bloc standard CN>) (40 <CPL>) N50 G1 X0 Y0 ; <commentaire> N60 G1 (IPS) (<commentaire>) F1000 N70 X10 (Y10 (<commentaire>)) N80 G0 //<commentaire> N90 G0 //<commentaire>\\ X0 Y0 100 REM <commentaire> Code de programmation Ligne de commentaire: Masquer le bloc CN standard Masquer le bloc CPL Ligne de commentaire: Masquer le bloc CN standard Masquer le bloc CPL Commentaire dans un bloc CN standard Commentaire terminé dans un bloc CN standard ”Commentaire imbriqué” dans un bloc CN standard. Commentaire derrière une fonction pour laquelle des paramètres optionnels pourraient être programmés Commentaire terminé derrière une fonction pour laquelle des paramètres optionnels pourraient être programmés Commentaire dans un bloc CPL. 2 - 24 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.5.5 Remarques dans l’interface utilisateur Utiliser la programmation de remarques afin d’afficher dans l’interface utilisateur CN des textes de remarque (80 caractères au maximum). Il est ainsi possible d’informer l’opérateur de la machine par ex. pendant l’exécution du programme D de l’état actuel du programme, ou D de donner des consignes de manipulation. Deux types de remarque sont différenciés: D les remarques spécifiques au canal: Elles sont effacées au moment de la désélection de programme ou à la position initiale du canal. Syntaxe: MSG (<texte remarque>) D Remarques multicanaux: Il est possible de les effacer avec la position initiale générale. Syntaxe: GMSG (<texte remarque>) Il est également possible de programmer une remarque pour éditer une consigne de manipulation pour l’opérateur de la machine. Pour ce faire, programmer dans la même ligne ou dans la ligne suivante par exemple un ”M0”. Vous assurez ainsi que le programme est interrompu directement à la suite de la sortie du texte remarque. La suite du déroulement du programme s’effectue seulement après actionnement de ”CN-Start” . Exemple: : Code de programmation N60 (MSG Mesurer pièce d’usinage Editer une remarque spécifi!) que au canal. N70 M0 Attendre la touche CN Start. : Code de programmation Pour des raisons de compatibilité, il existe quelques variantes alternatives de syntaxe pour la programmation des remarques qui sont toutefois toutes équivalentes en ce qui concerne la fonctionnalité. D Variantes de syntaxe pour remarques spécifiques au canal: (MSG <texte remarque>) (*MSG <texte remarque>) (MSG, <texte remarque>) (*MSG, <texte remarque>) D Variantes de syntaxe pour remarques multicanaux: (GMSG <texte remarque>) (GMSG, <texte remarque>) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 25 Fondements de la programmation 2.5.6 Sauts dans le déroulement du programme Plus les programmes sont volumineux, plus une ”programmation précise” est importante. Par cela, on entend principalement: D Une programmation structurée, D une tolérance à l’égard des erreurs, et D une ergonomie du logiciel. Les programmes structurés sont généralement plus clairs. Le résumé de sections sensées ou des fonctions souvent nécessaires pour les sous-programmes (paramétrés) ou sous une destination de saut, muni d’un indicateur (label) compréhensible conduit non seulement à une meilleure lisibilité mais aussi à un travail plus éfficace, étant donné que ces programmes peuvent être réutilisés dans d’autres programmes. Les possibilités suivantes sont disponibles: D appels de sous-programmes (voir chapitre 2.6 à partir de la page 2 - 26) Utiliser des sous-programmes si une section précise de traitement apparaît plusieurs fois de façon identique ou similaire au cours du traitement. Vous programmez cette section une seule fois (le cas échéant avec la possibilité de transmettre des paramètres), vous l’enregistrez en tant que programme et vous l’appelez tout simplement en cas de besoin. Cela permet d’économiser les codes de programmation et la capacité de mémoire. Par ailleurs, les programmes sont beaucoup plus clairs et beaucoup plus conviviaux du point de vue de l’entretien. D Instructions de saut (voir chapitre 2.7 à partir de la page 2 - 35) Utiliser les instructions de saut pour continuer à l’intérieur du programme actuel le déroulement du programme dépendant d’évènements définis (comme par ex. des résultats de calcul) à d’autres endroits. D Instructions de décision/de ramification (voir chapitre 2.8 à partir de la page 2 - 41) Utiliser de tels ordres si des blocs de programmation individuels, des éléments de programmation ou des sous-programmes complets doivent être exécutés en fonction de conditions définies. D Instructions de répétition (voir chapitre 2.9 à partir de la page 2 - 45) Utiliser les instructions de répétition si des éléments de programmation ou des sous-programmes doivent être exécutés à plusieurs reprises. Dans ce cas, il est également possible, en général, de déterminer le nombre de répétitions. 2 - 26 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.6 Sous-programmes Les programmes qui sont appelés par un appel de sous-programme sont nommés sous-programme (UP). A la suite de l’exécution d’un sousprogramme, le programme appelant continue son traitement en commençant derrière l’appel UP. On parle de sous- programme « récursif » quand un programme s’appelle lui - même. Le programme principal (HP) est le programme à partir duquel il est passé dans le premier niveau de sous-programme (niveau UP). D’un point de vue formel, il ne se pas fait de distinction entre programmes principaux et sous-programmes, mais seuls les sous-programmes peuvent disposer de paramètres de transfert. On notera ici que: D les sous-programmes peuvent contenir des blocs CN standard et des blocs CPL. D Chaque programme de pièce peut être appelé par d’autres programmes en tant que sous-programme. Cependant, un programme ne peut pas s’appeler lui- même en tant que sous-programme (appel recursif impossible). D Le programme appelant peut transmettre des paramètres à un sous- - programme. D La profondeur maximale d’imbrication est de 8, c’est - à - dire la commande peut maintenir ouverts simultanément 8 niveaux de sous-programmes au maximum. D La commande distingue entre majuscules et minuscules dans les noms de sous - programmes. . Informations au sujet de la fin d’un sous-programme voir chapitre 2.3.2 page 2 - 18. Exemple: Imbrication de sous-programmes UPx: Nom du sous-programme HP N1 .. . N9 N10 UP1 N11 .. . M30 UP1 N1 N23 UP2 N24 M30 1er niveau UP UP2 N1 N32 UP3 N33 M30 2ème niveau UP UP7 N1 UP8 N1 N44 UP8 N45 M30 7ème niveau UP M30 8ème niveau UP Il est distingué entre les sous-programmes locaux et modaux: D En règle générale les sous-programmes sont locaux. Dans ce cas, le sous-programme est appelé une fois à l’endroit d’appel. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 27 Fondements de la programmation D Si cependant un sous-programme modal est activé, celui - ci est appelé de nouveau avec chaque déplacement suivant programmé, jusqu’à ce qu’il soit désactivé de nouveau. Les cycles de perçage en constituent un exemple d’application. IndraMotion MTX offre les variantes suivantes d’appels de sous-programmes: D Appel avec adresse P et nom de sous-programme à partir d’un bloc CN standard (en option avec indication du chemin). D Appel uniquement par nom de sous-programme sans indication de chemin et sans adresse P à partir d’un bloc CN standard. D Sous-programme en tant que fonctions G ou M autodéfinies dans un bloc CN standard. D Activation d’un sous-programme modal avec syntaxe autodéfinie à partir d’un bloc CN standard. D Appel via la fonction CALL à partir d’un bloc CPL. Appel de sous-programmes avec adresse P D Le nom du sous-programme est programmé directement derrière l’adresse P. En option, le répertoire dans lequel se trouve le sous-programme peut être programmé en même temps. D Pour une meilleure lisibilité entre l’adresse P et le nom du sous-programme, un espace peut être programmé en tant que caractère de séparation. D L’appel du sous-programme doit être programmé à la fin du bloc. Les déplacements qui sont programmés dans le même bloc seront exécutés encore avant l’appel du sous-programme (voir exemple). D Dans un bloc peut être programmé au maximum 1appel de sous-programme. D L’appel du sous-programme est local (pas modal). Syntaxe: P{<chemin>}<nom> {DIN} avec <chemin> répertoire, dans lequel se trouve le sous-programme. <nom> nom du programme à appeler. DIN optionnel. Empêche la liaison du sous-programme. Utiliser ce paramètre seulement si l’UP n’appelle pas de blocs CPL ni d’autres UPs. Sinon un message d’erreur sera généré concernant la durée d’exécution du programme. Pour d’autres informations voir ordre CALL, page 2 - 31. 2 - 28 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Exemple: : N40 P gabarit de perçage N50 X100 : N140 G0 X10 Y0 PUP1 N150 Z0 : Appel du programme ”gabarit de perçage”. Une fois l’UP terminé, suit le bloc N50. D’abord le positionnement sur X10/Y0 en vitesse rapide. Ensuite appel du programme ”UP1”. Une fois l’UP terminé, suit le bloc N150. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 29 Fondements de la programmation Appel du sous-programme sans adresse P Il est également possible d’appeler des sous-programmes sans adresse P placée en amont. D Uniquement le nom du sous-programme est programmé directement. D L’indication d’un chemin n’est pas possible. D L’appel du sous-programme doit être programmé à la fin du bloc. Les déplacements qui sont programmés dans le même bloc seront exécutés encore avant l’appel du sous-programme (voir exemple). D Dans un bloc peut être programmé au maximum 1appel de sous-programme. D L’appel du sous-programme est local (pas modal). Syntaxe: <Nom> avec <nom> . nom du programme à appeler. S’assurer que cette variante de programmation ne provoque pas des confusions avec la syntaxe normale! Utiliser par conséquent un nom dépourvu de toute ambiguïté pour les sous-programmes, afin d’éviter des erreurs d’interprétation de la part de l’interpréteur de la commande. Exemples: : N40 XUP N50 X100 : N100 X1UP : : : : : N140 G0 X10 Y0 XUP N150 Z0 : Appel du programme ”XUP”. Attention! Le nom UP ”X1UP” programmé ici entraîne une erreur de syntaxe étant donné que ”X1” est interprété en tant que coordonnée d’un axe portant le nom ”X” et qu’un programme avec le nom ”UP” n’existe pas. D’abord le positionnement sur X10/Y0 en vitesse rapide. Ensuite appel du programme ”XUP”. Une fois l’UP terminé, suit le bloc N150. 2 - 30 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Appels de sous-programmes autodéfinis avec des codes G et M La commande vous fournit la possibilité en outre d’appeler en supplément aux sous - programmes déjà exécutés D des sous - programmes “non modaux” avec les adresses M (voir MP 3090 00003 et MP 3090 00004), et D des sous - programmes “non modaux” avec les adresses G (voir MP 3090 00001 et MP 3090 00002) de les définir vous - même. Il est possible d’attribuer des sous-programmes jusqu’à maximum 16 codes G et 8 codes M définis par l’utilisateur, qui sont appelés lors de la programmation des codes G ou M correspondants en tant que sous-programme local (non modal). Les codes G et M configurés en tant qu’appels de sous-programme ne doivent pas être en contradiction avec les codes G et M définis de manière fixe. . Pour plus de renseignements sur les appels de sous-programmes configurés spécialement sur votre machine, adressez - vous à votre responsable système. Lors de la programmation d’appels UP autodéfinis on notera: D uniquement le code G ou M correspondant est programmé dans le programme de pièces. Il en résulte de la configuration dans les paramètres de machine quel programme est ainsi appelé. D L’appel du sous-programme doit être programmé à la fin du bloc. Les déplacements qui sont programmés dans le même bloc, seront exécutés encore avant l’appel du sous-programme. D Dans un bloc peut être programmé au maximum 1appel de sous-programme. D L’appel du sous-programme est local (pas modal). Appels de sous-programmes modaux autodéfinis Les sous-programmes avec un effet modal sont exécutés après leur première appel de façon automatique à la suite de chaque déplacement imposé par un bloc CN standard. Ceci est valable jusqu’à ce qu’ils soient désactivés par une fonction CN spéciale. Les appels modaux de sous-programmes sont configurés dans les paramètres de machine (voir MP 3090 00005 et suivants) y compris syntaxe de la fonction d’arrêt. Il est possible de régler 15 sous-programmes au maximum qui se désélectionnent mutuellement. Les noms des sous - programmes sont attribués ce faisant aux syntaxes à définir librement. Il faut de plus indiquer le nombre maximal des paramètres pouvant être transmis au sousprogramme correspondant. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 31 Fondements de la programmation Les syntaxes des appels de sous-programmes modaux ne doivent pas être en contradiction avec les fonctions CN définies de manière fixe. . Pour plus de renseignements sur les appels de sous-programmes configurés spécialement sur votre machine, adressez - vous à votre responsable système. Les cycles de perçage G80, G81 - G86 et G184 sont configurés par défaut. Lors de la programmation d’appels UP modaux on notera: D Uniquement la syntaxe configurée correspondante du sous-programme modal est programmée dans le programme de pièces. Il en résulte de la configuration dans les paramètres de machine quel programme est ainsi appelé. D Seulement 1 appel de sous-programme peut être programmé dans un bloc. D L’appel de sous-programme est modal, c’est - à - dire le sous-programme est appelé de nouveau à la suite de chaque déplacement programmé jusqu’à ce qu’il soit désactivé. Appel de sous-programme dans CPL via l’ordre CALL L’ordre CALL offre la possibilité d’appeler des sous-programmes également à partir de programmes purement CPL. Pour la programmation, on notera: D Le sous-programme programmé après l’ordre CALL est appelé directement. D L’ordre CALL doit être programmée dans un bloc CPL séparé. D L’appel du sous-programme est local. Le nom du programme est situé derrière le mot clé CALL des paramètres de transfert dans des crochets et en dernier lieu la caractérisation ”DIN” (pour influencer le processus de liaison) peuvent suivre. . Dans un bloc CPL avec instruction CALL, ”:” ne doit pas être utilisé. Les instructions CPL suivantes doivent être programmées dans un nouveau bloc CPL. Exemple: 50 IF A% = 1 THEN %! CALL P999 %” ENDIF : 2 - 32 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Influence sur le processus de liaison (”Préparation”) à l’aide de la caractérisation ”DIN” Si vous programmez en tant que terminaison la caractérisation ”DIN” lors d’un appel de sous-programme via CALL, la commande n’effectue pas la liaison de l’UP appelé. Ainsi il est possible d’accélérer de manière considérable le processus de liaison par ex. d’un programme principal appelant de nombreux UP. Exemple : 50 IF A% = 1 THEN 51 CALL P999 DIN 52 ENDIF M30 UP ”P999” n’est pas lié Nous recommandons de programmer la caractérisation ”DIN” seulement si le sous-programme appelé D se compose exclusivement de blocs DIN, et D n’appelle pas d’autres sous-programmes. Si, en raison de la caractérisation ”DIN”, un sous-programme n’a pas été lié et contient des éléments CPL, la commande émet un message d’erreur en conséquence au cours de l’exécution du programme. De manière alternative il est également possible d’insérer la caractérisation ”DIN” en tant que commentaire dans la première ligne du sousprogramme à appeler. La commande n’effectue alors pas de liaison du programme. Exemple: Caractérisation ”DIN” dans le programme à appeler N10 (DIN) N20 ... : UP ”P999” n’est pas lié Transfert de paramètres à des sous-programmes A l’aide d’une liste des paramètres CPL, il est possible de transmettre des paramètres à un sous-programme. Pour ce faire, les paramètres sont mis dans une liste entre crochets ”[” et ”]” et programmés immédiatement après l’appel du sous-programme. Les différents paramètres sont séparés les uns des autres par des virgules. Les paramètres admissibles sont: D Nombres D Constantes string CPL (entre guillemets: ”<Constance string CPL>” D variable CPL D Expressions CPL arithmétiques Les paramètres transmis lors de l’appel UP sont contactés dans le sousprogramme toujours via les variables P1, P2, P3 etc. selon l’ordre du R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 33 Fondements de la programmation transfert des paramètres. Il est également possible de contacter les paramètres par P1TEST, P2XYZ etc., les lettres majuscules qui suivent P1, P2 etc. seront cependant ignorées (P1 = P1TEST = P1XYZ). Exemple: D dans l’UP P999, P1 a la valeur 2.75, D P2 a la valeur de la variable X% au moment du transfert des paramètres D P3 a la valeur 0. Si P2 doit représenter également dans le sous-programme une valeur INTEGRALE, ceci peut s’effectuer en ajoutant un caractère % à P2. Cette caractérisation du type de la variable peut être effectuée également avec d’autres types de variables de manière correspondante. La valeur des paramètres individuels peut être attribuée à d’autres variables dans le sous-programme. Programme principal: 50 IF A% = 1 THEN 51 CALL P999 [2.75, X%, 0] Appel UP avec transfert des paramètres 52 ENDIF M30 Sous-programme P999: 1 FAKTOR=P1 : XWERT%=P2% : KORRTAB%=P3% N1 G1 X[XWERT%*FAKTOR] N2 G22 K[KORRTAB%] Si un sous-programme D doit être appelé avec une constante string en tant que paramètre de transfert, et D le programme appelant est sélectionné sans liaison, l’ordre PDIM doit être utilisé. Syntaxe: PDIM <nom du paramètre>(<taille du champ>) Si la taille du champ n’a pas été programmée ou a été programmée trop faiblement, la commande signale l’erreur du programme de pièces ”variable inadmissible”. Exemple: Programme principal: N10 (DIN) : N50 P UP[”Test”] M30 2 - 34 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX Fondements de la programmation Sous programme: 10 PDIM P1$(4) M30 La variable string P1$ a la valeur ”TEST”. R911311170 / 01 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 35 Fondements de la programmation 2.7 Programmation label et instructions de saut A l’aide des instructions de saut, il est possible de continuer le déroulement du programme à des points d’entrée définis. Au niveau des instructions de saut, IndraMotion MTX offre la fonctionnalité suivante: D Programmation label pour les blocs CN standard (DIN) D Programmation label pour les blocs CPL D GoAhead (GOA): saut en avant sur un bloc CN standard D GoBack (GOB): saut en arrière sur un bloc CN standard D GoCond (GOC): saut conditionnel sur un bloc CN standard D GoTo: saut inconditionnel sur un bloc CN standard D Saut CPL (GOTO): saut sur un bloc de programmation quelconque . Le saut CPL GOTO est supprimé déjà au moment de la liaison. Pour les ordres CN standard cependant, la destination du saut est cherchée seulement au moment de l’exécution du programme, ce qui a un effet défavorable sur le comportement de l’exécution en particulier si la destination du saut se trouve très loin de l’appel du saut. . Les ordres de saut CN standard GoAhead, GoBack, GoCond et GoTo ne permettent pas de sauter dans ou de sortir d’une instruction de répétition CPL ou d’une instruction de branchement CPL. Les instructions CPL suivantes sont concernées: D REPEAT – UNTIL D WHILE – DO – END D FOR – STEP – TO – NEXT D IF – THEN – ELSE – ENDIF D CASE – LABEL ... LABEL – OTHERWISE – ENDCASE. Labels dans des blocs CN et CPL standard Un label est une étiquette de saut pour un ordre de saut. IndraMotion MTX différencie les labels dans un bloc CN standard (DIN) et un bloc CPL. Programmation label dans un bloc CN standard (DIN): D La destination du saut doit être toujours programmée au début du bloc. D En cas de blocs avec numéro de bloc, la destination du saut se trouve directement derrière le numéro du bloc, séparée par un caractère de séparation. D Le nom label peut être composé de 2 jusqu’à 32 caractères. Lettres, caractères de soulignement et chiffres sont autorisés, mais les deux premiers caractères ne doivent pas être des chiffres. Il est distingué entré minuscules et majuscules. 2 - 36 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation D Deux points doivent être programmés derrière le nom de label à la destination du saut. Programmation label dans un bloc CPL: D La destination du saut est programmée directement derrière le numéro du bloc, séparée par un caractère de séparation. D Le nom label se compose d’un point décimal et des caractères ASCII suivants, en débutant avec une lettre majuscule. D Un label ne doit pas être une variable. GoAhead (GOA) Saut en avant sur un bloc CN standard Poursuit le déroulement du programme sans conditions sur une destination de saut (label). Ce faisant s’applique: D la destination du saut doit être définie. D La destination du saut doit se trouver dans la direction vers la fin du fichier relatif au bloc actuel de programmation. Programmation nécessaire des labels voir page 2 - 35. Syntaxe: GoAhead <Label> Abréviation: avec <Label> GOA nom de la destination du saut. 2 à 32 caractères. Permis sont les lettres, les caractères de soulignement et les chiffres, cependant les premiers deux caractères ne doivent pas être des chiffres. Exemple: : N40 GoAhead LABEL1 : N80 LABEL1: : . Saut en avant sur la destination du saut ”LABEL1”. Programmation label de la destination du saut ”LABEL1”. L’ordre de saut CN standard GoAhead ne permet pas d’entrer ou de sortir par saut d’une instruction de répétition ou d’une instruction de raccordement CPL. En ce qui concerne les instructions CPL concernées voir page 2 - 35. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 37 Fondements de la programmation GoBack (GOB) Saut en avant sur un bloc CN standard Poursuit le déroulement du programme sans conditions sur une destination de saut (label). Ce faisant s’applique: D la destination du saut doit être définie. D La destination du saut doit se trouver vers le début du fichier par rapport au bloc actuel de programmation. Programmation nécessaire des labels voir page 2 - 35. Syntaxe: GoBack <Label> Abréviation: avec <Label> . GOB nom de la destination du saut. 2 à 32 caractères. Permis sont les lettres, les caractères de soulignement et les chiffres, cependant les premiers deux caractères ne doivent pas être des chiffres. Il convient de prendre en compte que lors de la programmation de sauts en arrière, des boucles sans fin non intentionnelles se forment facilement! Exemple: : N40 LABEL1: : N80 GoBack LABEL1 : . Programmation label de la destination du saut ”LABEL1”. Saut en arrière sur la destination du saut ”LABEL1”. Si entre N40 et N80 aucun autre ordre de saut est programmé, le programme continue entre N40 et N80 dans une boucle sans fin! L’ordre de saut CN standard GoBack ne permet pas d’entrer ou de sortir par saut d’une instruction de répétition ou d’une instruction de ramification CPL. En ce qui concerne les instructions CPL concernées voir page 2 - 35. 2 - 38 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation GoCond (GOC) Saut conditionnel sur un bloc CN standard Poursuit le déroulement du programme à un numéro indiqué de bloc dans la mesure où, sur l’interface canal, le signal d’entrée ”saut conditionnel” était actif au moment du traitement du bloc. Ce faisant s’applique: D Le numéro du bloc indiqué doit exister. D La position du numéro du bloc indiqué à l’intérieur du fichier de programme est à volonté, relative au bloc de programmation actuel. Syntaxe: GoCond N<chiffre> Abréviation: GOC avec <nombre> numéro du bloc. D nombre en format intégral ou réel avec 15 chiffres au maximum. D Dans la mesure où le numéro du bloc cible est programmée avec des zéros en amont (par ex. ”N0020 ...”), les zéros mis en amont doivent ici être également programmés (”GoCond N0020”). Particularités et restrictions: D A l’exception d’un numéro du bloc éventuellement programmé mis en amont, d’autres mots de programmations ne sont pas permis dans le même bloc. D Les modifications du signal d’interface du canal ”saut conditionnel” à l’intérieur du laps de temps entre la préparation et l’exécution du bloc ne sont pas prises en compte. Dans la mesure où ce comportement n’est pas admissible pour votre application, il convient de programmer la fonction ”WAIT” dans la ligne de programmation précédente. . Prendre en compte que lors de sauts dans la direction du début du fichier, il se forme facilement des boucles sans fin non intentionnelles! Exemple: 10 WAIT N20 GoCond N090 : : : : N090 ... : Stopper le traitement du bloc jusqu’à ce que tous les blocs avant N20 aient été traités en totalité. Ensuite saut sur bloc N090 si le signal d’interface ”saut conditionnel” est actif au moment du traitement du bloc de N20. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 39 Fondements de la programmation . GoTo L’ordre de saut CN standard GoBack ne permet pas d’entrer ou de sortir par saut d’une instruction de répétition ou d’une instruction de ramification CPL. En ce qui concerne les instructions CPL concernées voir page 2 - 35. Saut inconditionnel sur un bloc CN standard Poursuit le déroulement du programme sans conditions à partir d’un numéro de bloc quelconque. Ce faisant s’applique: D Le numéro du bloc indiqué doit exister. D La position du numéro du bloc indiqué à l’intérieur du fichier de programme est à volonté, relative au bloc de programmation actuel. Syntaxe: GoTo N<nombre> avec <nombre> numéro du bloc. D nombre en format intégral ou réel avec 15 chiffres au maximum. D Dans la mesure où le numéro du bloc cible est programmé avec des zéros en amont (par ex. ”N0020 ...”), les zéros mis en amont doivent ici être également programmés (”GoTo N0020”). Particularités et restrictions: D A l’exception d’un numéro du bloc éventuellement programmé mis en amont, d’autres mots de programmations ne sont pas permis dans le même bloc. . Prendre en compte que lors de sauts dans la direction du début du fichier, il se forme facilement des boucles sans fin non intentionnelles! Exemple: : N40 GoTo N080 : N080 GoTo N40 : . Saut en avant sur bloc N080. Saut en arrière sur bloc N40. Si entre N40 et N80 aucun autre ordre de saut est programmé, le programme continue entre N40 et N80 dans une boucle sans fin! L’ordre de saut CN standard GoTo ne permet pas d’entrer ou de sortir par saut d’une instruction de répétition ou d’une instruction de ramification CPL. En ce qui concerne les instructions CPL concernées voir page 2 - 35. 2 - 40 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Saut CPL (GOTO) Saut sur un bloc de programmation quelconque Poursuit le déroulement du programme sans conditions à partir d’une destination de saut. Ce faisant s’applique: D La destination de saut peut être un numéro du bloc CPL, un numéro du bloc CN standard ou un ”label” (étiquette de saut). D La position de la destination de saut à l’intérieur du fichier est libre par rapport au bloc de programmation actuel. Syntaxe: GOTO <destination> Exemple: 10 N20 30 ... 120 ... 150 GOTO N20 X100 GOTO 120 Saut sur le bloc N20 GOTO .ZIEL1 Saut sur label .ZIEL1 Saut sur le bloc CPL 120 .ZIEL1 Conditions de la programmation label, voir page2 - 36. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 41 Fondements de la programmation 2.8 Instructions de décision et de ramification Les instructions de décision et de ramification servent à exécuter des blocs de programmation individuels et des éléments de programmation ou des sous-programmes complets en relation étroite avec des évènements définis. A ce niveau, IndraMotion MTX offre les possibilités suivantes: D Fonction ”ignorer bloc” pour les blocs CN standard (DIN) D Instruction CPL IF - THEN - ELSE - ENDIF D Instruction CPL CASE - LABEL...LABEL- OTHERWISE - ENDCASE Fonction ”ignorer bloc” Cette fonction permet à la commande d’ignorer des blocs CN standard (DIN) individuels. Pour ce faire, il suffit de programmer en début des lignes de programme correspondantes le caractère ”/”. Les blocs de programmation caractérisés ne sont ignorés que si le signal d’interface qCh_BlockSlash (ignorer bloc) est posé pour l’interface bit du canal concerné. Exemple: : : /N100 ... : : /N300 ... : . Le signal d’interface ”ignorer bloc” est activé. Le bloc N30 sera ignoré. Le signal d’interface ”ignorer bloc” est désactivé. Le bloc N30 sera exécuté. La fonction ”ignorer bloc” ne peut être utilisée que pour les blocs CN standard (DIN)! 2 - 42 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Instruction CPL: IF - THEN - ELSE - ENDIF Cette fonction est une simple instruction conditionnelle de branchement: ”Si (IF) une condition définie est remplie, alors (THEN) exécute cette routine, autrement (ELSE) exécute l’autre routine!”. Syntaxe: IF <condition> THEN <routine> [ELSE <routine alternative>] ENDIF Ce faisant s’applique: D La condition se trouve dans la même ligne que le ”IF” et sera terminé par le ”THEN” dans la même ligne. D Le routines THEN et ELSE sont à chaque fois des ramifications du programme qui ne doivent pas être parcourues dans tous les cas. D S’il est renoncé à la partie ELSE, le programme poursuit son déroulement immédiatement après l’instruction ENDIF lorsque la condition n’est pas remplie. De manière similaire aux conditions d’interruption des instructions de boucles, des liaisons arithmétiques, trigonométriques et logiques peuvent être utilisées dans la condition de l’ordre IF. Une imbrication est également possible à cette occasion. L’ordre IF doit toujours être terminé avec une instruction ENDIF, car autrement la fin de la routine ou de la routine alternative ne sera pas reconnue. Etant donné que le positionnement de l’instruction ENDIF dépend de la logique du déroulement du programme, la commande ne peut pas toujours reconnaître de manière claire une instruction ENDIF manquante. Cela aura pour conséquence des messages d’erreur erronés. L’intégrité de l’ordre IF doit donc être vérifiée fondamentalement par le programmeur. Exemple: ... 10 X = 1 20 .START 30 IF X>=100 THEN 40 GOTO .ENDE 50 ELSE X=X+2.75 60 GOTO .START 70 ENDIF ... 90 ENDE ... . Il est interdit d’entrer dans ou de sortir d’une instruction IF- THEN ELSE - ENDIF à l’aide des ordres de saut CN standard GoAhead, GoBack, GoCond, GoTo. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 43 Fondements de la programmation Instruction CPL: CASE - LABEL...LABEL - OTHERWISE - ENDCASE Il s’avère souvent nécessaire au sein d’un programme de consulter plus de 2 états d’une expression intégrale ou d’une variable intégrale.Dans de tels cas une consultation à l’aide de l’instruction IF n’est possible qu’à l’aide de plusieurs instructions IF imbriquées.Ceci a un coût en temps de calcul supplémentaire et diminue la lisibilité et la facilité d’entretien du programme. Ces inconvénients peuvent être évités grâce à la structure CASE: CASE <expression intégrale> OF LABEL <constante intégrale>[,<constante intégrale>][: <instruction>] <Instruction> : LABEL ... : [OTHERWISE <instruction> <Instruction> :] ENDCASE Le déroulement du programme se ramifie après l’instruction CASE vers l’instruction LABEL, pour laquelle une des <constantes intégrales> est égale à la valeur de <expression intégrale>. Maintenant toutes les instructions sont exécutées jusqu’à la prochaine instruction LABEL ou OTHERWISE. Ensuite le programme passe directement à l’instruction ENDCASE. S’il n’existe aucune instruction LABEL remplissant cette condition, le programme se ramifie vers l’instruction OTHERWISE, ou (si OTHERWISE n’a pas été programmé) directement vers l’instruction ENDCASE. Dans le domaine de l’ <instruction> d’une structure CASE, toutes les instructions CPL peuvent être utilisées. L’imbrication de 10 structures CASE au maximum est possible. Exemples: 10 20 30 40 50 60 70 80 CASE A% OF LABEL 0 : Y=1 LABEL 2 Y=Y*Y LABEL 4 : Z=Y*Y Y=Z*Z OTHERWISE Y=0 ENDCASE 2 - 44 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation . 10 20 30 40 50 60 70 80 CASE (INT(X/Y)+C%) OF LABEL 1,2 : X=1 : Y=2 LABEL 4,8 X=2 : Y=4 LABEL 0 X=0 : Y=1 OTHERWISE X=0 : Y=0 ENDCASE 10 20 30 40 50 CASE INTFELD%(1,2) OF LABEL 1,2,3 : GOTO .MARKE1 LABEL 4,5,6 : GOTO .MARKE2 OTHERWISE GOTO .ENDE ENDCASE Il est interdit d’entrer ou sortir d’une instruction CASE - LABEL...LABEL - OTHERWISE - ENDCASE à l’aide des ordres de saut CN standard GoAhead, GoBack, GoCond, GoTo. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 45 Fondements de la programmation 2.9 Instructions de répétition Si un ou plusieurs blocs de programmation, dépendant de conditions définies, sont exécutés à plusieurs reprises, il est possible de programmer cela avec les instructions de répétition CPL. L’exécution du programme à plusieurs reprises est également qualifiée de boucle. A ce niveau, IndraMotion MTX offre les possibilités suivantes: D Instruction CPL FOR - STEP - TO_NEXT D Instruction CPL REPEAT - UNTIL D Instruction CPL WHILE_DO_END Instruction CPL: FOR - STEP - TO - NEXT Si la condition d’interruption pour l’instruction de répétition doit résulter directement de l’exécution de la routine, un compteur, tournant en parallèle par exemple, est nécessaire. Celui - ci ne nécessite pas une programmation spéciale lors de la boucle FOR-NEXT. Une variable de comptage (INTEGER) sera fixée dont il convient d’indiquer son état de début et de fin. Si le pas de comptage est différent de 1, le pas (STEP) peut être déterminé séparément. Syntaxe: FOR <var. de comptage>=<valeur de début> [STEP <pas de comptage>] TO <valeur de fin><routine> NEXT [<variable de comptage>] Exemple: 10 FOR I%=0 TO 18 20 XSINUS(I%)=SIN(I%*10) 30 NEXT I% A la fin de la boucle, la variable de comptage a une valeur qui est plus grande que la valeur de fin (pas de comptage maxi.) Ici les valeurs sinus de 0 à 180 degrés sont inscrites dans le champ XSINUS. Le ”I%” ajouté dans la ligne 30 à ”NEXT” ne sert qu’à la clarification et peut être omis le cas échéant. Il est également possible de programmer des boucles FOR-NEXT avec un pas variable. La variable de pas devrait alors avoir le même type de variables que la variable de comptage. Exemple: 10 OPENW(1,”P222”,130) 20 PAS%=2 : DEBUT%=1 : FIN%=3500 : NJUST 30 FOR COMPTEUR%=DEBUT% STEP PAS% TO FIN% 40 PAS%=ROUND(PAS%*SQRT(PAS%)) 50 PRN#(1,”COMPTEUR: ”,COMPTEUR%,”LONGUEURPAS: ” ,PAS%) 60 NEXT 70 CLOSE(1) 2 - 46 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation A la fin de ce programme, il est inscrit dans le fichier ”P222”: COMPTEUR COMPTEUR COMPTEUR COMPTEUR COMPTEUR COMPTEUR COMPTEUR . : : : : : : : LONGUEUR 4LONGUEUR 9LONGUEUR 20LONGUEUR 56LONGUEUR 272 LONGUEUR 3447 LONGUEUR DE DE DE DE DE DE DE PAS PAS PAS PAS PAS PAS PAS : : : : : : : 3 5 11 36 216 3175 178902 Il est interdit d’entrer ou sortir d’une instruction FOR - STEP - TO NEXT à l’aide des ordres de saut CN standard GoAhead, GoBack, GoCond, GoTo. Instruction CPL : REPEAT - UNTIL Si la condition d’interruption pour l’instruction de répétition ne doit être consultée qu’après la première exécution de la routine, la boucle REPEAT peut être utilisée. Syntaxe: REPEAT <routine> UNTIL <condition> Exemple: : 30 REPEAT 40 X=X+1 50 UNTIL X=100 : . Boucle jusqu’à X = 100 Il est interdit d’entrer ou sortir d’une instruction REPEAT - UNTIL à l’aide des ordres de saut CN standard GoAhead, GoBack, GoCond, GoTo. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 47 Fondements de la programmation Instruction CPL: WHILE - DO - END Si la condition d’interruption pour l’instruction de répétition doit être consultée avant la première exécution de la boucle, il est possible de formuler comme suit : ”Pendant que (.anglais while) la condition est remplie, exécute (.anglais to do) la routine!”. La boucle WHILE est structurée de manière suivante: Syntaxe: WHILE <condition> DO <routine> END Exemple: : 30 WHILE SD(9)=0 40 I=I+1 50 END : . Boucle d’attente jusqu’à ce que SD(9) ait pris la valeur 0 Il est interdit d’entrer ou sortir d’une instruction WHILE- DO - END à l’aide des ordres de saut CN standard GoAhead, GoBack, GoCond, GoTo. 2 - 48 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.10 Programmation de variables 2.10.1 Noms de variables . La programmation de variables fait partie intégrante du langage CPL! La programmation de variables dans CPL sert à rendre les programmes paramétrables et à adapter ainsi le déroulement du programme aux conditions actuelles. D Les variables sont des noms de symboles quelconques pour lesquels cependant quelques conditions aux limites spéciales sont valables. D Les noms de variables doivent être univoques. D Les noms de variables ne doivent pas être identiques aux mots d’ordres CPL réservés. Du fait de la séparation formelle entre les programmations CN standard et CPL, théoriquement les noms de variables peuvent êtres conformes aux noms de fonctions CN ou de paramètres de fonction CN ; ainsi par ex. une variable ‘X‘ pourrait être définie bien qu’il existe en même temps un axe avec la désignation ‘X‘ dans le système. D Le nom de variable se compose d’une série quelconque de lettres majuscules et de chiffres, cependant le premier caractère doit être une lettre majuscule. . Seulement les premiers 8 caractères du nom de variable sont significatifs, c’est - à - dire uniquement les premiers 8 caractères sont utilisés pour la différenciation du nom. D 3 groupes de variables déterminant la plage de validité des variables existent au total. Le groupe de variables est déterminé par une caractérisation au début du nom de variable. Ce caractère compte toujours parmi les positions significatives du nom ! Il existe les groupes de variables suivants avec leur caractérisation correspondante: D Variables locales: aucune caractérisation spéciale D Variables globales: ‘#‘ D Variables permanentes: ‘@‘ D Le type de variable est toujours déterminé par une caractérisation à la fin du nom de variable. Cela est également valable si le nom de variable dépasse le nombre des positions significatives. Il existe les types de variables suivants avec leur caractérisation correspondante: D INTEGER: ‘%‘ D DOUBLE: ‘!‘ D BOOLEAN: ‘?‘ D CHARACTER: ‘$‘ D REAL: sans caractérisation particulière R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 49 Fondements de la programmation Exemples de variables locales, globales et permanentes : 10 20 30 40 2.10.2 ANZAHL1% = 1 #ANZAHL2% = 2 @36% = 3 @ABCD% = 4 variable INTEGER locale variable INTEGER globale variable INTEGER permanente variable INTEGER permanente définie groupes de variables Des accords en ce qui concerne la plage d’effet de variables sont nécessaires du fait de la possibilité d’utiliser des sous-programmes et de la nécessité éventuelle de mettre les valeurs de variables dans la mémoire intermédiaire indépendamment du programme concerné. A cet effet on distingue entre les groupes de variables suivants: Variables locales ont un effet uniquement à l’intérieur du programme dans lequel elles sont convenues. Après la fin de programme, ces variables sont effacées et la mémoire occupée est libérée. Lors d’un appel de sous-programme un nom de variable local pour le programme appelant n’est pas ”visible” pour le sous-programme. C’est pourquoi il est possible que le nom de variable y soit convenu également de manière locale sans que les deux variables ne s’influencent mutuellement. En retournant dans le programme appelant, la variable locale originale est de nouveau à disposition avec la valeur occuppée immédiatement avant l’appel du sous-programme. Variables globales sont caractérisées par un caractère # mis en amont. Après la première attribution d’une valeur à une variable globale elle peut être lue ou modifiée à partir de toutes les parties du programme pour la durée restante du programme complet. Les variables globales sont effacées après la fin du programme. . La validité de variables globales est limitée toujours à une unité de liaison! (Pour plus d’explications au sujet des unités de liaison, veuillez consulter le chapitre 2.2 Liaison de programmes CN, sur la page 2 - 6 ”Unités de liaison”). 2 - 50 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Variables permanentes sont caractérisées par un caractère @ mis en amont et suivi du nom de variable. Elles peuvent être contactées par chaque programme actif. Les variables sont conservées de manière permanente également après la fin du programme. L’effacement n’est possible que par remplacement ciblé. Les variables permanentes sont déposées dans une zone de mémoire séparée. Ainsi l’effacement de la mémoire complète n’a aucun effet sur les variables permanentes. Sous la désignation @1 à @100, les variables permanentes du type INTEGER peuvent être adressées (signification du type INTEGER voir types de variables page 2 - 56). Pour une meilleure lisibilité du programme la désignation de telles variables permanentes peut être complémentée en ajoutant des lettres au chiffre. En outre il est possible d’utiliser la variable du champ permanente unidimensionnelle @_R avec 100 éléments du type ”Double”. Les deux variables permanentes @_RES_DOUBLE et @_RES_DWORD sont réservées pour des applications internes et ne devraient pas être utilisées. Variables permanentes définissables sont également caractérisées par un caractère @ mis en amont, suivi du nom de la variable. Les différences par rapport aux ”variables permanentes” sont les suivantes: 1. Elles ne feront pas automatiquement partie du logiciel du système, mais ont besoin d’être manuellement déclarées par inscription dans les fichiers ”wmhperm.dat” (pour les données spécifiques à WMH) et ”anwperm.dat” (pour les données spécifiques aux utilisateurs finaux). La syntaxe pour la déclaration se trouve sous ’structure du fichier de ”wmhperm.dat” et ”anwperm.dat”’. Pendant le démarrage, la commande cherche ces fichiers d’abord dans le répertoire racine FEPROM et ensuite dans le FEPROM. Le premier fichier trouvé sous chaque nom est exploité par la commande, et elle génère à partir des inscriptions s’y trouvant des ”variables permanentes définissables” dans la mesure où elles n’existent pas encore. Les ”variables permanentes définissables” existantes qui ne sont pas déclarées dans un des deux fichiers, sont effacées. Le nombre maximal possible de variables permanentes définissables est limité par la dimension de la mémoire mise à disposition. Si pour la génération de variables il n’existe plus de mémoire, la osa/ PNC type3 sort un message d’erreur correspondant. 2. Les noms de ”variables permanentes définissables” commencent toujours avec le caractère @ et une chaîne de caractères. Cette chaîne de caractères se compose d’une lettre majuscule, suivie de lettres majuscules ou de chiffres à volonté. Pour les ”variables permanentes définissables”, les premières 16 positions du nom de variable sont significatives. Si elles se distinguent seulement à partir de la 17ème position, CPL les interprète en tant qu’une seule variable! R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 51 Fondements de la programmation 3. Les variables permanentes définissables peuvent être du type INTEGER, REAL, DOUBLE, BOOLEAN ou CHARACTER. Le type de variable est déterminé par une caractérisation à la fin du nom de variable. Cette caractérisation doit être indiquée dans le programme de pièces: @ABCD% variable perm. déf. du type INTEGER @EFGH variable perm. déf. du type REAL (sans %, !,$ ou ?) @IJKL! variable perm. déf. du type DOUBLE @MNOP? variable perm. déf. du type BOOLEAN @QRST$ variable perm. déf. du type CHARACTER 4. Les champs uni- et bidimensionnels peuvent être utilisés. L’ index maximal de champ pour les variables de champ du type INTEGER, REAL, DOUBLE ou BOOLEAN est de 65535. Pour les variables de champ du type CHARACTER 1024. Exemples: @WZNR%(1)=4 @WZKOR(2,2)=0.2 La valeur 4 est attribuée à la première variable (avec l’index 1) du champ unidimensionnel @WZNR du type INTEGER. A la variable (avec l’indice 2,2) à l’intérieur du champ bidimensionnel @WZKOR du type REAL est attribuée la valeur 0.2. 5. Estimation du nombre disponible de variables permanentes pouvant être définies de nouveau: D Mémoire totale pour variables permanentes: 100 koctets (102400 octets) Pos. Réservée pour 1 toutes les variables permanentes mémoire en octets Remarque 102400 mémoire totale en sont réservées pour 2 @1 - @100 (variables permanentes) 3 Informations administratives 4 toutes variables définissables permanentes 800 24 101576 (4) = (1) - (2) - (3) 2 - 52 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Pos. Réservée pour 4 toutes les variables définissables permanentes mémoire en Remarque octets 101576 (4) = (1) - (2) - (3) en sont réservées pour 5 @_R 823 Variable de champ permanente avec 100 éléments du type DOUBLE 6 @_RES_DOUBLE 40 Variable permanente du type DOUBLE, réservée pour applications internes 7 @_RES_DWORD 35 Variable permanente du type INTEGER, réservée pour applications internes 8 nouvelles variables définissables permanentes 100678 (8) = (4) - (5) - (6) - (7) Chaque variable permanente définissable occupe la mémoire suivante: Pos. Réservée pour mémoire en Remarque octets 9 le nom des variables permanentes définissables max. 16 1 octet par caractère 10 la valeur de la variable permanente définissable 1, 4 ou 8 Intégrale : tets Double: tets Réelle: tets Booléenne : 4 oc8 oc4 oc1 octet 11 Informations administratives 20 12 une variable permanente définissable du type DOUBLE avec longueur du nom de 16 caractères 44 par ex.: occupation de la mémoire maximale (9) + (10) + (11) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 53 Fondements de la programmation nombre de ”variables permanentes définissables” du type DOUBLE et INTEGER: type de variable Nombre de Remarque variables Type DOUBLE avec longueur du nom de 16 caractères au maximum 2288 100678/44=2288 Type INTEGER avec longueur du nom de 16 caractères au maximum 2516 100678/(16+4+20) =2516 Type INTEGER avec longueur du nom de 8 caractères au maximum 3146 100678/(8+4+20) =3146 Variables de champ avec longueur de nom de 16 caractères au maximum Type INTEGER 25160 (100678 - 16 - 20)/4 =25160 Variables de champ avec longueur de nom de 16 caractères au maximum Type DOUBLE 12580 (100678 - 16 - 20)/8 =12580 Structure du fichier de ”wmhperm.dat” et ”anwperm.dat”: Les fichiers ne peuvent contenir que des déclarations de ”variables permanentes définissables”. Chaque déclaration est effectuée dans une ligne séparée et elle est terminée avec la touche Return. Une ligne de déclaration a toujours la structure suivante: DEF <type de variable> @<nom de variable>; [<commentaire>] Exemples pour ”wmhperm.dat” et ”anwperm.dat”: DEF DEF DEF DEF DEF DEF INT @ABCD REAL @EFGH DOUBLE @IJKL BOOL @MNOP CHAR @PSTR1(3) INT @WZNR(9) DEF INT @WZKOR(9,2) DEF CHAR @PSTR2(9,2) ;variable INTEGER simple ;variable REAL simple ;variable DOUBLE simple ;variable BOOLEAN simple ;variable CHARACTER avec longueur 3 ;1-Champ INTEGER dimensionnel avec 9 variables ;2-Champ INTEGER dimensionnel avec 18 variables ;2-Champ CHARACTER dimensionnel avec 9 strings partiels de 2 signes chacun 2 - 54 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Exemples d’application de variables permanentes: 10 15 20 25 30 35 40 45 50 55 @1 = 1 @2_ZAEHLER = 2 @ABCD% = 3 @EFGH = 4.1 @IJKL! = 5.12345 @MNOP? = TRUE @PSTR1$ = ”ABC” @WZNR%(2) = 6 @WZKOR(3,2) = 7.6 @PSTR2$(3) = ”DE” Les variables structurées peuvent être remplacées par les données de système (SD), seront cependant conservées pour des raisons de compatibilité (voir chapitre 4.8.2 Données de système de types structurées). Les variables structurées sont caractérisées par des différents niveaux de structure qui sont séparés dans la représentation par un point (”.”). Les variables structurées commencent toujours avec un ”SV.”. Toutes les variables structurées auxquelles il doit être accédé dans une instruction CPL, doivent être déclarées manuellement par inscription dans le fichier ”machdef.dat”. Ce fichier est analysé lors du démarrage de la commande CN et les données administratives ainsi que la mémoire pour les données utiles structurées sont créées. Lors de chaque démarrage, la mémoire est créée de nouveau et toutes les valeurs sont mises à 0. Le fichier ”machdef.dat” sert uniquement à la définition de variables structurées. Chaque définition se trouve dans une ligne séparée et elle est terminée par un point-virgule. Une ligne de définition a toujours la structure suivante: DEF <espace nom> : <type de variable> SV.<nom de variable>; [<commentaire>] <Espace nom>, <type de variable> et <nom de variable> sont des strings pouvant être composés de lettres minuscules ou majuscules, de chiffres, du trait d’union et du caractère de soulignement. . Pour tous les noms de variables les premières 16 positions du nom de variable sont significatives. Si elles se distinguent seulement à partir de la 17ème position, CPL les interprète en tant qu’une seule variable! Exemple: DEF BRCSystem:DbHeader_t SV.A; Définition d’une variable structurée du type DbHeader_t R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 55 Fondements de la programmation Les instructions CPL peuvent accéder non seulement à SV.A mais aussi à tous les composants de SV.A. Les différents paramètres sont séparés l’un de l’autre par un ”.”. Exemple: 10 SV.A=DBSEA(”/dbt1/Rec”,-1,-1,”Key1=1”,I%) 2 - 56 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.10.3 Types de variable Variable en nombre entier (INTEGER) Une variable INTEGER a besoin de 32 bits de la mémoire. Elle est caractérisée par un caractère ”%” ajouté au nom de la variable. La plage de valeur s’étend de - 2.147.483.647 jusqu’à +2.147.483.647. 10 ANZAHL% = 4 Variable INTEGER Variable de point de glissement (REAL) Si aucune caractérisation spéciale n’est postposée au nom de variable, la variable est interprétée comme variable REAL de précision simple. Dans ce cas, une variable occupe 32 bits de la mémoire. La plage de valeur s’élève à +/ - 1038. Ceci correspond à 7 positions significatives. 10 PI = 3.141593 Variable REAL de précision simple Variable de point de glissement (DOUBLE) Si un caractère ”!” est postposé au nom de variable, la variable est interprétée comme variable REAL de double précision. Dans ce cas une variable occupe 64 bits de la mémoire. La plage de valeur s’élève à +/ - 10308. Ceci correspond à 15 positions significatives. 10 PI! = 3.141592653589793 Variable REAL de précision double Variable logique BOOLEAN) La caractérisation s’effectue par un ”?” postposé au nom de variable. Les variables logiques (variables BOOL) peuvent accepter uniquement la valeur TRUE (= véritable) ou FALSE (=faux, contraire à la vérité). Les états ou conditions logiques nécessaires dans l’exécution ultérieure du programme y sont mémorisés. 10 START? = FALSE Variable BOOLEAN R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 57 Fondements de la programmation Variable de champ (ARRAY) Avec les variables ARRAY il est possible de réserver sous un seul nom de variable un champ uni- ou bidimensionnel (Array) dans la zone de mémoire, qui est composé de plusieurs variables du même type. Les définitions de champ sont possibles pour les variables du type INTEGER, REAL, DOUBLE, BOOLEAN et CHARACTER. Afin de pouvoir accéder aux différents éléments de champ d’un Array, il convient d’indiquer non seulement le nom de la variable de champ mais aussi son index ou ses indices. Exemple: Dimensionnement d’une variable ARRAY 10 DIM FELDVAR(2,3) Constantes INTEGER pour les dimensions du champ (index) Nom de variable (variable REAL) Mot d’ordre DIM Exemple: Accès à la variable Array 100 110 120 130 140 150 FELDVAR(1,1) FELDVAR(2,1) FELDVAR(1,2) FELDVAR(2,2) FELDVAR(1,3) FELDVAR(2,3) = = = = = = MPOS(1) CPOS(1) MPOS(2) CPOS(2) MPOS(3) CPOS(3) Avant le premier accès à la variable de champ, il convient de dimensionner la plage de l’index ou la dimension du champ avec des constantes INTEGER: D Dimension du champ de la variable de champ du type INTEGER et REAL: max. 65536 D Dimension du champ de la variable de champ du type CHARACTER : max. 1024 DIM <nom de variable>(<dimension de champ1>[,<dimension de champ2>]) . Le dimensionnement avec DIM ne doit pas être utilisé sur les ”variables permanentes définissables”. Le dimensionnement de ces variables s’effectue au contraire dans le fichier wmhperm.dat ou anwpwerm.dat. 2 - 58 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation VariablesCHARACTER- et STRINGUne variable CHARACTER est caractérisée par un caractère ”$” postposé. Il est possible d’enregistrer dans ce type de variable aussi bien un unique caractère qu’une chaîne de caractères (string) complète. Les instructions de chaînes de caractères (voir section ”Traitement de chaînes de caractères”) ne sont possibles cependant que si une chaîne de caractères est sauvegardée dans un champ uni- ou bidimensionnel (Array) à partir de variables CHARACTER. Il est nécessaire pour cela de déclarer le champ avec l’instruction DIM. Chaque variable CHARACTER dans ce champ contient alors 1 caractère à chaque fois de la chaîne de caractères. Un champ unidimensionnel de variables du type CHARACTER est appelé variable STRING. Pendant l’accès à des variables CHARACTER unidimensionnelles, aucun index n’est indiqué. En revanche, un index doit être indiqué pour l’accès aux variables CHARACTER bidimensionnelles. Exemple: 1 2 3 4 5 6 REM variable string AB (longueur 10) DIM AB$(10) REM 3 variables string CD (longueur à chaque fois 5) DIM CD$(3,5) AB$ = ”Z” CD$(2) = ”ABC” Synoptique des variables Groupe de varia- Nom de variable type de variable Champs (Arbles rays) possible (X=oui) Local maxi. 8 ca% INTEGER ractères significaREAL tifs ! DOUBLE ? BOOLEAN $ CHARACTER X X X X X Global# incl. ”#”ca% INTEGER ractères, maxi. 8 REAL caractères signifi- ! DOUBLE catifs ? BOOLEAN $ CHARACTER X X X X X Permanent@ 1 - 100 définissable permanent@ maxi. 16 ca% INTEGER ractères significaREAL tifs ! DOUBLE ? BOOLEAN $ CHARACTER X X X X X R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 59 Fondements de la programmation 2.10.4 Variables dans la programmation CN standard On souhaite souvent paramétrer à l’aide de variables des fonctions CN ou des paramètres de fonctions CN dans un programme de pièce à l’intérieur de la programmation CN standard (DIN). Lors de cette attribution de valeurs, il faut faire attention que les expressions CPL à l’intérieur de la programmation CN standard soient mises entre les crochets ”[” et ”]”. Exemples pour le paramétrage de blocs CN standard: 10 ANGLE = 45 20 VAL1 = 1.5 30 VAL2 = 1.5 40 XPOS = 10.2 50 YPOS = 5.73 60 FEEDRATE = 1000 N70 Rotate([ANGLE]) N80 Scale(X[VAL1],Y[VAL2]) N90 G1 X[XPOS] Y[YPOS] F[FEEDRATE] . Il est impossible de paramétrer le numéro de bloc avec les variables CPL! . Toutes les adresses appelant un sous-programme ne sont pas destinées à l’écriture variable! 2 - 60 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.10.5 Variable ERRNO pour l’exploitation d’erreurs de fonctions CPL Il est possible de transmettre à une fonction CPL pouvant générer une erreur d’exécution en cas d’erreur, la variable CPL ERRNO en tant que paramètre de transfert, dans laquelle la fonction appelée signale les erreurs. ERRNO La variable CPL ERRNO est un paramètre optionnel qui peut être programmé dans ces fonctions CPL, dans lesquelles il est déclaré en tant que paramètre. Là il est programmable en n’importe quelle position. Si ERRNO n’est pas programmé, la fonction CPL génère une erreur d’exécution ou un avertissement en cas d’erreur. En programmant ERRNO la fonction CPL ne génère aucune erreur d’exécution et aucun avertissement. Dans ce cas la variable CPL ERRNO doit être exploitée dans le programme CPL, et une erreur d’exécution doit être générée explicitement avec SETERR ou un avertissement avec SETWARN. En cas d’exécution correcte de la fonction CPL, ERRNO a la valeur 0. Les erreurs sont signalées par des valeurs négatives. La signification des valeurs négatives est généralement valide, cependant toutes les valeurs ne sont pas applicables à chaque fonction CPL Les valeurs d’erreur possibles pour une fonction CPL sont mentionnées ensemble avec la fonction correspondante. Liste des valeurs d’erreur généralement valables: 0 : accès OK - 1 : erreur de paramètre - 2 : coordonnée / axe n’existe pas - 3 : coordonnée / axe inadmissible dans le canal. - 4 : l’axe n’est pas une pseudo-coordonnée. - 5 : le canal n’existe pas. - 6 : la fonction ne peut être appelée que dans le propre canal. - 7 : Impossible de lire les données - 8 : nom du fichier cible y compris chemin trop long - 9 : accès au fichier source impossible - 10 : nom du fichier cible y compris chemin trop long - 11 : nom du fichier (source ou cible) inadmissible - 12 : impossible de copier Exemple: Lire la position de l’axe X du canal dans le premier canal. Ce faisant il est possible de programmer avec le même effet de manière alternative une des quatre lignes suivantes: 10 POS = ACS(”X”,1,1,ERRNO) 10 POS = ACS(”X”,1,ERRNO,1) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fondements de la programmation 10 POS = ACS(”X”,ERRNO,1,1) 10 POS = ACS(ERRNO,”X”,1,1) 2 - 61 2 - 62 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation SETERR Une erreur de durée d’exécution peut être générée avec l’ordre CPL SETERR à la suite de l’exploitation de ERRNO. Le programme de pièces est ainsi interrompu en cette position. Ce faisant, le texte indiqué dans le <string d’erreur> est toujours édité, indépendamment de la langue normalement configurée. Syntaxe: SETERR(<string d’erreur>[,<canal>]) avec <string d’erreur> texte qui est sorti en tant qu’erreur. (sous numéro d’erreur Wera 3371) <Canal> numéro du canal dans lequel doit être éditée l’erreur. Si <le canal> n’est pas indiqué, le canal actuel est utilisé en tant que valeur par défaut. ERRNO variable CPL, programmable à une position quelconque dans les parenthèses. Avec ERRNO, une erreur d’exécution n’est pas générée en cas d’erreur, les valeurs signalées sont: 0: accès OK - 1: erreur de paramètre - 5: le canal n’existe pas. Exemple: Lire la position de l’axe X du canal dans le premier canal 10 20 30 40 POS = ACS(”X”,1,1,ERRNO) IF ERRNO <> 0 THEN SETERR(”impossible de lire la position”) ENDIF R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 63 Fondements de la programmation SETWARN Une erreur d’exécution peut être générée avec l’ordre CPL SETWARN à la suite de l’exploitation de ERRNO, cependant l’exécution du programme de pièce continue. Ce faisant, le texte indiqué dans le <string d’avertissement> est toujours édité, indépendant de la langue normalement configurée. Syntaxe: SETWARN(<string d’avertissement>[,<canal>]) avec <string d’avertissement> texte, qui est sorti en tant qu’avertissement. (sous numéro d’erreur Wera 3372) <Canal> numéro du canal dans lequel l’avertissement doit être sorti. Si <le canal> n’est pas indiqué, le canal actuel est utilisé en tant que valeur par défaut. ERRNO variable CPL, programmable à une position quelconque dans les parenthèses. Avec ERRNO une erreur d’exécution n’est pas générée en cas d’erreur, les valeurs signalées sont : 0: accès OK - 1: erreur de paramètre - 5: le canal n’existe pas. CLRWARN A l’aide de l’ordre CLRWARN il est possible d’effacer tous les avertissements d’un canal, générés par SETWARN. Syntaxe: CLRWARN([<canal>]) avec <Canal> ERRNO numéro du canal dans lequel tous les messages d’avertissement doivent être effacés. Si <le canal> n’est pas indiqué, le canal actuel est utilisé en tant que valeur par défaut. variable CPL, programmable à une position quelconque dans les parenthèses. Avec ERRNO une erreur d’exécution n’est pas générée en cas d’erreur, les valeurs signalées sont : 0: accès OK - 1: erreur de paramètre - 5: le canal n’existe pas. 2 - 64 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX Fondements de la programmation Exemple: 10 CLRWARN(,ERRNO) 20 IF ERRNO <> 0 THEN 30 SETWARN(”avertissements non effacés”) 40 ENDIF R911311170 / 01 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 65 Fondements de la programmation 2.11 Instructions CPL Il est possible d’attribuer des valeurs aux variables locales et globales. Ceci s’effectue avec le caractère d’équivalence ”=”. Exemple: Attribution de valeur pour une variable BOOLEAN 10 START? = FALSE Valeur Caractère d’attribution variable (logique) Exemple: Attribution de valeur pour une variable REAL 1 X1MIN! = 2097.876 Valeur (maxi. à 7 caractères) Caractère d’attribution Variable REAL double précise Exemple: Attribution de valeurs entre variables 1 XSOLL = X1MIN! Valeur (variable REAL double précise) Caractère d’attribution Variable REAL simple précise La variable à laquelle une valeur doit être attribuée doit se trouver à gauche du caractère d’attribution, la valeur concernée à sa droite. Cet accord doit être surtout considéré si une valeur de variable doit être attribuée à une autre variable. NUL Si aucune valeur n’a été attribuée à une variable, elle a la valeur NUL, c’est - à - dire la déclaration <variable>= NUL est vraie. Ici il est possible de reconnaître que le caractère d’équivalence peut se trouver également dans des comparaisons ou des conditions. Si une variable locale ou globale doit être effacée de manière ciblée, ceci est possible à l’aide de l’attribution de la valeur NUL. Une variable permanente ne peut pas être effacée mais seulement remplacée. Exemple: effacement d’une variable 1 XSOLL = NUL 2 IF XSOLL = NUL THEN 3 PRN#(0,”variable non occupée.”) 4 ENDIF 2 - 66 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Opérations mathématiques A côté de l’attribution d’une valeur en tant qu’expression de constante (chiffres) ou en tant que variable, il est également possible d’attribuer la valeur d’une expression CPL à une variable. Dans une expression CPL les fonctions avec des constantes et des variables sont possibles. Les types de calcul élémentaires appartiennent aux fonctions les plus simples: Addition »+« Soustraction » - « Multiplication » * « Division »/« Les « opérations à point sont prioritaires sur les opérations à trait », c’est - à - dire la multiplication et la division sont effectuées avant l’addition et la soustraction. En plus il est possible d’utiliser des parenthèses, dont leur imbrication à 7 niveaux pour les expressions simples (sans appels de fonctions) est possible. Exemple: 1 I% = 25: XHABEN = 10 2 XSOLL = 150/(100-I%)+XHABEN XSOLL a la valeur 12 Il est en outre également possible d’appeler des fonctions mathématiques ayant un effet sur la variable, les constantes ou sur les expressions CPL qui doivent se trouver immédiatement après le mot d’ordre concerné entre parenthèses. La fonction se réfère toujours à la représentation interne des chiffres de la valeur de l’entrée. Il est possible de contrôler celle - ci lors de l’exécution du programme sous ”contrôle du programme”. En cas d’expressions imbriquées, surtout celles avec des appels de fonctions, il convient de considérer la profondeur possible de l’imbrication, qui dépend de la mémoire nécessaire pour les expressions entre parenthèses pendant l’exécution. ABS Représente la valeur absolue de la valeur de l’entrée, c’est - à - dire les valeurs négatives deviennent positives, les valeurs positives restent positives. Exemple: 1 I% = -125 2 XWERT = 2*SQRT(ABS(100+I%)) XWERT a la valeur 10 INT Change la valeur de l’entrée (REAL) en un chiffre entier en coupant les chiffres après la virgule (arrondissement au chiffre inférieur). La valeur de l’entrée peut être une constante ou une variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 67 Fondements de la programmation Exemple: 1 XWERT% = INT(10.9) XWERT a la valeur 10 ROUND change la valeur de l’entrée par arrondi au chiffre supérieur ou inférieur en un chiffre entier (INTEGER). La valeur de l’entrée peut être une expression REAL. Exemple: 1 XWERT% = Round(10.9) 2 XWERT% = Round(5,5) 3 XWERT% = Round(5.49) XWERT a la valeur 11 XWERT a la valeur 6 XWERT a la valeur 5 SQRT Forme la racine carrée d’une valeur de l’entrée. La valeur de l’entrée ne doit pas être négative en ce moment, étant donné que ceci n’est pas défini. Exemple: 1 I% = 44 2 XSOLL = 4*SQRT(100+I%) XSOLL a la valeur 48 SIN, COS, TAN, ASIN, ACOS, ATAN En ce qui concerne les fonctions trigonométriques transformant les angles en anciens degrés, il est judicieux de caractériser les angles en tant que variables REAL double précises. Les fonctions trigonométriques suivantes peuvent être utilisées: D SIN fonction sinus D COS fonction cosinus D TAN fonction tangente D ASIN fonction arc sinus D ACOS fonction arc cosinus D ATAN fonction arc tangente Exemple: 1 ANGLE = 30 2 VALEUR X = SIN(ANGLE) 3 VALEUR Y = ASIN(VALEUR X) XWERT a la valeur 0,5 XWERT a la valeur 30 2 - 68 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Liaisons logiques Il est possible d’effectuer des liaisons logiques binaires avec des variables logiques et décimales avec des variables INTEGER. Elles peuvent être aussi représentées, comme il est possible de déduire de la figure ci-dessous, avec les symboles d’opération habituels, à savoir le caractère »·« et le caractère »+« (- pas en CPL- ). Egalement dans ce cas »les opérations à point sont prioritaires sur les opérations à trait«, la liaison AND prend donc effet avant la liaison OR. Une imbrication de parenthèses jusqu’à 7 niveaux est possible. NOT, AND, OR, XOR CPL met à disposition quatre fonctions de liaison: D Fonction NON NOT D Fonction ET AND D Fonction OU OR D Fonction OU EXCLUSIF XOR 1 E1 E1 o- A E2 Membre NOT E1 = A NOT E1 E2 A 0 L E1 & A E2 0 0 0 Membre AND Membre OR E1 . E2 = A E1 + E2 = A 0 L 0 =1 A Membre XOR E1 . E2+E1 . E2=A OR L 0 0 L L L A E2 AND L 0 E1 >1 0 0 0 0 L L XOR L 0 L L L L 0 0 0 0 L L L 0 L L L 0 Les liaisons logiques peuvent être utilisées pour le masquage de bits. Exemple: Est - ce qu’en @20 le bit 0 est posé? ... 20 IF @20 AND 1 <> 0 THEN GOTO . POSE 30 ELSE GOTO . NON POSE ENDIF ... R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 69 Fondements de la programmation Conversionentre systèmes numériques BCD Transformer la valeur binaire en format BCD: <Valeur BCD>=BCD(<valeur binaire>) Exemple: 1 BCD_WERT = BCD(49) BCD_WERT a la valeur 73 BIN Transformer les chiffres codés BCD en valeur binaire: <Valeur binaire>=BIN(<valeur BCD>) Exemple: 1 BIN_WERT = BCD(49) BIN_WERT a la valeur 31 Opérations de comparaison =, >=, >, <>, <=, < Les suivants opérateurs de comparaison sont autorisés: »=« égal » >= « supérieur ou égal »>« supérieur » <> différent » <= « inférieur ou égal »<« inférieur Les opérations de comparaison sont utilisées afin de décrire les relations (”accompli” ou ”non accompli”) d’une condition (par ex. pour les instructions REPEAT - UNTIL, WHILE - DO - END, IF - THEN - ELSE - ENDIF). 2 - 70 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.12 Autres éléments de base CPL Constantes Si les valeurs numériques pour le déroulement du programme sont fixées et doivent rester inchangées (constantes), il est possible d’utiliser ces valeurs directement en écriture de chiffres dans les instructions. Constante en nombre entier (INTEGER) Les nombres entiers sont écrits sans point décimal. Exemple: ANZAHL% = 4 Constante INTEGER Constante de point de glissement (REAL) Les nombres réels (chiffres décimaux ou nombres fractionnaires) sont caractérisés par un point décimal (point de glissement). Exemple: PI = 3.141593 Constante REAL Constante double précise et opérations double précises Les constantes qui sont attribuées à une variable REAL double précise ou qui sont comparées à une variable REAL double précise, sont représentées de manière double précise (c’est - à - dire précises sur 15 positions). Exemple: Attribution de constantes REAL double précises et comparaison de variables avec des constantes REAL double précises: 4 20 22 24 26 D5! D0! D1! D2! D3! = = = = = -1234.123456 + 12345 + 1234.234567 123456789.123456 1.12345678901234 -123456789012345 -1234.123456 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 71 Fondements de la programmation Les interrogations suivantes donnent le résultat: E? = TRUE 28 29 30 31 32 33 34 35 36 37 38 39 40 41 IF D0!=123456789.123456 THEN E?=TRUE ELSE E?=FALSE ENDIF IF D1!=1.12345678901234 THEN E?=TRUE ELSE E?=FALSE ENDIF IF D2!=-123456789012345 THEN E?=TRUE ELSE E?=FALSE ENDIF IF D3!=-1234.123456 THEN E?=TRUE ELSE E?=FALSE ENDIF IF D0! + 2.1 + 3.1 = 123456789.123456 + 2.1 + 3.1 THEN E? = TRUE ELSE E? = FALSE ENDIF IF (D0! + 2.1) + 3.1 = 123456789.123456 + 2.1 + 3.1 THEN E? = TRUE ELSE E? = FALSE ENDIF Constante de chaîne de caractères Une constante de chaîne de caractères (constante string) est limitée par des guillemets ( ” ). Exemple: Constante STRING EXEMPLE$ = ”Ceci est une chaîne de caractères” Caractères clé Les caractères clés suivants sont utilisés par CPL: # ! ? , ” @ % $ : ( [ ) ] < - / = > + * & La virgule est normalement utilisée en tant que caractère de séparation. Uniquement à l’intérieur de chaînes de caractères elle est utilisée en tant que signe de ponctuation. Le point est utilisé en tant que point décimal dans les chiffres décimaux et en tant que caractérisation label pour les destinations de saut. Le point est compris en tant que signe de ponctuation à l’intérieur de chaînes de caractères. 2 - 72 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Mots d’ordre réservés Les notions de clés citées ici doivent être positionnées séparément ou être limitées par des caractères spéciaux. Ainsi elles sont reconnaissables en tant que mots d’ordre. Lors de la sélection de noms de variables, ne pas utiliser des mots d’ordre réservés! Exemple: Saut à la ligne 10 nom de symboles (variable) quelconque; s’il est placé seul, il entraîne un message d’erreur ”Erreur d’exécution 2167 = manque”, parce qu’est attendue une attribution de valeur à la variable ”GOTO10” . GOTO 10 GOTO10 Notions clé : A: ABS ACOS AND APOS ASC ASIN ATAN E: ELSE END ENDIF ENDCASE EOF ERASE L: LABEL LEN LJUST P: PDIM AXO AXP B: ERRNO F: FALSE FILEACCESS FILECOPY FILEDATE FILENO FILEPOS M: MCODS Z: ZOT ZOV FILESIZE FOR FXC FXCR FXDEL FXINS CALL CASE CHR$ CLOCK CLOSE CLRWARN COF COS CPOS CPROBE D: DATE DBSEA DBTAB DCT DIM DIRCR G: GETERR GOTO I: N: NCF NEXT NJUST NOT NUL O: OF MCOPS MID$ MMC MPOS R: REM REPEAT REWRITE ROUND S: V: VAL VERSINF$ W: WAIT PMT PMV PPOS PRN# PROBE U: UNTIL C: BCD BIN BITIF SCL SCS SCSL SD SDR SEEK WHILE WPOS DIRDEL DIRINF DO DPC IF INP# INSTR INT OPENR OPENW OTHERWISE OR SETERR T: SETWARN SIN SPOS SQRT STEP STR$ TAN TCV THEN TIME TO TRIM$ X: XOR XTAB TRUE R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 73 Fondements de la programmation 2.13 Ordres pour la synchronisation du bloc CN 2.13.1 Synoptique A l’aide des ordres pour la synchronisation du bloc CN, il est possible: D de synchroniser des programmes CN à certains évènements définis. D De synchroniser la préparation du bloc avec l’exécution du programme. D De limiter la prévisualisation de blocs (Look-Ahead) à un nombre de blocs défini. D De synchroniser les programmes CN les uns avec les autres dans les différents canaux. Les fonctions de synchronisation prennent effet soit au moment de la préparation du bloc, soit au moment actif de l’exécution du bloc. Fonctions de synchronisation de la préparation du bloc: D WAIT (sans paramètre): Retient la préparation du bloc jusqu’à ce que tous les blocs préalables aient été traités. D Fonction CPL WAIT(,<durée d’attente>): La préparation du bloc est arrêtée pendant la durée indiquée. D Fonction CPL WAIT(BITIF(...)): La préparation de bloc attend un signal défini au sein de l’interface bit API CN. D BlkNmb: Limite la prévisualisation de blocs au nombre programmé de blocs. Fonctions de synchronisation au moment actif: D WAITA / WAITO: Attente d’un état défini sur l’interface bit API CN. D WPV / WPVE: Attendre la valeur d’une variable CPL permanente. D SPV / SPVE: Ecriture de variables CPL permanentes. D ASTOPA / ASTOPO: Arrêt de mouvement jusqu’à ce qu’une position définie de l’axe soit atteinte. D BSTOPA / BSTOPO: Arrêt de mouvement jusqu’à ce que des positions définies soient atteintes dans le système de coordonnées de base de la pièce à usiner. D WSTOPA / WSTOPO: Arrêt de mouvement jusqu’à ce que des positions définies soient atteintes dans le système actuel de coordonnées (WCS) de la pièce à usiner. D OFFSTOPA / OFFSTOPO: Suppression de conditions d’arrêt dans le canal pilote. 2 - 74 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.13.2 Fonctions de synchronisation de la préparation du bloc WAIT (sans paramètre) La fonction WAIT arrête la préparation du bloc jusqu’à ce que tous les blocs programmés avant le bloc WAIT soient effectués complètement. Elle est impérativement nécessaire si ensuite à l’intérieur du programme il est nécessaire d’avoir accès à des données relatives à la machine ou au processus. La préparation du bloc dans laquelle les lignes de programmation individuelles sont analysées et interprétées se déroule - du point de vue du temps - toujours avant l’exécution sur la machine. Le laps de temps entre la préparation et l’exécution n’est pas constant, mais dépend de plusieurs paramètres (avance, distance de déplacement, Look-Ahead, etc.). Si le programme doit réagir alors à un état réel relatif à la machine ou au processus (par ex. position réelle actuelle, signal sur l’interface bit, etc.), il doit être assuré à l’aide de WAIT que ce laps de temps s’élève à ”0” exactement au moment de l’exploitation. Exemple: WAIT (sans paramètre) N10 N100 N20 30 40 50 X0 (MSG, encore en marche) X150 WAIT XPOS = MPOS(1)-150 IF XPOS < 0.0001 THEN (MSG, position atteinte) 70 ENDIF . Traitement du bloc arrêté ”Position atteinte” est sortie à X=150 Il est possible de programmer la fonction WAIT (sans) paramètre aussi bien dans les blocs CN standard (DIN) que dans les blocs CPL. Dans un bloc CPL avec instruction WAIT, ”:” ne doit pas être programmé. Les instructions CPL suivantes doivent être écrites dans un nouveau bloc CPL. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 75 Fondements de la programmation Fonction CPL : WAIT(,<durée d’attente>) Arrête la préparation du bloc jusqu’à ce que la durée d’attente programmée soit terminée. Syntaxe: WAIT(,<durée d’attente>[,<var.résult>]) avec: <durée d’attente> <Var. résult> durée d’attente en millièmes de seconde, sans chiffres après la virgule. La durée d’attente peut être programmée également en tant qu’expression arithmétique en nombre entier. Variable intégrale optionnelle. A l’expiration de la durée d’attente <var. résult> est occupée avec 1. Exemples WAIT avec durée d’attente: 10 WAIT(,1000,E%) 10 WAIT(,ZEIT%) Le traitement du bloc est arrêté pendant 1000ms Ensuite la variable E% est occupée avec la valeur intégrale ”1”. Le contenu de la variable intégrale ZEIT% détermine combien de temps le traitement du bloc est arrêté. Pas de signalisation de valeurs. Fonction CPL : WAIT(BITIF(...)) La préparation du bloc est arrêtée jusqu’à ce qu’il se soit produit un état défini sur l’interface bit API CN. En option il est possible de programmer un laps de temps au même moment. La préparation du bloc est alors arrêtée jusqu’à ce que l’état sur l’interface bit se soit produit ou jusqu’à ce que le laps de temps ait expiré. Syntaxe: WAIT(<BITIF-condition>[,[<Timeout>][,<var.résult>]]) avec: <BITIF-condition> Spécifie la condition qui doit être contrôlée sur l’interface bit API CN. Ce faisant la syntaxe suivante doit être respectée: [NOT(]BITF(<paramètre>)[)][=<état>] <Paramètre> Paramètre de transfert de la fonction BITIF (description voir fonction BITIF, page 5 - 46). 2 - 76 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation <Etat> <Timeout> <Var. résult.> Expression booléenne permettant de comparer le résultat de la fonction BITIF. Si <l’état> n’est pas programmé, la comparaison avec TRUE est effectuée. Si la condition est satisfaite, le traitement de blocs se poursuit à nouveau. La préparation du bloc attend jusqu’à ce que la <condition BITIF> a été remplie, cependant au maximum jusqu’à ce que la durée <Timeout> soit expirée. Variable intégrale optionnelle. A l’expiration de la durée d’attente <var. résult> est occupée avec 1. Exemples WAIT(BITIF(...): 10 WAIT(BITIF(1,1,1)=TRUE) Attente, jusqu’à ce que le 2ème signal de l’entrée relatif à l’axe du 1er axe soit posé. 10 WAIT(BITIF(2,0,2)=(E1? OR E2?)) Attente, jusqu’à ce que le 3ème signal de l’entrée relatif au canal du 2ème canal possède la valeur de l’expression logique (E1? OR E2?). 10 WAIT(NOT BITIF(3,2,1),,C%) 20 IF C%=0 THEN 30 DSP(10,10,”COND. DEJA OK”) 40 ENDIF Attente, jusqu’à ce que le 4ème signal de l’entrée relatif à la broche de la 1ère broche possède la valeur FALSE. La variable C% fournit soit la valeur ”0”, si la condition était déjà satisfaite lors de l’appel WAIT, ou la valeur ”2”, si la condition a été satisfaite seulement pendant l’attente. 10 20 30 40 50 60 70 Attente, jusqu’à ce que le 5ème signal de sortie relatif à l’axe du 1er axe prenne la valeur de la variable E7?, ou que 250 ms se soient écoulées. La variable ERG% fournit soit la valeur ”0”, si la condition était déjà satisfaite lors de l’appel WAIT, ou la valeur ”1”, si le temps est déjà expiré, ou la valeur ”2”, si la condition a été satisfaite pendant l’attente. WAIT(BITIF(4,4,1)=E7?,250,ERG%) IF ERG%=0 THEN DSP(10,10,”PAS ATTENDU”) ENDIF IF ERG%=2 THEN DSP(10,10,”>ATTENDU 250ms”) ENDIF R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 77 Fondements de la programmation BlkNmb (BNB) A l’aide de la fonction CN standard BlkNmb, il est possible de limiter le nombre maximal de blocs traités dans la préparation de blocs. Avec la fonction BlkNmb, il est par exemple possible dans le programme de pièces suivant de gérer la poursuite du traitement de résultats de mesure déterminés au moment de l’exécution. Syntaxe: BlkNmb(<Anz>) Limitation MARCHE. BlkNmb() ou BlkNmb(0) Limitation ARRET. Le nombre de blocs maxi. permis dépend de MP 7060 00110. Abréviation: avec: <Anz> BNB(...) Nombre de blocs maxi. souhaité. Intégrale. Champs de saisie: supérieur/égal à 0. 0: Le nombre de blocs maxi. permis dépend de MP 7060 00110. Particularités et restrictions: D Si au moment de l’appel de la fonction déjà plus de <Anz> blocs sont préparés, la préparation de bloc arrête aussi longtemps que le nombre des blocs préparés dépasse <Anz>. D Si par rapport au <Anz> plus de blocs sont indiqués que prévu dans le cadre de la configuration de la commande, le nombre de blocs effectif est automatiquement réduit au paramétrage MP 7060 00110. 2 - 78 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation 2.13.3 Fonctions de synchronisation au moment de l’exécution du bloc Un programme peut fonctionner par canal dans la IndraMotion MTX. Toutefois, en divisant des séquences d’usinage séparées en différents programmes séparés qui fonctionnent dans différents canaux, il est possible de piloter le déroulement de l’usinage de chaque programme séparé par des fonctions de synchronisation dépendantes du déroulement de l’exécution. Toutes les fonctions de synchronisation ont des listes de paramètres CPL (similaires à des sous-programmes) au moment de l’exécution du bloc. Dans celles - ci, des listes d’expressions CPL qui se mettent entre les crochets ”[” et ”]” sont programmées. En général s’applique: D Les variables CPL permanentes utilisées dans les fonctions WPV, WPVE, SPV, SPVE sont valides dans tout le système. Le programmeur doit donc s’assurer qu’elles sont utilisées correctement afin d’éviter tout effet réciproque non voulu. D Dans les fonctions CN proposées, on ne doit utiliser que les types de variables CPL permanentes simples exposés ci - après: - INT - BOOL - REAL - DOUBLE Pour les Arrays, seuls des éléments individuels peuvent être appelés! Les fonctions WAITA, WAITO, WVP, WVPE entraînent implicitement un Downslope en fin de bloc. Des points de synchronisation mal posés peuvent entraîner un endommagement de la machine. Il est donc recommandé de tester le déroulement du programme avant l’usinage proprement dit, afin de pouvoir détecter d’éventuels problèmes de synchronisation au cours de son exécution. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 79 Fondements de la programmation Attente d’états sur l’interface bit API CN: WAITA / WAITO Avec la fonction WAITA / WAITO, le système attend, au moment de l’exécution d’un programme, qu’un ou plusieurs des 16 signaux d’interface max. acceptent une valeur respective prédéfinie. Selon la liaison, il est possible de programmer avec plusieurs signaux d’interface: D WAITA: ”Et-liaison ” des différents signaux Attendre jusqu’à ce que tous les signaux d’interface aient accepté la valeur prédéfinie. D WAITO: ”Ou-liaison” des différents signaux Attendre jusqu’à ce qu’ un signal d’interface ait accepté la valeur prédéfinie. Exemple: Le programme 1 dans le canal 1 traite la face avant d’une pièce de tournage. Le programme 2 dans le canal 2 doit fraiser une rainure sur cette face et doit attendre que le programme 1 libère la pièce pour le programme 2. La libération de la pièce pour le programme 2 s’effectue par pose de certains signaux d’interface. Lorsque les signaux d’interface ont atteint l’état voulu, le canal 1 transfère la validation au canal 2. Tandis que le programme 2 est exécuté, le programme 1 attend le programme 2 pour poursuivre son traitement. Syntaxe: Attendre chacun des signaux indiqués: WAITA[BITIF(<paramètre>){=<état>}, BITIF(<paramètre>){=<état>},...,{<Timeout>}] Attendre un des signaux indiqués: WAITO[BITIF(<paramètre>){=<état>}, BITIF(<paramètre>){=<état>},...{,<Timeout>}] avec: BITIF <Paramètre> <Etat> <Timeout> fonction BITIF interroge l’interface API CN. En option 2 à 16 des signaux d’interface peuvent être interrogés simultanément. Paramètre de transfert de la fonction BITIF (description voir fonction BITIF, page 5 - 46). Expression booléenne permettant de comparer le résultat de la fonction BITIF. Si <l’état> n’est pas programmé, la comparaison avec TRUE est effectuée. Si la condition est satisfaite, le traitement de blocs se poursuit à nouveau. en option temps en ms, Default = 0. Si <Timeout> est expiré avant que la condition correspondante soit satisfaite, une alarme est émise et l’attente se poursuit. Si un Timeout n’a pas été programmé ou s’il est égal à 0, il n’y aura pas d’alarme émise. 2 - 80 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Exemples: N10 WAITO[BITIF(10,1,1)=FALSE, BITIF(11,1,2)] Attend activement jusqu’à ce que BITIF(10,1,1) ait accepté la valeur 0 ou BITIF(11,1,2) ait accepté la valeur 1. N10 WAITA[BITIF(10,1,1)=FALSE, BITIF(11,1,2)] Attend activement jusqu’à ce que BITIF(10,1,1) ait accepté la valeur 0 et BITIF(11,1,2) la valeur 1. Pour WAITA, WAITO, on notera: D Si WAITA et WAITO sont programmés dans un bloc CN, l’exécution du bloc sera alors suspendue jusqu’à ce que ces deux conditions soient remplies; la condition WAITO étant évaluée tout d’abord. Les fonctions WAITA, WAITO, WVP, WVPE entraînent implicitement un Downslope en fin de bloc. Des points de synchronisation mal posés peuvent entraîner un endommagement de la machine. Il est donc recommandé de tester le déroulement du programme avant l’usinage proprement dit, afin de pouvoir détecter d’éventuels problèmes de synchronisation au cours de son exécution. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 81 Fondements de la programmation Attendre la valeur d’une variable CPL permanente: WPV / WPVE Avec la WPV / WPVE, le système attend au moment de l’exécution de programmes qu’une variable CPL permanente ait accepté une valeur définie de comparaison. La valeur de comparaison peut être déterminée à des moments différents: D WPV: La valeur de comparaison est une expression CPL qui est comparée à la valeur de la variable permanente au moment de l’exécution. L’exploitation au moment de l’exécution ne permet qu’une expression CPL simple. D WPVE: La valeur de comparaison est une expression CPL qui est calculée au moment de la préparation, mais qui n’est comparée à la valeur de la variable permanente qu’au moment de l’exécution. Syntaxe: La valeur de comparaison n’est déterminée qu’au moment de l’exécution: WPV[<Variable CPL perm.><opérateur de comparaison><expression CPL simple>{,<Timeout>}] La valeur de comparaison n’est déterminée qu’au moment de la préparation: WPVE[<Variable CPL perm.><opérateur de comparaison><expression CPL>{,<Timeout>}] avec: <Variable CPL perm.> <Opérateur de comparaison> La variable permanente est caractérisée par le caractère ”@”, suivi du nom de variable. Les opérateurs de comparaison suivants sont possibles: 2 - 82 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation = La variable CPL permanente est égale à la valeur de l’expression CPL. Judicieux seulement pour valeurs intégrales ou booléennes. <> La variable CPL permanente est inégale à la valeur de l’expression CPL. Judicieux seulement pour valeurs intégrales ou booléennes. < La variable CPL permanente est inférieure àla valeur de l’expression CPL. 3 La variable CPL permanente est inférieure ou égale à la valeur de l’expression CPL. > La variable CPL permanente est supérieure àla valeur de l’expression CPL. . <simple Expression CPL> <Expression CPL> <Timeout> La variante CPL permanente est supérieure ou égale à la valeur de l’expression CPL. Afin de ne pas nuire à la génération de mouvement au moment de l’exécution, uniquement des expressions CPL simples peuvent être analysées. Une expression CPL simple est une expression mathématique se composant de variables CPL permanentes, de constantes et des opérations mathématiques possibles en CPL. Expression mathématique quelconque en langage de programmation CPL En option temps en ms, défaut = 0. Si <Timeout> est expiré avant que la condition correspondante soit satisfaite, une alarme est émise et l’attente se poursuit. Si un Timeout n’a pas été programmé ou s’il est égal à 0, il n’y aura pas de génération d’alarme. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 83 Fondements de la programmation Exemples: N10 WPV[@9=10] Le programme attend au moment actif jusqu’à ce que la variable @9 ait acceptée la valeur 10. N10 WPVE[@8=(5*#VAR2%)] L’expression ”5 * #VAR2%” est évaluée au moment de la préparation. La valeur alors déterminée est comparée au moment de l’exécution avec la variable permanente @8. Tant que @8 ne correspond pas à la valeur déterminée, un nouveau bloc CN ne peut pas être activé. 2 - 84 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Ecriture de variables CPL permanentes: SPV / SPVE A l’aide de la fonction SPV / SPVE, une valeur est attribuée à une variable CPL permanente par écriture au moment de l’exécution. La valeur peut être déterminée aux moments différents: D SPV: la valeur à attribuer à la variable permanente n’est déterminée qu’au moment de l’exécution. L’exploitation au moment de l’exécution ne permet qu’une expression CPL simple. D SPVE: la valeur à attribuer à la variable permanente est calculée au moment de la préparation (temps d’interprétation CPL), mais elle n’est attribuée à la variable CPL permanente qu’au moment de l’exécution. Syntaxe: Cette valeur n’est déterminée qu’au moment de l’exécution: SPV[<CPL perm.-Variable> = <CPL simple-expression>] Cette valeur est déterminée au moment de la préparation: SPVE[<CPL perm.-Variable> = avec: <Variable CPL perm.> <simple Expression CPL> <Expression CPL> <CPL-expression>] La variable permanente est caractérisée par le caractère ”@”, suivi du nom de variable. Afin de ne pas nuire à la génération de mouvement au moment de l’exécution, uniquement des expressions CPL simples peuvent être analysées. Une expression CPL simple est une expression mathématique se composant de variables CPL permanentes, de constantes et des opérations mathématiques possibles en CPL. Expression mathématique quelconque en langage de programmation CPL Exemples: N10 SPV[@6=1] La valeur 1 est attribuée au moment de l’exécution à la variable permanente ”@6”. N10 SPV[@5=(7*(@PERMVAR1% +5))] La valeur de l’expression (7*(@PERMVAR1% + 5)) est calculée au moment de l’exécution puis attribuée à @6. N10 SPVE[@5=(7*#VAR1%)] La valeur de l’expression (7 * #VAR1%) est calculée au moment de la préparation puis attribuée au moment de l’exécution à @5. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 85 Fondements de la programmation Arrête le mouvement jusqu’à ce qu’une position d’axe soit atteinte: ASTOPA / ASTOPO Avec la fonction ASTOPA / ASTOPO il est possible de synchroniser des mouvements entre les canaux. En fonction de la position d’un ou de plusieurs axes du système de coordonnées d’axe ACS dans un canal, le mouvement synchrone dans un autre canal peut être arrêté puis poursuivi. Restrictions: D Les axes qui sont utilisés pour la synchronisation doivent appartenir à un autre canal que celui à piloter, car dans le cas contraire un auto verrouillage risque de se produire. D Le canal à piloter doit se trouver en mode automatique ou en entrée manuelle. D Si des conditions UND et ODER sont prédéfinies pour ce canal en même temps, le canal sera arrêté si la condition correspondante est satisfaite pour au moins l’une des deux fonctions. Pour chaque canal qui est piloté, une ou plusieurs conditions pour arrêter le canal peuvent être prédéfinies: D ASTOPA: Tant que toutes les conditions sont satisfaites, le mouvement synchrone du canal à piloter est arrêté (liaison UND logique). D ASTOPO: Tant qu’au moins une condition est satisfaite, le mouvement synchrone du canal à piloter est arrêté (liaison ODER logique). . Par la définition de nouvelles conditions UND et ODER toutes les conditions jusqu’à présent n’auront plus d’effet. Syntaxe: Conditions UND: ASTOPA[<numéro de canal>,<cond.1>{,<cond.2>}{..{,<cond.8>}.}] Conditions ODER: ASTOPO[<numéro de canal>,<cond.1>{,<cond.2>}{..{,<cond.8>}.}] avec: <Numéro du canal> <Cond.1, Cond.2... Cond.8> Numéro du canal à piloter (1..n). Valeur intégrale ou variable intégrale. Définition de 1 à 8 conditions sous la forme: <Axe><opérateur de comparaison><valeur de comparaison> avec: <Axe> Nom d’axe de système ou de canal, programmé en tant que constante de string CPL ou variable de string CPL. 2 - 86 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation <Opérateur de comparaison> <Valeur de comparaison> . Opérateurs autorisés: < , ≤, > , ≥ Valeur réelle ou expression réelle CPL. La valeur est calculée au moment de la préparation et elle reste active en tant que valeur modale. A partir d’un canal, il est possible de stopper jusqu’à 4 autres canaux au maximum au moyen des conditions UND-/ODER. Exemple: Utilisation de noms et numéros d’axes 10 ACHSNR% = 2 20 ACHSNAME$ = ”X” 30 STOPCHAN% = 2 : N40 ASTOPO[STOPCHAN%, ACHSNR%<10] : N90 ASTOPO[STOPCHAN%, ”Z”>20.3] : N150 ASTOPO[STOPCHAN%, ACHSNAME$<1.5] Définition - Numéro de l’axe, - Nom de l’axe - Numéro du canal R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 87 Fondements de la programmation Arrêt de mouvement jusqu’à ce qu’une position de base de la pièce à usiner soit atteinte: BSTOPA / BSTOPO Avec la fonction BSTOPA / BSTOPO il est possible de synchroniser des mouvements entre les canaux. En fonction de la position d’une ou de plusieurs coordonnées du système de coordonnées de base de la pièce à usiner BCS dans un canal, le mouvement synchrone dans un autre canal peut être arrêté puis poursuivi. Restrictions: D Les coordonnées qui sont utilisées pour la synchronisation doivent appartenir à un autre canal que celui à piloter, car dans le cas contraire un auto - verrouillage risque de se produire. D Le canal à piloter doit se trouver en mode automatique ou en entrée manuelle. D Si des conditions UND et ODER sont prédéfinies pour ce canal en même temps, le canal sera arrêté si la condition correspondante est satisfaite pour au moins l’une des deux fonctions. Pour chaque canal qui est piloté, une ou plusieurs conditions pour arrêter le canal peuvent être prédéfinies: D BSTOPA: Tant que toutes les conditions sont satisfaites, le mouvement synchrone du canal à piloter est arrêté (liaison UND logique). D BSTOPO: Tant qu’au moins une condition est satisfaite, le mouvement synchrone du canal à piloter est arrêté (liaison ODER logique). . Par la définition de nouvelles conditions UND et ODER toutes les conditions jusqu’à présent n’auront plus d’effet. 2 - 88 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Syntaxe: Conditions UND: BSTOPA[<numéro de canal>,<cond.1>{,<cond.2>}{..{,<cond.8>}.}] Conditions ODER: BSTOPO[<numéro de canal>,<cond.1>{,<cond.2>}{..{,<cond.8>}.}] avec: <Numéro du canal> <Cond.1, Cond.2... Cond.8> . Numéro du canal à piloter (1..n). Valeur intégrale ou variable intégrale. Définition de 1 à 8 conditions sous la forme: <Coordonnée><opérateur de comparaison><valeur de comparaison> avec: <Coordonnée> En ce qui concerne BCS: Nom de coordonnée ou index de coordonnée, programmé en tant que constante de string CPL ou variable de string CPL. <Opérateur de Opérateurs autorisés: comparaison> < , ≤, > , ≥ <Valeur de Valeur réelle ou expression réelle comparaison> CPL. La valeur est calculée au moment de la préparation et elle reste active en tant que valeur modale. A partir d’un canal, il est possible de stopper jusqu’à 4 autres canaux au maximum au moyen des conditions UND-/ODER. Exemple: Activer une condition UND pour des coordonnées de base de la pièce à usiner N10 BSTOPA[3,”z”<12.0,”x”>15] Le canal 3 sera arrêté tant que les conditions suivantes sont applicables dans le canal pilotant : Position de la coordonnée de base de la pièce à usiner z < 12 mm et Position de la coordonnée de base de la pièce à usiner x > 15 mm R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 89 Fondements de la programmation Arrêt de mouvement jusqu’à ce qu’une position de la pièce à usiner soit atteinte: WSTOPA / WSTOPO Avec la fonction WSTOPA / WSTOPO il est possible de synchroniser des mouvements entre les canaux. En fonction de la position d’un ou de plusieurs axes du système de coordonnées de la pièce à usiner WCS dans un canal, le mouvement synchrone dans un autre canal peut être arrêté puis poursuivi. Restrictions: D Les coordonnées qui sont utilisées pour la synchronisation doivent appartenir à un autre canal que celui à piloter, car dans le cas contraire un auto - verrouillage risque de se produire. D Le canal à piloter doit se trouver en mode automatique ou en entrée manuelle. D Si des conditions UND et ODER sont prédéfinies pour ce canal en même temps, le canal sera arrêté si la condition correspondante est satisfaite pour au moins l’une des deux fonctions. Pour chaque canal qui est piloté, une ou plusieurs conditions pour arrêter le canal peuvent être prédéfinies: D WSTOPA: Tant que toutes les conditions sont satisfaites, le mouvement synchrone du canal à piloter est arrêté (liaison UND logique). D WSTOPO: Tant qu’au moins une condition est satisfaite, le mouvement synchrone du canal à piloter est arrêté (liaison ODER logique). . Par la définition de nouvelles conditions UND et ODER toutes les conditions jusqu’à présent n’auront plus d’effet. 2 - 90 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fondements de la programmation Syntaxe: Conditions UND: WSTOPA[<numéro de canal>,<cond.1>{,<cond.2>}{..{,<cond.8>}.}] Conditions ODER: WSTOPO[<numéro de canal>,<cond.1>{,<cond.2>}{..{,<cond.8>}.}] avec: <Numéro du canal> <Cond.1, Cond.2... Cond.8> . Numéro du canal à piloter (1..n). Valeur intégrale ou variable intégrale. Définition de 1 à 8 conditions sous la forme: <Coordonnée><opérateur de comparaison><valeur de comparaison> avec: <Coordonnée> En ce qui concerne WCS: Nom de coordonnée ou index de coordonnée, programmé en tant que constante de string CPL ou variable de string CPL. <Opérateur de Opérateurs autorisés: comparaison> < , ≤, > , ≥ <Valeur de Valeur réelle ou expression réelle comparaison> CPL. La valeur est calculée au moment de la préparation et elle reste active en tant que valeur modale. A partir d’un canal, il est possible de stopper jusqu’à 4 autres canaux au maximum au moyen des conditions UND-/ODER. Exemple: Activer une condition UND pour des coordonnées de la pièce à usiner N10 WSTOPA[3,”Z”<12.0,”X”>15] Le canal 3 sera arrêté tant que les conditions suivantes sont applicables dans le canal pilotant: Position de la coordonnée Z de la pièce à usiner du canal inférieure à 12 mm et position de la coordonnée X de la pièce à usiner supérieure à 15 mm R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 2 - 91 Fondements de la programmation Suppression des conditions d’arrêt: OFFSTOPA / OFFSTOPO Effacement des conditions d’arrêt pour un canal pilote. Syntaxe: OFFSTOPA Efface toutes les conditions d’arrêt UND OFFSTOPO Efface toutes les conditions d’arrêt OU Pour les fonctions de synchronisation, on notera: D ASTOPO, BSTOPO, WSTOPO, OFFSTOPO sont des fonctions modales qui se révoquent réciproquement. D ASTOPA, BSTOPA, WSTOPA, OFFSTOPA sont des fonctions modales qui se révoquent réciproquement. ATTENTION Mouvement de déplacement non intentionnel Beaucoup de fonctions CN attendent la programmation d’adresses d’axes ou de coordonnées. En règle générale ici, hormis les adresses des coordonnées, uniquement les adresses des axes concernés du canal, donc des axes synchrones, peuvent être programmées. Globalement, la programmation de l’adresse d’un axe asynchrone à l’intérieur d’une liste de paramètres provoque une erreur de syntaxe alors que la programmation en dehors d’une liste de paramètres entraîne un mouvement de déplacement synchrone ! Exceptions: G74(Home) VA1: l’axe asynchrone VA se déplace vers le point de référence. GAX(VA): axe asynchrone VA est repris dans le canal FsMove, FsTorque, FsReset: La fonctionnalité déplacement vers butée fixe a également un effet sur les axes asynchrones. 2 - 92 Bosch Rexroth AG Electric Drives and Controls Fondements de la programmation Notes: IndraMotion MTX R911311170 / 01 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 3 Fonctions CN avec syntaxe conforme à la DIN 66025 (incl. extensions) 3.1 Synoptique 3-1 La commande dispose d’un grand nombre de fonctions CN. En l’occurrence, excepté les ordres qui sont déterminés dans la DIN 66025, également des extensions essentielles dans le domaine des codes G et des éléments de syntaxe additionnels similaires à la langue standard. Les fonctions CN de la commande comprennent D 1les codes G à 1 et 2 chiffres: ils suivent en grande partie la DIN 66025 et complètent avantageusement son ”vocabulaire du code G” afin D d’étendre les groupes de fonctions compris dans la DIN (par ex. G52, G53, G54, ...), ou D d’introduire de nouveaux groupes de fonctions en rapport avec les groupes de fonctions déjà existants. Les codes G à 1 chiffre peuvent toujours être écrit avec 2 chiffres commençant par un zéro (par ex. G0=G00, G1=G01, ...). D 3-Codes G à 3 chiffres (cas exceptionnels): ces codes G sont utilisés lorsqu’une fonctionnalité déjà existante en 2D est introduite de la même façon en 3D (par ex. G41, G42 - > G141, G142). D Codes G suivis de ”.”: ils sont utilisés en liaison avec les décalages d’origine ou transformation des coordonnées. Ces fonctions possèdent jusqu’à 6 banques qui peuvent être appelées/programmées via le suffixe ”.”. Exemples: G54.4 1. Décalage de l’origine de la banque 4 G59.4 6. Décalage de l’origine de la banque 4 D Fonctions M avec fonctionnalité CN définie par ex. M0, M30 D Fonctions CN avec syntaxe de langue standard D (voir le chapitre 4) . Un synoptique sous forme de tableau de toutes les fonctions peut être trouvé dans l’annexe à partir de la page A - 2. En outre toutes les fonctions NC se trouvent dans l’index à partir de la page A - 54. 3-2 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Ecritures utilisées Dans le manuel, les écritures suivantes sont utilisées pour la syntaxe des fonctions CN: Police de caractères ”Courier gras” ou ”Courier”: Les suites de caractères dans cette écriture doivent être programmées comme indiqué. Exemple: G0(POL) Crochets triangulaires < > caractérisent un caractère de substitution pour une expression/un paramètre à programmer. Le caractère de substitution est représenté en italique. Exemple: <Axe1> Accolades { } caractérisent une expression/un paramètre optionnel/le De tels paramètres peuvent mais ne doivent pas être programmés absolument. Exemple: G0{({POL,}{<Par1>})} caractère ”|” sépare les paramètres possibles mais non utilisables simultanément (paramètre alternatif). Exemple: G0{({POL,}{NIPS|IPS1|IPS2|IPS3})} R911311170 / 01 IndraMotion MTX Codes G G00 Electric Drives Bosch Rexroth AG and Controls 3.2 Codes G 3.2.1 Interpolation linéaire à vitesse rapide 3-3 G00 Effet La position programmée est atteinte par interpolation sur une droite en effectuant une trajectoire à la vitesse maximale (à vitesse rapide). Ce qui suit s’applique: D Un axe au moins se déplace à vitesse ou accélération maximale. La vitesse des axes est réglée de façon à atteindre le point cible au même moment. D Si la fonction est activée, le signal IF du canal ”vitesse rapide active” est généré. D L’écart de poursuite (décalage entre valeur de consigne et valeur réelle) en fin de bloc permet de réduire la taille de la fenêtre cible définie (= fonctionnalité ”Arrêt précis”). D La fonction est modale et révoque G1, G2, G3, G5, G6, G33. +Y 300 Position d’arrivée G0 200 100 Position de départ +X W 100 200 300 400 500 Programmation Fonction de base Syntaxe: G0 Avance rapide avec arrêt précis (Fenêtre de positionnement précis) et Programmation de la position d’arrivée aux coordonnées cartésiennes. Exemple: : N40 X100 Y100 N50 G0 X500 Y300 Position de départ. Approche de la position cible à vitesse rapide. 3-4 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G00 Paramètres optionnels Syntaxe: G0({NIPS|IPS|IPS1|IPS2|IPS3,}{POL}) avec NIPS IPS IPS1 IPS2 IPS3 POL Arrêt précis OFF. Pas de décélération à v=0 en fin de bloc. Arrêt précis ON. Ce faisant, la dernière fenêtre d’arrêt précis déterminant l’entrée est prise en compte (défaut = fenêtre de positionnement précis). En fin de bloc, la commande décélère tout d’abord à la vitesse sur trajectoire v = 0. Le bloc suivant n’est déplacé que lorsque cette fenêtre de positionnement a été atteinte pour tous les axes intéressés. La fenêtre d’arrêt précis en fonctionnement d’avance n’est pas influencée par la fenêtre de positionnement de vitesse rapide. Comme IPS, mais toujours avec la fenêtre de positionnement précis. Comme IPS, mais toujours avec la fenêtre de positionnement approximatif. Comme IPS, mais aucune fenêtre de positionnement n’est contrôlée, seule une décélération à la vitesse v=0 en fin de bloc est effectuée. Pour plus d’informations sur l’Arrêt précis, consultez la fonction G61/G62. Active la programmation des coordonnées polaires et définit l’angle polaire 1 sur 0, l’angle polaire 2 sur 90 degrés. Comment programmer en coordonnées polaires, voir chapitre 4.53.2 à partir de la page 4 - 101. Particularités et restrictions: D La fonction est programmable avec ou sans adresse d’axes dans un même bloc. D La vitesse correspondante est déterminée via les paramètres machine pour la vitesse maximale de l’axe. D La vitesse rapide peut être réduite à la valeur définie dans les paramètres machine au moyen du signal IF du canal ”Vitesse rapide réduite” (qCh_RedRap). D La vitesse rapide peut être limitée via la fonction ”vitesse rapide de test”, pilotée par le signal IF du canal ”vitesse rapide de test” (qCh_TestRap). D On peut influencer cette vitesse au moyen du potentiomètre. R911311170 / 01 IndraMotion MTX Codes G G01 3.2.2 Electric Drives Bosch Rexroth AG and Controls Interpolation linéaire à vitesse d’avance programmée 3-5 G01 Effet La position programmée est atteinte par interpolation sur une droite par une avance active valide (programmable par addresse F). Le mouvement est coordonné de façon à ce que tous les axes intéressés atteignent simultanément le point d’arrivée programmé. Ce faisant s’applique: D La vitesse d’avance programmée (F) correspond à une avance sur trajectoire et de ce fait, dans le cas de mouvements de plusieurs axes, la participation de chaque axe est inférieure à F. D La fonction est modale et révoque G0, G2, G3, G5, G6, G33. +Y 300 Position d’arrivée G1 200 100 Position de départ +X W 100 200 300 400 500 Programmation Fonction de base Syntaxe: G1 Mouvement suivant l’avance active et Programmation de la position d’arrivée aux coordonnées cartésiennes. Exemple: : N40 X100 Y100 N50 G0 X500 Y300 F100 Paramètres optionnels Position de départ. Position cible, approche avec avance F100. Syntaxe: G1({IPS|IPS1|IPS2|IPS3,}{POL}) avec IPS Arrêt précis ON, indépendamment de G61/G62. Ce faisant, la dernière fenêtre d’arrêt précis déterminant le fonctionnement d’avance est prise en compte (défaut = fenêtre de positionnement précis). En fin de bloc, la commande réduit tout d’abord la vitesse sur trajectoire en décélérant à la vitesse v=0. Le bloc suivant n’est déplacé que lorsque cette fenêtre de positionnement a été atteinte pour tous les axes intéressés. 3-6 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G01 IPS1 IPS2 IPS3 POL Comme IPS, mais toujours avec la fenêtre de positionnement précis. Comme IPS, mais toujours avec la fenêtre de positionnement approximatif. Comme IPS, mais aucune fenêtre de positionnement n’est contrôlée, seule une décélération à la vitesse v=0 en fin de bloc est effectuée. Pour plus d’informations sur l’Arrêt précis, consultez la fonction G61/G62. Active la programmation des coordonnées polaires et définit l’angle polaire 1 sur 0, l’angle polaire 2 sur 90 degrés. Comment programmer en coordonnées polaires, voir chapitre 4.53.2 à partir de la page 4 - 101. Particularités et restrictions: D La fonction est programmable avec ou sans adresse d’axes dans un même bloc. D Si aucune avance n’a encore été activée, une avance doit être programmée dans la même ligne par adresse F. Cette avance programmée reste alors active tant qu’elle n’a pas été écrasée par une autre valeur. D La vitesse sur trajectoire programmée peut être réduite par les paramètres machine. D On peut influencer cette vitesse au moyen du potentiomètre d’avance. R911311170 / 01 IndraMotion MTX Codes G G02, G03 3.2.3 Electric Drives Bosch Rexroth AG and Controls Interpolation circulaire/hélicoïdale/hélicoïdale N 3-7 G02, G03 Effet La position cible programmée dans le plan de travail actif est atteinte en effectuant une trajectoire circulaire avec l’avance actuelle (programmable par addresse F). D G2: trajectoire circulaire dans le sens des aiguilles d’une montre (antitrigonométrique) D G3: trajectoire circulaire dans le sens inverse des aiguilles d’une montre (trigonométrique) D’autres axes peuvent être programmés en même temps à l’extérieur du plan de travail, les mouvements linéaires desquels sont co - interpolés. +Y +Y Position d’arrivée Position d’arrivée G2 G3 +X W +X W Interpolation circulaire: Seuls les axes du plan de travail actif y participent. Interpolation hélicoïdale: En plus des axes du plan de travail actif, un axe synchrone supplémentaire intervient. S’il est configuré perpendiculairement au plan de travail actif (par ex. l’axe restant du système de coordonnées de la pièce à usiner), une trajectoire en forme de ligne spiralée à pas constant (interpolation avec hélice) peut être créée. Z Interpolation hélicoïdale (Cas particulier: interpolation avec hélice) E Y A: Point de démarrage E: programmé A W X 3-8 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G02, G03 Interpolation hélicoïdale N: En plus des axes du plan de travail actif, plus d’un axe synchrone supplémentaire (max. 6) sont programmés. Interpolation hélicoïdale N Z E Y W A X U A: Point de démarrage E: programmé Ce qui suit s’applique: D Les axes qui se déplacent sur l’arc de cercle sont clairement définis par les plans de travail sélectionnés (G17, G18, G19, G20). D La vitesse d’avance programmée (F) correspond à une avance sur trajectoire et se rapporte en règle générale à tous les axes se déplaçant dans un bloc; ainsi, dans le cas de mouvements de plusieurs axes, la participation de chaque axe est inférieure à F. D L’avance réelle peut limitée être par l’accélération radiale maximale possible. D Les fonctions G0, G1, G2, G3, G5, G6 forment un groupe de fonctions modales et se révoquent ainsi réciproquement. D La trajectoire circulaire peut être programmée comme suit: D Programmation au rayon ou D programmation au centre. R911311170 / 01 IndraMotion MTX Codes G G02, G03 Electric Drives Bosch Rexroth AG and Controls 3-9 Programmation au rayon A partir de la position actuelle en tant que point de départ, on définit une trajectoire circulaire en programmant le D point d’arrivée et D Rayon de cercle. Le point d’arrivée doit donc être programmé comme valeur de position absolue ou incrémentale. Fonction de base Syntaxe: G2 <EP> R<Valeur> trajectoire circulaire antitrigonométrique trajectoire circulaire trigonométrique G3 <EP> R<Valeur> avec <EP> <Valeur> Coordonnées du point d’arrivée. rayon de la trajectoire circulaire. Le rayon doit être au moins égal à la moitié de la distance entre point de départ et point d’arrivée. Au moyen du signe, déterminez si, parmi les deux trajectoires circulaires possibles, la trajectoire doit être programmée en utilisant le plus petit ou le plus grand arc de cercle: Rayon positif : Arc de cercle ≤ 180 degrés Rayon négatif : Arc de cercle > 180 degrés. Si le rayon est juste égal à la moitié de l’écart entre le point de départ et le point d’arrivée, on obtiendra un demi - cercle et le signe précédent la valeur du rayon est indifférent. G2: G3: Point de démarrage -R +R Point de démarrage programmé +R programmé Cas particulier du demi - cercle: signe de R est indifférent -R Cas particulier du demi - cercle: signe de R est indifférent Point de démarrage -R Point de démarrage +R programmé -R +R programmé Particularités et restrictions: D les cercles complets ne peuvent pas être créés. D La commande corrige automatiquement les indications imprécises de rayon suivant la tolérance définie dans les paramètres machine. Dans le cas contraire, une erreur d’exécution est générée. 3 - 10 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G02, G03 Programmation au centre A partir de la position actuelle en tant que point de départ, on définit une trajectoire circulaire en programmant le D point d’arrivée et D centre du cercle. Le centre du cercle est programmé incrémentalement, par rapport au point de départ respectif du cercle. Fonction de base Syntaxe: G2 <EP> <IP> trajectoire circulaire antitrigonométrique trajectoire circulaire trigonométrique G3 <EP> <IP> avec <EP> <IP> Coordonnées du point d’arrivée. Si le point de départ et le point d’arrivée sont identiques à l’intérieur du plan circulaire, un cercle entier est automatiquement généré. Paramètres d’interpolation I, J et K. Ils définissent pour chaque axe l’écart entre le point de départ du cercle A et le centre du cercle M. Le signe résulte automatiquement de l’orientation vectorielle de A vers M. On déduit de la signification des coordonnées dans les paramètres machine quel paramètre d’interpolation est assigné à quel axe. Réglage standard: I = M(X) - A(X) pour coordonnée de X J = M(Y) - A(Y) pour coordonnée de Y K = M(Z) - A(Z) pour coordonnée de Z G2: +Y A: Point de démarrage E: programmé M: Centre +Y E −I M +J A M −J A +I W A: Point de démarrage E: programmé M: Centre E G3: +X W +X Particularités et restrictions: D Si le point de départ et d’arrivée sont identiques, la commande génère automatiquement un cercle entier. D La commande corrige automatiquement les indications imprécises de centre suivant la tolérance définie dans les paramètres machine. Pour ce faire, elle décale la position du centre en conséquence. D Si des paramètres d’interpolation et un rayon de cercle sont programmés dans un même bloc, le système ne tiendra compte que du rayon de cercle (= programmation au rayon). R911311170 / 01 IndraMotion MTX Codes G G02, G03 Electric Drives Bosch Rexroth AG and Controls 3 - 11 D si des paramètres d’interpolation ne correspondant pas au plan sélectionné ont été programmés, la commande génère un message d’erreur d’exécution. Exemple: G17 G2 X5 I9 K7 (erreur: K ne correspond pas au plan X/Y) Paramètres optionnels Syntaxe: G2G3(POL) <EP> R<Valeur> Programmation au rayon en coordonnées polaires Programmation au centre en coordonnées polaires G2G3(POL) <EP> <IP> avec POL Active la programmation des coordonnées polaires pour les coordonnées du point d’arrivée et définit l’angle polaire 1 sur 0, l’angle polaire 2 sur 90 degrés. Comment programmer en coordonnées polaires, voir chapitre 4.53.2 à partir de la page 4 - 101. Exemple: Programmation au rayon (cartésienne) : N40 G1 X10 Y10 F100 N50 G2 X38 Y20 R15 Approche point de départ. Interpolation circulaire. +Y G2 20 programmé 10 Point de démarrage +X W 10 20 30 40 Exemple: Programmation au centre (cartésienne) : N80 G1 X100 Y100 F100 N90 G90 G17 G3 X350 Y250 I200 J-50 : Approche à la position de départ. Interpolation circulaire trigonométrique dans le plan X/Y. La programmation absolue pour les coordonnées du point d’arrivée est active. 3 - 12 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX G02, G03 +Y E 250 −J 100 50 W A M 100 300 350 +I +X R911311170 / 01 R911311170 / 01 IndraMotion MTX Codes G G04 3.2.4 Electric Drives Bosch Rexroth AG and Controls Temporisation 3 - 13 G04 Effet Interrompt l’exécution du programme. Le bloc programmé suivant n’est exécuté qu’une fois la temporisation programmée terminée. la temporisation commence lorsque le bloc CN précédent est entièrement exécuté. Des broches en rotation ou des axes secondaires en déplacement ne sont pas immobilisés. Des axes synchrones peuvent éventuellement compenser leur décalage de poursuite La temporisation peut être programmée: D en secondes ou D en nombre de tours de broche. Pour la détermination de la vitesse de rotation de la broche (en nombre de tours), il faut déterminer cycliquement la vitesse réelle actuelle de la broche principale puis calculer le nombre de tours exécutés. Avec les broches très puissantes, une certaine différence peut donc apparaître à l’intérieur des phases d’accélération et de freinage entre la vitesse de broche programmée et la vitesse réellement attendue. Si la broche principale configurée est une broche analogique (sans retour codeur), on utilisera pour les calculs la vitesse de rotation réelle au lieu de la vitesse de rotation de consigne. Programmation Syntaxe: G4(F<Valeur>) G4(S<Valeur>) avec <Valeur> Temporisation en secondes. Temporisation en nombre de tours de la broche. indication des secondes ou du nombre de tours de broche. L’entrée de ”0” rejette le bloc G4 en interne. Particularités et restrictions: D La fonction doit être programmée dans un bloc séparé sans information sur la course. Dans ce bloc, seules des fonctions auxiliaires et additionnelles sont encore possibles. D Les vitesses de rotation programmées se réfèrent à la broche principale configurée dans les paramètres machine ou dans la fonction MainSp (voir page 4 - 75). 3 - 14 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.5 IndraMotion MTX R911311170 / 01 G05 Entrée circulaire tangentielle G05 Effet La commande calcule automatiquement une entrée circulaire tangentielle pour le bloc G5 sur la base du dernier mouvement de déplacement programmé. Une transition n’est dite tangentielle que dans le cas où elle ne présente aucune inversion de direction. . En cas d’enchaînement de plusieurs mouvements de G5, la première tangente d’entrée influence tous les éléments de contour de G5 suivants. Les fonctions G0, G1, G2, G3, G5, G6 forment un groupe de fonctions modales et se révoquent ainsi réciproquement. ATTENTION Des marques de traitement peuvent apparaître au niveau de la transition entre blocs en interpolation hélicoïdale/hélicoïdale N! La transition tangentielle calculée ne se rapporte qu’au plan circulaire! La tangente dans l’espace peut sauter au niveau de la transition entre blocs! Programmation Syntaxe: G5 <EP> avec <EP> Coordonnées du point d’arrivée du cercle. Si le point de départ et d’arrivée sont identiques à l’intérieur du plan circulaire, un cercle entier est généré automatiquement. Particularités et restrictions: D La programmation de G5 en mode ”Entrée manuelle” n’est pas possible. D Avant G5, il faut programmer un bloc avec un mouvement de déplacement dans le même programme. D Juste avant et pendant l’activation de G5, il ne faut pas changer le plan actuel. R911311170 / 01 IndraMotion MTX Codes G G05 Electric Drives Bosch Rexroth AG and Controls 3 - 15 Exemples +Y +Y +Y M 120 70 A T 70 10 W M E 100 E 50 110 G1 X20 Y70 F200 X50 G5 X110 Y10 +X W A 70 40 T +X 50 130 G1 X20 Y70 F200 X50 G5 X130 Y100 −15 G1 G2 G5 M2 E A T M1 W 50 90 X-15 Y40 F200 X50 Y70 R-60 X90 Y120 T: Tangente. A: Point de départ du segment du cercle. E: Point d’arrivée du segment cercle. M: Centre +X 3 - 16 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.6 IndraMotion MTX R911311170 / 01 G06 Programmation spline G06 Par rapport à l’Interpolation linéaire, l’Interpolation spline dispose d’un nombre réduit de repères fixes pour approximativement la même qualité de surface et précision du contour dans la mesure où des courbes constantes sont déterminées entre les points. La IndraMotion MTX assiste les types de spline- suivants: D Type de spline 0: Spline à programmation de coefficient (Coefficients des polynômes du système DAO/FAO) D Type de spline 1: C1-Courbes spline constantes cubiques avec programmation de repères fixes (Raccords tangentiels aux points fixes) D Type de spline 2: C2-Courbes spline constantes cubiques avec programmation de repères fixes (Raccords à courbure constante aux points fixes) D Type de spline 3: Spline B à programmation de points de contrôle (Tracé de la courbe près des repères fixes). Le type de spline souhaité est sélectionné et initialisé à l’aide de la fonction ”SplineDef” (SDF, voir page 4 - 146). Ensuite la programmation spline peut être activée à l’aide de la fonction G6. . Pour plus d’informations détaillées sur chaque type de spline, consultez le manuel ”Description des fonctions”. Particularités et restrictions: Les fonctions suivantes ne peuvent pas être programmées avec des courbes splines: D Orientation tensorielle D Correction de la trajectoire 2D G41/G42 D Découpage - poinçonnage/grignotage avec division de la trajectoire D Chanfreins et Arrondissages D Guidage tangentiel de l’outil D Programmation de précision D G5 en connexion avec une spline D Effacement de la course restante Programmation Syntaxe: G6 Activation du type de trajectoire ”Spline”. En fonction du mode de programmation nécessaire, il est possible de programmer G6 pour les différents types de spline avec différents paramètres de valeurs modales: R911311170 / 01 IndraMotion MTX Codes G G06 3.2.7 Electric Drives Bosch Rexroth AG and Controls 3 - 17 Spline avec programmation de coefficients (Type de spline 0) Programmation des coordonnées/axes: Chaque coordonnée du canal peut être déplacée au choix D en tant que courbe spline par entrée de coefficients polynomiaux: <Coordname>(<c0>,<c1>,....,<cn>) Programmation des différentes coordonnées avec coefficients polynomiaux. D ou linéairement par entrée de la position d’arrivée: <Coordname>(<Endpos>) Programmation de la position d’arrivée des différent(e)s coordonnées/axes. avec <Coordname>: <c0>,<c1>,...,<cn>: <Endpos>: Nom de la coordonnée/de l’axe. Coefficient polynomial d’une coordonnée. n correspond au degré de lissage défini dans ”SplineDef”. Position d’arrivée de la coordonnée. Exemple: SplineDef(3) G6 X(0.1,1.25,0.5,0.73) Y30 B(0.0,-1.0,0.1,-0.2) Programmation d’un polynôme dénominateur: DN(<g0 >,<g1 >,...,<gn >) avec <g0 >, <g1 >, ..., <gn >: Polynôme dénominateur commun pour toutes les coordonnées spline Description exacte pour courbes de Bézier-splines rationnelles, courbe B-splines (NURBS) et toutes les coupes coniques. Coefficients polynomiaux du polynôme dénominateur. n correspond au degré de lissage défini dans ”SplineDef”. Exemple: SplineDef(3) G6 X(0.1,1.25,0.5,0.73) B(0.0,-1.0,0.1,-0.2) DN(1,0,1) 3 - 18 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G06 Programmation de vecteur d’orientation: Ce type de programmation présuppose une transformation géométrique en correction d’axes active d’orientation vectorielle (”Coord(..)”). O1(<o10 >,<o11 >,...,<o1n >) Comp. -x du vecteur d’orientation O2(<o20 >,<o21 >,...,<o2n >) Comp. -y du vecteur d’orientation O3(<o30 >,<o31 >,...,<o3n >) Comp. -z du vecteur d’orientation avec <o10 >,<o11 >,...,<o1n >: <o20 >,<o21 >,...,<o2n >: <o30 >,<o31 >,...,<o3n >: Coefficients de lissage de la composante x du vecteur d’orientation. Coefficients de lissage de la composante y du vecteur d’orientation. Coefficients de lissage de la composante z du vecteur d’orientation. n correspond au degré de lissage respectif défini dans ”SplineDef”. Exemple: N00 ;Coefficients de lissage (spline) pour orientation vectorielle 001 PI=3.14159:PIH=PI/2:PIHQ=PIH*PIH:PIHC=PIHQ*PIH N10 G1 F30000 X0 Y0 Z0 B90 C0 N20 SplineDef(3) N30 Coord(1) ;Transformation géom. en correction 5 axes avec vecteur d’orientation activée N40 G6 PL[PIH] ;PL voir Programmation de la longueurs des paramètres de la spline N50 O1(1,0,-3/PIHQ,2/PIHC) O3(0,1,(3-PI)/PIHQ,(-2+PIH)/PIHC) N60 O1(0,0,3/PIHQ,-2/PIHC) O3(1,0,(-3+PIH)/PIHQ,(2-PIH)/PIHC) N70 O(0,1,0) ;Orientation vectorielle normale N80 G1 N90 Coord(0) Programmation de la longueur des paramètres de la spline: La longueur des paramètres de la spline correspond à la longueur de l’intervalle de définition de w, w commençant à courir de 0 à we. La valeur we est modale et reste valide pour tous les blocs CN jusqu’à désélection de G6. Dans le premier bloc de déplacement après G6, il faut programmer PL, sinon un message d’erreur d’exécution sera généré. {{<PLw >e} Programmation optionnelle de la longueur des paramètres de la spline. avec <we >: Valeur quelconque > 0 Exemple: G6 X(0.1,1.25,0.5,0.73) B(0.0,-1.0,0.1,-0.2) PL0.6 R911311170 / 01 IndraMotion MTX Codes G G06 Electric Drives Bosch Rexroth AG and Controls 3 - 19 (X = 0.1 + 1.25 w + 0.5 w2 + 0.75 w3 et B = 0.0 - 1.0 w + o.1 w2 - 0.2 w3 avec w court de 0..à .0.6) 3.2.8 C1- et C2-Courbes splines constantes cubiques (Type de spline 1 et 2) Programmation des coordonnées/axes: On programme les points d’arrivée des coordonnées du canal. Tous les <membres> compris dans ”SplineDef” se déplacent sur la courbe spline, les coordonnées restantes non comprises dans ”SplineDef” se meuvent linéairement. <Coordname>(<Endpos>) et/ou Programmation des <Nom de l’axe>(<Endpos>) et/ou différentes coor<Coordonnées d’orientation>(<Endorient>) données/axes/coordonnées d’orientation et de leurs valeurs. avec <Coordname>: <Nom de l’axe>: <Endpos>: Nom de la coordonnée. Nom de l’axe. Position d’arrivée de la coordonnée/de l’axe. <Coordonnées d’orientation>Coordonnées d’orientation ”O” ou ”phi” et ”theta”. <Endorient>: Orientation d’arrivée en angle polaire ou coordonnées cartésiennes. Exemple: Coordonnées x, y, z et coordonnées d’orientation phi, theta. SplineDef(2203,x,y,z,phi,theta) G6 x10 y20 phi20 theta30 Exemple: axes X,Y,U SplineDef(1213,X,Y) G6 X10 Y10 U20 ((X et Y se déplacent sous forme de courbe spline, U linéairement) 3 - 20 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G06 Conditions de départ et d’arrivée: Syntaxe: SBC(<Type>{,<Valeurs>}) Conditions aux limites applicables pour le point de départ d’une séquence spline C1 avec 3 conditions de départ C2 avec 5 conditions de départ EBC(<Type>{,<Valeurs>}) Conditions aux limites applicables pour le point d’arrivée d’une séquence spline C1 avec 3 conditions de départ C2 avec 5 conditions de départ avec <Type> Valeur par défaut: 2 1: (valide pour C1 et C2) Indication de la direction tangentielle au point de départ et d’arrivée de la séquence spline. Dans la liste <Valeurs>, une valeur doit être entrée pour chaque membre spline. 2: (valide pour C1 et C2) Indication de la seconde dérivée au point de départ et d’arrivée de la séquence spline. Dans la liste <Valeurs>, une valeur doit être entrée pour chaque membre spline. 3: (valide pour C2) La condition aux limites De-Boor relie les secondes dérivées aux deux premiers ou derniers repères fixes. <Valeurs> généralement 1. 4: (valide pour C2) Condition aux limites périodique: Le dernier et le premier point de la séquence spline coïncident. SBC(4) requiert impérativement EBC(4) ou EBC(4) requiert impérativement SBC(4). Toute la séquence spline doit se trouver dans la zone look - ahead, car dans le cas contraire un message d’erreur d’exécution sera généré. 11: (valide pour C1 et C2) Condition de départ: la première courbe spline commence tangentiellement au bloc linéaire précédent. Condition d’arrivée: la dernière courbe spline débouche tangentiellement dans le bloc linéaire suivant. <Valeurs> Default: 0,...,0 L’ensemble de toutes les données dans <Values> indique la direction et la grandeur de la tangente de départ ou d’arrivée ou bien de la seconde dérivée au point de départ ou d’arrivée. Chaque membre spline peut être affecté d’une valeur positive ou négative. Type 11 n’a pas besoin de <Values>. R911311170 / 01 IndraMotion MTX Codes G G06 Electric Drives Bosch Rexroth AG and Controls 3 - 21 Exemple: SBC(1,1.0,1.0,0.2) si SplineDef(1213,X,Y,B) Longueur des paramètres de la spline: La longueur des paramètres de la spline est calculée par la CN à partir des repères fixes définis. Pour ce faire, elle utilise la méthode (paramétrisation) indiquée dans l’Id-Spline. La longueur des paramètres de la spline peut, si nécessaire, également être programmée: {<PL<We >} Programmation optionnelle de la longueur des paramètres de la spline, si la sélection de <Paramétrisation> doit être écrasée (voir page 4 - 146 ”SplineDef”, paramètre <Id>). avec <we >: 3.2.9 Valeur quelconque > 0 Splines B (NURBS) (Type de spline 3) Programmation des coordonnées/axes: On programme les points d’arrivée des coordonnées du canal (points de contrôle). Tous les <membres> compris dans ”SplineDef” se déplacent sur la courbe spline, les coordonnées restantes non comprises dans ”SplineDef” se meuvent linéairement. <Coordname>(<Endpos>) et/ou Programmation des <Nom de l’axe>(<Endpos>) et/ou différents points de <Coordonnées d’orientation>(<Endorient>) contrôle (coordonnées/ axes) et de leurs valeurs. avec <Coordname>: <Nom de l’axe>: <Endpos>: Nom de la coordonnée. Nom de l’axe. Position d’arrivée de la coordonnée/de l’axe. <Coordonnées d’orientation>Coordonnées d’orientation ”O” ou ”phi” et ”theta”. <Endorient>: Orientation d’arrivée en angle polaire ou coordonnées cartésiennes. 3 - 22 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G06 Exemple: Coordonnées x, y, z et coordonnées d’orientation SplineDef(3103,x,y,z,O) G6 x10 y20 z30 O(0.1,0,1.0) Exemple: axes X,Y,U SplineDef(3102,X,Y) G6 X10 Y10 U20 (X et Y se déplacent sous forme de courbe spline, U linéairement) Longueur des paramètres de la spline: La longueur des paramètres de la spline est automatiquement calculée en interne par la CN à partir des points (repères) de contrôle définis. Pour ce faire, elle utilise la méthode (paramétrisation = 1) indiquée dans l’Id-Spline. La longueur des paramètres de la spline peut, si nécessaire, également être programmée: {PL<we >} Programmation optionnelle de la longueur des paramètres de la spline, si la sélection de <Paramétrisation> doit être écrasée (voir page 4 - 146 ”SplineDef”, paramètre <Id>). avec <we >: Valeur quelconque > 0 Poids ponctuel spline des points de contrôle pour courbes spline B: {PW<we >} Programmation optionnelle de poids ponctuels. Les courbes splines peuvent être modifiées à proximité d’un point de contrôle. avec <we >: Défaut: 1 0 < 0 we < 1: écrase la courbe spline du point de contrôle rapproche la courbe spline du point de we > 1: contrôle Exemple: Coordonnées x, y, z et coordonnées d’orientation SplineDef(3103,x,y,z,O) G6 x10 y20 z30 O(0.1,0,1.0) PW2.3 R911311170 / 01 IndraMotion MTX Codes G G08 3.2.10 Effet Electric Drives Bosch Rexroth AG and Controls 3 - 23 G09 Pente de trajectoire ON Pente de trajectoire OFF G08 G09 D Sans ”Pente de trajectoire”, la commande exécute en début et en fin de bloc de déplacement une up- et down-slope complète (rampe de vitesse) à la vitesse v=0. Cela réduit l’écart de contour au niveau de la transition entre blocs, mais requiert aussi un temps d’usinage plus long. D Via la fonction ”Pente de la trajectoire”, la commande essaye également en ce qui concerne la transition entre blocs de générer une vitesse aussi constante que possible, de l’ordre de l’avance programmée. Cela réduit le temps d’usinage. Le fait que le contour soit ”rectifié” au niveau des angles le cas échéant peut être avantageux pour certaines opération d’usinage (surface plus uniforme). P7 Y G1 G0 Vtrajectoire Vitesse rapide Avance Vtrajectoire Vitesse rapide Avance P0 P1 P3 P2 Contour P4 P5 P6 P8 X sans pente de trajectoire (G9) t avec pente de trajectoire (G8) t Lors du calcul du profil de vitesse optimal, outre la capacité de saut de l’axe (MP 1010 00011), la commande tient compte du nombre des blocs de programmation suivants (look - ahead de blocs; MP 7060 00110 - 7060 00130) car une décélération à l’intérieur de la marge dynamique de la machine doit être garantie à tout moment. Pour limiter les malfaçons de contour au droit des angles réels, la capacité de saut de l’axe ne doit pas être trop importante. D’un autre côté, un saut de l’axe trop faible entraîne un freinage inopportun au droit des petits coudes de contours (raccords quasi - continus). Il est possible d’entrer un lissage de l’accélération sur trajectoire réglage par défaut pour G8 comme réglage par défaut dans le paramètre machine 7050 00320 (fonction SHAPE, voir aussi la page 3 - 25). 3 - 24 Bosch Rexroth AG Electric Drives and Controls Codes G G08 IndraMotion MTX R911311170 / 01 G09 Programmation Fonction de base Paramètres optionnels Syntaxe: G8 Pente de trajectoire ON G9 Pente de trajectoire OFF. Syntaxe: G8({DTT<Angle>}) avec <Angle> Angle de raccordement entre deux sections de contour. La commande passe les coudes de contour dont les angles de raccordement sont plus petits que ceux qui ont été programmés à vitesse constante sur la trajectoire, dans la mesure où cela permet la distance de freinage disponible dans le cadre du look - ahead de blocs. L’influence de la capacité de saut de l’axe se limite ainsi aux grands angles de raccordement. Plage de valeurs: de 0 à 50 degré. Particularités et restrictions: D Si Arrêt précis est activé, la vitesse est réduite à v=0 après chaque bloc, sans tenir compte de la fonction active G8. D Les fonctions auxiliaires peuvent réduire l’effet de G8 si son temps d’exécution validation comprise n’est pas nettement inférieur au temps d’interpolation d’un bloc. Le cas échéant, la course de déplacement d’un bloc doit être prolongées ou l’avance diminuée. D Elle n’agit que sur des axes synchrones (axes d’usinage). D Les fonctions G8 et G9 forment un groupe de fonctions modales avec les fonctions rampe et se révoquent réciproquement. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Codes G G8(SHAPE...) G9(SHAPE...) G9(ASHAPE...) G9(X... ,Y... , ...) +Y , ...) 3.2.11 Profil de vitesse avec limitation des jerks 3 - 25 G8(SHAPE...) G9(SHAPE...) G9(ASHAPE...) G9(X... , Y... , ...) +Y , ...) Effet Le profil de vitesse avec limitation des jerks lisse les sauts qui se produisent sur plusieurs cycles d’interpolation au fur et à mesure de l’accélération sur la trajectoire. Le nombre des cycles d’interpolation est programmable. De cette façon, il est possible d’obtenir de douces transitions de vitesse (limitation des jerks). Le profil de vitesse avec limitation des jerks est possible aussi bien en D ”mode trajectoire” (avec G8 active), ainsi qu’en D “mode de positionnement” (avec G9 active). Le profil de vitesse avec limitation des jerks est également appelé Fonction SHAPE. a(t) sans SHAPE a1 t a(t) avec SHAPE a1 t nipo a1: nipo: nipo Hauteur de saut Nombre de cycles d’interpolation sur lequel lesaut a1 de l’accélération doit être réparti. Division de l’accélération avec/sans SHAPE 3 - 26 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX G8(SHAPE...) G9(SHAPE...) G9(ASHAPE...) R911311170 / 01 G9(X... ,Y... , ...) +Y , ...) Shape pour mode trajectoire Syntaxe: G8 (SHAPE<Valeur>, {DTT}) avec <Valeur> {DTT} . 0: Activer Shape pour mode trajectoire au moyen de la valeur mémorisée dans les paramètres machine (défaut). 1: Désactiver Shape pour mode trajectoire. 2 à 100 (nombres entiers): Nombre de cycles d’interpolation sur lequel la commande du saut doit être répartie linéairement (Ordre SHAPE). Voir page 3 - 23. Une modification de l’ordre SHAPE entraîne toujours une vitesse d’enchaînement de blocs v = 0. Exemple: N30 G8(SHAPE10) : : N50 G8(SHAPE0) : : N70 G8(SHAPE1) Activer SHAPE en mode trajectoire et répartir les sauts d’accélération sur 10 cycles IPO. Activer SHAPE en mode trajectoire et répartir les sauts d’accélération d’après MP 7050 00320. Désactiver SHAPE en mode trajectoire. Shape pour mode mode de positionnement Syntaxe: G9(SHAPE<Valeur>) avec <Valeur> Nombre de cycles d’interpolation à répartir linéairement sur la commande d’un saut d’accélération. Plage de valeurs: 2 ... 100 cycles; nombre entiers. G9(SIN<Valeur>) avec <Valeur> Activer SHAPE linéaires en mode de positionnement. Activer SHAPE de forme sin2 en mode de positionnement. Nombre de cycles d’interpolation sur lequel la commande d’un saut d’accélération doit être réparti en forme de sin2. Les valeurs suivantes sont invalides: 5 IPO-Cycles 5: 10: 10 IPO-Cycles 15: 15 IPO-Cycles 20: 20 IPO-Cycles 40: 40 IPO-Cycles R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Codes G G8(SHAPE...) G9(SHAPE...) G9(ASHAPE...) G9(X... , Y... , ...) +Y , ...) 3 - 27 G9(ASHAPE) Chaque axe du canal attribue l’ordre SHAPE spécifique de l’axe correspondant (nombre de cycles IPO) à partir de MP 1003 00008 et calcule l’ordre SHAPE résultant par bloc respectif pour la trajectoire. G9(<Par1 > {,<Par2 >,...}) Programmer l’ordre SHAPE axe par axe. Für Pour les axes non programmés, l’ordre SHAPE est enregistré par MP 1003 00008. avec <Parx > Nom logique d’axe avec ordre SHAPE devant être attribué à cet axe (maximum 100). Exemple: Ordre SHAPE (axe X) = 4 Ordre SHAPE (axe Y) = 6 Ordre SHAPE (axe Z) = 10 N30 G9(X4,Y6,Z10) Ordre Shape résultant L’ordre Shape trajectoire résultant Sb correspond au maximum des oreff dres Shape axes effectifs S i eff eff S b= max { S 1 ,..., S n } eff Les ordres Shape axes effectifs S i sont déterminés à partir des ordres Shape programmés suivant la formule: eff Si p = Si a eff i a Max i On a p Si eff ai Max ai . ordre Shape axes programmé avec G9(...). Accélération effective des axes dans le bloc CN courant; cette valeur étant fonction en interpolation linéaire de la part actuelle des axes dans la trajectoire. Avec les autres modes d’interpolations (circulaire, hélicoïdal), elle correspond normalement à l’accélération axes programmée avec ”AxAcc”. Avec les fonctions ”Plan incliné” ou ”Couplage d’axes” l’accélération effective des axes est en général encore diminuée par rapport à la valeur définie dans ”AxAcc” ! accélération maximale des axes (de MP 1010 00001). ”AxAcc” ne modifie pas l’accélération maximale des axes issue de MP 1010 00001! 3 - 28 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX G8(SHAPE...) G9(SHAPE...) G9(ASHAPE...) R911311170 / 01 G9(X... , Y... , ...) +Y , ...) Rapport entre ordre Shape et jerk eff Max Avec les ordres Shape axes S i un jerk max. r i (Dérivée de l’accélération en fonction du temps) est défini pour chaque axe; ce jerk max. ne sera pas dépassé quel que soit le mouvement. Le jerk est défini par: r Max i = a Max i p S i Tipo Tipo: Temps de cycle de l’interpolateur Exemple: L’axe X a une accélération maximale de 10 m/s 2(MP 1010 00001). L’ordre programmé Shape axe est de 5 et le cycle d’interpolation de 4 ms. Suivant la formule ci- dessus, le jerk maximal défini pour l’axe X est alors de 500m/s3 . R911311170 / 01 IndraMotion MTX Codes G G16 3.2.12 Aucun plan Electric Drives Bosch Rexroth AG and Controls 3 - 29 G16 Effet Désactiver un plan éventuellement actif. Ce qui suit s’applique: D Si un axe primaire ou secondaire est extrait d’un canal (en rapport avec la fonctionnalité ”Transfert d’axe” par ex.), la commande désactive automatiquement le plan sélectionné et active la fonction G16. Toute interpolation circulaire/hélicoïdale est impossible dans ce canal jusqu’à ce qu’un plan valide ait été à nouveau sélectionné. D Pour certaines applications, certains types de machine ou unités de traitement, la configuration d’un plan n’est pas nécessaire si une interpolation circulaire ou hélicoïdale n’est pas requise (par exemple dans le cas de canaux avec un axe d’usinage seulement). Dans MP 7010 00030 (signification des coordonnées), on peut donc inscrire ”999” pour chaque axe (aucun rôle technique). D Si en état de mise sous tension d’un canal (MP 7060 00010 et 7060 00020), aucune fonction Plan (G17, G18, G19, G20) n’a été entrée, la fonction G16 est alors automatiquement activée pour le canal correspondant. D Les fonctions G16, G17, G18, G19 et G20 forment un groupe de fonctions modales et se révoquent ainsi réciproquement. Programmation Syntaxe: G16 Particularités et restrictions: D En correction de trajectoire de fraise (G41/G42) il ne faut pas changer ou désactiver le plan actif. 3 - 30 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.13 IndraMotion MTX R911311170 / 01 G17, G18, G19 Changement de plan G17, G18, G19 Effet Un système de coordonnées de la pièce à usiner (WCS) pour une machine - outil cartésienne type est sous - tendu par les axes X,Y et Z. 3 plans de base au total peuvent être définis par respectivement 2 axes des coordonnées du système de coordonnées de la pièce à usiner. Le plan actif est sélectionné au moyen de la fonction Changement de plan. Elle est définie par une coordonnée principale et secondaire, ainsi qu’un axe d’approche le cas échéant qui doit être perpendiculaire au plan. A cet effet, G17, G18 et G19 sont programmés sans paramètres. Ces coordonnées de même que le plan actif sont définies par G17, G18 et G19 comme suit: G 17 G 18 G 19 +Y +Y +Y G41 G2 W/P W/P G2 +X G41 W/P +X +X G2 G41 +Z +Z plan X/Y +Z Plan Y/Z plan Z/X Coordonnée principale Coordonnée secondaire Coordonnée d’approche Plan actif G17 X Y Z XY G18 Z X Y ZX G19 Y Z X YZ Programmation Syntaxe: G17 G18 G19 R911311170 / 01 IndraMotion MTX Codes G G17, G18, G19 Electric Drives Bosch Rexroth AG and Controls 3 - 31 Particularités et restrictions: D En correction de trajectoire de fraise (G41/G42) il ne faut pas changer ou désactiver le plan actif. D Ce qui suit s’applique aux paramètres d’interpolation I,J,K pour G02/03 et G33: I se rapporte à l’axe X J se rapporte à l’axe Y K se rapporte à l’axe Z. D La correction de la longueur de l’outil est assignée au moyen de G47(ActPlane) du plan actif de la façon suivante: L1 à la coordonnée principale L2 à la coordonnée secondaire L3 à la coordonnée d’approche. Cette Assignation est mise à jour après commutation du plan actif. D Les fonctions G16, G17, G18, G19 et G20 forment un groupe de fonctions modales et se révoquent ainsi réciproquement. Assignation indépendamment des noms d’axe Il est possible de régler les noms d’axe selon le besoin dans le IndraMotion MTX. La sélection des axes, qui doivent sous- tendre le système de coordonnées de base de la pièce à usiner WCS, est effectuée de ce fait au moyen du paramètre machine 7010 00030 (signification des coordonnées). Celui - ci définit, indépendamment von des noms d’axes configurés, quels axes respectifs sous - tendent les coordonnées X, Y et Z du système de coordonnées de la pièce à usiner: Axe avec ”Signification d’axe X”: coordonnée X de WCS Axe avec ”Signification d’axe Y”: coordonnée Y de WCS Axe avec ”Signification d’axe Z”: coordonnée Z de WCS De façon générale on obtient donc l’assignation suivante pour G17, G18 et G19: Coordonnée principale Coordonnée secondaire Coordonnée d’approche Plan actif G17 Coord. X WCS Coord. Y WCS Coord. Z WCS Coord. XY WCS G18 Coord. Z WCS Coord. X WCS Coord. Y WCS Coord. ZX WCS G19 Coord. Y WCS Coord. Z WCS Coord. X WCS Coord. YZ WCS 3 - 32 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.14 IndraMotion MTX R911311170 / 01 G17(...), G18(...), G19(...) Changement de plan élargi G17(...), G18(...), G19(...) Effet Lors du changement de plan élargi, on définit également pour la sélection du plan actif quels axes doivent sous - tendre le système actuel de coordonnées de base de la pièce à usiner WCS. De cette façon, Il est possible de définir pendant l’exécution un système de coordonnées de base de la pièce à usiner différent du réglage dans les paramètres machine et de sélectionner le plan actuel par rapport à celui - ci. Le plan est sélectionné selon l’aperçu suivant: Coordonnée principale Coordonnée secondaire Coordonnée d’approche Plan actif G17 Coord. X WCS Coord. Y WCS Coord. Z WCS Coord. XY WCS G18 Coord. Z WCS Coord. X WCS Coord. Y WCS Coord. ZX WCS G19 Coord. Y WCS Coord. Z WCS Coord. X WCS Coord. YZ WCS Programmation Syntaxe: G17(<Axe1>,<Axe2>,<Axe3>) G18(<Axe1>,<Axe2>,<Axe3>) G19(<Axe1>,<Axe2>,<Axe3>) avec <Axe1> <Axe2> <Axe3> ”coordonnée X” du système de coordonnées de la pièce à usiner WCS ”coordonnée Y” du système de coordonnées de la pièce à usiner WCS ”coordonnée Z” du système de coordonnées de la pièce à usiner WCS Particularités et restrictions: D Les axes peuvent être programmés par désignation d’axe logique (spécifique au canal) ou physique (dans tout le système) et doivent être différents les uns des autres. L’entrée est possible directement ou comme variable CPL de type chaîne (stringvariable). D Les axes programmés doivent être affectés au canal actuel. D Pour la programmation, il suffit d’entrer comme paramètres les axes qui doivent être configurés. Pour tous les axes restants, les coordonnées correspondantes du WCS demeurent inchangées. Exemple: G17(,,W) La coordonnée Z du WCS est définie au moyen de l’axe W. Les coordonnées X et Y du WCS restent inchangées. Le plan actif est sous - tendu par les coordonnées X et Y du WCS. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Codes G G17(...), G18(...), G19(...) 3 - 33 D La programmation de parenthèses vides reproduit le WCS configuré dans MP 7010 00030 puis active le plan sélectionné. Exemple: G17() D La fonction ne doit pas être programmée si la fonction Correction de trajectoire de la fraise (G41/G42) est active. En correction de trajectoire de fraise, il ne faut généralement pas changer ou désactiver le plan. D En correction d’axes active, aucun changement de plan élargi ne peut être programmée car le WCS est sous - tendu par les coordonnées tridimensionnelles. D Les fonctions G16, G17, G18, G19 et G20 forment un groupe de fonctions modales et se révoquent ainsi réciproquement. 3 - 34 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.15 IndraMotion MTX R911311170 / 01 G20 Libre sélection de niveau (indépendamment du WCS) G20 Effet La libre sélection de niveau est nécessaire pour les applications lors desquelles le plan actif doit être découplé du système de coordonnées WCS actuelle de la pièce à usiner. Elle permet d’établir la tension par les axes quelconques, sans considérer si ceux - ci sous - tendent aussi le WCS. Il est ainsi possible entre autres de calculer les corrections d’outil (G41, G42, G47) dans les coordonnées principale, secondaire et d’approche du plan actuel, Alors que les transformations de pièce à usiner (Placements, corrections de tension) se rapportent en même temps à un système de coordonnées pièce à usiner sous- tendu par les autres axes. Programmation Syntaxe: G20(<Axe1>,<Axe2>{,<Axe3>}) avec <Axe1> <Axe1> <Axe3> Coordonnée principale du plan sous - tendu; auquel le paramètre d’interpolation ”I” est affecté. Coordonnée secondaire du plan sous - tendu; auquel le paramètre d’interpolation ”J” est affecté. Coordonnée d’approche du plan sous - tendu. Peut être programmé, si une coordonnée d’approche doit absolument être prévue pour la correction d’outil ”G47 (ActPlane)”. Particularités et restrictions: D Les axes peuvent être programmés par désignation d’axe logique (spécifique au canal) ou physique (dans tout le système). D Une correction de trajectoire de la fraise G41/G42 se rapporte au plan sélectionné. Le plan actif ne doit donc être commuté que par une correction de trajectoire de fraise (G40) désactivée. Sinon, un message d’erreur sera émis. D La correction de la longueur de l’outil est assignée au moyen de ”G47(ActPlane)” du plan actif de la façon suivante: L1 à la coordonnée principale L2 à la coordonnée secondaire L3 à la coordonnée d’approche. Cette Assignation est mise à jour après commutation du plan actif. D Les fonctions G16, G17, G18, G19 et G20 forment un groupe de fonctions modales et se révoquent ainsi réciproquement. R911311170 / 01 IndraMotion MTX Codes G G33 3.2.16 Electric Drives Bosch Rexroth AG and Controls Filetage 3 - 35 G33 Effet Cette fonction permet l’exécution de D filetages longitudinaux (mouvement de coupe parallèle à l’axe primaire du plan actif), D filetage transversal (mouvement de coupe parallèle à l’axe secondaire du plan actif), D filetages coniques (avec participation de l’axe primaire et de l’axe secondaire du plan actif). G33 est possible avec broche asservie en vitesse comme avec broche asservie en position. Le mouvement de coupe est toujours associé à la broche principale activée dans le canal correspondant (voir page 4 - 75) . La vitesse d’avance du mouvement de coupe est la résultante de la vitesse de rotation actuelle de la broche et du pas en pourcentage respectivement programmé (constant, variable; voir ”Programmation”). Particularités: D Possibilité d’exécution de filet unique comme de filets multiples D Possibilité de programmation de pas de filetage constants et variables D Dynamique spéciale réglable en cours de filetage D Possibilité de programmation de remontée rapide de l’outil D Exécution possible de filets enchaînés . Le potentiomètre d’avance n’a aucun effet en cours de G33. . Le filetage est, comme l’interpolation circulaire (G2, G3), une fonction dépendante du plan actif (G17...G20). Le comportement de la fonction ”Filetage” est normalement défini au moyen des paramètres machine 7050 006xx. Comme il est judicieux en cas particuliers ou au cours de la première mise en service de pouvoir adapter certains zones partielles, on a prévu la fonction ”ThreadSet” (Description à partir de la page 4 - 164). “ThreadSet“ permet D une adaptation de la dynamique et du mouvement de remontée outil D une commutation du mode de fonctionnement de la broche (asservissement en vitesse, en position) D l’initialisation d’un signal au niveau de l’interface canal (configurable à l’intérieur des signaux “Fonction active“ via les paramètres machine). 3 - 36 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G33 Programmation Syntaxe: G33 <EP>,<Pas de filetage constant>{,<Pas var. >}{,<Angle de départ>} avec <EP> coordonnées de l’axe primaire et de l’axe secondaire du plan actif. Le plan actif est déterminé par G17, G18, G19 ou G20 Exemple: Le plan actif pour G18 est normalement sous - tendu par l’axe Z (axe primaire) et l’axe X (axe secondaire). sous - tendu <Pas constant> détermine la course (en mm) qui sera parcourue par tour de broche en direction de l’axe primaire ou de l’axe secondaire. On programme la valeur avec le paramètre d’interpolation (I, J ou K) respectivement valide dans le plan actif En filetage conique, le pas de filetage entré doit toujours se rapporter à la direction principale de coupe. Exemple: Pour G18, le paramètre K est affecté à l’axe primaire et le paramètre I à l’axe secondaire. Pour un filet longitudinal(Pas dans le sens de l’axe primaire), le pas de filetage constant est programmé avec l’adresse K. <Pas var.> Paramètre optionnel avec l’adresse DF. Définit l’augmentation/ la réduction du pas en mm par tour de broche. Programmation: ”DF<Valeur>” avec <Valeur> en mm. <Angle de départ> Paramètre optionnel. Si l’<angle de départ> n’est pas programmé, le système se base sur un angle de 0 degré. L’angle de départ (décalage au départ) est requis pour les filets multiples. L’adresse est représentée par le paramètre d’interpolation qui n’est pas associé au plan actif. Exemple: Pour G18, les adresses I et K ont été affectées au plan. L’adresse de l’angle de départ est donc J. R911311170 / 01 IndraMotion MTX Codes G G33 Electric Drives Bosch Rexroth AG and Controls 3 - 37 Exemple: Filet longitudinal G91 G18 G8 M3 S1000 G0 X-10 G33 Z-50,K2 G0 X10 Activer la programmation relative. Activer le plan Z/X Mouvement d’approche de l’outil de coupe (1). Filetage (2). Point d’arrivée: incrément de 50mm en direction Z. Pas de filetage constant: 2 mm/tour. Paramètres d’interpolation: ici K. Dégagement de l’outil de coupe (3). X 3 1 2 Z Exemple: Filet transversal G91 G18 G8 M3 S1000 G0 Z-10 G33 X40,I2 G0 Z10 X Activer la programmation relative. Activer le plan Z/X Mouvement d’approche de l’outil de coupe (1). Filetage (2). Point d’arrivée: incrément de +40mm en direction X. Pas de filetage constant: 2 mm/tour. Paramètres d’interpolation: ici I. Dégagement de l’outil de coupe (3). 3 2 1 Z 3 - 38 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G33 Exemple: Filet longitudinal conique G91 G18 G8 M3 S1000 G0 X-20 G33 Z-50 X15,K2 G0 X5 Activer la programmation relative. Activer le plan Z/X Mouvement d’approche de l’outil de coupe (1). Filetage (2). Point d’arrivée: incrément - 50 mm en direction Z et +15 mm en direction X. Pas de filetage constant: 2 mm/tour. Paramètres d’interpolation: ici I. Dégagement de l’outil de coupe (3). 3 X 1 2 Le pas de filetage (en l’occurrence K) se réfère toujours à direction principale de coupe. K au max. 45 degrés ! Z Filet enchaîné D Exécution possible à partir de tous les modes de filetage mentionnés ci - dessus. D Programmation par plusieurs blocs consécutifs G33. La NC vérifie pour chaque bloc programmé G33 si le bloc suivant est un bloc G33 avec course. Si tel est le cas, le passage au bloc suivant doit être effectué sans arrêt de l’axe. Filets multiples Pour l’exécution de filets multiples, il faut décaler l’angle de départ (angle de départ voir page 3 - 36). Exemple: Pour exécuter un filet quadruple, il faut effectuer quatre coupes respectivement décalées de 90 degrés (0, 90, 180, 270). X 1. Coup Angle de départ: 0 degrés 3 2 X 1 2. Coupe Angle de départ: 90 degrés 3 Z 2 X 1 3. Coupe Angle de départ: 180 degrés 3 Z 2 4. Coupe Angle de départ: 270 degrés 1 3 Z 2 1 Z R911311170 / 01 IndraMotion MTX Codes G G33 Electric Drives Bosch Rexroth AG and Controls 3 - 39 Comportement dynamique L Au début et en fin d’exécution d’un filet, les axes intéressés doivent être accélérés et décélérés (jusqu’à arrêt). En conséquence, il faut toujours prévoir un tronçon d’entrée (pour l’accélération des axes de coupe) et un tronçon de sortie (pour la décélération jusqu’à arrêt); ces tronçons devant être suffisamment dimensionnés. Par principe, on distingue deux possibilités d’usinage: D Démarrage “rigide” et fin “rigide” du mouvement de coupe: Au début du mouvement G33, l’axe ou les axes passe(nt) à la vitesse de coupe dès qu’ils ont atteint l’angle de départ (vitesse de broche * pas constant programmé). En fin de mouvement G33, la vitesse saute à 0. D Démarrage et fin du mouvement de coupe avec dynamique réglable individuellement: La solution ”rigide” n’étant pas toujours souhaitée ou ne pouvant pas être exécutée en raison de limitations au niveau de la dynamique des axes, il est également possible de programmer individuellement le comportement dynamique du saut de vitesse, de l’accélération au démarrage et de freinage: D statiquement à l’aide des paramètres machine (7050 00610, 7050 00615 et 7050 00620) D dynamiquement à l’aide du programme pièce avec ”TreadSet(DYN)” (voir page 4 - 164). La commande calcule à partir de l’angle de départ programmé un angle de départ décalé fonction de la pente de la rampe d’accélération. Ceci permet de garantir que le pas de filetage réalisé sera toujours le même indépendamment de la grandeur de l’accélération. En fin de filet, l’axe/les axes de coupe sont désolidarisés de la broche, en fonction de l’accélération de freinage paramétrée, avec une décélération correspondant tout d’abord à la vitesse de saut puis ensuite normalement jusqu’à arrêt. Si, toutefois, avec G8 ou G108 activés, un autre bloc de déplacement suit directement le bloc G33, le mouvement de ce bloc démarre avec la vitesse qui aurait été donnée si le bloc de filetage était un bloc G1. 3 - 40 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G33 Remontée rapide En liaison avec G33, une ”remontée rapide” peut s’avérer judicieuse. Dans la mesure où les données de remontée D sont configurés ( - statiquement à l’aide des paramètres machine (7050 00645, 7050 00650) ou - dynamiquement dans le programme avec ”TreadSet(RD...)” (page 4 - 164)) et D activées ( - statiquement à l’aide des paramètres machine (7050 00640) ou - dynamiquement dans le programme avec ”TreadSet (RON1)” (page 4 - 164)), un front montant sur le canal-IF Signal - ”Remontée rapide” déclenche le mouvement de remontée de la façon suivante: 1. Superposition du mouvement de coupe par un mouvement orienté perpendiculairement à la direction principale de coupe. 2. Lorsque plus de 70% de la course en remontée ont été effectués, l’axe(les axes) de coupe est(sont) désolidarisé(s) de la broche et arrêté(s) avec l’accélération de freinage programmée (paramètres machine 7050 00620). . Si la remontée a été déclenchée, cet état ne peut être quitté qu’avec ”Position initiale” ou ”Quitter le contour”. Les mouvements de remontée sont toujours effectués perpendiculairement à la direction principale de coupe en direction de l’axe de coupe secondaire. La commande CN déclenche automatiquement un mouvement de remontée en présence d’événement ”position initiale – canal”, ”position initiale - système” et ”position initiale – broche”. Exemple: Remontée d’un filetage longitudinal G18 TST(RON1) TST(RD(0,5)) : G91 G33 Z-20,K1 Activer le plan Z/X (G18). Activer remontée rapide (RON1). Mouvement de remontée (RD...) de +5 mm en direction de l’axe de coupe secondaire (ici X). Programmation incrémentale activée (G91) Filetage (G33). Point d’arrivée: incrément de - 20mm en direction Z. Pas de filetage constant: 1 mm/tour. Paramètres d’interpolation ici K. R911311170 / 01 IndraMotion MTX Codes G G40, G41, G42 3.2.17 Electric Drives Bosch Rexroth AG and Controls Correction de la trajectoire de la fraise 3 - 41 G40, G41, G42 Effet La correction de la trajectoire de la fraise permet, lors de l’exécution d’un programme en référence à une pièce, d’amener l’outil sur une ligne parallèle équidistante à la trajectoire programmée (Ligne équidistante = trajectoire à une distance constante perpendiculaire au contour programmé). L’écart entre la ligne équidistante et la trajectoire programmée est fonction de la valeur activée de correction du rayon). Le schéma suivant illustre le principe appliqué: Correction de la trajectoire de la fraise G42 à droite de la pièce à usiner G42 G41 à gauche de la pièce à usiner G41 = Direction de l’avance = Contour programmé = Ligne équidistante 3 - 42 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G40, G41, G42 Programmation Syntaxe: G40 Correction de la trajectoire de la fraise OFF (état de mise en service). Si le bloc G40 est programmé sans mouvement de déplacement, la commande termine la correction immédiatement et perpendiculairement au bloc de déplacement précédent. Si un mouvement de déplacement a été programmé dans G40, la commande termine la correction linéairement sur le parcours menant au point d’arrivée du mouvement de déplacement. G40 n’a aucune influence sur une correction active de la longueur d’outil. G41 Correction de la trajectoire de la fraiseà gauche de la pièce à usiner ON (avec des valeurs de correction positives vues dans le sens de l’usinage). Dans le même bloc que G41 il est, entre autres possible de programmer, en dehors d’une adresse D avec la correction de rayon nécessaire, un mouvement de déplacement linéaire pour des axes se trouvant dans le plan actif. De cette façon, la correction s’effectue sur le parcours menant au point d’arrivée du mouvement de déplacement. Si le bloc G41 est programmé sans mouvement de déplacement, la commande amorce la correction immédiatement et perpendiculairement au bloc de déplacement précédent. G42 Correction de la trajectoire de la fraiseà gauche de la pièce à usiner ON. Voir G41 pour le reste. ATTENTION Les valeurs de correction sont, le cas échéant, entrées ou sorties immédiatement sans programmation d’un mouvement de déplacement séparé. Ceci peut entraîner un endommagement de la pièce à usiner ou de l’outil. Respectez en conséquence toutes les informations fournies dans le présent chapitre! Particularités et restrictions: D Les fonctions G40, G41 et G42 sont des fonctions modales qui se révoquent mutuellement. D Si G40, G41 ou G42 sont actives, G2, G3 ou G5 doivent absolument et toujours être programmées sans mouvement de déplacement. D Si G41 et G42 sont actives, les fonctions suivantes sont interdites: D G17 ... G20 (Changement de plan) D G70, G71 (Commutation du système pouce/métrique) D G63 (Taraudage sans mandrin de compensation) R911311170 / 01 IndraMotion MTX Codes G G40, G41, G42 Electric Drives Bosch Rexroth AG and Controls D D D D D G74 (Approche des coordonnées du point de référence) G75 (Activation de l’entrée du palpeur de mesure) G76 (Approche de la position fixe des axes machine) G54.x ... G59.x (Décalages du point zéro) G154.x ... G159.x (Plan incliné) 3 - 43 3 - 44 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.18 G43 IndraMotion MTX R911311170 / 01 G44 Transferts de contour pour la correction de trajectoire de fraise: par arc de cercle G43 par point d’intersection G44 Effet Fonction pour correction active de la trajectoire de la fraise (G41, G42). La commande réalise un raccord de contour aux angles extérieurs soit sous la forme d’un arc de cercle engendré D automatiquement (G43) soit en tant que D point d’intersection de lignes équidistantes (G44). G43: Arc de cercle Le ”vide” sur la trajectoire est comblé par un arc de cercle tangentiel de rayon ”r”: engendré automatiquement Points programmés a r trajectoire équidistante R911311170 / 01 IndraMotion MTX Codes G G43 Electric Drives Bosch Rexroth AG and Controls 3 - 45 G44 G44: point d’intersection La commande essaye de fermer le vide entre les deux éléments de trajectoire en définissant un point d’intersection pour les deux lignes équidistantes. En fonction de l’écart “A“ entre l’angle de contour “KE“ et le point d’intersection “S“, la commande procède de la façon suivante: pour A ≤ √2 x r les deux lignes équidistantes sont prolongées jusqu’au point d’intersection trajectoire équidistante S a r KE Si l’écart est important, la commande coupe la pointe à la distance de A = √2 x r et ferme le vide entre les éléments de trajectoire par une droite: r A S KE . S’il n’y a pas de point d’intersection, la ligne est fermée avec G43 au moyen d’un arc de cercle. Programmation Syntaxe: G43 Raccord de contour sous la forme d’un arc de cercle G44 Raccord entre segments de contour sous la forme d’un point d’intersection des lignes équidistantes Ce qui suit s’applique: D Les fonctions G43 et G44 sont des fonctions modales qui se révoquent réciproquement. D L’état de marche peut être défini à l’aide des paramètres machine. Particularités et restrictions: D G43 ou G44 sont programmés sans condition de course. 3 - 46 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.19 G45 IndraMotion MTX R911311170 / 01 G46 Correction de l’avance: Point de pénétration de la fraise Centre de la fraise G45 G46 Effet Fonction pour correction active de la trajectoire de la fraise (G41, G42). Ces fonctions définissent si la commande doit en interpolation circulaire garder l’avance programmée constante D sur le point de pénétration de la fraise (trajectoirede coupe de la fraise) ou D sur la trajectoire du centre de la fraise. G45 G46 FM FM FB FM FB FB = Avance le long de la trajectoire de coupe FB FM FB FM = Avance le long de la trajectoire du centre de la fraise Programmation Syntaxe: G45 maintient l’avance FB constante le long de la trajectoire de coupe. G46 maintient l’avance FM constante le long de la trajectoire du centre de la fraise. Ce qui suit s’applique: D Les fonctions G45 ou G46 sont des fonctions modales qui se révoquent mutuellement. D L’état de marche peut être défini à l’aide des paramètres machine. Particularités et restrictions: D Comme la vitesse d’avance peut fortement augmenter sur des contours circulaires, n’utiliser G45 qu’avec des fraises de finition. R911311170 / 01 IndraMotion MTX Codes G G47, G48 3.2.20 Electric Drives Bosch Rexroth AG and Controls correction de la longueur de l’outil 3 - 47 G47, G48 Effet La fonction D active/désactive la correction de la longueur de l’outil D commute en option l’affectation des valeurs de correction de longueur L1, L2 et L3 de différentes coordonnées (pour le fonctionnement comme G78 ; voir page 3 - 65). Si la correction de la longueur de l’outil est activée D les valeurs de correction de longueur L1, L2 et L3 du bloc de correction actuel sélectionné D (Dxx) D de même que les valeurs de correction de longueur L1, L2 et L3 d’une correction d’outil externe (EDxx) D la fonction ”Orientation d’outil statique” (paramétrable avec STO ; voir page 4 - 151) D la fonction ”Correction position de l’arête coupante”, dans la mesure où une position de l’arête coupante est indiquée dans le bloc de correction actuel D sélectionné (Dxx) et la correction de trajectoire de la fraise G41/G42 est active (voir page 3 - 41). Programmation Syntaxe: G47 Correction de la longueur de l’outil ON. G47(ActPlane) Assigner les valeurs de correction de longueur L1, L2 et L3 des coordonnées principale, secondaire et normales du plan actif puis activer la correction de la longueur de l’outil. Reste active en tant que valeur modale et est reconfigurée automatiquement pour chaque changement de plan suivant. G47({{ - }<L1-Coord>} {{, {{ - }<L2-Coord>} {{, {{ - }<L3-Coord>}}) Modifier l’affectation des valeurs de correction de longueur L1, L2 et L3 des coordonnées puis activer la correction de la longueur de l’outil. G47() Assigner les valeurs de correction de longueur L1, L2 et L3 conformément aux réglages dans les paramètres machine 7050 01300 et 7050 01310 puis activer la correction de la longueur de l’outil. G48 Correction de la longueur de l’outil OFF. avec <Li-Coord> Nom de la coordonnée WCS, à laquelle doit être attribuée la correction Li (avec i = 1, 2, 3) dans le système de coordonnées actif de la pièce à usiner. Si la correction Li (avec i = 1, 2, 3) doit agir sur les coordonnées dans le système de coordonnées outil 3 - 48 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G47, G48 (TCS), elles doivent être utilisées comme désignateur de coordonnées XTR, YTR et ZTR et une transformation géom. en correction d’axes correspondante doit être active. Signe négatif optionnel: La correction est calculée en direction négative. Les valeurs de correction Li-, auxquelles aucune coordonnée n’est attribuée, sont négligées. Particularités et restrictions: D Les coordonnées qui ne sont pas comprises dans le réglage par défaut du canal ne sont jamais prises en compte dans la syntaxe ”G47()”. D Les fonctions G47.. et G48 sont des fonctions modales qui se révoquent réciproquement. D Le fait que les adresses des coordonnées programmées sous G47 se rapportent aux coordonnées de la pièce à usiner ou aux coordonnées outil dépend du désignateur de coordonnées utilisé (voir sous <Coordonnée i> ci - dessus). D G47/G48 peuvent être programmées conjointement avec d’autres conditions de course, informations de déplacement ou fonctions auxiliaires. Exemple: G47(X,,ZTR) La correction L1est affectée à la coordonnée X du système de coordonnées de la pièce à usiner (WCS), la correction L3à la coordonnée Z du système de coordonnées de l’outil (TCS). Ces deux corrections sont calculées en direction positive. Ensuite, la correction de la longueur de l’outil est activée. La correction L2 n’est pas calculée, comme aucune coordonnée ne lui est attribuée. R911311170 / 01 IndraMotion MTX Codes G G53 3.2.21 Electric Drives Bosch Rexroth AG and Controls 3 - 49 G53.1 - G59.1 G53.5 - G59.5 Décalages de l’origine des axes (NPV) G53, G53.1 - G59.1 à G53.5 - G59.5 Effet A l’aide de la fonction NPV, il est possible de déplacer le système de coordonnées machine dans l’espace. . Si une correction de tension s’avère nécessaire, voir la fonctionnalité ”BcsCorr” (transformation de pièce à usiner: correction de la position de la pièce à usiner, voir page ). (Paramètre voir page 4 - 25 Dans les ”tables de décalages du point d’origine” figurent les distances de décalage pour les coordonnées machine dans le canal: D Une table NPV comprend 5 banques NPV (groupes) avec respectivement 6 décalages de point origine (NPV). D Les décalages issus des différentes banques NPV agissent toujours en supplément. D Les décalages à l’intérieur d’une banque NPV s’écrasent réciproquement. Tableau NPV Groupe-NPV 1 Groupe-NPV 2 Banque-NPV 1. NPV 2. NPV 3. NPV Groupe-NPV 3 4. NPV Groupe-NPV 4 Groupe-NPV 5 . NPV Valeur NPV des coordonnées machine 5. NPV 6. NPV Pour l’édition des tables de décalage de l’origine des axes- veuillez consulter le guide de l’opérateur. 3 - 50 Bosch Rexroth AG Electric Drives and Controls Codes G G53 IndraMotion MTX R911311170 / 01 G53.1 - G59.1 G53.5 - G59.5 Programmation 1. Activez la table de décalage de l’origine des axes (NPV) désirée à l’aide de ”ZoTSel” (voir page 4 - 173). 2. Programmez la fonction nécessaire: Syntaxe: G53 Tous les NPV pour toutes les banques de correction OFF G53.<Banque-NPV> Tous les NPV de la<banque NPV> OFF G54.<Banque NPV> 1. NPV de la<Banque NPV> ON G55.<Banque NPV> 2. NPV de la<Banque NPV> ON G56.<Banque NPV> 3. NPV de la<Banque NPV> ON G57.<Banque NPV> 4. NPV de la<Banque NPV> ON G58.<Banque NPV> 5. NPV de la<Banque NPV> ON G59.<Banque NPV> 6. NPV de la<Banque NPV> ON Abréviation: De G54 à G59 Pour chaque NPV de la banque 1 avec <Banque NPV> 1...5, Intègre Ce qui suit s’applique: D G53 est une fonction modale et révoque chaque NPV actif. Les fonctions G53.1 à G59.1 sont des fonctions modales qui se révoquent réciproquement. Les fonctions G53.2 à G59.2 sont des fonctions modales qui se révoquent réciproquement. Les fonctions G53.3 à G59.3 sont des fonctions modales qui se révoquent réciproquement. Les fonctions G53.4 à G59.4 sont des fonctions modales qui se révoquent réciproquement. Les fonctions G53.5 à G59.5 sont des fonctions modales qui se révoquent réciproquement. D Programmées seules, les fonctions n’entraînent pas de déplacement. Seul le système de coordonnées machine est décalé. D Les fonctions peuvent également être programmées dans le même bloc avec d’autres conditions de course, Dans ces cas le décalage de point d’origine correspondant est activé en premier, après quoi s’effectue le déplacement vers la position programmée. R911311170 / 01 IndraMotion MTX Codes G G53 Electric Drives Bosch Rexroth AG and Controls 3 - 51 G53.1 - G59.1 G53.5 - G59.5 Exemple: Dans la table NPV “Z01“ les valeurs de décalage suivantes sont contenues dans la banque NPV 1: 1.NPV : X100, Y100 2.NPV : X300, Y100 3.NPV : X500, Y100 4.NPV : X100, Y450 5.NPV : X300, Y450 6.NPV : X500, Y450 Effet des fonctions G54.1 à G59.1: +Y 500 G57.1 W 400 G58.1 G59.1 W W 300 200 G55.1 G54.1 100 W G56.1 W W M 100 200 300 400 500 600 700 +X Exemple: Effet additionnel de NPV issu de différentes banques NPV. Dans la table NPV “Z01“ les valeurs de décalage suivantes sont contenues: Banque NPV 1, 1. NPV: X100, Y100 Banque NPV 1, 2. NPV: X300, Y100 Banque NPV 2, 4. NPV: X300, Y350 : : : N40 ZOS(Z01) N50 G54.1 N60 G55.1 X...Y... N70 G57.2 X...Y... N80 G53 Position actuelle de la machine 0,0. pas de décalage du point d’origine. toutes les données de coordonnées ci - dessous sont des coordonnées machine ! Activer la table NPV ”Z01”. Pas de mouvement de déplacement. Décalage sur X100, Y100 activé. Décalage sur X300, Y100 activé. Ensuite mouvement de déplacement. Décalage sur X500, Y450 activé. Ensuite mouvement de déplacement. Tous les décalages encore actifs OFF. 3 - 52 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.22 IndraMotion MTX R911311170 / 01 G61, G62 Arrêt précis MARCHE/ARRÊT G61, G62 Effet Minimise l’erreur de poursuite en fin de bloc. Lors des mouvements d’outils, les valeurs de consigne et les valeurs réelles des différents axes sont décalées dans le temps en raison de la propre dynamique de la machine. Cet “effet“ entraîne lors de l’usinage une erreur de poursuite dont l’importance dépend de la vitesse d’avance et du facteur KV (dynamique des axes). En présence de raccords de contour irréguliers (angles), cette erreur de poursuite se traduit par un “écrasement“ de l’angle. Ce faisant s’applique: D La distance de poursuite (décalage entre la valeur de consigne et la valeur effective) en fin de bloc peut être diminué à la taille de certaines fenêtres de cible. D G61 n’agît que sur des mouvements en avance. Il n’agît pas sur des mouvements d’avance rapide. D An contraire de la fonction arrêt précis à G1, G61 active toutes les fonctions d’interpolation (donc également les interpolations circulaires/hélicoïdales, spline) à l’exception de G0. D G61/G62 sont des fonctions modales qui se révoquent réciproquement. +Y avec arrêt précis sans arrêt précis +X . Lorsque G61 est actif (mode arrêt précis activé) la commande décélère toujours en fin de bloc à v = 0. Programmation Fonction de base Syntaxe: G61 G62 Arrêt précis ON. Arrêt précis OFF. Pour arrêt précis MARCHE la dernière fenêtre de positionnement active reste valide pour le mode trajectoire. Valeur par défaut: Fenêtre de positionnement précise. R911311170 / 01 IndraMotion MTX Codes G G61, G62 Paramètres optionnels Electric Drives Bosch Rexroth AG and Controls 3 - 53 Pour la sélection de la fenêtre de positionnement pour le mode d’avance. Syntaxe: G61(IPS1|IPS2|IPS3) avec IPS1 IPS2 IPS3 . Arrêt précis MARCHE. Attente de fenêtre de positionnement précise. En fin de bloc, la commande décélère tout d’abord à la vitesse sur trajectoire v=0. Le bloc suivant n’est déplacé que lorsque cette fenêtre de positionnement a été atteinte pour tous les axes intéressés. Arrêt précis ON. Attente de fenêtre de positionnement approximative. Sur l’interface du canal “Inpos zone 2 activée“ est affiché (voir aussi Manuel “Interface API”). En fin de bloc, la commande décélère tout d’abord à la vitesse sur trajectoire v = 0. Le bloc suivant n’est déplacé que lorsque cette fenêtre de positionnement a été atteinte pour tous les axes intéressés. Arrêt précis ON. Décélération à v = 0 en fin de bloc. En fin de bloc, la commande décélère à la vitesse sur trajectoire v = 0. Ensuite, le bloc suivant est déplacé sans vérification sur la fenêtre de positionnement. Les paramètres ”Fenêtre de positionnement précis” et ”Fenêtre de positionnement approximatif” peuvent être définis dans le fichiers SERCOS pour Phase 3. Pour plus d’informations sur les fichiers SERCOS, veuillez consulter le chapitre “Initialisation SERCOS“ dans le Manuel “Paramètres machine”. Particularités et restrictions: D G61/G62 doivent être programmés au plus tard dans le bloc dans lequel ils doivent être actifs. Exemple: : N40 : N50 : N60 : N70 : N80 : G61 Arrêt précis ON. Y200 Positionnement. G62 Arrêt précis OFF. Y0 Positionnement. G61 Y200 Positionnement avec arrêt précis ON. 3 - 54 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.23 IndraMotion MTX R911311170 / 01 G63 Taraudage sans mandrin de compensation Effet G63 D Synchronise l’interpolation linéaire de l’axe de taraudage avec la broche commutée sur l’axe C. Ceci permet de ne pas avoir à utiliser un mandrin de compensation qui se devrait de capter les différences de vitesse entre axe de taraudage et broche. D G63 n’est actif que dans le bloc programmé. D Pour la durée du taraudage un signal peut être issu au niveau de l’interface canal (configurable à l’intérieur des signaux “Fonction active“ via les paramètres machine). D Durant le taraudage seul le potentiomètre d’avance est actif. . Concernant le taraudage à plusieurs broches, veuillez vous reporter également au chapitre 4.89. Si le masquage d’axes est nécessaire pour la génération de l’avance, veuillez vous reporter au chapitre 4.28. Programmation Syntaxe: G63 (M<3|4>,S<Vitesse de rotation>|H<Pas de filetage>) <Axe de taraudage><Profondeur des pas de pénétration> {F<Avance>}, Le pas de filetage est le résultat du rapport avance sur trajectoire/vitesse de rotation (F/S). ATTENTION Des pas de filetage différents lors de la pénétration et de la remontée détériorent la pièce/l’outil! Programmez donc la pénétration et la remontée toujours de façon à ce que les pas de filetage résultants soit identiques dans les deux cas! Particularités et restrictions: D Le bloc de taraudage et de remontée doivent être programmées immédiatement l’un après l’autre. D Lors du perçage de trous profonds, des lignes vierges doivent être programmées entre les différents taraudages partiels. D Si dans le bloc G63 aucune autre valeur d’avance n’est indiquée (adresse F), la commande utilise l’avance de trajectoire active. D Les adresses M et S ne sont actives que dans le bloc G63 programmé. D Ni “Broche indexation“, ni “Broche arrêt“ ne sont nécessaires avant G63. R911311170 / 01 IndraMotion MTX Codes G G63 Electric Drives Bosch Rexroth AG and Controls 3 - 55 D La commutation en mode axe C s’effectue automatiquement. Avant le démarrage, la Commande attend en interne le message “INPOS“ de tous les axes concernés. Si un axe dérive de sa zone INPOS, G63 ne sera pas lancée. D Après le bloc remontée outil, la broche retourne automatiquement en mode broche. Exemple: N20 G0 X20 Y15 Z10 F1000 N30 G63(M3,S500) Z-20 F500 N40 G63(M4,S500) Z5 F500 : N120 G0 X20 Y15 Z10 F1000 N130 G63(M3,S500) N140 G63(M4,S500) <Ligne vide> N150 G63(M3,S500) N160 G63(M4,S500) : Z-20 F500 Z5 F500 Z-40 F500 Z5 F500 Positionnement. Pénétration de l’outil (axe de taraudage Z). Remontée outil (axe de taraudage Z). Positionnement pour taraudage de trous profonds. Pénétration secteur partiel 1. Remontée secteur partiel 1. Programmation d’une ligne vide. Pénétration secteur partiel 2. Remontée secteur partiel 2. 3 - 56 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.24 IndraMotion MTX R911311170 / 01 G70 Programmation en pouces G70 Effet Permet l’indication de la course, des informations d’avance et des accélérations en pouces. Programmation Syntaxe: G70 La course, les informations d’avance et les accélérations sont interprétées en pouces. Ce qui suit s’applique: D G70 est une fonction modale et révoque G71 actif. D L’état de marche peut être défini à l’aide des paramètres machine. D G70 peut également être programmée dans le même bloc avec d’autres conditions de course. D G70 se réfère à: D Courses de déplacement D Avances D Accélérations D Autres grandeurs auxiliaires géométriques, tel par exemple les paramètres d’interpolation I, J, K. Exemple: N40 G70 : A partir de N40 incluse, toutes les informations sur la course et l’avance sont interprétées en pouces. R911311170 / 01 IndraMotion MTX Codes G G71 3.2.25 Electric Drives Bosch Rexroth AG and Controls Programmation en système métrique 3 - 57 G71 Effet Permet l’indication de la course, des informations d’avance et des accélérations en unités de mesure métriques. Programmation Syntaxe: G71 La course, les informations d’avance et les accélérations sont interprétées en unité de mesures métriques. Ce qui suit s’applique: D G71 est une fonction modale et révoque G70 actif. D L’état de marche peut être défini à l’aide des paramètres machine. D G71 peut également être programmée dans le même bloc avec d’autres conditions de course. D G71 se réfère à: D Courses de déplacement D Avances D Accélérations D Autres grandeurs auxiliaires géométriques, tel par exemple les paramètres d’interpolation I, J, K. Exemple: N40 G71 : A partir de N40 incluse, toutes les informations sur la course et l’avance sont interprétées en unités de mesure métriques. 3 - 58 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.26 IndraMotion MTX R911311170 / 01 G74 Approche des coordonnées du point de référence G74 Effet Les axes programmés dans le même bloc que G74 se déplacent simultanément sur leurs positions de référence. La vitesse d’avance dépend de G0/G1 en avance rapide/avance. Avec G74, le système ne tient compte ni des cames , ni des repères de points de référence. G74 est une pure opération de positionnement sur les positions absolues des axes, et vaut donc également pour les axes avec codeurs à distances codées. ATTENTION D’éventuelles corrections actives sont négligées lors de cette procédure de positionnement! Ce qui suit s’applique: D G74 est actif en fonction du bloc et est révoquée lorsque les axes machine programmés dans le bloc G74 ont atteint le point de référence. D Lors de l’approche du point de référence avec G74, les valeurs effectives des axes ne sont pas réinitialisées. D Des corrections éventuellement encore actives, NPV etc. ne sont pas prises en compte dans le bloc G74 pour les axes programmés. Programmation Syntaxe: G74 <Coordonnées d’axes> Démarrer “Approche des coordonnées du point de référence“. avec <Coordonnées d’axes>:Les adresses des axes doivent être programmées ensemble avec un indice numérique (par exemple X1 Y1 Z1). L’indice numérique n’a aucune influence sur la position du point de référence. Il sert seulement à compléter le mot. Particularités et restrictions: D La programmation de G74 s’effectue dans un bloc séparé avec les axes à déplacer. Des fonctions auxiliaires et additionnelles peuvent être programmées dans un même bloc. Exemple : N100 G74 X1 Y1 Z1 : Les axes X, Y et Z démarrent simultanément leurs déplacements vers leurs positions de points de référence et les atteignent simultanément. R911311170 / 01 IndraMotion MTX Codes G G74(HOME) 3.2.27 Electric Drives Bosch Rexroth AG and Controls Approche du point de référence . 3 - 59 G74(HOME) La fonction G74(HOME) est aussi applicable pour des axes asynchrones! Effet Déclenche via le programme pièces la prise d’origine des axes programmés. La fonction désactive l’ordre d’exécution SERCOS “Référencement commandé par l’entraînement“ (S-0-0148) pour les entraînements des axes programmés. L’entraînement génère alors lui- même ses données de position pour le référencement. Pour ce faire, il utilise les paramètres SERCOS S-0-0147 (Paramètre de prise d’origine), S-0-0041 (Vitesse en prise d’origine) et S-0-0042 (Accélération en prise d’origine). . Pour une description détaillée dans ce contexte, veuillez consulter le manuel “Description des fonctions“. Ce qui suit s’applique: D Si plusieurs axes sont programmés dans le bloc G74(HOME)-, ils s’approchent indépendamment l’un de l’autre de leur point de référence (pas de mode trajectoire). Les points de référence ne sont donc pas atteints simultanément. D Il est possible de programmer des axes synchrones et asynchrones . Le traitement de bloc est suspendu jusqu’à ce que tous les entraînements de la commande aient confirmé l’arrivée à leur point de référence. D La fonction ne présente pas de différence par rapport à “Approche du point de référence“ en mode “Réglage“. Programmation Syntaxe: G74(HOME) <Coordonnées d’axes> Déclencher l’instruction SERCOS “Référencement guidé par l’entraînement“ pour les axes programmés. avec <Coordonnées d’axes>:Les adresses des axes doivent être programmées ensemble avec un indice numérique (par exemple X1 Y1 Z1). L’indice numérique n’a aucune influence sur la position du point de référence. Il sert seulement à compléter le mot. 3 - 60 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G74(HOME) Exemple: N1 G74(HOME) X1 Y1 Z1 : Envoyer l’instruction SERCOS “Référencement guidé par l’entraînement“ aux entraînements des axes X, Y et Z. R911311170 / 01 IndraMotion MTX Codes G G75 3.2.28 Electric Drives Bosch Rexroth AG and Controls Palpeur de mesure 3 - 61 G75 Effet La commande amène un ou plusieurs axes de mesure en avance en direction de la position programmée avec G75 tout en contrôlant simultanément si le palpeur de mesure se déclenche. Dès que le front défini à l’aide des paramètres machine est détecté, la commande réagit par: D Mémorisation de la position réelle D Décélération à v = 0 avec l’accélération maximale autorisée D Effacement de G75 et de la course restante D Commutation au prochain bloc. . N’utilisez G75 qu’en liaison avec un programme CPL pour l’évaluation. . La fonction du palpeur de mesure est paramétrable via les paramètres machine. Programmation Syntaxe: G75 <Coordonnée d’axe> Activer l’entrée de mesure et déplacer l’axe de mesure sur la <coordonnée d’axe>. Particularités et restrictions: D G75 agit bloc par bloc. D Dans le bloc G75, on ne doit pas programmer de fonctions auxiliaires. Les autres conditions de course par contre sont admises. D G75 doit être programmée conjointement avec au moins une <coordonnée d’axe>. La valeur de celle- ci représente la profondeur de recherche maximale à laquelle le palpeur de mesure devra être activé au plus tard. D Un arrêt du traitement de bloc à la suite du bloc G75- n’est pas nécessaire (pas de WAIT nécessaire). D L’évaluation des informations sur les axes, les suivis de sécurité, la génération de messages d’erreur etc. doivent être réalisés via le programme CPL. 3 - 62 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G75 Exemple: N100 G75 Y250 F500 110 IF SD(9)=0 THEN 120 : YPOS=PPOS(2) N130 140 150 N160 N170 N180 (MSG, CONTACT) GOTO N180 ENDIF (MSG, NO CONTACT) M0 ... Se déplacer sur la position Y250 à l’aide de F500. Interrogation: le palpeur de mesure est - il orienté ? Mémorisation de la position au moment de la commutation du 2ème axe (axe Y) dans la variable YPOS. Arrêt de programme R911311170 / 01 IndraMotion MTX Codes G G76 3.2.29 Electric Drives Bosch Rexroth AG and Controls Approche de la position fixe des axes machine 3 - 63 G76 Effet Permet la programmation et l’approche linéaire de positions dans le système de coordonnées machine, sans devoir désactiver séparément des corrections et transformations éventuellement actives dans le programme pièce. Ceci peut s’avérer nécessaire par exemple pour le changement d’outil, les contrôles de rupture d’outil, les cycles de mesure ou des changements de palettes. G76 est actif par blocs en avance rapide (G0) ou en avance (G1), mais aussi en liaison avec G93 (programmation de temps), G94/95 (programmation d’avance) et le mot F. Les fonctions suivantes ne sont pas prises en compte avec G76: D Corrections de l’outil (G41, G42, G47 Dxx, EDxx) D Auxiliaires de saisie (miroir, échelle, rotation, shift) D Décalages d’origine (G54.1...G59.5) D Placements (BcsCorr, G154.1...G159.5) D Transformations d’axes sur la base des coordonnées machine, par ex. Transfo-Axe-5 D Programmation relative (G91) D Initialiser la position de programme (SetPos) Programmation Syntaxe: G76 <Coordonnées machine> avec <Coordonnées machine>: Coordonnées machine à approcher. Particularités et restrictions: D G76 peut être écrite conjointement avec d’autres conditions de course (par exemple G0, G1, G93, G94, Mot F). D Une programmation relative locale (“ IC(...)“ ; voir page 3 - 75) n’est pas permise en liaison avec G76 et se solde par un message d’erreur d’exécution. 3 - 64 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.30 IndraMotion MTX R911311170 / 01 G77 Sous-programmes asynchrones: Repositionnement de coordonnées individuelles G77 Effet Déplace les coordonnées définies sur le point de redémarrage après le fin du sous - programme asynchrone dans lequel G77 est programmé. Le point de redémarrage est toujours approché sur une droite. . Vous trouverez de plus amples informations sur l’utilisation et le paramétrage des sous - programmes asynchrones dans le manuel “Description des fonctions“. Programmation Syntaxe: G77 <Coord 1><Mode> <Coord n><Mode> ... F<valeur> avec <Coord i> <Mode> <Valeur> Nom de coordonnée (par ex. “X“) <Coord i> lors du redémarrage 1 prendre en compte. 0 ne pas prendre en compte. La coordonnée est maintenue à sa valeur actuelle. Avance, avec laquelle le positionnement sur la position de redémarrage doit être effectué. Particularités et restrictions: D La fonction est prévue pour l’utilisation dans un sous - programme asynchrone. D Toutes les coordonnées non programmées via G77 sont approchées du point de redémarrage par une droite à la fin du sous- programme asynchrone. D Les modifications de correction survenues entre - temps au sein d’un sous - programme asynchrone sont prises en compte automatiquement lors du calcul interne du point de redémarrage nécessaire. D En tant que syntaxe alternative il est également possible de programmer REPOS à la place de G77. R911311170 / 01 IndraMotion MTX Codes G G78 3.2.31 Electric Drives Bosch Rexroth AG and Controls 3 - 65 G79 Changement pour correction MARCHE Changement pour correction OFF G78 G79 Effet Affecte les corrections de longueurs de la fonction de correction de géométrie à des coordonnées individuelles. Ce sont les coordonnées: D du système de coordonnées actuel de la pièce à usiner (WSC), ou D du système de coordonnées de l’outil (TCS). Une affectation par rapport aux coordonnées du système de coordonnées (WCS) de la pièce à usiner est toujours possible lorsque l’outil est orienté perpendiculairement au plan de travail actuel et lorsque son orientation en cours d’usinage reste constant par rapport au plan de travail. Une affection des corrections par rapport aux coordonnées du système de coordonnées outil (TCS) est nécessaire lorsque l’orientation de l’outil change en cours d’usinage, par exemple lors de fraisage de surfaces de formes libres. Pour un tel calcul de correction, il faut effectuer une transformation géométrique active en correction d’axes (par exemple: transformation en correction 5 axes ou 6 axes) Le calcul des valeurs de correction s’effectue à l’intérieur de la transformation géométrique en correction d’axes. Correction de l’outil par rapport au système de coordonnées de la pièce à usiner WCS Correction de l’outil dans système de coordonnées outil TCS Z L3 Z Y L3 Z L2 TCS L1 Y L1 WCS . Y L2 X X WCS X Pour activer les valeurs de correction pour le traitement, reportezvous à G47 à partir de la page 3 - 47. Programmation Syntaxe: G78({{ − }<Coordonnée>},{{ − }<Coor− donnée2>},{{ − }<Coordonnée3>}) Changement pour correction ON. 3 - 66 Bosch Rexroth AG Electric Drives and Controls Codes G G78 IndraMotion MTX R911311170 / 01 G79 avec <Coordonnée i> Nom de la coordonnée WCS (Nom d’axe logique/physique), à laquelle la correction Li (avec i = 1, 2, 3) doit être affectée. Si la correction Li doit agir sur des coordonnées dans le système de coordonnées outil TCS, WTR, UTR et ZTR doivent être utilisés en tant que désignateur de coordonnées. Signe négatif optionnel: La correction est calculée en direction négative. Li-Les corrections auxquelles aucune coordonnée n’est attribuée ne sont pas prises en compte. G78(ActPlane) Les corrections L1, L2 et L3 sont affectées aux coordonnées principales, secondaires et normales des plans actifs respectifs. G79 Changement pour correction OFF. Les réglages dans les paramètres machine sont de nouveau actifs. Particularités et restrictions: D Les fonctions G78 et G79 sont des fonctions modales qui se révoquent réciproquement. D Les coordonnées qui ne font pas partie des réglages par défaut du canal ne sont pas prises en compte avec G79! D Les adresses de coordonnées programmées dans G78 peuvent se réfèrer aux coordonnées de la pièce à usiner ou aux coordonnées de l’outil (voir ci - dessus sous <coordonnée i>). D G78/G79 peuvent être programmées conjointement avec d’autres conditions de course, informations de déplacement ou fonctions auxiliaires. Exemples: G78(X, ,ZTR) La correction L1 est affectée à l’axe X du système de coordonnées de la pièce à usiner (WCS), la correction L3 à l’axe Z du système de coordonnées de l’outil (TCS). Ces deux corrections sont calculées en direction positive. G78( , , - Y) La correction L(1)3est affectée à l’axe Y du système de coordonnées de la pièce à usiner (WCS) et calculée en direction négative. La correction L1 est affectée à l’axe YA et la correction L2 à l’axe YB du système de coordonnées de la pièce à usiner (WCS). Ces deux corrections sont calculées en direction positive. Pour toutes les coordonnées par défaut du canal les corrections sont déactivées. G78(YA,YB) G79 R911311170 / 01 IndraMotion MTX Codes G G80 3.2.32 Electric Drives Bosch Rexroth AG and Controls 3 - 67 G81 Désactiver le cycle de perçage G80 Effet Désactive un cycle de perçage actif (G81 - G86, G184). Programmation Syntaxe: G80 Particularités et restrictions: D Dans un bloc G80, des parenthèses ne doivent pas être programmées. 3.2.33 Cycle de perçage: Perçage avec dégagement de l’outil à vitesse rapide G81 Application: D Centrage et simple perçage, lamage, alésage. Effet Lorsque la profondeur de perçage Z est atteinte, une temporisation peut être activée de façon optionnelle. Ensuite, la remontée de l’outil s’effectue en vitesse rapide. G81 avec plan R1 G81 avec plan R2 PE R1 P Z PE PE Plan de positionnement R2 Rx Plan de référence 1,2 Z Profondeur de pénétration P Temporisation R1 P Avance Z Vitesse rapide Programmation Syntaxe: G81[<Z>,<R1>,{<P>},{<R2>}] Particularités et restrictions: D Ce cycle de perçage est effectué dans chaque nouveau bloc de déplacement. D Désélection par G81. D Avant un changement de cycle, le cycle actuel doit être désélectionné par G80. 3 - 68 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.34 IndraMotion MTX R911311170 / 01 G82 Cycle de perçage: Perçage avec dégagement de l’outil en avance G82 Comme G81. La remontée de l’outil jusqu’à R1 s’effectue toutefois en avance programmée. G82 avec plan R1 G82 avec plan R2 PE R1 P Z PE PE Plan de positionnement R2 Rx Plan de référence 1,2 Z Profondeur de pénétration P Temporisation R1 P Avance Z Vitesse rapide Programmation Syntaxe: G82[<Z>,<R1>,{<P>},{<R2>}] Particularités et restrictions: D Ce cycle de perçage est effectué dans chaque nouveau bloc de déplacement. D Désélection par G81. D Avant un changement de cycle, le cycle actuel doit être désélectionné par G80. R911311170 / 01 IndraMotion MTX Codes G G83 3.2.35 Electric Drives Bosch Rexroth AG and Controls Cycle de perçage: Perçage trou profond 3 - 69 G83 Application: D Perçage de trous profonds avec enlèvement des copeaux. Effet Une fois la profondeur du pas de pénétration programmée K atteinte, l’outil remonte au plan de référence R1 en vitesse rapide. La nouvelle approche de pénétration s’effectue à vitesse rapide jusqu’à la distance programmée k (point d’inversion de vitesse) Ensuite la commande commute à nouveau en vitesse d’avance programmée. La pénétration progressive avec remontée respective jusqu’au plan de référence est effectuée jusqu’à ce que la profondeur de pénétration totale Z soit atteinte. G83 avec plan R1 G83 avec plan R2 PE PE R2 R1 R1 PE Plan de positionnement Rx Plan de référence 1,2 K Profondeur de pas de pénétration k Distance par rapport au point d’inversion dela vitesse K K k k K K K K Z Profondeur de pénétration P Temporisation k k : Avance Z Z : Vitesse rapide P P Programmation Syntaxe: G83[<Z>,<R1>,<K>,<k>,{<P>},{<R2>}] L Programmez la profondeur des pas de pénétration K par incréments indépendamment de la direction de perçage et sans signe +/ Si la profondeur maximale Z est dépassée à la suite d’une programmation erronée de la profondeur des pas de pénétration K, la commande interrompt le cycle de perçage tout d’abord avec M0 et le message d’erreur ”PROFONDEUR DE PERÇAGE K TROP GRANDE” est alors affiché. Après redémarrage, le cycle de perçage est interrompu (M30). Particularités et restrictions: D Ce cycle de perçage est effectué dans chaque nouveau bloc de déplacement. D Désélection par G81. D Avant un changement de cycle, le cycle actuel doit être désélectionné par G80. 3 - 70 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.36 IndraMotion MTX R911311170 / 01 G84 Cycle de perçage: Taraudage sans mandrin de compensation G84 Application: D Taraudage (à gauche et à droite) avec mandrin de compensation. Condition nécessaire et suffisante: D Broche interne en tant qu’axe de perçage. Des broches externes ne sont pas permises dans le cas présent. Effet Le positionnement de l’outil s’effectue avec M3 sens de rotation de la broche vers la droite ou M4 sens de rotation de la broche vers la gauche (filet à droite ou à gauche). Lorsque la profondeur de pénétration Z (profondeur de taraudage) est atteinte, le sens de rotation est inversé et une temporisation P est amorcée (dans la mesure où elle est programmée). Ensuite, l’outil remonte au plan de référence à la vitesse d’avance programmée. Une fois ce plan atteint, l’inversion du sens de rotation de la broche s’annule. G84 avec plan R1 G63 G84 avec plan R2 PE PE R2 D P G66 Z D D R1 P PE Plan de positionnement Rx Plan de référence 1,2 Z Profondeur de taraudage P Temporisation D Inversion du sens de rotation R1 Z : Avance : Vitesse rapide D Programmation Syntaxe: G84[<Z>,<R1>,{<P>},{<R2>}] ATTENTION Risques d’endommagement des outils ou des pièces à usiner! En cours de cycle, une exécution éventuellement active d’un bloc séparé ne sera pas supprimée! En conséquence, la broche continuera à tourner après une opération de positionnement à l’intérieur du cycle. Ceci peut entraîner un endommagement de la pièce à usiner et de l’outil. Il est donc recommandé de veiller à ce que l’exécution du cycle par la commande ne soit effectuée qu’en mode “bloc suivant“! Particularités et restrictions: D Ce cycle de perçage est effectué dans chaque nouveau bloc de déplacement. R911311170 / 01 IndraMotion MTX Codes G G85 Electric Drives Bosch Rexroth AG and Controls 3 - 71 D Désélection par G81. D Avant un changement de cycle, le cycle actuel doit être désélectionné par G80. 3.2.37 Cycle de perçage: Alésage avec dégagement de l’outil à vitesse rapide G85 Application: D Alésage Effet Après avoir atteint la profondeur de perçage Z D la broche s’arrête et D une temporisation est activé (si toutefois il a été programmé). D Ensuite, la remontée de l’outil s’effectue en vitesse rapide. G85 avec plan R1 G85 avec plan R2 PE M03 M03 R1 PE PE Plan de positionnement R2 Rx Plan de référence 1,2 Z Profondeur de pénétration P Temporisation R1 : Avance P Z P M05 Z M05 : Vitesse rapide Programmation Syntaxe: G85[<Z>,<R1>,{<P>},{<R2>}] Particularités et restrictions: D Ce cycle de perçage est effectué dans chaque nouveau bloc de déplacement. D Désélection par G81. D Avant un changement de cycle, le cycle actuel doit être désélectionné par G80. 3 - 72 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.38 IndraMotion MTX R911311170 / 01 G86 Cycle de perçage: Alésage avec dégagement en avance G86 Comme G85. La remontée de l’outil jusqu’à R1 s’effectue toutefois en avance programmée. G86 avec plan R1 G86 avec plan R2 PE M03 M03 R1 PE PE Plan de positionnement R2 Rx Plan de référence 1,2 Z Profondeur de pénétration P Temporisation R1 : Avance P Z P M05 Z : Vitesse rapide Programmation Syntaxe: G86[<Z>,<R1>,{<P>},{<R2>}] Particularités et restrictions: D Ce cycle de perçage est effectué dans chaque nouveau bloc de déplacement. D Désélection par G81. D Avant un changement de cycle, le cycle actuel doit être désélectionné par G80. R911311170 / 01 IndraMotion MTX Codes G G184 3.2.39 Electric Drives Bosch Rexroth AG and Controls 3 - 73 Cycle de perçage: Taraudage sans mandrin de compensation G184 Application: D Taraudage (à gauche et à droite) sans mandrin de compensation. Conditions préalables: D Broche asservie D G63 (Taraudage sans mandrin de compensation). Effet Le positionnement de l’outil est calculé en interne via le produit “Vitesse de rotation x Pas de filetage“ (U1*GS). A l’aide du signe +/ - devant le paramètre GS (Pas de filetage), on sélectionne le sens de rotation (filet à droite ou filet à gauche). Lorsque la profondeur de pénétration Z (profondeur de taraudage) est atteinte, le sens d’orientation s’inverse. Ensuite, l’outil remonte au plan de référence à la vitesse d’avance programmée. Le sens de rotation de la broche est conservée jusqu’à ce qu’un nouveau cycle de taraudage soit programmé. G184 avec plan R1 G63 PE G184 avec plan R2 G63 PE R2 U1 G66 U1 P R1 U1 Plan de positionnement Rx Plan de référence 1,2 Z Profondeur de taraudage P Temporisation R1 U2 U1 Z PE P U2 U1 Vitesse de rotation U2 Vitesse de rotation en remontée d’outil GS Pas de filetage Z GS : Avance : Vitesse rapide Programmation Syntaxe: Filet à droite: G184[<Z>,<R1>,{<P>},{<R2>},<GS>,<U1>,{<U2>},{<RP *>}] Filet à gauche: G184[<Z>,<R1>,{<P>},{<R2>},-<GS>,<U1>,{<U2>},{<RP *>}] *) . RP fixe l’indexation de la broche. P peut être programmé pour des raisons de compatibilité, mais n’est pas traité! Particularités et restrictions: D Ce cycle de perçage est effectué dans chaque nouveau bloc de déplacement. 3 - 74 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G184 D Désélection par G81. D Avant un changement de cycle, le cycle actuel doit être désélectionné par G80. R911311170 / 01 IndraMotion MTX Codes G G90 3.2.40 G91 Electric Drives Bosch Rexroth AG and Controls 3 - 75 AC(...) IC(...) Programmation absolue Programmation relative Programmation absolue locale Programmation relative locale G90 G91 AC(...) IC(...) Effet Défini, si la commande doit interpréter les cotes pour les axes et coordonnées en tant que valeurs absolues ou relatives (incrémentales). D Les cotes absolues se réfèrent au point origine actuel (du système de coordonnées programme). D Les cotes relatives se réfèrent à la dernière position approchée. G90 Point d’arrivée Point d’arrivée G91 Cote absolue Y Pt. de départ Pt. de départ Cote relative Y Y Y Cote relative X Cote absolue X X X Ce qui suit s’applique: D Les fonctions G90 et G91 sont des fonctions modales qui se révoquent réciproquement. D AC(...) et IC(...) agissent de façon indépendantes d’un G90/G91 actif uniquement pour l’information de course des axes dont la position est programmée avec AC(...) ou IC(...). Programmation Syntaxe: G90 Programmation de valeur absolue G91 Programmation mesure relative <Axe>=AC(<Valeur>) Programmation absolue locale <Axe>=IC(<Valeur>) Programmation relative locale. avec <Axe>: Adresse d’axe logique. <Valeur>: Information de course pour l’<axe>. 3 - 76 Bosch Rexroth AG Electric Drives and Controls Codes G G90 G91 IndraMotion MTX R911311170 / 01 AC(...) IC(...) Exemple: N10 G1 G90 N20 X100 Y100 N10G91 N40 X100 Y100 N50 X=AC(50) Y50 Programmation absolue ON. Déplacement sur les coordonnées X100, Y100. Programmation relative ON. Déplacement sur les coordonnées X200, Y200. Programmation absolue locale pour l’axe X. Déplacement au niveau de la machine sur X50, Y250. R911311170 / 01 IndraMotion MTX Codes G G93 3.2.41 Electric Drives Bosch Rexroth AG and Controls Programmation du temps 3 - 77 G93 Effet La commande interprète les mots F- (pour la description, reportez- vous au chapitre “Fonctions auxiliaires et complémentaires“) en tant que durée d’usinage en secondes pour la trajectoire programmée (durée de bloc). Ce qui suit s’applique: D Les fonctions G93, G94 et G95 sont des fonctions modales qui se révoquent mutuellement. . L’état de mise en service voulu (G93, G94 ou G95) peut être défini dans les paramètres machine (par défaut: G94) Programmation Syntaxe: G93 Commuter à la programmation de temps. Exemple: N5 G93 G1 X30 Y20 F20 : L’interpolation linéaire programmée dure 20 secondes. Particularités et restrictions: D Une valeur F programmée durant G93 reste enregistrée en interne en cas de commutation sur G94 ou G95 et est réactivée en cas de nouvelle sélection de G93. D Après l’accélération ou la position initiale la mot F défini dans les paramètres machine est actif (par défaut: F0) D La commande calcule en interne l’avance nécessaire à partir de la longueur de course du bloc de déplacement respectif et du temps d’usinage programmé. L’avance finalement active peut cependant être limitée par la commande en fonction de la trajectoire programmée et des valeurs maximales des axes intéressés, de façon à ce que la durée du bloc augmente. D L’atténuateur d’avance reste également actif sous G93, en dépendance de la fonction OvrEna / OvrDis. 3 - 78 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.42 IndraMotion MTX R911311170 / 01 G94 Programmation de l’avance (par min.) G94 Effet La commande interprète les mots F (pour la description, reportez - vous à la page 3 - 106) ou les mots Omega (reportez- vous à la page 3 - 107) en tant qu’avance pour une trajectoire programmée. On notera ici que D Les fonctions G93, G94 et G95 sont des fonctions modales qui se révoquent mutuellement. D L’avance programmée est interprétée D en tant que mm/min pour G71 actif D en tant que pouce/min pour G70 actif D en tant que degré/min en liaison avec les axes ronds. . Les paramètres machine permettent de régler le calibrage de l’avance pour G70/G71. . L’état de mise en service voulu (G93, G94 ou G95) peut être défini dans les paramètres machine (par défaut: G94) Programmation Syntaxe: G94 Commuter sur programmation d’avance. Exemple: N10 G71 N20 G1 G94 X20 Y30 F200 N30 G4(F40) N40 G70 N60 X300 Y400 N70 F100 : Programmation métrique ON. Déplacement avec une avance de 200 mm/min. Temporisation 40 secondes. Programmation en pouce ON. L’avance F200 (en mm/min) est à nouveau active. Nouvelle valeur d’avance: 100 pouce/ min. Particularités et restrictions: D Une valeur F ou Omega programmée durant G94 reste enregistrée en interne en cas de commutation sur G93 ou G95 et est réactivée en cas de nouvelle sélection de G94. D Après l’accélération ou la position initiale la mot F défini dans les paramètres machine est actif (par défaut: F0) La valeur Omega est toujours initialisée automatiquement sur “0” après la mise en route. D L’avance efficace peut être limitée par la commande à cause des vitesses maximales configurées des axes intéressés. D L’avance est influencée par l’atténuateur d’avance en fonction de OvrEna / OvrDis. R911311170 / 01 IndraMotion MTX Codes G G94(...) 3.2.43 Electric Drives Bosch Rexroth AG and Controls Programmation incrémentale de la vitesse avec adaptation de l’accélération 3 - 79 G94(...) Effet Modifie l’avance ou la vitesse de rotation de façon relative par rapport à la dernière valeur active. Dans ce cas, l’accélération à l’intérieur du bloc G94(...) est adaptée de façon à ce que la vitesse résultante ne puisse être atteinte qu’en fin de bloc. Ceci entraîne un comportement d’accélération très souple. Ce qui suit s’applique: D La fonction G94 est modale, l’avance résultante n’est par contre pas modale pour les blocs suivants. D L’unité de l’avance incrémentale est selon G70/G71 pouce/min ou mm/min. D L’avance est influencée par l’atténuateur d’avance en fonction de OvrEna / OvrDis. Programmation Syntaxe: G94(DF<F-Wert>) Programmation incrémentale de la vitesse de la trajectoire G94(DS1<S-Valeur>) Programmer la vitesse de rotation de la broche pour la broche1 G94(DF<F-Valeur>,DS7<S-Valeur>) Programmer la vitesse de la trajectoire et de la rotation de la broche pour la broche 7 de façon incrémentale avec <F-Valeur>: <S-Valeur>: Vitesse incrémentale de la trajectoire. Les valeurs positives augmentent et les valeurs négatives diminuent la vitesse de trajectoire actuellement efficace. Vitesse de rotation incrémentale de la broche. Les valeurs positives augmentent et les valeurs négatives diminuent la vitesse de rotation de la broche actuellement efficace. 3 - 80 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G94(...) Exemple: Augmenter l’avance sur trajectoire linéaire de 100 mm/min avant la fin du bloc. N50 G94(DF-50) X300 Y200 Diminuer l’avance sur trajectoire : linéaire de 50 mm/min avant la fin du bloc. N70 G94(DS1=100) X25 Y30 Augmenter la vitesse de rotation de : la broche 1 de 100 t/min avant la fin du bloc. N90 G94(DF100,DS7=150) X2 Y2 Augmenter la vitesse sur la trajec: toire linéaire de 100 mm/min et la vitesse de rotation de la broche 2 de 150 t/min avant la fin du bloc. N30 G94(DF100) X250 Y300 : Particularités et restrictions: D Les valeurs limites existantes pour l’accélération ou la décélération sont surveillées. De ce fait, la vitesse finale qui en résulte ne peut éventuellement être atteinte que dans le prochain bloc. D L’accélération calculée n’agit que dans le bloc G94(...). En cas d’interruption de bloc la décélération est effectuée à l’accélération calculée. D L’avance absolue et incrémentale ne doivent pas être programmées simultanément dans un bloc. R911311170 / 01 IndraMotion MTX Codes G G95 3.2.44 Electric Drives Bosch Rexroth AG and Controls Programmation de l’avance (par rotation) 3 - 81 G95 Effet La commande interprète les mots F-(se reporter à la page 3 - 106) en tant qu’avance/rotation. Ceci est indispensable en liaison avec la broche principale. On notera ici que D Les fonctions G93, G94 et G95 sont des fonctions modales qui se révoquent mutuellement. D L’avance programmée est interprétée D en tant que mm/tours pour G71 actif D en tant que pouce/tours pour G70 actif . Les paramètres machine permettent de régler le calibrage de l’avance pour G70/G71. . L’état de mise en service voulu (G93, G94 ou G95) peut être défini dans les paramètres machine (par défaut: G94) . Concernant la définition de la broche principale, se reporter à MP 7020 00010 ou à la fonction “MainSp“. Programmation Syntaxe: G95 Commuter sur programmation d’avance rotative. Exemple: N05 G71 N10 S200 M4 N20 G1 G95 X20 Z30 F0.2 N30 G4(S20) N40 G70 N60 X300 Z40 N70 F0.1 : Programmation métrique ON. Vitesse de rotation de la broche 2000 t/ min, vers la gauche. Déplacement avec une avance de 0,2 mm/t. Temporisation 20 tours. Programmation en pouce ON. L’avance F0,2 (en mm/t) est à nouveau active. Nouvelle avance 0,1 pouces/t. Particularités et restrictions: D G95 suppose une broche principale en rotation. D L’avance efficace est influencée d’une part par le potentiomètre de la broche, d’autre part par le potentiomètre d’avance. D L’avance efficace peut être limitée par la commande à cause des vitesses maximales configurées des axes intéressés. D Une valeur F programmée durant G95 reste conservée en interne en cas de commutation sur G93 ou G94 et est réactivée en cas de nouvelle sélection de G95. D Après l’accélération ou la position initiale la mot F défini dans les paramètres machine est actif (par défaut: F0) 3 - 82 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.45 G96 IndraMotion MTX R911311170 / 01 G97 Vitesse de coupe constante Programmation directe de la vitesse de rotation G96 G97 Effet La commande interprète les mots S lors de l’usinage rotatif en tant que D vitesse de coupe de consigne de l’outil (G96) ou D vitesse de rotation de l’axe de rotation de la pièce à usiner (G97). La vitesse de coupe dépend en cas de vitesse de rotation de la broche définie de la distance de l’outil de coupe par rapport à l’axe de rotation de la pièce à usiner. Pour compenser cet état des faits, la fonction G96 modifie en fonction de la distance entre l’outil de coupe et l’axe de rotation de la pièce à usiner automatiquement la vitesse de rotation de l’axe de rotation: D pour G71: S act[min *1] + 2 p S G96 ƪm 1000 Ť Position(coordonnées, système_de_référence) * correctiondȀoutil Ť min D pour G70: ƪminfeet 12 inch ƫ 1000 mm ƫ En mode standard la CN calcule la distance dans le système de coordonnées machine (système de référence MCS): Axe X Point d’origine machine MCS Position G96 R911311170 / 01 IndraMotion MTX Codes G G96 Electric Drives Bosch Rexroth AG and Controls 3 - 83 G97 Lorsque la broche doit être positionnée entre différents points de logements d’outils, G96 peut tenir compte des décalages de point d’origine correspondants, qui sous- tendent un système de coordonnées locales (système de référence LCS): MCS+NPV1 MCS+NPV2 Axe X Position G96 Position G96 Point d’origine machine MCS Pour les outils que ne sont pas disposés parallèlement à la broche, des décalages et rotations (placements) du point d’origine de la pièce à usiner peuvent être pris en compte également (système de référence PCS): MCS+NPV+PMT Axe Y Position G96 Axe X Point d’origine machine MCS La vitesse de coupe sur la pièce à usiner n’est donc plus influencée par la distance entre l’outil de coupe et l’axe de rotation de la pièce à usiner. Si ce comportement n’est pas nécessaire ou désiré, il faut utiliser la fonction G97. La vitesse de rotation de l’axe de rotation de la pièce à usiner est alors définie uniquement par le mot S programmé. Ce qui suit s’applique: D L’axe de référence pour la distance entre la pointe de coupe et l’axe de rotation de la pièce à usiner est défini à l’aide du paramètre machine 7010 00110 (valeur par défaut). D Cet axe de référence peut être reprogrammé pour l’exécution. 3 - 84 Bosch Rexroth AG Electric Drives and Controls Codes G G96 IndraMotion MTX R911311170 / 01 G97 D Le système de coordonnées de référence (point d’action) pour l’axe de référence est prédéfini par le paramètre machine 7010 00120. Au choix: D PCS: Position dans le système de coordonnées programme D LCS: Position dans le système de coordonnées machine local. (décalé du NPV) D MCS: Position dans le système de coordonnées machine (par défaut). D Le point d’action de l’axe de référence peut être reprogrammé pour l’exécution. D La vitesse de coupe programmée est interprétée en tant que D m/min pour G71 actif D pieds/min pour G70 actif (1 pied = 12 pouces). D En dehors de l’atténuation de la broche les fonctions pour la limitation de la vitesse de rotation (SMin, SMax; se reporter à la page 4 - 134) sont également actives. Programmation Syntaxe: G96{({<Axe de référence>{,<Point d’action>}})} ... S<i>=<V> Les mots S de broches programmées dans le bloc G96 sont interprétées lors de l’usinage rotatif en tant que vitesse de coupe de consigne sur l’outil. Toutes les autres broches retombent à la programmation de vitesse de rotation directe! G96 G96() ... Les derniers réglages programmés deviennent actifs; si aucun réglage n’a été effectué, les valeurs par défaut sont actives. Les valeurs par défaut pour l’axe de référence et le point d’action sont réactivés. G97 ... S<i>=<Vitesse de rota- Seules les broches dont les mots S sont tion> programmés dans le bloc G97 retom- bent à la programmation directe de la vitesse de rotation. Les mots S programmés sont interprétés pour ces broches en tant que vitesse de rotation de l’axe de rotation de la pièce à usiner. G97 Toutes les broches retombent à la programmation de vitesse de rotation directe. R911311170 / 01 IndraMotion MTX Codes G G96 Electric Drives Bosch Rexroth AG and Controls 3 - 85 G97 avec <Axe de référence> Nom logique ou physique de l’axe de référence. La programmation est conservée jusqu’à ce qu’une nouvelle valeur ou la valeur par défaut soient activées. <point d’action> Système de coordonnées de l’axe de référence: PCS, LCS ou MCS La programmation est conservée jusqu’à ce qu’une nouvelle valeur ou la valeur par défaut soient activées. <i> Index de broches. 1: première broche; 2: deuxième broche, etc... <V> Vitesse de coupe de la broche significative en m/min ou pieds/min. <Vitesse de rotation> Vitesse de rotation de la broche significative en t/min. Exemple (2 broches sont configurées dans le système): Définir pour la première fois les vitesses de rotation de consigne des deux broches dans le programme. Activer G96 pour la 1ère broche avec une N60 G96 S1=50 vitesse de coupe de 50 m/min. : La 2ème broche tourne encore à program: mation de vitesse de rotation. G96 est actif. : Diminuer la vitesse de coupe de la 1ère broN100 S1=30 che à 30 m/min. : La 2ème broche tourne encore à program: mation de vitesse de rotation. G96 est actif. : N140 G96(Y,LCS) S2=100 L’axe de référence est Y, le point d’action le système de coordonnées local LCS. : Activer une vitesse de coupe de 100 m/min : pour la 2ème broche. : La 1ère broche retombe à la programmation : de vitesse de rotation. G96 est actif. : N180 G97 Toutes les broches retombent – si ce n’est : déjà fait - à la programmation de vitesse de : rotation directe. G97 est actif. N10 G71 S1=500 S2=500 : Particularités et restrictions: D Dans un même bloc plusieurs broches peuvent être commutées ensembles en programmant les mots S correspondants les uns après les autres (exemple: G96 S1=100 S2=1000). D Pour modifier la vitesse de coupe d’une broche déjà commutée sur G96 lors de l’écoulement du programme, il suffit de reprogrammer le mot S de la broche correspondante. D La vitesse de coupe actuellement active d’une broche reste enregistrée en interne après la commutation sur G97. Elle redevient active dès que l’on “repasse“ la broche correspondante sur G96. 3 - 86 Bosch Rexroth AG Electric Drives and Controls Codes G G96 IndraMotion MTX R911311170 / 01 G97 D Lors de la commutation de G96 à G97, la commande reprend pour toutes les broches dont le mot S n’est pas programmé dans le bloc G97 la vitesse de rotation actuelle en tant que nouvelle vitesse de rotation de consigne. D Un changement de rapport de réduction éventuellement voulu doit être réalisé avant l’activation de G96. D Lorsque G96 est actif la fonction “Commutation automatique des rapports de réduction” ne commute pas à un autre rapport de réduction. D Lorsque G96 est actif la commande vérifie s’il existe une “prise“ de l’axe de référence sur le point d’action actif. Si cela n’est pas le cas (par exemple si l’axe quitte le canal), une erreur d’exécution est signalée. R911311170 / 01 IndraMotion MTX Codes G G140, G141, G142 3.2.46 Electric Drives Bosch Rexroth AG and Controls 3-D Correction du rayon d’outil 3 - 87 G140, G141, G142 Effet La fonction déplace un outil à symétrie de rotation à gauche ou à droite de la trajectoire programmée et guide ce faisant son point d’intervention dans l’avance active sur la trajectoire programmée. Lors d’un mouvement d’orientation pur, la position actuelle du point d’intervention reste fixe et le TCP se déplace. Sur les angles extérieurs le parcours de la trajectoire est fermé par un bloc intermédiaire généré automatiquement (arc de cercle). Sur les angles intérieurs est réalisé un calcul de point d’intersection. Pour la correction la commande tient compte D du rayon d’outil r (est enregistré automatiquement à partir des données d’outil actives D, G146 à G846 ou G147 à G847). D de la profondeur de plongée d (se reporter à la syntaxe INSDEP) D d’un comble optimal par rapport à la trajectoire, qui est actif de façon additionnelle au rayon d’outil (se reporter à la syntaxe COFFS). Le schéma suivant illustre le principe appliqué: Correction Vecteur d’orientation à droite de la trajectoire programmée Trajectoire TCP à droite de la trajectoire programmée Trajectoire r PE d TCP G142 Pièce à usiner TCP: PE : Pointe de l’outil Point d’intervention de l’outil r: d: Rayon de l’outil G141 = Direction de l’avance = trajectoire programmée Profondeur de plongée Les modification de la profondeur de plongée (INSDEP), du comble (COFFS), de la longueur d’outil ou du rayon de fraisage sont effectuées immédiatement et progressivement (par splines) lorsque G141/G142 est actif. . Pour plus d’informations en détail sur la fonction voir Manuel ”Description des fonctions”. ATTENTION Les valeurs de correction sont, le cas échéant, entrées ou sorties immédiatement sans programmation d’un mouvement de déplacement séparé. Ceci peut entraîner un endommagement de la pièce à usiner ou de l’outil. Respectez en conséquence toutes les informations fournies dans le présent chapitre et dans le manuel “Description des fonctions“. 3 - 88 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G140, G141, G142 Programmation Syntaxe: G140 3-D Correction de rayon d’outil OFF (État de mise en service après montée en régime de la commande). La correction (rayon, profondeur de plongée) est dissipée en interpolation par un éventuel mouvement de déplacement programmé (via les splines de 3ème niveau). G140 n’a aucune influence sur une correction active de la longueur d’outil. G141 3-D Correction du rayon d’outil à gauche de la trajectoire ON (vu dans le sens de la direction d’usinage avec des valeurs de correction positives). Les mouvements de déplacement ou d’orientation peuvent être programmés dans le même bloc. Le rayon et la profondeur de plongée sont effectuées, si l’une des coordonnées tridimensionnelles actives est programmée dans le même bloc. Dans la cas contraire, la commande effectue la modification D lors du prochain bloc de déplacement, si G140 était active préalablement. D immédiatement (en avance active), si G141/G142 était active préalablement. G142 3-D Correction du rayon d’outil à droite de la trajectoire ON. Voir, pour le reste G141. INSDEP<ET> Définit la profondeur de plongée <ET>. Est une fonction modale. État de mise en service après montée en régime de la commande: 0 COFFS<KA> Définit le comble <KA>. Est une fonction modale et additionnelle au rayon d’outil r. État de mise en service après montée en régime de la commande: 0 Particularités et restrictions: D Les fonctions G140, G141 et G142 sont des fonctions modales qui se révoquent mutuellement. D Début et fin de la correction sur un contour indifférent (G2, G6 etc...). D Si G141 ou G142 sont actives, les fonctions suivantes sont interdites : - G17 ... G20 (Commutation de plans) - G70, G71 (Commutation pouce/métrique-) - G63 (Taraudage sans mandrin de compensation) - G74 (Approche des coordonnées du point de référence) - G75 (Activation de l’entrée du palpeur de mesure) - G76 (Approche de la position fixe des axes machine) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Codes G G140, G141, G142 - 3 - 89 SetPos (Initialiser la position de programme) G54.x ... G59.x (Décalage du point d’origine) G154.x ... G159.x (Plan incliné) G40 ... G42 (Correction du rayon d’outil) Coord() (Transformation d’axe on/off/commutation) Transfert d’axe d’axes qui sont intéressés via la transformation d’axe/de coordonnées au coordonnées tridimensionnelles actuelles. D Aucun contrôle de collision n’est effectué si G141 et G142 sont actives. D Si le programme se termine sans M30, G140 doit être active à ce moment précis. Les valeurs actuelles pour la profondeur de plongée et le comble sont conservées. D G140 est activée automatiquement après position initiale, position initiale du système ou M30. Les valeurs actuelles pour la profondeur de plongée et le comble sont initialisées à 0. 3 - 90 Bosch Rexroth AG Electric Drives and Controls Codes G 3.2.47 IndraMotion MTX R911311170 / 01 G152 - G159.5 Placement: Plan incliné G152 - G159.5 Effet Le placement “Plan incliné“ peut déplacer et orienter le système de coordonnées de la pièce à usiner à discrétion dans l’espace. Le plan incliné a un effet sur les coordonnées avec les significations “x“, “y“ et “z“ dans le canal correspondant. Comme il existe 3 degrés de liberté pour l’orientation, chaque orientation peut être représentée par 3 rotations de base successives: 1. Rotation de base +ZB +ZW = +ZB +YB 2. Rotation de base +ZW 3. Rotation de base ϑ (thêta) +Z’W +YB +Z’’W = +Z’W +Y’W=+YW +YW +Y’W - ψ (psi) +XB BCS +XB - ϕ (phi) WCS WCS WCS +XW +Y’’W +XW +X’W +X’’W Rotation du système Rotation du système Système de de coordonnées de coordonnées coordonnées de autour de la autour de la base coordonnée ZB et de coordonnée Y’W(=YW) de la pièce à l’angle Phi et de l’angle Theta usiner +Z’’W Le système de coordonnées de base résultant (WCS), décalé de la distance DX, DY, DZ et orienté des angles phi, thêta et psi décrits ci - dessus par rapport au BSC. +X’W Rotation du système de coordonnées autour de la coordonnée Z’’W(=Z’W) et de l’angle psi WCS +Y’’W +ZM +YM DZ +X’’W DY BCS +XM Machine DX BCS = Système de coordonnées de base de la pièce à usiner, WCS = Système de coordonnées de la pièce à usiner La fonctionnalité résultante “Plan incliné“ est influencée par D 5 banques (1 à 5) qui agissent de façon additionnelle les uns par rapport aux autres. R911311170 / 01 IndraMotion MTX Codes G G152 - G159.5 Electric Drives Bosch Rexroth AG and Controls 3 - 91 Elles permettent de générer jusqu’à 5 systèmes de coordonnées de pièce à usiner reposant les uns sur les autres. D 7 sets alternatifs par banque. Chaque set contient toutes les données de décalage et d’orientation nécessaires pour un système de coordonnées de pièce à usiner. A l’intérieur d’une banque un seul set peut être actif à un moment donné, c’est- à - dire que les sets d’une banque se révoquent mutuellement. Le plan incliné agit de façon additionnelle au placement “Correction de la position de la pièce à usiner“ et se situe donc dans la “chaîne de calcul“ après la correction de position de pièce à usiner. de tous les axes participant à l’interpolation: +ZW2 +ZW1 +ZB +YB WCS1 WCS2 +YW1 +YW2 WCSn +XW2 +XW1 BCS +XB BCS: Système de coordonnées de base de la pièce à usiner WCS1:Système de coordonnées de la pièce à usiner, généré par ”correction de la position de la pièce à usiner” WCS2:Système de coordonnées de la pièce à usiner, basé sur WCS1 et généré par le « plan incliné » WCSn:Système de coordonnées de la pièce à usiner, basé sur WCS (n - 1) et généré par le « plan incliné ». Ce faisant s’applique : n = 2...6 Programmation ... Toutes les données nécessaires au décalage et à l’orientation d’un système de coordonnées de pièce à usiner possèdent un “Set“. Les sets peuvent soit D être programmés directement dans le programme pièces en tant que paramètres de fonction, soit D être indiqués dans une table de placement (voir page 4 - 99). Une table de placement peut contenir jusqu’à 30 sets (5 banques, 6 sets par banque). 3 - 92 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G152 - G159.5 ... Directement dans la ligne de programmation en tant que paramètre: Syntaxe: G152.<Banque>({<XW -Offset>}{, {<YW -Offset>}{,{<ZW -Offset>}{, {<Angle1>}{,{<Angle2>}{, {<Angle3>}}}}}}) Plan incliné de la banque voulue MARCHE, avec des données de décalage/d’orientation. Abréviation: G152 correspond à G152.1 G153.<Rapport> Plan incliné de la banque programmée OFF. Plan incliné OFF (désactiver toutes les banques). G153 avec <Banque>: Numéro de la banque voulue. Plage: 1 à 5 <XW -Offset>: Valeur de décalage dans la direction de la coordonnée principale <YW -Offset>: Valeur de décalage dans la direction de la coordonnée secondaire <ZW -Offset>: Valeur de décalage dans la direction de la coordonnée normale <Angle1>: Angle de rotation autour de la coordonnée Z. Plage de valeurs:0 ≤ <Angle1> < 360 degrés <Angle2>: Angle de rotation autour de la nouvelle coordonnée Y’. Plage de valeurs:0 ≤ <Angle2> < 180 degrés <Angle3>: Angle de rotation autour de la nouvelle coordonnée Z’’. Plage de valeurs:0 ≤ <Angle3> < 360 degrés Exemple: : N40 G152.1(100,0,0,90) : : : : : N180 G153 Plan incliné banque 1 ON. Pas de mouvement de déplacement. Le point d’origine est décalé de 100 mm en direction de X et le WCS tourné de 90 degré autour de la coordonnée Z. Désactiver toutes les banques (désactiver complètement le plan incliné). R911311170 / 01 IndraMotion MTX Codes G G152 - G159.5 Electric Drives Bosch Rexroth AG and Controls 3 - 93 ... En liaison avec les tables de placement: 1. Activez la table de placement voulue (voir page 4 - 99). 2. Programmez la fonction nécessaire: Syntaxe: G154.<Banque> Plan incliné de la banque banque set 1 ON. Plan incliné de la banque banque set 2 ON. Plan incliné de la banque banque set 3 ON. Plan incliné de la banque banque set 4 ON. Plan incliné de la banque banque set 5 ON. Plan incliné de la banque banque set 6 ON. G155.<Banque> G156.<Banque> G157.<Banque> G158.<Banque> G159.<Banque> Abréviation: G152 - G159 correspond à G154.1 - G159.1 G153.<Banque> Plan incliné de la banque programmée OFF. Plan incliné OFF (désactiver toutes les banques). G153 avec <Banque>: . Numéro de la banque voulue. Plage: 1 à 5 Pour l’édition ou la constitution des tables de placement veuillez consulter le guide de l’opérateur. Exemple: N40 PMS(Tab1) N50 G154.1 : N90 G154.2 X1 Y2 Z3 : : N120 G153.2 : N180 G153 Activer la table de placement “Tab1“. Activer la banque 1 avec le set 1. Pas de mouvement de déplacement. Activer la banque 2 avec le set 1 (agît de façon additionnelle à la banque 1). Approcher la position programmée P(1,2,3) dans la WCS résultant. Désactiver la banque 2 (la banque 1 reste active). Désactiver toutes les banques (désactiver complètement le plan incliné). 3 - 94 Bosch Rexroth AG Electric Drives and Controls Codes G IndraMotion MTX R911311170 / 01 G152 - G159.5 Particularités et restrictions: D Dans la mesure où une transformation d’axe est active, le plan incliné ne doit pas être programmé dans un même bloc avec un déplacement. D L’état de mise sous tension et le comportement en position initiale sont configurés dans les paramètres machine 7060 00010 et 7060 00020. D Toutes les fonctions sont modales à l’intérieur de chaque banque (1...5) et se révoquent réciproquement. D L’activation et la désactivation du plan incliné interrompent la prévisualisation de blocs et ne doivent pour cette raison pas être programmées lors de la correction de la trajectoire de la fraise (G41/G42, voir page 3 - 41). R911311170 / 01 IndraMotion MTX Codes M M0, M00 Electric Drives Bosch Rexroth AG and Controls 3 - 95 M1, M01 3.3 Codes M 3.3.1 Interrompre le programme (Programme CN) M0, M00 Effet D Interrompt le programme CN, D arrête le mouvement machine suite à l’exécution du bloc D et édite le signal d’interface dépendant du canal “Arrêt programme M0“. L’état actuel du canal passe sur “CN prête“. Une nouvelle activation de “Démarrage CN“ reprend l’exécution du programme. . Pour interrompre un programme en fonction du signal d’interface lié au canal “Arrêt optionnel“, se reporter à M1/M01. Programmation Syntaxe: M0 ou M00 Particularités et restrictions: D Il est possible de programmer “Arrêt de programme“ avec d’autres fonctions CN dans le même bloc. La fonction “Arrêt de programme“ prend effet après exécution de toutes les autres fonctions programmées. 3.3.2 Interruption conditionnelle du programme (Arrêt cond progr.) M1, M01 Effet D Interrompt le programme CN et 3 - 96 Bosch Rexroth AG Electric Drives and Controls Codes M IndraMotion MTX R911311170 / 01 M2, M02, M30 D arrête le mouvement de la machine après exécution du bloc, si le signal d’interface lié au canal “Arrêt optionnel“ est actif. L’état actuel du canal passe sur “CN prête“. Une nouvelle activation de “Démarrage CN“ reprend l’exécution du programme. Programmation Syntaxe: M1 ou M01 Particularités et restrictions: D Il est possible de programmer “Arrêt de programme conditionnel“ avec d’autres fonctions CN dans le même bloc. La fonction “Arrêt de programme conditionnel“ prend effet après exécution de toutes les autres fonctions programmées. 3.3.3 Terminer programme (Fin de programme) M2, M02, M30 Effet Termine un programme. Si ce programme est un sous - programme, D la CN édite une fonction auxiliaire (M2, M02 ou M30), D resaute dans le programme appelant, et D continue à effectuer le programme appelant. . Ce faisant, les états modaux modifiés dans le sous- programme ne sont pas remis à zéro! Si ce programme est un programme principal, D la CN initialise le signal d’interface lié au canal “Fin de programme M30”, D retire le signal d’interface dépendant du canal “Programme en cours“, D désélectionne la “Sélection automatique du rapport de réduction” éventuellement active (le rapport de réduction actuel est par contre conservé) D commute sur “Programmation directe de la vitesse de rotation“ (G97), D active tous les états qui sont définis dans le paramètre machine 7060 00020 “États de mise sous tension“ pour un évènement “M30“. D saute au début du programme principal et D attend un nouveau “Démarrage CN“. Une nouvelle activation de “Démarrage CN“ redémarre l’exécution du programme à partir du début. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Codes M M3, M103, M203 3 - 97 M13, M113, M213 Programmation Syntaxe: M2 ou M02 ou M30 Particularités et restrictions: D Programmez la fonction dans une ligne de programmation séparée. ATTENTION L’absence de définition pour des états de mise sous tension peut entraîner des dommages! Si certains états ou certaines fonctions sont nécessaires après avoir mis fin au programme principal, il faut s’assurer que l’initstring de l’évènement “M30“ est paramétré correctement dans MP 7060 00020! Il doit contenir toutes les fonctions qui mettront la CN dans l’état nécessaire/désiré après une fin de programme principal. Dans ce contexte, tenez compte du fait que les fonctions modales restent actives après le fin du programme! . 3.3.4 Pour des informations complémentaires sur les états de mise sous tension, reportez vous au manuel “Description des fonctions“. Broche rotation à droite M3, M103, M203 Broche rotation à droite et réfrigérant MARCHE M13, M113, M213 ATTENTION La syntaxe décrite n’est valide que pour les réglages par défaut des domaines de paramètres machine 1040 001xx et 1040 002xx. Elle est configurable librement et peut donc être différente sur votre machine! La documentation du constructeur de la machine outil est par conséquent toujours celle qui est prioritaire. Consulter votre responsable système pour savoir si les fonctions décrites ci - après sont également valables pour votre machine! Effet D Démarre une broche en rotation à droite– par rapport à la direction “Outil vers pièce“. D Annule un asservissement de positionnement activé par “Réglage/ positionnement de la broche“. D Réserve la/les broche(s) correspondante(s) pour le canal actuel. . Le mouvement de broche ne démarre que lorsque un mot Sou SSPG supérieur à 0 a été programmé préalablement ou dans le même bloc pour la broche/le groupe de broches significatif (voir page 3 - 108). 3 - 98 Bosch Rexroth AG Electric Drives and Controls Codes M M4, M104, M204 IndraMotion MTX R911311170 / 01 M14, M114, M214 Programmation Syntaxe: M3 M103 M203 Agît sur le 1er groupe de broches. Agît sur la 1ère broche. Agît sur la 2ème broche. M13 Agît sur le 1er groupe de broches. Effectue également Réfrigérant ON. Agît sur la 1ère broche. Effectue également Réfrigérant ON. Agît sur la 2ème broche. Effectue également Réfrigérant ON. M113 M213 Particularités et restrictions: D La fonction respective réserve automatiquement la/les broche(s) correspondante(s) pour le canal actuel. L’utilisation de broche(s) réservée(s) par un autre canal n’est à nouveau possible que si la fonction “Broche Arrêt“ (voir page 3 - 100) ou “SpAdmin“ (SPA, voir page 4 - 136) est utilisée pour la/les broche(s) correspondante(s). D La fonction correspondante est active jusqu’à ce qu’un nouvel état de mouvement soit programmé pour la/les même(s) broche(s) ‘par exemple un sens de rotation différent, avec ou sans réfrigérant, “Broche arrêt“ ou “Réglage de broche“). D Les ordres concurrentiels pour les broches individuelles et les groupes de broches programmés dans un même bloc génèrent une erreur d’exécution (Exemple: M3 et M104 ne sont pas admises dans le même bloc). D Après un changement de rapport de réduction la direction de rotation préalablement programmée de la broche est réappliquée automatiquement. 3.3.5 Broche rotation à gauche Broche rotation à gauche et réfrigérant ON M4, M104, M204 M14, M114, M214 ATTENTION La syntaxe décrite n’est valide que pour les réglages par défaut des domaines de paramètres machine 1040 001xx et 1040 002xx. Elle est configurable librement et peut donc être différente sur votre machine! La documentation du constructeur de la machine outil est par conséquent toujours celle qui est prioritaire. Consulter votre responsable système pour savoir si les fonctions décrites ci - après sont également valables pour votre machine! Effet D Démarre une broche en rotation à gauche– par rapport à la direction “Outil vers pièce“. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Codes M M4, M104, M204 3 - 99 M14, M114, M214 D Annule un asservissement de positionnement activé par “Réglage/ positionnement de la broche“. D Réserve la/les broche(s) correspondante(s) pour le canal actuel. . Le mouvement de broche ne démarre que lorsque un mot S ou SSPG supérieur à 0 a été programmé préalablement ou dans le même bloc pour la broche/le groupe de broches significatif (voir page 3 - 108). Programmation Syntaxe: M4 M104 M204 Agît sur le 1er groupe de broches. Agît sur la 1ère broche. Agît sur la 2ème broche. M14 Agît sur le 1er groupe de broches. Effectue également Réfrigérant ON. Agît sur la 1ère broche. Effectue également Réfrigérant ON. Agît sur la 2ème broche. Effectue également Réfrigérant ON. M114 M214 Particularités et restrictions: D La fonction respective réserve automatiquement la/les broche(s) correspondante(s) pour le canal actuel. L’utilisation de broche(s) réservée(s) par un autre canal n’est à nouveau possible que si la fonction “Broche Arrêt“ (voir page 3 - 100) ou “SpAdmin“ (SPA, voir page 4 - 136) est utilisée pour la/les broche(s) correspondante(s). D La fonction correspondante est active jusqu’à ce qu’un nouvel état de mouvement soit programmé pour la/les même(s) broche(s) ‘par exemple un sens de rotation différent, avec ou sans réfrigérant, “Broche arrêt“ ou “Réglage de broche). D Les ordres concurrentiels pour les broches individuelles et les groupes de broches programmés dans un même bloc génèrent une erreur d’exécution (Exemple: M3 et M104 ne sont pas admises dans le même bloc). D Après un changement de rapport de réduction la direction de rotation préalablement programmée de la broche est réappliquée automatiquement. 3 - 100 Bosch Rexroth AG Electric Drives and Controls Codes M 3.3.6 IndraMotion MTX R911311170 / 01 M5, M105, M205 Broche arrêt M5, M105, M205 ATTENTION La syntaxe décrite n’est valide que pour les réglages par défaut des domaines de paramètres machine 1040 001xx et 1040 002xx. Elle est configurable librement et peut donc être différente sur votre machine! La documentation du constructeur de la machine outil est par conséquent toujours celle qui est prioritaire. Consulter votre responsable système si vous n’êtes pas sûr que les fonctions décrites ci - après sont également valables pour votre machine! Effet D Arrête la/les broche(s). D Annule une éventuelle réservation de la/des broche(s) indiquée(s) par le canal actif. D Annule un asservissement de positionnement activé par “Réglage/ positionnement de la broche“. Programmation Syntaxe: M5 Agît sur le 1er groupe de broches. M105 Agît sur la 1ère broche. M205 Agît sur la 2ème broche. Particularités et restrictions: D La fonction correspondante est active jusqu’à ce qu’un nouvel état de mouvement soit programmé pour la/les même(s) broche(s) (par exemple “Broche rotation à gauche/droite“ ou “Réglage de broche“). D Les ordres concurrentiels pour les broches individuelles et les groupes de broches programmés dans un même bloc génèrent une erreur d’exécution (Exemple: M3 et M105 ne sont pas admises dans le même bloc). R911311170 / 01 IndraMotion MTX Codes M M19, M119, M219 3.3.7 Electric Drives Bosch Rexroth AG and Controls Réglage de la broche / Positionnement de la broche M219 3 - 101 M19, M119, ATTENTION La syntaxe décrite n’est valide que pour les réglages par défaut des domaines de paramètres machine 1040 001xx et 1040 002xx. Elle est configurable librement et peut donc être différente sur votre machine! La documentation du constructeur de la machine outil est par conséquent toujours celle qui est prioritaire. Consulter votre responsable système si vous n’êtes pas sûr que les fonctions décrites ci - après sont également valables pour votre machine! Effet La broche est réservée pour le canal actuel et positionnée en asservissement de positionnement sur une position définissable. La positionnement s’effectue D à l’arrêt : comme défini dans le paramètre S-0-0154 de l’entraînement D Lors d’un mouvement rotatif actif: en conservant le sens de rotation. Programmation Syntaxe: M19 Groupe de broches 1: Positionner toutes les broches intéressées sur leurs angles de référence (paramètre d‘entraînement S-0-0153). M119 1. Positionner la 2ème broche sur son angle de référence (S-0-0153). M219 2. Positionner la 2ème broche sur son angle de référence (S-0-0153). M19 S<Angle> Groupe de broches 1: Positionner toutes les broches intéressées sur <Angle>. M119 S1=<Angle> 1. Positionner la 2ème broche sur <Angle>. M219 S2=<Angle> 2. Positionner la 2ème broche sur <Angle>. <Angle> Position de broche absolue désirée en degré. Plage: 0_≤ Position de la broche < 360_. Si pour une autre valeur est programmée en tant que position, elle est automatiquement convertie en l’intervalle indiqué. Si la broche se trouve déjà dans la position indiquée, un nouveau mouvement n’aura pas lieu. 3 - 102 Bosch Rexroth AG Electric Drives and Controls Codes M IndraMotion MTX R911311170 / 01 M19, M119, M219 Particularités et restrictions: D La fonction respective ne doit pas être programmée avec une fonction de broche concurrentielle (“Broche rotation à droite/gauche“, “Broche arrêt“) dans le même bloc. D Dans la mesure où le mot S est indispensable il doit être programmé dans le même bloc. D Après le processus de positionnement la broche conserve l’asservissement de positionnement. L’asservissement de positionnement n’est annulé automatiquement que par “Broche à droite/gauche“ ou “Broche arrêt“. D Les ordres concurrentiels pour les broches individuelles et les groupes de broches programmés dans un même bloc génèrent une erreur d’exécution (Exemple: M3 et M119 ne sont pas admises dans le même bloc). Exemples: N60 : N70 : N80 : N90 : N95 : M19 M219 M19 S180 M119 S1=370 M19 S1=10 S2=20 Toutes les broches du groupe de broches 1 se positionnent sur leur angle de référence. Seule la broche 2 se positionne sur son angle de référence. Toutes les broches du groupe de broches 1 se positionnent sur 180 degré. 1. Broche positionnée sur 10 degré. Dans le cas où la broche 1 et 2 sont attribuées au groupe de broche 1: 1. Broche positionnée sur 10 degré, broche 2 positionnée sur 20 degré. Toutes les autres broches du groupe de broches 1 se positionnent sur leur angle de référence. R911311170 / 01 IndraMotion MTX Codes M M40, M140, M240 3.3.8 Electric Drives Bosch Rexroth AG and Controls Sélection automatique du rapport de réduction 3 - 103 M40, M140, M240 ATTENTION La syntaxe décrite n’est valide que pour les réglages par défaut des domaines de paramètres machine 1040 001xx et 1040 002xx. Elle est configurable librement et peut donc être différente sur votre machine! La documentation du constructeur de la machine outil est par conséquent toujours celle qui est prioritaire. Consulter votre responsable système si vous n’êtes pas sûr que les fonctions décrites ci - après sont également valables pour votre machine! Effet La commande sélectionne automatiquement en fonction de la vitesse de rotation active le rapport adéquat parmi les rapports de réduction disponibles. Si les plages de vitesse de certains rapports se chevauchent, la commande choisira toujours le rapport le plus faible le plus proche (avec la vitesse de rotation moteur la plus élevée). Programmation Syntaxe: M40 Activer la sélection automatique de rapports de réduction pour le groupe de broches 1. M140 Activer la sélection automatique de rapports de réduction pour la broche 1. M240 Activer la sélection automatique de rapports de réduction pour la broche 2. Particularités et restrictions: D La programmation de la vitesse de rotation “0“ n’entraîne pas de changement des rapports de réduction. D M40, M41 - M44, M48, M140, M141 - M144 et M148 sont des fonctions modales qui se révoquent respectivement. D Les fonctions M240, M241 - M244 et M248 sont des fonctions modales qui se révoquent mutuellement. D M30 désélectionne une sélection automatique du rapport de réduction éventuellement active (le rapport de réduction actuel est par contre conservé) D La sélection automatique des rapports de réduction n’agît pas sur les broches analogiques. 3 - 104 Bosch Rexroth AG Electric Drives and Controls Codes M 3.3.9 IndraMotion MTX R911311170 / 01 M41...44, M141...144, M241...244 Sélection automatique du rapport de réduction M141...144, M241...244 M41...44, ATTENTION La syntaxe décrite n’est valide que pour les réglages par défaut des domaines de paramètres machine 1040 001xx et 1040 002xx. Elle est configurable librement et peut donc être différente sur votre machine! La documentation du constructeur de la machine outil est par conséquent toujours celle qui est prioritaire. Consulter votre responsable système si vous n’êtes pas sûr que les fonctions décrites ci - après sont également valables pour votre machine! Effet Sélectionne le rapport de réduction correspondant. Si une vitesse de rotation est programmée, qui se situe en dehors de la plage de vitesses de rotation du rapport de réduction, la commande indique la vitesse de rotation minimale ou maximale du rapport de réduction correspondant. Programmation Syntaxe: M4<Rapport> Activer le rapport de réduction <Rapport> pour le groupe de broches 1. M14<Rapport> Activer le rapport de réduction <Rapport> pour la broche 1. M24<Rapport> Activer le rapport de réduction <Rapport> pour la broche 2. avec <Rapport> Plage de saisie: 1 ... 4. Particularités et restrictions: D M40, M41 - M44, M48, M140, M141 - M144 et M148 sont des fonctions modales qui se révoquent respectivement. D Les fonctions M240, M241 - M244 et M248 sont des fonctions modales qui se révoquent mutuellement. D La sélection manuelle des rapports de réduction n’agît pas sur les broches analogiques. R911311170 / 01 IndraMotion MTX Codes M M48, M148, M248 3.3.10 Electric Drives Bosch Rexroth AG and Controls Débrayage 3 - 105 M48, M148, M248 ATTENTION La syntaxe décrite n’est valide que pour les réglages par défaut des domaines de paramètres machine 1040 001xx et 1040 002xx. Elle est configurable librement et peut donc être différente sur votre machine! La documentation du constructeur de la machine outil est par conséquent toujours celle qui est prioritaire. Consulter votre responsable système si vous n’êtes pas sûr que les fonctions décrites ci - après sont également valables pour votre machine! Effet Débraye le rapport de réduction. Le réducteur marche ensuite à vide. Programmation Syntaxe: M48 Débrayage pour le groupe de broches 1. M148 Débrayage pour la broche 1. M248 Débrayage pour la broche 2. Particularités et restrictions: D M40, M41 - M44, M48, M140, M141 - M144 et M148 sont des fonctions modales qui se révoquent respectivement. D Les fonctions M240, M241 - M244 et M248 sont des fonctions modales qui se révoquent mutuellement. D Les fonctions n’agissent pas sur les broches analogiques. 3 - 106 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Codes M 3.4 Programmation de l’avance et de la vitesse de rotation 3.4.1 Adresse F F Effet La commande interprète les adresses F en fonction de la fonction G momentanément active G93, G94, G95 en tant que D durée d’interpolation en secondes (voir G93, page 3 - 77) D avance exprimée en mm/min ou pouce/min (voir G94, Page 3 - 78) D avance exprimée en mm/t (voir G95, Page 3 - 81). Ce qui suit s’applique: D F est une fonction modale avec G94 etG95. ATTENTION Après la montée en régime, la position initiale ou une remise à zéro la dernière valeur F actuelle est modifiée le cas échéant! Après les événements décrits ci - dessus la valeur F définie dans les paramètres machine 7060 00020 ou 7060 00010 est active (valeur par défaut: F0) Il y est également indiqué si c’est tout d’abord G93, G94 ou G95 qui agira (valeur par défaut: G94) C’est pourquoi vous devez vous assurer que l’avance nécessaire soit toujours programmée avant l’usinage! Programmation Syntaxe: F<Valeur> avec <Valeur> Est interprétée en fonction de la fonction G active en tant que durée d’interpolation, avance ou temporisation. Particularités et restrictions: D L’avance sur trajectoire programmée peut être écrasée à l’aide de la fonction Avance d’essai. Celle- ci est commandée via le signal du canal IF qCh_TestFeed (Avance d’essai). R911311170 / 01 IndraMotion MTX Codes M 3.4.2 FA Electric Drives Bosch Rexroth AG and Controls 3 - 107 Omega Vitesse des axes asynchrones FA Effet Tous les déplacements d’axes asynchrones programmés dans le bloc FA ne sont pas effectués en avance rapide, mais à la vitesse programmée. ATTENTION Une programmation erronée est susceptible d’entraîner un endommagement de la machine! La vitesse indiquée n’agît que dans le bloc FA actif! Si dans un bloc suivant des axes asynchrones sont programmés sans nouveau mot FA, les axes se déplacent alors à nouveau à vitesse rapide. Programmation Syntaxe: FA<Valeur> avec <Valeur> Vitesse voulue. Exemple: 3.4.3 N10 G1 G94 X200 Z300 F200 N11 UA400 VA140 FA250 N12 UA0 WA10 Adresse Omega (Avance) Avance d’axes synchrones: 200 mm/min Les axes asynchrones UA et VA se déplacent à une vitesse de 250mm/ min. Les axes asynchrones UA et WA se déplacent à nouveau en vitesse rapide. Omega Effet Si dans un bloc seuls ces axes sont déplacés, lesquels sont extraits pour la génération de l’avance (voir “FeedAd“, page 4 - 44), leur avance peut être réglée via l’adresse “Omega“. Programmation Syntaxe: Omega<Valeur> avec <Valeur> Avance voulue. 3 - 108 Bosch Rexroth AG Electric Drives and Controls Codes M 3.4.4 IndraMotion MTX R911311170 / 01 S, SSPG Programmer la vitesse de rotation de la broche S, SSPG Effet Définit pour G97 actif la vitesse de rotation D d’une nouvelle broche (S...), ou D d’un groupe complet de broches (SSPG...). . La broche n’atteint la vitesse de rotation programmée que si une instruction de rotation de broche est active (par exemple rotation à droite: M3, rotation à gauche: M4). Programmation Syntaxe: S<numéro>=<valeur> Programmer la vitesse de rotation pour une broche individuelle. SSPG<Groupe>=<Valeur> Programmer la vitesse de rotation pour un groupe complet de broches. S<Valeur> avec <numéro> <Groupe> <Valeur> Format abrégé pour programmer la vitesse de rotation de la 1ère broche. N’agît que sur la première broche, si toutefois elle n’est attribuée via MP 1040 00002 à aucun groupe de broches. Dans le cas contraire, ceci programme le groupe de broches complet comprenant la broche 1. Numéro de la broche (Index de broches). Champs de saisie: 1 jusqu’au nombre de broches définies (définies via MP 1040 00001). Intègre. Numéro du groupe de broches. Champs de saisie: 1... 4 Vitesse de rotation de la broche voulue (unité par défaut : t/min). Valeur de saisie: ≥ 0. Particularités et restrictions: D Lorsque G96 st actif, un mot S est interprété en tant que vitesse de coupe. Concernant la syntaxe, se reporter à la page 3 - 82. D En liaison avec la fonction “Réglage de la broche“, un mot S est interprété en tant qu’angle de positionnement. Concernant la syntaxe, se reporter à la page 3 - 101. D Les vitesses de rotation de plusieurs broches/groupes de broches peuvent être programmée dans un même bloc. D La vitesse de rotation résultante dépend de l’atténuation spécifique à la broche. R911311170 / 01 Codes M IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 3 - 109 S, SSPG D La vitesse de rotation résultante est éventuellement limitée par D les fonctions SMin ou SMax (voir page 4 - 134) D les valeurs limites des rapports de réduction (MP 1040 00011, 1040 00012) D La vitesse de rotation maximale autorisée d’un groupe de couplage de broches (broches à marche synchrone) dépend du temps de cycle CN. Ici, on notera: Smax [t/min] = 14400 / (MP 9030 00001 [ms] ) D La vitesse de rotation définie vaut tant qu’elle n’a pas été écrasée par une nouvelle vitesse de rotation prédéfinie pour la/les même(s) broche(s). Après la montée en régime de la commande S=0 est valide. Exemple: N10 G97 N20 : N50 : N80 : N90 : SSPG1=1000 S1=2000 S2=60 S3=2000 S1500 Activer la programmation de la vitesse de rotation. Toutes les broches du groupe de broches 1 à une vitesse de rotation de 1000 t/min. Vitesse de rotation de la broche 1 à 2000 t/min. Vitesse de rotation de la broche 2 à 60 t/ min. Vitesse de rotation de la broche 3 à 2000 t/min. Vitesse de rotation de la broche 1 à 1500 t/min. Dans la mesure où la broche 1 est attribuée à un groupe de broches, la vitesse de rotation prédéfinie est valide pour l’ensemble du groupe de broches. 3 - 110 Bosch Rexroth AG Electric Drives and Controls Correction outil IndraMotion MTX R911311170 / 01 D 3.5 Correction outil 3.5.1 D-Correction D Effet La correction D appelle des valeurs de correction d’outil qui sont enregistrées au sein de IndraMotion MTX dans les tables de correction XML D. Une table de correction ne peut contenir que 99 articles au maximum. Chaque article contient les valeurs de correction suivantes: D 3 longueurs d’outil L1, L2, L3, D le rayon de coupe RAD, D la position de coupe ORI. La correction D est indiquée pareillement pour les outils de perçage, fraisage, tournage et d’équerrage. A l’aide des 3 valeurs de décalage L1, L2 et L3, telles que disponibles en tout, il est possible de réaliser des décalages d’outil constants dans l’espace pour un outil, comme des corrections de longueur parallèles pour au maximum 3 outils différents. Une table de correction D est activée à l’aide de la fonction “DcTSel“ (DCS), et ensuite un bloc de correction est sélectionné parmi les 99 articles maximum via l’instruction de CN “D“. Les valeurs de correction deviennent actives avec la correction d’outil active G47 (longueur d’outil et position des arêtes coupantes), ou avec la correction de fraisage active G41/G42 ou G141/G142 (rayon de l’outil). Ils sont dans ce cas superposés de façon additionnelle par les valeurs de correction sélectionnées activement de la correction d’outil externe ED. Ce qui suit s’applique: D Le bloc d’outil présélectionné est actif de façon modale. Une nouvelle programmation supprime le bloc d’outil présélectionné jusqu’à présent. D Une correction D peut être programmée dans un même bloc avec d’autres conditions de course, mouvements de déplacement ou fonctions auxiliaires. D La correction d’outil n’est calculée que lorsque la fonction CN correspondante a été activée: G47, G41, G42, G141, G142. Programmation Syntaxe: D<NoBloc d’outil> Présélectionner le bloc de correction d’outil à partir de la table de correction D active D0 Désélectionner le bloc de correction d’outil, sans en présélectionner un nouveau. avec <NoBloc d’outil> Numéro du bloc de données de correction. Champs de saisie: 1... 99. R911311170 / 01 Correction outil IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 3 - 111 ED Exemple : N10 D7 : 3.5.2 Correction-ED Présélectionner les valeurs de correction pour le bloc d’outil 7. ED Effet La correction d’outil externe (Correction ED) appelle des valeurs de correction pour un maximum de 16 arêtes coupantes d’outil. Les valeurs de correction peuvent être inscrites via le module de programmation MT_TCorr par l’API ou via le programme pièce avec l’instruction CPL “DTC“. Chacun des 16 articles contient les valeurs de correction suivantes: D 3 longueurs d’outil L1, L2, L3, D le rayon de coupe RAD, D la position de coupe ORI. La correction ED est indiquée pareillement pour les outils de perçage, fraisage, tournage et d’équerrage. A l’aide des 3 valeurs de décalage L1, L2 et L3, telles que disponibles en tout, il est possible de réaliser des décalages d’outil constants dans l’espace pour un outil, comme des corrections de longueur parallèles pour au maximum 3 outils différents. Un bloc de correction est sélectionné parmi les 16 articles via l’instruction CN “ED“. Les valeurs de correction deviennent actives avec la correction d’outil active G47 (longueur d’outil et position des arêtes coupantes), ou avec la correction de fraisage active G41/G42 ou G141/G142 (rayon de l’outil). Ils sont dans ce cas superposés de façon additionnelle par les valeurs de correction sélectionnées activement de la correction D. Ce qui suit s’applique: D L’arête coupante d’outil présélectionné est active de façon modale. Une nouvelle programmation supprime l’arête coupante d’outil présélectionnée jusqu’à présent. D Une correction ED peut être programmée dans un même bloc avec d’autres conditions de course, mouvements de déplacement ou fonctions auxiliaires. D La correction d’outil n’est calculée que lorsque la fonction CN correspondante a été activée: G47, G41, G42, G141, G142. D L’arête coupante d’outil présélectionnée peut être issue sur l’interface API du canal respectif: iCh_ActFunc1..24 3 - 112 Bosch Rexroth AG Electric Drives and Controls Correction outil IndraMotion MTX R911311170 / 01 ED Programmation Syntaxe: ED<NoArête coupante d’outil> Présélectionner le bloc de correction ED0 Désélectionner le bloc de correction, sans en présélectionner un nouveau. avec <NoArête coupante d’outil> Numéro de l’arête coupante de l’outil. Champs de saisie: 1... 16. Exemple: N10 ED7 : Présélectionner les valeurs de correction pour l’arête coupante 7. R911311170 / 01 Correction outil Notes: IndraMotion MTX ED Electric Drives Bosch Rexroth AG and Controls 3 - 113 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 4-1 Fonctions CN 4 Fonctions CN avec syntaxe de langue standard 4.1 Synoptique La commande dispose d’un grand nombre de fonctions CN. En l’occurrence, excepté les ordres qui sont déterminés dans la DIN 66025, également des extensions essentielles dans le domaine des codes G et des éléments de syntaxe additionnels similaires à la langue standard sont décrits dans ce chapitre. D Fonctions CN avec syntaxe de langue standard: Avec les fonctions CN avec syntaxe de langue standard, en règle générale la signification de la fonction peut être déduite déjà à partir du nom (par ex. “Scale“: facteur d’échelle). Il existe le plus souvent les variantes suivantes d’égale importance: D Forme complète avec écriture en majuscules ou minuscules à discrétion. Dans ce manuel, pour une meilleure lisibilité, à chaque fois la première lettre des mots composés est écrite en majuscule. Exemple: ”KvProg” D Forme abrégée, composée de 3 lettres majuscules (en cas d’exception également 4 lettres majuscules). Exemple: Forme abrégée de KvProg: KVP La forme abrégée concernée est affichée également dans l’affichage des données de processus des fonctions actives modales. Dans les descriptions suivantes de syntaxes, les deux variantes sont indiquées. . Un synoptique sous forme de tableau de toutes les fonctions peut être trouvé dans l’annexe à partir de la page A - 2. En outre toutes les fonctions NC se trouvent dans l’index à partir de la page A - 54. 4-2 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Fonctions CN Ecritures utilisées Dans le manuel, les écritures suivantes sont utilisées pour la syntaxe des fonctions CN: Police de caractères ”Courier gras” ou ”Courier”: Les suites de caractères dans cette écriture doivent être programmées comme indiqué. Exemple: G0(POL) Crochets triangulaires < > caractérisent un caractère de substitution pour une expression/un paramètre à programmer. Le caractère de substitution est représenté en italique. Exemple: <Axe1> Accolades { } caractérisent une expression/un paramètre optionnel/le De tels paramètres peuvent mais ne doivent pas être programmés absolument. Exemple: G0{({POL,}{<Par1>})} caractère ”|” sépare les paramètres possibles mais non utilisables simultanément (paramètre alternatif). Exemple: G0{({POL,}{NIPS|IPS1|IPS2|IPS3})} R911311170 / 01 IndraMotion MTX Fonctions CN Area, ARA 4.2 Electric Drives Bosch Rexroth AG and Controls Surveillance de zone 4-3 Area, ARA Effet Définit, active ou désactive jusqu’à 10 zones de travail ou zones mortes rectangulaires, bidimensionnelles avec des limites parallèles aux axes. D Zones mortes: Ne doivent être ni croisées ni touchées – leurs limites incluses – lors d’un mouvement de déplacement. D Zones de travail: Ne doivent pas être quittées – leurs limites incluses – lors d’un mouvement de déplacement. . Programmation: La définition des données par défaut de toutes les zones se trouve dans le groupe de paramètres machine MP 8002. Une zone individuelle ou toutes les zones de surveillance en commun. activer, désactiver. Syntaxe: Area(<BNr>,<Sta>) Format abrégé: avec <BNr> <Sta> Programmation: ARA(...) Numéro de la zone. Intègre. Champs de saisie: - 1, 1...10. - 1: désactiver/activer toutes les zones. Statut de surveillance souhaité. 0: Désactiver la surveillance. 1: Activer la surveillance. Définir, activer, désactiver une zone individuelle de surveillance. Syntaxe: Area(<BNr>,<Sta>{,<Mod>,{<P1>},{<P2>},{<D1>},{<D2>}}) Format abrégé: avec <BNr> <Sta> <Mod> ARA(...) Numéro de la zone. Intègre. Champs de saisie: 1...10. Statut de surveillance souhaité. 0: Désactiver la surveillance de la zone <BNr>. 1: Activer la surveillance de la zone <BNr>. 0: zone <BNr> n’est pas utilisée. 1: La zone <BNr> est une zone morte. 2: La zone <BNr> est une zone de travail. 4-4 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 Area, ARA <P1 > <P2> <D1> <D2> . = Position dans le système de coordonnées machine. Détermine la valeur de la position du centre de la zone par rapport au premier axe de système participant à la zone (défini par MP 8002 00001). Voir l’exemple suivant. Même unité de programmation que pour les coordonnées de l’axe. Position dans le système de coordonnées machine. Détermine la valeur de la position du centre de la zone par rapport au premier axe de système participant à la zone (défini par MP 8002 00001). Voir l’exemple suivant. Même unité de programmation que pour les coordonnées de l’axe. Détermine la longueur de la zone par rapport au premier axe de système participant à la zone (défini par MP 8002 00001). Voir l’exemple suivant. Même unité de programmation que pour les coordonnées de l’axe. Détermine la longueur de la zone par rapport au deuxième axe de système participant à la zone (défini par MP 8002 00002). Voir l’exemple suivant. Même unité de programmation que pour les coordonnées de l’axe. Les valeurs non programmées restent conservées dans la mesure où elles étaient déjà indiquées une fois dans le déroulement du programme. Si elles n’étaient pas encore indiquées dans le déroulement du programme, la commande utilise les valeurs correspondantes à partir du groupe de paramètres machine 8002. Particularités et restrictions: D Tous les axes de système participant aux différentes zones, doivent être définis dans MP 8002 00001 et MP 8002 00002. D Le réglage approprié de MP 8002 00032 est nécessaire afin de pouvoir influencer des zones par ”Area”. D La fonction nécessite des axes référencés. D Lors de l’activation d’une zone les axes correspondants doivent se trouver dans le canal actuel. D L’influence d’une zone par ”Area” n’agit que dans le canal dans lequel ”Area” est programmé. Si des axes d’une zone sont transférés à un autre canal, la zone présente alors dans le canal cible les valeurs préréglées par défaut dans le groupe de paramètres machine 8002 et elle est inactive. Les valeurs éventuellement programmées par ”Area” dans le canal initial ne sont pas transférées. D En mode coup par coup: Les axes qui sont déplacés à l’aide de la manivelle, ne sont pas surveillés. R911311170 / 01 IndraMotion MTX Fonctions CN Area, ARA Electric Drives Bosch Rexroth AG and Controls 4-5 D En mode coup par coup: pour les axes qui sous - tendent une zone morte, toujours un seul axe peut être déplacé en mode JOG. D Les dépassements de zone dans le mode JOG génèrent un avertissement. L’axe concerné reste à l’arrêt et ne peux être déplacé qu’en sens contraire par mode JOG. Exemple: N100 Area(4,0,,100,200) Deuxième axe de système participant à la zone (défini dans MP 8002 00002). Y Désactiver la zone 4 et mettre le centre de la zone sur les coordonnées de machine indiquées (100,200). Les longueurs de la zone restent inchangées. <D1>: Longueur de la zone en direction du premier axe participant au système. Zone 4 Centre (100, 200) <P2>: 200 Position centrale de la zone en direction du deuxième axe participant au système. <D2>: Longueur de la zone en direction du deuxième axe participant au système. X M 100 <P1>: Position centrale de la zone en direction du premier axe participant au système. Premier axe de système participant à la zone (défini dans MP 8002 00001). 4-6 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.3 IndraMotion MTX R911311170 / 01 ASPCLR Sous-programmes asynchrones: déconnecter ASPCLR Effet Déconnecte un sous-programme dans le canal actuel. Il est impossible d’activer ou de désactiver des sous-programmes déconnectés. . Pour reconnecter des sous-programmes, voir fonction ASPSET page 4 - 9. . Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et le paramétrage de sous-programmes asynchrones. Programmation Syntaxe: ASPCLR(<Up-No>) avec <Up-No> Numéro du sous-programme. Plage de saisie: 1...8. Intègre. Particularités et restrictions: D Le sous-programme correspondant doit être connecté dans le canal cible (voir ASPSET page 4 - 9). D Pour la désactivation temporaire d’un sous-programme voir fonction ASPDIS page 4 - 7. R911311170 / 01 IndraMotion MTX Fonctions CN ASPDIS 4.4 Electric Drives Bosch Rexroth AG and Controls 4-7 ASPENA Sous-programmes asynchrones: mettre hors service ASPDIS Effet Désactive un sous-programme dans le canal actuel. Un sous-programme désactivé n’est pas appelé lorsque survient l’évènement pertinent. . Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et le paramétrage de sous-programmes asynchrones. Programmation Syntaxe: ASPDIS(<Up-No>) avec <Up-No> Numéro du sous-programme. Champs de saisie: 1...8. Intègre. Particularités et restrictions: D Le sous-programme correspondant doit être connecté dans le canal cible (voir ASPSET page 4 - 9). D Pour l’activation d’un sous-programme désactivé, voir fonction ASPDIS page 4 - 7. 4.5 Sous-programmes asynchrones: démarrer ASPENA Effet Active un sous-programme dans le canal actuel. Seulement des sous-programmes activés peuvent être appelés lorsque survient l’évènement pertinent. . Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et le paramétrage de sous-programmes asynchrones. Programmation Syntaxe: ASPENA(<Up-No>) avec <Up-No> Numéro du sous-programme. Champs de saisie: 1...8. Intègre. Particularités et restrictions: D Le sous-programme correspondant doit être connecté dans le canal cible (voir ASPSET page 4 - 9). D Pour la désactivation d’un sous-programme, voir fonction ASPDIS page 4 - 7. 4-8 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.6 IndraMotion MTX R911311170 / 01 ASPRTP Sous-programmes asynchrones: Définir le point de redémarrage ASPRTP Effet Définit si à la fin d’un sous-programme asynchrone la commande doit se positionner sur D le point de démarrage D le point d’arrivée ou D le point d’interception d’un bloc de déplacement éventuellement intercepté. La commande se positionne toujours sur les dernières coordonnées actives si au moment de l’interruption aucun bloc de déplacement n’était actif. . Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et le paramétrage de sous-programmes asynchrones. Programmation Syntaxe: ASPRTP(<Up-No>,<point>) avec <Up-No> <Point> Numéro du sous-programme. Champs de saisie: - 1 ; 1...8. Intègre. - 1: Définir le point de redémarrage souhaité pour tous les sous-programmes asynchrones du canal actuel. Point de redémarrage souhaité: 1: Point de départ 2: Point d’arrivée 3: Point d’interception Particularités et restrictions: D Le point de redémarrage souhaité et réglé sera effacé par la position initiale ou M30. D Les modifications de correction effectuées au cours d’un sous-programme asynchrone sont prises en considération automatiquement lors du calcul interne du point de redémarrage. D A l’aide de la fonction REPISTP (voir page 4 - 121), le point de redémarrage défini peut être masqué temporairement dans le sousprogramme asynchrone. R911311170 / 01 IndraMotion MTX Fonctions CN ASPSET 4.7 Electric Drives Bosch Rexroth AG and Controls Sous-programmes asynchrones: connecter 4-9 ASPSET Effet Connecte un sous-programme asynchrone dans le canal actuel et le met en service (pour la mise en service, voir également la fonction ASPENA page 4 - 7). Il est possible d’utiliser uniquement des sous-programmes connectés et mis en service. . Pour déconnecter des sous-programmes, voir fonction ASPCLR page 4 - 6. . Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et le paramétrage de sous-programmes asynchrones. Programmation Syntaxe: ASPSET(<Up-No>,<Up-nom>{,<Flags>}) avec <Up-No> <Up-nom> <Flags> Numéro du sous-programme. Champs de saisie: 1...8. Intègre. Nom du sous-programme ; avec ou sans indication du chemin. Si le chemin n’est pas indiqué, le fichier est recherché conformément à MP 3080 00001 (chemin de recherche pour les sous-programmes). Commutateurs, avec lesquels il est possible d’influencer le comportement après l’appel: 00 ni processus de liaison ni démarrage automatique. 10 processus de liaison mais pas de démarrage automatique. 01 aucun processus de liaison mais démarrage automatique. 11 processus de liaison et démarrage automatique. Exemple: : N30 ASPSET(1,ASUP1,10) Connexion du programme ASUP1 en tant : que premier sous-programme asynchrone dans le canal actif. A la suite de son appel (par ex. par signal d’interface) il est – si nécessaire – lié automatiquement et démarré explicitement par démarrage CN. 4 - 10 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.8 IndraMotion MTX R911311170 / 01 ASPSTA Sous-programmes asynchrones: déclenchement à l’aide du programme ASPSTA Effet Appelle un sous-programme asynchrone par pilotage de programme dans un canal au choix. . Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et le paramétrage de sous-programmes asynchrones. Programmation Syntaxe: ASPSTA(<Up-No>{,<Canal-No>}) avec <Up-No> <Canal-No> Numéro du sous-programme. Champs de saisie: 1...8. Intègre. canal cible, dans lequel <Up-No> doit être appelé. Au cas où il n’y a pas de programmation, <Up-No> est appelé dans le canal actuel. Particularités et restrictions: D Les sous-programmes asynchrones ne doivent pas être imbriqués. D Le sous-programme appelé doit être connecté dans le canal cible (voir ASPSET page 4 - 9). D Le sous-programme appelé ne doit pas être déconnecté dans le canal cible (voir ASPSET page 4 - 7) ou ASPENA page 4 - 7). R911311170 / 01 IndraMotion MTX Fonctions CN AssLogName, ALN 4.9 Electric Drives Bosch Rexroth AG and Controls Attribuer un nom logique d’axe 4 - 11 AssLogName, ALN Effet Attribue un nouveau nom logique d’axe à un axe asynchrone dans le canal appelant. L’ancien nom logique d’axe devient invalide. . Pour plus d’informations en détail sur la fonctionnalité ”Transfert d’axe” voir Manuel ”Description des fonctions”. Programmation Syntaxe: AssLogName(<PAN> | <PAI> | <LAN>,<LANneu> {AssLogName(<PAN> | <PAI> | <LAN>,<LANneu>}...) Format abrégé: avec <PAN> <PAI> <LAN> <LANneu> ALN(..) Nom physique d’axe. Défini cet axe qui doit être renommé dans le canal actuel. Index physique d’axe. Effet similaire à <PAN>. Nom logique d’axe. Effet similaire à <PAN>. Nouveau nom logique d’axe. L’axe indiqué à l’aide de <PAN>, <PAI> ou <LAN> aura dans le canal actuel le nom logique <LANneu>. <LANneu>doit être défini dans MP 7010 00010 (désignation logique d’axe) ou MP 7010 00020 (désignation optionnel d’axe). Particularités et restrictions: D Un axe à renommer doit être arrêté. Si cela n’est pas le cas, la commande émet un message d’erreur et interrompt le programme. D Les positions d’axe dans le même bloc doivent être programmés toujours selon l’expression AssLogName(...). Exemple: : N030 ALN(YP,X,3,Y,B,Z) L’axe physique YP reçoit le nom logique X, : le 3ème axe physique reçoit le nom logique Y et l’axe logique B reçoit le nom logique Z. La programmation qui suit de B entraîne une erreur de durée d’exécution. 4 - 12 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.10 IndraMotion MTX R911311170 / 01 ATCAL Calibrer les cinématiques d’axe: Optimiser les paramètres ATCAL Effet Sert à l’optimisation de paramètres d’angle et de longueurs spécifiques à la cinématique d’axe dans le contexte de la fonctionnalité ”calibrage de cinématiques d’axe”. Ces données sont différentes pour chaque type de transformation d’axe et contenues dans MP 1030 00140 pour chaque transformation d’axe. En règle générale elles doivent être lues avant l’optimisation à l’aide de la fonction ATGET (voir page 4 - 15) et être transférées de retour dans la CN à l’aide de la fonction ATPUT (voir page 4 - 16). . Dans le Manuel Fonctions se trouvent des informations détaillées sur le calibrage de cinématiques d’axes. Programmation Syntaxe: ATCAL(<fichier>,<OptData>,<Mask>{,<Info>}{,<AnzIt>}) avec <fichier> Nom du fichier de calibrage; avec ou sans indication de chemin. Si le chemin n’est pas indiqué, le fichier est recherché conformément à MP 3080 00001 (chemin de recherche pour les sous-programmes). <Le fichier> contient des données nécessaires pour l’optimisation. Voir informations à ce sujet dans le Manuel Fonctions. <OptData> Array CPL permanente, globale ou locale. Type: Double. Dimension: 16 au minimum. Après le calcul, l’array contient un bloc de paramètres avec les paramètres optimisés de longueur et d’angle. L’ordre des variables individuelles (index 1 à 16) correspond à l’index d’élément de MP 1030 00140. Les valeurs ont la même unité que les paramètres individuels dans MP 1030 00140. <Mask> Variable CPL. Type: Intègre. Masque de bit avec laquelle les paramètres individuels à optimiser sont déterminés. Exemple: R911311170 / 01 IndraMotion MTX Fonctions CN ATCAL Electric Drives Bosch Rexroth AG and Controls 4 - 13 Array <OptData> avant l’optimisation Index: 1 2 3 4 5 6 7 8 ... 15 16 Masque de bit: 1 = optimiser paramètre individuel 1 1 1 Priorité: 1 nécessaire Valeur dans <Mask>: 1 + 2+ 4 2 4 0 ... 8 16 32 64 128 ... 0 1 0 0 0 + 16 0 = 23 Array <OptData> après l’optimisation Index: 1 2 3 4 5 6 7 8 ... 15 16 : paramètre individuel optimisé <Info> Array CPL permanente, globale ou locale. Type: double. Dimension: 4 au minimum. Contient les données suivantes après l’optimisation: <Info>[1] Valeur de la fonction de qualité (écart quadratique) avant l’optimisation. Unité: mm. <Info>[2] Valeur de la fonction de qualité (écart quadratique) après l’optimisation. Unité: mm. <Info>[3] Écart maxi. avant l’optimisation (en mm).. <Info>[4] Écart maxi. après l’optimisation (en mm). <AnzIt> Nombre maximum des pas d’itération pour l’optimisation. Dans la mesure où l’itération est n’est pas indiquée ou indiquée avec ” - 1”, elle n’est terminée que si l’écart entre deux blocs de paramètres calculés successifs dépasse un seuil interne à CN suffisant (il n’existe plus aucun écart pertinent). Si ”1” est indiqué, le calcul de compensation linéaire intervient. Exemple: 01 DIM PAR!(16) 02 DIM GA!(4) Dimensionner l’Array CPL locale avec 16 champs du type Double (pour les paramètres de longueur/ d’angle optimisés). Dimensionner l’Array CPL locale avec 4 champs du type Double (pour la qualité et l’écart). 03 MASK%=2+4+32 Optimisation des paramètres individuels avec les indices de champ 2, 3 et 6. N4 ATCAL(CL.TXT,[PAR!], [MASK%],[GA!],-1) Démarrage de l’optimisation. 4 - 14 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.11 IndraMotion MTX R911311170 / 01 ATFWD Calibrer les cinématiques d’axe: Convertir les paramètres ATFWD Effet Sert dans le contexte avec la fonctionnalité ”Calibrage de cinématiques d’axe” pour convertir les positions d’axes réelles en coordonnées d’un système de coordonnées créé par les transformations d’axes. Ce processus est appelé également ”transformation en avant”. . Dans le Manuel Fonctions se trouvent des informations détaillées sur le calibrage de cinématiques d’axes. Programmation Syntaxe: ATFWD(<Koord>,<AxKoord>{,<ParData>}) avec <Coord> Array CPL permanente, globale ou locale. Type: double. Dimension: au moins dans la dimension du nombre des coordonnées de canal du système de coordonnées généré par la transformation d’axe. Les variables individuelles de l’Array contiennent les coordonnées de canal résultant de la conversion dans le système de coordonnées transformé. <AxKoord> Array CPL permanente, globale ou locale. Type: double. Dimension: au moins le nombre d’axes dans le canal actuel. Les variables de l’Array doivent contenir les positions d’axe réelles de tous les axes de canal participant à la transformation d’axe. <ParData> Array CPL permanente, globale ou locale. Type: double. Dimension: 16 au minimum. L’Array doit contenir un bloc de paramètres avec tous les paramètres de longueur et d’angle pour une transformation d’axe. L’ordre des variables individuelles (index 1 à 16) correspond à l’index d’élément de MP 1030 00140. Les valeurs doivent avoir la même unité que les paramètres individuels dans MP 1030 00140. S’il n’y a pas de programmation, le bloc de paramètre de la transformation d’axe actuellement active est utilisé. Les données de AT2 seront utilisées dans la mesure où deux transformations d’axe sont simultanément actives dans la commande (AT1, AT2; voir fonction ”Coord” à partir de la page 4 - 32). Particularités et restrictions: D Dans la mesure où <ParData> n’a pas été programmé et aucune transformation d’axe n’est active, une erreur d’exécution est affichée. R911311170 / 01 IndraMotion MTX Fonctions CN ATGET 4.12 Electric Drives Bosch Rexroth AG and Controls 4 - 15 Calibrer les cinématiques d’axe: Lire les paramètres du CN ATGET Effet Sert à la lecture de paramètres d’angle et de longueur spécifiques à la cinématique d’axe dans le contexte de la fonctionnalité ”calibrage de cinématiques d’axe”. Ces données sont différentes pour chaque type de transformation d’axe et contenues dans MP 1030 00140 pour chaque transformation d’axe. En règle générale elles doivent être lues avant une optimisation (voir fonction ATCAL, page 4 - 12) et être transférées de retour dans la CN à l’aide de la fonction ATPUT (voir page 4 - 16). . Dans le Manuel Fonctions se trouvent des informations détaillées sur le calibrage de cinématiques d’axes. Programmation Syntaxe: ATGET(<ParData>{,<AxTrafoNr>}) avec <ParData> Array CPL permanente, globale ou locale. Type: double. Dimension: 16 au minimum. Après l’exécution de la fonction, l’Array reçoit un bloc de paramètres avec tous les paramètres de longueur et d’angles d’une transformation d’axe définie à l’aide de <ATrafNr>. L’ordre des variables individuelles (index 1 à 16) correspond à l’index d’élément de MP 1030 00140. Les valeurs ont la même unité que les paramètres individuels dans MP 1030 00140. <AxTrafoNr> Numéro de la transformation d’axe à lire. S’il n’y a pas de programmation, les données de la transformation d’axe actuellement active sont lues. Dans la mesure où deux transformations d’axe sont simultanément actives dans la commande (AT1, AT2; voir fonction ”Coord” à partir de la page 4 - 32), les données de AT2 seront utilisées. Particularités et restrictions: D Si <ATrafNr> n’a pas été programmé et aucune transformation d’axe n’est active, une erreur d’exécution est provoquée. 4 - 16 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.13 IndraMotion MTX R911311170 / 01 ATPUT Calibrer les cinématiques d’axe: Ecrire les paramètres dans la CN ATPUT Effet Sert au remplacement de tous les paramètres d’angle et de longueur spécifiques à la cinématique d’axe d’une transformation d’axe dans le contexte de la fonctionnalité ”calibrage de cinématiques d’axe”. Ces données sont différentes pour chaque type de transformation d’axe et contenues dans MP 1030 00140 pour chaque transformation d’axe. En règle générale elles doivent être lues (voir fonction ATGET, page 4 - 15) avant une optimisation (voir fonction ATCAL, page 4 - 12) et être transférées de retour dans la CN à l’aide de la fonction ATPUT. . Dans le Manuel Fonctions se trouvent des informations détaillées sur le calibrage de cinématiques d’axes. Programmation Syntaxe: ATPUT(<ParData>{,<AxTrafoNr>}) avec <ParData> Array CPL permanente, globale ou locale. Type: double. Dimension: 16 au minimum. L’Array doit contenir un bloc de paramètres avec tous les paramètres de longueur et d’angles de la transformation d’axe définie à l’aide de <AxTrafoNr>. L’ordre des variables individuelles (index 1 à 16) correspond à l’index d’élément de MP 1030 00140. Les valeurs doivent avoir la même unité que les paramètres individuels dans MP 1030 00140. <AxTrafoNr> Numéro de la transformation d’axe souhaitée, dont le bloc de paramètres doit être décrit dans MP 1030 00140. S’il n’y a pas de programmation, les données de la transformation d’axe actuellement active seront remplacées. Si deux transformations d’axe sont simultanément actives dans la commande (AT1, AT2; voir fonction ”Coord” à partir de la page 4 - 32), les données de AT2 seront modifiées. Particularités et restrictions: D Si <ATrafNr> n’a pas été programmé et aucune transformation d’axe est active, une erreur d’exécution est provoquée. D L’exécution de la fonction ATPUT nécessite un niveau utilisateur permettant la réécriture de paramètres machine. D Le bloc de paramètres écrit ne devient actif qu’ D après la position initiale du système et D une nouvelle programmation de COORD(<ATrafNr>). R911311170 / 01 IndraMotion MTX Fonctions CN AUXFUNC 4.14 Electric Drives Bosch Rexroth AG and Controls Exécuter les fonctions auxiliaires actives de tous les groupes 4 - 17 AUXFUNC Effet Exécute les fonctions auxiliaires spécifiques au canal et multicanaux actuellement actives de tous les groupes HiFu. En liaison avec l’avance du bloc (par ex. après une interruption de traitement), la fonction pour le rétablissement de tous les états HiFu à une position déterminée du programme de pièces est pertinente. Si par ex. un programme de pièces est interrompu pendant le traitement, il est éventuellement possible de reprendre le traitement à partir du bloc qui a été traité au moment de l’interruption à l’aide de l’avance de bloc. Le programme de pièces est alors certes redémarré depuis le début avec l’avance de bloc, le traitement ne s’effectue toutefois qu’à partir d’un bloc de programme défini. Etant donné que la commande est ni interpolée pendant l’avance du bloc ni ne sort des fonctions auxiliaires programmées, le rétablissement de tous les états de fonctions auxiliaires est nécessaire à la fin de l’avance du bloc. . Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et le paramétrage de fonctions auxiliaires. Programmation Syntaxe: AUXFUNC Exemple: N100 T102 Sélectionner outil T102. N110 M6 : N150 M3 : Remplacer outil T102. Démarrer la 1ère broche/le 1er groupe de broches. Rotation vers la droite ... Interruption de programme dans N160... - T102 et M3 étaient actifs. - T102 est remplacé. La position WZ n’est pas modifiée. Ensuite le programme est sélectionné de nouveau et se poursuit à l’aide de l’avance du bloc jusqu’à N150 inclus sans mouvements de déplacement. Les fonctions auxiliaires programmées sont activées ce faisant sans cependant être éditées. Avant de traiter N160, les fonctions auxiliaires spécifiques au canal et multicanaux actuellement actives de tous les groupes HiFu sont exécutées maintenant avec AUXFUNC. Dans l’exemple AUXFUNC provoque ce qui suit: - Activer outil numéro T102 (WZ est encore remplacé). - Démarrer la 1ère broche/le 1er groupe de broches avec rotation vers la droite. 4 - 18 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.15 IndraMotion MTX AxAcc, AAC Modifier l’accélération d’axe maxi. Mettre l’accélération d’axe maxi. en tampon Effet R911311170 / 01 AxAcc, AAC AxAccSave, AAS D AxAcc: modifie temporairement les limites supérieures des accélérations d’axe maximum. En outre la fonction masque les valeurs maximum d’accélération d’axe à partir des paramètres machine avec les valeurs programmées. D AxAccSave: enregistre temporairement les valeurs d’accélérations maximales actuelles de tous les axes dans une mémoire interne. Cette mémoire interne est toujours préinitialisée lors de la sélection du programme avec les valeurs des paramètres machine. Programmation Syntaxe: AxAccSave Format abrégé: AAS Mettre temporairement toutes les accélérations d’axe maximum actuelles en mémoire tampon. AxAcc (<valeurs>) Modifier les accélérations d’axe maximum. AxAcc ou AxAcc (1) Activer de nouveau les accélérations d’axe enregistrées avant à l’aide de ”AxAccSave”. AxAcc() ou AxAcc(0) Activer de nouveau les accélérations d’axes à partir des paramètres machine. Format abrégé: AAC(..) avec <Valeurs> Nom d’axe et valeur d’accélération. Les indications pour plusieurs axes sont séparées par une virgule. En fonction de l’unité de mesure (G71/G70), la commande interprète les valeurs programmées en ”1000 pouces/s2” ou ”m/s2”. Particularités et restrictions: D Si dans le système existent un axe physique ainsi qu’un axe logique du canal actif sous le même nom, l’accélération de l’axe logique est toujours influencée. R911311170 / 01 IndraMotion MTX Fonctions CN AxAcc, AAC Electric Drives Bosch Rexroth AG and Controls 4 - 19 Exemple: Situation de départ: dans les paramètres machine, les axes X à Z ont déjà la valeur 8.0 m/s2. : N40 AAC(X1.0,Z2.1) : : : N80 AxAccSave : N90 AxAcc() : : : : N150 AxAcc(Y5) : : N200 AxAcc : : Accélération max. pour l’axe X: 1.0 m/s2, accélération maxi. pour l’axe Z: 2.1 m/s2. L’accélération maxi. de l’axe Y reste inchangée (8.0 m/s2). Enregistrer temporairement toutes les valeurs d’accélération d’axe maximum actuellement actives. Activer de nouveau les valeurs à partir des paramètres machine: accélération maxi. pour l’axe X: 8.0 m/s2 accélération maxi. pour l’axe Y: 8.0 m/s2 accélération maxi. pour l’axe Z: 8.0 m/s2 Accélération maxi. pour l’axe Y: 5.0 m/s2. Les accélérations maxi. pour les axes X et Z restent inchangées. Activer de nouveau les valeurs enregistrées à l’aide de ”AxAccSave”: accélération maxi. pour l’axe X: 1.0 m/s2 accélération maxi. pour l’axe Y: 8.0 m/s2 accélération maxi. pour l’axe Z: 2.1 m/s2 4 - 20 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.16 IndraMotion MTX R911311170 / 01 AxCouple, AXC Couplage d’axes AxCouple, AXC Effet A l’aide du couplage d’axes est établi un rapport défini entre le mouvement d’un ”axe maître” (axe guide) et un ou plusieurs (7 au maximum) ”axes esclaves” (axe suiveurs). Si l’axe maître se déplace, tous les axes esclaves se bougent automatiquement correspondant à leur propre rapport défini à chaque fois par rapport à l’axe maître. Pour cette raison l’axe maître et tous les axes esclaves participants sont appelés également ”groupe d’axes”. Rapports possibles entre l’axe maître et un axe esclave: D Les positions de consigne de l’axe maître sont transformées à l’aide d’un décalage constant dans des positions de consigne correspondantes de l’axe esclave (voir formule 1). L’axe esclave peut ainsi être déplacé par rapport à l’axe maître par une même course toujours constante en direction positive ou négative de déplacement. D Les positions de consigne de l’axe maître sont transformées à l’aide d’un facteur de décalage constant dans des positions de consigne correspondantes de l’axe esclave (voir formule 1). Ainsi il est possible de bouger l’axe esclave par rapport à l’axe maître dans une proportion définie. D Les positions de consigne de l’axe maître sont transformées à l’aide d’un tableau (de couplage) dans des positions de consigne correspondantes de l’axe esclave à discrétion. Dans ce cas, des paires de repère sont déposées dans le tableau indiquant la position correspondante de l’axe esclave pour une position d’axe maître et un décalage éventuellement nécessaire de l’axe maître (voir formule 2). La commande peut déterminer les positions entre les points de repère individuels à l’aide de l’interpolation linéaire ou à l’aide de la fonction spline cubique. Formule 1 (pour le couplage linéaire): p s = pm * k + o Offset (décalage) Facteur de couplage Formule 2 (pour le couplage libre): o m ps = f (p - p ) * k + o m Offset (décalage) Facteur de couplage Décalage de l’axe maître Fonction de couplage (sous forme de table de couplage) R911311170 / 01 IndraMotion MTX Fonctions CN AxCouple, AXC Electric Drives Bosch Rexroth AG and Controls 4 - 21 Tous les rapports mentionnés peuvent être combinés à discrétion. De cette manière, des axes parallèles (par ex. pour des plateaux d’usinage disposés parallèlement) ou également des entraînements électroniques (1 tour de l’axe maître engendre par ex. 10 tours de l’axe esclave) peuvent être réalisés très facilement. Ce qui suit s’applique: D tous les axes d’un groupe d’axes doivent se trouver dans le même canal. D plusieurs groupes d’axe sont permis à l’intérieur d’un canal. . Pour plus d’informations en détail sur la fonctionnalité ”Couplage d’axes” voir Manuel ”Description des fonctions”. Il s’y trouve également les informations concernant le tableau de couplages nécessaire pour les ”couplages à discrétion”. Programmation Syntaxe: AxCouple(<M><Variante>,<S>({<SO>},{<SF>}{,{<MO>},<Tab>}){,...}) AxCouple() ou AxCouple(0) Format abrégé: avec <M> <Variante> <S> <SO> <SF> <MO> <Tab> Effacer tous les groupes d’axes dans le canal actuel. AXC(..) Adresse logique de l’axe maître. 0 Générer de nouveau le groupe d’axes 1 Modifier le groupe d’axes (ajouter de nouveaux axes esclaves ou modifier la désignation d’axe) - 1 Effacer l’axe esclave ou supprimer complètement le groupe Adresse logique de l’axe esclave. Offset de décalage de l’axe esclave. S’il n’est pas programmé, s’applique ce qui suit <SO> = 0. Facteur de couplage de l’axe esclave. S’il n’est pas programmé, s’applique ce qui suit <SF> = 1. Décalage de l’axe maître. Uniquement pertinent pour ”couplage libre” (voir formule 2, ci- dessus). S’il n’est pas programmé, s’applique ce qui suit <MO> = 0. Nom du tableau de couplages de l’axe esclave correspondant. Uniquement pertinent pour ”couplage libre” (voir formule 2, ci - dessus). 4 - 22 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 AxCouple, AXC Exemples: Création d’un groupe d’axes. Z: Axe maître, A/B: Axes esclaves. Les deux axes esclaves fonctionnent avec couplage ”linéaire”. N200 AXC(X0,A(4,2),B(,0.5,,T_B)) Création d’un groupe d’axes. : X: Axe maître, : A/B: Axes esclaves. Axe esclave A fonctionne avec couplage ”linéaire”, axe esclave B avec couplage ”libre”. N100 AXC(Z0,A(4,2),B(2,1)) : : : : N100 AXC(Z-1,A(),B()) : N200 AXC(Z-1) : Les axes esclaves A et B sont extraits du groupe d’axes Z. Le groupe d’axes complet est effacé. ATTENTION La fonction déclenche un mouvement de déplacement de tous les axes esclaves programmés dans le bloc! Les axes esclaves se déplacent alors respectivement sur leur point de couplage spécifique (valeur guide) qui est défini par la position maître et le rapport de couplage. Particularités et restrictions: D Tous les axes participant à un groupe d’axes doivent être des axes synchrones au moins pendant le couplage des axes. Les axes asynchrones ou les axes Hirth ne sont pas admis. D La programmation d’un mouvement de déplacement pour des axes esclaves n’est pas permise et engendre un message d’erreur. D Un axe esclave ne peut pas être en même temps un axe maître dans un autre groupe d’axes. D La fin du programme ne dissocie pas automatiquement un couplage d’axes existant. D Si l’axe maître est un axe modulo, l’axe esclave doit être également un axe modulo lorsqu’il s’agit d’un rapport de couplage linéaire. D Afin qu’une approche des points de référence par axe soit possible, l’ouverture du couplage d’axes est nécessaire. D La zone de déplacement permise de l’axe maître peut être réduite par des axes esclaves couplés (si par ex. l’axe esclave atteint ses zones finales plus vite que l’axe maître ou si la zone de déplacement de l’axe esclave est plus petite que la zone de déplacement de l’axe maître). D Dans la mesure où pour l’axe maître et/ou l’axe esclave des commutateurs de fin de course sont exclus, aucun commutateur de fin de course n’est effectif pour le groupe d’axes complet. R911311170 / 01 IndraMotion MTX Fonctions CN AxCouple, AXC Electric Drives Bosch Rexroth AG and Controls 4 - 23 D La dynamique maximale de l’axe ”le plus faible” détermine la dynamique maximale du groupe d’axes complet. D Le blocage d’axes dans le cas d’un groupe d’axes est interdit. D Des axes couplés en mode test doivent être découplés avant déconnexion du mode test. 4 - 24 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.17 IndraMotion MTX R911311170 / 01 AxisToSpindle, ATS C-Désactiver le mode d’axe pour les broches AxisToSpindle, ATS Effet Commute une broche se trouvant dans le mode d’axe C (voir page 4 - 145) dans le mode broche. . Pour plus d’informations en détail sur la fonctionnalité ”Transfert d’axe” voir Manuel ”Description des fonctions”. Programmation Syntaxe: AxisToSpindle(<PAN> | <PAI>{,<PAN> | <PAI>}...) Format abrégé: avec <PAN> <PAI> ATS(..) Nom physique d’axe. Détermine cet axe qui doit être commuté de nouveau du mode d’axe C dans le mode broche. Index physique d’axe. Effet similaire à <PAN>. Particularités et restrictions: D Un axe indiqué doit être à l’arrêt et ne doit pas appartenir à un groupe d’axes. Si cela n’est pas le cas, la commande émet un message d’erreur et interrompt le programme. D Les positions d’axe dans le même bloc doivent être programmées toujours selon l’expression AxisToSpindle(...). Exemple: : N030 ATS(CH) : L’axe physique CH (c.à.d. la broche qui porte le nom CH dans le mode axe) est commuté en mode broche. R911311170 / 01 IndraMotion MTX Fonctions CN BcsCorr, BCR 4.18 Electric Drives Bosch Rexroth AG and Controls Placement: Correction de la position de la pièce à usiner 4 - 25 BcsCorr, BCR Effet Sert de correction de tension. Le Placement ”Correction de la position de la pièce à usiner” peut déplacer et orienter le système de coordonnées de la pièce à usiner à discrétion dans l’espace. La correction de la position de la pièce à usiner a un effet sur les coordonnées avec les significations ”x”, ”y” et ”z” dans le canal correspondant. Les efforts pour le réglage sont considérablement réduits si la position de la pièce à usiner est mesurée après la tension et est corrigée à l’aide de la correction de la position de la pièce à usiner. Comme il existe 3 degrés de liberté pour l’orientation, chaque orientation peut être représentée par 3 rotations de base successives. Pour plus de simplicité, dans l’image suivante uniquement la rotation de base autour de la coordonnée Z est représentée. X’ Y’ YB angle1 WCS DY BCS . DX Décalage de l’origine avec rotation de coordonnées XB Le placement ”Plan incliné” est identique du point de vue fonctionnel (voir page 3 - 90). Une représentation des 3 rotations de base s’y trouve également. D’autres placements (par ex. Plan incliné) ont un effet additif. Dans la ”chaîne de calcul”, la correction de la position de la pièce à usiner se trouve encore avant le plan incliné. +ZW2 +ZW1 +ZB +YB WCS1 WCS2 +YW1 +YW2 +XW2 +XW1 BCS +XB BCS: Système de coordonnées de base de la pièce à usiner WCS1:Système de coordonnées de la pièce à usiner, généré par ”correction de la position de la pièce à usiner” WCS2:Système de coordonnées de la pièce à usiner, généré par ”plan incliné” 4 - 26 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 BcsCorr, BCR Programmation Syntaxe: BcsCorr({<XW -Offset>}{,{<YW -Offset>}{,{<ZW -Offset>}{,{<Angle1>} {,{<Angle2>}{,{<Angle3>}}}}}}) Correction de la position de la pièce à usiner ON. BcsCorr() ou BcsCorr(0) Correction de la position de la pièce à usiner OFF. Format abrégé: BCR(..) avec <XW -Offset>: Valeur de décalage dans la direction de la coordonnée principale <YW -Offset>: Valeur de décalage dans la direction de la coordonnée secondaire <ZW -Offset>: Valeur de décalage dans la direction de la coordonnée normale <Angle1>: Angle de rotation autour de la coordonnée Z. Plage de valeurs: 0 ≤ <Angle1> < 360 degrés <Angle2>: Angle de rotation autour de la nouvelle coordonnée Y’. Plage de valeurs: 0 ≤ <Angle2> < 180 degrés <Angle3>: Angle de rotation autour de la nouvelle coordonnée Z’’. Plage de valeurs: 0 ≤ <Angle3> < 360 degrés Exemple: N70 G40 N80 BCR(50,300,10,1.23) : : : : : : : : : : : N200 BCR() Correction de la trajectoire de la fraise OFF. Correction de la position de la pièce à usiner ON. Le point zéro du nouveau système de coordonnées de la pièce à usiner se trouve dans BCS sur X50 Y300 et Z10. Par rapport au BCS les axes des coordonnées X et Y du nouveau système de coordonnées de la pièce à usiner sont tournés de 1,23 degrés dans le sens inverse à celui des aiguilles d’une montre autour du nouvel axe de coordonnées Z Correction de la position de la pièce à usiner OFF. Particularités et restrictions: D L’activation et la désactivation de la correction de la position de la pièce à usiner interrompent la prévisualisation de blocs et pour cette raison ne doivent pas être programmées lors de la correction de la trajectoire de la fraise (G41/G42, voir page 3 - 41). D L’état de mise sous tension et le comportement en position initiale sont configurés dans les paramètres machine 7060 00010 et 7060 00020. R911311170 / 01 IndraMotion MTX Fonctions CN ChLength, CHL 4.19 Electric Drives Bosch Rexroth AG and Controls 4 - 27 ChSection, CHS Programmation de chanfreins ChLength, CHL ChSection, CHS Effet La fonction ”Programmation de chanfreins” insère entre deux blocs consécutifs CN du type linéaire ou circulaire une phase de transition, dont la longueur peut être définie en tant que longueur de chanfrein absolue ou en tant que longueur d’élément de chanfrein. Le chanfrein est généré à l’intérieur du plan de travail actif. Les suivants raccords par chanfrein sont possibles: D Chanfrein entre deux droites sécantes Le chanfrein suit un tracé en angle droit avec la bissectrice entre deux segments de trajectoire voisins. La longueur du chanfrein est automatiquement corrigée (diminuée) s’il n’y a pas de point d’intersection avec les segments de trajectoire voisins programmés. élément de chanfrein Longueur de chanfrein Droite Droite Bissectrice D Chanfrein entre deux segments sécants de cercle Dans le cas de raccords de contour avec des segments de cercle, les dimensions des chanfreins se rapportent à la tangente finale et initiale respective des segments de trajectoire participant au raccord de contour. La longueur de chanfrein effective est, entre autres, fortement dépendante des rayons des cercles intéressés et diffère ainsi plus ou moins des dimensions programmées. élément de chanfrein Longueur de chanfrein Tangente 2 Segment de cercle 2 Segment de cercle 1 Bissectrice Tangente 1 4 - 28 Bosch Rexroth AG Electric Drives and Controls Fonctions CN ChLength, CHL IndraMotion MTX R911311170 / 01 ChSection, CHS Programmation Syntaxe: ChLength(<longueur de chanfrein>) ”Programmation de chanfreins” ON. Indiquer la<longueur de chanfrein> souhaitéeen mm (G71) ou pouces (G70). ChLength() ou ChLength(0) ”Programmation de chanfrein” OFF. Format abrégé: CHL(..) ChSection(<Section de chanfrein>) ”Programmation de chanfreins” ON. Indiquer la<section de chanfrein>souhaitéeen mm (G71) ou pouces (G70). ChSection() ou ChSection(0) ”Programmation de chanfrein” OFF. Format abrégé: CHS(..) Particularités et restrictions: D Les fonctions “ChLength“, “ChSection“, “RoundEps“ et “Rounding“ agissent de façon modale et se révoquent mutuellement. D Le chanfrein se réfère toujours seulement au plan de travail actif (G17, G18, G19, G20). Le fait que d’autres axes participent au mouvement n’a aucun effet sur les chanfreins. Comme les coordonnées des blocs de déplacement des axes programmés à l’intérieur du plan de travail sont modifiées par les chanfreins, mais que les valeurs pour les axes à l’extérieur du plan de travail ne sont pas modifiées, la direction peut changer dans l’espace, par exemple pour les droites. D La fonction n’agit que dans la zone de commande ”exécution”, sous ”bloc suivant”, ”bloc séparé” ou ”pas séparé”. Comme le ”bloc programmé” se comporte comme une entrée manuelle, la programmation de chanfreins est ici sans effet. D Le comportement de mise sous tension/hors tension ainsi que le comportement en position initiale sont déterminés par les initstrings dans les paramètres machine 7060 00010 und 7060 00020. R911311170 / 01 IndraMotion MTX Fonctions CN Collision, CLN 4.20 Electric Drives Bosch Rexroth AG and Controls Surveillance de collision 4 - 29 Collision, CLN Effet Offre la possibilité de mettre la surveillance anticollision de la correction de trajectoire de fraisage G41/G42 D en ou hors service et D de l’adapter à l’application au niveau de la plage de prévisualisation et du comportement en cas de collision. Ce qui suit s’applique: D La surveillance de collision est seulement effective si la correction de trajectoire de la fraise G41/G42 est active, même si le rayon de correction a la valeur ”0”. D Si la valeur de la correction de rayon ne permet pas un usinage de segments individuels du contour, la commande tente alors de modifier le tracé de la trajectoire correspondante de façon à ce que le contour ne soit pas endommagé. D Lors du tracé de contour la surveillance de collision ne prend en considération que les coordonnées du plan de travail actif. En cas d’empêchement de collision suite à une technique de programme, par ex. par modification de la profondeur de pas de pénétration WZ, la réaction de la surveillance de collision à l’intérieur de la zone de prévisualisation actuelle est malgré tout établie. Dans de tels cas, il est possible de mettre hors service temporairement la surveillance de collision dans le secteur de traitement concerné. . Pour plus d’informations détaillées sur la fonctionnalité ”Surveillance de collision”, cf. Manuel ”Description des fonctions”. . Nous recommandons d’inscrire le comportement souhaité de la surveillance de collision dans MP 7060 00010 / MP 7060 00020. Programmation Syntaxe: Collision(1) Surveillance de collision ON Maintenir le comportement actuel dans le cas d’une collision. Si le comportement n’a pas encore été programmé ou entré dans MP 7060 00010/MP 7060 00020, le comportement correspond à celui de Collision(CollErr 0). Collision() ou Collision(0) Surveillance de collision OFF. 4 - 30 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 Collision, CLN Collision(DEF) Définir le pré - réglage pour la zone de prévisualisation de la surveillance de collision à 2 blocs. Collision(CollErr <Art> ) Surveillance de collision ON et définir le comportement dans le cas d’une collision. Collision(DLA <blocs>) Définir le pré - réglage pour la zone de prévisualisation de la surveillance de collision. Prend effet avec la prochaine programmation de G41/G42. Collision(LA <blocs>) Modifier temporairement la zone de prévisualisation jusqu’à la prochaine programmation de G41/G42. Format abrégé: CLN(...) avec <Art> <blocs> Définit le comportement de la commande lors de la détection d’une collision: 0: ne pas sortir ni erreur d’exécution ni avertissements. Le traitement n’est pas interrompu, les boucles de contour sont cependant omises. 1: Editer erreur d’exécution. Le traitement est interrompu. 2: Editer avertissement. Le traitement n’est pas interrompu. Détermine la dimension (nombre de blocs) de la zone de prévisualisation. Valeur intègre. Zone de prévisualisation recommandée: 1 à 10 blocs. Particularités et restrictions: D Le pré - réglage pour la zone de prévisualisation comporte 2 blocs. D La zone maximum de prévisualisation dépend des paramètres machine 7060 00110 à 7060 00130. D Afin de pouvoir se déplacer en arrière avec une correction de trajectoire de fraise en service sans réaction de la surveillance de collision, la direction active de correction doit être échangée (à programmer G42 pour G41 actif et G41 pour G42 actif). A cette occasion la commande termine la zone de prévisualisation de la surveillance de collision automatiquement dans un bloc G41 ou G42 et démarre ensuite de nouveau la prévisualisation. R911311170 / 01 IndraMotion MTX Fonctions CN Collision, CLN Electric Drives Bosch Rexroth AG and Controls 4 - 31 Exemple: : N100 CLN(DLA 5) : : N110 G41 D10 N120 N130 N140 N150 : : : X10 X20 X30 G42 N160 N170 N180 N190 : X20 X10 X0 G40 Pré - réglage pour la zone de prévisualisation de la surveillance de collision à partir du prochain G41/G42: 5 blocs. Correction de la trajectoire de la fraise à gauche de la pièce à usiner. Déplacement en avant. Commuter à la correction de la trajectoire de la fraise à droite de la pièce à usiner. A partir du bloc 150, la prévisualisation de la surveillance de collision est terminée et ensuite démarrée de nouveau. Déplacement en arrière. Correction de la trajectoire de la fraise OFF. La surveillance de collision devient ainsi inactive mais elle n’est pas désactivée! 4 - 32 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.21 IndraMotion MTX R911311170 / 01 Coord, CRD Sélectionner transformation d’axe Coord, CRD Effet Les transformations d’axe configurées dans le groupe de paramètres machine 1030 sont activées ou désactivées. . La fonction est nécessaire par ex. dans le contexte de la programmation de coordonnées tridimensionnelles (voir manuel ”Description des fonctions) ou sous certaines conditions pour le calibrage de cinématiques d’axe (voir pages 4 - 15, 4 - 16 et 4 - 14). Une transformation d’axe peut avoir un effet au maximum en 2 points d’action dans la commande: WCS: Système de coordonnées de la pièce à usiner (par ex. pour les transformations de coordonnées comme rotation de plans ou correction de la position de la pièce à usiner) BCS: Système de coordonnés de base Transformation d’axe au point d’action 2 (par ex. lors de 5 transformations d’axe) LCS: Système de coordonnées machine local (par ex. lors de décalages de l’origine) MCS: Système de coordonnées machine Transformation d’axe au point d’action 1 (par ex. dans les cinématiques de bâton pour la transformation dans un système de coordonnées cartésien) ACS: Système de coordonnées d’axe . Pour chaque transformation d’axes disponible il est déjà défini en interne sur quel point d’action cette transformation prendra effet. R911311170 / 01 IndraMotion MTX Fonctions CN Coord, CRD Electric Drives Bosch Rexroth AG and Controls 4 - 33 Programmation Syntaxe: Coord(<AxTrafoNr>) Transformation d’axe ON Coord() ou Coord(0) Transformation d’axe au point d’action 2 OFF Coord(0{,<point d’action>}) Transformation d’axe au point d’action sélectionné OFF Format abrégé: avec <AxTrafoNr> CRD(...) Numéro de la transformation d’axe. Champs de saisie: 1... 20. Intègre. <Point d’action> Point d’action de la transformation d’axe à mettre hors service Saisie: 1 ou 2 Particularités et restrictions: D Il est possible de commuter directement entre les transformations d’axe différentes sur le point d’action 2. Une désactivation au préalable n’est pas nécessaire. D Une transformation d’axe sur le point d’action 1 ne doit être commutée que si sur le point d’action 2 aucune transformation d’axe n’est active. . L’allocation entre le type de transformation d’axe et le numéro de la transformation d’axe est déposée dans MP 1030 00110. Pour les informations au sujet des types de transformations d’axe disponibles, voir manuel ”Description des fonctions”. 4 - 34 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.22 IndraMotion MTX R911311170 / 01 CoupleSplineTab, CST Spline-tableau de couplage d’axes CoupleSplineTab, CST Effet Pour un couplage d’axes la fonction du couplage est déposée sous forme de paires de repères dans un tableau de couplage. Pour le calcul de positions de l’axe esclave entre les points de repère, la préparation de blocs génère un tableau spline. Le tableau spline est généré lors de l’interprétation de la syntaxe de couplage, puis il est stocké dans les tableaux de liaisons sous forme de fichier. Les tableaux spline sont générés automatiquement. Il est également possible de générer un tableau spline de manière définie avec CoupleSplineTab(...): D CST(STAB(<TabName>,1)) force explicitement une nouvelle création du tableau spline. D CST(STAB(<TabName>,0)) force une nouvelle création en absence de tableau spline ou lorsque celui- ci est plus ancien que le tableau de couplage. Avec CoupleSplineTab(...) il est aussi possible de créer un tableau spline sans qu’un groupe d’axes existe obligatoirement (par exemple par entrée manuelle). Le nom du tableau spline est généré à partir du nom du tableau de couplage actuellement actif et de l’ajout de l’extension ”.s”, par ex. à partir du nom du tableau de couplage curve.fct devient le nom du tableau spline curve.fct.s. . Le tableau de couplage est recherché dans le chemin de recherche actuel. Le chemin de recherche est réglé dans le paramètre machine 3080 00001. Le répertoire des tableaux de liaison est en standard /usr/lnk. Il peut être librement défini au moyen du paramètre machine 3080 00004. Programmation Syntaxe: CoupleSplineTab(STAB(<TabName>{,<1|0>})) Format abrégé: avec <TabName> <1|0> Création d’un tableau spline CST(...) Nom du tableau de couplage recherché dans le chemin de recherche actuel et pour lequel un tableau spline est créé. En option: 0: Un tableau spline n’est créée que s’il n’existe pas ou s’il est plus ancien que le tableau de couplage. (Default) 1: Nouvelle création d’un tableau spline. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN CoupleSplineTab, CST 4 - 35 Exemple: Crée, si nécessaire, le tableau spline /<répertoire de liaisons>/curve.fct.s CST(STAB(curve.fct,1)) Crée le tableau spline/<répertoire de liaisons>/curve.fct.s indépendamment de la date ou de son existence CST(STAB(curve.fct)) 4 - 36 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.23 IndraMotion MTX R911311170 / 01 DcTSel, DCS Activer les tableaux de correction D DcTSel, DCS Effet Activation d’un tableau de correction D (tableau de correction géométrie, tableau GEO). Les tableaux de correction D sont déposés en tant que fichiers XML dans le système de fichiers de la commande. Programmation Syntaxe: DcTSel({<chemin>}<nom du fichier>) Format abrégé: avec <Chemin> DCS(..) Indication optionnelle du chemin pour le répertoire dans lequel <nom du fichier> est déposé. Sans indication est recherchée dans le chemin ”/database”. Si <nom du fichier> n’y est pas présent, la commande utilise le chemin de recherche pour les sous-programmes, afin de rechercher <nom du fichier> également dans les autres répertoires. <Nom du fichier> nom du fichier du tableau de correction D avec extension du fichier incluse. Les tableaux avec un nom standard (DC<numéro>.dct) peuvent être activés directement au moyen du numéro, par ex. DcTSel(7) déclenche le tableau DC7.dct. . Pour créer et éditer les tableaux, veuillez consulter le mode d’emploi pour la commande. Exemple: : N030 DCS(geotab.dct) : N130 DCS(/mnt/ge.dct) : Effectue la recherche du tableau de correction ”geotab.dct” d’abord dans le répertoire ”/database”; ensuite, si la recherche a été infructueuse, dans le chemin de recherche pour les sous-programmes. Le premier tableau de correction D trouvé avec le nom ”geotab.dct” est activé. Recherche et déclenche le tableau de correction D ”ge.dct” dans le répertoire ”/mnt”. S’il n’y est pas trouvé, un message d’erreur est émis. R911311170 / 01 IndraMotion MTX Fonctions CN DefAxis, DAX 4.24 Electric Drives Bosch Rexroth AG and Controls Accepter le réglace d’axe de MP 4 - 37 DefAxis, DAX Effet Activation multicanaux de la configuration d’axe par défaut selon MP 1003 00002. . Pour plus d’informations en détail sur la fonctionnalité ”Transfert d’axe” voir Manuel ”Description des fonctions”. Programmation Syntaxe: DefAxis Format abrégé: DAX Particularités et restrictions: D Entraîne une erreur d’exécution en l’absence de validation d’un axe. . Etant donné que souvent plusieurs canaux interviennent dans le transfert d’axes, nous recommandons d’entrer la fonction dans MP 7060 00020 derrière le mot clé ”#SysRes”. De cette manière il est toujours possible de rétablir la configuration d’axe par défaut dans le contexte avec la ”position initiale du système”. 4 - 38 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.25 IndraMotion MTX R911311170 / 01 DiaProg, DIA RadProg, RAD Programmation du diamètre Programmation du rayon DiaProg, DIA RadProg, RAD Effet Les coordonnées pour les axes du plan (sur les machines de tours; le plus souvent la coordonnée X) peuvent être interprétées de manière alternative en tant que diamètre ou rayon. Il est ainsi possible de reprendre directement sans conversion les cotes existantes correspondantes dans le programme pièce. Si ”la programmation au diamètre” est activée, les indications d’axes de l’axe du plan pour la position de la pièce à usiner, la course restante, la position finale et la valeur programme sont précédées par le caractère du diamètre. La position machine, la valeur d’axe actuelle et la poursuite sont toujours affichées en tant que valeurs de rayon. ATTENTION Une fausse interprétation des cotes est possible! ”DIA” n’agit que sur les coordonnées de diamètre indiquées/configurées. La programmation du diamètre n’a aucune influence sur les paramètres de l’interpolation circulaire I, J, K. Il convient de s’assurer à ce que seules les cotes appropriées soient toujours programmées. Programmation Syntaxe: DIA{({<Coord1>{,...,<Coord8>}})} avec <Coordi> Programmation au diamètre pour 8 axes ou coordonnées linéaires au maximum ON. Pour toutes les coordonnées non indiquées, la programmation au diamètre est arrêtée. 8 axes ou coordonnées linéaires au maximum (i = 1...8), dont les mesures de course doivent être évaluées en tant qu’indications de diamètre. DIA Rétablit le dernier état de RAD. Après la montée en régime les valeurs par défaut des paramètres machine sont applicables. DIA() Les valeurs par défaut sont activées. L’axe de la classification X devient l’axe de diamètre si dans les paramètres machine aucune coordonnée de diamètre n’est définie. Si celui - ci n’existe pas non plus, la commande signale une erreur d’exécution. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN DiaProg, DIA RadProg, RAD RAD 4 - 39 Programmation au rayon pour toutes les coordonnées ON. Particularités et restrictions: D Ces fonctions sont modales et se révoquent réciproquement. D Si une coordonnée de diamètre est intégrée dans une transformation d’axe, la CN arrête la programmation au diamètre pour cet axe. Lors d’une transformation d’axe en service il est cependant possible de commuter également des coordonnées dans la programmation au diamètre. D Pour les modes de fonctionnement ”Entrée manuelle” et ”Exécution” ce qui suit s’applique: Lors de cotes pour les coordonnées du centre du cercle, les longueurs outil et les décalages de l’origine, les coordonnées de l’axe du plan sont toujours interprétées en tant que valeur de rayon. D Pour les modes de fonctionnement ”Manivelle” et ”JOG” ce qui suit s’applique: Il est possible de commuter entre programmation au diamètre et programmation au rayon par signal d’interface d’axe ”Longueur de pas diamètre” (qAx_JogDia). Exemple: N10 DIA() N20 DIA(Y1,W2) N30 RAD N40 DIA : Mettre en service les coordonnées de diamètre configurées. Les coordonnées Y1 et W1 indiquées deviennent des coordonnées de diamètre, toutes les coordonnées non programmées deviennent des coordonnées de rayon. La programmation au diamètre est arrêtée pour toutes les coordonnées. Les coordonnées Y1 et W1 deviennent des coordonnées de diamètre (dernier état avant RAD). 4 - 40 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.26 IndraMotion MTX R911311170 / 01 DistCtrl, DCR Réglage en hauteur pour la numérisation DistCtrl, DCR Effet Permet de maintenir constant l’écart entre la surface balayée et le dispositif de mesure (laser par exemple). Ceci permet de garantir qu’on ne sortira pas de la zone de travail disponible pour le dispositif de mesure. . Pour plus d’informations détaillées sur la fonction, cf. Manuel ”Description des fonctions”. Programmation Syntaxe: DistCtrl(1) ou DistCtrl Démarre le réglage en hauteur et reprend la distance actuelle entre le dispositif de mesure et la surface en tant que valeur de référence. Les données de configuration définies au moyen du paramètre machine 7050 007xx prennent effet. DistCtrl() ou DistCtrl(0) Termine le réglage en hauteur, reprend la valeur de correction actuelle et arrête le mouvement des axes. S’il programmé conjointement dans le même bloc avec un mouvement de déplacement, le réglage en hauteur n’est désactivé qu’après l’exécution du mouvement. DistCtrl(<Fkt>) Ecrase quelques données de configuration spécifiques à la fonction dans les paramètres machine. Format abrégé: avec <Fct> DCR(...) DcAxis(<axe>,<Corr>) écrase MP 7050 00702. Format abrégé: DCA(...) <Axe> Nom ou numéro de l’axe canal qui doit être réglé en hauteur. <Korr> Direction de mouvement dans laquelle les valeurs de correction doivent être calculées : +1 ou 1: en direction de mouvement positive - 1: (en direction de mouvement négative) DcFilter(<temps>) écrase MP 7050 00730. Format abrégé: DCF(...) R911311170 / 01 IndraMotion MTX Fonctions CN DistCtrl, DCR Electric Drives Bosch Rexroth AG and Controls <temps> 4 - 41 Paramétrage de filtre pour le lissage des valeurs de la sonde. 0: Filtre Off >0: Filtre ON; temps de lissage en ms DcLimit({<vit.>},{<accél.>}) écrase MP 7050 00740 ou MP 7050 00741. Format abrégé: DCL(...) <Vit.> Vitesse de modification maximum de la valeur de correction. Ecrase MP 7050 00740. Valeur d’entrée en fonction du système de mesure actif (G71,G70) dans l’unité mm/min ou pouce/min. <Accél.> Pente maximum (accélération) de la valeur de correction. Écrase MP 7050 00741. Valeur d’entrée en fonction du système de mesure actif (G71,G70) en m/s2 ou 1000 pouces/ s2. DcMon({<collision>},{<trou>}) Ecrase MP 7050 00750 ou MP 7050 00751. Format abrégé: DCM(...) <collision> Plage de tolérance pour l’identification de collision. Ecrase MP 7050 00750. Valeur d’entrée en fonction du système de mesure actif (G71,G70) dans l’unité mm ou pouces. 0: Identification de collision OFF. <trou> plage de tolérance pour l’identification du trou. Ecrase MP 7050 00751. Valeur d’entrée en fonction du système de mesure actif (G71,G70) dans l’unité mm ou pouces. 0: Identification du trou OFF. DcBreak Format abrégé: Interrompt la régulation en hauteur. La valeur de correction actuelle reste active. DCB DcCont Format abrégé: Reprend une régulation en hauteur interrompue auparavant par DCB. La CN équilibre aussi vite que possible la différence avec la valeur de référence. DCC 4 - 42 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.27 IndraMotion MTX R911311170 / 01 EndPosCouple, EPC Couplage de position finale EndPosCouple, EPC Effet Effectue le couplage de deux coordonnées actuelles synchrones à l’intérieur d’un canal selon le rapport suivant: D ∆ coordonnée esclave = facteur de couplage * ∆ coordonnée maître. Pour pouvoir effectuer le calcul de la coordonnée esclave en résultant les définitions de position de la coordonnée maître sont toujours converties automatiquement en courses incrémentielles. Pour chaque bloc CN dans lequel une définition de position de la coordonnée maître est programmée, la commande calcule la position finale nécessaire de la coordonnée esclave selon le rapport ci - dessus. Fondée sur autres fonctions CN, la coordonnée esclave se comporte ainsi de la manière que si sa course de déplacement avait été écrite spécialement dans le programme pièce au moyen de la programmation dimension relative locale (IC). Ceci signifie par ex. que l’avance actuelle prend effet sur le mouvement sur trajectoire résultant. Programmation Syntaxe: EndPosCouple(<M-Coord>, <S-Coord>,<facteur>) Couplage de position finale ON. EndPosCouple() ou EndPosCouple(0) Couplage de position finale OFF. Format abrégé: avec <M-Coord> <S-Coord> <facteur> EPC(...) Nom de la coordonnée maître. Nom de la coordonnée esclave. Rapport entre la course de déplacement esclave et la course de déplacement maître. Particularités et restrictions: D Le couplage de position finale en relation avec des coordonnées sans fin (coordonnées dont leur valeurs seront transformées automatiquement en leur plage de valeur définie lors du dépassement de leurs limites de la zone) est impossible. D Une programmation de coordonnées polaires n’est pas permise lors d’un couplage de position finale activé. D Lors du couplage de position finale actif les coordonnées maître et esclave ne doivent pas être programmées simultanément dans le même bloc CN. La programmation exclusive de la coordonnée esclave dans un bloc CN est cependant permise. D Ni la coordonnée maître ni l’esclave ne doivent quitter le canal lors du couplage de la position finale actif. L’échange d’axe ou les modifications de la transformation active sont interdits. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN EndPosCouple, EPC 4 - 43 D Même si la programmation au diamètre est activée pour la coordonnée maître (voir page 4 - 38), la valeur du rayon correspondante est utilisée pour le couplage. Exemple: N10 G18 G0 Z0 Plan actif: z,x. par vitesse rapide sur z=0. N20 G1 F1000 Z3 X1 Positionnement sur P1. N30 EPC(Z,X,1) : : Activer le couplage de position finale. Coordonnée maître: Z; coordonnée esclave: X Course de déplacement esclave = course de déplacement maître. N40 Z4 Positionnement sur P2. N50 X1 Positionnement sur P3. N60 Z5 Positionnement sur P4. N70 X3 Positionnement sur P5. N80 Z0 Positionnement sur P6. N90 EPC() : Couplage de position finale OFF. +X P5 30 P2 20 P4 P1 10 P3 PCS 10 - 10 - 20 P6 20 30 40 50 +Z 4 - 44 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.28 IndraMotion MTX R911311170 / 01 FeedAd, FAD Formation d’avance: Masquage d’axes FeedAd, FAD Effet Enlève en commun tous les axes définis dans MP 1003 00020 de la formation d’avance. Les axes enlevés sont ensuite déplacés en même temps de manière synchrone. En conséquence l’avance réelle peut s’agrandir par rapport à la valeur F programmée. Programmation Syntaxe: FeedAd(1) ou FeedAd Enlever les axes de la formation d’avance FeedAd(0) ou FeedAd() Prendre en considération les axes lors de la formation d’avance Format abrégé: FAD(..) Particularités et restrictions: D Dans la mesure où dans un bloc exclusivement des axes qui sont masqués pour la formation d’avance sont déplacés, leur avance peut être réglée par l’adresse ”Omega” au lieu de par l’adresse ”F” (voir page 3 - 107). Exemple: (dans MP 1003 00020 l’axe Y est entré) : N100 G94 G0 X0 Y0 N110 N120 : : N150 N160 : : FeedAd() X100 Y100 F100 FeedAd X200 Y200 F100 Positionnement sur P(0;0) en vitesse rapide. Positionnement sur P(100;100). Progr. Avance traj.: 100 mm/min Avance réelle: 100 mm/min Positionnement sur P(200;200). Avance progr.: 100 mm/min Avance réelle: 141,42 mm/min R911311170 / 01 IndraMotion MTX Fonctions CN FeedForward, FFW 4.29 Electric Drives Bosch Rexroth AG and Controls Anticipation 4 - 45 FeedForward, FFW Effet La fonction diminue la poursuite due au système par la correction correspondante des valeurs définies de l’interpolateur dans l’entraînement. Il est ainsi possible d’atteindre une fidélité augmentée de contour ou le ”fonctionnement sans erreur de poursuite”. . La fonction ”anticipation” est réalisée selon les valeurs par défaut du fabricant dans l’entraînement et elle ne sera activée/désactivée que par la syntaxe de l’ordre à partir du programme de pièces. Pour une description détaillée de la fonction ”Anticipation”, veuillez consulter la documentation sur l’entraînement. . La possibilité de l’activation de l’anticipation doit être validée au moyen du paramètre machine 1003 00009 pour les axes correspondants. Programmation Syntaxe: FeedForward(1)ou FeedForward FeedForward(<Adr><valeur>,...) FeedForward() ou FeedForward(0) Activer pour tous les axes validés selon MP 1003 00009 l’anticipation (les entraînements pertinents seront commutés en mode de fonctionnement secondaire 1). Activer/désactiver l’anticipation pour les axes programmés (effet dépendant de <valeur>). Désactivation de l’anticipation pour tous les axes (Tous les entraînements pertinents seront commutés sur leur mode de fonctionnement principal.) Format abrégé: FFW(..) avec <Adr>: Adresse physique ou logique d’axe. <valeur>: information de course pour <Adr>. 0: Désactiver l’anticipation. différente à 0: Activer l’anticipation Exemple: N10 FFW : N50 FFW(Z0) : N90 FFW() : : Activer l’anticipation pour tous les axes du canal validés selon MP 1003 00009. Désactiver l’anticipation pour Z (commuter Z sur mode de fonctionnement principal). Désactiver l’anticipation de tous les axes du canal (commuter sur mode de fonctionnement principal). 4 - 46 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 FeedForward, FFW Particularités et restrictions: D Lors de la désactivation de l’anticipation tous les axes du canal sont commutés sur leur mode de fonctionnement principal. D Le paramétrage de la fonction de l’anticipation dans l’entraînement n’est possible que par réécriture des paramètres d’entraînement pertinents. ”WriteId” est disponible en tant que fonction pour l’écriture de paramètres SERCOS par programme de pièces (voir page 4 - 170). R911311170 / 01 IndraMotion MTX Fonctions CN FlyMeas, FME 4.30 Electric Drives Bosch Rexroth AG and Controls Mesure au vol 4 - 47 FlyMeas, FME Effet La fonction ”Mesure au vol” sert à la mesure d’accompagnement pendant le traitement. Le déplacement n’est pas interrompu lors de la commutation du palpeur de mesure. La position de mesure est transmise par l’entraînement au CN. Elle peut être consultée à l’aide de l’ordre CPL PPOS. Programmation Syntaxe: FlyMeas(MpiAxis<i>)<coordonnées d’axe> Démarrage du cycle de mesure. Format abrégé: FME(..) avec <i>: Index de l’axe physique avec lequel il doit être mesuré. <Coordonnées d’axe>: Position sur laquelle doit avoir lieu le déplacement pendant la mesure. Particularités et restrictions: D Avant la première mesure, le palpeur de mesure doit être initialisé une fois à l’aide de la fonction ”InitMeas”. D La fonction agit bloc par bloc. D Il est possible de programmer la fonction en commun avec tous les types d’interpolation; elle agit parallèlement à l’interpolation active. D Si le palpeur de mesure ne commute pas, la CN attend à la fin du bloc jusqu’à ce qu’un évènement de mesure se réalise. D La prévisualisation de blocs doit être respectée si l’information du palpeur de mesure doit être traitée ultérieurement. Le cas échéant il convient de programmer un WAIT ou bien la prévisualisation doit être limitée par BlkNmb. D La position de mesure peut être consultée grâce à PPOS. D La fonction peut être utilisée pour des axes sans fin linéaires, si les positions programmées sont affectées d’un signe plus. Un déplacement en marche arrière avec le palpeur de mesure (programmation de positions négatives) ne fournit aucune valeur précise! 4 - 48 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 FlyMeas, FME Exemple: : N100 IME(MpiAxis 1) : Initialisation de la logique du palpeur de mesure de l’axe physique 1 (ici: axe X). N110 G0 X0 Y0 N120 FME(MpiAxis 1) G1 X10 Y10 : +Y 20 Le palpeur de mesure se déclenche. La position actuelle (ici: de l’axe X) est sauvegardée. Démarrage du cycle de mesure et positionnement en avance sur X10,Y10. Continuer le déplacement jusqu’au point final programmé Pièce à usiner 10 +X 10 20 R911311170 / 01 IndraMotion MTX Fonctions CN FsProbe, FSP 4.31 Electric Drives Bosch Rexroth AG and Controls Mesure sur butée fixe 4 - 49 FsProbe, FSP Effet Pendant que la commande déplace par interpolation linéaire tous les axes synchrones programmés dans l’avance indiquée sur le point final programmé, le couple actuel est surveillé sur un axe sélectionné. Si le couple de cet axe dépasse lors du mouvement une valeur limite configurable, les actions suivantes se déclenchent dans la commande: D Emission du Signal IF d’axe ”Butée fixe atteinte” D Mémorisation de la position réelle D Freinage du mouvement sur trajectoire à v=0 avec accélération au maximum permise D Effacement de la course restante D Suppression de ”FsProbe” (”FsProbe” agit bloc par bloc). La commande génère un message d’erreur si aucune ”butée fixe” n’a encore été atteinte en fin de trajectoire (dépassement du seuil de couple défini). . N’utiliser ”FsProbe” qu’en liaison avec un programme CPL pour évaluation. Programmation Syntaxe: FsProbe(MfsAxis<i>) <Coordonnées> <avance> ”Mesurer sur butée fixe” ON pour axe <i>, et déplacer les coordonnées programmées avec interpolation linéaire. FsProbe(MfsAxis (<i>,<seuil>)) <Coordonnées> <avance> ”Mesurer sur butée fixe” ON avec seuil de couple pour axe <i>, et déplacer les coordonnées programmées avec interpolation linéaire Format abrégé: FSP(..) avec <i> <Seuil> Index de l’axe physique avec lequel doit être mesuré. seuil de couple. Valeur d’entrée: en % du couple maximal. Si <seuil> n’est pas programmé, le paramètre machine 1003 00031 prend effet (valeur limite de couple butée fixe). <Coordonnées> Position sur laquelle doit avoir lieu le déplacement pendant la mesure. <Avance>: Avance souhaitée sur trajectoire. Limitée par MP 1005 00030 (avance maximale pour déplacement sur butée fixe) et par MP 1005 00002 (vitesse maximale d’axe et de vitesse rapide). 4 - 50 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 FsProbe, FSP Exemple: N100 FSP(MfsAxis(1,30)) X100 F500 110 IF SD(9)=0 THEN 120 : : XPOS=PPOS(1) N130 140 150 N160 N170 N180 (MSG, CONTACT) GOTO N180 ENDIF (MSG, NO CONTACT) M0 ... Activer ”mesure sur butée fixe” pour le premier axe physique et approcher la position X100 avec F500. Régler 30% du couple maximal en tant que seuil de couple. Interrogation si le seuil de couple a été dépassé. Mémorisation de la position au moment de la commutation du 1er axe (axe X) dans les variables XPOS. Arrêt de programme Particularités et restrictions: D Dans le bloc ”FsProbe”, les fonctions suivantes sont interdites: D G75 (palpeur de mesure), D InitMeas/FlyMeas (mesure au vol), D RedTorque (réduction de couple), D FsMove/FsReset/FsTorque (déplacement sur butée fixe). D ”FsProbe” doit être programmée conjointement avec au moins une coordonnée. Cette valeur représente la profondeur de recherche maximale à laquelle la ”butée fixe” devra être atteinte au plus tard. D ”FsProbe” arrête implicitement la préparation des blocs suivants. La programmation de ”WAIT” est donc inutile. D L’évaluation si la ”butée fixe” est atteinte, la poursuite du programme (suite à une erreur), les suivis de sécurité, la génération de messages d’erreur etc. doivent être réalisés dans le programme CPL. D Par SD(9) il est possible de consulter si la butée fixe a été atteinte. D La position de la butée fixe peut être consultée avec PPOS. R911311170 / 01 IndraMotion MTX Fonctions CN FsMove, FSM FsTorque, FST FsReset, FSR 4.32 Electric Drives Bosch Rexroth AG and Controls Déplacement sur butée fixe . 4 - 51 FsMove, FSM FsTorque, FST FsReset, FSR La fonction Déplacement sur butée fixe est également applicable pour les axes asynchrones! Effet La fonctionnalité globale ”déplacement sur butée fixe” comprend les fonctions partielles suivantes: 1. ”Réduction de couple butée fixe”: FsTorque, FST Réglage du couple que l’entraînement peut fournir au maximum après la mise en service de ”déplacement sur butée fixe”. Si ”FsTorque” n’est pas utilisé, MP 1003 00031 prend effet. 2. ”Déplacement sur butée fixe”: FsMove, FSM Démarrer le mouvement en direction de la butée fixe en prenant compte du couple maximal permis. L’atteinte du couple permis au maximum (voir point 1.) dans le déroulement de ce mouvement déclenche dans la commande la chaîne d’action suivante: D Emission du signal IF d’axe ”Butée fixe atteinte”. D Freinage du mouvement sur trajectoire à v=0 avec accélération maximale permise. D Mettre la position théorique sur: Position effective + 0,1 mm (ou position effective + 0,1 degrés). D Surveillance de la position de l’axe en ce qui concerne: position de la butée fixe + MP 1003 00032 (”Fenêtre de monitorage Butée fixe en mm ou degré”) D Maintenir le couple spécifié sur l’entraînement concerné. D Continuer le traitement du programme pièce. La commande émet un message d’erreur si une butée fixe n’a encore été atteinte en fin de trajectoire programmée (atteinte du seuil de couple défini; voir ”FsTorque”). ”FsMove” reste active au - delà du bloc ”FsMove” et ne sera arrêté que par ”FsReset”. 3. ”Suppression butée fixe”: FsReset, FSR Débloquer les axes et quitter la butée fixe le cas échéant. D Dans la mesure où des axes synchrones et/ou asynchrones ont été programmés dans le bloc ”FsReset”, la commande déplace tous les axes avec l’avance définie sur les points d’arrivée programmés. Pour le déplacement le couple maximal permis des différents axes est valide. 4 - 52 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 FsTorque, FST FsMove, FSM FsReset, FSR D Si des axes n’ont pas été programmés dans le bloc ”FsReset”, seuls les axes synchrones seront débloqués. Les axes asynchrones pour lesquels ”déplacement sur butée fixe” est encore actif, ne peuvent être débloqués dans ce cas que par le signal d’interface ”supprimer butée fixe”. . Dans la mesure où cela est souhaité et si ”FsReset” (voir point 3.) n’est pas encore programmé, il est possible de modifier par ”FsTorque” (voir point 1.) dans la suite du programme de pièces un couple agissant de manière active sur la butée fixe. Programmation Syntaxe: FsTorque(<Adr><Mom>) Activer pour l’axe <Adr> le couple maximal permis <Mom> . Les axes synchrones et asynchrones sont permis. Format abrégé: FST(..) FsMove <Koord-Syn> <Avance> <Koord-Asy> <Avance-Asy> Activer ”Déplacement sur butée fixe” Déplacer les axes synchrones et asynchrones sur les positions finales programmées. Format abrégé: FSM(..) FsReset <Koord-Syn> <Avance> <Koord-Asy> <Avance-Asy> Désactiver ”Déplacement sur butée fixe”. Déplacer les axes synchrones et asynchrones sur les positions finales programmées. Format abrégé: FSR(..) avec <Adr>: <Mom>: <Koord-Syn>: <Avance>: Adresse physique ou logique d’axe, axes asynchrones également possibles. Couple maximal en % du couple d’arrêt d’axe correspondant. Plage: de 0 à 500 %. Coordonnées souhaitées pour le point d’arrivée d’axes synchrones (par ex. ”X100 Y100 Z100”). Sont approchés par interpolation linéaire de tous les axes intéressés en tenant compte de <Avance> et de MP 1010 00030 (accélération maximale ”Déplacement sur butée fixe”). Avance souhaitée sur trajectoire. Est programmé par l’adresse ”F” et limitée par MP 1005 00030 (avance maximale ”Déplacement sur butée fixe”) et MP 1005 00002 (vitesse maximale d’axe et vitesse en avance rapide). R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN FsTorque, FST FsMove, FSM FsReset, FSR <Koord-Asy>: <Avance-Asy>: 4 - 53 Coordonnées souhaitées pour point d’arrivée d’axes asynchrones. Approche des coordonnées en tenant compte de <Avance-Asy> et de MP 1010 00030 (accélération maximale ”Déplacement sur butée fixe”). Avance souhaitée pour axes asynchrones. Programmée par l’adresse ”FA” et limitée par MP 1005 00030 (avance maximale ”Déplacement sur butée fixe”) et MP 1005 00002 (vitesse maximale d’axe et vitesse en avance rapide). Exemple: : N100 FST(X20) N110 FSM X100 F200 : : : N500 FSR : Limiter le couple pour l’axe désigné ”X” à 20% du couple d’arrêt d’axe. Activer ”Déplacement sur butée fixe” Démarrer le mouvement avec avance 200 mm/min sur position X=100. Continuer le traitement du programme de pièces. Désactiver ”Déplacement sur butée fixe” et débloquer tous les axes synchrones. Particularités et restrictions: D Les fonctions suivantes ne sont pas permises lors du ”Déplacement sur butée fixe” et dans le bloc ”FsReset”: D G75 (palpeur de mesure) D InitMeas/FlyMeas (mesure au vol) D Réduction des couples via interface API D FsProbe (Mesurer sur butée fixe). D FsMove doit être programmée conjointement avec au moins une coordonnée pour le point d’arrivée. Cette valeur représente la profondeur de recherche maximale à laquelle la ”butée fixe” devra être atteinte au plus tard. 4 - 54 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.33 IndraMotion MTX R911311170 / 01 GetAxis, GAX Reprise d’axe GetAxis, GAX Effet Reprend un axe asynchrone dans le canal appelant. Ainsi l’axe asynchrone devient un axe synchrone. En conséquence l’axe est programmable dans le canal actuel à l’aide de son nom physique ou logique d’axe. . Pour plus d’informations en détail sur la fonctionnalité ”Transfert d’axe” voir Manuel ”Description des fonctions”. Programmation Syntaxe: GetAxis(<PAN> | <PAI>,{<LAN>}{,<PAN> | <PAI>,{<LAN>}}...) Format abrégé: avec <PAN> <PAI> <LAN> GAX(..) Nom physique d’axe. Définit cet axe qui doit être repris dans le canal actuel. Index physique d’axe. Effet similaire à <PAN>. Nom logique d’axe. Dans la mesure où il est programmé, l’axe à intégrer aura dans le canal actuel le nom logique <LAN>. <LAN>doit être défini dans MP 7010 00010 (désignation logique d’axe) ou MP 7010 00020 (désignation optionnel d’axe). Particularités et restrictions: D Un axe à reprendre doit être arrêté. Si cela n’est pas le cas, la commande génère – contrairement à la fonction ”WaitAxis” (voir page 4 - 169) - un message d’erreur et interrompt le programme. D Les positions d’axes dans le même bloc doivent être programmées toujours selon GetAxis(...) et la programmation ne doit s’effectuer que si aucune transformation d’axe est active. D Les axes à reprendre ne doivent participer à aucune zone de surveillance (voir page 4 - 3). Exemple: : N030 GAX(YP,,ZP,Z) : Les axes physiques YP et ZP sont repris dans le canal appelant. Lorsque YP est contacté également dans le canal appelant en tant qu’adresse YP, ZP reçoit l’adresse Z dans le canal appelant. R911311170 / 01 IndraMotion MTX Fonctions CN HsBlkSwitch, HSB 4.34 Electric Drives Bosch Rexroth AG and Controls 4 - 55 Changement de bloc au vol via signal HighSpeed - HsBlkSwitch, HSB Effet Permet le changement de bloc anticipé via les entrées Highspeed de la commande. De cette manière il est possible d’anticiper l’arrêt d’un déplacement linéaire en fonction d’évènements externes. ATTENTION Modification de la trajectoire programmée! Dans la mesure où les points d’arrivée programmés du bloc ”HsBlkSwitch” et leur bloc suivant ne se trouvent pas sur une droite, l’apparition d’un événement externe engendre toujours une modification de la trajectoire qui ne peut pas être prévue exactement! . Il est possible de configurer les signaux Highspeed à l’aide des paramètres machine. Pour changement de bloc au vol, ce qui suit s’applique: D supprimer sans course restante dans les modes de fonctionnement ”bloc de suivi”, ”bloc séparé” et ”pas séparé”. D supprimer avec course restante dans les modes de fonctionnement ”bloc de programmation”, et ”entrée manuelle”. D dans la plupart des cas sans arrêt de l’axe. Le bloc est quitté avec la vitesse actuelle (exceptions voir ”particularités et restrictions”). D pas de contrôle en ce qui concerne la capacité de saut de l’axe possible au maximum D Le mode d’action dépend du mode de fonctionnement actuel (bloc de suivi/séparé/de programmation, pas séparé, entrée manuelle). Voir ”Particularités et restrictions”. Programmation Syntaxe: HsBlkSwitch(HS<x>=<y>) Changement de bloc au vol Format abrégé: HSB(..) avec <x>: <y>: Numéro du signal Highspeed. Plage de valeurs: 1...8, Intègre. Etat de signal nécessaire pour le changement de bloc. 0: Low 1: High 4 - 56 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 HsBlkSwitch, HSB Particularités et restrictions: D La fonction exige un déplacement linéaire non seulement dans le bloc ”HsBlkSwitch” mais aussi dans son bloc de suivi. D La fonction doit être écrite avec une information de course et peut être écrite conjointement avec d’autres conditions de course. D Sous les modes de fonctionnement bloc de suivi, bloc séparé et pas séparé les points d’arrivée de tels axes sont repris du bloc terminé par anticipation, qui ne sont pas programmés dans le bloc de suivi. D Le ”Changement de bloc au vol” avec arrêt d’axe s’effectue dans les cas suivants: D Coude entre segments de contour de >90 degrés entre le bloc ”HsBlkSwitch” et de son bloc de suivi. D L’arrêt précis est actif, c’est - à - dire G0(IPS...) ou G1(IPS...). D Le bloc de suivi commence en raison d’une programmation ave v=0 (par ex. lors de la programmation KV active ou de l’anticipation. D L’interpolation bloc par bloc avec G9(SHAPE...) ou G9(ASHAPE) est active. D Les modes de fonctionnement ”bloc séparé”, ”pas séparé”, ”bloc de programmation” ou ”entrée manuelle” sont actifs. Exemple: avance dépendant d’un événement L’avance effectuée doit être réduite sur une course droite dépendant d’un événement externe. Pour cela 3 blocs CN sont nécessaires dans lesquels sont définies des indications d’avance différentes à chaque fois. Etant donné que lors de la transition de bloc un freinage à v=0 ne doit pas être effectué, un changement de bloc au vol est nécessaire. Veuillez respecter que tous les points d’arrivée doivent se trouver sur la même droite en raison de la mission (...”sur une course droite”...). . Les points d’arrivée d’un bloc de suivi ne doivent pas être identiques aux ceux du bloc précédent. Sinon un déplacement dans le bloc de suivi n’est pas déclenché! . La distance de déplacement programmée d’un bloc de suivi influence la vitesse d’avance possible au maximum sur la transition de bloc. Les distances de déplacement trop courtes peuvent engendrer une réduction automatique de la vitesse de trajectoire! R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN HsBlkSwitch, HSB : N20 4 - 57 Approche à la position de départ. HSB(HS1=1) G1 X100 Y10 F500 Déplacement avec F500 jusqu’à l’atteinte du signal 1 Highspeed égale ”High” ou X100 Y10. HSB(HS1=0) X110 Y11 F100 Déplacement avec F100 jusqu’à l’atteinte du signal 1 Highspeed égale ”Low” ou X110 Y11. X120 Y12 F500 Parcourir la course restante jusqu’à X120 Y12 avec F500. G0 X0 Y0 N30 N40 N50 : N50 Y N40 N30 10 V HS1=1 100 110 120 HS1=0 X 500 100 t V N30 N40 N50 HS1=1 et reste 1 500 100 t V N30 N40 N50 HS1=0 et reste 0 (aucun évènement externe) 500 100 t N30 N50 N40: changement de bloc immédiat, parce que HS1=0 4 - 58 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.35 IndraMotion MTX R911311170 / 01 HsBlkSwitch(..,HSSTOP=..), HSB(..,HSSTOP=..) Changement de bloc avec annulation via signal Highspeed HsBlkSwitch(..,HSSTOP=..), HSB(..,HSSTOP=..) Effet Permet le changement de bloc anticipé via les entrées Highspeed de la commande. De cette manière il est possible d’anticiper l’arrêt d’un déplacement linéaire en fonction d’évènements externes. ATTENTION Modification de la trajectoire programmée! Dans la mesure où les points d’arrivée programmés de ”HsBlkSwitch” et leur bloc suivant ne se trouvent pas sur une droite, l’apparition d’un événement externe engendre toujours une modification de la trajectoire qui ne peut pas être prévue exactement! . Il est possible de configurer les signaux Highspeed à l’aide des paramètres machine. Pour le changement de bloc avec annulation s’applique: D supprimer dans tous les modes de fonctionnement avec course restante. D Freinage toujours à v=0; en option par saut de vitesse ou Downslope. Egalement si l’évènement externe ne s’est pas produit un freinage à v=0 est effectué. Programmation Syntaxe: HsBlkSwitch(HS<x>=<y>,HSSTOP=<z>) Changement de bloc avec annulation Format abrégé: HSB(..,HSSTOP=..) avec <x>: <y>: <z>: Numéro du signal Highspeed. Plage de valeurs: 1...8, Intègre. Etat de signal nécessaire pour le changement de bloc. 0: Low 1: High Mode de freinage lors de l’apparition de l’événement : 0: Décélération avec rampe à v=0 avec accélération de freinage maximale - 1: Saut de vitesse à V=0. Particularités et restrictions: D La fonction exige un déplacement linéaire non seulement dans le bloc ”HsBlkSwitch” mais aussi dans son bloc de suivi. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN HsBlkSwitch(..,HSSTOP=..), HSB(..,HSSTOP=..) 4 - 59 D La fonction doit être écrite avec une information de course et peut être écrite conjointement avec d’autres conditions de course. Exemple: Annulation du déplacement dépendant de l’évènement: : N20 G1 X0 Y0 F1000 Approche à la position de départ. N30 HSB(HS1=1,HSSTOP=-1) Déplacement de l’axe X avec F10 jusqu’à X10 F10 l’atteinte du signal 1 Highspeed égale ”High” ou X10. Un évènement se produisant déclenche le saut à v=0 et la suppression de la course restante. N40 HSB(HS2=1,HSSTOP=0) Déplacement de l’axe Y avec F200 jusY100 F200 qu’à l’atteinte du signal 2 Highspeed égale ”High” ou Y100. Un évènement se produisant déclenche la décélération avec rampe à v=0 avec accélération du freinage maximale et la suppression de la course restante. 4 - 60 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.36 HWOC IndraMotion MTX R911311170 / 01 HWOCDIS Correction en ligne dans les coordonnées de pièce à usiner HWOC HWOCDIS Effet Avec la correction en ligne dans les coordonnées de la pièce à usiner D les positions actuelles ou les orientations dans le système de coordonnées de la pièce à usiner d’un canal, ou D les positions de l’axe longitudinal de l’outil en direction TCS-z sont ”surmontées” d’une correction. La commande déduit la dimension de la correction à partir d’une manivelle raccordée (cas normal), d’un entraînement ou de la valeur d’une variable CPL. Pour plus d’informations en détail sur la fonction voir Manuel ”Description des fonctions”. Programmation Syntaxe: HWOC({CHAN<No. canal>},CRDNO <No.coor>,{STEP<Inkr>}) Correction en ligne ON HWOCDIS{(CHAN<No. canal>)} Correction en ligne OFF, la dimension de correction actuelle reste enregistrée en interne. HWOC() ou HWOC(0) Correction en ligne OFF et suppression des valeurs de correction pertinentes. avec <No. canal> numéro du canal dans lequel la correction en ligne est activée/désactivée. Si CHAN<No. canal> n’est pas programmé, le numéro du canal actuel est actif. <No. coord.> Coordonnée sur laquelle la correction en ligne doit prendre effet. Plage de valeurs:1 à 9 et 103. Intègre. 1 à 8: Numéro de coordonnée dans le canal indiqué 9 ou 103: coordonnée TCS. <Inkr> Définition de la longueur de pas souhaitée par 1 incr. Seulement actif si MP 7050 00926 = 0. Particularités et restrictions: D Une position de coordonnée générée par correction en ligne n’est pas contrôlée en ce qui concerne le dépassement des commutateurs de fin de course logiciel. Pour cette raison lors de l’utilisation de la correction en ligne un contrôle des commutateurs de fin de course du côté entraînement devrait être activé. D Une correction en ligne n’est pas possible dans les modes ”Réglage manuel” (Mode JOG) et ”Réglage approche du point de référence”. R911311170 / 01 IndraMotion MTX Fonctions CN HWOC Electric Drives Bosch Rexroth AG and Controls 4 - 61 HWOCDIS D G76 approche une position décalée par la valeur de correction actuelle. D Les fonctions CPL ”PPOS” et ”PCSPROBE” ne tiennent pas en compte la valeur corrigée en correction en ligne. D G75 mesure la position réelle actuelle (correction en ligne incluse). D ”FsProbe” mesure la position réelle actuelle (correction en ligne incluse). 4 - 62 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.37 IndraMotion MTX R911311170 / 01 InitMeas, IME HWOCDIS Initialisation mesure au vol InitMeas, IME Effet La fonction InitMeas sert à l’initialisation du palpeur de mesure pour la fonctionnalité ”Mesure au vol” (FlyMeas). L’initialisation doit être appelée avant la première mesure d’un axe. Programmation Syntaxe: InitMeas(MpiAxis<i>) Initialisation de la logique du palpeur de mesure. Format abrégé: IME(..) avec <i>: Index de l’axe physique avec lequel il doit être mesuré. Particularités et restrictions: D La fonction agit bloc par bloc. D Il est possible de programmer la fonction en commun avec tous les types d’interpolation; elle agit parallèlement à l’interpolation active. D La fonction doit être appelée avant le premier appel de la fonction ”FlyMeas” pour chaque axe concerné. R911311170 / 01 IndraMotion MTX Fonctions CN JogWCSSelectHWOCDIS 4.38 Electric Drives Bosch Rexroth AG and Controls 4 - 63 Mode JOG dans coordonnées de la pièce à usiner JogWCSSelect Effet Définition pour le mode de fonctionnement ”mode de réglage, Jog dans les coordonnées de la pièce à usiner”, de quelle coordonnée doit être déplacée en mode Jog ou à l’aide de la manivelle. Les coordonnées suivantes peuvent être sélectionnées pour le mode Jog: D toutes les coordonnées d’axes de machine individuels (coordonnées pseudo), dans la mesure où aucune transformation d’axe n’est active. D toutes les coordonnées linéaires et d’orientation –se rapportant au WCS actif- , si une transformation d’axe apte à l’orientation est active. D la coordonnée TCS z, dans la mesure où une transformation d’axe apte à l’orientation est active. Il dépend du réglage dans MP 7050 01010 si la vitesse d’avance et le pas de comptage (lors du Jog incrémental) sont à déduire des réglages d’un axe de machine existant ou s’ils doivent être programmés explicitement. . Pour plus d’informations en détail sur la fonction voir Manuel ”Description des fonctions”. Programmation Syntaxe: JogWCSSelect({JWSCHAN<No. canal>,}JWSCOORD<No. coord.>, {JWSFEED<F-valeur>{,JWSSTEP<Incr>}}) avec <No. canal> numéro du canal dans lequel doit être déplacée une coordonnée par mode Jog. Default: Numéro du canal dans lequel la fonction est programmé. <Koordnr> Sélection des coordonnées. Plage de valeur : 1 à 8 et 103. Intègre. 1 à 8: Numéro de la coordonnée à déplacer par mode Jog 103: La coordonnée TCS doit être déplacée par mode Jog. <F-valeur> Vitesse de déplacement par mode Jog. Valeur d’entrée en fonction du système de mesure actif (G71,G70) dans l’unité mm/min, pouce/min ou degré/min. Seulement actif si MP 7050 01010 = 0. <Inkr> Sélection d’un déplacement manuel incrémentiel par mode Jog et définition des pas en incréments. Seulement actif si MP 7050 01010 = 0. 4 - 64 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 JogWCSSelectHWOCDIS Particularités et restrictions: D La fonction est prévue pour la mise en œuvre dans un programme spécial CN pour la sélection des coordonnées (voir également MP 705001110). Pour plus d’informations en détail voir Manuel ”Description des fonctions”. R911311170 / 01 IndraMotion MTX Fonctions CN KvProg, KVP 4.39 Electric Drives Bosch Rexroth AG and Controls KV-Programmation 4 - 65 KvProg, KVP Effet Cette fonction permet la modification assistée par le programme de valeurs KV d’axes individuels. Ainsi il est possible d’augmenter temporairement (par exemple lors du fraisage d’un taraudage) la rigidité des axes. Après la montée en régime la CN lit et enregistre entre autres les valeurs KV actuelles de tous les entraînements raccordés. Au cours de la programmation KV la commande charge les valeurs KV programmées dans les entraînements pertinents (paramètre S-0-0104). Lors de l’arrêt de la programmation KV la commande transfère les valeurs KV sauvegardées auparavant aux entraînements et rétablit ainsi l’état original. Ce qui suit s’applique: D KV = (Avance sur trajectoire en m/min) / (poursuite en mm) D Avant un bloc avec commutation KV, le système décélère toujours à v=0, étant donné que dans l’entraînement la valeur KV ne devrait être commutée qu’à l’arrêt. D Après l’ordre de la commutation KV la commande attend à l’interne toujours l’acquittement de tous les entraînements participants. D La commutation KV s’effectue immédiatement avant un déplacement éventuellement programmé conjointement dans le même bloc. Exemple: : N10 G1 F1000 : N40 X40 N50 KVP(X2) X50 : V Positionnement avec valeur par défaut KV. Transférer la valeur 2 KV à l’axe X et déplacer ensuite. Commutation de KV 1000 N40 N50 t 4 - 66 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 KvProg, KVP Programmation Syntaxe: KvProg(<axe1>{,<axe2>}{,...}) Programmation KV ON. KvProg({0}) Programmation KV OFF. Format abrégé: KVP(..) avec <Axe> Désignation d’axe physique (étendue du système) ou logique (relatif au canal) avec la valeur KV souhaitée incluse. Valeur KV programmable au maximum: 655.35 Particularités et restrictions: D Seuls des axes qui sont attribués actuellement au canal peuvent être programmés. Exemple: : : N10 N20 : N30 N40 : : G0 X0 Y0 Z100 KVP(Z2.1) G1 Z0 KVP() Z100 Point de départ: dans tous les entraînements une valeur KV de 1.0 est active. Positionnement avec la valeur KV=1.0 Transmettre la valeur KV 2.1 à l’entraînement de l’axe physique Z. Positionnement avec la valeur KV=2.0 Désactivation de la programmation KV La CN charge automatiquement de nouveau la valeur KV 1.0 dans tous les entraînements. Ensuite déplacement de l’axe Z. R911311170 / 01 IndraMotion MTX Fonctions CN LEN 4.40 Electric Drives Bosch Rexroth AG and Controls Répartir le bloc de déplacement: Longueur du parcours partiel 4 - 67 LEN Effet Divise le bloc de processus en plusieurs parcours partiels de même longueur. . Est uniquement actif avec les fonctions ”découpage” (voir page 4 - 116) et ”Grignotage” (voir page 4 - 79). Programmation Syntaxe: LEN=<Valeur> avec <valeur> Pour les blocs linéaires: longueur du parcours partiel. Pour les blocs circulaires : longueur d’arc. Même unité de programmation que pour les coordonnées de l’axe. <valeur> N’a pas besoin d’être un diviseur entier du parcours programmé. En interne, la CN génère toujours une valeur LEN effective inférieure/égale à la valeur LEN programmée, si bien que les segments de parcours effectifs correspondent à un diviseur entier du parcours programmé. Particularités et restrictions: D Pour les blocs circulaires divisés le mouvement s’effectue linéairement de course en course! D LEN a un effet modal tant que la fonction découpage/grignotage est active. Il est cependant possible de masquer bloc par bloc par NUM (voir page 4 - 81). D La programmation de LEN est possible à chaque moment si découpage/grignotage est validé (MP 8001 00010). Le sectionnement de bloc ne commence toutefois qu’après activation de découpage - poinçonnage ou grignotage. Exemple: - G90 est actif (programmation du calage d’origine) - plan actif: X/Y - Position actuelle : X=0, Y=0, C=0 - Découpage - poinçonnage/Grignotage OFF, : N20 X100 Y100 LEN=15 Diviser les blocs de déplacement dans des parcours partiels à 15 mm au maximum. LEN n’est pas encore actif, étant donné que Découpage/Grignotage est désactivé. 4 - 68 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 LEN N30 X200 Y200 C180 Punch(1) Découpage - poinçonnage ON. LEN prend effet. La longueur de trajectoire est sectionnée en 10 segments de blocs. Positions de course qui en résultent (X,Y,C): P1 (110,110,18) P2 (120,120,36) : P10 (200,200,180). N40 Y290 C210 La longueur de trajectoire (90 mm) est sectionnée en 6 segments de blocs. Positions de course qui en résultent (X,Y,C): P11 (200,215,185) P12 (200,230,190) : P16 (200,290,210). N50 Punch() Découpage - poinçonnage OFF. : Y : Absence de course P16 290 : Course 275 260 LEN=15: donne 6 parcours partiels de 15 mm chaque. (X200, Y200, C180 à X200, Y290 C210) Rotation outil de respectivement 15_ 245 230 215 P11 200 190 P10 180 170 LEN=15: donne 10 parcours partiels de 10 mm chaque. (X120, Y120, C18 à X200, Y200 C180) 160 150 140 130 P2 120 P1 110 Rotation outil de respectivement 18_ P0 100 0 0 120 140 160 180 200 100 110 130 150 170 190 X R911311170 / 01 IndraMotion MTX Fonctions CN LFP 4.41 Electric Drives Bosch Rexroth AG and Controls 4 - 69 LFConf, LFC Pilotage de la puissance d’un laser en fonction de la vitesse sur trajectoire LFP LFConf, LFC Effet Régule la puissance d’un laser à l’aide du signal de tension analogique (0...10 V) en fonction de l’avance de trajectoire actuelle vtrajectoire. . Pour plus d’informations en détail sur la fonction voir Manuel ”Description des fonctions”. Programmation Syntaxe: LFP(1) ou LFP Pilotage de la puissance d’un laser ON avec paramétrage actuel. LFP({LL(... )}) Pilotage de la puissance d’un laser ON avec paramétrage supplémentaire comme décrit sous LFCont. LFP(0) Pilotage de la puissance du laser ARRET. LFConf({LL(<Spg>,<Vmin>)}, {UL(<Spg>,<Vmax>)}, {PL(<Mode>)}, {CD(<Coord 1>{,<Coord n>}...)},) Paramétrer la commande de la puissance du laser. Format abrégé: LFC(..) avec <Spg> <Vmin> <Vmax> <Mode> Tension en % de la tension de sortie maximale (10 V). En rapport avec<Vmin>: est édité si la vitesse de trajectoires est inférieure à <Vmin>. En rapport avec<Vmin>: est édité si la vitesse de trajectoire est supérieure à <Vmin>. Limite inférieure de la vitesse de trajectoire. Valeur d’entrée en fonction du système de mesure actif (G71,G70) dans l’unité mm/min, pouce/min ou degré/min. Limite supérieure de la vitesse de trajectoire. Valeur d’entrée en fonction du système de mesure actif (G71,G70) dans l’unité mm/min, pouce/min ou degré/min. Définition des coordonnées devant être utilisées pour la détermination de vtrajectoire: APL toutes les coordonnées du plan actuel. ASP toutes les coordonnées de l’espace actuel. CFD coordonnées qui correspondent à MP 7050 00820. 4 - 70 Bosch Rexroth AG Electric Drives and Controls Fonctions CN LFP IndraMotion MTX R911311170 / 01 LFConf, LFC <Coord x> Définition des coordonnées devant utilisées pour la détermination de vtrajectoire. Valeurs d’entrée: Noms des coordonnées tridimensionnelles impliquées (en transformation d’axe active) ou noms logiques d’axe (coordonnées pseudo; en transformation d’axe désactivé). Exemples: LFPON LL(10,100) LFP LL(10,100) LFP UL(80,500) Commande puissance laser ON. Paramétrage supplémentaire: Tension de sortie à 10% (=1V), si la vitesse de trajectoire baisse en dessous de 100 mm/ min. Seul paramétrage: Tension de sortie à 10% (=1V), si la vitesse de trajectoire baisse en dessous de 100 mm/min. Seul paramétrage: Tension de sortie à 80% (=8V), si la vitesse de trajectoire monte au dessus de 500 mm/min. Particularités et restrictions: D Les sorties analogiques disponibles limitent le nombre de canaux pouvant utiliser la fonction. D Le signal de tension pour le pilotage du laser baisse à 0 V dans les cas suivants: D une erreur se produit (erreur d’exécution, erreur de classe d’état 1) D Le signal ”Entraînement en service” d’un entraînement impliqué dans la trajectoire est désactivé (aucun FG, entraînement OFF) D le signal ”Arrêt Avance” devient actif. R911311170 / 01 IndraMotion MTX Fonctions CN LinUpFeed, LNU 4.42 Electric Drives Bosch Rexroth AG and Controls 4 - 71 Profils de vitesse (fonctions rampe) L’étendue de la fonction permet la définition de séquences d’usinage qui doivent être déplacées avec des propres profils de vitesse. En tant que ”Modules” sont à disposition pour cela D 1 interpolateur de marche constante. D 3 interpolateurs d’accélération et 3 interpolateurs de freinage (pour déroulement de vitesse de forme linéaire, sinusoïdale et sin2-), Ce qui suit s’applique: D Toutes les fonctions décrites ci - après sont modales, forment un groupe modal avec G8 et G9 et se révoquent réciproquement. Effet interpolateurs d’accélération . LinUpFeed, LNU SinUpFeed, SNU Sin2UpFeed, S2U Partant de la vitesse V0 (vitesse au début du bloc), la commande accélère sur toute la longueur de trajectoire programmée jusqu’à la vitesse cible V1. Selon la fonction programmée, cela s’effectue avec une augmentation de vitesse linéaire, sinusoïdale ou de forme sin2. La vitesse d’arrivée V1 est atteinte au point d’arrivée programmé et résulte de l’avance programmée, calibrée avec la valeur override actuelle. Cette vitesse d’arrivée est limitée par D l’accélération maximale sur trajectoire et D la vitesse max. admissible sur trajectoire. La commande calcule ces deux grandeurs en fonction des segments spécifiques de trajectoire pour chaque bloc CN et exécute en liaison avec la vitesse maximale admissible une 1ère look- ahead de bloc. Ceci permet d’éviter un dépassement de la vitesse maximale des axes dans le bloc suivant respectif. Si V1 n’est pas supérieur à V0 l’appel de l’interpolateur d’accélération dans le bloc actuel est ignoré. Comportement avec modifications override: D Une augmentation de l’override a pour effet un nouveau calcul de la rampe d’accélération. D Une diminution de l’override à des valeurs résultantes inférieures à la vitesse de départ V0 D a pour effet pour ”LinUpFeed” un nouveau calcul de la rampe de freinage qui se prolonge jusqu’au point d’arrivée programmé. D est ignorée en cas de ”SinUpFeed” et ”Sin2UpFeed”. Effet interpolateur de marche constante ConstFeed, CFD La commande tente d’atteindre la vitesse de consigne programmée en tenant compte de la vitesse maximale admissible sur trajectoire et de la position override actuelle. Les modifications de vitesse en cas de modification override sont effectuées avec les accélérations admissibles à chaque fois. 4 - 72 Bosch Rexroth AG Electric Drives and Controls Fonctions CN LinUpFeed, LNU IndraMotion MTX R911311170 / 01 LinDownFeed, LND Effet interpolateurs de freinage LinDownFeed, LND SinDownFeed, SND Sin2DownFeed, S2D Partant de la vitesse V0 (vitesse au début du bloc) la commande freine sur toute la longueur de trajectoire programmée jusqu’à l’arrêt (V1=0). Selon la fonction programmée, ceci s’effectue avec une réduction de vitesse linéaire, sinusoïdale ou de forme sin2. Des modifications override restent sans effet, exception faite dans les cas suivants: Si l’override dans le bloc précédent était fixé sur 0% et si, par conséquent, la vitesse de consigne 0 a été atteinte exactement au droit du passage du bloc à l’interpolateur de freinage, la commande arrête l’interpolateur de freinage jusqu’à ce que l’override soit augmenté à une valeur >0. La vitesse saute alors d’un cran d’accélération (conformément à l’accélération autorisée sur trajectoire). Sur la base de la vitesse alors résultante, la commande calcule la rampe de freinage nécessaire. La valeur override effective reste alors sans influence jusqu’en fin de bloc. Programmation Syntaxe: LinUpFeed Format abrégé: LNU SinUpFeed Format abrégé: SNU Sin2UpFeed Activer l’interpolateur d’accélération avec augmentation de vitesse linéaire. Activer l’interpolateur d’accélération avec augmentation de vitesse sinusoïdale. Format abrégé: S2U Activer l’interpolateur d’accélération avec augmentation de vitesse sous forme sin2. ConstFeed Activer l’interpolateur de marche constante Format abrégé: CFD LinDownFeed Format abrégé: LND SinDownFeed Activer l’interpolateur d’accélération avec réduction de vitesse linéaire. Format abrégé: SND Activer l’interpolateur d’accélération avec réduction de vitesse sinusoïdale. Sin2DownFeed Format abrégé: S2D Activer l’interpolateur d’accélération avec réduction de vitesse sous forme sin2. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN LinUpFeed, LNU 4 - 73 LinDownFeed, LND Exemple: Profil de vitesse pour un cycle d’oscillation pour l’axe U V(t) 0 t N5 N10 N5 G0 U10 N10 S2U U17 F500 N20 CFD U23 N30 LND U29 N40 N50 N60 N70 G4 F0.5 LNU U20 CFD U17 SND U10 N20 N30 N40 N50 N60 N70 Déplacer l’axe U en position de départ (U=10mm) Accélérer avec une courbe Sin2jusqu’à la position U=17. Avance de consigne au point d’arrivée: F=500 mm/min. Marche constante jusqu’en position U=23. Freinage linéaire jusqu’en position U=29. Vitesse d’arrivée: 0 mm/min. Temporisation au point d’inversion. Accélération linéaire jusqu’en position U=20. Marche constante jusqu’en position U=17. Freinage sous forme de courbe sinusoïdale jusqu’en position U=10. Vitesse d’arrivée: 0 mm/min. Particularités et restrictions: D Dans le bloc programmé l’indication de la coordonnée pour le point d’arrivée souhaité est toujours nécessaire. D Toutes les fonctions rampe ne peuvent être utilisées que sous le mode automatique/bloc suivant. Tout autre mode de fonctionnement (entrée manuelle, bloc séparé, pas séparé ou bloc de programmation) entraînera une erreur d’exécution. D Si des interpolateurs de freinage sont utilisés avec des courses de déplacement très courtes, il se peut que des dépassements d’accélération se produisent et engendrent une erreur servo. Veuillez en conséquence tenir compte dès l’élaboration du programme pièce de la dynamique maximale possible de la machine. D Lorsque les interpolateurs de la marche constante et d’accélération sont actifs, l’utilisation de fonctions auxiliaires ou de fonctions comme par ex. ”arrêt précis” n’est pas permise (peut engendrer des chutes de vitesse). Fonctions interdites sont par ex.: G0, G4, ”KvProg”, G63, G33, G61, ”G1(IPS)”, G75, ”G74(HOME)”, ”HsBlkSwitch”, ”WriteId”. 4 - 74 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.43 IndraMotion MTX R911311170 / 01 LinModZp, LMZ Prise d’origine axe modulo (axe sans fin linéaire) LinModZp, LMZ Effet Avec ”LinModZp” il est possible de définir la position actuelle d’un axe sans fin linéaire en tant que nouveau point origine programme. Ensuite l’affichage des axes saute sur la valeur ”0”. Le décalage produit reste enregistré en interne de la commande et sera additionné en interne à toutes les coordonnées de l’axe correspondant. Après la position initiale il sera de nouveau soustrait de la valeur d’affichage et supprimé. . En ce qui concerne les axes sans fin, voir paramètres machine 1003 00004. Programmation Syntaxe: LinModZp LinModZp(LinModAxis<i>) Définir toutes les positions actuelles de tous les axes linéaires configurés en MP 1003 00004 en tant que nouveau point origine programme. Définir la position actuelle de l’axe linéaire sans fin configuré en MP 1003 00004 avec l’index physique d’axe <i> en tant que nouvelle coordonnée de point origine programme de cet axe. Format abrégé: LMZ(..) avec <i>: Index physique d’axe. Exemple: N10 LMZ : : N50 LMZ(LinModAxis1) X-20 : : Définir toutes les positions actuelles de tous les axes linéaires sans fin configurés en tant que nouveau point origine programme. Définir la position actuelle de l’axe linéaire sans fin avec l’index d’axe 1 en tant que nouvelle coordonnée de point d’origine programme. Déplacer ensuite à X - 20 Particularités et restrictions: D Les définitions de position supérieures à la valeur modulo ne sont pas permises. D Des définitions de position négatives sont possibles tant que la valeur est inférieure à la valeur modulo. R911311170 / 01 IndraMotion MTX Fonctions CN MainSp, MSP . 4.44 Electric Drives Bosch Rexroth AG and Controls 4 - 75 La valeur modulo est définie dans l’entraînement via le paramètre SERCOS S-0-0103 pendant la montée en régime de SERCOS. Une valeur modulo modifiée ne prend effet qu’après la nouvelle montée en régime SERCOS! Changement de broche principale MainSp, MSP Effet Définition de la broche indiquée en tant que broche principale dans le canal actuel – à la différence du réglage en MP 7020 00010. De cette manière il est possible de définir dynamiquement dans le programme pièce, sur quelle broche les fonctions D G33 (Filetage) D G 95 (programmation de l’avance exprimée en mm/tour) et D G4 (Temporisation) doivent prendre effet. Programmation Syntaxe: MainSp(<Num>) ou MainSp(<broche>) Format abrégé: avec <Num> <Broche> MSP... Numéro de la broche (index de la broche). Champs de saisie: - 1 ; 1...8. Intègre. - 1: Broche principale correspondant MP 7020 00010. comme <Num> ou Nom de la broche (par ex. S1) à 4 - 76 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.45 IndraMotion MTX R911311170 / 01 Mirror(...), MIR(...) Aide à la saisie: Fonction miroir Mirror(...), MIR(...) Effet La fonction miroir compte parmi les aides à la saisie. La commande traite un contour programmé ou un gabarit de taraudage par exemple, en l’inversant symétriquement. La fonction miroir se rapporte toujours au point d’inversion miroir actuel (voir fonction PoleSet page 4 - 105). Si celui- ci n’a pas été programmé explicitement, le point origine programme actuel est le point d’inversion miroir. . La fonction miroir est une aide à la saisie et ne modifie donc pas le système de coordonnées programme actuel. L’aide à la saisie représente uniquement une autre possibilité de saisie pour les coordonnées programme. La fonction miroir peut également être utilisée conjointement avec le Facteur d’échelle et la Rotation. Ce qui suit s’applique: D La fonction est modale. Elle reste valide jusqu’à ce qu’elle soit arrêtée. D Elle peut être programmée dans le même bloc avec d’autres conditions de course et fonctions auxiliaires. Programmation Syntaxe: Mirror(<axe 1>1{,<axe n>1}) Mettre en service la fonction miroir pour les axes indiqués. Mirror(<axe 1>0{,<axe n>0}) Mettre hors service la fonction miroir pour les axes indiqués. Mirror(0) ou Mirror() Arrêter la fonction miroir pour tous les axes du canal. Les positions d’axe approchées restent conservées jusqu’à nouvelle programmation. Format abrégé: MIR(..) avec <Axe 1>, <axes>: adresses d’axes (par ex. X) en liaison avec la valeur ”1” activent la fonction: tous les ordres de course programmés des axes correspondants (par ex. X100) sont multipliés en interne avec la valeur ” - 1”. La fonction miroir ne devient active qu’avec la prochaine information de déplacement. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN Mirror(...), MIR(...) 4 - 77 Particularités et restrictions: D La fonction tient compte des paramètres d’interpolation en interpolation circulaire. D Elle influence le décalage programmable des segments de contour (Shift). Voir page 4 - 132. D Elle n’influence pas: D Décalages du point origine (G54 - G59.5; voir page 3 - 49), D Décalages de coordonnées programme (Trans ou ATrans; voir page 4 - 166), D Fixer la position du programme (”SetPos”; voir page 4 - 131), D Approche des coordonnées du point de référence (G74; voir page 3 - 58), D Approche de la position fixe des axes machine (G76; voir page 3 - 63), D Valeurs de la correction du rayon de la fraise et de la correction de la longueur d’outil. Exemples de fonction miroir: Effet de: MIR(X1) Effet de: Y P Effet de: MIR(X1) Y X MIR(X1,Y1) X P Effet de: PLS(X10,Y13) MIR(X1) Y Y 2 13 1 P X P 10 X 1: Définition du point d’inversion miroir (X10;Y13) 2: Activation de la fonction ”Miroir” 4 - 78 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 Mirror(...), MIR(...) Inversion d’un vecteur d’orientation Un vecteur d’orientation est inversé exclusivement composant par composant à l’aide de la syntaxe de fonction suivante. Une modulation éventuellement active ou un point de miroir/de rotation n’ont aucune influence sur le résultat. Syntaxe: Mirror(O(<Sx>,<Sy>,<Sz>)) Mettre en service/hors service la fonction miroir pour les composantes indiquées d’un vecteur d’orientation. Format abrégé: MIR(..) avec <Sx>,<Sy>,<Sz> Facteurs miroir pour les composantes de vecteur individuelles. 0: aucune inversion miroir 1:Inversion miroir Pour le vecteur d’orientation, on notera: D Les coordonnées polaires ϕ et ϑ ne peuvent pas être inversées. D La programmation MIR(phi1,theta1) est interdite. R911311170 / 01 IndraMotion MTX Fonctions CN Nibble, NIB 4.46 Electric Drives Bosch Rexroth AG and Controls Grignotage 4 - 79 Nibble, NIB Effet Active ou désactive la fonction “Grignotage”. Avec le grignotage activé, un déclenchement de course a lieu dans les cas suivants: D à la fin de chaque segment de parcours programmé ou généré par la fonction ”NUM” (voir page 4 - 81) ou ”LEN” (voir page 4 - 67), et D au début du premier segment de parcours, dans la mesure ou aucun déplacement dans le plan actif a été programmé ou le grignotage a été arrêté. Le mouvement de déplacement consécutif commence toujours une fois la course terminée. . Fonctions influençant le temps de déclenchement de la course : PtDefault (voir page 4 - 113) PtBlkEnd (voir page 4 - 110) PtInpos (voir page 4 - 114). Programmation Syntaxe: Nibble(1) ou Nibble Activer Grignotage. Nibble(0) ou Nibble() Désactivation du grignotage. Format abrégé: NIB(..) Particularités et restrictions: D Le grignotage doit être validé par MP 8001 00010. D La programmation de la fonction ”NUM” ou ”LEN” est impérative. La commande génère ainsi automatiquement des parcours partiels à partir de la distance de déplacement programmée dont à leurs extrémités une course est déclenchée à chaque fois. D La fonction est modale et agit déjà sur des déplacements programmés dans le même bloc. D Si le découpage- poinconnage est mis en service (voir page4 - 116), la fonction grignotage en est désélectionnée. D Les blocs qui ne contiennent pas une coordonnée d’axe du plan actif, ne déclenchent pas de course non plus. D Dans la mesure où l’API supprime le déclenchement de la course, le traitement sur la position de déclenchement de la course reste arrêté jusqu’à validation du déclenchement de la course par l’API. 4 - 80 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 Nibble, NIB Exemple: - G90 est actif (programmation du calage d’origine) - plan actif: X/Y - Position actuelle: X=0, Y=0, C=0 : N10 LEN=12 Diviser les blocs de déplacement dans des parcours partiels de 12 mm au maximum. LEN doit être programmé avant l’activation de Nibble! Activer Grignotage. LEN modal prend effet. C-L’axe tourne sur 10 degrés. Pas de course, puisque les axes X- et Y-ne sont pas programmés. Pas de déplacement, puisque l’axe X est déjà sur la position 0. Course, car l’axe X se trouve dans le plan actif. Le bloc de déplacement est divisé dans 10 parcours partiels égaux à 11 mm. Course aux positions X11, X22, X33 ...X99, X110. Course supplémentaire sur la position X0, car en N30 aucun déplacement s’est effectué. Ecrase LEN (N10) avec effet modal pour le bloc actuel. Diviser les blocs de déplacement dans 3 parcours partiels égaux. Course en Y10, Y20, Y30. LEN de N10 est de nouveau actif. Course enY42, Y54, Y66, Y78, Y90. Grignotage Off. Déplacement en X=50, Y=50. N20 C10 Nibble(1) N30 X0 N40 X110 N50 Y30 NUM=3 N60 Y90 N70 X50 Y50 Nibble() : Y 90 LEN=12 Y42 à Y90 (5 segments de parcours à 12 mm chacun) 78 66 54 42 NUM=3 Y10 à Y30 (3 segments de parcours à 10 mm chacun) 30 20 10 0 : 1 x course : 2 x course 0 11 22 33 44 55 66 77 88 99 110 X LEN=12 X0 à X110 (10 segments de parcours à 11mm chacun) R911311170 / 01 IndraMotion MTX Fonctions CN NUM 4.47 Electric Drives Bosch Rexroth AG and Controls Repartir le bloc de déplacement: Nombre de segments de parcours 4 - 81 NUM Effet Divise le bloc de déplacement programmé en un nombre défini de parcours partiels de même longueur. . Est uniquement actif avec les fonctions ”découpage” (voir page 4 - 116) et ”Grignotage” (voir page 4 - 79). Programmation Syntaxe: NUM=<Valeur> avec <Valeur> nombre de segments de parcours. Valeur d’entrée: Intègre, supérieure à 0. NUM=1 n’entraîne aucune division. Particularités et restrictions: D Pour les blocs circulaires divisés le mouvement s’effectue linéairement de course en course! D NUM est actif seulement dans le bloc programmé et écrase un LEN actif (voir page 4 - 67). D La programmation de NUM est seulement possible avec (MP 8001 00010) découpage - poinçonnage/grignotage validés et actifs. Exemple: Voir exemple dans le chapitre 4.40 à partir de la page 4 - 67. 4 - 82 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.48 IndraMotion MTX R911311170 / 01 O(), ROTAX() phi, thêta, psi Programmation de l’orientation O(), ROTAX() phi, thêta, psi Oriente un outil (fraiseuse, perceuse, laser, pince), par rapport au système de coordonnées programme actuel (PCS), librement dans l’espace. . Si en dehors du mouvement d’orientation de l’outil le TCP doit également être déplacé, se reporter pour informations complémentaires à “Programmation de coordonnées tridimensionnelles“ dans le manuel “Description des fonctions“. Si un mouvement d’orientation de l’outil sans mouvement simultané du TCP est programmé, l’avance active (F) n’agît que sur le mouvement d’orientation. Le cas échéant, des mouvements de pseudo coordonnées programmés sont effectués en synchrone (Mouvements de pseudo coordonnées: Mouvements provoqués par la programmation de positions d’axe directes). Alternativement il est possible d’effectuer une programmation “Oméga“ si G94 est actif. Le vecteur d’orientation longe l’axe de symétrie de l’outil et est orienté vers le logement de l’outil. Différents types de programmation d’orientation sont disponibles: 4.48.1 Orientation vectorielle Effet La programmation de l’orientation de l’outil est également possible par D les coordonnées d’orientation du vecteur d’orientation (par ex. phi et thêta). Vecteur d’orientation → ρ z P (ϕ,ϑ) thêta. + y + Pôle phi. x R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN O(), ROTAX() phi, thêta, psi 4 - 83 D Fonction O(..) avec angles polaires (ϕ,ϑ) ou composantes cartésiennes (ρx, ρy, ρz) du vecteur d’orientation. Vecteur par angle → Vecteur d’orientation ρ z z Vecteur par composantes cartésiennes → Vecteur d’orientation ρ P (ρx, ρy, ρz) P (ϕ,ϑ) ρz + y y í ϕ + ρy x Pôle ρ x Pôle x D Fonction ROTAX(..) pour définir un axe de rotation orienté librement dans l’espace, autour duquel on peut déplacer à l’aide de la fonction O(..) le vecteur d’orientation d’un angle défini β . Dans ce cas la programmation de l’axe de rotation est possible avec des angles polaires (ϕu, ϑu), ainsi qu’à l’aide des composantes cartésiennes (ux, uy, uz). → → Vecteur d’orientation ρe (EndOrientation) Axe de rotation u Angle β z y → Vecteur d’orientation ρa (orientation de départ) TCP x On notera ici que: D L’orientation vectorielle ne peut être programmée qu’avec une transformation d’axe dont la position de centaine est de type = 2. D Le mouvement d’orientation s’effectue à partir du début jusqu’à la fin de l’orientation programmée sous la forme d’un vecteur rotation du vecteur d’orientation. D Approprié pour outils à symétrie de révolution. 4 - 84 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 O(), ROTAX() phi, thêta, psi Programmation 1. Activer le type de transformation d’axe autorisé (position de centaine du type = 2) avec “Coord(...)“ (se reporter à la page 4 - 32). 2. Utiliser la syntaxe indiquée ci dessous. Syntaxe: {<No>} {<No>} {<No>} {<No>} {<No>} avec <No> {<Détermination TCP>} {<Détermination TCP>} {<Détermination TCP>} {<Détermination TCP>} {<Détermination TCP>} {<phi><>} {<thêta><>} ou O(<>,<>) ou O(<x >,<y >,<z >) ou ROTAX(<u >,<u >) O(<>) ou ROTAX(<ux >,<uy >,<uz >) O(<>) numéro de séquence. Se reporter à la page 2 - 21. <Détermination TCP> Mouvement TCP supplémentaire. Pour la syntaxe, consultez le Manuel “Description des fonctions“ dans le chapitre sur la programmation des coordonnées tridimensionnelles. <phi> Nom d’angle inscrit dans MP 7080 00010[4]. Valeur par défaut: phi <thêta> Nom d’angle inscrit dans MP 7080 00010[5]. Valeur par défaut: thêta Valeurs absolues des angles en degré. <>,<>,<u >,<u > Plage: 0_≤ < 360_; 0_≤ ≤ 180_. Si pour une autre valeur est programmée, elle est automatiquement convertie en l’intervalle indiqué. O(<>,<>) Orientation par fonction O(..) et angles polaires <> et <> du vecteur d’orientation. O(<x >,<y >,<z >) Orientation par Fonction O(..) et composantes cartésiennes <x >,<y >,<z > du vecteur d’orientation dans le calage d’origine. Standardisation automatique à 1. C’est pourquoi les données exemplaires suivantes entraînent une orientation identique: O(1,2,4), O(2,4,8) ROTAX(<u >,<u >) Définition de l’axe de rotation à l’aide des angles polaires (ϕu, ϑu). ROTAX(<ux >,<uy >,<uz >) Définition de l’angle de rotation à l’aide des composantes cartésiennes <ux >,<uy >,<uz > dans le calage d’origine. Standardisation automatique à 1. O(<>) Indique en degré l’angle incrémental <> duquel le vecteur d’orientation doit se déplacer autour de l’axe de rotation. Les valeurs supérieures à 360 degré sont autorisées. Le sens de rotation peut être sélectionné à l’aide des signes +/ - . R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN O(), ROTAX() phi, thêta, psi 4 - 85 Particularités et restrictions: D L’orientation de départ- de l’EndOrientation du vecteur d’orientation doit suivre un tracé non- parallèle ou anti - parallèle, sauf pour la programmation de ROTAX(..). 4.48.2 Orientation tensorielle Effet L’influencement de l’orientation des outils- s’effectue par l’orientation du système complet de coordonnées d’outil TCS par rapport au PCS actuel. z z z TCS TCS TCS x x TCP TCP x TCP y y y z y PCS x Outil à grappin: TCS fixe associé à l’outil D La programmation est également possible par D l’angle d’Euler phi ϕ, thêta ϑ et psi ψ. Le TCS obtient son orientation voulue par des rotations successives avec les angles d’Euler. D Tenseur d’orientation 3x3 (matrice de rotation qui réoriente le TCS complet autour du TCP). Les composantes de ses vecteurs colonnes (Ox, Oy, Oz) définissent exactement l’orientation TCS et sont programmables en tant qu’angles polaires ou composantes cartésiennes. D Fonction ROTAX(..) pour définir un axe de rotation orienté librement dans l’espace, autour duquel on peut déplacer à l’aide de la fonction O(..) le tenseur d’orientation d’un angle défini β.. Dans ce cas la programmation de l’axe de rotation est possible avec des angles polaires (ϕu, ϑu), ainsi qu’à l’aide des composantes cartésiennes (ux, uy, uz). On notera ici que: D L’orientation tensorielle ne peut être programmée qu’avec une transformation d’axe dont la position de centaine est de type = 3. 4 - 86 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 O(), ROTAX() phi, thêta, psi D Le mouvement d’orientation s’effectue du début jusqu’à la fin de l’orientation programmée sous la forme d’un vecteur rotation du tenseur d’orientation. D N’est adapté que pour des outils sans symétrie d’évolution, puisque dans ce cas le TCS est relié de façon fixe à l’outillage. Programmation 1. Activer le type de transformation d’axe autorisé (position de centaine du type = 3) avec “Coord(...)“ (se reporter à la page 4 - 32). 2. Utiliser la syntaxe indiquée ci dessous. Syntaxe: {<No>} {<TCP>} {<phi><>} {<thêta><>} {<psi><>} ou {<No>} {<TCP>} Ox(<x >,<x >) Oy(<y >,<y >) ou {<No>} {<TCP>} Ox(<x >,<x >) Oz(<z >,<z >) ou {<No>} {<TCP>} Oy(<y >,<y >) Oz(<z >,<z >) ou {<No>} {<TCP>} Ox(<O11>,<O21>,<O31>) Oy(<O12>,<O22>,<O32>) ou {<No>} {<TCP>} Ox(<O11>,<O21>,<O31>) Oz(<O13>,<O23>,<O33>) ou {<No>} {<TCP>} Oy(<O12>,<O22>,<O32>) Oz(<O13>,<O23>,<O33>) ou {<No>} {<TCP>} ROTAX(<u >,<u >) O(<>) ou {<No>} {<TCP>} ROTAX(<ux >,<uy >,<uz >) O(<>) avec <No> numéro de séquence. Se reporter à la page 2 - 21. <Détermination TCP> Mouvement TCP supplémentaire. Pour la syntaxe, consultez le Manuel “Description des fonctions“ dans le chapitre sur la programmation des coordonnées tridimensionnelles. <phi> Nom d’angle inscrit dans MP 7080 00010[4]. Valeur par défaut: phi <thêta> Nom d’angle inscrit dans MP 7080 00010[5]. Valeur par défaut: thêta <psi> Nom d’angle inscrit dans MP 7080 00010[6]. Valeur par défaut: psi R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN O(), ROTAX() phi, thêta, psi <>,<>,<> 4 - 87 Valeurs absolues des angles d’Euler en degré. La programmation AC/IC est autorisée. Plage: 0_≤ < 360_; 0_≤ ≤ 180_; 0_≤ ≤ 360_. Les valeurs situées à l’extérieur sont converties automatiquement en intervalles correspondants. <>,<> Valeurs absolues des angles en degré. Plage: 0_≤ < 360_; 0_≤ ≤ 180_. Si pour une valeur située en dehors de la plage est programmée, elle est automatiquement convertie en l’intervalle indiqué. Ox(<O11>,<O21>,<O31>) Oy(<O12>,<O22>,<O32>) Oz(<O13>,<O23>,<O33>) Ox(<x >,<x >) Oy(<y >,<y >) Orientation par fonction Ox(..), Oy(..), Oz(..). Oz(<z >,<z >) Ox(..) définit par exemple la direction de la coordonnée x du TCS dans le système de coordonnées de référence. Oy(..) et Oz(..) ont des fonctions analogues. La direction peut être définie soit par les angles polaires correspondants <> et <>, soit au moyen des composantes cartésiennes des vecteurs colonnes du tenseur d’orientation. Seule la saisie de cotes absolues est autorisée. Les valeurs des composantes des vecteurs colonnes (o..) sont normalisées automatiquement à 1. ROTAX(<u >,<u >) Définition de l’axe de rotation à l’aide des angles polaires (ϕu, ϑu). ROTAX(<ux >,<uy >,<uz >) Définition de l’axe de rotation à l’aide des composantes cartésiennes <ux >,<uy >,<uz > dans le calage d’origine. Standardisation automatique à 1. O(<>) Indique en degré l’angle incrémental <> duquel le tenseur d’orientation doit se déplacer autour de l’axe de rotation. Les valeurs supérieures à 360 degré sont autorisées. Le sens de rotation peut être sélectionné à l’aide des signes +/ - . 4 - 88 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 O(), ROTAX() phi, thêta, psi Exemple: Paramétrages correspondants à l’exemple: MP 1030 00110[1] pour transformation d’axe 2: MP 7080 00010[1]: x MP 7080 00010[2]: y MP 7080 00010[3]: z MP 7080 00010[4]: phi MP 7080 00010[5]: thêta MP 7080 00010[6]: psi 3333301 N100 G1 X10 Y20 Z30 Ox(1,0,0) Oy(0,0.707,-0.707) ou N100 G1 X10 Y20 Z30 Ox(1,0,0) Oz(0,0.707,0.707) ou N100 G1 X10 Y20 Z30 Oy(0,0.707,-0.707) Oz(0,0.707,0.707) z Vecteurs colonnes du tenseur: → ext = 1 0 0 → eyt = 0 1/√2 - 1/√2 → ezt = 0 1/√2 1/√2 Orientation à l’aide d’un angle d’Euler: ϕ = 90_, ϑ = 45_, ψ = 270_ x → ezt → zt → ext → xt y 45_ PCS TCS → eyt → yt 45_ Particularités et restrictions: D Le mouvement d’orientation s’effectue – sauf pour la programmation de ROTAX(..) – toujours par le chemin le plus court vers l’EndOrientation. Pour ROTAX(..) le sens de rotation dépend du signe +/ - de <>. D Pour la création univoque du tenseur d’orientation les restrictions suivantes sont nécessaires: Pour ϑ = 0_: La somme de ϕ et ψ est nécessaire pour la définition d’une orientation. Pour ϑ = 180_: La différence de ϕ et ψ est nécessaire pour la définition d’une orientation. D Si lors de la programmation des vecteurs colonnes de tenseur deux vecteurs colonnes sont parallèles ou antiparallèles, le tenseur d’orientation ne peut pas être calculé. Une erreur d’exécution est signalée. R911311170 / 01 IndraMotion MTX Fonctions CN O(), ROTAX() phi, thêta, psi 4.48.3 Electric Drives Bosch Rexroth AG and Controls 4 - 89 Mouvement d’orientation linéaire avec programmation d’axes . N’est valide que pour la transformation d’axe de type 3032101. Effet Pour la programmation de l’orientation de l’outil les valeurs de positions de deux axes ronds intervenants sur l’outil (par ex. B, C) sont programmées. C-Axe → Vecteur d’orientation ρ z P (ϕ,ϑ) B.. + y B-Axe C.. + Vecteurd’orientation → ρ x Pôle TCP On notera ici que: D Seules sont admises les cinétiques d’axes pour lesquelles les valeurs de position des deux axes ronds peuvent être représentées à l’échelle un pour un sur les coordonnées d’orientation du vecteur d’orientation (par ex. phi et thêta). D Le mouvement d’orientation est effectué sous la forme d’un mouvement linéaire dans les axes rotatifs. D Approprié pour outils à symétrie de révolution. 4 - 90 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 O(), ROTAX() phi, thêta, psi Programmation 1. Activer le type de transformation d’axe 3032101 avec “Coord(...)“ (se reporter à la page 4 - 32). 2. Utiliser la syntaxe indiquée ci dessous. Syntaxe: {<No>} {<Détermination TCP>} {<B><Pos>} {<C><Pos>} avec <No> numéro de séquence. Se reporter à la page 2 - 21. <Détermination TCP> Mouvement TCP supplémentaire. Pour la syntaxe, consultez le Manuel “Description des fonctions“ dans le chapitre sur la programmation des coordonnées tridimensionnelles. <B>, <C> Adresses d’axe des axes ronds se trouvant dans l’outil <Pos> Position absolue d’axe en degré. Exemple: Paramétrages correspondants à l’exemple: MP 1030 00110[1] pour transformation d’axe 2: MP 7080 00010[1]: x MP 7080 00010[2]: y MP 7080 00010[3]: z N10 G1 X0 Y0 Z0 B0 C0 N20 Coord(2) N30 x100 y200 z300 B20 C60 N40 G2 x... y... z... I... J... B20 C60 N50 G1 B20 C10 N60 Coord(0) : 3032101 Programmation de noms d’axes logiques/physiques. Activer la transformation d’axe 2. Sont programmables maintenant les coordonnées linéaires x, y, z et les coordonnées d’orientation B et C. Interpolation linéaire des coordonnées avec mouvement d’orientation supplémentaire. Mouvement hélicoïdal du TCP avec mouvement d’orientation supplémentaire. Pur mouvement d’orientation. Le TCP reste constant. Transformation d’axe mise Off. Particularités et restrictions: D Le type de transformation d’axe actif 3032101 est nécessaire. D Par une logique de recherche spéciale les rotations d’axe rond supérieures à 180 degré sont évitées. R911311170 / 01 IndraMotion MTX Fonctions CN O(), ROTAX() phi, thêta, psi 4.48.4 Electric Drives Bosch Rexroth AG and Controls 4 - 91 Orientation linéaire avec programmation de coordonnées . N’est valide que pour la transformation d’axe de type 3232101. Effet La programmation de l’orientation de l’outil est également possible par: D les coordonnées d’orientation du vecteur d’orientation (par ex. phi et thêta). → Vecteur d’orientation ρ z P (ϕ,ϑ) thêta.. + y + phi.. x Pôle D Fonction O(..) avec angles polaires (ϕ,ϑ) ou composantes cartésiennes (ρx, ρy, ρz) du vecteur d’orientation. Vecteur par composantes cartésiennes Vecteur par angle → Vecteur d’orientation ρ z z → Vecteur d’orientation ρ P (ρx, ρy, ρz) P (ϕ,ϑ) ρz + ϕ + Pôle y y í ρy x Pôle ρ x x D La cinétique d’axe servant de base est indifférente. D Le mouvement d’orientation s’effectue en tant qu’interpolation linéaire dans ϕ et ϑ, c’est à dire en tant que droite dans un plan imaginaire ϕ/ϑ Ć. D Approprié pour outils à symétrie de révolution. Programmation 1. Activer le type de transformation d’axe 3232101 avec “Coord(...)“ (se reporter à la page 4 - 32). 2. Utiliser la syntaxe indiquée ci dessous. 4 - 92 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 O(), ROTAX() phi, thêta, psi Syntaxe: {<No>} {<Détermination TCP>} {<phi><>} {<thêta><>} ou {<No>} {<Détermination TCP>} O(<>,<>) ou {<No>} {<Détermination TCP>} O(<x >,<y >,<z >) avec <No> numéro de séquence. Se reporter à la page 2 - 21. <Détermination TCP> Mouvement TCP supplémentaire. Pour la syntaxe, consultez le Manuel “Description des fonctions“ dans le chapitre sur la programmation des coordonnées tridimensionnelles. <phi> Nom d’angle inscrit dans MP 7080 00010[4]. Valeur par défaut: phi <thêta> Nom d’angle inscrit dans MP 7080 00010[5]. Valeur par défaut: thêta <>,<> Valeurs absolues des angles en degré. Plage: 0_≤ < 360_; 0_≤ ≤ 180_ O(<>,<>) Orientation par fonction O(..) et angles polaires <> et <> du vecteur d’orientation. O(<x >,<y >,<z >) Orientation par Fonction O(..) et composantes cartésiennes <x >,<y >,<z > du vecteur d’orientation dans le calage d’origine. Standardisation automatique à 1. C’est pourquoi les données exemplaires suivantes entraînent une orientation identique: O(1,2,4), O(2,4,8) Exemple: Paramétrages correspondants à l’exemple: MP 1030 00110[1] pour transformation d’axe 2: MP 7080 00010[1]: x MP 7080 00010[2]: y MP 7080 00010[3]: z MP 7080 00010[4]: phi MP 7080 00010[5]: thêta N10 G1 X0 Y0 Z0 B0 C0 N20 Coord(2) N30 x1 y2 z3 phi5 thêta5 N40 Coord(0) 3232101 Programmation de noms d’axes logiques/physiques. Activer la transformation d’axe 2. Sont programmables maintenant les coordonnées linéaires x, y, z et les coordonnées d’orientation phi, thêta. Interpolation linéaire des coordonnées avec mouvement d’orientation supplémentaire. Transformation d’axe mise Off. Particularités et restrictions: D Le type de transformation d’axe actif 3232101 est nécessaire. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN O(), ROTAX() phi, thêta, psi 4 - 93 D Par une logique de recherche spéciale les rotations d’axe rond supérieures à 180 degré sont évitées. D La programmation “ROTAX(... | O(<>)“ n’est pas possible. 4 - 94 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.49 IndraMotion MTX R911311170 / 01 OvrDis, OVD OvrEna, OVE Avance 100% OvrDis, OVD, OvrEna, OVE Effet Influence avec l’assistance du programme l’effet du potentiomètre d’avance pour l’avance et l’avance rapide. Ces fonctions agissent en mode “Entrée manuelle“ et “Exécution“. Programmation Syntaxe: OvrDis Format abrégé : OVD OvrEna ARRÊT potentiomètre d’avance. L’avance est fixée sur 100% de la valeur programmée, indépendamment du potentiomètre d’avance. MARCHE potentiomètre d’avance. L’avance dépend de la position du potentiomètre d’avance. Format abrégé: OVE On notera ici que: D Ces deux fonctions sont modales et se révoquent réciproquement. D L’état de marche peut être défini à l’aide des paramètres machine. D Les deux fonctions peuvent également être programmées dans le même bloc avec d’autres conditions de course, Exemple: : N40 OVD G1 X5 Z-2 F200 S100 M4 : N80 OVE X100 Y50 Le potentiomètre d’avance est positionné sur 100%. Désactiver le potentiomètre d’avance. Passer le potentiomètre d’avance sur 40%, l’avance est maintenue à 100%. Activer le potentiomètre d’avance. L’avance passe à 40%. R911311170 / 01 IndraMotion MTX Fonctions CN PathAcc, PAC 4.50 Electric Drives Bosch Rexroth AG and Controls Modifier l’accélération sur trajectoire maximale 4 - 95 PathAcc, PAC Effet Réduit les limites supérieures dans le programme pièce pour D l’accélération sur trajectoire et D la décélération sur trajectoire-. Les deux valeurs d’accélération sont préréglées à l’aide des paramètres machine et peuvent être commutées dans le programme pièce individuellement ou de façon couplée. . L’accélération sur trajectoire programmée ou préréglée peut être limitée par les accélérations sur trajectoire maximales des axes intéressés à la trajectoire. Programmation Syntaxe: PathAcc(ACC<Valeur>) PathAcc({UP<Valeur1>,} {DOWN<Valeur2>}) PathAcc() ou PathAcc(0) Fixation commune de l’accélération et de la décélération sur trajectoire. Fixation séparée de l’accélération et de la décélération sur trajectoire Réactiver les valeurs d’accélération de MP 7030 00210 et 7030 00220. Format abrégé: PAC(..) avec <Valeur> Valeur d’accélération. En fonction de l’unité de mesure (G71/G70), la commande interprète la valeur programmée en “1000 pouces/s2“ou “m/s2“. <Valeur1> Valeur pour l’accélération sur trajectoire. Sinon comme <Valeur>. <Valeur2> Valeur pour la décélération- sur trajectoire. Sinon comme <Valeur>. Particularités et restrictions: D Les valeurs d’accélération maximales programmables sont toujours limitées par les valeurs des paramètres machine. D Nous conseillons de programmer cette fonction dans un bloc séparé. 4 - 96 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 PathAcc, PAC Exemple: N30 G71 N40 PAC(UP1.5) : N140 PAC(ACC5) : N200 PAC(UP3.5,DOWN2) : N240 PAC() : Activation de la programmation métrique. Régler l’accélération sur trajectoire sur 1,5 m/s2. Régler l’accélération sur trajectoire et la décélération- sur trajectoire- sur 5 m/s2. Régler l’accélération sur trajectoire sur 3,5 m/s2, la décélération- sur trajectoire sur 2 m/s2. Régler les valeurs d’accélération à nouveau sur les réglages- de paramètre machine. R911311170 / 01 IndraMotion MTX Fonctions CN PosDepHSOut, PHS 4.51 Electric Drives Bosch Rexroth AG and Controls Sortie HS-programmable 4 - 97 PosDepHSOut, PHS Effet Influence le statut d’une sortie HS (Sortie HS) à l’aide d’un déplacement programmé. Dés que la position de consigne CN, atteint une valeur programmable par rapport au début ou à la fin du bloc actuel, la sortie HS est initialisé ou remise à zéro en fonction de la programmation. Il est possible de programmer pour combien de temps après l’apparition de l’événement spécifique la sortie doit rester initialisée. . Paramétrage des sorties HS disponibles: par MP 4075 00102. Programmation Syntaxe: PosDepHSOut(<Mode>{,{<Distance>}{,<Durée>}}) Format abrégé: avec <Mode> PHS(..) Mode d’action voulu de la fonction. Valeurs de saisie: 0, 1 ou - 1. 0 Enregistre par la <Distance> et/ou la <Durée> les données programmées de façon modale. Le statut actuel de la sortie HS-n’est pas modifiée dans ce cas. 1 Enregistre par la <Distance> et/ou la <Durée> les données programmées de façon modale et fixe la sortie HS. Pour les paramètres non programmés les valeurs de données modales significatives sont en vigueur. - 1 Remet à zéro la sortie HS. Une distance éventuellement <programmée> n’a qu’une action locale pour ce bloc. Une durée éventuellement <programmée> est ignorée. <Distance>Distance par rapport au début/-à la fin du bloc, qui doit déclencher l’initialisation du signal lorsqu’il/elle est atteint(e) (en mm ou pouces). Valeur par défaut: 0 0: à la fin du bloc supérieur à 0: Distance par rapport au début du bloc inférieur à 0: Distance par rapport à la fin du bloc. <Durée> Durée maximale de fonctionnement de la sortie HS (en ms). Plage: 0.5 ... 10000.0 Les valeurs programmées sont arrondies en interne au multiple entier supérieur le plus proche du temps de cycle CN. 4 - 98 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 PosDepHSOut, PHS Exemples: : N05 G71 N10 PHS(0,-1.2,40) : : : : N210 G1 G91 F1000 N220 X10 Y23 PHS(1) : : N330 X10 PHS(1,0.1,900) : N350 X20 PHS(-1,-0.3) : Configurer la fonction. lors d’un appel suivant par syntaxe PHS(1) la sortie HS est initialisée environ 1.2 mm avant d’atteindre le point d’arrivée pour une durée d’environ 40 msec. Fixer la sortie HS conformément à la configuration en N10. Fixer la sortie HS à 0.1 mm après la position de départ pour une durée maximale de 900 ms. Remettre la sortie HS à zéro à une distance de 0.3 mm avant la position d’arrivée. Particularités et restrictions: D 1 sortie HS-est assistée par canal. D La fonction n’agît que sur un déplacement programmé dans le même bloc. D Une sortie HS initialisée n’est remise à zéro qu’une fois la durée de fonctionnement écoulée. La position initiale n’influence pas cet instant. D <La distance> se rapporte toujours à la position de consigne actuelle du point de vue CN. Les temporisations dues au système (provoquées par ex. par les fonctions d’entraînement ou la poursuite d’axe) ne sont pas prises en compte dans ce cas. D Si lors d’une durée de fonctionnement en cours d’écoulement un nouvel ordre PHS est reçu, la CN supprime l’ordre encore actif et effectue le nouvel ordre. . Si dans le cas de deux ordres PHS consécutifs aucun changement de signal n’a lieu sur la sortie HS, le nouvel ordre ne peut généralement pas être reconnu par le matériel informatique externe. R911311170 / 01 IndraMotion MTX Fonctions CN PmTSel, PMS 4.52 Electric Drives Bosch Rexroth AG and Controls Activer- tables de placement 4 - 99 PmTSel, PMS Effet Active les tables de placement (tables de correction des placements “Plan incliné“). Ces tables de correction sont archivées sous forme de fichiers XML dans le système de fichiers de la commande. Programmation Syntaxe: PmTSel({<Chemin d’accès>}<Nom de fichier>) Format abrégé: PMS(..) avec <Chemin d’accès> Indication optionnelle du chemin d’accès pour le répertoire dans lequel <Nom de fichier> est enregistré. Sans précisions la recherche est effectuée par le chemin d’accès “/database“. Si <Nom de fichier> ne peut y être trouvé, la commande utilise le chemin de recherche pour les sous - programmes, pour rechercher <Nom de fichier> également dans d’autres répertoires. <Nom de fichier> Nom de fichier de la table de placements-y compris l’extension de fichier. Les tables avec des noms standard (PM<Numéro>.pmt) peuvent être activées directement via le numéro, par ex. PmTSel(3) active la table PM3.pmt. . Pour créer et éditer des tables de placements, veuillez consulter le mode d’emploi de la commande! 4 - 100 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX PolarPol, POP 4.53 Programmation en coordonnées polaires 4.53.1 Définition du pôle Effet R911311170 / 01 PolarPol, POP D Définit l’origine du système de coordonnées polaires par rapport au plan actif du système de coordonnées du programme actif. D Initialise l’angle polaire 1 pour la programmation des coordonnées polaires (adresse standard: A; paramétrable en MP 8005 00001) sur 0 degré. D Initialise l’angle polaire 2 pour la programmation des coordonnées polaires (adresse standard: B; paramétrable en MP 8005 00002) sur 90 degré. Programmation Syntaxe: PolarPol(<HKWert>,<NKWert>) Définir le pôle. PolarPol(ACTPOS) Fixer le pôle sur la position actuelle. PolarPol() ou PolarPol(0) Fixer le pôle sur la coordonnée 0,0. Format abrégé: POP(..) avec <HKWert> Valeur du pôle pour la coordonnée principale. <NKWert> Valeur du pôle pour la coordonnée secondaire. Particularités et restrictions: D Si toutefois “PolarPol“ n’est pas utilisé, la CN se sert de l’origine du système de coordonnées du programme actif en tant que pôle. D Un pôle programmé ne reste valide pour le plan actuel que jusqu’au prochain changement de plan (se reporter à la page 3 - 30). Exemple: : N10 G18 : N30 G0 X10 Z25 : N40 POP(ACTPOS) : Commutation au plan ZX avec Z comme coordonnée principale et X comme coordonnées secondaire. Mouvement de positionnement en marche rapide sur les coordonnées cartésiennes X10 et Z25. Pour la définition du pôle les valeurs de position actuelles sont reprises (HKWert=25 NKWert=10). R911311170 / 01 IndraMotion MTX Fonctions CN PolarPol, POP 4.53.2 Electric Drives Bosch Rexroth AG and Controls 4 - 101 Programmation en coordonnées polaires La IndraMotion MTX permet la programmation de coordonnées polaires tant sur le plan (2D) comme dans l’espace (3D). Le point d’arrivée voulu est indiqué via D la valeur du rayon (distance du point cible par rapport au pôle) D l’angle polaire 1 et D l’angle polaire 2. Z R: Valeur du rayon (= XR=YR) A: Angle polaire 1 B: Angle polaire 2 Y YR + P B Pôle A R XR X Exemple: Coordonnées polaires sur le plan pour G17 actif Valeur du rayon: Il est toujours programmé à l’aide d’une adresse d’axe du plan de travail actuel (par ex. “X“ ou “Y“ pour G17 actif). Cette coordonnée programmée est aussi désignée comme coordonnée de rayon. Elle indique lors d’une programmation de calage d’origine la distance du point cible par rapport au pôle et lors d’une programmation incrémentale la distance du point cible par rapport au point de départ. Si les deux adresses possibles sont programmées dans un même bloc, une erreur d’exécution est générée. Angle polaire 1: D Il est programmé en standard comme adresse “A“ et il est toujours situé dans le plan de travail actuel. D L’angle polaire programmé 1 se rapporte toujours au dernier axe de coordonnée de rayon programmé. Une valeur positive indique une rotation dans le sens mathématique positif, et reste valide jusqu’à ce qu’une nouvelle valeur soit programmée. Lors d’une programmation incrémentale active l’angle programmé est calculé de façon incrémentale. D Lors de l’activation de la programmation des coordonnées polairesavec POL, l’angle polaire 1 est initialisé à la valeur 0 degré. 4 - 102 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 PolarPol, POP Angle polaire 2: D Il est programmé en standard comme adresse “B” et décrit lors de la programmation de calage d’origine active de l’angle entre l’axe normal (par rapport au plan de travail actuel) et le vecteur du pôle actuel par rapport au point cible. Il reste valide jusqu’à ce qu’une nouvelle valeur soit programmée. Lors d’une programmation incrémentale active l’angle programmé est calculé de façon incrémentale. D Lors de l’activation de la programmation des coordonnées polaires avec POL, l’angle polaire 2 est initialisé à la valeur 90 degré. Dans ce cas le point cible se trouve exactement dans le plan de travail actuel. Les coordonnées polaires n’agissent maintenant qu’au niveau du plan. Toutes les autres coordonnées en dehors du plan de travail sont interprétées de façon cartésienne. Ceci est valable surtout pour les valeurs de coordonnées programmées de l’axe normal actuel! D De “vraies“ coordonnées polaires tridimensionnelles (coordonnées sphériques) sont créées si l’angle polaire 2 devient différent de 90 degré. La programmation de valeurs de coordonnées de l’axe normal actuel génère alors une erreur d’exécution. Toutes les coordonnées à l’extérieur de l’espace 3D par contre peuvent être programmées simultanément. Comme dans le cas du 2D, elles sont également interprétées de façon cartésienne. D Avec un angle polaire 2 de 0 degré, la valeur de l’angle polaire 1 n’a aucune importance, puisque le point programmé est situé exactement à l’aplomb du pôle. Z Y P R: Valeur du rayon (= XR=YR) A: Angle polaire 1 B: Angle polaire 2 R YR B + A Pôle XR X Exemple: Coordonnées polaires dans l’espace pour G17 actif . Les adresses standards pour les angles polaires 1 et 2 peuvent être modifiés via les paramètres machine 8005 0001 et 8005 0002. C’est pourquoi elles peuvent être différentes sur votre installation. R911311170 / 01 IndraMotion MTX Fonctions CN PolarPol, POP Electric Drives Bosch Rexroth AG and Controls 4 - 103 Exemple: Programmation en coordonnées polaires pour le calage d’origine absolue N10 G18 : : N40 POP(25,10) : : Changement de plan. Ici: Commutation au plan ZX avec Z comme coordonnée principale et X comme coordonnées secondaire. Définition du pôle dans le plan actuel (ici: avec les coordonnées cartésiennes Z=25 et X=10). N50 G1(POL) Z20 A70 : : : Mouvement sur trajectoire en coordonnées polaires suivant P2 (voir fig.): P2 est défini par la distance absolue par rapport au pôle (ici: 20 mm) et par l’angle polaire 1 (ici: A=70 degré), en fonction de l’axe du rayon programmé (ici: Axe Z). X : Trajectoire effectuée P2 20 20 A70 10 Z’ Pôle P1 Z P 10 N60 G1(POL) X20 A90 : : : : : : : : : : 20 30 40 Mouvement sur trajectoire en coordonnées polaires suivant P3 (voir fig.): P3 est défini par la distance absolue par rapport au pôle (ici: 20 mm) et par l’angle polaire 1 (ici: A=90 degré), en fonction de l’axe du rayon programmé (ici: Axe X-). La programmation suivante serait également possible: N60 G1(POL) Z20 A180 ou N60 Z20 A180 : Trajectoire effectuée : Vecteur de position P2 X’ X 20 A90 P3 10 Pôle Z’ P1 20 Z P 10 20 30 40 4 - 104 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 PolarPol, POP Exemple: Programmation en coordonnées polaires dans la cote incrémentale N10 G17 G90 G0 X0 Y0 N20 G1(POL) X200 A0 N30 G91 Y200 A30 N40 A60 N50 A60 N60 A60 N70 A60 N80 A60 N90 X0 N100 M30 Position de départ: P0 P1 P2 P3 P4 P5 P6 P7 P0 Y P3 : Trajectoire effectuée Y’ A60 P2 A30 P4 P1 P0 P7 P5 P6 X R911311170 / 01 IndraMotion MTX Fonctions CN PoleSet, PLS 4.54 Electric Drives Bosch Rexroth AG and Controls Définition du point de réflexion miroir/point de rotation PLS 4 - 105 PoleSet, Effet Cette fonction définit la position absolue du pôle pour les auxiliaires de saisie réflexion miroir, fonction échelle et rotation. Le pôle défini est alors le point de repère de ces auxiliaires de saisie et représente donc le point de réflexion miroir/point de rotation. . La fonction n’est pas nécessaire si la réflexion miroir ou la rotation doivent être effectuées par rapport à l’origine programme. On notera ici que: D PoleSet est une fonction modale. La position du pôle se rapporte au système de coordonnées programme actuel et elle est maintenue jusqu’à ce qu’elle soit remise à zéro sur l’origine des coordonnées programme ou qu’elle soit redéfinie. D La fonction n’entraîne aucun déplacement des axes. D La fonction peut être programmée dans le même bloc avec d’autres conditions de course et fonctions auxiliaires. D Le pôle programmé se rapporte aux fonctions réflexion miroir (Mirror), échelle (Scale) et rotation (Rotate). Programmation Syntaxe: PoleSet(<Coordonnées>) Fixer le pôle sur les coordonnées indiquées. Les coordonnées indiquées doivent être séparées par des virgules (par ex.: PoleSet(X5,Y2)). PoleSet(0) ou PoleSet() ou Remettre le pôle à zéro sur l’origine du système de coordonnées du programme. Format abrégé: PLS(...) Exemple: : N30 PLS(X5,Y2) : N130 PLS() : Fixer la réflexion miroir/le point de rotation sur la position X=5 et Y=2. Remettre la réflexion miroir/le point de rotation à zéro sur l’origine du système de coordonnées programme. Particularités et restrictions: D La position du pôle doit être indiquée de façon absolue, c’est à dire par rapport à l’origine du programme actuel. 4 - 106 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.55 PosMode, PMD DC IndraMotion MTX ACP R911311170 / 01 ACN Mode de positionnement pour axes sans fin PosMode, PMD Mode de positionnement local pour axes sans fin DC, ACP, ACN Effet Définit dans quel sens les axes du type “sans fin“ doivent tourner lors du processus de positionnement. On notera ici que: D DC(...), ACP(...) et ACN(...) agissent contrairement à “PosMode“ par bloc et écrasent dans le bloc actuel le mode de positionnement actif de l’axe programmé concerné. D Les données de position programmées en laison avec des fonctions DC-, ACP- ou ACN-, sont toujours interprétés en tant que valeurs de position absolues. Programmation Syntaxe: PosMode(<Adr><Mode>) Activer le mode de positionnement pour l’axe avec l’adresse <Adr> conformément à <Mode>. Plusieurs axes peuvent être programmés dans la parenthèse. Activer pour les axes ronds sans fin non programmés dans le canal actuel le mode de positionnement MP 1003 00005. PosMode() ou PosMode(0) Activer le mode de positionnement de tous les axes dans le canal actuel suivant MP 1003 00005. Format abrégé: PMD(...) <Adr>=DC(<Valeur>) L’axe <Adr> se déplace vers la position absolue <Valeur> sur le chemin le plus court. <Adr>=ACP(<Valeur>) L’axe <Adr> se déplace vers la position absolue <Valeur> dans la direction mathématiquement positive (se reporter à l’indication ci - dessous). <Adr>=ACN(<Valeur>) L’axe <Adr> se déplace vers la position absolue <Valeur> dans la direction mathématiquement négative. avec <Adr>: adresse d’axe. Les axes autorisés sont du type “sans fin“. <Valeur>: information sur la course pour <Adr>. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN PosMode, PMD DC ACP <Mode>: . 4 - 107 ACN Mode de positionnement 0: Aucune Logique de positionnement. La direction de déplacement se calcule toujours uniquement à partir de la différence entre l’ancienne et la nouvelle position. 1: Chemin le plus court. La course de déplacement maximale de l’axe ne dépasse pas la moitié de la valeur modulo significative. 2: Suivant le signe +/ - programmé: “+“: Rotation à droite; “ - “: Rotation à gauche. En direction mathématiquement positive: Sens de rotation trigonométrique (inverse aux aiguilles d’une montre) vu d’un axe de coordonnées en direction de l’origine des coordonnées. Exemple: N40 B=ACP(-258) : : : N80 PMD(A1C2) : : : Indépendamment de “PosMode“ l’axe physique désigné par “B“ s’approche de la position 258 degré en direction mathématiquement positive. Le signe +/ - est ignoré. Mode de positionnement de Axe A: chemin le plus court Axe B: suivant MP 1003 00005 Axe C: signe +/ - Particularités et restrictions: D Dans le même bloc plusieurs fonctions DC, ACP ou ACN (respectivement pour des axes différents) peuvent être programmées. D Les fonctions DC, ACP ou ACN ne sont efficaces que pour des axes synchrones du type “rond“ ou “sans fin“. Si elles sont utilisées en liaison avec d’autres types d’axes, elles sont ignorées par la commande. D Les signes (+/- ) négatifs dans les données de position des fonctions DC-, ACP- ou ACN-sont ignorés. 4 - 108 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.56 IndraMotion MTX R911311170 / 01 PrecProg, PRP Programmation de précision PrecProg, PRP Effet Réduit l’avance au niveau des raccords entre segments de contours et des segments de trajectoires circulaires de façon à respecter la précision prédéfinie. La précision exigée peut également être influencée par l’indication du D contour- maximal admissible ou de l’erreur de rayone au niveau du raccord de contour ou du segment de cercle ou de D Poursuite de trajectoire- maximale admissible d (écart angulaire), qui ne doit pas être dépassée lors du déplacement sur un raccord de contour. Cons.3 = Contour de consigne, position de consigne = Contour réel; position réelle avec “PrecProg” = Contour réel’; position réelle’ sans “PrecProg“ Erreur de contour Contour de consigne Cons.4 Cons.2 Contour de consigne Réel4 Contour réel avec “PrecProg“ Réel3 Réel5 Cons.1 Contour réel sans “PrecProg“ Cons.5 Contour réel sans “PrecProg“ Réel6 Réel2 Erreur de contour à la transition entre blocs sans “PrecProg“ d Cons.3 Cons.4 Cons.2 e Contour de consigne Réel2 Réel1 e Rréel (avec “PrecProg“) Réel3 Réel4 Réel5 Réel6 Cons.1 Rréel (sans “PrecProg“) Contour réel avec “PrecProg“ Rcos. Erreur de rayon sur l’arc de cercle (à vitesse sur trajectoire constante) Cons.5 Cons.6 Erreur de contour à la transition entre blocs avec “PrecProg“ . A la différence de la fonction “Arrêt précis“ (G61/G62 ; se reporter à la page 3 - 52), cette fonction n’entraîne pas obligatoirement de décélération au droit du raccordement entre blocs. Se reporter à “Particularités et restrictions“. R911311170 / 01 IndraMotion MTX Fonctions CN PrecProg, PRP Electric Drives Bosch Rexroth AG and Controls 4 - 109 Programmation Syntaxe: PrecProg ou PrecProg(1) Programmation Arrêt précis ON. Erreur de contour-/rayon maximal admissible e suivant MP 8003 00001. PrecProg(EPS<e>) Programmation Arrêt précis ON. Erreur de contour-/rayon maximal admissible: <e>. PrecProg(DIST<d>) Programmation Arrêt précis ON. Poursuite de trajectoire-maximale admissible: <d>.. Pour segments de trajectoire circulaires: e-Tenir compte de la valeur issue de MP 8003 00001 . PrecProg() ou PrecProg(0) Programmation Arrêt précis OFF. Format abrégé: PRP(...) avec <e>: <d>: Erreur de contour /rayon maximal admissible en mm ou pouces (en fonction de G70/G71). Poursuite de trajectoire maximale admissible en mm ou pouces (en fonction de G70/G71). Particularités et restrictions: D Tous les axes correspondants doivent être réglés avec une dynamique identique. D Dans la mesure où G8 et G62 ne sont pas actifs, une décélération à la vitesse v=0 est effectuée à chaque transition de bloc. D La programmation Arrêt précis- n’apporte des résultats sensés que si l’influence de l’accélération et de la poursuite peuvent être négligées. 4 - 110 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.57 IndraMotion MTX R911311170 / 01 PtBlkEnd, PTE Temps de déclenchement de la course (Point d’arrivée de l’interpolation) PtBlkEnd, PTE Effet . Agit en liaison avec les fonctions “Découpage - Poinçonnage“ (se reporter à la page 4 - 116) et “Grignotage“ (se reporter à la page 4 - 79). La fonction D définit pour les axes indiqués l’événement de référence temps- “L’interpolateur CN atteint le point d’arrivée du déplacement“ et D définit le laps de temps entre l’événement de référence temps et le déclenchement de course. De cette façon il est possible de décaler le moment de déclenchement de la course – par rapport à la référence temps – indifféremment. Sont possibles D le déclenchement de course anticipé (par ex. pour la compensation d’un temps d’attente constant dépendant de l’application qui est provoqué par le traitement des signaux) et D le déclenchement de course retardé (par ex. pour augmenter la précision du positionnement sur des axes à faible dynamique, où lors du découpage - poiçonnage avec serre flans). . Autres fonctions qui influencent le temps de déclenchement de la course: PtBlkEnd (se reporter à la page 4 - 110) PtInpos (se reporter à la page 4 - 114). Programmation Syntaxe: PtBlkEnd(<Axe><Temps>{,<Axe><Temps>}...) Format abrégé: avec <Axe> <Temps> PTE(..) Nom logique d’axe. Laps de temps voulu (en ms) entre l’événement de référence temps- et le déclenchement de la course. 0: Déclenchement de la course au moment de l’événement. Valeur négative: déclenchement de la course anticipé Valeur positive: déclenchement de la course retardé R911311170 / 01 IndraMotion MTX Fonctions CN PtBlkEnd, PTE Electric Drives Bosch Rexroth AG and Controls 4 - 111 Particularités et restrictions: D Les fonctions PTD, PTE et PTI sont des fonctions modales qui se révoquent mutuellement. D Le découpage - poiçonnage ou le grignotage doivent être appliqués en MP 8001 00010. D Tous les temps programmés sont arrondis suivant la grille du temps de cycle de SERCOS. D Lors les déplacements auxquels participent plusieurs axes avec des références temps et des temps d’attente différents, l’axe le plus “faible“ définit le comportement de déclenchement de la course réel. Ce faisant s’applique: D Les axes avec la référence temps “Fenêtre Inpos-“ (se reporter à la page 4 - 114) sont “plus faibles“ que les axes avec la référence temps “Point d’arrivée de l’interpolation“. D À référence temps égale l’axe avec le temps d’attente le plus long est considéré comme le plus “faible“. D Via la fonction PtDefault (se reporter à la page 4 - 113) il est possible de réinitialiser le déclenchement de la course de tous les axes du système aux valeurs par défaut. Exemple: - Configuration d’axe: - SERCOS-Temps de cycle: X, Y, C 3 ms Réglage des temps de déclenchement de la course: : N10 : : : N20 : : : : PTE(X-10) PTI(Y10,C2) Événement de référence temps- pour l’axe X: “L’interpolateur CN atteint le point d’arrivée du déplacement“. Courseavantdéclenchement de 10 ms. Événement de référence temps- pour les axes Y et C: “Fenêtre Inpos atteinte-“ (pour la fonction se reporter à la page 4 - 114). Axe-Y: Courseaprèsdéclenchement de 10 ms. Axe-Y: Courseaprèsdéclenchement de 2 ms. 4 - 112 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 PtBlkEnd, PTE Effet durant le déplacement: : N100 G1 Y20 C10 : : : : : : N110 X20 C20 : : : : : : : N120 X30 : : N130 PTD : : Y définit le comportement de déclenchement de la course, puisque à références de temps égales un temps d’attente supérieur à été programmé (se reporter à N20). Comme les temps d’attente sont arrondis à la grille des temps de cycle SERCOS, le temps de déclenchement de la course retardé est effectivement de 12 ms. C définit le comportement de déclenchement de la course, puisque les axes avec la référence temps “Fenêtre Inpos“ sont “plus faibles“ que des axes avec la référence temps “Point d’arrivée de l’interpolation”. Comme les temps d’attente sont arrondis à la grille des temps de cycle SERCOS, le temps de déclenchement de la course retardé est effectivement de 3 ms. X définit le comportement de déclenchement de la course, puisque seul l’axe X est déplacé. Déclenchement de la course anticipé réel: - 9 ms. Initialiser le déclenchement de la course de tous les axes du système conformément à MP 8001 00020 et MP 8001 00021 (pour la fonction se reporter à la page 4 - 113). R911311170 / 01 IndraMotion MTX Fonctions CN PtDefault, PTD 4.58 Electric Drives Bosch Rexroth AG and Controls 4 - 113 Temps de déclenchement de la course (initialiser à la valeur par défaut) PtDefault, PTD Effet . Agit en liaison avec les fonctions “Découpage - Poinçonnage“ (se reporter à la page 4 - 116) et “Grignotage“ (se reporter à la page 4 - 79). Fixe le moment du déclenchement de la course de tous les axes du système aux valeurs définies dans MP 8001 00020 et MP 8001 00021. Programmation Syntaxe: PtDefault Format abrégé: PTD Particularités et restrictions: D Les fonctions PTD, PTE et PTI sont des fonctions modales qui se révoquent mutuellement. D Le découpage - poiçonnage ou le grignotage doivent être appliqués en MP 8001 00010. Exemple: se reporter à la page 4 - 111. . Autres fonctions qui influencent le temps de déclenchement de la course: PtBlkEnd (se reporter à la page 4 - 110) PtInpos (se reporter à la page 4 - 114). 4 - 114 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 temps de déclenchement de la course (Fenêtre Inpos-) PTI PtInpos, Fonctions CN 4.59 Effet PtInpos, PTI . Agit en liaison avec les fonctions “Découpage - Poinçonnage“ (se reporter à la page 4 - 116) et “Grignotage“ (se reporter à la page 4 - 79). La fonction D définit pour les axes indiqués l’événement de référence temps “Fenêtre Inpos atteinte“ et D définit le laps de temps entre l’événement de référence temps et le déclenchement de course. De cette façon le moment de déclenchement de la course – par rapport à la référence temps – est prolongé à volonté (par ex. pour augmenter la précision du positionnement sur des axes à faible dynamique, où lors du découpage - poiçonnage avec serre - flans). . Autres fonctions qui influencent le temps de déclenchement de la course: PtBlkEnd (se reporter à la page 4 - 110) PtInpos (se reporter à la page 4 - 114). Programmation Syntaxe: PtInpos(<Axe><Temps>{,<Axe><Temps>}...) Format abrégé: avec <Axe> <Temps> PTI(..) Nom logique d’axe. Laps de temps voulu (en ms) entre l’événement de référence temps- et le déclenchement de la course. Particularités et restrictions: D Les fonctions PTD, PTE et PTI sont des fonctions modales qui se révoquent mutuellement. D Le découpage - poiçonnage ou le grignotage doivent être appliqués en MP 8001 00010. D Tous les temps programmés sont arrondis suivant la grille du temps de cycle de SERCOS. D Lors les déplacements auxquels participent plusieurs axes avec des références temps et des temps d’attente différents, l’axe le plus “faible“ définit le comportement de déclenchement de la course réel. Ce faisant s’applique: D Les axes avec la référence temps “Fenêtre Inpos-“ (se reporter à la page 4 - 114) sont “plus faibles“ que les axes avec la référence temps “Point d’arrivée de l’interpolation“. R911311170 / 01 IndraMotion MTX Fonctions CN PtInpos, PTI Electric Drives Bosch Rexroth AG and Controls 4 - 115 D À référence temps égale l’axe avec le temps d’attente le plus long est considéré comme le plus “faible“. D Via la fonction PtDefault (se reporter à la page 4 - 113) il est possible de réinitialiser le déclenchement de la course de tous les axes du système aux valeurs par défaut. Pour l’exemple, se reporter au chapitre 4.57. 4 - 116 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.60 IndraMotion MTX R911311170 / 01 Punch, PUN Découpage - poinçonnage Punch, PUN Effet Commute la fonction “Découpage - poinçonnage“ sur marche ou arrêt. Lorsque le découpage - poinçonnage est actif, une course est déclenchée D à la fin de chaque déplacement programmé (mode course isolée), ou D à la fin de chaque segment de trajectoire crée par les fonctions “NUM“ (se reporter à la page 4 - 81) ou “LEN“ (se reporter à la page 4 - 67). Le mouvement de déplacement consécutif n’est démarré qu’une fois la course terminée. . Fonctions influençant le temps de déclenchement de la course: PtBlkEnd (se reporter à la page 4 - 113) PtBlkEnd (se reporter à la page 4 - 110) PtInpos (se reporter à la page 4 - 114). Programmation Syntaxe: Punch(1) ou Punch Découpage - poinçonnage ON. Punch(0) ou Punch() Découpage - poinçonnage OFF. Format abrégé: PUN(..) Particularités et restrictions: D Le découpage - poiçonnage doit être validé via MP 8001 00010. D La fonction agît de façon modale et déjà à des déplacements programmés dans le même bloc. D Via la fonction “NUM“ ou “LEN“ la commande peut générer automatiquement à partir du déplacement programmé des segments de trajectoires à la fin desquels une course est déclenchée. D Si la fonction grignotage est activée (se reporter à la page 4 - 79) la fonction découpage - poinçonnage est désactivée. D Les blocs qui ne contiennent pas de coordonnées d’axes issues du plan actif ne déclenchent pas de course. D Dans la mesure où l’API supprime le déclenchement de la course, le traitement s’arrête sur la position de déclenchement de la course jusqu’à ce que l’API valide à nouveau le déclenchement de la course. R911311170 / 01 IndraMotion MTX Fonctions CN Punch, PUN Electric Drives Bosch Rexroth AG and Controls 4 - 117 Exemple: - G90 est actif (Programmation du calage d’origine) - Plan actif: X/Y - Position actuelle: X=0, Y=0, C=0 : N10 C10 Punch(1) Découpage - poinçonnage ON. C-L’axe effectue une rotation à 10 degré. Pas de course, puisque les axes X- et Y-ne sont pas programmés. C-L’axe effectue une rotation à 60 degré. Pas de course, puisque les axes X- et Y-ne sont pas programmés. Pas de déplacement, puisque l’axe X-est déjà sur la position 0. Course, puisque l’axe X-est situé sur le plan actif. Diviser les blocs de déplacement consécutifs en segments de trajectoire égaux de 12 mm maximum. Le bloc de déplacement est divisé en 10 segments de trajectoire égaux de 11 mm. Course aux positions X11, X22, X33 ...X99, X110. Écrase le LEN (N40) agissant de façon modale pour le bloc actuel. Diviser le bloc de déplacement en 3 segments de trajectoire égaux. Course en Y10, Y20, Y30. LEN de N40 agît à nouveau. Course en Y42, Y54, Y66, Y78, Y90. Découpage - poinçonnage Off Déplacement en X=50, Y=50. N20 C60 N30 X0 N40 LEN=12 N50 X110 N60 Y30 NUM=3 N70 Y90 N80 X50 Y50 Punch() : Y 90 LEN=12 Y42 à Y90 (5 segments de trajectoire de 12 mm chacun) NUM=3 Y10 à Y30 (3 segments de trajectoire de 10 mm chacun) 78 66 54 42 30 20 10 0 : Course 0 11 22 33 44 55 66 77 88 99 110 X LEN=12 X0 à X110 (10 segments de trajectoire à 11mm chacun) 4 - 118 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.61 IndraMotion MTX R911311170 / 01 RedTorque, RDT Réduction de couple RedTorque, RDT Effet “RedTorque“ écrase axe par axe la valeur du paramètre machine 1003 00010 par la valeur programmée. Ce faisant, la valeur du paramètre machine ne subira aucune modification. De cette façon le couple maximum réduit d’un axe qui peut devenir efficace après un front positif du signal de l’interface d’axe “Réduction du couple“ (qAx_TrqLim) n’est plus seulement limité fixement à la valeur du paramètre machine, mais réglable de manière dynamique. Programmation Syntaxe: RedTorque(<Axe1> {,<Axe2>{, ....}}) Fixer des valeurs programmées pour les valeurs du couple maximum réduit. RedTorque(0) ou RedTorque() Fixer les valeurs de paramètre machine (MP 1003 00010) pour les valeurs du couple maximum réduit. Format abrégé: RDT(...) avec <Axe i>: Désignation physique ou logique de l’axe y compris le couple maximum respectif en tant que % du couple d’arrêt de l’axe. Plage: de 0 à 500 %. Exemple: N8 RDT(X5) : : Avec le front montant suivant du signal significatif lié à l’axe “Réduction du couple“, le couple maximum pour l’axe (X dans le cas présent) est limité à 5 % du couple d’arrêt de l’axe. R911311170 / 01 IndraMotion MTX Fonctions CN RemAxis, RAX 4.62 Electric Drives Bosch Rexroth AG and Controls Extraire un axe d’un groupe d’axes 4 - 119 RemAxis, RAX Effet Extrait un axe synchrone du canal appelant. L’axe synchrone se transforme ainsi en axe asynchrone. L’axe asynchrone est alors programmable dans chaque canal via son nom d’axe physique. . Pour des informations détaillées sur la fonction “Transfert d’axe“ reportez vous au manuel “Description des fonctions”. Programmation Syntaxe: RemAxis(<PAN> | <PAI> | <LAN>{,<PAN> | <PAI> | <LAN>}...) Format abrégé: avec <PAN> <PAI> <LAN> RAX(..) Nom physique de l’axe. Définit l’axe qui doit être extrait du canal actuel. Index physique de l’axe Effet comme <PAN>.. Nom logique de l’axe. Effet comme <PAN>.. Particularités et restrictions: D Lors de l’extraction d’un axe, la préparation du bloc n’est pas suspendue. D Les noms d’axes invalides entraînent un message d’erreur. D Si un axe à extraire est défini dans le système, bien qu’il ne soit plus présent dans le canal actuel, aucun message d’erreur n’est généré. D Les positions d’axe d’un même bloc doivent toujours être programmées suivant RemAxis(...). Exemple: : N030 RAX(XP,2,Z) : L’axe physique XP, l’axe physique avec l’index 2 et l’axe logique Z vont être extraits du canal. 4 - 120 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.63 IndraMotion MTX R911311170 / 01 RemLogName, RLN Supprimer le nom logique de l’axe RemLogName, RLN Effet Supprime le nom logique d’axe d’un axe synchrone dans le canal appelant. L’axe subsiste dans le canal, mais ne pourra y être programmé plus que via son nom d’axe physique ou son index d’axe physique. . Pour des informations détaillées sur la fonction “Transfert d’axe“ reportez vous au manuel “Description des fonctions“. Programmation Syntaxe: RemLogName(<PAN> | <PAI> | <LAN>{,<PAN> | <PAI> | <LAN>}...) Format abrégé: avec <PAN> <PAI> <LAN> RLN(..) Nom physique d’axe. Définit l’axe dont le nom logique d’axe doit être supprimé du canal actuel. Index physique d’axe Effet comme <PAN>.. Nom logique d’axe. Effet comme <PAN>.. Particularités et restrictions: D Un axe indiqué doit être à l’arrêt. Si cela n’est pas le cas, la commande génère un message d’erreur et interrompt le programme. D Les positions d’axe d’un même bloc doivent toujours être programmées suivant l’expression RemLogName(...). Exemple: : N030 RLN(YP,3,Z) : Les noms logiques de l’axe physique YP, du 3ème axe physique et de l’axe logique Z sont extraits du canal appelant. R911311170 / 01 IndraMotion MTX Fonctions CN REPOSTP 4.64 Electric Drives Bosch Rexroth AG and Controls 4 - 121 Sous - programmes asynchrones: Définir le point de redémarrage dans le UP asynchrone REPOSTP Effet Définit si la commande doit, à la fin du sous - programme asynchrone dans lequel la fonction REPOSTP est programmée, se positionner sur D le point de départ D le point d’arrivée ou D le point d’interception d’un bloc de déplacement éventuellement intercepté. Si lors du moment de l’interception aucun bloc de déplacement n’est actif, la commande se positionne toujours sur les dernières coordonnées actives. REPOSTP écrase ainsi pour le sous- programme asynchrone actuellement en cours d’exécution un point de redémarrage défini préalablement via ASPRP (se reporter à la page 4 - 8). . Vous trouverez de plus amples informations sur l’utilisation et le paramétrage des sous - programmes asynchrones dans le manuel sur les fonctions. Programmation Syntaxe: REPOSTP(<Point>) avec <Point> Point de rédémarrage voulu: 1: Point de départ 2: Point d’arrivée 3: Point d’interception Particularités et restrictions: D La fonction est prévue pour l’utilisation dans un sous - programme asynchrone. D Le point de redémarrage défini préalablement via ASPRTP (se reporter à la page 4 - 8) pour le sous - programme asynchrone en cours d’exécution redevient efficace automatiquement à la fin du UP. D Les modifications de correction survenues entretemps au sein du sous - programme asynchrone sont prises en compte automatiquement lors du calcul interne du point de redémarrage nécessaire. 4 - 122 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.65 IndraMotion MTX R911311170 / 01 Rotate(...), ROT(...) Auxiliaires de saisie: Rotation Rotate(...), ROT(...) Effet La fonction rotation fait partie des auxiliaires de saisie. A l’intérieur du plan actif, la commande fait effectuer une rotation aux coordonnées d’un contour programmé (concernant les plans, se reporter à G17, G18, G19 ou G20). La rotation se rapporte toujours au point de rotation actuel (se reporter à la fonction PoleSet page 4 - 105). Si celui- ci n’a pas été programmé explicitement, le point d’origine actuel du programme sert de point de rotation. A l’aide de cette fonction, les éléments de programmes récurrents qui sont décalés avec un angle défini, n’ont besoin d’être programmés qu’une seule fois. Par ailleurs, il n’est plus nécessaire, par exemple, de convertir les cotes des pièces angulaires en fonction des coordonnées du système de coordonnées de pièce de base. Il suffit simplement de reprendre directement les cotes indiquées sur le plan de construction et de saisir l’angle de rotation correspondant. La commande se charge du reste. . La rotation est un auxiliaire de saisie et ne modifie donc pas le système de coordonnées de programme actuel. Un auxiliaire de saisie n’est en fait qu’une autre possibilité pour la saisie des coordonnées de programme. La rotation peut également être utilisée en commun avec les fonctions miroir et échelle. On notera ici que: D Le fonction agît de façon modale. Elle reste valide jusqu’à ce qu’elle soit désactivée. D Elle peut être programmée dans le même bloc avec d’autres conditions de course et fonctions auxiliaires. Programmation Syntaxe: Rotate(<Angle de rotation>) Activer la fonction rotation autour de l’<angle de rotation> voulu.. Rotate(0) ou Rotate() Désactiver la fonction rotation pour tous les axes du canal. Tous les angles de rotation sont mis sur « 0 ». Les positions d’axe atteintes restent conservées jusqu’à nouvelle programmation. Format abrégé: ROT(...) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN Rotate(...), ROT(...) 4 - 123 avec <Angle de rotation> > 0 : Rotation dans le sens contraire aux aiguilles d’une montre. < 0: Rotation dans le sens des aiguilles d’une montre = 0: Désactivation de la rotation. Toutes les coordonnées du plan actif programmées ensuite subissent une rotation autour du point de rotation (se reporter à PoleSet page 4 - 105). La rotation ne devient active qu’avec l’information de déplacement suivante. Particularités et restrictions: D La fonction tient compte des paramètres d’interpolation en interpolation circulaire. D Elle influence le décalage programmable des segments de contour (Shift). Se reporter à la page 4 - 132. D Elle n’influence pas: D les décalages du point zéro (G54 - G59.5; se reporter à la page 3 - 49), D les décalages des coordonnées de programme (Trans ou ATrans; se reporter à la page 4 - 166), D l’initialisation de la position de programme (“SetPos“ ; se reporter à la page 4 - 131), D l’approche des coordonnées du point de référence (G74; se reporter à la page 3 - 58), D l’approche de la position fixe des axes machine (G76; se reporter à la page 3 - 63), D Valeurs de correction du rayon de la fraise et des longueurs d’outillages. Exemple: : N30 ROT(45) : : : Activation de la fonction « Rotation de coordonnées » Toutes les coordonnées du plan actif programmées par la suite effectuent une rotation de 45 degrés dans le sens contraire des aiguilles d’une montre autour d’un point de rotation éventuellement programmé. 4 - 124 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 Rotate(...), ROT(...) Effet de : ROT(45) (le point de rotation est l’origine du programme) Effet de : ROT( - 45) (le point de rotation est l’origine du programme) Y Y P P X X Rotation des coordonnées d’un vecteur d’orientation La rotation d’un vecteur d’orientation est effectuée autour de la normale du plan actif. Une fonction échelle ou un point miroir/point de rotation éventuellement actifs n’ont pas d’influence sur le résultat Syntaxe comme décrit sous “Programmation“. R911311170 / 01 IndraMotion MTX Fonctions CN RoundEps, RNE 4.66 Electric Drives Bosch Rexroth AG and Controls Arrondissage des angles avec indication de la différence 4 - 125 RoundEps, RNE Effet Cette fonction insère des arcs tangentiels de raccordement entre 2 blocs linéaires du plan principal. Ceci modifie certes légèrement le contour programmé au droit de tels angles, mais permet lors de l’interpolation d’obtenir des profils de vitesse et d’accélération continus Programmation Syntaxe: RoundEps(<Différence>) Activer l’arrondissage des angles entre 2 blocs linéaires .. RoundEps(DEF) Activer l’arrondissage des angles entre 2 blocs linéaires avec un écart par défaut- issu de MP 7050 00110. RoundEps(0) ou RoundEps() Activer l’arrondissage des angles entre 2 blocs linéaires issus de .. Format abrégé: RNE(...) avec <Différence> Différence maximale admissible (en mm) entre le contour modifié et programmé. Des chiffres après la virgule sont permis. La commande calcule elle- même un arc tangentiel de raccordement adapté. Particularités et restrictions: D Les fonctions “ChLength“, “ChSection“, “RoundEps“ et “Rounding“ agissent de façon modale et se révoquent mutuellement. D La commande n’exécute pas la fonction “Arrondissage des angles“, si D au moins l’un des deux blocs voisins n’est pas un bloc linéaire. D au moins l’un des deux blocs voisins présente une part de trajectoire en dehors du plan principal sélectionné, ou bien D au moins l’un des deux blocs voisins présente une course de déplacement inférieure à la course définie dans le paramètre MP 7050 00120 (2 à 90 mm, valeur par défaut: 10 mm) , ou bien D qu’un enchaînement de blocs suivant le paramètre machine est considéré comme continu, c’est - à - dire lorsque l’angle entre les deux blocs est inférieur à l’angle maximal défini dans MP 7050 00130 (Valeur par défaut = 1 degré). 4 - 126 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.67 IndraMotion MTX R911311170 / 01 Rounding, RND Arrondissage des angles avec indication du rayon Rounding, RND Effet Cette fonction insère des arcs tangentiels de raccordement entre 2 blocs linéaires, circulaires ou hélicoïdaux du plan principal. Ceci modifie certes légèrement le contour programmé au droit de tels angles, mais permet lors de l’interpolation d’obtenir des profils de vitesse et d’accélération continus Programmation Syntaxe: Rounding(<Rayon>) Activer l’arrondissage des angles entre 2 blocs linéaires/circulaires/hélicoïdaux. Rounding(0) ou Rounding() Désactiver l’arrondissage des angles entre 2 blocs linéaires/circulaires/hélicoïdaux. Format abrégé: RND(...) avec <Rayon> Rayon voulu de l’arc de raccordement, les décimales sont autorisées. Particularités et restrictions: D Les fonctions “ChLength“, “ChSection“, “RoundEps“ et “Rounding“ agissent de façon modale et se révoquent mutuellement. D La commande n’exécute pas la fonction “Arrondissage des angles“, si D au moins l’un des deux blocs voisins présente une course de déplacement inférieure à la course définie dans le paramètre MP 7050 00120 (2 à 90 mm, valeur par défaut: 10 mm), ou bien D qu’un enchaînement de blocs suivant le paramètre machine est considéré comme continu, c’est - à - dire lorsque l’angle entre les deux blocs est inférieur à l’angle maximal défini dans MP 7050 00130 (Valeur par défaut = 1 degré). D Seules les composantes du plan actif sont prises en considération pour l’arrondissage, De ce fait, la direction dans l’espace des droites tridimensionnelles est modifiée. Ceci est valable de façon analogue pour les segments de trajectoire hélicoïdale. : Contour modifié : Contour programmé Rayon R911311170 / 01 IndraMotion MTX Fonctions CN Scale(...), SCL(...) 4.68 Electric Drives Bosch Rexroth AG and Controls Auxiliaire de saisie: Activation du facteur d’échelle SCL(...) 4 - 127 Scale(...), Effet La fonction d’échelle fait partie des auxiliaires de saisie. La commande augmente ou réduit un contour programmé par rapport à l’origine du programme. La fonction d’échelle se rapporte toujours au point d’inversement miroir actuel (se reporter à la fonction PoleSet page 4 - 105). Si celui- ci n’a pas été programmé explicitement, le point d’origine actuel du programme sert de point d’inversement miroir. La fonction d’échelle permet la programmation dans des programmes pièce de contours présentant toujours une dimension définie (dimension normalisée). Avant l’appel d’un tel programme pièce “normalisé“ (par exemple en tant que sous - programme), on peut ainsi influencer l’échelle du contour programmé via des facteurs d’échelle pour chaque axe. Ceci permet, par exemple lors de la fabrication de pièces moulées ou forgées, de compenser facilement les retraits des pièces d’usinage. . La fonction d’échelle est un auxiliaire de saisie et ne modifie donc pas le système de coordonnées programme actuel. Un auxiliaire de saisie n’est en fait qu’une autre possibilité pour la saisie des coordonnées de programme. La fonction d’échelle peut également être utilisée en commun avec les fonctions miroir et rotation. On notera ici que: D Le fonction agît de façon modale. Elle reste valide jusqu’à ce qu’elle soit désactivée. D Elle peut être programmée dans le même bloc avec d’autres conditions de course et fonctions auxiliaires. Programmation Syntaxe: Scale(<Axe1><Facteur>{,....}) Activer la fonction d’échelle pour les axes indiqués avec le facteur programmé. Scale(0) ou Scale() Désactiver la fonction d’échelle pour tous les axes du canal. Tous les facteurs d’échelle sont initialisés à la valeur “1“. Les positions d’axe atteintes restent conservées jusqu’à nouvelle programmation. Format abrégé: SCL(...) 4 - 128 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 Scale(...), SCL(...) avec <Axe1> <Facteur> Adresse d’axe (par ex. X), qui doit être affectée d’un facteur d’échelle. La programmation de l’adresse d’axe avec un facteur positif active la fonction. De ce fait tous les ordres de course programmés ensuite pour l’axe correspondant (par exemple X10) sont multipliés en interne avec ce facteur. Facteur > 1: augmentation de la dimension du contour. Facteur < 1: réduction de la dimension du contour. Facteur = 1:< le contour n’est pas modifié. Le facteur d’échelle lui - même ne déclenche pas de déplacement et ne devient actif qu’avec l’information de déplacement suivante. Particularités et restrictions: D Les facteurs d’échelle négatifs ne sont pas autorisés. D Pour une interpolation N circulaire/hélicoïdale/hélicoïdale les facteurs d’échelle de toutes les coordonnées intéressées du plan circulaire doivent être identiques! Dans le cas contraire un message d’erreur sera généré. D La fonction agît également sur les paramètres d’interpolation I,J,K et le montant de l’adresse R (pour programmation de rayon). D Elle influence le décalage programmable des segments de contour (Shift). Se reporter à la page 4 - 132. D Elle n’influence pas: D la programmation de l’avance ou l’avance active, D les décalages du point zéro (G54 - G59.5; se reporter à la page 3 - 49), D les décalages des coordonnées de programme (Trans ou ATrans; se reporter à la page 4 - 166), D l’initialisation de la position de programme (“SetPos“; se reporter à la page 4 - 131), D l’approche des coordonnées du point de référence (G74; se reporter à la page 3 - 58), D l’approche de la position fixe des axes machine (G76; se reporter à la page 3 - 63), D Valeurs de correction du rayon de la fraise et des longueurs d’outillages. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN Scale(...), SCL(...) 4 - 129 Exemple: : N30 SCL(X3,Y0.5) : : Activation de facteur d’échelle Toutes les coordonnées X programmées ensuite seront multipliées par ”3”, les coordonnées Y par ”0.5”. +Y P1 = avant l’activation du facteur d’échelle P2 = Résultat du facteur d’échelle P1 20 P2 10 P 10 20 30 40 +X 4 - 130 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.69 IndraMotion MTX R911311170 / 01 SelCrdCouple, SCC Couplage de coordonnées sélectif additionnel SelCrdCouple, SCC Effet Accouple une coordonnée de pièce du canal actuel (cible) à une coordonnée de pièce d’un autre canal (source). La valeur de coordonnée de la source agît donc de façon additionnelle à la valeur de coordonnée de la cible. De cette façon il est possible d’écraser des mouvements dans le canal actuel par des mouvements programmés dans un autre canal. Programmation Syntaxe: SelCrdCouple(SC<Canal>, CL(<Q1>,<Z1>{{,<Qn>,<Zn>}....})) Couplage de coordonnées sélectif additionnel ON. SelCrdCouple(0) ou SelCrdCouple() Tous les couplages de coordonnées actifs OFF. Format abrégé: SCC(...) avec <Canal> <Qn> <Zn> Numéro du canal dans lequel se trouve <Qn>. Valeur de saisie: Intègre. <Canal> doit être inférieur au numéro de canal du canal actuel. Source. Nom logique ou numéro logique de la coordonnée dans <Canal>. Cible. Nom logique ou numéro logique de la coordonnée dans le canal actuel. Exemples: SCC(SC1,CL(YA,YB)) SCC(SC1,CL(1,1,2,2)) Accouple la coordonnée YB du canal actuel à la coordonnée YA du canal 1. Accouple les coordonnées avec les numéros logiques 1 et 2 du canal actuel aux coordonnées avec les numéros logiques 1 ou 2 du canal 1. R911311170 / 01 IndraMotion MTX Fonctions CN SetPos, SPS 4.70 Electric Drives Bosch Rexroth AG and Controls Fixer la position du programme 4 - 131 SetPos, SPS Effet Fixe le point d’origine actuel du programme (par rapport au système de coordonnées de programme actuel et au point d’origine actif) à la valeur programmée respectivement sans déclencher de mouvement d’axe. Ensuite les nouvelles valeurs de position sont affichées automatiquement. Programmation Syntaxe: SetPos(<Coordonnées>) Fixer le point d’origine du programme pour les axes programmés sous <Coordonnées>. SetPos Annuler tous les décalages déclenchés par SetPose. Format abrégé: SPS(...) avec <Coordonnées> Fixer les valeurs d’axes aux coordonnées indiquées. Les coordonnées indiquées doivent être séparées par des virgules (par ex. (X0,Y0)). Particularités et restrictions: D Il est possible de régler de façon spécifique pour chaque canal si les décalages SetPos vers la position initiale sont supprimés ou conservés. Exemple : Y P0 P1: 80 70 60 50 40 P9 30 P6 P5 P8 P7 P4 20 10 P - 130 - 120 - 110 10 20 30 P2: P3: P4: P5: P6: P7: P2 P8: P3 SetPos(X0) P9: P10: P11: - 10 10 0 P0: P1 P10 - 100 - 90 - 80 - 70 40 50 60 70 . - 60 80 - 50 - 40 - 30 - 20 P11 90 100 110 120 130 140 150 X N10 N20 N30 N40 N50 N60 N70 N80 N90 N100 N110 N120 N130 N140 N150 M30 G90 F200 G1 X140 Y70 SetPos(X0) G1 Y30 G2 X-10 Y20 I-10 G1 X-55 X-65 Y30 X85 X95 Y20 X-100 G2 X-110 Y30 J10 G1 Y70 X5 X0 Y80 SetPos Il est également possible de programmer l’instruction DIN “G92“. L’instruction G92, par contre, ne doit pas être programmée avec des informations de déplacement dans un autre bloc. 4 - 132 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.71 IndraMotion MTX R911311170 / 01 Shift, SHT Décalage programmé de segments de contour Shift, SHT Effet La fonction Shift fait partie des auxiliaires de saisie. La commande décale un segment de contour programmé de façon parallèle aux axes du système de coordonnées de programme. . Shift est un auxiliaire de saisie et ne modifie donc pas le système de coordonnées de programme actuel. Un auxiliaire de saisie n’est en fait qu’une autre possibilité pour la saisie des coordonnées de programme. On notera ici que: D Les coordonnées de décalage programmées restent effectives jusqu’à écrasement ou désactivation par un nouveau bloc Shift. D Shift programmé seul ne déclenche pas de déplacement, mais il est possible de programmer des informations de déplacement dans le même bloc. ATTENTION Une programmation incorrecte peut entraîner un endommagement de la pièce à usiner et de la machine! Shift est influencée par les fonctions miroir, facteur d’échelle, rotation des coordonnées, c’est - à - dire que les coordonnées du nouveau point origine de segment de contour dans le bloc Shift sont également affectées d’un miroir, facteur d’échelle ou d’une rotation de coordonnées! Programmation Syntaxe: Shift(<Coordonnées>) Activer le décalage des segments de contour. Shift(0) ou Shift() Désactiver le décalage des segments de contour. Format abrégé: SHT(...) avec <Coordonnées> Coordonnées de programme du point origine du segment de contour- décalé. Plusieurs données de coordonnées doivent être séparées par des virgules (par ex.: SHT(X5,Y2)). R911311170 / 01 IndraMotion MTX Fonctions CN Shift, SHT Electric Drives Bosch Rexroth AG and Controls 4 - 133 Exemple: N10 SHT(X10,Y10,Z50) : N100 G1 X...Y...Z... : N110 SHT(X20,Y20) : : N210 SHT() X...Y...Z... : Nouveau point origine du segment de contour en X10 Y10 Z50. Pas de déplacement des axes. Déplacement des axes en tenant compte du décalage. Nouveau point origine du segment de contour en X20, Y20, Z50 (le décalage de Z est conservé!). Pas de déplacement des axes. Désactiver le décalage, les axes se déplacent sur la position programmée. 4 - 134 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.72 SMin, SMN IndraMotion MTX R911311170 / 01 SMax, SMX Limitation de la vitesse de rotation SMin, SMN, SMax, SMX Effet Définit la plage de vitesse de rotation dans laquelle la vitesse de rotation de la broche doit se situer durant une opération d’usinage, avec programmation directe de la vitesse de rotation G97 et vitesse de coupe constante G96 (se reporter à la page 3 - 82). La plage de vitesse de rotation est valide pour tous les rapports de réduction. Lorsque la limitation de la vitesse de rotation est active, toutes les définitions de vitesse de rotation sont limitées aux valeurs limites programmées. Les modifications de vitesse de rotation (même celles provoquées par le potentiomètre de la broche) ne sont effectuées par le système que lorsqu’elles se situent à l’intérieur de la plage de vitesse de rotation définie. Programmation Syntaxe: SMin(S<Vitesse de rotation1>) Activé en tant que limite inférieure de la plage de vitesse de rotation autorisée <Vitesse de rotation1>. SMin(0)ou SMin() Désactive la limite inférieure. La vitesse de rotation actuelle n’est plus limitée vers le bas. Format abrégé: SMN(...) SMax(S<Vitesse de rotation2>) Activé en tant que limite supérieure de la plage de vitesse de rotation autorisée <Vitesse de rotation2>. SMax(0)ou SMax() Désactive la limite supérieure. La vitesse de rotation actuelle n’est plus limitée vers le haut. Format abrégé: SMX(...) avec <Vitesse de rotation1>:Plus petite vitesse de rotation autorisée. Plage: > 0. Doit être inférieure à la <Vitesse de rotation2>. <Vitesse de rotation2>:Plus grande vitesse de rotation autorisée. Plage: > 0. Doit être supérieure à la <Vitesse de rotation1>. R911311170 / 01 IndraMotion MTX Fonctions CN SMin, SMN Electric Drives Bosch Rexroth AG and Controls 4 - 135 SMax, SMX Exemple: N50 X.. Y.. SMN(S1500) N60 X.. Y.. SMX(S2500) : N90 X.. Y.. SMN() SMX() La vitesse de rotation de la broche doit se situer dans la plage de 1500 à 2500 t/min. Désactiver la limite inférieure et supérieure (=Limitation de la vitesse de rotation OFF). Particularités et restrictions: D La limitation de la vitesse de rotation n’agît que si les valeurs limites de vitesse de rotation programmées se situent à l’intérieur des limites des rapports de réduction. 4 - 136 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.73 IndraMotion MTX R911311170 / 01 SpAdmin, SPA Reprendre/débloquer la broche réservée SpAdmin, SPA Effet Autorise D le déblocage d’une broche momentanément réservée du canal actuel, sans arrêter une broche en cours de rotation D ensuite son intégration par un canal quelconque. . Une broche est également débloquée via la fonction “Broche Arrêt“ (se reporter à la page 3 - 100). Programmation Syntaxe: SpAdmin(S<Num>=<Mode>{,S<Num>=<Mode>}...) Format abrégé: avec <Num> <Mode> SPA(....) Numéro de la broche (Index de broches). Plage de saisie: 1...8. Intègre. 0: Libération de la broche 1: Réserver et intégrer la broche débloquée Particularités et restrictions: D La position initiale ou M30 ne libèrent des broches réservées par le canal actuel que lorsque l’instruction pour “Broche Arrêt“ dans MP 7060 00020 est inscrite à l’endroit adéquat. Exemple: N60 : SPA(S1=0,S2=0) Débloquer 1ère et 2ème broche. R911311170 / 01 IndraMotion MTX Fonctions CN SpCoupleConfig, SPCC 4.74 Electric Drives Bosch Rexroth AG and Controls 4 - 137 Définir le groupe de couplage (activation) Dissocier le groupe de couplage (désactivation) SpCoupleConfig, SPCC Effet D Définit un groupe de couplage et active son couplage de broches. Dans ce cas, la commande des entraînements de broches intéressés passe automatiquement en interface de position. D Ajoute des broches esclaves à un groupe de couplage existant, ou les extrait d’un groupe de couplage existant. Les entraînements de broches ajoutés sont automatiquement commutés sur l’interface de position, et les entraînements de broches extraits sur l’interface de vitesse de rotation (si toutefois l’interface de vitesse de rotation était activé sur les broches concernées avant le couplage). D Désactive le couplage de broches d’un groupe de couplage et dissocie le groupe de couplage entier. Tous les entraînements de broches intéressés sont automatiquement commutés sur l’interface de vitesse de rotation, si toutefois l’interface de vitesse de rotation était activé sur les broches concernées avant le couplage. Programmation Syntaxe: SpCoupleConfig (CP=<Groupe>,MA=<Maître>, S<Suite>=1{{,S<Suite>=1}...}) Définir un groupe de couplage SpCoupleConfig (CP=<Groupe>,MA=0) Dissocier un groupe de couplage. SpCoupleConfig (CP=<Groupe>, S<Suite>=<Mode> {{,S<Suite>=<Mode>}...}) Ajouter/extraire des broches esclaves au/du groupe de couplage. Format abrégé: avec <Groupe> <Maître> <Maître> <Mode> SPCC(...) Numéro du groupe de couplage. Plage de saisie: 1...4. Intègre. Numéro de la broche guide (Index de broches). Plage de saisie: 1...8. Intègre. Numéro de la broche esclave (Index de broches). Plage de saisie: 1...8. Intègre. 0: Extraire la broche esclave du <Groupe>.. 1: Ajouter la broche esclave au <Groupe>. 4 - 138 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.75 IndraMotion MTX R911311170 / 01 SpCoupleDist, SPCD Ecart de couplage de la broche esclave SpCoupleDist, SPCD Effet Configure pour la fonction “Couplage de broches“ la différence de position voulue entre la broche guide et la broche esclave au moment du couplage (lors de la constitution du couplage). Lorsque la fonction n’est pas utilisée pour une broche esclave voulue, la différence de position par rapport à la broche guide est de 0 degré (au moment du couplage). . Pour amorcer durant un couplage de broche actif un décalage angulaire additionnel entre la broche guide- et la broche esclave, consulter la fonction “SpCouplePosOffs“ page 4 - 140.. Programmation Syntaxe: SpCoupleDist(S<Num>=<Ecart>{,S<Num>=<Ecart>}...) Format abrégé: avec <Num> <Ecart> SPCD(....) Numéro de la broche esclave (Index de broches). Plage de saisie: 1...8. Intègre. Différence de position entre la broche guide- et la broche esclave en degré. Plage: 0_≤ Différence de position < 360_. Si une autre valeur est programmée, elle est automatiquement convertie en l’intervalle indiqué. Particularités et restrictions: D La fonction ne peut être programmée qu’avec des broches qui ne font momentanément pas partie d’un groupe de couplage. R911311170 / 01 IndraMotion MTX Fonctions CN SpCoupleErrWin, SPCE 4.76 Electric Drives Bosch Rexroth AG and Controls Fenêtre d’erreur de marche synchrone 4 - 139 SpCoupleErrWin, SPCE Effet Configure pour la fonction “Couplage de broche“ l’écart de position maximal autorisé entre la valeur de consigne et la valeur effective d’une broche esclave. Si la différence de position durant un couplage actif se situe à l’intérieur de l’intervalle défini, le signal de sortie en fonction de la broche “Marche synchrone 2“ est issu. Lorsque la fonction n’est pas utilisée pour une broche esclave voulue, sa fenêtre d’erreur de marche synchrone est de +/ - 10 degré. . Pour la fonction “SpCoupleSyncWin“ se reporter à la page 4 - 142. Programmation Syntaxe: SpCoupleErrWin(S<Num>=<Fenêtre>{,S<Num>=<Fenêtre>}...) Format abrégé: avec <Num> <Fenêtre> SPCE(....) Numéro de la broche esclave (Index de broches). Plage de saisie: 1...8. Intègre. Ecart de position maximal autorisé par rapport à la valeur de consigne en degré. Plage de saisie: 0 à 359.9999. Particularités et restrictions: D La fonction ne peut être programmée qu’avec des broches qui ne font momentanément pas partie d’un groupe de couplage. 4 - 140 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.77 IndraMotion MTX R911311170 / 01 SpCouplePosOffs, SPCP Décalage angulaire en couplage actif SpCouplePosOffs, SPCP Effet Amorce durant un couplage de broche actif un décalage angulaire entre la broche guide et la broche esclave. La vitesse de rotation relative entre la broche guide et la broche esclave, avec laquelle le décalage est inséré, est programmable de façon optimale. . Pour la durée de cette torsion la commande remet le signal de sortie spécifique à la broche “Marche synchrone“ 1 à zéro. Programmation Syntaxe: SpCouplePosOffs(S<Num>=<Décalage>{{,S<Num>=<Décalage>}...} {,POSVEL<Vitesse de rotation>) Format abrégé: SPCP(....) avec <Num> Numéro de la broche esclave (Index de broches). Plage de saisie: 1...8. Intègre. <Ecart> Angle de torsion absolu entre la broche guide- et la broche esclave en degré. Plage: - 3600_ ... +3600_ <Vitesse de rotation> Vitesse de rotation relative entre la broche guide et la broche esclave, avec laquelle de décalage angulaire doit être effectué. Unité et valeur par défaut en fonction du paramètre d’entraînement S-0-0222. Une fois indiquée, la <Vitesse de rotation> reste enregistrée en interne jusqu’à ce qu’elle soit modifiée par un nouvel appel de fonction. Particularités et restrictions: D Le décalage angulaire agit de façon additionnelle par rapport à un écart de couplage éventuellement configuré (se reporter à la page 4 - 138). R911311170 / 01 IndraMotion MTX Fonctions CN SpCouplePosOffs_Wait, SPCP_WAIT 4.78 Electric Drives Bosch Rexroth AG and Controls Attente du décalage angulaire SPCP_WAIT 4 - 141 SpCouplePosOffs_Wait, Effet Arrête le programme de pièce jusqu’à ce qu’un décalage angulaire programmé d’un groupe de couplage (SPCP; se reporter à la page 4 - 140) soit effectivement inséré sur la machine. Programmation Syntaxe: SpCouplePosOffs_Wait(CP=<Groupe>) Format abrégé: avec <Groupe> SPCP_WAIT(....) Numéro du groupe de couplage. Plage de saisie: 1...4. Intègre. 4 - 142 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.79 IndraMotion MTX R911311170 / 01 SpCoupleSyncWin, SPCS Fenêtre de marche synchrone SpCoupleSyncWin, SPCS Effet Configure pour la fonction “Couplage de broche” l’écart de position maximal autorisé entre la valeur de consigne et la valeur effective d’une broche esclave. D Mode d’action lors de la création/modification d’un couplage (au début de la phase de synchronisation): Le programme pièce attend jusqu’à ce que l’écart de position se situe à l’intérieur de l’intervalle défini. D Mode d’action lors du couplage: Si l’écart de position se situe à l’intérieur de l’intervalle défini, le signal de sortie en fonction de la broche “Marche synchrone 1“ est issu. Lorsque la fonction n’est pas utilisée pour une broche esclave voulue, sa fenêtre de marche synchrone est de +/ - 1 degré. . Concernant la surveillance supplémentaire durant un couplage actif, se reporter à la fonction “SpCoupleErrWin“ page 4 - 139. Programmation Syntaxe: SpCoupleSyncWin(S<Num>=<Fenêtre>{,S<Num>=<Fenêtre>}...) Format abrégé: avec <Num> <Fenêtre> SPCS(....) Numéro de la broche esclave (Index de broches). Plage de saisie: 1...8. Intègre. Ecart de position maximal autorisé par rapport à la valeur de consigne en degré. Plage de saisie: 0 à 20. Particularités et restrictions: D La fonction ne peut être programmée qu’avec des broches qui ne font momentanément pas partie d’un groupe de couplage. R911311170 / 01 IndraMotion MTX Fonctions CN SpCouple_Wait, SPC_WAIT 4.80 Electric Drives Bosch Rexroth AG and Controls Attente du mode synchrone 4 - 143 SpCouple_Wait, SPC_WAIT Effet Bloque le programme pièce, jusqu’à ce qu’un groupe de couplage ait été crée, reconfiguré ou dissocié avec succès (SPCC ; se reporter à la page 4 - 137). Programmation Syntaxe: SpCouple_Wait(CP=<Groupe>) Format abrégé: avec <Groupe> SPC_WAIT(....) Numéro du groupe de couplage. Plage de saisie: 1...4. Intègre. 4 - 144 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.81 IndraMotion MTX R911311170 / 01 SPG.., SPGALL Définir/dissocier les groupes de broches SPG.., SPGALL Effet Les groupes de broches (appelés aussi broches parallèles) permettent une programmation simplifiée de plusieurs broches par rapport aux fonctions pour les rapports de réduction, le déplacement vers la droite/ gauche, l’arrêt de broche et le réglage de broche. De ce fait il n’est pas nécessaire de programmer les broches une à une. . L’affectation statique de toutes les broches à des groupes de broches est possible via MP 1040 00002. . La fonctionnalité “Groupe de broches“ ne doit pas être confondue avec un “groupe de couplage“ de deux ou plusieurs broches asservies en position. Tandis que toutes les broches d’un groupe de broches peuvent tourner à des vitesses de rotation différentes, toutes le broches d’un groupe de couplage fonctionnent par principe de manière synchrone. Programmation Syntaxe: SPG<Groupe>(<Numéros>) Définit quelles broches doivent être regroupées en tant que groupe de broches dans le canal actuel. SPG<Groupe>(0) Restaure dans le canal actuel le réglage pour le groupe de broches correspondant suivant MP 1040 00002. SPG<Groupe>( - 1) Dissocie dans le canal actuel le groupe de broches correspondant. SPGALL(0) Restaure dans le canal actuel le réglage pour tous les groupes de broches suivant MP 1040 00002. avec <Groupe> <Numéros> Numéro du groupe de broches. Plage de saisie: 1 à 4. Intègre. Numéros séparés par des virgules de toutes les broches (index de broches) qui doivent être ajoutées au groupe de broches correspondant. Plage de saisie: 1...8. Intègre. Particularités et restrictions: D Les ordres concurrentiels pour les broches individuelles et les groupes de broches programmés dans un même bloc génèrent une erreur d’exécution (Exemple: N10 M3 M104). R911311170 / 01 IndraMotion MTX Fonctions CN SpindleToAxis, STA 4.82 Electric Drives Bosch Rexroth AG and Controls C-Activer le mode axe pour broches 4 - 145 SpindleToAxis, STA Effet Commute une broche qui est inscrite D en MP 1001 00001 (type de fonction d’entraînement) en tant que broche/axe C et D en MP 1040 00001 (sélection du type de broche) en tant que broche SERCOS en mode axe C. La broche se transforme ainsi du point de vue usinage en axe asynchrone. Sur l’affichage elle apparaît en tant qu’axe asynchrone, qui se situe dans un premier temps sur une position quelconque entre 0 et 359,9999 degré. . Pour des informations détaillées sur la fonction “Transfert d’axe“ reportez vous au manuel “Description des fonctions”. Programmation Syntaxe: SpindleToAxis(<PAN> | <PAI>{,<PAN> | <PAI>}...) Format abrégé: avec <PAN> <PAI> STA(..) Nom physique d’axe. Définit la broche qui doit être commutée en mode axe C-. Index physique d’axe Effet comme <PAN>.. Particularités et restrictions: D Une broche indiquée doit être à l’arrêt. Si cela n’est pas le cas, la commande génère un message d’erreur et interrompt le programme. D Les positions d’axe d’un même bloc doivent toujours être programmées suivant l’expression SpindleToAxis(...). Exemple: : N030 STA(CH) : L’axe physique CH (c.à.d. la broche qui porte le nom CH dans le mode axe) est transformé en axe asynchrone. 4 - 146 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.83 IndraMotion MTX R911311170 / 01 SplineDef, SDF Définition du type de spline- SplineDef, SDF Effet La IndraMotion MTX assiste les types de spline- suivants: D Type de spline 0: Spline à programmation de coefficient (Coefficients des polynômes du système DAO/FAO) D Type de spline 1: C1-Courbes spline constantes cubiques avec programmation de repères fixes (Raccords tangentiels aux points fixes) D Type de spline 2: C2-Courbes spline constantes cubiques avec programmation de repères fixes (Raccords à courbure constante aux points fixes) D Type de spline 3: Spline B à programmation de points de contrôle (Tracé de la courbe près des repères fixes). Le type de spline voulu est sélectionné et initialisé à l’aide de la fonction “SplineDef“ (SDF). Ensuite la programmation spline peut être activée à l’aide de la fonction G6. Programmation Syntaxe: SplineDef(<Id>,{<Membres>}) Initialisation du type de spline. Format abrégé: SDF(...) avec <Id>: Nombre entier à 4 chiffres maximum pour la variante spline: Type de spline chiffre milliers centaines dizaines Calcul des tangentes 0: aucune 1: Bessel 2: Akima 3: Rapport à la corde unités Type de spline 0...3 Paramétrisation 0: aucune 1: équidistante 2: chordale 3: centripète Degré spline 1...5 Spline de type 0 0 0 0 1...5 Spline de type 1 1 1...3 0...3 1...5 Spline de type 2 2 1...3 0...3 1...5 Spline de type 3 3 1...3 0 1...5 R911311170 / 01 IndraMotion MTX Fonctions CN SplineDef, SDF Electric Drives Bosch Rexroth AG and Controls 4 - 147 <Membres>: Non applicable pour Spline de type 0! Liste avec les noms des coordonnées/axes qui doivent participer au mouvement spline. Dans <Membres> les coordonnées/axes non programmés sont déplacés linéairement. Il est également possible de programmer des coordonnées d’orientation en tant que spline. Dans ce cas sous <Membres> il suffit d’indiquer “O“ pour l’orientation, ou les coordonnées polaires “phi“ et “thêta“. Exemples: Initialiser le spline de type 0 avec le degré spline 5. Initialiser le spline de type 2 avec le degré de spline 3 et un paramétrage chordal. Les coordonnées X, Y et Z sont intéressées. N30 SplineDef(3103,x,y,z,O) Initialiser le spline de type 3 avec le : degré de spline 3 et un paramétrage équidistant. Les coordonnées x, y et z sont intéressées, ainsi que les coordonnées d’orientation. N10 SplineDef(5) : N20 SplineDef(2203,X,Y,Z) : 4 - 148 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.84 IndraMotion MTX R911311170 / 01 Split, SPT Division programmable Split, SPT Effet Divise les blocs de déplacement en plusieurs segments de parcours chacun s’ils dépassent une certaine longueur. Programmation Syntaxe: Split({<Mode>}{,<Longueur de segment>}) Format abrégé: avec <Mode> SPT(....) 0: La fonction n’agît pas. 1: La fonction agît de façon modale. 2: La fonction n’agît que dans le bloc programmé. Non programmé: Mode d’action comme 0. <Longueur de segment> Pour les blocs linéaires: Longueur d’un segment de parcours. Pour les blocs circulaires: Longueur du segment d’arc. Unité de programmation idem coordonnées d’axes. Si une <Longueur de segment> n’est pas programmée, alors: La <Longueur de segment> efficace correspond environ à la course maximale qu’il est possible de couvrir en 2 cycles d’interpolation consécutifs en fonction de l’avance actuelle. Particularités et restrictions: D La division programmable ne divise un bloc de déplacement que lorsque la longueur de celui - ci excède la <longueur de segment> . D Si la <longueur de segment> n’est pas un diviseur entier de la course, le restant est également effectué en tant que partie individuelle. D Si la division programmable est efficace par bloc (<Mode>=2), un mouvement de déplacement doit être programmé dans le même bloc. Exemple: : N20 Split(2,10) X100 : : N120 Split(1) : : : Division efficace par bloc N20 ON. Le mouvement de déplacement en N20 est divisé en segments de parcours de 10 mm chacun. Division efficace de façon modale à partir de N120 ON. Les mouvements de déplacement à partir de N120 sont divisés en segments de parcours qui peuvent être effectués en environ 2 cycles d’interpolation. R911311170 / 01 IndraMotion MTX Fonctions CN Split, SPT Electric Drives Bosch Rexroth AG and Controls N220 Split(1,3.0) : : N320 Split() : 4 - 149 Division efficace de façon modale à partir de N220 ON. Les mouvements de déplacement à partir de N220 sont divisés en segments de parcours de 3 mm chacun. Division programmable OFF. 4 - 150 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.85 IndraMotion MTX R911311170 / 01 SpMode, SPM Broche: Commutation Interface de position/de vitesse de rotation SpMode, SPM Effet Commute l’entraînement de la broche entre le mode vitesse de rotation et le mode position. Programmation Syntaxe: SpMode(S<Num>=<Mode>{,S<Num>=<Mode>}...) Format abrégé: avec <Num> <Mode> SPM(....) Numéro de la broche (Index de broches). Plage de saisie: 1...8. Intègre. 0: Mode vitesse de rotation 1: Mode de position Particularités et restrictions: D Le réglage de la broche est interrompu D Une broche en cours de rotation est arrêtée pour un court instant lors de la commutation au mode de position. Exemple: N60 : SPM(S1=1,S2=1) Commuter la 1ère et la 2ème broche en mode de position. R911311170 / 01 IndraMotion MTX Fonctions CN StatToolOri, STO 4.86 Electric Drives Bosch Rexroth AG and Controls Paramétrage de l’orientation statique d’outil 4 - 151 StatToolOri, STO Effet Par G47(...) ou G78 les corrections de longueur d’outillage L1, L2 et L3 sont attribuées au directions de coordonnées L1-, L2- et L3-. Ces directions de coordonnées forment un système de coordonnées et le vecteur de correction de longueur d’outillage L dispose dans le système de coordonnées des composantes L1, L2 et L3. L’ordre StatToolOri sert à effectuer des rotations de L dans ce système de coordonnées autour des angles d’Euler phi, thêta et psi. Pour cette orientation d’outillage le vecteur L effectue des rotations comme suit: D D’abord autour de l’angle phi pour la direction de coordonnée L3-, D ensuite autour de l’angle thêta pour la direction de coordonnée L2tournée simultanément, D et ensuite autour de l’angle psi (ψ) pour la direction de coordonnée L3- tournée simultanément deux fois.. Programmation Syntaxe: StatToolOri({<phi>{=}<>} {<thêta>{=}<>} {<psi>{=}<>}) Format abrégé: STO(...) avec <phi> <thêta> <psi> <>,<>,<> Dans le cas d’une transformation d’axe active: Nom d’angle inscrit dans MP 7080 00010[4]. Valeur par défaut: phi.. Dans le cas d’une transformation d’axe non active: PHI Dans le cas d’une transformation d’axe active: Nom d’angle inscrit dans MP 7080 00010[5]. Valeur par défaut: thêta.. Dans le cas d’une transformation d’axe non active: THÊTA Dans le cas d’une transformation d’axe active: Nom d’angle inscrit dans MP 7080 00010[6]. Valeur par défaut: psi.. Dans le cas d’une transformation d’axe non active: PSI Valeurs absolues des angles d’Euler en degré. La programmation AC/IC est autorisée. Plage: 0_≤ < 360_; 0_≤ ≤ 180_; 0_≤ ≤ 360_. Les valeurs situées à l’extérieur sont converties automatiquement en intervalles correspondants. Particularités et restrictions: D L’orientation statique de l’outil est paramétrée par STO et activée par G47 (se reporter à la page 3 - 47). 4 - 152 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 StatToolOri, STO D Si G47 est déjà actif lors de l’exécution de STO, la modification de l’orientation de l’outil est immédiatement efficace. D Dans le cas ou des désignations de coordonnées via G47(...) ou G78 ne sont pas attribuées à chacune des 3 corrections de longueurs d’outillage L1, L2 et L3, la commande ne tient compte que des coordonnées attribuées pour l’orientation de l’outil et génére une alarme. R911311170 / 01 IndraMotion MTX Fonctions CN TangTool, TTL 4.87 Electric Drives Bosch Rexroth AG and Controls Guidage tangentiel de l’outil 4 - 153 TangTool, TTL Effet Guide un axe rond ou sans fin dans un angle réglable le long de la trajectoire programmée sur le plan actif. De cette façon il est possible de déplacer un outil à tout moment durant l’intervention sous l’angle d’attaque nécessaire par rapport à la trajectoire programmée. Pour faire effectuer une rotation à l’axe d’outil vers chaque angle d’attaque nécessaire, la fonction prend en considération une symétrie d’outillage éventuelle pour les outils à plusieurs arêtes coupantes. En outre la commande peut, dans le cas d’un coude entre deux segments de contour, insérer automatiquement un bloc intermédiaire pour tourner l’axe d’outil de l’angle nécessaire. On notera ici que D Lors d’une position à 0 degré de l’axe d’outil la direction de coupe par défaut de l’outil est parallèle à la direction de déplacement positive de l’axe primaire du plan actuel. Axe secondaire du plan actuel (pour G17: Y) : Axe de rotation de l’outil Direction de coupe par défaut pour la position à 0 degré de l’axe de rotation de l’outil Axe primaire du plan actuel (pour G17: X) D L’angle d’attaque indique la différence angulaire entre la trajectoire et la direction de coupe par défaut de l’outil. Il est de 0 degré, lorsque la direction de coupe par défaut de l’outil suit un tracé tangentiel par rapport à la trajectoire. Position de l’outil sans correction activée de l’outil Direction de coupe par défaut Trajectoire + - Angle d’attaque positif Angle d’attaque négatif Position de l’outil avec correction activée de l’outil Direction de coupe par défaut Trajectoire + - Angle d’attaque positif Angle d’attaque négatif : Axe de rotation de l’outil D “TangTool“ ne provoque aucun déplacement lorsqu’elle est activée. Un axe d’outil programmé ne sera réglé qu’à partir du déplacement suivant. Ce faisant, deux cas de figure sont possibles en fonction de l’angle de bloc intermédiaire programmé, à savoir: D Déplacer préalablement un bloc intermédiaire pour la rotation de l’outil ou D sauter au début du bloc sur la position de réglage. 4 - 154 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 TangTool, TTL D Le calcul de la rotation nécessaire de l’axe d’outil pour un angle d’attaque donné sur une trajectoire circulaire s’effectue durant le cycle d’interpolateur. L’axe de l’outil continue par conséquent pour ce type de segments de contours à tourner en cycle interpolateur autour de l’angle d’attaque actuel calculé. Programmation Syntaxe: TangTool{({TAX{=}<Axe>} {,SYM{=}<s>}{,ANG{=}<a>} {,IA{=}<zsw>}{,PLC{=}<p>})} Guidage tangentiel de l’outil ON. TangTool() ou TangTool(0) Guidage tangentiel de l’outil OFF. Format abrégé: TTL(...) avec <Axe>: <s>: <a>: Désignation de l’axe sur lequel doit agir le guidage tangentiel de l’outil. Le nom logique ou physique de l’axe ainsi que le numéro logique d’axe sont autorisés. En cas d’absence de programmation, MP 7050 00210 est actif. Symétrie d’outil (en règle générale le nombre d’arêtes coupantes). Valeur de saisie: Intègre, différent de 0. Un outil avec la symétrie <s> atteint lors d’une rotation de 360 degré / <s> une position techniquement équivalente. Exemple: Outil rectangulaire: <s> = 2, Outil carré: <s> = 4. 1: Outil asymétrique ou équipé d’une seule arête coupante. >0: Outil symétrique, qui possède plusieurs arêtes coupantes situées à la même distance les unes des autres. En cas de coude entre segments de contour, l’outil tourne de façon à ce que l’arête coupante suivante la plus proche puisse se positionner avec l’angle d’attaque par rapport au contour. <0: Lors d’une inversion de direction (Coude à 180 degré) l’outil n’effectue pas de rotation, indépendamment de l’angle d’attaque. Voir, pour le reste “>0“. En cas d’absence de programmation, MP 7050 00220 est actif. Angle d’attaque. Plage: - 180 degré à +180 degré. Indique la différence angulaire entre la trajectoire et la direction de coupe par défaut de l’outil. En cas d’absence de programmation, MP 7050 00250 est actif. On y définit si l’angle actuel de l’axe de rotation de l’outil ou la valeur issue de MP 7050 002540 doit être utilisé en tant qu’angle d’attaque. R911311170 / 01 IndraMotion MTX Fonctions CN TangTool, TTL Electric Drives Bosch Rexroth AG and Controls 4 - 155 <zsw>: Angle bloc intermédiaire. Plage: de 0 à 180 degré. Définit à partir de quel angle de coude entre deux blocs, un bloc intermédiaire est inséré pour la rotation de l’axe outil. Avec un angle de coude plus faible que <zsw> aucun bloc propre ne sera inséré pour la rotation. L’outil sautant sur la nouvelle position au début du bloc suivant. En cas d’absence de programmation, MP 7050 00230 est actif. <p>: CN-API-Activer ou désactiver la communication durant l’exécution d’un bloc intermédiaire. 0: CN-API-Communication OFF. La CN exécute le bloc intermédiaire sans condition. 1: CN-API-Communication ON. L’exécution d’un bloc de rotation est pilotée via la communication CN API. En cas d’absence de programmation, MP 7050 00260 est actif. Exemples: TTL : : : : TTL(TAX=C,SYM1,ANG90,IA20,PLC0) : TTL(TAX3,SYM1,ANG90,IA20,PLC0) : TTL(TAX[NAME$],SYM1,ANG90,IA20) : Pour l’axe inscrit dans MP 7050 00210 le guidage tangentiel de l’outil avec les valeurs de paramètre machine correspondantes est activé. Programmation avec nom d’axe logique. Programmation avec numéro d’axe logique. Programmation avec variable CPL. Particularités et restrictions: D La fonction “Guidage tangentiel de l’outil” ne doit pas être activée en même temps que la fonction “Orientation tangentielle de l’outil“ (se reporter à la page 4 - 156) . D Le “Guidage tangentiel de l’outil“ ne doit pas être programmé conjointement avec un mouvement de déplacement. 4 - 156 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.88 IndraMotion MTX R911311170 / 01 TangToolOri, TTO Orientation tangentielle de l’outil TangToolOri, TTO Effet . N’agit qu’en liaison avec les fonctions “Découpage- Poinçonnage“ (se reporter à la page 4 - 116) et “Grignotage“ (se reporter à la page 4 - 79). Assure dans le cas d’un Découpage - poinçonnage/Grignotage activé, qu’un outil de découpage - poinçonnage/grignotage soit positionné à chaque processus de course à un angle réglable par rapport à la trajectoire programmée. Lors d’une course en début de bloc, un bloc pour la rotation de l’outil est – si nécessaire – ajouté automatiquement. La commande calcule automatiquement la direction de rotation optimale (chemin le plus court). L’axe de rotation est défini de façon fixe via MP 7050 00210. Programmation Syntaxe: TangToolOri({SYM<s>},{ANG<a>}) ou TangToolOri(1) TangToolOri Orientation tangentielle de l’outil ON TangToolOri() ou TangToolOri(0) Orientation tangentielle de l’outil OFF Format abrégé: TTO... avec <s>: <a>: Symétrie d’outil (en règle générale le nombre d’arêtes coupantes). Valeur de saisie: Intègre, supérieur à 0. Un outil avec la symétrie <s> atteint lors d’une rotation de 360 degré / <s> une position techniquement équivalente. Exemple: Outil rectangulaire: <s> = 2, Outil carré: <s> = 4. 1: Outil asymétrique ou équipé d’une seule arête coupante. >1: Outil symétrique, qui possède plusieurs arêtes coupantes situées à la même distance les unes des autres. SYM non programmé: Mode d’action comme SYM1. Angle d’attaque par rapport à la trajectoire programmée. Plage: - 180 degré à +180 degré. 0: L’axe d’outil est positionné à un angle de 0 degré par rapport à la trajectoire programmée. ANG non programmé: Mode d’action comme ANG0.. Particularités et restrictions: D La fonction ne doit pas être programmée conjointement avec la fonction “TangTool“ (Guidage tangentiel de l’outil, TTL). R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Fonctions CN TangToolOri, TTO 4 - 157 D Lorsque la fonction est active, le “Guidage tangentiel de l’outil“ (TTL, se reporter à la page 4 - 153) n’est pas possible. Exemple: D G90 est actif (Programmation du calage d’origine) D Plan actif: X/Y D Axe d’outil: C (modulo 360) D Position actuelle: X=0, Y=0, C=0 D Découpage - poinçonnage/Grignotage OFF. : N10 TangToolOri(1) N20 G1 G91 X10 Y10 N30 X10 Y10 Punch(1) N40 Y-10 N50 Punch(0) N60 LEN=30 Nibble(1) N70 G2 X114.6 I57.3 J0 N80 TTO() : Orientation tangentielle de l’outil ON, avec mode d’action similaire à SYN1 et ANG0. Pas encore d’orientation de l’axe C, puisque le découpage - poinçonnage/grignotage est désactivé. Découpage - poinçonnage ON. L’axe C effectue une rotation à 45 degré_. L’axe C effectue une rotation à - 90 degré_. Suivant calcul modulo: C=270_. Découpage - poinçonnage Off Grignotage On. Longueurs de sous - blocs voulues: 30 mm. Demi - cercle avec longueur d’arc 180 mm. Le bloc est divisé en 6 sous - blocs d’une longueur d’arc de 30 mm chacun. Orientation tangentielle de l’outil OFF. 4 - 158 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 TangToolOri, TTO C=0_ (N70: 3ème segment de parcours) Y C=45_ (N30) C=0_ (N20) C= - 30_=330_ (N70: 4ème segment de parcours) C=30_ (N70: 2ème segment de parcours) C=300_ (N70: 5ème segment de parcours) C=60_ (N70: 1er segment de parcours) X C= - 90_=270_ (N40) C=90_ (N70. Bloc intermédiaire créé automatiquement au début du bloc pour la rotation de l’outil) C=270_ (N70: 6ème segment de parcours) : Déplacement réel : Trajectoire programmée : Position de l’outil R911311170 / 01 IndraMotion MTX Fonctions CN TappSp, TSP 4.89 Electric Drives Bosch Rexroth AG and Controls Sélection de broche pour Taraudage sans mandrin de compensation Effet 4 - 159 TappSp, TSP D Définit quelles seront les broches qui seront associées à la fonction G63. “TappSp“ est efficace jusqu’à nouvelle programmation. La fonction est efficace même au - dela de la “position initiale“! D Si “TappSp“ n’est pas programmée, G63 se réfère toujours à la 1ère broche. Programmation Syntaxe: TappSp(CAX<i>) Activer le taraudage pour les broches respectives à l’aide du/des numéro(s) de broche. TappSp(GRP<j>) Activer le taraudage pour toutes les broches d’un groupe de broches. TappSp(GRP<j>{,CAX<i>}) Activer le taraudage pour toutes les broches d’un groupe de broches et de broches supplémentaires à l’aide du/des numéro(s) de broche. Format abrégé: TSP(...) avec <i> <j> Numéro de la broche, à laquelle se rapporte G63. Plage: 1 ... n, dans quel cas n est le numéro de broche le plus élevé du système (maximum 8). Nombre entier. Plusieurs broches sont programmées par plusieurs CAX<i>, séparées par des virgules. Numéro du groupe de broches, auquel se rapporte G63. Plage: 1 ... n, dans quel cas n est le numéro de groupe de broches le plus élevé du système (maximum 4). Nombre entier. Particularités et restrictions: D Seul un groupe de broches peut être activé pour G63. D Les numéros de broches et éventuellement 1 groupe de broches peuvent être combinés à volonté. 4 - 160 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 TappSp, TSP Exemple: N20 TappSp(CAX2) : N120 TappSp(CAX2,CAX4,CAX7) : N220 TappSp(GRP2) : N320 TappSp(GRP3,CAX4) : Sélectionner pour G63 la broche avec le numéro de broche 2. Sélectionner pour G63 les broches avec les numéros de broche 2, 4 et 7. Sélectionner pour G63 le groupe de broches avec le numéro 2. Sélectionner pour G63 le groupe de broches avec le numéro 3, et sélectionner également la broche avec le numéro de broche 4. R911311170 / 01 IndraMotion MTX Fonctions CN TcsDef, TCS 4.90 Electric Drives Bosch Rexroth AG and Controls Définition du TCS dans les coordonnées de programme 4 - 161 TcsDef, TCS Effet Génère avec une transformation de 6 axesactifs un système de coordonnées d’outil TCSp, qui peut être décalé et/ou tordu par rapport au dernier TCS actuel. Les valeurs de coordonnées indiquées pour le TCSp sont converties en interne par la CN et stockées dans la mémoire corrections outil. Le TCSp généré peut être supprimé à nouveau en désactivant la fonction. Dans ce cas le dernier TCS actuel est réactivé. Programmation 1. Dans la mesure où cela n’a pas encore été fait, activer le type de transformation d’axe 3333301 (se reporter à la fonction “Coord(...)“, page 4 - 32). 2. Utiliser la syntaxe indiquée ci dessous. Syntaxe: TcsDef({<Position>},{<Orientation>}) Définir et activer la position et l’orientation du TCSp.. Pour la syntaxe détaillée, se reporter ci dessous. TcsDef() oder TcsDef(0) Supprimer le TCSp et réactiver le dernier TCS actuel. Format abrégé: TCS(...) Syntaxe détaillée: TcsDef({<x><px>},{<y><py>},{<z><pz>},{<phi><>},{<thêta><>},{<psi><>} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{O(<>,<>,<>)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{Ox(<x >,<x >) Oy(<y >,<y >)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{Ox(<x >,<x >) Oz(<z >,<z >)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{Oy(<y >,<y >) Oz(<z >,<z >)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{Ox(<o11>,<o21>,<o31>) Oy(<o12>,<o22>,<o32>)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{Ox(<o11>,<o21>,<o31>) Oz(<o13>,<o23>,<o33>)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{Oy(<o12>,<o22>,<o32>) Oz(<o13>,<o23>,<o33>)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{ROTAX(<u >,<u >) O(<>)} ou TcsDef({<x><px>},{<y><py>},{<z><pz>},{ROTAX(<ux >,<uy >,<uz >) O(<>)} avec <x> <y> Nom de coordonnée inscrite MP 7080 00010[1]. Valeur par défaut: x Nom de coordonnée inscrite MP 7080 00010[2]. Valeur par défaut: y en en 4 - 162 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 TcsDef, TCS <z> Nom de coordonnée inscrite en MP 7080 00010[3]. Valeur par défaut: z <px>, <py>, <pz> Coordonnées cartésienes absolues des adresses d’axes <x>, <y> et <z>, par rapport au PCS actuel. Les valeurs définissent l’origine du nouveau TCSp. La programmation AC/IC est autorisée. <phi> Nom d’angle inscrit dans MP 7080 00010[4]. Valeur par défaut: phi <thêta> Nom d’angle inscrit dans MP 7080 00010[5]. Valeur par défaut: thêta <psi> Nom d’angle inscrit dans MP 7080 00010[6]. Valeur par défaut: psi <>,<>,<> Valeurs absolues des angles d’Euler en degré, par rapport au PCS actuel. Les valeurs définissent l’orientation du nouveau TCSp. La programmation AC/IC est autorisée. Plage: 0_≤ < 360_; 0_≤ ≤ 180_; 0_≤ ≤ 360_.. Les valeurs situées à l’extérieur sont converties automatiquement en intervalles correspondants. <>,<> Valeurs absolues des angles en degré. Plage: 0_≤ < 360_; 0_≤ ≤ 180_. Si pour une valeur située en dehors de la plage est programmée, elle est automatiquement convertie en l’intervalle indiqué. Ox(<o11>,<o21>,<o31>) Oy(<o12>,<o22>,<o32>) Oz(<o13>,<o23>,<o33>) Ox(<x >,<x >) Oy(<y >,<y >) Orientation par fonction Ox(..), Oy(..), Oz(..). Oz(<z >,<z >) Ox(..) définit par exemple la direction de la coordonnée x du TCSp dans le système de coordonnées de référence PCS. Ceci est également applicable pour Oy(..) et Oz(..). La direction peut être définie soit par les angles polaires correspondants <> et <>, soit au moyen des composantes cartésiennes des vecteurs colonnes du tenseur d’orientation du TCSp-. Seule la saisie de cotes absolues est autorisée. Les valeurs des composantes des vecteurs colonnes (o..) sont normalisées automatiquement à 1. ROTAX(<u >,<u >) Définition de l’axe de rotation à l’aide des angles polaires (ϕu, ϑu). R911311170 / 01 IndraMotion MTX Fonctions CN TcsDef, TCS Electric Drives Bosch Rexroth AG and Controls 4 - 163 ROTAX(<ux >,<uy >,<uz >) Définition de l’axe de rotation à l’aide des composantes cartésiennes <ux >,<uy >,<uz > dans le calage d’origine. Standardisation automatique à 1. O(<>) Indique en degrés l’ange incrémental <> duquel le tenseur d’orientation TCSp-, à partir du tenseur d’orientation du dernier TCS actuel, doit être déplacé autour de l’axe de rotation. Les valeurs supérieures à 360 degré sont autorisées. Le sens de rotation peut être sélectionné à l’aide des signes +/ - . Particularités et restrictions: D Le type de transformation d’axe actif 3333301 est nécessaire. D Lors d’une nouvelle programmation de la fonction “Coord(...)“ (se reporter à la page 4 - 32) un TCSp préalablement généré est supprimé automatiquement et le dernier TCS actuel est réactivé. D Si lors de la programmation des vecteurs colonnes de tenseur deux vecteurs colonnes sont parallèles ou antiparallèles, le tenseur d’orientation ne peut pas être calculé. Une erreur d’exécution est signalée. 4 - 164 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.91 IndraMotion MTX R911311170 / 01 ThreadSet, TST Fonctions additionnelles pour filetage ThreadSet, TST Effet A l’aide de “ThreadSet“, il est possible d’adapter temporairement certaines zones de G33. La commande écrase alors les valeurs statiques stockées dans les paramètres machine. “ThreadSet“ permet D une adaptation de la dynamique et du mouvement de remontée outil D une commutation du mode de fonctionnement de la broche (asservissement en vitesse, en position) D l’initialisation d’un signal au niveau de l’interface canal (configurable à l’intérieur des signaux “Fonction active“ via les paramètres machine). Position initiale ou M30 D annule à nouveau les réglages écrasés par “ThreadSet“ D supprime un signal IF- initialisé par “ThreadSet“. D remet la broche principale en mode d’asservissement en vitesse, dans la mesure où elle a été auparavant asservie en position par “ThreadSet(SPC1)“. . Programmation: Toutes les fonctions partielles décrites ci - après peuvent être également programmées conjointement dans un bloc “ThreadSet“. Configurer les données de remontée outil Syntaxe: ThreadSet(RD(<HA-Valeur>,<NA-Valeur>{,-1})) Format abrégé: TST(..) avec <HA-Valeur> Course de remontée (incrémentale en mm) en direction de l’axe primaire du plan actuellement sélectionné (G17, G18, G19, G20) Cette valeur doit toujours être programmée, mais elle n’est significative que pour les filets longitudinaux et coniques. <NA-Valeur> Course de remontée (incrémentale en mm) en direction de l’axe secondaire du plan actuellement sélectionné. Cette valeur doit toujours être programmée, mais elle n’est significative que pour les filets transversaux et coniques. -1 “ - 1“ peut être saisi en option en tant que troisième paramètre. Dans ce cas, toutes les données de remontée outil de MP 7050 00645 et MP 7050 00650 seront réactivées. R911311170 / 01 IndraMotion MTX Fonctions CN ThreadSet, TST Programmation: Electric Drives Bosch Rexroth AG and Controls 4 - 165 Validation remontée outil Syntaxe: ThreadSet(RON<Statut>) ou TST(..) avec <Statut> Programmation: 0: Désactiver remontée rapide. 1: Activer remontée rapide. Configurer la dynamique Syntaxe: ThreadSet(DYN({<Saut>},{<Accélération>}{,<Décélération>})) ou TST(..) avec <Saut> Vitesse de saut maximale admise en mm/min. L’entrée de “ - 1“ réactive MP 7050 00610. <Accélération> Accélération en m/s2. L’entrée de “ - 1“ réactive MP 7050 00615. <Décélération> Décélération en m/s2. L’entrée de “ - 1“ réactive MP 7050 00620. Programmation: Commuter en mode broche Syntaxe: ThreadSet(SPC<Statut>) ou TST(..) avec <Statut> 0: commuter la broche principale en asservissement vitesse. 1: commuter la broche principale en asservissement position suivant le paramétrage défini dans 7050 00600 [3]. En ce qui concerne les broches principales, se reporter à la page 4 - 75. Programmation: Influencer le signal IF du canal Syntaxe: ThreadSet(TCI<Statut>) ou TST(..) avec <Statut> . 0: Supprime le signal du canal IF 1: Fixe le signal IF du canal Le signal influencé au niveau de l’interface canal est configurable à l’intérieur des signaux “Fonction active“ via les paramètres machine. 4 - 166 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.92 Trans, TRS IndraMotion MTX R911311170 / 01 ATrans, ATR Décalage des coordonnées de programme Trans, TRS Décalage additionnel des coordonnées de programme ATrans, ATR Effet “Trans“ décale le système de coordonnées de programme actif parallèlement aux axes de coordonnées du système actuel de coordonnées de pièce. “ATrans“ permet des décalages supplémentaires parallèles du système de coordonnées de programme, dont l’effet est toujours additionnel De ce fait il est possible d’effectuer un programme de pièce sans modification du contour programmé à des endroits quelconques au sein du système de coordonnées de pièce. Les auxiliaires de saisie basés sur le système de coordonnées de programme actif (par ex. le décalage de contour programmé, les fonctions d’échelle, d’inversement miroir, de rotation) sont indépendants du décalage des coordonnées de programme et ne doivent donc pas être adaptés. +YW +ZW +ZP2 +ZP1 +YP1 +YP2 ATrans Pn P2 Trans ATrans W +XP2 P1 +XP1 +XW W = Origine du système de coordonnées de pièce P1 = Origine du 1er décalage de coordonnées de programme P2 = Origine du 2ème décalage de coordonnées de programme On notera ici que: D La programmation d’un décalage de coordonnées de programme ne déclenche pas de déplacement. R911311170 / 01 IndraMotion MTX Fonctions CN Trans, TRS Electric Drives Bosch Rexroth AG and Controls 4 - 167 ATrans, ATR Programmation Syntaxe: Trans(<Coordonnées>) Décalage des coordonnées programme ON. L’origine du système de coordonnées de programme est initialisé sur les <Coordonnées> programmées du système de coordonnées de pièce actif. Plusieurs axes de coordonnées peuvent être programmés dans la parenthèse, ils doivent néanmoins être séparés par des virgules. (Exemple: TRS(X100,Y50,Z50)). Trans() ou Trans(0) Tous les décalages de coordonnées programme OFF. Format abrégé : TRS(...) ATrans(<Coordonnées>) Décalage additionnel des coordonnées programme ON. L’origine du système de coordonnées de programme résultant est initialisé sur les <Coordonnées> programmées du système de coordonnées programme actif. Plusieurs axes de coordonnées peuvent être programmés dans la parenthèse, ils doivent néanmoins être séparés par des virgules. ATrans() ou ATrans(0) Décalage additionnel des coordonnées de programme OFF. Format abrégé: ATR(...) Exemple: N10 TRS(X10,Y10,Z50) : : : N50 ATR(X20,Y10) : : : N80 ATR() : : : : N180 TRS() Fixer l’origine du système de coordonnées de programme sur la position X10 Y10 Z50 du système de coordonnées de pièce actuel. L’origine du système de coordonnées de programme résultant est positionné sur X30 Y20 Z50 par rapport au système de coordonnées de pièce d’origine. Décalage additionnel des coordonnées de programme OFF. L’origine du système de coordonnées de programme est positionné à nouveau sur X10 Y10 Z50 par rapport au système de coordonnées de pièce d’origine. Tous les décalages de coordonnées de programme Off. 4 - 168 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.93 IndraMotion MTX R911311170 / 01 VirtAxisPos, VAP Entraînements virtuels VirtAxisPos, VAP Effet Fixe la position d’axe des axes synchrones virtuels dans le canal actuel. . Pour des informations complémentaires sur les entraînements virtuels, reportez vous au manuel “Description des fonctions“. Programmation Syntaxe: VirtAxisPos(<Axe 1><Valeur>,<Axe n><Valeur>, ....) Format abrégé: avec <Axe x> <Valeur> VAP(....) Adresse de l’axe virtuel. Informations de position de l’<axe x>.. Exemple: VAP(VX150) Position de l’axe VX sur 150 mm. Particularités et restrictions: D La programmation incrémentale locale (IC...) n’est pas admise. R911311170 / 01 IndraMotion MTX Fonctions CN WaitAxis, WAX 4.94 Electric Drives Bosch Rexroth AG and Controls Intégrer l’axe, attendre le cas échéant 4 - 169 WaitAxis, WAX Effet Intègre un axe asynchrone dans le canal appelant. L’axe asynchrone se transforme ainsi en axe synchrone. L’axe est alors programmable dans le canal actuel via son nom d’axe physique ou logique. . Pour des informations détaillées sur la fonction “Transfert d’axe“ reportez vous au manuel “Description des fonctions“. Programmation Syntaxe: WaitAxis(<PAN> | <PAI>,{<LAN>}{,<PAN> | <PAI>,{<LAN>}}...) Format abrégé: avec <PAN> <PAI> <LAN> WAX(..) Nom physique d’axe. Définit l’axe qui doit être intégré dans le canal actuel. Index physique d’axe. Effet comme <PAN>.. Nom logique d’axe. Dans la mesure où celui - ci a été programmé, l’axe à intégrer dans le canal actuel obtient le nom logique <LAN>. <LAN> doit être défini en MP 7010 00010 (désignation d’axe logique) ou MP 7010 00020 (désignation d’axe optionnel). Particularités et restrictions: D Dans le cas où un axe à intégrer n’est pas encore à l’arrêt, la préparation de bloc attend l’arrêt de l’axe. Ensuite l’axe est intégré. Contrairement à la fonction “GetAxis“ (se reporter à la page 4 - 54) aucun message d’erreur ou arrêt de programmation n’est généré. D Les positions d’axe dans le même bloc doivent toujours être programmées en fonction de WaitAxis(...) et ne peuvent être programmées que lorsque aucune transformation d’axe n’est active. D Les axes à intégrer ne doivent être intéressés à aucune zone de surveillance active (se reporter à la page 4 - 3). Exemple: N030 WAX(YP,,ZP,Z) : La préparation de bloc attend le cas échéant l’arrêt des axes physiques YP et ZP. Ensuite les axes sont intégrés dans le canal appelant.Tandis que YP est désigné même dans le canal appelant comme adresse YP, ZP obtient dans le canal appelant l’adresse Z. 4 - 170 Bosch Rexroth AG Electric Drives and Controls Fonctions CN 4.95 IndraMotion MTX R911311170 / 01 WriteId, WID Ecriture de paramètres SERCOS WriteId, WID Effet Inscrit le paramètre d’entraînement SERCOS programmé (S-x-xxxx, P-x-xxxx) dans un ou plusieurs entraînements. Pour les paramètres d’entraînement SERCOS spécifiques au produit (P-x-xxxx) il est également possible d’écrire des listes de valeurs complètes avec 16 valeurs au maximum, ou des listes ID avec un maximum de 8 numéros d’identification. Conditions préalables: D Le paramètre doit être valide et modifiable dans la phase 4 SERCOS. D La valeur du paramètre se situe dans la plage autorisée. D L’entraînement est connecté à la commande via l’interface SERCOS, la communication cyclique entre la commande et l’entraînement est active. . L’ordre CPL permet à la API de lire les paramètres d’entraînement SERCOS. DANGER Les modifications inadaptées ou arbitraires de paramètres d’entraînement SERCOS peuvent provoquer des dommages sur les pièces et/ou sur la machine, et entraîner des réactions dangereuses et imprévues de la machine. Pour l’utilisation correcte, des informations sur les paramètres d’entraînement SERCOS disponibles dans l’entraînement sont nécessaires. Dans ce contexte, veuillez consulter la documentation concernant l’entraînement. Programmation Inscrire un paramètre dans un ou plusieurs entraînements (pour axes synchrones): Syntaxe: WriteId(<Par>,<SA1><W1>{,<SAn><Wn>}...) Format abrégé: avec <Par> WID(...) Paramètre standard (S-x-xxxx) ou paramètre spécifique au produit (P-x-xxxx). <SA1>...<SAn> Adresse d’axe logique de l’entraînement SERCOS. <W1>...<Wn> Valeur qui doit être inscrite en <Par>. R911311170 / 01 IndraMotion MTX Fonctions CN WriteId, WID Electric Drives Bosch Rexroth AG and Controls 4 - 171 Exemple: N100 WID(P-0-0500,X10,Y20,Z30) Programmation Inscrire P-0-0500: dans l’entraînement de l’axe X: 10 dans l’entraînement de l’axe Y: 20 dans l’entraînement de l’axe Z: 30 Inscrire un paramètre dans un ou plusieurs entraînements (pour broches et axes asynchrones): Syntaxe: WriteId(<Par> DRIVE(<AA1>,<W1>{,<AAn>,<Wn>}...)) Format abrégé: WID(....) avec <Par> Paramètre standard (S-x-xxxx) ou paramètre spécifique au produit (P-x-xxxx). <AA1>....<AAn> Index d’axe physique ou nom d’axe physique de l’entraînement SERCOS. Un maximum de 8 entraînements peuvent être définis via la syntaxe DRIVE(...). <W1>...<Wn> Valeur qui doit être inscrite en <Par>. Programmation Inscrire une valeur d’une liste de paramètres dans un entraînement: Syntaxe: WriteId(<Par> LIST(<A1>,<W1>{,<Wn>}...)) Format abrégé: WID(...) avec <Par> <A1>...<An> <W1>...<Wn> Paramètre spécifique au produit (P-x-xxxx), qui contient une liste de valeurs. (Les paramètres standard (S-x-xxxx) ne sont pas admis!) Index d’axe physique ou nom d’axe physique de l’entraînement SERCOS. Maximum de 16 valeurs qui doivent être inscrites dans <Par>. Exemple: N100 WID(P-0-0515 LIST(1,0.5,0.2) Inscrire 2 valeurs dans P-0-0515 dans l’entraînement 1 4 - 172 Bosch Rexroth AG Electric Drives and Controls Fonctions CN Programmation IndraMotion MTX R911311170 / 01 WriteId, WID Inscrire un numéro d’indentification issu d’une liste ID dans un entraînement: Syntaxe: WriteId(<Par> ID_LIST(<A1>,<Id1>{,<Idn>}...)) Format abrégé: WID(...) avec <Par> <A1>...<An> <Id1>...<Idn> Paramètre spécifique au produit (P-x-xxxx), qui contient une liste ID. (Les paramètres standard (S-x-xxxx) ne sont pas admis!) Index d’axe physique ou nom d’axe physique de l’entraînement SERCOS. Maximum de 8 numéros d’identification qui doivent être inscrits dans <Par>. Exemple: N100 WID(P-0-0417 ID_LIST(X,S-0-47,S-0-51) Inscrire 2 numéros d’identification dans le paramètre P-0-0417 dans l’entraînement de l’axe X. Particularités et restrictions: D La fonction ne doit jamais être programmée lors de l’usinage d’un contour. D L’écriture de paramètres programmés ne s’effectue qu’après immobilisation de l’entraînement correspondant. R911311170 / 01 IndraMotion MTX Fonctions CN ZoTSel, ZOS 4.96 Electric Drives Bosch Rexroth AG and Controls Activation des tables de décalage d’origine 4 - 173 ZoTSel, ZOS Effet Active une table de décalage d’origine (Table NPV). Les tables NPV sont archivées sous forme de fichiers XML dans le système de fichiers de la commande. Programmation Syntaxe: ZoTSel({<Chemin d’accès>}<Nom de fichier>) Format abrégé: ZOS(..) avec <Chemin d’accès> Indication optionelle du chemin d’accès pour le répertoire dans lequel <Nom de fichier> est enregistré. Sans précision la recherche est effectuée par le chemin d’accès “/database“. Si <Nom de fichier> ne peut y être trouvé, la commande utilise le chemin de recherche pour les sous - programmes, pour rechercher <Nom de fichier> également dans d’autres répertoires. <Nom de fichier> Nom de fichier de la table NPV y compris l’extension de fichier. Les tables avec des noms standard (ZO<Numéro>.zot) peuvent être activées directement via le numéro, par ex. ZoTSel(5) active la table ZO5.zot. Particularités et restrictions: D La commande peut vérifier de façon optionelle lors de d’activation de la table si la configuration d’axe actuelle du canal correspond au contenu de la table (option “Attribution fixe“ ; cette fonction est activée via l’éditeur de tables ou lors de la première génération de la table). Si elle ne correspond pas à l’option active “Attribution fixe“, le programme est interrompu et un message d’erreur est généré. . Pour créer et éditer des tables NPV, veuillez consulter le mode d’emploi de la commande! 4 - 174 Bosch Rexroth AG Electric Drives and Controls Fonctions CN IndraMotion MTX R911311170 / 01 ZoTSel, ZOS Exemple: : N030 ZOS(npvtab.zot) : N130 ZOS(/mnt/np.zot) : Recherche la table NPV “npvtab.zot“ dans un premier temps dans le répertoire “/database“, et si elle ne s’y trouve pas, dans les sous - programmes. La première table NPV avec le nom “npvtab.zot“ trouvée est activée. Recherche et active la table NPV “np.zot“ dans le répertoire “/mnt“. Si elle n’y est pas trouvée, un message d’erreur est généré. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -1 Valeurs de coordonnées et d’axes 5 Fonction CPL 5.1 Valeurs de coordonnées et d’axes Le CPL dispose de fonctions qui permettent de rechercher différentes valeurs à partir des coordonnées et des axes. On distingue: D les fonctions de lecture des coordonnées et des positions axiales (PCS, WCS, MCS, ACS, SPOS, APOS) D les fonctions de lecture à partir de l’appareil de mesure (PCSPROBE, PROBE, PPOS) D les fonctions de lecture des décalages et des positionnements (AXO, COF, DPC). Les coordonnées interpolées lors de l’exécution du programme sont toujours programmées dans le programme pièce. Les transformations géométriques en correction d’axes calculent les valeurs de consigne respectives pour les axes concernés à partir des valeurs des coordonnées actuelles (coordonnées tridimensionnelles et machine). . Vous trouverez de plus amples informations sur les thèmes ”Coordonnées, axes et transformations” dans le manuel ”Description des fonctions”. 5 -2 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes Synoptique Programme pièce Système de coordonnées programme: PCS Préparation de blocs dernière position programmée: Valeur du palpeur de mesure: PCS PCSROBE Calcul des coordonnées pièce à usiner Décalage des coordonnées de programme Décalage de contour Modulation Système de coordonnées de la pièce à usiner: WCS Interpolation Système de coordonnées de la pièce à usiner: WCS Valeur du palpeur de mesure: PPOS Position de pièce interpolée: WCS Transformation des coordonnées Système de coordonnées de base de la pièce à usiner: BCS Transformation axiale 2 Système de coordonnées machine local: LCS Exécution du bloc LCS Décalage de l’origine Système de coordonnées machine: MCS Transformation axiale 1 Système de coordonnées d’axe: ACS Entraînements (axes) MCS Axes du système de valeurs de consigne: ACS Valeurs de consigne de l’axe: valeurs réelles de l’axe: Valeur du palpeur de mesure: SPOS APOS PCSROBE Unités de mesure pour les positions d’axes et de coordonnées fournies axes linéaires synchrones et coor- ”mm” ou ”Inch”; données tridimensionnelles à trans- en fonction du réglage actuel (G71, G70) lation: dans le canal appelé. Axes rotatifs synchrones et coordonnées tridimensionnelles à translation: ”degré” R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Valeurs de coordonnées et d’axes Axes linéaires synchrones: ”mm” Axes rotatifs asynchrones: ”degré” 5 -3 5 -4 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes Exemple: Configuration et affectation des noms d’axe aux canaux Index Nom de l’axe du système Axe du système Paramètre machine 1003 00001 1 2 3 4 5 6 7 8 Index Axes canal 1 2 3 4 5 6 7 8 ! ! ! ! ! ! ! ! X Y Z X2 Y2 Z2 U A Nom de l’axe canal Paramètre machine 7010 00010[1] ! ! ! ! ! ! ! ! U_CH1 - Assignation au canal Paramètre machine 1003 00002 ! ! ! ! ! ! ! ! 1 1 1 2 2 2 1 3 CanalNoms d’axe CanalIndex d’axe Canal 1 X Y Z U_CH1 - 1 2 3 4 Canal 2 X2 Y2 Z2 - 1 2 3 Canal 3 A - 1 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -5 Valeurs de coordonnées et d’axes 5.1.1 Fonctions de lecture des positions de coordonnées et d’axes Il convient de tenir compte: D Pour les coordonnées tridimensionnelles et machine, l’index de coordonnées est toujours fixe dans le canal. D Les coordonnées peuvent toutefois être intégrées ou restituées par un canal au moyen des fonctions de transfert d’axe. Ainsi, l’index de coordonnées des autres coordonnées dans le canal peut changer. La possibilité de définir l’index de l’axe dans le système permet de travailler avec des indices fixes. D La prédéfinition d’axes système non configurés entraîne la génération d’une erreur d’exécution. Les fonctions décrites fonctionnent avec des paramètres similaires et sont illustrées ci - dessous. <Coordonnée> Index ou nom d’une coordonnée: Un nom est interprété en tant que nom de coordonnée. Uniquement dans le cas où aucun nom de coordonnée correspondant n’existe, il est interprété en tant que nom de canal ou d’axe système. Un Index est interprété en fonction du <type de sélection>. La programmation d’une coordonnée/d’un axe non configuré(e) entraîne une erreur d’exécution si la variable optionnelle ERRNO n’est pas programmée. <Axe> Index ou nom d’un axe: Un nom est interprété en tant que nom d’axe du canal. Si il n’y en a pas, on utilise le nom d’axe du système. Un Index est interprété en fonction du <type de sélection>. La programmation d’un axe non configuré entraîne une erreur d’exécution si la variable optionnelle ERRNO n’est pas programmée. <Type de sélection> optionnel: Interprété pour sûr comme index programmé sous <Coordonnée> ou <Axe>: 0: Index d’axe système 1: Index de coordonnées ou index d’axe du canal (défaut) Sans programmation explicite, on définit <Type de sélection> = 1. 5 -6 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes <Canal> ERRNO optionnel: Numéro du canal, permis uniquement pour <Type de sélection> = 1. Si les axes/coordonnées doivent être lu(e)s à partir de canaux étrangers et appelé(e)s par leur index ou leurs noms, le numéro du canal auquel l’axe/la coordonnée est affecté(e) actuellement est indiqué dans <Canal>. Si aucun canal n’est indiqué, on a recours aux coordonnées/axes du canal actuel. Si un axe système est adressé (avec nom ou index) et un canal indiqué en même temps, un message d’erreur sera généré même si la variable ERRNO est programmée. variable CPL, programmable à une position quelconque. Avec ERRNO une erreur d’exécution n’est pas générée en cas d’erreur, les valeurs signalées sont: 0: accès ok - 1 : erreur de paramètre - 2 : coordonnée / axe n’existe pas - 3 : coordonnée / axe inadmissible dans le canal. - 4 : l’axe n’est pas une pseudo - coordonnée. - 5 : le canal n’existe pas. - 6 : la fonction ne peut être appelée que dans le propre canal. - 7 : impossible de lire les données. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -7 Valeurs de coordonnées et d’axes PCS Fournit la dernière valeur programmée pour une coordonnée. Ce qui suit s’applique: D Si le système de coordonnées pièce à usiner est commuté entre la programmation de la coordonnée et l’interrogation de la position, le nouveau système de coordonnées pièce à usiner tient compte de la nouvelle valeur fournie. D Seules les coordonnées du canal propre peuvent être interrogées. Syntaxe: PCS(<Coordonnée> [,<Type de sélection>]) (Paramètre voir page 5 - 5, Programmation d’ERRNO voir page 2 - 60) Exemples: PCS(”X”,ERRNO) PCS(”X”,1) Canal 2 selon l’exemple de configuration de la page 5 - 4: N1 02 03 04 05 G0 G90 X2=150 Y2=100 X2WERT=PCS(1,ERRNO) La position absolue de la 1ère coorIF ERRNO <> 0 THEN donnée dans le canal actuel est attriPRN#(0,”Erreur:”,ERRNO) buée à X2WERT (X2WERT = 150). ENDIF N10 G91 X2=10 011 X2WERT=PCS(1,1) N12 X2=5 Y2=10 13 Y2WERT=PCS(”Y2”,1) 14 X2WERT=PCS(”X2”) 15 XWERT=PCS(1,0) La position absolue de la 1ère coordonnée dans le canal actuel est attribuée à X2WERT (X2WERT = 160). La position absolue de l’axe système Y2 est attribuée à Y2WERT (Y2WERT = 110). La position absolue de la coordonnée X2 dans le canal actuel est attribuée à X2WERT (X2WERT = 165). Erreur d’exécution: Accès non autorisé du 1er axe système dans le canal 2 (axe assigné au canal 1). 5 -8 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes WCS Fournit la position actuelle de la pièce à usiner sans valeurs de correction online pour une coordonnée. Ce qui suit s’applique: D Si la valeur fournie doit être déterminée au moment de l’exécution du bloc, un ”WAIT” doit être programmé auparavant dans ce bloc (se reporter au chapitre 2.13.2). Sans WAIT, aucune valeur clairement prévisible ne sera fournie puisque on ne sait pas exactement quel retard d’exécution du bloc a été pris dans le traitement de blocs. D Lors de l’accès aux valeurs de coordonnées d’un canal étranger, il convient le cas échéant de prendre des mesures de synchronisation afin de calculer une position définie. Syntaxe: WCS(<Coordonnée> [,<Type de sélection>[,<Canal>]]) (Paramètre voir page 5 - 5 Programmation d’ERRNO voir page 2 - 60) Exemples: WCS(”X”,ERRNO) WCS(”X”,1) WCS(”X”,1,1) Canal 2 selon l’exemple de configuration de la page 5 - 4: 10 20 21 22 23 WAIT Z2POS=WCS(3,1,2,ERRNO) IF ERRNO <> 0 THEN PRN#(0,”Erreur:”,ERRNO) ENDIF 30 110 WAIT YPOS = WCS(”Y”) 120 XPOS = WCS(1) La position interpolée actuelle de la pièce à usiner de la 3ème coordonnée du 2ème canal est attribuée à Z2POS (Axe Z2). La position interpolée actuelle de la pièce à usiner de la coordonnée Y du canal actuel est attribuée à YPOS. La position interpolée actuelle de la pièce à usiner de la 1ère coordonnée du canal actuel est attribuée à XPOS. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -9 Valeurs de coordonnées et d’axes MCS Fournit la position machine actuelle (MCS) pour une coordonnée machine sans correction de l’erreur de trajectoire et d’angle. On peut également y accéder via les coordonnées étrangères au canal. Ce qui suit s’applique: D Si la valeur fournie doit être déterminée au moment de l’exécution du bloc, un ”WAIT” doit être programmé auparavant dans ce bloc (se reporter au chapitre 2.13.2). Sans WAIT, aucune valeur clairement prévisible ne sera fournie puisque on ne sait pas exactement quel retard d’exécution du bloc a été pris dans le traitement de blocs. D Lors de l’accès aux valeurs de coordonnées d’un canal étranger, il convient le cas échéant de prendre des mesures de synchronisation afin de calculer une position définie. Syntaxe: MCS(<Coordonnée> [,<Type de sélection>[,<Canal>]]) (Paramètre voir page 5 - 5 Programmation d’ERRNO voir page 2 - 60) Exemples: MCS(”X”,ERRNO) MCS(”X”,1) MCS(”X”,1,1) Canal 2 selon l’exemple de configuration de la page 5 - 4: N10 G0 G90 X2=150 Y2=100 20 WAIT 30 X2WERT=MCS(”X2”,ERRNO) La position machine interpolée ac31 IF ERRNO <> 0 THEN tuelle de la coordonnée X2 est attri32 PRN#(0,”Erreur:”,ERRNO) buée à X2WERT. 33 ENDIF N40 G91 X2=10 Y2=10 50 WAIT 60 X2WERT=MCS(1,1) 70 Y2WERT=MCS(”Y2”,1,2) 80 XWERT=MCS(1,0) La position machine interpolée actuelle de la 1ère coordonnée machine du canal actuel (coordonnée X2) est attribuée à X2WERT. La position interpolée actuelle de la coordonnée Y2 du 2ème canal est attribuée à Y2WERT. La position d’axe interpolée actuelle du 1er axe système est attribuée à XWERT. Cet accès n’est permis que si l’axe système est identique à la coordonnée machine. 5 -10 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes ACS Fournit la position de consigne actuelle d’un axe. Les axes peuvent être appelés soit par leur nom d’axe canal soit par leur index d’axe canal. Alternativement, un axe peut être appelé par son nom d’axe système ou par son index d’axe système. Ce qui suit s’applique: D Le résultat de ACS correspond toujours à la fonction SPOS. D Si la valeur fournie doit être déterminée au moment de l’exécution du bloc, un ”WAIT” doit être programmé auparavant dans ce bloc (se reporter au chapitre 2.13.2). Sans WAIT, aucune valeur clairement prévisible ne sera fournie puisque on ne sait pas exactement quel retard d’exécution du bloc a été pris dans le traitement de blocs. D Lors de l’accès aux valeurs de l’axe d’un canal étranger, il convient le cas échéant de prendre des mesures de synchronisation afin de calculer une position définie. Syntaxe: ACS(<Axe>[,<Type de sélection>[,<Canal>]]) (Paramètre voir page 5 - 5 Programmation d’ERRNO voir page 2 - 60) Exemples: ACS(”X”,ERRNO) ACS(”X”,1) ACS(”X”,1,1) Canal 2 selon l’exemple de configuration de la page 5 - 4: N10 G0 G90 X2=150 Y2=100 20 WAIT 30 X2WERT=ACS(”X2”,ERRNO) La position d’axe interpolée actuelle 31 IF ERRNO <> 0 THEN de l’axe canal X2 est attribuée à 32 PRN#(0,”Erreur:”,ERRNO) X2WERT. 33 ENDIF N40 G91 X2=10 Y2=10 50 WAIT 60 X2WERT=ACS(1,1) 70 Y2WERT=ACS(”Y2”,1,2) 80 XWERT=ACS(1,0) La position d’axe interpolée actuelle du 1er axe canal du canal actuel (axe X2) est attribuée à X2WERT. La position d’axe interpolée actuelle de l’axe canal Y2 du 2ème canal est attribuée à Y2WERT. La position d’axe interpolée actuelle du 1er axe système est attribuée à XWERT. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -11 Valeurs de coordonnées et d’axes SPOS Fournit la position de consigne actuelle d’un axe se rapportant au système de coordonnées d’axe. Tous les axes système peuvent être appelés soit par leur nom d’axe système soit par leur index d’axe système. Ce qui suit s’applique: D SPOS et ACS fournissent toujours des valeurs identiques. D Si la valeur fournie doit être déterminée au moment de l’exécution du bloc, un ”WAIT” doit être programmé auparavant dans ce bloc (se reporter au chapitre 2.13.2). Sans WAIT, aucune valeur clairement prévisible ne sera fournie puisque on ne sait pas exactement quel retard d’exécution du bloc a été pris dans le traitement de blocs. D Lors de l’accès aux valeurs de l’axe d’un canal étranger, il convient le cas échéant de prendre des mesures de synchronisation afin de calculer une position définie. Syntaxe: SPOS(<Axe> ) <Axe> Index ou nom d’un axe système La programmation d’un axe non configuré entraîne une erreur d’exécution. ERRNO n’est pas programmable. Exemple: Canaux selon l’exemple de configuration de la page 5 - 4: 30 POS1=SPOS(1) : 50 POS5=SPOS(”Y2”) : La valeur de consigne d’axe actuelle du 1er axe système (axe X dans le canal 1) est attribuée à la variable POS1. La valeur de consigne d’axe actuelle du 5ème axe système (axe Y2 dans le canal 2) est attribuée à la variable POS5. 5 -12 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes APOS Fournit la position réelle actuelle d’un axe se rapportant au système de coordonnées d’axe. Tous les axes système peuvent être appelés soit par leur nom d’axe système soit par leur index d’axe système. Ce qui suit s’applique: D Si la valeur fournie doit être déterminée au moment de l’exécution du bloc, un ”WAIT” doit être programmé auparavant dans ce bloc (se reporter au chapitre 2.13.2). Sans WAIT, aucune valeur clairement prévisible ne sera fournie puisque on ne sait pas exactement quel retard d’exécution du bloc a été pris dans le traitement de blocs. D Lors de l’accès aux valeurs de l’axe d’un canal étranger, il convient le cas échéant de prendre des mesures de synchronisation afin de calculer une position définie. Syntaxe: APOS(<Axe>) <Axe> Index ou nom d’un axe système La programmation d’un axe non configuré entraîne une erreur d’exécution. ERRNO n’est pas programmable. Exemple: Canaux selon l’exemple de configuration de la page 5 - 4: 30 AKT4=APOS(4) : 50 AKT8=APOS(”A”) : La valeur réelle d’axe actuelle du 4ème axe système (axe X2 dans le canal 2) est attribuée à la variable AKT4. La valeur réelle d’axe actuelle du 8ème axe système (axe A dans le canal 3) est attribuée à la variable AKT8. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -13 Valeurs de coordonnées et d’axes 5.1.2 Fonctions de lecture à partir du palpeur de mesure PCSPROBE Si un palpeur de mesure actionnant est raccordé à l’axe d’un canal et qu’une mesure a été réalisée, PCSPROBE peut lire la valeur mesurée pour chaque coordonnée. La condition préalable relative à PCSPROBE est que les palpeurs de mesure aient enregistré les données de tous les axes du canal. Les valeurs d’axe enregistrées sont converties en coordonnées programme au moyen de la chaîne de transformation activée en dernier. PCSPROBE fournit la valeur pour une coordonnée. Syntaxe: PCSPROBE (<Coordonnée> [,<Type de sélection>]) (Paramètre voir page 5 - 5 Programmation d’ERRNO voir page 2 - 60) . PCSPROBE ne peut pas être utilisée en même temps que la fonction ”Mesures à la volée” ”FlyMeas” (FME) étant donné qu’un seul axe est mesuré dans ”Mesures à la volée”. Exemple: Canal 1 selon l’exemple de configuration de la page 5 - 4: N10 G75 X100 Y100 Z50 20 IF SD(9) =1 THEN N30 (MSG, Palpeur de mesure 40 GOTO .ERREUR 50 ELSE 60 ZMESS=PCSPROBE(3,ERRNO) 61 IF ERRNO <> 0 THEN 62 GOTO .erreur 63 ENDIF 70 ENDIF n’a pas été orienté!) La valeur de la 3ème coordonnée de la position mesurée est attribuée à la variable ZMESS. 5 -14 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes PROBE Fournit les valeurs d’axe se rapportant au système de coordonnées d’axe ASC. Ce qui suit s’applique: D PROBE ne donne accès qu’aux axes du canal concerné. C’est pourquoi aucune position d’axes asynchrones ne peut être relevée. D Seules les compensations d’erreur de rampe de broche et de croix sont prises en compte. D Le déclenchement du palpeur de mesure dans le canal peut être vérifié à l’aide de la fonction SD(9). D Au cours de la fonction ”Mesure sur butée fixe” FsProbe, les valeurs de mesure sont lues via les fonctions PPOS ou PROBE. Syntaxe: PROBE (<Axe> [,<Type de sélection>]) (Paramètre voir page 5 - 5; ERRNO n’est pas programmable) Exemple: Canal 2 selon l’exemple de configuration de la page 5 - 4: N70 G75 Y2 250 80 IF SD(9) =1 THEN N90 (MSG, Palpeur de mesure n’a pas été orienté!) 100 GOTO .ERREUR 110 ELSE 120 Y2MESS=PROBE(2) La valeur réelle calculée du 2ème axe canal (ici: axe Y2 du canal 2) est attribuée à la variable Y2MESS. 130 ENDIF R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -15 Valeurs de coordonnées et d’axes PPOS Fournit la valeur réelle d’axe actuelle d’un axe synchrone au point de commutation du palpeur de mesure. PPOS tient compte des corrections suivantes: D Décalages de l’origine de l’axe (G54...G59) D Corrections d’outil (G48, ED) D Décalage des coordonnées programme (Trans, ATrans) D Compensations d’erreur de rampe de broche et de croix Ne sont pas pris en compte: D Transformation géométrique en correction d’axes (Coord) D Transformations de coordonnées (BcsCorr, G152...G159) D Facteur d’échelle (PoleSet, Mirror, Scale, Rotate) Ce qui suit s’applique: D PROS ne donne accès qu’aux axes du canal concerné. C’est pourquoi aucune position d’axes asynchrones ne peut être relevée. D Sans transformation géométrique en correction d’axes ou transformations de coordonnées, la valeur fournie se rapporte au système de coordonnées pièce à usiner WCS programmé en dernier. D Au cours de la fonction ”Mesure sur butée fixe” FSB, les valeurs de mesure sont lues via les fonctions PPOS ou PROBE. D Le déclenchement du palpeur de mesure dans le canal peut être vérifié à l’aide de la fonction SD(9). Syntaxe: PPOS(<Axe> [,<type de sélection>]) (Paramètre voir page 5 - 5; ERRNO n’est pas programmable) Exemple: Canal 3 selon l’exemple de configuration de la page 5 - 4: N10 20 N30 40 50 60 70 G1 G75 A250 F500 IF SD(9)= 1 THEN (MSG, Palpeur de mesure n’a pas été orienté!) GOTO .ERREUR ELSE AMESS = PPOs(1,1) La valeur calculée du 1er axe canal est attribuée à la variable AMESS. ENDIF 5 -16 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes 5.1.3 Fonctions de lecture des décalages et des positionnements AXO AXO fournit le décalage actuel de G92 pour une coordonnée au moment de la préparation d’un bloc, ce qui signifie que le décalage activé en dernier est fourni au moment de l’interprétation de programme. Syntaxe: AXO(<Coordonnée> [,<Type de sélection>]) (Paramètre voir page 5 - 5; ERRNO n’est pas programmable) . AXO ne donne accès qu’aux valeurs de décalage du canal concerné. Les axes asynchrones n’ont pas de décalage de G92, c’est pourquoi AXO est invalide pour les axes asynchrones. Exemple: Canal 1 selon l’exemple de configuration de la page 5 - 4: N10 G1 G90 X100 F1000 N20 G92 X75 Y125 30 XD = AXO(”X”) 40 YD = AXO(2,0) 50 X2D = AXO(4,0) Le décalage de G92 activé en dernier de la coordonnée X du canal actuel est attribué à XD (XD=100-75=25). Le décalage de G92 activé en dernier du 2ème axe système est attribué à YD (YD=200 -125=75) Erreur d’exécution, car le 4ème axe système est attribué au canal 2. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -17 Valeurs de coordonnées et d’axes COF Fournit le dernier décalage de contour programmé (Shift) d’une coordonnée. Comme le décalage de contour programmé n’agit que sur les coordonnées du canal actuel, la sélection d’une coordonnée n’existant pas dans le canal actuel génère un message d’erreur. Les valeurs de correction sont indiquées dans l’unité de mesure active du canal actuel, c’est - à - dire en ”pouces” pour G70 et en ”mm” pour G71. L’unité est toujours en ”degrés” pour les axes rotatifs et les coordonnées tridimensionnelles rotatives. Syntaxe: COF(<Coordonnée> [,<Type de sélection>]) (Paramètre voir page 5 - 5; ERRNO n’est pas programmable) Exemples: 10 : A=COF(3) 20 B=COF(”X”) : 30 C=COF(2,0) : 100 C=COF(0) : Fournit le dernier décalage de contour programmé de la coordonnée avec le 3ème index de coordonnées du canal actif. Fournit le dernier décalage de contour programmé de la coordonnée X dans le canal actif. Fournit le dernier décalage de contour programmé du 2ème axe système dans le canal actif. Cet accès n’est permis que si l’axe système est identique à la coordonnée WCS. Erreur d’exécution, car 0 n’est pas un index de coordonnées valide. 5 -18 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Valeurs de coordonnées et d’axes DPC Fournit les derniers paramètres programmés de la correction de position de pièce usinée (BCR) d’une coordonnée (valeurs de décalage et angle de torsion). Comme la correction de position de la pièce à usiner n’agit que sur les coordonnées du canal actuel, la sélection de coordonnées n’existant pas dans le canal actuel génère un message d’erreur. Les valeurs de correction sont indiquées dans l’unité de mesure active du canal actuel, c’est - à - dire en ”pouces” pour G70 et en ”mm” pour G71. L’unité est toujours en ”degrés” pour les axes rotatifs et les coordonnées tridimensionnelles rotatives. Syntaxe: DPC(<Coordonnée> [,<Type de sélection>]) (Paramètre voir page 5 - 5; ERRNO n’est pas programmable) <Coordonnée> Action supplémentaire des définitions: ”1”...”n” ou ”Nom” : fournit la valeur de décalage ”0” fournit l’angle de torsion Phi. Exemples: 10 : A=DPC(1) 15 : B=DPC(”X”) 20 : B=DPC(2) 25 : B=DPC(2.0) 30 ANGLE=DPC(0) : 100 C=DPC(9) : Fournit la dernière correction de position de la pièce à usiner programmée de la coordonnée avec le 1er index de coordonnées dans le canal. Fournit la dernière correction de position de la pièce à usiner programmée de l’axe/la coordonnée X dans le canal. Fournit la dernière correction de position de la pièce à usiner programmée de la coordonnée avec le 2ème index de coordonnées dans le canal. Fournit la dernière correction de la position de la pièce à usiner programmée du 2ème axe système dans le canal actif. Fournit le dernier angle de torsion Phi programmé. Erreur d’exécution, car pour 8 axes dans le système, 9 n’est pas un index de coordonnées valide. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -19 Décalages d’origine 5.2 Décalages d’origine Les ordres CPL suivants permettent de lire, créer et modifier les tableaux NPV. ZOV (ZeroOffsetValue) Fournit la somme des dernières valeurs NPV programmées et donc efficaces d’une coordonnée machine (axe) ou bien optionnellement la valeur efficace de chaque banque NPV. Syntaxe: ZOV(<Sélection d’axe>[,<NPV-Banque>]) <Sélection d’axe> Nom de la coordonnée machine (axe), programmé en guillemets hauts ou Index de la coordonnée machine (axe), valeurs 1..8 <NPV-Banque> Index des NPV-Banque, valeurs 1...5 Exemples: ZOV(”X”) ZOV(2,3) ZOT fournit la somme de toutes les NPV efficaces (programmées en dernier) pour les coordonnée machine (axe) X. fournit la NPV efficace de la 3ème banque NPV pour la 2ème coordonnée machine (axe). ZeroOffsetTable Accès en lecture et en écriture sur un tableau de décalage de point zéro XML au choix dans le système fichiers du IndraMotion MTX. L’accès n’est permis que pour des éléments uniques. Des modifications incrémentales peuvent aussi être effectuées pendant l’écriture. Syntaxe: ZOT(<Sélection de colonne>,<NPV-Code>[,[<NPV-Banque>][,[<Tableau>][,<Unité>]]]) <Sélection de colonne> Nom de la coordonnée machine (axe), programmé en guillemets hauts ou Index de colonne dans le tableau. Accès d’écriture possible: - écraser la valeur de tables, ou - additionner la valeur à la valeur de la table, si <Sélection de colonne>commence par le signe moins. 5 -20 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Décalages d’origine <NPV-Code> <Banque NPV> <Tableau> <Unité> 54: 1. Décalage de l’origine 55: 2. Décalage de l’origine 56: 3. Décalage de l’origine 57: 4. Décalage de l’origine 58: 5. Décalage de l’origine 59: 6. Décalage de l’origine Index de Banque NPV (1...5). Valeur par défaut: 1 Nom de Tableau NPV, si besoin avec indication absolue ou incrémentale du chemin (le suffixe ”.zot” des tableaux ne doit pas être programmés en même temps). Sans indication du chemin, la recherche est effectuée dans le chemin de recherche configuré. Pour les tableaux avec les noms par défaut ZO1, ZO2 etc., seul l’indice numérique doit être indiqué. Sans nom de tableau, le dernier tableau activé est utilisé. 0 ou ”MM”: mm 1 ou ”INCH”: pouces Pendant l’accès d’écriture, la valeur attribuée est interprétée dans l’unité définie. Pendant l’accès de lecture, la valeur est changée dans l’unité définie. Valeur par défaut: mm Exemples: Accès au décalage de G54 de la coordonnée axe/machine ”X” dans le dernier tableau NPV activé du canal. ZOT(2,55,2) Accès au décalage de G55.2 de la 2ème coordonnée axe/machine définie dans le dernier tableau NPV activé du canal. ZOT(3,57,,”V1”) Accès au décalage de G57 de la 3ème coordonnée axe/machine définie dans le tableau NPV ”V1.zot”. ZOT(”Z”,58,4,21,1) Accès en pouces au décalage de G58.4 de la coordonnée axe/machine ”Z” dans le tableau NPV ”ZO21.zot”. ZOT(”Y”,59,5,”/mnt/esmuser/de/HHGENIUS”,”MM”) Accès métrique au décalage de G59.5 de la coordonnée axe/machine ”Y” dans le tableau ”HHGENIUS” du répertoire ”/mnt/esmuser/de”. ZOT(”X”,54) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -21 Corrections d’outil 5.3 Corrections d’outil Les ordres CPL suivants donnent accès aux données internes de correction d’outil (correction D) et aux données externes de correction d’outil (correction ED) auxquelles la SPS a accès. TCV ToolCorrectionValue Fournit les dernières valeurs de correction d’outil programmées soit comme valeur somme (correction D + mémoire de correction externe) soit comme valeur unique. Syntaxe: TCV(<Sélection de valeur>[,<Sélection de correction>]) <Sélection de valeur> Numéro de la 1 ou ”L1”: 2 ou ”L2”: 3 ou ”L3”: 4 ou ”RAD”: 5 ou ”ORI”: 6 ou ”PHI”: 7 ou ”THE”: 8 ou ”PSI”: <Sélection de valeur> 1 ou ”D”: 2 ou ”E”: Défaut: correction D/ED: Longueur de correction L1 Longueur de correction L2 Longueur de correction L3 Rayon de l’outil/de coupe Position de l’arête coupante Angle d’Euler ϕ (Correction ED seulement) Angle d’Euler ϑ (Correction ED seulement) Angle d’Euler ψ (Correction ED seulement) Correction D (interne) Correction ED (externe) Somme de la correction D et ED Corrección Exemples: TCV(”L1”) TCV(4,1) TCV(2,”E”) Lecture de la somme des valeurs L1 de la dernière correction D et ED programmée. Lecture du rayon de l’outil de la dernière correction D programmée. Lecture de la longueur L2 de l’outil de la dernière correction ED programmée. 5 -22 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Corrections d’outil DCT D-CorrectionTable Accès en lecture et en écriture aux valeurs de correction d’outil dans un tableau de correction D quelconque ainsi qu’aux valeurs de correction externes (correction ED). Des modifications incrémentales peuvent aussi être effectuées pendant l’écriture. Syntaxe: DCT(<Sélection de valeur>,<Jeu de données>[,[<Tableau>][,<Unité>]]) <Sélection de valeur> Numéro 1 ou ”L1”: 2 ou ”L2”: 3 ou ”L3”: 4 ou ”RAD”: 5 ou ”ORI”: 6 ou ”PHI”: de la correction D/ED: Longueur de correction L1 Longueur de correction L2 Longueur de correction L3 Rayon de l’outil/de coupe Position de l’arête coupante Angle d’Euler ϕ (correction ED seule ment) 7 ou ”THE”: Angle d’Euler ϑ (correction ED seule ment) 8 ou ”PSI”: Angle d’Euler ψ (correction ED seule ment) La valeur peut être lue ou écrite. Accès d’écriture possible: - écraser la valeur de tables, ou - additionner la valeur à la valeur de la table, si <Sélection de valeur> commence par le signe mo ins. Pour Position de l’arête coupante (5 ou ”ORI”), une écriture incrémentale n’est pas possible. <Jeu de données> 1..99: pour une correction D 1..16: Lors d’une correction ED <Tableau> Nom du tableau de correction D, le cas échéant, avec indication absolue ou incrémentale du chemin (sans suffixe de tables ”.dct”). Sans indication du chemin, la recherche est effectuée dans le chemin de recherche configuré. Pour les tableaux avec les noms par défaut DC1, DC2 etc., seul l’indice numérique doit être indiqué. Sans <tableaux>, la dernière table de correction D sélectionnée est utilisée. 0: Accès à la correction ED <Unité> 0 ou ”MM”: mm (défaut) 1 ou ”INCH”: pouces Pendant l’accès d’écriture, la valeur attribuée est interprétée dans l’unité définie. Pendant l’accès de lecture, la valeur est changée dans l’unité définie. Exemples: DCT(1,10,”K4”) Accès à la valeur de correction ”L1” du jeu de données 10 dans la table de correction D ”K4”. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -23 Base de données outil DCT(”RAD”,7) DCT(”L2”,16,0,”IN CH”) 5.4 Ecriture incrémental sur le rayon de l’outil du jeu de données 7 de la dernière table activée. Accès en pouces à la correction ”L2” du jeu de données 16 de la correction externe de l’outil. Base de données outil DBTAB Peut charger un jeu de données complet ou la structure partielle d’une table banque de données outil dans une variable CPL ou écrire à partir des variables dans le jeu de données. Syntaxe: DBTAB(<Tableau Db>,<Key1>,<Key2>[,<ResVar>]) <Tableau Db> <Key1> <Key1> <ResVar> Nom de la table banque de données avec structure partielle (Xpath-String). Un ”.” ou ”/” peuvent être utilisés comme caractères de séparation entre les paramètres. Clé de la base de données 1 Clé de la base de données 2 Variable de type Integer. Si <ResVar> est indiquée, aucune erreur d’exécution n’est générée en cas d’erreur d’accès. Les valeurs de retour suivantes sont possibles: 0: accès ok 1: erreur en cours d’accès 2: mémoire insuffisante 3: type de variable invalide Si <ResVar> n’est pas indiquée, une erreur d’exécution est générée en cas d’erreur d’accès. Exemple: 10 SV.A=DBTAB(”DBT1.Rec”,1,1) 20 D!=DBTAB(”DBT1.Rec.UD.Ed.Geo. L1”,1,1) 30 SV.A.UD.Ed.Geo.L1 = 10 40 DBTAB(”DBT1.Rec”,1,1) = SV.A 5 -24 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Base de données outil DBSEA Recherche un article dans un tableau de banque de données d’outil. Syntaxe: DBSEA(<DbTab>,<Key1>,<Key2>,<SeachCond>, <SeachRes>[,<ResVar>]) <DbTab> <Key1> <Key1> <SearchCond> <SearchRes> <ResVar>: Nom de la table de banque de données. Clé de démarrage 1 Clé de démarrage 2 Critère de recherche sous forme de chaîne de caractères (voir ci - dessous) Résultat de la recherche, de type variable -intégrale. 0 : N’a trouvé aucun article correspondant au critère de recherche 1 : A trouvé un article correspondant au critère de recherche. Variable type intégral. Si <ResVar> est indiquée, aucune erreur d’exécution n’est générée en cas d’erreur d’accès. Les valeurs de retour suivantes sont possibles: 0 : accès ok 1 : erreur en cours d’accès 2 : mémoire insuffisante 3 : type de variable invalide 4 : critère de recherche erroné Si <ResVar> n’est pas indiquée, une erreur d’exécution est générée en cas d’erreur d’accès. Critère de recherche (<SearchCond>) La syntaxe suivante doit être respectée: D Une liste de conditions individuelles à satisfaire absolument est prédéfinie. D Les conditions individuelles sont séparés les unes des autres par des apostrophes (’,’). D Une condition individuelle se présente sous la forme: <Tag-Nom><Opérateur de comparaison><Valeur> avec: D <Opérateur de comparaison >: ”=” égal ”>” supérieur ”>=” supérieur ou égal ”<” inférieur ”<=” inférieur ou égal ”<>” différent D Seules possibilités pour l’opérateur de comparaison pour SKQ: ”=” et ”<>”, par ex. SKQ=4711 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -25 Base de données outil D Une condition individuelle de masque de bit se présente sous la forme: - <Tag-Nom>=<Valeur>:<Masque> par ex. BQ1=0x307000:0xF0FF00 avec: D <Valeur> : Valeur que doivent présenter les bits significatifs D <Masque> : Définition des bits significatifs Les valeurs et les masques sont interprétés: D en tant que chiffre hexadécimal s’ils commencent par “0x“ ou “0X” D en tant que chiffre octal s’ils commencent par “0“ D et dans les autres cas en tant que chiffre décimal. À l’intérieur de <Valeur> les espaces avant ou après ne sont pas évalués. Si une chaîne de caractères doit être définie dans laquelle ces espaces sont importants, la chaîne de caractères partielle doit être mis entre apostrophes (par ex. : SKQ=’ ’). Pour utiliser un apostrophe dans une chaîne de caractères partielle mise entre apostrophes, celui- ci doit être précédé du signe “\“ (par ex.: SKQ=’Achim\’s’) Conditions aux limites: D Seuls les noms de tags prédéfinis peuvent être utilisés D Seules les interrogations d’égalité sont possibles. Exemple: K1=1 IKQ2=3 BQ2=0x1:0x1 La fonction CPL renvoie le premier article qui correspond au critère de recherche. Dans ce cas la variable <SearchRes> renvoie la valeur 1. La recherche débute par l’article défini par les deux clés de démarrage. Si la valeur de l’une des deux clés de démarrage est de - 1, la recherche débute par le premier article de la table de banque de données. Exemple: 10 SV.A.Hd=DBSEA(”DBT1”,-1,-1, ”K1=1”,FOUND%) 20 WHILE FOUND%=1 DO 30 SV.A.Hd=DBSEA(”DBT1”,SV.A.Hd.K1, SV.A.Hd.K2,”K1=1”,FOUND%) 40 END 5 -26 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Placements (Plan incliné) 5.5 Placements (Plan incliné) Les instructions CPL suivantes permettent l’accès aux tables de placements. PMV PlaceMentValue Fournit la somme des dernières valeurs de placement programmées et donc efficaces pour une coordonnée. Il est également possible de lire la valeur efficace d’une banque de placement individuelle. Syntaxe: PMV(<Sélection coordonnée>[,<Banque de placements>]) <Sélection coordonnée> Index de la coordonnée (1...6) ou identificateur fixe “X“, “Y“, “Z“, “PHI“, “THE“, “PSI“ pour les coordonnées -WCS. <Banque de placements>Index de la banque de placements (1...5) Exemples: PMV(”Y”) PMV(4,4) Fournit la somme de tous les placements efficaces (programmés en dernier) pour la coordonnée Y. Du fait des éventuelles torsions, il ne s’agît ici pas uniquement de la somme des banques individuelles, mais du décalage résultant sur l’axe “Y“ du système de coordonnées pièce de base. Fournit l’angle d’Euler PHI du placement actif de la 4ème banque. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -27 Placements (Plan incliné) PMT PlaceMentTable Accès en lecture et en écriture sur une table de placements XML quelconque de IndraMotion MTX, accès aux éléments individuels uniquement. Des modifications incrémentales peuvent aussi être effectuées pendant l’écriture. Syntaxe: PMT(<Sélection coordonnée>,<Code placement>[,[<Banque placement>][,[<Table>] [,<Unité>]]]) <Sélection coordonnée> Index de la coordonnée (1...6) ou identificateur fixe “X“, “Y“, “Z“, “PHI“, “THE“, “PSI“ pour les coordonnées WCS. La valeur peut être lue ou écrite. En écriture il est possible de: - écraser la valeur de tables, ou - additionner la valeur à la valeur de la table, si <Sélection coordonnée> débute par un si gne - . . <Code de placement> 154 : Placement 1 155 : Placement 2 156 : Placement 3 157 : Placement 4 158 : Placement 5 159 : Placement 6 <Banque de placements>Index de la banque de placements (1...5) Valeur par défaut: 1 <Table>: Nom de la table de placement, éventuellement avec indication du chemin d’accès absolu ou incrémental (il n’est pas nécessaire de programmer l’extension de table « .pmt »). Sans indication du chemin, la recherche est effectuée dans le chemin de recherche configuré. Pour les tables avec des noms par défaut PM1, PM2 etc. seule l’indice numérique doit être saisi. Sans nom de tableau, le dernier tableau activé est utilisé. <Unité> 0 ou ”MM”: mm 1 ou ”INCH”: pouces Pour les coordonnées linéaires la valeur attribuée est interprétée en écriture dans l‘unité indiquée, en lecture la valeur est transformée dans l’unité indiquée. Valeur par défaut: mm 5 -28 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Placements (Plan incliné) Exemples: Accès au décalage G155 de la coordonnée “Z“ dans la dernière table de placement activée du canal. PMT(5,157,3) Accès à l’angle d’Euler ϑ de G157.3 dans la dernière table de placement activée du canal. PMT(”X”,154,,”P1”) Accès au décalage G154.1 de la coordonnée “X“ dans la table de placement P1. PMT(3,158,4,,1) Accès en pouces au décalage G158.4 de la coordonnée “Z“ dans la dernière table de placement activée du canal. PMT(”Y”,159,5,”/mnt/esmuser/de/PL5”,”MM”) Accès métrique au décalage G159.5 de la coordonnée “Y“ dans la table “PL5“ du répertoire “/mnt/ esmuser/de“. PMT(”Z”,155) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -29 Tables XML 5.6 Accès généralisé à Tables XML XTAB Accès en lecture et en écriture sur une table XML quelconque qui peut également être définie par l’utilisateur. Contrairement aux fonctions spéciales pour NPV, Correction D et tables de placement cette fonction permet également l’accès à toutes les structures partielles d’une table dans la mesure où un type de donnée correspondant a été défini. Syntaxe: XTAB(<Table>,<Structure partielle>) <Table> Nom de la table XML, éventuellement avec indication du chemin d’accès <Structure partielle> Structure partielle désirée, indiquée en tant qu’expression XPATH-. Exemple: 10 X!=XTAB(”/database/PM1.pmt”, ”/PMT/set[1]/G154/Corr/Trans/XWCS”) 20 XTAB(”/database/PM1.pmt”,”/PMT/ set[1]/G154/Corr/Trans/XWCS”)=X!+1.0 Incrémenter la valeur dans la table de 1. 5 -30 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Modulation 5.7 Modulation SCL Fournit pour le canal actuel (ici: Canal, dans lequel le programme avec l’instruction SCL est actif) les derniers paramètres programmés des fonctions PLS, SCL, MIR et ROT(...) (coordonnées de pôle, facteurs d’échelles et angles de rotation). Comme PLS, SCL, MIR et ROT(...) n’agissent que sur des coordonnées du canal actif, la sélection d’une coordonnées non existante dans le canal actuel génère un message d’erreur. Les valeurs de position sont délivrées dans l’unité de mesure active du canal actuel, c’est - à - dire avec G70 en “pouces“ et avec G71 en “mm“. Pour les axes ronds ou les coordonnées rotatives tridimensionnelles l’unité est toujours indiquée en “degré“. Syntaxe: SCL(<Sélection>[,<Coordonnée>[,<Type sélection>]]) <Sélection> 0 : Dernier angle de torsion programmé du plan prin cipal 1 : Dernier pôle programmé d’un axe de canal 2 : Dernier facteur d’échelle programmé d’un axe de canal <Coordonnée> Index ou nom d’une coordonnée: Un nom est interprété en tant que nom de coordonnée. Uniquement dans le cas où aucun nom de coordonnée correspondant n’existe, il est interprété en tant que nom de canal ou d’axe système. Un Index est interprété en fonction du <type de sélection>.La programmation d’une coordonnée/d’un axe non configuré(e) entraîne une erreur d’exécution, si la variable optionnelle ERRNO n’est pas programmée. <Type de sélection> optionnel: Définit, comment un index programmé sous <coordonnée> est interprété: 0: Index d’axe système 1: Index de coordonnées (par défaut) Sans <type de sélection> l’index est interprété en tant qu’index de coordonnée! Exemples: 10 W=SCL(0) : 20 P=SCL(1,2) : 30 F=SCL(2,2,1) : 40 D=SCL(2,”X”) Inscrit le dernier angle de torsion programmé dans la variable W. Inscrit le pôle de la coordonnée avec le 2ème index de coordonnée du canal dans la variable P. Inscrit le facteur d’échelle de la coordonnée avec le 2ème index de coordonnée du canal dans la variable F. Inscrit le facteur d’échelle de la coordonnée X du canal actif dans la variable D. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -31 Données système 5.8 Données système 5.8.1 Données système de types simples NCF Fournit la syntaxe des fonctions CN programmées en dernier à l’intérieur du groupe de fonctions modales ou du groupe de fonctions auxiliaires de la <fonction CN>. Tous les groupes de fonctions modales de la commande ainsi que les fonctions auxiliaires, qui sont définies dans des groupes de fonctions auxiliaires, peuvent être interrogées. La variable dans laquelle le résultat doit être enregistré doit être de type “Champ de caractère dimensionné“. Les conflits de type sont détectées au cours de l’exécution du programme et sont confirmées par un message d’erreur. Syntaxe: NCF (<Fonction CN>) <Fonction CN> Syntaxe d’une fonction ou fonction auxiliaire CN quelconque. Si une syntaxe non existante a été programmée, une erreur d’exécution est générée. Exemples: 10 : DIM A$(4) 20 : A$=NCF(”G1”) N80 [A$] Dimensionner un champ de caractères pour une chaîne de caractères d’une longueur de 4 caractères au maximum. La syntaxe de la dernière fonction CN programmée du groupe contenant “G1“ en tant que syntaxe est attribuée à la variable de chaîne de caractères A$. La fonction CN interrogée auparavant est programmée à nouveau. N10 M3 S1234 T2345 123 DIM A$(4) 20 A$=NCF(”M3”) N30 [A$] 50 M3 PRN#(0,”Dans le groupe ”,A$,” est actif”) N30 M5 33 A$=NCF(”M3”) 34 PRN#(0,”Dans le groupe M3 ”,A$,” est actif”) N70 M30 La fonction CN interrogée auparavant est programmée à nouveau. 5 -32 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système . La syntaxe de broche de la IndraMotion MTX est librement configurable et elle est réglé dans les paramètres machine 1040 00101 et suivants. SCS Permet l’accès en lecture aux paramètres d’entraînement SERCOS du bloc de paramètres actif. Syntaxe: SCS(<Sélection d’axe>,<ID-Art>,<ID-Nr>[,<Var. résultat>]) <Sélection d’axe> Index d’axe système ou nom d’axe système <ID-Art> Expression chaîne de caractères. ”S”: Paramètre S ”P”: Paramètre P <ID-Nr> Numéro du paramètre SERCOS <Var. résultat>: si <Var. résultat> est indiqué, aucune erreur d’exécution n’est générée en cas d’erreur d’accès : La valeur de retransfert suivante est possible : 0: accès o.k. 1: Accès actuellement indisponible Si <Var. résultat> n’est pas indiquée, une erreur d’exécution est générée en cas d’erreur d’accès. <Var. résultat> est une variable intégrale. Le contenu du paramètre est délivré sans unité et calibrage. . Les paramètres contenant une liste (plusieurs valeurs séparées par des virgules) ne peuvent pas être lus. Dans ces cas la commande génère un message d’erreur. Si les données d’entraînement se trouvent dans le télégramme d’entraînement SERCOS, elles sont lues à partir de là (voir manuel des paramètres D Servodyn). Dans tous les autres cas les données d’entraînement sont lues directement dans l’entraînement. Si d’autres applications accèdent aux données d’entraînement, l’accès à ces données n’est pas possible à cet instant. Dans ce cas d’erreur il est possible de réagir par le paramètre <Var. résultat> du programme pièce. Un nouvel accès peut fournir la donnée d’entraînement voulue. . Un accès permanent aux données d’entraînement peut bloquer l’accès pour d’autres applications! R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -33 Données système Accès aux POSITION% Données d’entraînement ERREUR% Message d’erreur oui Nouvelle valeur effective de l’axe i 0 aucune non L’ancienne position effective de l’axe i est conservée. 1 CANAL DE SERVICE SERCOS EST OCCUPÉ Par l’exploitation de la variable intégrale ERREUR% il est possible de réagir au cas d’erreur via le programme pièce. Exemple: La position effective du 1er axe est attribuée à la variable intégrale POSITION%. 12 IF ERREUR% = 0 THEN Exploitation des erreurs 13 REM***Position effective a pu être lue correctement*** 14 ELSE 15 REM***Position effective n’a pas pu être lue*** 16 ENDIF 10 POSITION%=SCS(1,”S”,51,ERREUR%) SCSL Certains paramètres SERCOS sont disponibles dans l’entraînement en tant que listes pouvant être lues à l’aide de l’instruction SCSL. Comme la longueur (mémoire nécessaire) d’une liste est inconnue, les éléments de liste lus sont enregistrés dans des fichiers ASCII. Ensuite les données lues peuvent être exploitées à l’aide d’instructions de fichiers CPL. De par l’instruction SCSL le fichier indiqué dans l’instruction est crée, si toutefois il n’existait pas encore. Le contenu d’un fichier déjà existant est écrasé. Syntaxe: SCSL(<Inces d’axe>,<ID-Art>,<ID-Nr>,<Nom fichier>[,<Var; résultat>]) <Index d’axe> <ID-Art> <ID-Nr> Index d’axe système ou nom d’axe système Expression chaîne de caractères. ”S” : Paramètre S ”P” : Paramètre P Numéro du paramètre SERCOS 5 -34 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système <Nom de fichier>Nom du fichier ASCII dans lequel la liste lue doit être enregistrée. <Var. résultat> Variable intégrale. Si <Var. résultat> est indiquée, aucune erreur d’exécution n’est générée en cas d’erreur d’accès. La valeur de retransfert suivante est possible: 0 : accès o.k. 1 : L’accès à SERCOS n’est pas possible actuellement 2 : Accès au fichier erroné. Si aucune <Var. résultat> n’est indiquée, une erreur d’exécution est générée en cas d’erreur d’accès. L’accès aux données d’entraînement peut être indisponible à certains moments, quand d’autres applications accèdent aux données d’entraînement. Le paramètre <Var. résultat> permet de réagir à ce cas d’erreur dans le programme pièce. Un nouvel accès peut fournir la donnée d’entraînement voulue. . Un accès permanent aux données d’entraînement peut bloquer l’accès pour d’autres applications. DS Lit à partir d’une collection de données système de l’ IndraMotion MTX en Format intégral. Syntaxe: DS(<Groupe>[,<Index1>[,<Index2>[,<Index3>]]]) La fonction DS fournit des valeurs INTEGRAL. Groupe Index1 Index2 Index3 Concerne Description la fonction * : Numéro du canal: Si le canal indiqué n’est pas actif, les axes de ce canal peuvent déjà être attribués, c’est-à-dire qu’à ce moment ils sont actifs dans un autre canal. Malgré tout, les axes attribués appartiennent au canal indiqué. Exemple: L’axe X2 appartient au canal 2 (non actif) et X2 est actuellement déplacé en synchrone dans le canal 1. Dans les deux instructions DS “Nombre d’axes synchrones du canal“ de SD(21,2,...) et SD(21,1...) l’axe X2 est prise en compte. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -35 Données système Groupe Index1 Index2 Concerne Description la fonction Position d’atténuation active pour le potentiomètre correspondant en pourcent: D Avance D Vitesse rapide D Broche (¢SD(202,1); SD(2,3)=0, si aucune broche n’est appliquée) D 2. Broche (¢SD(202,2); (SD(2,4)=0, si aucune 2ème broche n’est appliquée) 2 2 2 1 2 3 2 4 5 1 1 5 2 1 5 3 1 5 4 1 5 5 1 3 2 2 5 4 2 5 5 3 4 3 3 8 Index3 Vitesses actives, arrondies au chiffre entier: D Avance en unités de saisie par minute; évaluée par potentiomètre (Lors de OvrEna DS fournit la valeur à 100%) D Avance rapide en mm/min ou pouce/min (Valeur à 100%) D Vitesse de rotation de la broche en t/min; évaluée par potentiomètre (¢SD(205,1,1); SD(5,3,1)=0, si aucune broche n’est appliquée) D Vitesse de rotation de la 2éme broche en t/min ; évaluée par potentiomètre (¢SD(205,1,2); SD(5,4,1)=0, si aucune 2ème broche n’est appliquée) Dernières vitesses programmées: D Avance en unités de saisie par minute D Vitesse de rotation de la broche en t/min ; évaluée par potentiomètre (¢SD(205,2,1); SD(5,3,2)=0, si aucune broche n’est appliquée) D Vitesse de rotation de la 2éme broche en t/min; évaluée par potentiomètre (¢SD(205,2,2); SD(5,4,2)=0, si aucune 2ème broche n’est appliquée) Vitesse de rotation effective (¢SD(205,3,1)) Vitesse de rotation effective de la 2ème broche(¢SD(205,3,2)) Fournit le numéro de canal du canal appelant. * : Numéro du canal: Si le canal indiqué n’est pas actif, les axes de ce canal peuvent déjà être attribués, c’est-à-dire qu’à ce moment ils sont actifs dans un autre canal. Malgré tout, les axes attribués appartiennent au canal indiqué. Exemple: L’axe X2 appartient au canal 2 (non actif) et X2 est actuellement déplacé en synchrone dans le canal 1. Dans les deux instructions DS “Nombre d’axes synchrones du canal“ de SD(21,2,...) et SD(21,1...) l’axe X2 est prise en compte. 5 -36 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Groupe Index1 Index2 9 Index3 Concerne Description la fonction G75 FsProbe 10 1,2 1,2,3 11 1 1 11 11 11 2 1 2 1 2 2 12 1 12 2 12 3 12 4 Palpeur de mesure activé: Palpeur de mesure désactivé: Mesure sur butée fixe effectuée: Mesure sur butée fixe non encore effectuée: SD(9)=0 SD(9)=1 (G75 non actif) (G75 actif) SD(9)=0 (FSB non actif) SD(9)=1 (FSB actif) Index 1: 1= No de l’axe de perçage programmé en dernier 2= No de l’axe de perçage actif Index 2: 1= axe sur lequel agît la correction L1 2= axe sur lequel agît la correction L2 3= axe sur lequel agît la correction L3 SD(10, i ) = SD(10, i ,3) Axe primaire de la dernière commutation de plans programmée Axe secondaire de la dernière commutation de plans programmée Axe primaire du plan actif Axe secondaire du plan actif Sens de rotation actif de la broche (¢SD(212,1,1): SD(12,1)= 3 Broche rotation à droite SD(12,1)= 4 Broche rotation à gauche SD(12,1)= 0 Broche Arrêt SD(12,1)= -1 Broche non appliquée SD(12,1)= 19 Broche Réglage Dernier sens de rotation programmé de la broche (¢SD(212,2,1) ; Fonctions comme pour “Sens de rotation actif de la broche“) Un inversement du sens de rotation actif de la broche via un signal d’interface n’est pas pris en compte ! Sens de rotation actif de la broche (2ème broche) (¢SD(212,1,2); Fonctions comme pour “Sens de rotation actif de la broche“) Dernier sens de rotation programmé de la broche (2ème broche) (¢SD(212,2,2); Fonctions comme pour “Sens de rotation actif de la broche“) * : Numéro du canal: Si le canal indiqué n’est pas actif, les axes de ce canal peuvent déjà être attribués, c’est-à-dire qu’à ce moment ils sont actifs dans un autre canal. Malgré tout, les axes attribués appartiennent au canal indiqué. Exemple: L’axe X2 appartient au canal 2 (non actif) et X2 est actuellement déplacé en synchrone dans le canal 1. Dans les deux instructions DS “Nombre d’axes synchrones du canal“ de SD(21,2,...) et SD(21,1...) l’axe X2 est prise en compte. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -37 Données système Groupe Index1 Index2 Index3 Concerne Description la fonction 13 Modes d’exploitation lors de l’exécution pour la durée d’interpolation: SD(13)= 0 Bloc unique, Pas unique SD(13)= 1 Bloc suivant SD(13)= 2 Bloc de programmation SD(13)= 11 Avance de bloc avec bloc suivant (bloc sélectionné non encore interprété). 14 Numéro de la langue nationale active (Paramètre machine 6010 00010) 15 Essai sans mouvement SD(15)=0 : non SD(15)=1 : oui 20 1, 2 Fournit le nombre d’axes synchrones du canal appelant. SD(20,1) = Valeur (valeur par défaut) au moment de la préparation de blocs SD(20,2) = Valeur au moment actif. 21 1...n* 1, 2 Fournit le nombre d’axes synchrones d’un canal: DS(21, <1..n> ,1) = Valeur (valeur par défaut) au moment de la préparation de blocs DS(21, <1..n> ,2) = Valeur au moment actif. 1...n = Numéro de canal, n= Nombre maximum de canaux 22 1...m ou Identification d’axe de canal 1, 2 Fournit le numéro d’un axe de canal d’un axe système du canal appelant ou -1: DS(22, <1..m>|chaîne de caractères ,1) =Valeur (valeur par défaut) au moment de la préparation de blocs. DS(22, <m>|chaîne de caractères ,2) = Valeur au moment actif. 1..m = Numéro d’axe système m= Nombre maximal d’axes système Chaîne de caractères = Nom d’axe système * : Numéro du canal: Si le canal indiqué n’est pas actif, les axes de ce canal peuvent déjà être attribués, c’est-à-dire qu’à ce moment ils sont actifs dans un autre canal. Malgré tout, les axes attribués appartiennent au canal indiqué. Exemple: L’axe X2 appartient au canal 2 (non actif) et X2 est actuellement déplacé en synchrone dans le canal 1. Dans les deux instructions DS “Nombre d’axes synchrones du canal“ de SD(21,2,...) et SD(21,1...) l’axe X2 est prise en compte. 5 -38 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Groupe Index1 Index2 23 1...m ou Identification d’axe de canal 1, 2 24 1...m ou Identification d’axe de canal 1...n* 25 1...m ou Identification d’axe de canal Index3 Concerne Description la fonction Fournit le numéro d’un axe système d’un axe de canal du canal appelant ou -1: DS(23, <1..m>|chaîne de caractères ,1) =Valeur (valeur par défaut) au moment de la préparation de blocs. SD(23, <1..m>|chaîne de caractères ,2) =Valeur au moment actif. 1..m = Numéro d’axe de canal; m= Nombre maximal d’axesde canal Chaîne de caractères = Nom d’axe de canal 1, 2 Fournit le numéro d’un axe système d’un axe de canal ou -1: DS(24, <1..m>|chaîne de caractères ,<1..n>,1) = Valeur (valeur par défaut) au moment de la préparation de blocs. SD(24, <1..m>|chaîne de caractères ,<1..n>,2) = Valeur au moment actif. 1...n = Numéro de canal, n= Nombre maximum de canaux 1..m = Numéro d’axe de canal; m= Nombre maximum d’axes de canal Chaîne de caractères = Nom d’axe de canal Fournit le canal d’un axe système: DS(25, <1..m>|chaîne de caractères) = Valeur au moment actif. 1..m = Numéro d’axe système; m= Nombre maximal d’axes système Chaîne de caractères = Nom d’axe système * : Numéro du canal: Si le canal indiqué n’est pas actif, les axes de ce canal peuvent déjà être attribués, c’est-à-dire qu’à ce moment ils sont actifs dans un autre canal. Malgré tout, les axes attribués appartiennent au canal indiqué. Exemple: L’axe X2 appartient au canal 2 (non actif) et X2 est actuellement déplacé en synchrone dans le canal 1. Dans les deux instructions DS “Nombre d’axes synchrones du canal“ de SD(21,2,...) et SD(21,1...) l’axe X2 est prise en compte. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -39 Données système Groupe Index1 Index2 68 1 1...8 68 2 1...8 168 1 1...8 168 2 1...8 268 1 1...8 268 2 1...8 Index3 Concerne Description la fonction Trans, ATrans 77 D Somme des décalages de coordonnées programme programmées en dernier (Trans + ATrans) pour l’axe indiqué (index2). D Somme des décalages de coordonnées programme actifs (Trans + ATrans) pour l’axe indiqué (index2). D Valeur du décalage de coordonnées programme programmé en dernier (Trans) pour l’axe indiqué (index2). D Valeur du décalage de coordonnées programme actif (Trans) pour l’axe indiqué (index2). D Valeur du décalage de coordonnées programme additionnel programmé en dernier (ATrans) pour l’axe indiqué (index2). D Valeur du décalage de coordonnées programme additionnel actif (ATrans) pour l’axe indiqué (index2). Fournit le point de démarrage actuellement réglé d’un sous-programme asynchrone: 1: Point de départ 2: Point d’arrivée 3: Point d’interception 131 131 1 2 TangTool 200 200 1 1 1...10 200 3 1...10 200 11 1...10 200 12 1...10 200 21 1...10 200 22 1...10 Numéro d’axe de canal de l’axe de rotation Symétrie Zone de D Nombre de zones actives dans le canal. travail, D Indique si la zone i (index2) est active: Zone morte 0: Zone i (index2) n’est pas active D Type de la zone i: 0: Type non défini 1: Zone morte 2: Zone de travail D Position du centre de la zone i (index2) en unité de programmation (pour le 1er axe de la zone). D Position du centre de la zone i (index2) en unité de programmation (pour le 2ème axe de la zone). D Extension de la zone i (index2) en unité de programmation (pour le 1er axe de la zone). D Extension de la zone i (index2) en unité de programmation (pour le 2ème axe de la zone). * : Numéro du canal: Si le canal indiqué n’est pas actif, les axes de ce canal peuvent déjà être attribués, c’est-à-dire qu’à ce moment ils sont actifs dans un autre canal. Malgré tout, les axes attribués appartiennent au canal indiqué. Exemple: L’axe X2 appartient au canal 2 (non actif) et X2 est actuellement déplacé en synchrone dans le canal 1. Dans les deux instructions DS “Nombre d’axes synchrones du canal“ de SD(21,2,...) et SD(21,1...) l’axe X2 est prise en compte. 5 -40 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Groupe Index1 Index2 Index3 Concerne Description la fonction Broches 202 1...8 205 1 1...8 205 2 1...8 205 212 3 1 1...8 1...8 212 2 1...8 328 328 328 1...8 = Numéro de broche Valeur de potentiomètre actuelle Vitesse de rotation de consigne (y compris le potentiomètre) Dernière vitesse de rotation de consigne programmée Vitesse de rotation effective Fonction de mouvement active Dernière fonction de mouvement programmée Fonctions DS anciennes, toujours valides: SD(2,3), SD(2,4) SD(5,3,1), SD(5,4,1) SD(5,3,2), SD(5,4,2) SD(5,3,3), SD(5,4,3) SD(12,1), SD(12,3) SD(12,2), SD(12,4) PrecProg Dernière barrière de précision programmée de PrecProg Dernière barrière de précision programmée de PrecProg Dernier écart angulaire programmé de PrecProg 1 2 581 0 1...8(m) 581 1...8(s) 0 581 1...8(s) 1 581 1...8(s) 2 581 1...8(s) 3 Couplage m: Numéro d’axe de canal du maître dans le canal actuel d’axes s: Numéro d’axe de canal de l’esclave dans le canal actuel D Numéro d’axe de canal m, si l’axe m est un axe guide 0: Si aucun axe guide n’a été défini D Numéro de l’axe guide par rapport auquel l’axe s est un axe suiveur 0: Si s n’est pas un axe suiveur D Décalage d’axe suiveur programmé en unités de programmation. 0: Si s n’est pas un axe suiveur D Facteur de couplage programmé 0: Si s n’est pas un axe suiveur D Décalage d’axe guide programmé en unités de programmation. 0: Si s n’est pas un axe suiveur * : Numéro du canal: Si le canal indiqué n’est pas actif, les axes de ce canal peuvent déjà être attribués, c’est-à-dire qu’à ce moment ils sont actifs dans un autre canal. Malgré tout, les axes attribués appartiennent au canal indiqué. Exemple: L’axe X2 appartient au canal 2 (non actif) et X2 est actuellement déplacé en synchrone dans le canal 1. Dans les deux instructions DS “Nombre d’axes synchrones du canal“ de SD(21,2,...) et SD(21,1...) l’axe X2 est prise en compte. Exemples : 30 A% = SD(2,1) : 40 B% = SD(5,1,1) : A% contient la position active du potentiomètre d’avance en pourcent. B% contient la vitesse d’avance active R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -41 Données système Exemple de programme : DS (interrogation de palpeur de mesure) N4 G75 X120 60 IF SD(9) = 1 THEN N7 (MSG, le palpeur de mesure n’a pas été orienté.) 80 GOTO .ERREUR 90 ELSE 100 XMESS = PPOS(1) 110 ENDIF Dans l’exemple DS (interrogation de palpeur de mesure) l’axe X est déplacé en direction de la position indiquée. Lorsque la position est atteinte et que le palpeur de mesure n’est pas orienté, un message (ligne N7) est généré et un saut vers le label .ERREUR est effectué. Si le palpeur de mesure est orienté, la position actuelle peut être enregistrée en fonction du système de coordonnées programme dans XMESS. SDR Lit à partir d’une collection de données système de l’ IndraMotion MTX en Format- REAL. Le format d’instruction et l’application correspondent à la fonction DS. Syntaxe: SDR(<Groupe>[,<Index1>[,<Index2>]]) Groupe Index1 1 1...8 2 2 2 1 3 4 202 1...8 Index2 Concerne Description la fonction Positions d’axes de tous les axes d’usinage qui ont été calculées en avance de bloc/ré-entrée (index1 = numéro d’axe). En cas d’absence d’avance de bloc, 0 est donné en retour. Lorsqu’un axe non appliqué ou un axe auxiliaire sont appelés, une erreur d’exécution est générée. Position d’atténuation active pour le potentiomètre concerné en pourcent: D Avance D Broche (SD(2,3)=0, si aucune broche n’est appliquée) D 2ème broche (SD(2,4)=0, si aucune 2ème broche n’est appliquée) Valeur de potentiomètre actuelle (Fonction SDR ancienne, toujours valide : SDR(2,3), SDR(2,4) 5 -42 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Groupe Index1 Index2 68 1 1...8 68 2 1...8 168 1 1...8 168 2 1...8 268 1 1...8 268 2 1...8 77 Nom de la coordonnée machine Concerne Description la fonction Trans, ATrans Dans le sous-programme asynchrone: D Fournit le point d’approche actuel conforme à ASPRTP/REPOSTP d’une coordonnée machine dans le bloc d’interruption. D Fournit le point de démarrage d’une coordonnée machine dans le bloc d’interruption. D Fournit le point d’arrivée d’une coordonnée machine dans le bloc d’interruption. D Fournit le point d’interruption d’une coordonnée machine dans le bloc d’interruption. La position fournie permet à l’intérieur d’un sous-programme asynchrone un re-positionnement de la coordonnée à proximité du point d’approche voulu à l’aide de G76. 0 1 2 3 131 131 3 4 328 328 328 1 2 D Somme des décalages de coordonnées programme programmées en dernier (Trans + ATrans) pour l’axe indiqué (index2). D Somme des décalages de coordonnées programme actifs (Trans + ATrans) pour l’axe indiqué (index2). D Valeur du décalage de coordonnées programme programmé en dernier (Trans) pour l’axe indiqué (index1). D Valeur du décalage de coordonnées programme actif (Trans) pour l’axe indiqué (index2). D Valeur du décalage de coordonnées programme additionnel programmé en dernier (ATrans) pour l’axe indiqué (index1). D Valeur du décalage de coordonnées programme additionnel actif (ATrans) pour l’axe indiqué (index2). Guidage D Fournit un angle d’attaque en degré (index2). tangentiel D Fournit l’angle de bloc intermédiaire en degré (index2). de l’outil PrecProg 581 0 1...8(m) 581 1...8(s) 0 581 1...8(s) 1 581 1...8(s) 2 581 1...8(s) 3 D Dernière barrière de précision programmée de PrecProg D Dernière barrière de précision programmée de PrecProg D Dernier écart angulaire programmé de PrecProg Couplage m: Numéro d’axe de canal du maître dans le canal actuel d’axes s: Numéro d’axe de canal de l’esclave dans le canal actuel D Numéro d’axe de canal m, si l’axe m est un axe guide 0: Si aucun axe guide n’a été défini D Numéro de l’axe guide par rapport auquel l’axe s est un axe suiveur 0: Si s n’est pas un axe suiveur D Décalage d’axe suiveur programmé en unités de programmation. 0: Si s n’est pas un axe suiveur D Facteur de couplage programmé 0: Si s n’est pas un axe suiveur D Décalage d’axe guide programmé en unités de programmation. 0: Si s n’est pas un axe suiveur R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -43 Données système 5.8.2 Données système de types structurés Les données système de types structurés (en abrégé: DS) constituent une catégorie de données dans le système global ayant les caractéristiques suivantes: D Chaque DS est enregistrée au choix dans la mémoire volatile ou non volatile (DS permanentes). D Le nombre, la taille et la structure est définissable librement dans le cadre de la mémoire existante. Dans le Manuel Fonctions se trouvent des informations détaillées sur la mise en œuvre et la définition des données système. L’accès à CPL s’effectue à l’aide d’un mot clé DS. Contrairement à l’adressage XPath (accès normalisé aux données structurées), l’opérateur point “.“ est utilisé à la place du séparateur “/“. Les tableaux sont adressés au moyen de [ ], par ex. Xpath: /MyArrVar[2,3,4]/sous - composante CPL: SD.MyArrVar[2,3,4].sous - composante Exemple: 10 SD.MyChanVar=DBSEA(”/dbt1/Rec”,-1,-1,”Key1=1”,I%) Dans le cas de DS spécifiques au canal, l’index canal peut être omis, par ex.: SD.MyArrVar[,3,4] ou SD.MyChanVar sans [ ] dans le cas d’un canal DS unidimensionnel. À l’intérieur des parenthèses carrées des expressions CPL fournissant une valeur intégrale peuvent être programmées à volonté. Les DS à types de structures identiques peuvent être attribuées réciproquement. Pour les types de base, les règles d’attribution suivantes sont toujours valables: 5 -44 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Nom Longueur en oc- Description tets Type -C Type IndraLogic- CPL Chaîne de caractères 2 * maxLength + 1 Chaîne de caractères (Format UTF-8) char [ ] STRING() STRING Chaîne de caractères (Format Latin1) char [ ] STRING() STRING IsoLatin1String maxLength + 1 Octet_t 1 bit 8 Signé intégral char SINT INT Short_t 2 bit 16 Signé intégral court INT INT Int_t 4 bit 32 Signé intégral int DINT INT UnsignedByte_t 1 bit 8 Non signé intégral char non signé USINT INT UnsignedShort_t 2 bit 16 intégral Non non signé signé court UINT INT UnsignedInt_t 4 bit 32 intégral Non int non signé signé UDINT INT Float_t 4 32-bit réel float REAL REAL Double_t 8 64-bit réel double LREAL DOUBLE Boolean_t 1 vrai, faux, 1, 0 char BOOL BOOLEAN Les données système permanentes sont initialisées une fois, les données systèmes volatiles le sont à chaque mise sous tension. Les valeurs peuvent être enregistrées dans un fichier d’initialisation. Si rien n’y est prédéfini, elles sont mises à 0. Les variables structurées VS peuvent être remplacées par les DS, mais restent conservées pour des raisons de compatibilité. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -45 Données système 5.9 Adresse d’axe variable AXP Cette fonction permet d’écrire des programmes de pièce et de mesure de façon indépendante par rapport aux plans. AXP(<Numéro d’axe>,<Information de course>[,<Type d’axe>]) L’application de la fonction s’effectue dans un bloc CN. Elle doit être mise entre parenthèses carrées “[ ]“ et elle est programmée à la place des valeurs d’adresse. <Numéro d’axe> Index de la coordonnée - de la pièce à usiner ou de l’axe -système <Information de course> Variable ou valeur de l’information de course <Type d’axe> optionnel: Définit, comment un index programmé sous <numéro d’axe> est interprété : ”0”: Index d’axe système. ”1”: Index de la coordonnée de la pièce à usiner du canal, dans lequel le programme est exécuté actuellement. A défaut d’une programmation explicite, le <type d’axe> = 1 est initialisé. Exemple: Sous - programme: 10 A%=P1% : B%=P2% 20 C=P3:D=P4:RA=P5 30 E=0 N40 G20 [AXP(A%,E)][AXP(B%,E)] N50 G2 [AXP(A%,C)][AXP(B%,D)] R[RA]] F1000 Transférer le numéro d’axe de P1% et P2% à A% et B% Transmettre les valeurs de consigne pour G2 Constante pour pôle avec G20 Commutation plan avec G20 ; Pôle sur 0,0 Programmation du rayon avec G2 Définition du plan par A%, et B%. Ensuite commutation du plan par G20. Enfin, les axes parcourent un arc de cercle avec F1000 défini par les variables C et D (point final) et RA (rayon). 5 -46 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système 5.10 Interface SPS BITIF Cette fonction permet l’accès à l’interface numérique entre CN et SPS: D Lecture possible de toutes les entrées et sorties. D Ecriture possible en supplément sur les sorties client CPL Ch_Cpl01...16 dans le canal Interface. BITIF(<Bit signal>[,<Index>[,<IF-unité>]]) avec <signal bit> <Index> <IF-unité> offset de bit ou adresse symbolique. offset de bit : 0...31 pour interface globale 0...111 pour interface canal 0...95 pour interface axe 0...95 pour interface broche 0...7 pour interface High Speed Adresses symboliques voir manuel interface SPS. Index de l’axe, de la broche ou du canal. Lorsque aucun index n’a été programmé appliquer: - canal actif pour interface canal - Axe 1 pour interface axe - Broche 1 pour interface broche. 0 ou QCH: signaux de sortie SPS, rapportés au canal 1 ou QAX: signaux de sortie SPS, rapportés à l’axe 2 ou QSP: signaux de sortie SPS, rapportés à la broche 3 ou ICH: signaux d’entrée SPS, rapportés au canal (y compris sorties client CPL de CN) 4 ou IAX: signaux d’entrée SPS, rapportés à l’axe 5 ou ISP: signaux d’entrée SPS, rapportés à la broche 6 ou QGEN: signaux de sortie SPS, globaux 7 ou IGEN: signaux d’entrée SPS, globaux 8 ou QHS: signaux de sortie SPS, high speed 9 ou IHS: signaux d’entrée SPS, high speed R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -47 Données système Exemples: I?=BITIF(”QGEN_RESET”) I?=BITIF(”ICH_RESET”,1) I?=BITIF(0,1,”IAX”) I?=BITIF(88,2,5) BITIF(”ICH_CPL05”)=1 Lecture du signal de sortie global ”Position de base du système”. Lecture du signal d’entrée du canal ”Canal en position de base” du canal 1 Lecture du signal d’entrée de l’axe ”Point de référence connu” pour axe 1 Lecture du signal d’entrée de la broche ”Erreur classe d’état 1” pour la broche 2 Ecriture de la sortie client 5 du CPL avec la valeur 1 BITIF(50,1,3)=TRUE BITIF(”ICH_CPL02”)=FALSE PLC Cette fonction permet l’accès aux opérandes de SPS. PLC(<Type>,<paramètre vide.>,<Adresse>,<grandeur>) avec <Type> 1: entrée (E) 2: Sortie (A) 3: Pointeur (M) Accès pour lecture autorisé pour tous les types. L’accès pour écriture sur pointeur autorisé lorsque MP 2060 00200 est réglé sur la valeur 5 (= IndraLigic). <paramètre vide> (non utilisé) <Adresse> Byte correspondant à l’adresse à partir du début du secteur. La commande examine le paramètre en fonction des SPS actifs. <Grandeur> Grandeur du type de donnée: 1: Octet 2: Mot 3: Mot double Exemple: : Lire 30 REM 2 Octets à partir de l’entrée 10 40 I% = PLC(1,,10,2) : 5 -48 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système 5.11 Saisie des temps CLOCK Lit le temps de système interne de la commande en millisecondes. Exemple: : 20 WAIT 30 TEMPS DE DÉMARRAGE% = CLOCK N4 G1 X50 Y70 40 WAIT 50 TEMPS FINAL%=Clock : DIFF%=TEMPS FINAL%-TEMPS DE DÉMARRAGE% : Avant et après l’exécution du bloc N4 l’indication actuelle du compteur est affectée à la variable ”TEMPS DE DÉMARRAGE%” ET/ou ”TEMPS FINAL%”. A partir de la différence entre le contenu des deux variables on peut déterminer le temps d’exécution du bloc N4 en millisecondes. Veuillez tenir compte du fait que la commande WAIT est absolument indispensable! DATE Fournit la valeur actuelle pour la date. Exemple: : 30 A$ = DATE : La date est affectée à la SEQUENCE-variables A$ sous la forme DD.MM TIME Fournit la valeur actuelle pour l’heure. Exemple: : 40 B$ = TIME : L’heure est affectée à la SEQUENCE-variables B$ sous la forme HH.MM.SS R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -49 Données système . Lorsque DATE/TIME fait l’objet d’utilisations multiples dans un même programme, les variables de résultat correspondantes doivent être dimensionnées. Sinon, la dernière valeur lue de la fonction DATE/TIME est affect toutes les variables non dimensionnées contenant le résultat d’une affectation DATE/TIME. 5 -50 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système 5.12 Erreurs et catégories d’erreurs GETERR Cette fonction appelle les erreurs actuelles dans un programme CPL. Sont contenus les éléments nº erreurs actuels, nº canal de l’erreur et la catégorie d’erreurs correspondante. Toute erreur survenue est sauvegardée dans un tableau avec tous ses éléments. Le nombre maximal d’erreurs à sauvegarder dans le tableau est limité par le dimensionnement (DIM) du paramètre <nº d’erreur> . La fonction GETERR fournit les valeurs de restitution suivantes: D - 1: La fonction n’a pas pu être exécutée. D q 0: Nombre d’erreurs en présence dans le <canal>. GETERR(<canal>,[<catégorie>],<erreur - nº> [,<nombre>]) <canal> <Catégorie> <Nº d’erreur> . nº du canal appelé - 1: tous les canaux > 0: Nº canal 0: toutes alarmes et erreurs (Default) 1: erreur système légère 2: Erreur de régulation ou de commande 3: Erreur d’interpolateur 4: Erreur de matériel 5: Erreur ICL 6: Erreur de programme pièces 7: alarmes de durée 8: Messages MZA : Erreurs 9: Messages MZA : Alarmes 10: Messages MZA : Remarques variable résultat: Tableau bidimensionnel à nombre entier avec au moins 3 éléments dans la seconde dimension (DIM <nº d’erreur>% (x,3)), valeur par défaut: 0. La fonction fournit, dans un ordre décroissant dans le temps, les numéros des erreurs survenues dans le <canal>. Signification des 3 éléments de la 2ème dimension: <Erreur-nº>(x,1): Nº d’erreur <Erreur-nº>(x,2): Nº d’erreur ( - 1 = sur plus d’un canal) <Erreur-nº>(x,3): catégorie d’erreur (si DIMdonne un ordre). 0 = catégorie inconnue autres valeurs telles que <catégorie> Exemple: DIM ERRNO% (100,3). Il convient indiquer que le nom de la variable sans dimension ni index! R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -51 Données système <Variable> nombre-entier (valeur par défaut: 1 ) Spécifie le nombre d’erreurs à lire. 1: Valeur par défaut > 0: La validité des valeurs de paramètres n’est pas contrôlée, autrement dit, lorsque le nombre de données à lire est supérieur à la dimension du tableau, aucune erreur programme pièce n’est alors créée. Exemple: <Nombre> =120, mais DIM ERRNO% (100,3). Dans ce cas 20 erreurs ne seront pas lues. Exemple: consulter la dernière erreur programme pièce dans le canal 2 10 DIM ERRN=%(5,3) : REM tableau nombres entiers à 5 éléments 20 REM consulter la dernière erreur programme pièce dans le canal 2 30 CHAN%=2:CATEGORY%=6 40 ERG%=GETERR(CHAN%,CATEGORY%,ERRNO%,1) : Exemple: Exploitation du résultat pour 5 éléments du tableau. 10 DIM ERRNO%(5,3):REM tableau nombres entiers avec 5 éléments 20 CHAN%=2 : CATEGORY%=0 25 REM consulter la dernière erreur programme pièces dans le canal 2 30 ERG%= GETERR(CHAN%, CATEGORY%, ERRNO%, 5) 40 FOR I%= 1 TO ERG% 50 IF ERRNO%(I%,3)=6 THEN 60 PRN#(0, ”Erreur programme pièces : ”,ERRNO%(I%,1)) 70 ENDIF 80 NEXT I% 5 -52 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Résultat dans Erg% correspondant aux critères de GETERR(..): = 2, cela signifie que 2 erreurs ont été trouvées Critères pour la sélection des erreurs: - canal 2 - Catégorie 6 - Nombre maximal d’erreurs à enregistrer: 5 DIM ERRNO%(5,3) Elément tableau erreurs signalées les plus récentes Index tableau : 1 Index tableau : 2 Index tableau : 3 Index tableau : 4 Index tableau : 5 erreurs signalées les plus anciennes 1 2 1856 2 Nº d’erreur Canal d’erreur 3 2 Catégorie d’erreur 1 2 1869 2 3 1 1 2 3 1938 2 6 1 2 1970 2 3 10 1 2 1971 2 3 6 1 2 1970 2 3 6 ERRNO%(3,1)= 1938 ERRNO%(5.1)= 1971 Cette erreur n’est plus prise en compte parce que le tableau n’accepte que 5 éléments conformément à l’ordre DIM Le résultat indiqué dans la fenêtre MSG comprend les erreurs de programme pièces 1938 et 1971. La variable Erg% contient la valeur 2. . GETERR permet, entre autres, de saisir la survenue chronologique d’une ou de plusieurs erreurs afin de déterminer la véritable cause de cette erreur. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -53 Données système 5.13 Couplage NCS Les fonctions du couplage NCS permettent l’accès par l’intermédiaire de CPL aux services de procès et de données de l’interface NCS interne. 5.13.1 Possibles valeurs de restitution d’erreur des fonctions Tous les appels de fonction fournissent une valeur de restitution pour le contrôle du traitement de l’erreur. Cette valeur peut être affectée à une variable nombre entier ou à une variable réelle. Exemple: ERR_VAR% = MCOPS(...) ERR_VAR% = MCODS(...) ATTENTION Possibilité de réactions erronées du programme! Lorsque les fonctions appelées renvoient un code d’erreur cela signifie que des actions éventuellement déterminantes pour le déroulement du programme n’ont pas été effectuées ou n’ont été effectuées que partiellement. Pour cette raison nous recommandons vivement de vérifier, après un appel de fonction par un contrôle du programme (par exemple par CASE) si la fonction a pu être exécutée sans erreur. Le comportement ultérieur du programme dépend alors du type et de la sévérité de l’erreur survenue. Les valeurs de restitution suivantes ont été définies: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: aucune erreur ne s’est produite le canal indiqué n’existe pas cette fonction ne peut pas être exécutée parce que le canal indiqué est momentanément utilisé (l’état momentané ne permet pas cette action) dans le canal indiqué, l’une des position de base n’a pas encore été achevée. le nom de programme indiqué est trop long (non utilisé actuellement) la fonction exige des points de référence déjà utilisés le programme indiqué n’existe pas ou ne peut pas être exécuté l’écriture dans la mémoire tampon a été interrompu pour la pré-définition d’un bloc CN en mémoire tampon. Une seconde instance avait tenté simultanément d’écrire dans ce tampon. la fonction ne peut pas être exécutée dans le mode de fonctionnement actuel le canal ne peut pas être mis en service parce qu’il n’est pas OPÉRATIONNEL la fonction ne peut pas être exécutée parce qu’aucun programme n’a été sélectionné 5 -54 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 100: 101: 102: 103: . le programme indiqué ne peut pas être sélectionné parce que l’état du canal ne le permet pas (par exemple : état de la préparation de bloc et interpolateur sur MARCHE) actuellement non utilisé le mode de fonctionnement ne peut pas être changé, car l’état du canal ne le permet pas l’objectif de ”chercher bloc” n’a pas été trouvé ”chercher bloc” n’est pas possible parce que le traitement du programme principal a déjà commencé (par exemple, le programme est sur M0) et cela bien que l’état de canal soit sur OPÉRATIONNEL. lors de la pré-définition de décalages d’origine externes le nombre d’axes est trop élevé lors de la pré-définition de décalages d’origine externes le nombre de groupes NPV d’axes est trop élevé la syntaxe pré-définie est inconnue Index non admissible pour la pré-définition d’une correction outil externe Nombre de corrections pour la pré-définition d’une correction outil trop élevé (éventuellement en relation avec l’index de correction) Indication format non admissible pour la pré-définition d’une correction outil externe position de coupe admissible pour la pré-définition d’une correction outil externe groupe de correction non admissible axe interrogé n’existe pas lors de la pré-définition d’un bloc CN à démarrage automatique il y a eu reconnaissance d’une erreur de durée, par exemple une erreur de syntaxe. Lors de la pré-définition d’un bloc CN le tampon a débordé. La pré-définition pour le filtre de coordonnées n’est pas correcte. le numéro Magic du télégramme est faux la communication NCS est perturbée la fonction indiquée n’est pas disponible dans cette version du logiciel une erreur interne s’est produite (non utilisé actuellement) Si le programme appelé contient également des blocs CN, la préparation des blocs s’avance en règle générale à l’usinage sur la machine. Lorsqu’au cours de la préparation de bloc au moyen de la fonction MCOPS ou MCODS une demande de service de procès ou une demande d’état de la machine est introduite, la machine ne présente pas encore les conditions éventuellement requises à cet effet. Mais ce problème concerne uniquement les fonctions avec accès au canal dans lequel elles sont elles - mêmes exécutées. Pour cette raison il convient d’utiliser l’ordre WAIT dans la ligne avant l’appel de la fonction. Ainsi la préparation de bloc est interrompue jusqu’à ce que WAIT ait réellement traité tous les blocs. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -55 Données système 5.13.2 Fonctions disponibles MCODS Appelleles services de donnéss Motion Control de la NCS par CPL. Cela permet de lire les états et les données de la CNC. . Toutes les valeurs lues se rapportent à l’instant où le bloc CPL est traité par la préparation de blocs. Si le programme appelé contient également des blocs CN, la préparation des blocs s’avance en règle génerale à l’usinage sur la machine. Si le déroulement du programme doit être influencé par des fonctions déterminant des données ou états actuels de la machine, il convient de supprimer le ”décalage de temps” entre la préparation de blocs et l’état actuel de la machine. Cela ne s’applique toutefois que pour l’emploi de fonctions accédant au canal même dans lequel elles sont exécutées. Pour cette raison il convient d’utiliser l’ordre WAIT dans la ligne avant l’appel de la fonction. Ainsi la préparation de bloc est interrompue jusqu’à ce que WAIT ait réellement traité tous les blocs. Les fonctions fournissent une valeur de restitution (voir chapitre 5.13.1). Syntaxe générale: MCODS(<Type>,<Canal>,<Version>,<Tampon>,<Grandeur>,<nu méro d’axe>,<numéro d’identification>[,<P1>]) <Type> <Canal> <Version> Expression intégrale. Indique la fonction à exécuter. Le tableau ci- après donne une liste des fonctions disponibles. expression intégrale Indique le canal sur lequel la fonction doit agir. Intégrales initialisées ou variable réelle (non pas une constante!). Lorsque le contenu de la variable = 0 lors de l’appel de la fonction, la fonction déterminée par le<type> enregistre les données demandées immédiatement dans le <tampon>. Par ailleurs, la fonction en <Version> fournit en retour l’identification de la version des données fournies. cette identification de la version est toujours contenue dans la variable lors du prochain appel de la fonction, la fonction enregistre les données demandées non pas immédiatement, mais seulement après la prochaine modification des données dans le <tampon>. De cette manière une boucle programme peut continuer jusqu’à ce qu’un canal ait atteint un état déter- 5 -56 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système miné. Dans ce cas il convient d’introduire une condition Timeout (par exemple compteur ou durée de temps écoulé) dans cette boucle afin d’éviter des boucles sans fin! Dans le <tampon> la fonction restitue les valeurs de données demandées. Selon le type des données, le <tampon> doit être: - une variable simple du type intégral, réel ou double - une variable de champ du type intégral, réel ou double - Variable séquence (champ unidimensionnel). <Tampon> . Dans le cas de variables champ ou séquence seul le nom de la variable doit être indiqué sans dimension ni index! <Grandeur> expression intégrale Spécifie la grandeur du champ du <tampon>. Lorsque le <tampon> n’est pas une variable de champ, mais une simple variable du type intégrale, réelle ou double, pré - définir la <grandeur> avec la valeur 1. s<Numéro d’axe> expression intégrale Indique le numéro d’axe d’un axe de système. s<Numéro d’identification> expression intégrale Fournit la valeur d’un < numéro d’identification> à partir du télégramme d’axe cyclique pour tous les axes. . <P1>: La grandeur d’une variable de champ utilisée doit d’abord avoir été définie par ordre DIM et ne doit pas être dépassée dans le paramètre<grandeur>! Paramètre optionnel qui est fonction du <type>. Vue d’ensemble des fonctions MCODS(...) Positions Position de consigne de l’axe voir MCODS(1..) Position de consigne de l’axe voir MCODS(2..) Position réelle de l’axe voir MCODS(35..) Valeurs réelles de l’axe (système de coordonnées de la machine) voir MCODS(38..) Arrêt gradué voir MCODS(4..) Valeur programme de l’axe (système de coordonnées de programme) voir MCODS(37..) Positions de fin de course programmées, décalages compris voir MCODS(16..) Positions de fin de course programmées, décalages non compris voir MCODS(23..) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Données système Vitesse et vitesse de rotation Avance de bande voir MCODS(3..) avance de bande programmée voir MCODS(24..) Vitesses par à-coups voir MCODS(27..) Vitesse de consigne de la broche, vitesse de coupe voir MCODS(5..) Vitesse réelle de broche voir MCODS(36..) Vitesse maximale de broche voir MCODS(19..) Vitesse minimale de broche voir MCODS(20..) Vitesses programmées des broches voir MCODS(25..) Etats Statut ”InPos” voir MCODS(6..) Statut ”fonctionnement de test” voir MCODS(29..) Statut ”point de référence atteint” voir MCODS(26..) Statut ”temporisation active” voir MCODS(39..) Statut “Fonction auxiliaire avec confirmation obligatoire active“ voir MCODS(40..) Statut “Validation d’enregistrement“ voir MCODS(41..) Statut “Instruction de déplacement“ voir MCODS(47..) Statut “Verrouillage d’avance“ voir MCODS(49..) Etat SAV et IPO voir MCODS(32..) Potentiomètre Valeur de l’avance Potis voir MCODS(7..) Valeurs de la broche Potis voir MCODS(8..) Valeur du potentiomètre de l’axe voir MCODS(50..) Corrections numéro de correction de longueur active voir MCODS(9..) correction de longueur active voir MCODS(10..) numéro de la correction de rayon WZ active voir MCODS(11..) correction de rayon WZ active voir MCODS(12..) Nom du tableau de correction WZ actif voir MCODS(13..) Nom du tableau d’axe NPV actif voir MCODS(14..) valeurs d’axe NPV actives voir MCODS(15..) valeurs actives de correction WZ externe voir MCODS(51..) valeurs actives d’axe NPV externe voir MCODS(52..) Correction d’outil universelle active voir MCODS(54..) Modes de fonctionnement Mode de fonctionnement canal voir MCODS(31..) Mode de fonctionnement d’axe voir MCODS(48..) 5 -57 5 -58 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Structure du système Nombre d’axes d’avance, d’axes auxiliaires et de broches; Types de mouvement, types d’entraînement voir MCODS(34..) Nombre de canaux voir MCODS(44..) Nombre d’axes voir MCODS(45..) Noms d’axe voir MCODS(33..) Noms d’axes de canaux actifs voir MCODS(59..) Noms d’axes de canal (réglage par défaut) voir MCODS(60..) Affectation axe - canal voir MCODS(43..) Affectation par défaut axe - canal voir MCODS(58..) Numéro d’identification issu du télégramme d’axe cyclique voir MCODS(62..) Unités de mesure Unités de mesure des axes (réglage par défaut) voir MCODS(61..) Unité de mesure des axes voir MCODS(53..) Type de programmation (Inch/metrique) voir MCODS(18..) Programmation de diamètre voir MCODS(91..) Fonctions auxiliaires Numéros de groupe des fonctions auxiliaires voir MCODS(94..) Syntaxe active des groupes de fonctions auxiliaires voir MCODS(65..) Broches Fonctions de mouvement des broches voir MCODS(63..) Rapports de réduction des broches voir MCODS(64..) Sélection automatique ou manuelle des rapports de réduction voir MCODS(66..) Information quant à l’activation de la commutation du réducteur voir MCODS(67..) Entraînement Version du fabricant voir MCODS(55..) Type de variateur voir MCODS(56..) Type de moteur voir MCODS(57..) Divers Messages du programme pièces voir MCODS(28..) Chemin et nom du programme général voir MCODS(30..) Stratégie de redémarrage et enregistrement des mouvements par à-coup voir MCODS(46..) Données spécifiques au client voir MCODS(42..) Arrêt optionnel (activé) voir MCODS(68..) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -59 Données système . Ignorer bloc (activer) voir MCODS(69..) Resélection automatique du programme actif voir MCODS(70..) Dans les tables ci- dessous des constantes intégrales sont en parties indiquées en tant que paramètres de syntaxe. Vous pouvez également programmer à la place de ces constantes des variables intégrales, qui devront par contre être occupées au moment de l’appel de la fonction par la valeur indiquée. Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Position de consignede l’axe Double, tableau Z Fournit dans le <tampon> dans un ordre croissant, indépendant du canal, les positions de consigne de tous les axes d’avance et d’axes auxiliaires dans le système: pour les axes linéaires en mm pour les axes ronds en degrés ”Définir la valeur réelle” (par exemple G92) est prévu dans les valeurs. Position de consignede l’axe Z MCODS(1, -1,<Version>,<Tampon>,<Grandeur>) Intégrale, tableau MCODS(2, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans le <tampon> dans un ordre croissant, indépendant du canal, les positions de consigne de tous les axes d’avance et d’axes auxiliaires dans le système: pour les axes linéaires en 0,0001 mm pour les axes ronds en 0,0001 degrés ”Définir la valeur réelle” (par exemple G92) est prévu dans les valeurs. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -60 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Avance de bande Réel, tableau Z Fournit dans le <tampon> et dans un ordre croissant 3 valeurs avec des avances de bande actuelles du <canal> (avance Poti comprise) dans l’unité mm/min: 1. La vitesse de consigne pré-définie externe pour l’interpolateur. 2. La vitesse réelle de l’interpolateur (=vitesse de bande instantanée). 3. La vitesse de consigne interne de l’interpolateur. Elle peut avoir été changé par rapport à celle pré-défini en externe par l’action d’une application (par exemple fonction Feed Adapt). Lors de la programmation de l’avance en mm/tours (G95) elle fournit l’avance de bande en mm/min. Arrêt gradué Réel, tableau Z MCODS(4, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans le <tampon> dans l’ordre croissant, l’arrêt gradué de tous les axesde système: pour les axes linéaires en mm pour les axes ronds en degrés Si la transmission de l’arrêt gradué n’est pas supportée par les entraînements (par paramètre SERCOS), la valeur 0.0 est restituée. Vitesse de consigne de la broche, vitesse de coupe Z MCODS(3,<Canal>,<Version>,<Tampon>,3) Réel, tableau MCODS(5, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans le <tampon> en ordre croissant (S et/ou S1, S2, S3 etc.) les vitesses de consigne de la broche ou les vitesses de coupe de toutes les broches présentesdans le système. Pour G196 actif, les vitesses de coupe sont fournies en m/min, sinon les vitesses de consigne actuelles de broche sont en tours/min. Cela comprend les potentiomètres, les limitations de vitesse de rotation (SMin, SMax) et les limitations par le rapport de réduction. En cas d’absence d’une broche le <tampon> restitue 0.0 à l’emplacement concerné. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -61 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Statut ”InPos” Intégrale, tableau Z Fournit dans le <tampon> dans l’ordre croissant, indépendamment des canaux, la valeur 0 ou 1 comme signal InPos pour chaque axed’avance et axe auxiliaire: L’axe est en position : 1 L’axe n’est pas en position : 0 L’axe est en position lorsqu’il se trouve dans la fenêtre InPos (MP 1015 00100) et qu’il n’y a pas d’ordre de fonctionnement ( voir également MCODS(47...). Valeur de l’avance potentiomètres Réel Z MCODS(7,<Canal>,<Version>,<Tampon>,1) Fournit dans le <tampon> la valeur actuelle de l’avance potentiomètres du <canal> en 1/100 pourcent. Valeurs de la broche-potentiomètres Réel, tableau Z MCODS(8, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans le <tampon> en ordre croissant et pour toutes les broches dans le système (S et/ou S1, S2, S3 etc.), les valeurs actuelles de l’avance -potentiomètres en 1/100 pourcent. numéro de correction de longueur active Intégrale S MCODS(9,<Canal>,<Version>,<Tampon>,1) Fournit dans le <tampon> le numéo de correction de longueur<active>de canal. Si aucune correction de longueur n’est active, la valeur restituée est -1. correction de longueur active Réel S MCODS(10,<Canal>,<Version>,<Tampon>,1) Fournit dans le <tampon> la correction de longueur active<canal> en mm. Si aucune correction de longueur n’est active, la valeur restituée est 0.0. numéro de la correction de rayon WZ active S MCODS(6, -1,<Version>,<Tampon>,<Grandeur>) Intégrale MCODS(11,<Canal>,<Version>,<Tampon>,1) Fournit dans le <tampon> le numéro de correction de rayon WZ active dans le - <canal>. Si aucune correction de rayon n’est active, la valeur restituée est -1. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -62 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description correction de rayon WZ active Réel S Fournit dans le <tampon> la correction de rayon <canal> active en mm. Si aucune correction de rayonWZ n’est active, la valeur restituée est 0.0. Nom du tableau de correction WZ actif Caractère, Tableau S MCODS(13,<Canal>,<Version>,<tampon>,<grandeur>) Fournit dans le <tampon> le nom du tableau de correction WZ active dans le <canal>. Si aucune n’est active, 3 caractères espace sont restitués. Nom du tableau d’axe NPV actif Caractère, Tableau S MCODS(14,<Canal>,<Version>,<tampon>,<grandeur>) Fournit dans le <tampon> le nom du tableau d’axe NPV-actif dans le<canal>. Si aucune n’est active, 3 caractères espace sont restitués. valeurs d’axe NPV actives S MCODS(12,<Canal>,<Version>,<Tampon>,1) Réel, tableau MCODS(15,<Canal>,<Version>,<tampon>,<grandeur>) Fournit dans le <tampon> les valeurs d’axe NPV de toutes les banques pour toutes les axes d’avance en mm actives dans le <canal> Si aucun décalage n’est actif, la valeur restituée est 0.0. L’ordre suivant est appliqué: D Décalage du 1er axe dans banque 1 D Décalage du 2ème axe dans banque 1 D Décalage du nième axe dans banque 1 D Décalage du 1er axe dans banque 2 : D Décalage du nième axe dans banque 2 : D Décalage du nième axe dans banque 3 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -63 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Positions de fin de course programmées, décalages compris Réel, tableau S Fournit dans le <tampon> en ordre croissant, indépendamment du canal, les positions de fin de course, rapportées aux coordonnées des pièces à usiner des blocs actifs de tous les axes d’avance et des axes auxiliaires: D pour les axes linéaires en mm D pour les axes ronds en degrés Toutes les valeurs de décalage sont calculées. ”Définir la valeur réelle” (par exemple G92) n’est pas compris dans les valeurs. Type de programmation (Inch/metrique) Intégrale S MCODS(18,<Canal>,<Version>,<Tampon>,1) Fournit dans le <tampon> le mode de programmation des axes présents dans le<canal>: 0: Pouce 1: Métrique 2: Degré 3: aucun axe en présence Vitesse maximale de broche Réel, tableau S MCODS(19.0,<Version>,<tampon>,<grandeur>) Fournit dans le <tampon> les vitesses de rotation maximales admissibles des broches en tr/min de toutes les broches dans le système. Ordre: S ouS1, S2, etc. Les limitations de vitesse sont incorporées. Vitesse minimale de broche Réel, tableau S MCODS(20.0,<Version>,<tampon>,<grandeur>) Fournit dans le <tampon> les vitesses de rotation minimales admissibles des broches en tr/min de toutes les broches dans le système. Ordre : S ouS1, S2, etc. Les limitations de vitesse sont incorporées. Positions de fin de course programmées, décalages non compris S MCODS(16,0,<Version>,<tampon>,<grandeur>) Réel, tableau MCODS(23.0,<Version>,<tampon>,<grandeur>) comme MCODS(16...), toutefois sans décalages. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -64 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description avance de bande programmée Réel S MCODS(24,<Canal>,<Version>,<Tampon>,1) Fournit dans le <tampon>l’avance de bande programmée du <canal> dans l’unité mm/min. Vitesses programmées des broches Réel, tableau S MCODS(25.0,<Version>,<tampon>,<grandeur>) Fournit dans le <tampon> les vitesses de rotation programmées de tous les axes de broches du système en tr/min. Ordre: S ou S1, S2, etc. Statut ”point de référence atteint” Intégrale, tableau E MCODS(26, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans le <tampon> dans l’ordre croissant, indépendamment des canaux, la valeur 0 ou 1 comme signal ”point de référence atteint” pour chaque axe d’avance et axe auxiliaire: Point de référence atteint : 1 Point de référence atteint : 0 Vitesses par à-coups Réel, tableau MCODS(27, -1,<Version>,<Tampon>,<Grandeur>) E Fournit dans le <tampon> dans un ordre croissant, indéendant du canal, les actuelles vitesses par à-coup de tous les axes d’avance et d’axes auxiliaires dans le système: pour les axes linéaires en mm/min dans le cas des axes ronds en tr/min Messages du programme pièces Caractère, Tableau MCODS(28,<Canal>,<Version>,<Tampon>,80) E Fournit dans le <tampon> les instructions programmées par ordre MSG dans le<canal>. Statut ”fonctionnement de test” Intégrale MCODS(29,0,<Version>,<tampon>,1) E Fournit dans le <tapon> la valeur 1, lorsque le fonctionnement test est activé. Sinon 0. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -65 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Chemin et nom du programme général Caractère, Tableau E MCODS(30,<Canal>,<Version>,<tampon>,<grandeur>) Fournit dans le <tampon> le chemin et le nom de la séquence sélectionnée dans le programme général dans le <canal>. Une valeur présente dans la <version> est ignorée par la fonction lors de l’appel de celle-là. Pour les fichiers dans le système de fichiers CN interne, il convient d’indiquer la <la grandeur> de la valeur 31 (chemin plus nom de fichier peuvent dans ce cas comporter un maximum de 30 caractères). Pour les fichiers dans des systèmes de fichiers interne, la <grandeur> de la valeur dépend du nombre maximal de caractères possibles supportés par le système de fichier externe pour le chemin et le nom d’un fichier. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -66 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Mode de fonctionnement canal Intégrale E MCODS(31,<Canal>,<Version>,<Tampon>,1) Fournit dans le <tampon> le mode de fonctionnement actif dans <canal>. 0: Aucun mode de fonctionnement et donc aucun process est actif. 1: Mode jog. Les axes peuvent être jogués (+/-). 2: Approche point de référence. Les axes peuvent être démarrés à l’aide des signaux Manuel+ / Manuel-. 3: réservé. 4: Saisie manuelle. Des blocs CN individuels peuvent être définis par défaut pour le traitement. 5: Automatisme (bloc séquence). Les programmes pièces sont traités complètement. 6: Automatisme (bloc programme). Les blocs uniques d’un programme pièce sont exécutés les uns après les autres. Chaque bloc unique est préparé par Démarrage CN et démarré. 7: Automatique (Pas unique). A partir d’un seul bloc CN dans le programme pièces, la CN peut éventuellement générer et programmer plusieurs blocs. Dans ce mode de fonctionnement, Démarrage CN transmet toujours un bloc unique à l’interpolateur pour le traitement. 8: réservé. 9: réservé. 10:Automatique (Bloc unique). Tous les blocs générés et préparés à partir d’un bloc CN unique dans le programme pièces sont transmis par Démarrage CN à l’interpolateur pour traitement. 11: Redémarrer. Les axes peuvent être éloignés manuellement du contour, et ré-approchée automatiquement ou manuellement. 12:Debugger CPL (Fonctionnement bloc de programme) : Les blocs sont exécutés individuellement tels qu’ils sont inscrits dans le programme pièce. 13:Debugger CPL (Fonctionnement bloc de programme) : Tous les blocs sont traités jusqu’au prochain point d’interruption. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -67 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Etat SAV et IPO Intégrale, tableau E MCODS(32,<Canal>,<Version>,<Tampon>0.2) Fournit dans le <tampon> à partir du <canal> - l’état SAV (préparation de bloc) et - l’état de l’interpolateur. Les valeurs suivantes sont définies commeétat SAV: 1: Le mode de fonctionnement n’est pas actif. Il est possible de sélectionner un procès. 2: Le mode de fonctionnement est opérationnel. Il est possible de démarrer un procès. 3: Le mode de fonctionnement est actif. Un programme ou un bloc NC est en traitement. 4: réservé. 5: réservé. 6: Une erreur est survenue dans le mode de fonctionnement. Elle ne peut être corrigée que par la position de base ou la sélection du programme. 7: réservé. 8: Momentanément c’est la position de base qui est exécutée. 9: Un programme est sélectionné et est actuellement en préparation. 10:”Effacer chemin résiduel” a été déclenché et n’est pas encore terminé. 11: Le mode de fonctionnement est actif et traite les tampons existants de nouveau. 12:Le mode de fonctionnement est opérationnel. Le procès est au début du programme et peut être démarré. 13:Dans le cas des blocs NC en mémoire tous les blocs sont traités. Attente de la nouvelle valeur par défaut. Les valeurs suivantes sont définies commeétat IPO 1: L’interpolateur est en marche. 2: L’interpolateur s’arrête en raison de ‘avance stop’. 3: L’interpolateur a arrêté l’axe. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -68 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Noms d’axe Caractère, Tableau MCODS(33,<Canal>,<Version>,<tampon>,<grandeur>) R Pour <canal> = -1 le tampon <fournit> les noms de tous les axessystème, séparés par le signe ”0” (octet 0) en ordre croissant de respectivement 9 octets. Pour <canal> = numéro de canal le tampon <fournit> les noms de tous les axes du canal concerné, séparés par le signe ”0” (octet 0) en ordre croissant. Les noms comportant moins de 8 signes sont complétés avec des espaces jusqu’à atteindre le nombre de 8. Dans <grandeur> c’est la grandeur du <tampon> qui est indiquée. Pour 16 axes elle peut comporter au maximum (9*16) 144 octets. Pour l’exemple, se reporter au chapitre 5.13.3 page 5-97. Nombre d’axes d’avance, d’axes Intégrale, auxiliaires et de broches; tableau Types de mouvement, types d’entraînement MCODS(34, -1,<Version>,<Tampon>,<Grandeur>) R réservé. Utiliser MCODS(45...) à la place Position rélle de l’axe Réel, tableau Z Fournit dans le <tampon> en ordre croissant, indépendamment du canal, les positions rélles de toutes les axes d’avance et des axes auxiliaires, qui sont transmises par paramètre SERCOS à la CNC: pour les axes linéaires en mm pour les axes ronds en degrés ”Définir la valeur réelle” (par exemple G92) n’est pas compris dans les valeurs.. Vitesse réelle de broche Z MCODS(35, -1,<Version>,<Tampon>,<Grandeur>) Réel, tableau MCODS(36, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> dans un ordre croissant (S ou S1, S2, S3 ect.) les vitesses de rotation de broches-effectives de toutes les broches disponibles dans le système. Cela comprend les potentiomètres, les limitations de vitesse de rotation (SMin, SMax) et les limitations par le rapport de réduction. Si une broche n’est pas existante, il est alors indiqué 0.0 à l’endroit correspondant de la <mémoire tampon>. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -69 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Valeur programme d’axe (système de coordonnées programme) Double, tableau Z MCODS(37, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> par ordre croissant et indépendant du canal les positions de consigne par rapport à la pièce à usiner de l’interpolateur pour tous les axes d’avance du système: pour les axes linéaires en mm pour les axes ronds en degrés La “Fixation de la valeur effective“ (par ex. G92) et le NPV d’axe (G54.x ... G59.x) n’est pas pris en compte pour les valeurs. Valeurs effectives d’axes (système de coordonnées machine) Double, tableau Z MCODS(38, -1,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> par ordre croissant et indépendant du canal les “valeurs effectives“ par rapport au système de coordonnées machine (cartésien) respectif. Les valeurs sont calculés à partir des positions effectives d’axes par application des informations d’avance cinétiques spécifiques à la machine spécifiées par canal (transformation d’axe). Si aucune transformation d’axe cinétique est programmée, MCODS(38) fournit des valeurs identiques à celles de MCODS(35). La condition pour l’application de MCODS(38) est le réglage correspondant du paramètre machine 9030 00002, qui permet de configurer si et à quelle fréquence les valeurs effectives du système de coordonnées machine sont calculées. Statut ”temporisation active” Intégrale MCODS(39,<Canal>,<Version>,<Tampon>,1) E Fournit dans la <mémoire tampon> la valeur 1, si une temporisation est active dans le <Canal>. Sinon 0. Statut “Fonction auxiliaire avec Intégrale confirmation obligatoire active“ MCODS(40,<Canal>,<Version>,<Tampon>,1) E Fournit dans la <mémoire tampon> la valeur 1, si une fonction auxiliaire attend une confirmation dans le <Canal>. Sinon 0. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -70 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Statut “Validation d’enregistrement“ Intégrale MCODS(41,<Canal>,<Version>,<Tampon>,1) E Fournit dans la <mémoire tampon> la valeur 1, si le signal d’entrée CN “Verrouillage d’enregistrement“ est initialisé dans le <Canal>. Sinon 0. Données spécifiques au client MCODS(42,<Canal>,<Version>,<Tampon>,<Grandeur>,< P1>) E Fournit dans la <mémoire tampon> les données spécifiques au client issues du <canal>. Dans <P1> une valeur intégrale d’une plage allant de 0 à 65535 peut être transmise au serveur du client pour la sélection de certaines données lors de l’appel interne de fonction. La fonction est prévue pour les développements propres spécifiques au client au niveau du “noyau CN“. Affectation axe - canal Intégrale, tableau E Fournit dans la <mémoire tampon> les informations suivantes pour chaque axe système-: ≥0: Numéro de canal de l’axe synchrone -1: L’axe est asynchrone -2: L’axe est une broche -3: L’axe est non défini Nombre de canaux R MCODS(43, -1,<Version>,<Tampon>,<Grandeur>) Intégrale, tableau MCODS(44, -1,<Version>,<Mémoire tampon>,3) Fournit dans la <mémoire tampon> par ordre croissant D le nombre des canaux utilisateurs utilisables D le nombre de canaux sur l’interface D le nombre de tous les canaux internes et externes 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -71 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Nombre d’axes Intégrale, tableau R Fournit dans la <mémoire tampon> par ordre croissant D l’index maximal des axes système. Il est nécessaire pour le ponçage par tous les axes. S’il n’y a pas d’écarts, il s’agît du nombre d’entraînements disponibles dans le système. D l’index maximal des axes dans le système. Il est néessaire par exemple pour la grandeur de l’interface d’axe. S’il n’y a pas d’écarts, il s’agît du nombre d’axes disponibles dans le système. D le nombre maximal de broches dans le système. Il est nécessaire par exemple pour la grandeur de l’interface de broche. Stratégie de redémarrage et enregistrement des mouvements de jog E MCODS(45, -1,<Version>,<Mémoire tampon>,3) Intégrale, tableau MCODS(46,<Canal>,<Version>,<Tampon>,3) Fournit dans la <mémoire tampon> par ordre croissant pour le <canal> indiqué D le mode de fonctionnement de redémarrage D le point de redémarrage D le statut d’enregistrement des mouvements de jog. En tant que mode de fonctionnement de redémarrage, les valeurs suivantes sont possibles: 1 redémarrage automatique 2 redémarrage avec bloc unique 3 redémarrage manuel Pour le point de redémarrage: 1 redémarrage vers le point de démarrage 2 redémarrage vers le point d’arrivée 3 redémarrage vers le point de l’interruption Pour le statut d’enregistrement: 0 enregistrement non actif 1 enregistrement actif 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -72 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Statut “Instruction de déplacement“ Intégrale, tableau Z MCODS(47,<Canal>,<Version>,<Tampon>,<Grandeur>) Pour <canal> = -1, la <mémoire tampon> fournit les signaux d’instruction de déplacement de tous les axes systèmes par ordre croissant. Pour <canal> = numéro de canal existant, la <mémoire tampon> fournit les signaux d’instruction de déplacement de tous les axesdu canal indiqué et ensuite de tous les axes asynchrones par ordre croissant. Instruction de déplacement initialisée: 1 Instruction de déplacement non initialisée: 0 Une instruction de déplacement est toujours initialisée dès qu’un axe doit exécuter un déplacement défini manuellement ou dans le programme pièce. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -73 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Mode de fonctionnement d’axe Intégrale, tableau E MCODS(48,<Canal>,<Version>,<Tampon>,<Grandeur>) Pour <canal> = -1, la <mémoire tampon> fournit les modes de fonctionnement de tous les axes système par ordre croissant. Pour <canal> = numéro de canal existant, la <mémoire tampon> fournit les modes de fonctionnement de tous les axes du canal indiqué et ensuite de tous les axes asynchrones par ordre croissant. Valeurs de renvoi possibles pour les modes de fonctionnement: 0: Aucun mode de fonctionnement et donc aucun process est actif. 1 : Mode jog. Les axes peuvent être jogués (+/-). 2 : Approche point de référence. Les axes peuvent être démarrés à l’aide des signaux Manuel+ / Manuel-. 3 : réservé. 4 : Saisie manuelle. Des blocs CN individuels peuvent être définis par défaut pour le traitement. 5 : Automatisme (bloc séquence). Les programmes pièces sont traités complètement. 6 : Automatisme (bloc programme). Les blocs uniques d’un programme pièce sont exécutés les uns après les autres. Chaque bloc unique est préparé par Démarrage CN et démarré. 7 : Automatique (Pas unique). A partir d’un seul bloc CN dans le programme pièces, la CN peut éventuellement générer et programmer plusieurs blocs. Dans ce mode de fonctionnement, Démarrage CN transmet toujours un bloc unique à l’interpolateur pour le traitement. 8 : réservé. 9 : réservé. 10:Automatique (Bloc unique). Tous les blocs générés et préparés à partir d’un bloc CN unique dans le programme pièces sont transmis par Démarrage CN à l’interpolateur pour traitement. 11: Redémarrer. Les axes peuvent être éloignés manuellement du contour, et ré-approchés automatiquement ou manuellement. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -74 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Statut “Verrouillage d’avance“ Intégrale, tableau E Pour <canal> = -1, la <mémoire tampon> fournit les signaux de verrouillage d’avance de tous les axes système par ordre croissant. Pour <canal> = numéro de canal existant, la <mémoire tampon> fournit les verrouillages d’avance de tous les axes du canal indiqué et ensuite des axes asynchrones par ordre croissant. 1: Verrouillage d’avance actif 0: Verrouillage d’avance non actif Valeur du potentiomètre d’axe Réel, tableau E MCODS(50,<Canal>,<Version>,<Tampon>,<Grandeur>) Pour <canal> = -1, la <mémoire tampon> fournit les valeurs des potentiomètres d’axe de tous les axes système par ordre croissant (en 0,01 pourcent). Pour <canal> = numéro de canal existant, la <mémoire tampon> fourni pour chaque axe dans le canal indiqué la valeur du potentiomètre de canal et ensuite les valeurs des potentiomètres d’axe de tous les axes asynchrones par ordre croissant (en 0,01 pourcent). Valeurs de correction externes d’outil Réel, tableau S MCODS(51,<Canal>,<Version>,<Tampon>,<Grandeur>) Fourni dans la <mémoire tampon> les valeurs de correction externes d’outil actives dans le <canal>. Ordre: rayon, correction de longueur Si aucune correction externe d’outil n’est active, 0.0 est toujours renvoyé. Valeurs NPV d’axe externes actives S MCODS(49,<Canal>,<Version>,<Tampon>,<Grandeur>) Réel, tableau MCODS(52,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les valeurs NPV d’axe externes actives dans le <canal>. Ordre: 1. axe logique, ... 8. axe logique Si aucun décalage externe n’est actif, 0.0 est toujours renvoyé. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -75 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Unité de mesure des axes Intégrale, tableau E MCODS(53,<Canal>,<Version>,<Tampon>,<Grandeur>) Pour <canal> = -1, la <mémoire tampon> fourni les unités de mesure (métrique, pouce, degré) de tous les axes système par ordre croissant. Pour <canal> = numéro de canal existant, la <mémoire tampon> fournit l’unité de mesure pour chaque axe du canal indiqué et ensuite l’unité de mesure de tous les axes asynchrones par ordre croissant. Dans le cas des axes asynchrones linéaires dans les modes d’exploitation d’axes “Jog“ et “Approche du point de référence“, l’interface d’axe définit l’unité de mesure. Si aucun mode d’axe n’est défini, la livraison est “métrique“. Dans le cas des axes synchrones linéaires dans les modes d’exploitation de canal “Jog“ et “Approche du point de référence“, l’interface d’axe définit l’unité de mesure. Dans les autres modes elle dépend de l’unité de mesure du canal métrique/pouce –G70/G71). Dans le cas des axes ronds et des broches l’unité de mesure est donnée en degré, pour les axes Hirth à programmation de place en une unité de mesure correspondante. Valeurs de renvoi possibles pour les unités de mesure: 0 : pouce 1 : métrique 2 : degré 3 : l’axe est inexistant 4 : axe Hirth à programmation de place 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -76 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Correction d’outil universelle active Réel, tableau S MCODS(54,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les valeurs de la correction d’outil universelle active dans le <canal>. Ordre: D Correction de rayon D Correction de longueur L3 D Correction de longueur L1 D Correction de longueur L2 D Position de l’arête coupante D Mode de correction Les modes de correction suivants sont définis: 0 : pas de correction 1 : outil de perçage 2 : outil de fraisage 3 : outil de tournage 4 : outil d’équerrage Si aucune correction d’outil universelle n’est active, 0.0 est toujours renvoyé. Version du fabricant Caractère, Tableau R Édite la version du fabricant de l’entraînement. La sélection d’axe s’effectue dans le paramètre <numéro d’axe> par l’indication de l’axe système. (Nº 0 fournit également le 1er axe). La version du fournisseur correspond au paramètre SERCOS S-0-0030. Dans la <mémoire tampon> du paramètre, un Array de 40 caractères maximum est fourni. Type de variateur R MCODS(55, -1,<Version>,<Tampon>,<Grandeur>, <Numéro d’axe>) Caractère, Tableau MCODS(56, -1,<Version>,<Tampon>,<Grandeur>, <Numéro d’axe>) Édite le type de variateur de l’entraînement. La sélection d’axe s’effectue dans le paramètre <numéro d’axe> par l’indication de l’axe système-. (Nº 0 fournit également le 1er axe). La version du fournisseur correspond au paramètre SERCOS S-0-0140. Dans la <mémoire tampon> du paramètre, un Array de 40 caractères maximum est fourni. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -77 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Type de moteur Caractère, Tableau R Édite le type de moteur de l’entraînement. La sélection d’axe s’effectue dans le paramètre <numéro d’axe> par l’indication de l’axe système-. (Nº 0 fournit également le 1er axe). Le type de moteur correspond au paramètre SERCOS S-0-0141. Dans la <mémoire tampon> du paramètre, un Array de 40 caractères maximum est fourni. Affectation par défaut axe canal Intégrale R MCODS(58, -1,<Version>,<Tampon>,<Grandeur>) Fourni dans la <mémoire tampon> les affectations par défaut suivantes pour chaque axe système: ≥0 : Numéro de canal de l’axe synchrone -1 : L’axe est asynchrone -2 : L’axe est une broche -3 : L’axe est non défini Pour 16 axes, la <mémoire tampon> doit avoir la <grandeur> 16 (Intégral). Nom d’axes canal actifs E MCODS(57, -1,<Version>,<Tampon>,<Grandeur>, <Numéro d’axe>) Caractère, Tableau MCODS(59,<Canal>,<Version>,<Tampon>,<Grandeur>) Pour <canal> = -1, la <mémoire tampon> fournit les noms de tous les axes canal actifs, séparés par le signe “0“ (octet 0) par ordre croissant à 9 octets chacun. Pour <canal> = numéro de canal le tampon <fournit> les noms de tous les axesdu canal concerné, séparés par le signe ”0” (octet 0) en ordre croissant. Les noms comportant moins de 8 signes sont complétés avec des espaces jusqu’à attendre le nombre de 8. Dans <grandeur> c’est la grandeur du <tampon> qui est indiquée. Pour 16 axes elle peut comporter au maximum (9*16) 144 octets. Pour l’exemple, se reporter au chapitre 5.13.3 page 5-97. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -78 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Nom d’axes canal réglage par défaut Caractère, Tableau R MCODS(60,<Canal>,<Version>,<Tampon>,<Grandeur>) Pour <canal> = -1, la <mémoire tampon> fourni les noms de tous les axes canal (du réglage par défaut), séparés par le signe “0“ (octet 0) par ordre croissant à 9 octets chacun. Pour <canal> = numéro de canal existant, la <mémoire tampon> fourni les noms de tous les axes du canal concerné, séparés par le signe “0“ (octet 0) par ordre croissant. Les noms comportant moins de 8 signes sont complétés avec des espaces jusqu’à attendre le nombre de 8. Dans <grandeur> c’est la grandeur de la <mémoire tampon> qui est indiquée. Pour 16 axes elle peut comporter au maximum (9*16) 144 octets. Pour l’exemple, se reporter au chapitre 5.13.3 page 5-97. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -79 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Unité de mesure des axes réglage par défaut Intégrale, tableau R Pour <canal> = -1, la <mémoire tampon> fourni les unités de mesure (métrique, pouce, degré) de tous les axes- du système (en réglage par défaut), séparés par le signe “0“ (octets 0) par ordre croissant à 9 octets chacun. Pour <canal> = numéro de canal existant, la <mémoire tampon> fourni les noms de tous les axes du canal indiqué, séparés par le signe “0“ (octets 0) par ordre croissant. D Dans le cas des axes linéaires asynchrones, les données sont fournies en “métrique“. D Dans le cas des axes linéaires synchrones l’unité de mesure dépone de l’état de mise sous tension après le montée en régime (paramètre machine 7060 00010): “métrique/pouce“ (G70/G71) D Dans le cas des axes ronds et des broches l’unité de mesure est donnée en degré, pour les axes Hirth à programmation de place en une unité de mesure correspondante. Valeurs de renvoi possibles pour les unités de mesure: 0: pouce 1: métrique 2: Degré 3: l’axe est inexistant 4: axe Hirth à programmation de place Pour 16 axes, la <mémoire tampon> doit avoir la <grandeur> 16 (Intégral) Numéro d’identification issu du télégramme d’axe cyclique Z MCODS(61,<Canal>,<Version>,<Tampon>,<Grandeur>) Intégrale, tableau MCODS(62, -1,<Version>,<Tampon>, <Grandeur>,<Numéro d’identification>) Fourni la valeur d’un <numéro d’identification> à partir du télégramme d’axe cyclique pour tous les axes. Si le <numéro d’identification> n’est pas contenu dans le programme cyclique la valeur NCS_MCO_NOT_IN_CYCL_AT_C (-2147483648) est issue. La valeur est “intégrale“ dans le calibrage SERCOS. Pour 16 axes, la <mémoire tampon> doit avoir la <grandeur> 16 (Intégral) 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -80 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Fonctions de mouvement des broches Intégrale, tableau E MCODS(63, -1,<Version>,<Tampon>,<Grandeur>) Fournit les fonctions de mouvement de toutes les broches. Codage des fonctions de mouvement: 0: broche non définie 1: rotation à droite sans réfrigérant 2: rotation à droite avec réfrigérant 3: Rotation à gauche sans réfrigérant 4: Rotation à gauche avec réfrigérant 5: arrêt broche 6: orientation de la broche Pour 8 broches, la <mémoire tampon> doit avoir la <grandeur> 8 (Intégral) Rapports de réduction des broches Intégrale, tableau E MCODS(64, -1,<Version>,<Tampon>,<Grandeur>) Fournit les rapports de réduction des broches. Codage des rapports de réduction: 40:sélection automatique des rapports de réduction 41:rapport de réduction 1 42:rapport de réduction 2 43:rapport de réduction 3 44:rapport de réduction 4 48:débrayage Pour 8 broches, la <mémoire tampon> doit avoir la <grandeur> 8 (Intégral) Sélection automatique ou manuelle des rapports de réduction E Intégrale, tableau MCODS(66, -1,<Version>,<Tampon>,<Grandeur>) Fournit la sélection automatique ou manuelle des rapports de réduction: 0: manuelle 1: automatique Pour 8 broches, la <mémoire tampon> doit avoir la <grandeur> 8 (Intégral) 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -81 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Information quant à l’activation Intégrale, de la commutation du réducteur tableau MCODS(67, -1,<Version>,<Tampon>,<Grandeur>) E Fournit l’information quant à l’activation de la commutation du réducteur: 0: commutation de réducteur désactivée 1: commutation de réducteur activée Pour 8 broches, la <mémoire tampon> doit avoir la <grandeur> 8 (Intégral) Ignorer bloc (activer) Intégrale, tableau E Fourni dans <mémoire tampon> l’état du signal de sortie CNactiver ignorer bloc et du signal d’entrée ignorer bloc de <canal>. Arrêt optionnel (activé) Intégrale, tableau E MCODS(69,<Canal>,<Version>,<Tampon>,2) Fourni dans <mémoire tampon> l’état du signal de sortie CNarrêt optionnel activé et du signal d’entrée arrêt optionnel de <canal>. Resélection automatique du programme actif Intégrale l MCODS(70,<Canal>,<Version>,<Tampon>,1) Fourni dans la <mémoire tampon>>, si dans le canal indiqué la resélection automatique du programme est appliquée: 0: la fonction n’est pas appliquée 1: la fonction est appliquée Coordonnées pièce Réel, tableau Z MCODS(71,<Canal>,<Version>,<Tampon>,<Grandeur>) Fourni dans la <mémoire tampon> les valeurs des coordonnées pièce (WCS) du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Valeurs de consigne des coordonnées de base Z MCODS(68,<Canal>,<Version>,<Tampon>,2) Réel, tableau MCODS(72,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les valeurs de consigne des coordonnées de base (BCS) du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -82 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Coordonnées d’axes Réel, tableau Z Fournit dans la <mémoire tampon> les valeurs des coordonnées d’axes (ACS) du canal indiqué. Canal = -1: toutes les coordonnées d’axes 0< Canal ≤ Canal max.: données du canal défini Coordonnées machine Réel, tableau Z MCODS(74,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les valeurs des coordonnées machine (MCS) du canal indiqué. Canal = -1: toutes les coordonnées d’axes 0< Canal ≤ Canal max.: données du canal défini Valeurs effectives des coordonnées de base Réel, tableau Z MCODS(75,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les valeurs effectives des coordonnées de base (BCS) du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Points d’arrivée des coordonnées programmées Réel, tableau S MCODS(76,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les points d’arrivée des coordonnées programmés du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Points d’arrivée des coordonnées Réel, tableau S MCODS(77,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les points d’arrivée des coordonnées du canal indiqué, y compris les décalages: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Noms de coordonnées E MCODS(73,<Canal>,<Version>,<Tampon>,<Grandeur>) Caractère, Tableau MCODS(78,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> les noms des coordonnées actives du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -83 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Coordonnées de statut INPOS Intégrale, tableau Z Fournit dans la <mémoire tampon> les coordonnées de statut INPOS du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Pour une coordonnée tridimensionnelle le statut est constitué à partir de la liaison Et des signaux d’axes. État de référence des coordonnées Intégrale, tableau E MCODS(80,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> le statut du point de référence des coordonnées du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Pour une coordonnée tridimensionnelle le statut est constitué à partir de la liaison Et des signaux d’axes. Unité de mesure des coordonnées Intégrale, tableau E MCODS(81,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> l’unité de mesure des coordonnées du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Valeurs de renvoi possibles pour les unités de mesure: 0: pouce 1: métrique 2: Degré 3: la coordonnée est inexistante Nombre de coordonnées E MCODS(79,<Canal>,<Version>,<Tampon>,<Grandeur>) Intégrale, tableau MCODS(82,<Canal>,<Version>,<Tampon>,<Grandeur>) Fournit dans la <mémoire tampon> en 3 éléments le nombre de coordonnées/axes du canal indiqué: 1. valeur: le nombre total des axes du canal 2. valeur: le nombre des coordonnées tridimensionnelles + le nombre de pseudo-coordonnées du canal. 3. valeur: le nombre des peudo-coordonnées du canal. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -84 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Course restante des coordonnées pièce Réel, tableau Z Fournit dans la <mémoire tampon> les courses restantes des coordonnées pièce (WCS) du canal indiqué: d’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. États d’attente du canal E MCODS(83,<Canal>,<Version>,<Tampon>,<Grandeur>) Intégrale MCODS(87,<Canal>,<Version>,<Tampon>,1) Fournit dans la <mémoire tampon> les états d’attente d’un canal. Si un canal passe en état d’attente, les raisons en sont indiquées par cette fonction. Les états d’attente actifs sont codés bit. Les constantes suivantes définissent les bits correspondants de la première valeur intégrale, en commençant par la valeur la plus petite: 0: Temporisation 1: Fonction auxiliaire à confirmation obligatoire 2: Verrouillage d’entrée 3: Avance dans le canal égale à 0 4: Arrêt programme avec M0/M1 5: Arrêt avance dans le canal 6: Verrouillage d’avance dans le canal ou dans un axe de canal 7: Blocage de lecture défini par le client 8: Arrêt de mouvement synchronisé entre canaux (ASTOP, ...) 9: Attente d’axe durant le changement d’axe (G511) 10: En attente de variable permanente (WPV) 11: En attente de signal d’interface au moment actif (WAITA, ...) 12: En attente de signal d’interface (WAIT(BITIF...)) ou d’une durée fixée (WAIT(,ZEIT%)) durant la préparation du bloc 13: Service de données Motion Control (MCODS(...)) Voir un exemple sous 5.13.3 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -85 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Valeurs de correction en ligne (WCS) Réel, tableau E Fournit dans la <mémoire tampon> les valeur de la correction en ligne (WCS) du canal indiqué. D’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. Statut de correction en ligne (WCS) Intégrale, tableau E MCODS(90, <Canal>, <Version>, <Tampon>, <Grandeur>) Fournit dans la <mémoire tampon> l’état actuel de la correction en ligne (WCS) du canal indiqué. D’abord toutes les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal. 0: désactivé 1: activé Programmation diamètre Intégrale, tableau S MCODS(91, <Canal>, <Version>, <Tampon>, <Grandeur>) Fournit dans la <mémoire tampon> la valeur 1 pour les axes à programmation de diamètre. Si la valeur Ncs_MCoNoChannel_C (-1) est définie en tant que canal, les valeurs de tous les axes systèmes sont fournis. Si un numéro de canal est défini, les valeurs de tous les axes canal sont fournies. Coordonnées de base de la pointe d’outil (BCS-Tcp) Z MCODS(89, <Canal>, <Version>, <Tampon>, <Grandeur>) Réel, tableau MCODS(92, <Canal>, <Version>, <Tampon>, <Grandeur>) Fournit dans le cas d’une correction de rayon 3D active dans la <mémoire tampon> les valeurs de consigne de la pointe d’outil dans le système de coordonnées de base (BCS-Tcp), d’abord les coordonnées tridimensionnelles, ensuite les pseudo-coordonnées du canal indiqué. Dans le cas d’une correction de rayon 3D désactivée, les valeurs sont identiques à MCODS(72,...). 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. 5 -86 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Fonction fournit / Refresh1) <Tampon> est Syntaxe / du type 2) Description Numéros de groupe des fonctions auxiliaires Caractère, Tableau Z Fournit dans <GroupeId> les numéros de groupe des fonctions auxiliaires pour les fonctions auxiliaires indiquées dans <Syntaxe> et appartenant au canal indiqué. <Syntaxe> contient les fonctions auxiliaires, séparées par des espaces et se terminant par CHR$(0), se reporter à l’exemple page 5-86. Syntaxe active des groupes de fonctions auxiliaires Z MCODS(94, <Canal>, <Version>, <GroupeId>, <Grandeur>,<Syntaxe>) Caractère, Tableau MCODS(95, <Canal>, <Version>, <Syntaxe>, <Grandeur>,<GroupeId>) Fournit dans <Syntaxe> la syntaxe active correspondant au numéros de groupe de fonctions auxiliaires indiquée dans <GroupeId> et appartenant au canal indiqué. Dans <GroupId> un Array terminé par CHR$(0) est transmis au numéro de groupe des fonctions auxiliaires désiré, se reporter à l’exemple ci-dessous. 1) Les données que la commande met à disposition de façon cyclique sont identifiées par “Z“. Les données que la commande met à disposition après chaque fin de bloc sont identifiées par “S“. Les données que la commande fournit à intervalles irréguliers suite à une modification sont identifiées par “E“. Les données que la commande fournit immédiatement après la demande sont identifiées par “I“. Les données qui ne sont jamais modifiées (il suffit de les demander une fois) sont identifiées par “R“. 2) Indique le type de variables nécessaires (intégral, réel, double, caractère) à la <mémoire tampon>. Si une variable de champ est nécessaire, et non une variable simple, “Array“ est indiqué après le type de la variable. Exemple de fonctions auxiliaires: : N10 M3 S1234 T5678 WAIT 10 DIM GROUPID$(64) 15 DIM SYNTAX$(256) 17 VERSION=0 18 CHAN%=1 20 REM trouver les numéros de groupes de M3 et T 25 SYNTAX$=”T M3”+CHR$(0) 30 ERR_VAR%=MCODS(94,CHAN%,VERSION,GROUPID$,64,SYNTAX$) 31 PRN#(0,”94 Error:”,ERR_VAR%) 32 PRN#(0,”T M3:”,ASC(MID$(GROUPID$,1,1)), ASC(MID$(GROUPID$,2,1))) 33 REM lire groupe 1 et 2 36 GROUPID$=CHR$(2)+CHR$(1)+CHR$(0) : 37 REM interroger groupe 1 et 2 50 VERSION=0 58 CHAN%=1 60 ERR_VAR%=MCODS(95,CHAN%,VERSION,SYNTAX$,256,GROUPID$) 65 PRN#(0,”95 Error:”,ERR_VAR%) 70 PRN#(0,”Gruppe 2 1 : ”, SYNTAX$) 71 REM SYNTAX$ enthaelt z.B. ”S1234 M3” R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -87 Données système MCOPS Appelle via CPL les services de processus Motion Control de la NCS. Cela permet de commander les canaux de la CNC. Syntaxe générale: MCOPS(<Fkt>,<Canal>[[,[<P1>][,[<P2>],[<P3>]]],<P4>]) <Fkt> <Canal> <P1> ... <P4> . Expression intégrale. Indique la fonction à exécuter. Toutes les fonctions disponibles sont décrites dans le tableau ci - dessous: expression intégrale Indique le canal sur lequel la fonction doit agir. Paramètres optionnels qui dépendent de <Fkt>. Les suites de virgules sont admises, par contre aucune virgule ne soit se trouver devant une parenthèse fermante. Dans les tables ci- dessous des constantes intégrales sont en parties indiquées en tant que paramètres de syntaxe. Vous pouvez également programmer à la place de ces constantes des variables intégrales, qui devront par contre être occupées au moment de l’appel de la fonction par la valeur indiquée. 5 -88 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Effet Syntaxe / description Effacement de la course restante MCOPS(1,<Canal>) Déclenche “Effacement de la course restante“ dans le <Canal> programmé: D Après le déclenchement de la course restante tous les blocs CN préparés, y compris le reste du bloc actuel, sont rejetés et retraités à neuf. . Les blocs CPL ou les pièces CPL ne sont pas pris en compte: Exemple: La variable CPL POS disposait pour la préparation de la valeur 10. Le mot CN X[POS] est interprété après “Effacement de la course restante“ comme X10, bien qu’à ce moment POS a peut-être une valeur tout à fait différente Les valeurs de correction éventuellement modifiées sont prises en compte. D Sur l’affichage le point d’arrivée affiché est initialisé sur la position actuelle, ce qui supprime simultanément la course restante affichée. Le <Canal> passe ensuite à l’état CN prêt (Signal d’entrée API iCh_NCReady). D Après Démarrage CN (Signal de sortie API qCh_NCStart) le programme reprend à partir du point d’interruption, en tenant compte des nouvelles valeurs de correction. Exemple pour l’utilisation de MCOPS(1,<Canal>): Après une modification de tables de correction, si les nouvelles valeurs doivent aussi être valables pour des blocs déjà préparés. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -89 Données système Effet Syntaxe / description Position initiale MCOPS(2,<Canal>[,<Mode de position initiale>]) Déclenche “Position initiale“ dans le <Canal> programmé. Pour déclencher la position initiale: <Canal> = -2 D Le canal n’accepte pas à priori de nouvelles instructions tels que par exemple la sélection d’un programme ou la commutations de modes de fonctionnement. D L’interpolateur est arrêté. D Les instructions destinées au canal et non encore traitées sont rejetées. D Le programme principal est désélectionné. D Les paramètres machine modifiés qui ne nécessitent pas de montée en régime sont repris, tels que par exemple le paramètre machine 1020 00001 (Fin de course logicielle). D Les erreurs et alarmes déclenchées par ce canal sont annulées. D L’interpolateur est redémarré. D L’état de mise en service lors de la position initiale (paramètre machine 7060 00020) est repris, c’est à dire que les états modaux correspondants sont activés. D Le canal émet le signal d’interface 0.2 ’Position initiale exécutée’ et accepte à nouveau des nouvelles instructions. D <Mode de position initiale>: Expression intégrale. Définit le comportement de la fonction. La liste ci-dessous contient tous les schémas de comportement définis. Un numéro d’identification est affecté à chaque schéma. Pour régler un schéma particulier, le numéro d’indentification correspondant doit être indiqué dans <Mode de position initiale>. Si plusieurs schémas de comportement doivent être combinés, la somme de tous les numéros d’identification correspondant doit être transmis à la fonction sous <Mode de position initiale>. Jusqu’à présent la liste ne contient qu’un élément: Numéro d’identification: 2: La resélection automatique de programme est supprimée, si toute fois elle est active. Exemple: ERR_VAR=MCOPS(2,2,2) Position initiale dans le 2ème canal sans resélection automatique de programme 5 -90 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Effet Syntaxe / description Chercher bloc MCOPS(3,<Canal>[,[<Bloc de démarrage>][,<Bloc d’arrivée>]]) Déclenche “Chercher bloc“ dans le programme principal sélectionné, non encore démarré du <Canal> programmé: D <Le bloc de démarrage> et <le bloc d’arrivée> sont transmis en tant qu’expressions de chaînes de caractères. Lors de la recherche du <bloc de démarrage> et du <bloc d’arrivée> les conventions suivantes sont valables: D Les espaces, <Tab>, <LF> au début d’un bloc CN sont ignorés. D Si le <bloc de démarrage> ou le <bloc d’arrivée> commencent par un chiffre et l’expression n’est pas trouvée dans le programme dans lequel est effectué la recherche, le système recherche à nouveau l’expression; cette fois-ci par contre précédé du caractère “N“. De cette façon, “50“ par exemple trouve également le bloc “N50X100“. D Si le <bloc de démarrage> ou le <bloc d’arrivée> se terminent par un chiffre, l’expression n’est trouvée dans le programme dans lequel la recherche est effectuée que si aucun autre chiffre y est accolé immédiatement après. Par ex. “G1X10“ ne trouve pas le bloc “CN G1X100“. D Si le <bloc de démarrage> ou le <bloc d’arrivée> se terminent par une lettre, l’expression n’est trouvée dans le programme dans lequel la recherche est effectuée que si un espace y est accolé immédiatement après. par ex.“50A“ trouve le bloc CN ”50A =1”, mais pas ”50A=1”. D L’usinage commence par le <bloc de démarrage> et se termine par le <bloc d’arrivée>. Si le <bloc de démarrage>, manque ou n’est pas trouvé, l’usinage commence au début du programme. Si le <bloc d’arrivée>, manque ou n’est pas trouvé, l’usinage se termine à la fin du programme. D Le statut CN passe sur PRÊT. Exemple: ERR_VAR=MCOPS(3,2,”N50”,”N100”) Déclenche dans le canal 2 “Chercher bloc“. Le programme principal doit effectuer l’usinage de N50 à N100 compris. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -91 Données système Effet Syntaxe / description Sélectionner le programme ou sélectionner une chaîne de caractères pour la saisie manuelle MCOPS(4,<Canal>[[,[<Chaîne de caractères>][,[<Bloc de démarrage>],[<Bloc d’arrivée>]]],<Mode de sélection>]) Sélectionne dans le <Canal> programmé un programme pour l’usinage ou une chaîne de caractères pour l’usinage en mode de fonctionnement saisie manuelle. Pour le <Mode de sélection> = 32768 des prédéfinitions sont possibles pour les sous-programmes asynchrones. Ils peuvent être déclarés, coupés, remis en marche, supprimés et démarrés. D <Chaîne de caractères>: Expression Chaîne de caractères Suivant le <mode de sélection> le système interprète le paramètre en tant que D nom de chemin d’accès (y compris le nom de programme pièces) d’un programme pièce à sélectionner (100 caractères au maximum), ou D si 32 est indiqué dans le <mode de sélection>: bloc CN (taille max. 512 octets y compris l’octet final 0), qui doit être effectué en mode saisie manuelle, ou 5 -92 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Effet Syntaxe / description D si 32+4096 est indiqué dans le <mode de sélection>: Plusieurs blocs CN, qui doivent être exécutés en mode saisie manuelle. Plusieurs blocs CN sont séparés par NewLine (”\n”, Hex 0x0A). La taille maximale de tous les blocs CN ne doivent pas dépasser 4096 octets, y compris l’octet final 0. D si 32768 est indiqué dans le <mode de sélection>: Le nom ou le nom de chemin d’accès sont indiqués pour l’instruction “SETINT“ pour les sous-programmes asynchrones. D Le <bloc de démarrage> et le <bloc d’arrivée> définissent le bloc de démarrage et d’arrivé dans le programme pièce pour l’usinage. Utilisation comme pour MCOPS(3,..). Si le système interprète <chaîne de caractères> en tant que saisie manuelle, le <bloc de démarrage> et le <bloc d’arrivée> sont ignorés. Lors de définitions pour les sous-programmes asynchrones (<Mode de sélection>= 32768) le numéro (1 ≤ Numéro ≤ 8) est indiqué en tant que chaîne de caractères (par ex. « 1 ») dans le <bloc de démarrage> et l’instruction est indiquée dans le <bloc d’arrivée>. Les instructions pour les sous-programmes asynchrones sont: “SETINT“ déclarer “DISABLE“ désactiver “ENABLE“ réactiver “CLRINT“ effacer “START“ démarrer D <Mode de sélection>: Expression intégrale. Définit le comportement de la fonction. La liste ci-dessous contient tous les schémas de comportement définis. Un numéro d’identification est affecté à chaque schéma. Pour régler un schéma particulier, ce numéro d’indentification doit être transmis dans <Mode de sélection>. Si plusieurs schémas de comportement doivent être combinés, la somme de tous les numéros d’identification correspondant doit être transmis à la fonction sous <Mode de sélection>. . Si le <mode de sélection> 2 (Attendre jusqu’à ce que l’état CN passe sur PRÊT) est défini et que le programme à sélectionner n’existe pas ou n’est pas exécutable, le message d’erreur est renvoyé. Dans tous les cas il n’est pas vérifié si le programme est exécutable. La fonction fournit 0 (aucune d’erreur survenue). Seule la liaison consécutive génère l’erreur d’exécution correspondante. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -93 Données système Effet Syntaxe / description 1 Le système effectue une exécution de liaison lors de la sélection. Si elle n’existe pas encore, une table de liaison est générée pour le programme principal sélectionné. Les tables de liaison sont nécessaires si des appels de sous-programmes ou des instructions CPL existent dans le programme. 2 Le système ne confirme l’autorisation d’une sélections qu’une fois que l’état CN passe sur PRÊT. Normalement la sélection est confirmée sans attendre l’état CN PRÊT. 32 Le système interprète la <chaîne de caractères> comme un bloc de saisie manuelle. Voir aussi le numéro d’identification 128. 64 Avant que la fonction ne sélectionne le programme indiqué ou le bloc de saisie manuelle indiquée, un programme actif ou une saisie manuelle active sont désélectionnés auparavant. 128 Un bloc de saisie manuelle est démarré immédiatement. On différencie 2 cas: <canal> n’est pas actif: le bloc est exécuté directement en tant que bloc de saisie manuelle. <canal> est déjà actif: le bloc est exécuté directement en tant que fonction de commutation. Concernant les restrictions, se reporter au numéro d’identification 1024. 256 Condition pour déplacer des axes en mode “Jog“ ou si les déplacement doivent être exécutés en mode “Jog en coordonnées pièce“. 512 Condition pour démarrer des axes en mode “Approcher le point de référence“. 1024 Fonction commutation Agît en liaison avec le numéro d’identification 128. Un bloc de saisie manuelle est exécutée en parallèle avec le <canal>. Dans les blocs de saisie manuelle seuls les fonctions auxiliaires et les mouvements d’axes asynchrones sont par contre admis. 2048 Un programme déjà actif est révoqué par le nouveau programme sélectionné. De ce fait tous les états modaux sont conservés. En saisie manuelle l’ancien ordre de caractères est révoqué par le nouveau. 4096 La définition de blocs CN bufférisée agît en liaison avec le numéro d’identification 32. Tandis que les blocs précédents sont encore exécutés, de nouveaux peuvent être définis. 32768 Ce Flag permet de piloter des sous-programmes asynchrones (voir <bloc de démarrage> et <bloc d’arrivée>). 5 -94 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Effet Syntaxe / description Exemples: ERR_VAR=MCOPS(4,1,”sekt.cnc”,”N50”,”N100”,1) Sélection de programme de “sekt.cnc“ dans le canal 1 y compris la recherche de blocs et la liaison. ERR_VAR=MCOPS(4,1,”/usr/user/p1.cnc”) Sélection de programme de “pl.cnc“ dans le canal 1 sans la recherche de blocs et la liaison. ERR_VAR=MCOPS(4,1,”F1000G1X500”,,,32) Sélectionne dans le canal 1 le bloc “F1000G1X500“ en mode saisie manuelle. Désélection du programme MCOPS(5,<Canal>,<Mode de-désélection>) Sélectionne dans le <Canal> programmé un programme préalablement sélectionné ou un bloc de saisie manuelle préalablement sélectionné. D <Mode de désélection>: Expression intégrale. Définit le comportement de la fonction. La liste ci-dessous contient tous les schémas de comportement définis. Un numéro d’identification est affecté à chaque schéma. Pour régler un comportement particulier, le numéro d’indentification correspondant doit être indiqué dans <Mode de désélection>. Si plusieurs schémas de comportement doivent être combinés, la somme de tous les numéros d’identification correspondant doit être transmise à la fonction sous <Mode de- désélection>. Jusqu’à présent la liste ne contient qu’un numéro d’identification: 2: Si la resélection automatique de programme est active, elle peut être supprimée par la valeur 2 dans cette désélection de programme. Exemple: ERR_VAR=MCOPS(5,2,2) Désélection de programme dans le canal 2 sans resélection automatique de programme. Lancer le programme MCOPS(6,<Canal>) Démarre dans le <Canal> programmé un programme préalablement sélectionné ou un bloc de saisie manuelle préalablement sélectionné. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -95 Données système Effet Syntaxe / description Définir le mode de fonctionnement MCOPS(7,<Canal>,<Mode de fonctionnement>) Définit dans le <Canal> programmé un mode de fonctionnement. D <Mode de fonctionnement>: Expression intégrale. Définit le mode de fonctionnement sur lequel la commutation doit être effectuée. 1 Mode jog. Les axes peuvent être jogués (+/-). Voir également MCOPS(4..) sous <Mode de sélection d’axe>: Numéro d’identification 256. 2 Approche point de référence. Les axes peuvent être démarrés à l’aide des signaux Manuel+ / Manuel-. Voir également MCOPS(4..) sous <Mode de sélection d’axe>: Numéro d’identification 512. 4 Saisie manuelle. Des blocs CN uniques peuvent être définis pour l’usinage. 5 Automatisme (bloc séquence). Les programmes pièces sont traités complètement. 6 Automatisme (bloc programme). Les blocs uniques d’un programme pièce sont exécutés les uns après les autres. Chaque bloc unique est préparé par Démarrage CN et démarré. 7 Automatique (Pas unique). A partir d’un seul bloc CN dans le programme pièces, la CN peut éventuellement générer et programmer plusieurs blocs. Dans ce mode de fonctionnement, Démarrage CN transmet toujours un bloc unique à l’interpolateur pour le traitement. 10 Automatique (Bloc unique). Tous les blocs générés et préparés à partir d’un bloc CN unique dans le programme pièces sont transmis par Démarrage CN à l’interpolateur pour traitement. 11 Redémarrer. Les axes peuvent être éloignés manuellement du contour, et ré-approchés automatiquement ou manuellement. 12 Debugger CPL: Les blocs sont exécutés individuellement tels qu’il sont inscrits dans le programme pièce. 13 Debugger CPL: Tous les blocs jusqu’au prochain point de rupture sont exécutés. 14 Mode jog: Mouvement au niveau des coordonnées pièces 5 -96 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Effet Syntaxe / description Une modification de Mode de fonctionnement n’est possible que sous les conditions suivantes: D le signal d’interface canal qCh_OpModePlc (mode de fonctionnement de l’API) ne doit pas être initialisé D aucun programme ou bloc n’est sélectionné dans la CN - ou seule une commutation entre les modes de fonctionnement automatiques bloc suivant, bloc programme, pas unique ou bloc unique doit être effectuée. Exemple: ERR_VAR=MCOPS(7,2,5) Changement de mode de fonctionnement dans le 2ème canal en automatique (bloc suivant). Modifier la stratégie de redémarrage MCOPS(8,<Canal>,<Comment>,<Vers où>) Définit dans le <Canal> programmé la stratégie de redémarrage. D <Comment> : Expression intégrale. Indique si 1 redémarrage automatique 2 redémarrage avec bloc unique, ou 3 redémarrage manuel est désiré. D <Vers où> : Expression intégrale. Indique si lors du redémarrage le déplacement s’effectue 1 vers le point de démarrage 2 vers le point d’arrivée, ou 3 vers le point de l’interruption. Terminer l’enregistrement de redémarrage MCOPS(9,<Canal>) Termine dans le <Canal> programmé l’enregistrement de redémarrage. Les mouvements jog ne sont alors plus enregistrés. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -97 Données système 5.13.3 Exemples de programmation Exemple 1: Demander immédiatement le SAV et l’état d’interpolation du canal 2 10 DIM BUF%(2) 20 VERSION=0 30 ERR_VAR%=MCODS(32,2,VERSION, BUF%,2) Créer un champ Fournit immédiatement les données Appel de fonction Dans BUF%(1) est inscrit l’état SAV, dans BUF%(2) l’état IPO. Dans VERSION est inscrit le numéro de version actuel des données (important pour l’exemple 2). Exemple 2: Attendre jusqu’à ce que l’état SAVdu canal 2 passe sur “INACTIF“ <Code de l’exemple 1> : 10 INAKTIV = 1 20 WHILE BUF%(1) <> INAKTIV DO 30 ERR_VAR% = MCODS(32,2,VERSION,BUF%,2) 40 END La fonction ne revient après l’appel que dans le programme appelant que lorsque l’état SAV se modifie (VERSION contient encore une valeur différente de 0; Numéro de version, voir exemple 1). La boucle n’est quittée que lorsque BUF%(1) contient la valeur 1. Exemple 3: Sortie des noms d’axes dans la fenêtre MSG : 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 VERSION=0 DIM AXNAME$(512) REM demander tous les noms d’axes ERR=MCODS(33,-1,VERSION,AXNAME$,512) IF ERR=0 THEN REM déterminer le nombre d’axes DIM AXNMB%(3) VERSION=0 ERR=MCODS(45,-1,VERSION,AXNMB%,3) ANZ=AXNMB%(2) ENDIF IF ERR<>0 THEN PRN#(0,”Erreur survenue: ”,ERR) ELSE REM Affichage des noms d’axes FOR I%=0 TO (ANZ-1) NAME$=MID$(AXNAME$,I%*9+1,8) IF ASC(NAME$)<>0 THEN REM Nom d’axe est défini PRN#(0,I%+1,”. Nom d’axe : ”,NAME$) ENDIF 5 -98 Bosch Rexroth AG Electric Drives and Controls Données système 240 NEXT 250 ENDIF N260 M30 IndraMotion MTX R911311170 / 01 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -99 Données système Exemple 4: Canal/État d’attente 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 M30 CHAN%=1 VERSION%=0 STATES%=0 ERR=MCODS(87,CHAN%,VERSION%,STATES%,1) IF ERR=0 THEN MASKE%=1 WHILE MASKE% <= STATES% DO CASE (STATES% AND MASKE%) OF LABEL 1:PRN#(0,”Temporisation”) LABEL 2:PRN#(0,”Fonction auxiliaire à confirmation obligatoire”) LABEL 4:PRN#(0,”Verrouillage d’enregistrement”) LABEL 8:PRN#(0,”Avance dans le canal égal à 0”) LABEL 16:PRN#(0,”Arrêt programme avec M0/M1”) LABEL 32:PRN#(0,”Arrêt avance dans le canal”) LABEL 64:PRN#(0,”Verrouillage d’avance dans le canal ou un axe canal”) LABEL 128:PRN#(0,”Verrouillage d’enregistrement client”) LABEL 256:PRN#(0,”Arrêt de mouvement synchronisé entre canaux (ASTOP, ...)”) LABEL 512:PRN#(0,”Attente d’axe lors de changements d’axe (G511)”) LABEL 1024:PRN#(0,”Attente de variable permanente (WPV)”) LABEL 2048:PRN#(0,”Attente de signal d’interface pour le moment actif (WAITA, ...)”) LABEL 4096:PRN#(0,”Attente de signal If (WAIT(BITIF(...))) ou”) PRN#(0,” (WAIT(,ZEIT%)) dans la préparation de bloc”) LABEL 8192:PRN#(0,”Service de données Motion Control (MCODS(...))”) ENDCASE MASKE%=MASKE%*2 END ENDIF 5 -100 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Données système Exemple 5:Affectation axe - canal 10 REM Le programme interroge le nombre d’axes du système 15 REM et les numéros d’axes des axes du canal. Avec ces 20 REM informations les axes du canal sont d’abord déplacées sur 30 REM la position 0 et ensuite sur le position de <numéro de canal> 40 REM 50 CHAN%=SD(8) : REM Numéro de canal propre 60 IDCHAX%=43 : REM type de fonction pour l’affectation Axe - canal 70 IDMAXAX%=45 : REM type de fonction pour le nombre d’axes 80 DIM BUF%(16): REM Tampon pour l’affectation axe - canal 90 SIZE%=16 100 ANZ%=0 : REM Index maximal des axessystème 120 REM Déterminer les axes canal du canal actif 130 VERSION=0 140 ERR=MCODS(IDCHAX%,CHAN%,VERSION,BUF%,SIZE%) 150 IF ERR=0 THEN 160 VERSION=0 170 ERR=MCODS(IDMAXAX%,CHAN%,VERSION,ANZ%,1) 180 IF ERR=0 THEN 190 FOR I%=1 TO ANZ% 200 IF BUF%(I%) = CHAN% THEN N210 F1000 [AXP(I%,0,0)]; déplacer les axes canal sur 0 ; 220 ENDIF 230 NEXT 240 FOR I%=1 TO ANZ% 250 IF BUF%(I%) = CHAN% THEN N260 M0 N270 WAIT N280 F1000 [AXP(I%,CHAN%,0)]; Déplacer les axes canal sur ; CHAN% 290 ENDIF 300 NEXT 310 ENDIF 330 ENDIF N310 M30 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -101 Traitement de chaînes de caractères 5.14 Traitement de chaînes de caractères Pour traiter des chaînes de caractères (strings) dans CPL, celles- ci doivent être enregistrées dans un champ monodimensionnel (champ: Array) de variables de caractères indexées. Chaque variable de caractère dans ce champ est adressée au moyen d’un index et peut contenir exactement un caractère. Les ordres CPL MID$, LEN, INSTR, ASC, STR$, VAL et TRIM$ sont disponibles pour le traitement de strings. 5.14.1 Dimensionnement de champs de caractères DIM Pour créer un champ de caractères, il faut indexer une variable de caractère par instruction DIM. Il est possible de cette manière de créer des champs de caractères d’une capacité maximale de 1024 caractères (plage de valeur de l’indice : 1 à 1024). Si la plage de valeurs n’est pas respectée, le message d’erreur LIMITE DE CHAMP INVALIDE est émis. Exemple: 1 DIM VWX$(14) Dans cet exemple, est créé le champ de caractères VWX$ composé de 14 variables de caractères individuelles. Il est ainsi possible d’enregistrer dans VWX$ des strings avec une longueur maximale de 14 caractères. Exemples: 1 DIM ABC$(1) champ de caractère avec un string d’une longueur max. de 1 caractère. 2 DIM BCDE$(10) champ de caractère avec un string d’une longueur max. de 10 caractères. 5 -102 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères 5.14.2 Lire les caractères dans une chaîne de caractères MID$ Cette fonction reprend des parties d’une expression string. Le résultat peut être transmis à une variable de caractères dimensionnée ou non dimensionnée: D Une variable de caractère dimensionné contient le string partiel complet déterminé par l’ordre MID$. D Une variable de caractère non dimensionnée contient uniquement l’adresse de départ et la longueur du string partiel déterminé. Si l’expression de string de laquelle le string partiel est issu est modifiée, la variable de caractère non dimensionnée est elle aussi modifiée en conséquence. Si une mise en chaîne a lieu au sein de l’ordre MID (par ex. MID$(A$+B$,2,3) ), le résultat ne doit être attribué qu’à un seul champ de caractères. MID$(<expression STR>,<point de départ>[,<nombre de caractères>]) <Expression STR> expression string, de laquelle des parties doivent être prises. <Le point de départ> détermine la position au sein du champ de caractères <expression STRING> à partir de quel caractère il doit être repris. <Le nombre de caractères> détermine le nombre de caractères devant être pris. Si le <nombre de caractères> n’est pas programmé, tous les caractères jusqu’à la fin du champ de caractères seront repris. La plage de valeurs pour le 2ème et le 3ème paramètre inclut des valeurs intégrales entre 1 et 1024. Si la plage de valeurs n’est pas respectée, le message d’erreur ”Paramètre invalide” est émis. S’il est accédé à une partie du champ de caractères qui n’est pas encore occupée, NUL est donné en retour. Exemple: 1 2 3 4 5 6 DIM A$(10 DIM B$(5) A$=”ABCDEFGHIJ” B$=MID$(A$,2,5) C$=MID$(A$,2,5) REM Les variables B$ et C$ ont toutes deux le contenu : BCDEF 7 A$=”QRSTUVWXYZ” 8 REM La variable B$ a le contenu : BCDEF La variable C$ a le contenu : RSTUV R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -103 Traitement de chaînes de caractères 5.14.3 Modification de chaînes de caractères MID$ L’instruction MID$ remplace des parties d’un champ de caractères. MID$(<champ de caractères>,<point de départ>[,<nombre de caractères>]) <Champ de caractères> Champ de caractères dans lequel les parties doivent être remplacées. <Le point de départ> détermine la position au sein du champ de caractères <champ de caractères> à partir de quel caractère il doit être repris. La valeur de <point de départ> peut dépasser les composant occupés jusqu’à présent (longueur) de 1 maximum. <Le nombre de caractères> détermine le nombre de caractères à remplacer. Si le <nombre de caractères > n’est pas programmé, tous les caractères affectés dans <champ de caractères> sont entrés dans la mesure où le dimensionnement du champ de caractères le permet. La plage de valeurs pour le 2ème et le 3ème paramètre repose entre 1 et 1024. Si la plage de valeurs n’est pas respectée, le message d’erreur PARAMÈTRE INVALIDE est émis. Exemple: 1 DIM A$(10) 2 A$=”ABC” 3 MID$(A$,4,3)=”DEF” Longueur de A$ est 3. Il est écrit du 4ème au 6ème composant du champ de caractères. Cela est autorisé car les trois premiers sont déjà occupés. Exemple: 1 DIM A$(10) 2 A$=”ABC” 3 MID$(A$,5,3)=”DEF” Longueur de A$ est 3. Il est tenté d’écrire du 5ème au 7ème composant du champ de caractères. Cela entraîne toutefois l’émission du message d’erreur CHAMP DE CARACTÈRE NON OCCUPÉ car le 4ème composant n’a pas encore été occupé. Si sont affectés davantage de caractères que ce qui est permit par la longueur maximale du champ de caractères, ceux en trop sont rejetés. 5 -104 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères 5.14.4 Longueur d’une chaîne de caractères LEN LEN(<expression string>) Fournit le nombre de caractères d’une <expression string>. Le résultat est une valeur intégrale. Si l’<expression string> est vide, LEN donne la valeur 0 en retour. Si l’<expression string> n’est pas définie, LEN donne la valeur - 1 en retour. Exemple: 1 2 3 4 5 6 7 5.14.5 DIM XYZ$(10) XYZ$=”ABC” I%=LEN(XYZ$) XYZ$=” ” J%=LEN(XYZ$) XYZ$=NUL K%=LEN(XYZ$) La variable INTEGER I% a la valeur 3 La variable INTEGER J% a la valeur 0 La variable INTEGER K% a la valeur -1 Recherche d’une chaîne de caractères INSTR INSTR(<suite de caractères>,<expression string>[,<point de départ>]) Parcourt une <expression string> à partir du <point de départ> après une <suite de caractères> et indique le premier caractère de la <suite de caractères> trouvée dans l’ <expression string> comme valeur INTEGER. si la <suite de caractères> n’est pas trouvée, la valeur 0 est éditée. La <suite de caractères> peut être programmée comme expression STRING. La plage de valeurs pour le le 3ème paramètre repose entre 1 et 1024. Si la plage de valeurs n’est pas respectée, le message d’erreur PARAMÈTRE INVALIDE est émis. Exemple: 1 2 3 4 5 DIM A$(8) DIM B$(16) A$=”A” : MID$(A$,2)=”UVWXYZ” B$=”ABCDEF UVWXYZ GH” POS1%=INSTR(MID$(A$,2),B$,4) La variable INTEGER POS1% a la valeur 8 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -105 Traitement de chaînes de caractères 6 POS2%=INSTR(MID$(A$,2,4),B$,10) 7 POS3%=INSTR(MID$(A$,2),B$) 5.14.6 La variable INTEGER POS2% a la valeur 0 La variable INTEGER POS3% a la valeur 8 Chaînes de caractères et nombres ASC ASC(<chaîne de caractères>) Donne le nombre ordinal du premier caractère (code ASCII) de la <chaîne de caractères> comme valeur INTEGER. Si la<chaîne de caractères> n’est pas définie, ASC donne la valeur - 1 en retour. <La chaîne de caractère> doit être une expression STRING. ASC est l’inversion de CHR$. Exemple: 10 20 30 40 50 60 70 80 90 DIM A$(1) A$ = ”ABC” B$ = ”BCD” I% = ASC(A$) J% = ASC(B$) A$ = ”” K% = ASC(A$) A$ = NUL L% = ASC(A$) La variable INTEGER I% a la valeur 65 La variable INTEGER J% a la valeur 66 La variable INTEGER K% a la valeur -1 La variable INTEGER L% a la valeur -1 CHR$ CHR$ est l’inversion d’ASC. CHR$(<expression intégrale>) Transforme l’<expression intégrale> dans le caractère ASCII correspondant. En annexe de ce manuel sont répertoriées toutes les priorités décimales des caractères ASCII dans le tableau “Blocs de signe ASCII”. Exemple: 10 DIM A$(1) 20 I% = 65 40 A$ = CHR$(I%) La variable STRING A§ a la valeur 65 5 -106 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères STR$ STR$([<string de format>,]<valeur>) Transforme l’expression numérique <valeur> en une suite de caractères qui peut être affectée uniquement à un champ de caractères. Une affectation à une variable STRING entraîne une erreur de durée d’exécution. <La valeur> peut être une expression REAL ou INTEGER de simple ou double précision. Si le <string de format> est programmé, la suite de caractères peut être éditée formatée. Les chiffres sont représentés avec des # et les points décimaux avec . Sans <string de format>, l’édition est effectuée dans le format standard. Formats standard: Nombre INTEGER: nombre REAL de précision simple: nombre REAL de précision double: 9 caractères 4 chiffres avant et 3 après la virgule. 9 chiffres avant et 6 après la virgule. Exemple: 10 DIM A$(50) 20 DIM B$(21) 30 A$=STR$(”Zahl=##.###”,(37/3) 40 B$=STR$(2.5) Contenu du champ de caractères A$ : “nombre = 12.333” Contenu du champ de caractères B$ : ” 2.500” R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -107 Traitement de chaînes de caractères VAL VAL(<expression STRING>) Fournit la valeur numérique de l’<expression STRING>. S’il apparaît dans la suite de caractères un autre caractère qu’un espace vide de tête, les caractères de tête ”+” ou ”- ”, les chiffres 0 à 9 ainsi que le point décimal ”.”, la transformation est réalisée jusqu’à cet autre caractère. Les espaces de tête sont ignorés comme des zéros de tête pour la création de valeur. Si aucun des caractères mentionnés précédemment n’apparaît, ”NUL” est émis. Si un point décimal apparaît dans la suite de caractères, le résultat doit uniquement être affecté à une variable REAL ou REAL double précise. Dans ce cas, une affectation à une variable INTEGER entraîne l’émission du message d’erreur AFFECTATION INVALIDE. Exemple: 1 2 3 4 5 6 7 I% K% J% R Z X D! = = = = = = = VAL(”1.23DE”) VAL(”123DE”) VAL(”ABC”) VAL(”-1.23DE”) VAL(”+ 000001234TEST4365”) VAL(”ABC1.23DE”) VAL(”1234567.234567”) La ligne 1 déclenche un message d’erreur car l’attribution devrait avoir lieu sur une variable INTEGER. La valeur de la variable INTEGERK% est de 123. Les chiffres 1,2,3 sont convertis en un nombre INTEGER. Le caractère ”D” interrompt la conversion car il ne peut pas faire partie d’un nombre INTEGER. Les caractères qui suivent ne sont plus traités. La valeur de la variable INTEGERJ% est NUL, la variable n’est pas occupée. Le caractère ”A” interrompt le traitement de l’<expression STRING>. La valeur de la variable REAL R est de - 1.23. Le caractère ”-” est reconnu comme signe avancé du nombre REAL. Le chiffre 1, le caractère ”.”, les chiffres 2 et 3 sont convertis en un nombre REAL. Le caractère ”D” interrompt la conversion car il ne peut pas faire partie d’un nombre REAL. Le caractère ”E” ne sera plus traité. La valeur de la variable REALZ est 1234. Le caractère ”+” est reconnu comme signe avancé pour le nombre REAL. Les espaces suivants sont ignorés comme les zéros de tête pour la création de valeur. Les chiffres 1, 2, 3 et 4 sont convertis en un nombre REAL. Le caractère ”T” interrompt la conversion car il ne peut pas faire partie d’un nombre REAL. Les caractères restants ne sont plus traités. La variable REALX est NUL, autrement dit non occupée. La reconnaissance du caractère ”A” entraîne une interruption de la conversion. La valeur de la variable REAL double précise D! est 1234567.234567. 5 -108 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères 5.14.7 Suppression d’espaces de tête ou suivants TRIM$ TRIM$(<suite de caractères>) TRIM$(<suite de caractères>,”L”) TRIM$(<suite de caractères>,”R”) TRIM$() fournit lors de l’attribution d’une plage de champ de caractères à une variable de STRING ou un champ de caractères une suite de caractères sans espace précédent (→ index L) ou suivant (→ index R). La fonction TRIM sans index masque aussi bien les espaces précédents que suivants.Si une mise en chaîne a lieu au sein de l’ordre TRIM (par ex. TRIM$(A$+B$)), le résultat peut être attribué à un unique champ de caractères. Exemple: 1 2 3 4 5 6 7 8 A$ = ” ABCDEF ” B$ = TRIM$(A$,”L”) C$ = TRIM$(A$,”R”) D$ = TRIM$(A$) PRN#(1,”>”,A$,”<”) PRN#(1,”>”,A$,”<”) PRN#(1,”>”,C$,”<”) PRN#(1,”>”,D$,”<”) mène dans le fichier ouvert à écrire avec le numéro log. 1 aux lignes suivantes: > ABCDEF < >ABCDEF < > ABCDEF< >ABCDEF< R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -109 Traitement de chaînes de caractères 5.14.8 Exemples de programmation Il peut être attribué une expression STRING à une variable STRING. Exemple: Programmation de variables STIRNG (sans dimensionnement préalable) 1 A$=”ABCDE” 2 B$=CHR$(10) En cas d’accès en lecture, il est possible d’accéder à des parties de la variable STRING au moyen de l’ordre MID$: 1 A$=”ABCDEFGHIJKLMN” 2 B$=MID$(A$,2,1) 3 C$=MID$(A$,4,4) Les programmations suivantes entraînent des erreurs: 4 MID$(A$,1,4)=”ABCD” 4 A$=MID$(A$,1,3) + MID$(A$,4,1) 4 A$=B$ + A$ Pour la poursuite du traitement d’un champ de caractères dimensionné, il est nécessaire d’accéder de manière ciblée à un ou plusieurs caractères qui se suivent. Ce n’est qu’ainsi qu’il est possible d’affecter un champ de caractères ou une partie de champs de caractères à une variable STRING ou à un autre champ de caractères. L’accès en lecture et en écriture à une partie d’un champ de caractère est effectué via l’ordre MID$. Si uniquement le nom du champ de caractères est indiqué, l’ensemble du champ de caractères est appelé. Lecture d’un champ de caractères S’il doit être accédé au <nème>- caractère du champ, procéder de la manière suivante (n est inférieur ou égal à la longueur du champ de caractères et au nombre de caractères du champ). Exemple: Lecture d’un champ de caractères 1 DIM VWX$(13) 2 VWX$=”TEST TEST TES” 3 A$ = MID$(VWX$,12,1) 4 I%=12 5 A$=MID$(VWX$,I%,1) Le 12ème caractère (”E”) du champ VWX$ est affecté à la variable STRING A$. 5 -110 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères Ecriture d’un champ de caractères Si le contenu d’une variable STRING doit être transmis au champ de caractères ou à une partie du champ de caractères, il faut modifier l’affectation. Exemple: Ecriture partielle du champ de caractères 1 DIM XYZ$(15) 2 B$=”ABCDE” 3 MID$(XYZ$,1,5)=B$ 4 MID$(XYZ$,6,5)=B$ Les caractères de 1 à 10 du champ de caractères XYZ$ sont occupés avec le contenu de la variable STRING B$. La programmation suivante entraînerait le message d’erreur CHAMP DE CARACTÈRES NON OCCUPÉ car les caractères 1 à 5 du champ ne sont pas encore occupés. 1 DIM XYZ$(15) 2 B$=”ABCDE” 4 MID$(XYZ$,6,5)=B$ Exemple: Ecriture partielle du champ de caractères 1 DIM XYZ$(100) 2 B$= ”ABCDE” 3 MID$(XYZ$,1,10)=B$ Contenu de la variable STRING B$ : ”ABCDE” Contenu de la variable de champ XYZ$ : ”ABCDE” La variable de champ est de longueur 5. Les 95 caractères restants ne sont pas occupés. Si la longueur de la variable STRING est inférieure au champ de caractères, le champ de caractères XYZ$ est alors écrit sur la longueur de la variable STRING. En cas d’affectation du champ de caractères à une variable STRING, ce n’est pas l’ensemble du champ de caractère qui a été déterminé par l’instruction DIM qui est affecté mais uniquement la plage qui a été écrite auparavant (³ longueur du champ de caractères). Exemple: 1 DIM XYZ$(100) 3 MID$(XYZ$,1,10)=”ABCDE” 4 MID$(XYZ$,6,3)=”T” Après le bloc 3, le contenu de la variable de champ XYZ$ est : ”ABCDE”. La variable de champ est de longueur 5. Les 95 caractères restants ne sont pas occupés et ne comptent de ce fait pas dans la longueur. Après le bloc 4, le contenu de la variable de champ XYZ$ est : ”ABCDET”. La variable de champ est de longueur 6. Les 94 caractères restants ne sont pas occupés et ne comptent de ce fait pas dans la longueur. Exemple: Remplacement d’un champ de caractères 1 DIM XYZ$(100) 3 MID$(XYZ$,1,10)=”1234567890” 4 MID$(XYZ$,3,3)=”T” R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -111 Traitement de chaînes de caractères Après le bloc 3, le contenu de la variable de champ XYZ$ ”1234567890” . La variable de champ est de longueur 10. Après le bloc 4, la variable de champ XYZ$ contient ”12T4567890” . La variable de champ est de longueur 10. Le caractère ”3” est remplacé par ”T”. Les caractères ”4” et ”5” sont conservés. Exemple: Accès interdit au champ de caractères 1 DIM XYZ$(100) 3 MID$(XYZ$,1,6)=”ABCDEF” 5 MID$(XYZ$,9,5)=”TESTE” Après le bloc 3, la variable de champ XYZ$ contient “ABCDEF“. La variable de champ est de longueur 6. Il est tenté après le bloc 5 d’affecter une constante sur les composants 9 à 13 du champ de caractère. Cela entraîne toutefois l’émission du message d’erreur CHAMP DE CARACTÈRES NON OCCUPÉ car les 7ème et 8ème composants n’ont pas encore été occupés. S’il doit être accédé au champ de caractères complets, l’indication d’un nom de variable suffit. 5 -112 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères 5.14.9 Affectation d’une expression STRING à un champ de caractères Si l’expression STRING contient moins de caractères que la plage sélectionnée du champ de caractères, la plage restante est considérée comme non occupée. Cette plage restante n’est pas comptée dans la longueur du champ de caractères. Exemple: 1 DIM XYZ$(16) 2 XYZ$=” ” Contenu du champ de caractères XYZ$ : ” ” Longueur du champ de caractères XYZ$ : 1 Si la longueur de l’expression STRING lors de l’attribution dépasse la longueur maximale du champ de caractères, les caractères en trop son rejetés. Exemple: 1 DIM XYZ$(3) 2 XYZ$=”ABCDEF” Contenu du champ de caractères XYZ$ : ”ABC” Longueur du champ de caractères XYZ$ : 3 ---> longueur maximale Exemple: 1 2 3 4 DIM XYZ$(16) A$=”CECI ” B$=”EST UN TEST” C$=”UN OEUF” 5 MID$(XYZ$,1,4)=A$ CONTENU DU CHAMP DE CARACTÈRES --------------------------------------------------------| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 |15 |16 -------------------------------------------------------------| | | | | | | | | | | | | | | | | C | E | C | I | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------| | Longueur = 4 6 MID$(XYZ$,5,6)=B$ Zone non occupée | | | | | R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -113 Traitement de chaînes de caractères CONTENU DU CHAMP DE CARACTÈRES ----------------------------------------------------------------| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 |15 |16 | ----------------------------------------------------------------| | | | | | | | | | | | | | | | | | C | E | C | I | | E | S | T | | U | N | | | | | | | | | | | | | | | | | | | | | | | ----------------------------------------------------------------| | | Longueur = 10 Zone non occupée 7 MID$(XYZ$,5,12)=B$ CONTENU DU CHAMP DE CARACTÈRES ----------------------------------------------------------------| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 |15 |16 | ----------------------------------------------------------------| | | | | | | | | | | | | | | | | | C | E | C | I | | E | S | T | | U | N | | T | E | S | T | | | | | | | | | | | | | | | | | | ----------------------------------------------------------------| | Longueur = 16 Zone complètement occupée 8 MID$(XYZ$,9,8)=C$ CONTENU DU CHAMP DE CARACTÈRES ----------------------------------------------------------------| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 |15 |16 | ----------------------------------------------------------------| | | | | | | | | | | | | | | | | | C | E | C | I | | E | S | T | | U | N | | T | E | S | T | | | | | | | | | | | | | | | | | | ----------------------------------------------------------------| | Longueur = 16 Zone complètement occupée 9 XYZ$=MID$(XYZ$,1,4) CONTENU DU CHAMP DE CARACTÈRES ----------------------------------------------------------------| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 |15 |16 | ----------------------------------------------------------------| | | | | | | | | | | | | | | | | | C | E | C | I | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------------------------------------------------------------| | | Longueur = 4 Zone non occupée Une coupure du champ de caractères a lieu. 5 -114 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères 5.14.10 Comparaisons d’expression STRING il est aussi possible de comparer des expressions STRING, autrement dit des constantes STRING, des variables STRING et des champs de caractères les uns avec les autres. Exemple: 1 DIM A$(10) 2 DIM B$(15) 3 A$=”ANTON” 4 B$= ”WILLI” 5 C$=”ABCDE” 6 D$=”VWXYZ” 7 IF A$ < B$ THEN ... 8 IF MID$(A$,2,3) = MID$(B$,1,3) THEN ... 9 Z?=A$ <> ”TESTE” 10 IF ”A” <= ”C” THEN ... 11 IF C$ > D$ THEN ... 12 IF A$ = C$ THEN ... 13 IF ”TE” < MID$(D$,2,2) THEN ... Les contenus des expressions STRING sont contrôlés conformément au code ASCII des caractères individuels sur la chronologie alphabétique. 5.14.11 Mise en chaîne d’expressions STRING La mise en chaîne de plusieurs expression STRING est effectuée avec le signe “+“. Un champ de caractères doit être affecté au résultat. La profondeur d’imbrication lors de la mise en chaîne d’expressions STRING est de 3. Si elle est dépassée, le message d’erreur ERREUR DE DURÉE D’EXÉCUTION 2153 – IMBRICATION TROP PROFONDE est émis. Exemple: Mise en chaîne aussi au sein de ordres CPL 1 DIM A$(3) 2 DIM B$(3) 3 A$ = ”ABC” 4 B$ = ”DEF” 5 C$ = ”GH” 6 D$ = ”JKL” 7 OPENW(1,”P2”,130,”TEST MISE EN CHAINE”,10) 8 PRN#(1,A$+B$) 9 PRN#(1,A$+C$) 10 PRN#(1,C$+D$) 11 PRN#(1,A$+C$+”TEST”) 12 PRN#(1,”UVW”+”XYZ”) 13 CLOSE(1) Contenu du fichier P2: ABCDEF <LF> ABCGH <LF> GHJKL <LF> R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -115 Traitement de chaînes de caractères ABCGHTEST <LF> UVWXYZ <LF><ETX><LF> Exemple: Mise en chaîne de textes par expressions STRING 10 20 30 40 51 52 53 54 55 60 70 80 90 92 93 94 95 96 97 98 DIM A$(100) DIM B$(100) DIM C$(10) DIM D$(20) DIM E$(30) DIM F$(30) DIM G$(30) DIM H$(30) DIM I$(30) A$=”DAS ” B$=”IST EIN TEST” MID$(C$,1,6)=A$ + B$ MID$(D$,1,10)=MID$(A$,1,1) + MID$(B$,1,2) E$=A$ + MID$(B$,1) X$=”ABC” Y$=”DE” F$=X$ + Y$ G$=X$ + A$ H$=X$ + A$ + ”TEST” I$=”TES” + ”T1” Contenu de A$: ”CECI ” Contenu de B$: ”EST UN TEST” Contenu de C$:”CECI EST” Contenu de D$:”DIS” Contenu de E$: ”CECI EST UN TEST” Contenu de F$: ”ABCDE” Contenu de G$:”ABCDAS ” Contenu de H$:”ABCDAS TEST” contenu de I$: ”TEST1” longueur 4 Longueur 12 Longueur 6 Longueur 3 Longueur 16 Longueur 5 Longueur 7 Longueur 11 longueur 5 La programmation suivante entraîne des erreurs: 1 2 3 4 5 DIM A$(3):A$ = ”ABC”:B$ = ”CD”:C$ = ”EF” D$ = A$ + B$ D$ = B$ + C$ affectation non autorisée à une D$ = A$ + B$ + ”TEST” variable STRING non dimensionnée D$ = ”TEST” + ”TEST1” Exemple: STR$ 1 DIM A$(50) : DIM B$(21) 2 A$ = STR$(”A$ = ##.###”,(37/3)) : B$ = STR$(2.5) Contenu du champ de caractères A$ : ”A$ = 12.333”; champ de caractères B$: ” 2.500” Exemple:VAL 5 -116 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de chaînes de caractères 1 DIM FOLGE$(20) : FOLGE$=”X-WERT -0001.234 MM” 2 XR=VAL(MID$(FOLGE$,7)) : Z%=VAL(MID$(FOLGE$,7,6)) 3 Y%=VAL(MID$(FOLGE$,15,5)) : X%=VAL(MID$(FOLGE$,18)) Contenu de la variable REAL XR : Contenu de la variable INTEGER Z% : Contenu de la variable INTEGER Y% : Contenu de la variable INTEGER X% : -1.234 -1 34 NUL Exemple: LEN 1 2 3 4 5 6 7 DIM Z$(10) Z$ = ”TEST” S$ = ”TEST” A% = LEN(”TEST”) B% = LEN(Z$) C% = LEN(S$) D% = LEN(”TEST”+Z$+S$) Contenu Contenu Contenu Contenu de de de de la la la la variable variable variable variable INTEGER INTEGER INTEGER INTEGER A% B% C% D% : : : : 4 4 4 12 Exemple: MID$-Ordre avec accès en lecture 10 20 30 40 50 55 60 DIM A$(4) DIM B$(10) DIM C$(10) DIM D$(10) DIM E$(10) DIM F$(10) A$ = ”ABCD” 70 80 95 97 98 B$ C$ E$ F$ F$ = = = = = MID$(A$,2,2) MID$(A$,2,5) MID$(A$,5,1) MID$(A$,2) MID$(F$,1,1) --> --> --> --> --> B$ C$ E$ F$ F$ = = = = = ”BC” ”BCD” NUL ”BCD” ”B” Exemple: MID$-Ordre avec accès en écriture 10 20 30 40 60 70 80 85 90 95 97 DIM A$(4) DIM B$(10) DIM C$(10) DIM D$(10) A$ = ”ABCD” B$ = ”1234567890” C$ = ”EFGHIJKLMN” D$ = A$ MID$(D$,2,3) = B$ MID$(D$,5,1) = C$ MID$(D$,4) = B$ Exemple: TRIM$ --> --> --> --> D$ D$ D$ D$ = = = = ”ABCD” ”A123” ”A123E” ”A121234567” R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Traitement de chaînes de caractères 1 2 3 4 5 6 DIM XYZ$(16) XYZ$ = ”XWERT = 0.123 ” A$ = MID$(XYZ$,8) B$ = TRIM$(MID$(XYZ$,8)) C$ = TRIM$(MID$(XYZ$,8),”L”) D$ = TRIM$(MID$(XYZ$,8),”R”) Contenu de la variable STRING A$ : Contenu de la variable STRING B$ : Contenu de la variable STRING C$ : Contenu de la variable STRING D$ : ” 0.123 ” ”0.123” ”0.123 ” ” 0.123” 5 -117 5 -118 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier 5.15 Traitement de fichier Un fichier est un conteneur recelant des données. Au cours d’un programme CPL, les données peuvent être lues des fichiers ou elles peuvent être archivées dans les fichiers. Ainsi il est possible par ex. d’enregistrer d’abord des valeurs de mesure pour les afficher plus tard ou pour les imprimer à l’aide d’une imprimante. A l’intérieur de la CNC, les données sont administrées dans le système de fichiers. Elles sont archivées de manière organisée dans une structure hiérarchique. L’accès aux différentes données s’effectue via des chemins de répertoires. Il est possible d’administrer les fichiers sous des différents modes d’opération. Pour avoir accès par lecture ou écriture aux données, le fichier correspondant doit toujours d’abord être ouvert (voir instructions OPENW, OPENR); aussitôt que l’accès aux données n’est plus nécessaire, le fichier est de nouveau fermé (voir instruction CLOSE). 5.15.1 Noms fichier Les conventions suivantes doivent être respectées pour les noms fichiers: longueur maximale 30 caractères. Il n’existe aucune distinction entre le nom et l’extension possible du nom de fichier. Tous les chiffres, lettres et les caractères spéciaux ’.’ et ’_’ sont admis. Les noms de fichier de programmes de pièces peuvent avoir une longueur maxi de 28 caractères étant donné que la CNC génère un fichier lors de la liaison, dont le nom se compose du nom fichier original plus 2 autres caractères. Le caractère spécial ’$’ doit être utilisé uniquement pour des fichiers générés en interne. Les noms fichier entrant de l’extérieur (via l’interface utilisateur, DNC) ne doivent pas contenir ’$’. Il est distingué entre minuscules et majuscules. Exemples: Noms fichier P123456789.PRG P12_Daten_Dial P12_DATEN_DIAL Les noms fichier ’.’ et ’..’ sont interdits étant donné qu’ils sont déjà utilisés en interne. A l’intérieur d’un répertoire, les noms fichier doivent être univoques. Il est cependant possible que dans des répertoires différents, des fichiers portent le même nom. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -119 Traitement de fichier 5.15.2 Structure de fichier séquentielle Un fichier séquentiel contient une séquence de composants (Records), pouvant avoir une longueur variable. Si un certain enregistrement est cherché dans un fichier séquentiel, le fichier doit être exploré depuis le début pour cet enregistrement. Un accès direct n’est pas possible. Si la longueur d’un enregistrement dans un fichier séquentiel est modifiée, tous les enregistrements suivants doivent être déplacés. Contrairement aux fichiers aléatoires, les fichiers séquentiels contiennent des enregistrements de longueurs différentes (longueur maxi 1024 caractères). La fin d’un enregistrement est caractérisée par un <LF> ne faisant pas partie de la longueur. Après le dernier enregistrement d’un fichier, un<ETX><LF> est inséré représentant un pointeur EOF. Un pointeur EOF est un indicateur de la fin des données utilisables (<ETX>) dans un fichier. 5.15.3 Structure de fichier aléatoire Un fichier aléatoire possède des composants (enregistrements) avec une longueur fixe, définissable. Un accès direct libre à un composant quelconque du fichier est ainsi possible. La répartition du fichier aléatoire dans des enregistrements de longueur fixe permet l’accès direct à un certain enregistrement. Les données sont archivées comme pour les fichiers séquentiels en tant que caractères ASCII. Ceci permet non seulement l’accès habituel avec l’éditeur mais aussi la lecture et la collecte des fichiers aléatoires. Le fichier aléatoire présente l’avantage d’un accès plus rapide aux données nécessaires. En plus les fichiers d’un enregistrement peuvent être traités et/ou modifiés sans modifier la structure du reste du fichier. Les enregistrements qui ne sont pas remplis complètement avec des données, sont remplis d’espaces (³ Blanks) jusqu’à la longueur définie. En cas de tentative d’insérer une variable STRING dans un fichier aléatoire dont la longueur est plus grande que la longueur de l’enregistrement, l’enregistrement est rempli des premiers caractères de la variable STRING jusqu’à la longueur définie et le reste des caractères est annulé. Pendant la lecture du fichier, la fin du fichier est reconnue par EOF. Les instructions REWRITE et CLOSE sont utilisées de la même manière que pour les fichier séquentiels. Un accès séquentiel à un fichier aléatoire est également possible. 5 -120 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier 5.15.4 Ouverture d’un fichier Afin de pouvoir accéder dans un programme CPL à un fichier à l’aide des instructions de traitement de fichier ce fichier doit d’abord être ouvert pour le programme CPL. Les instructions suivantes ont cette fonction. OPENW, OPENR L’instruction d’ouverture d’un fichier dépend du type d’accès souhaité: accès en écriture: OPENW accès en lecture: OPENR Si le fichier à ouvrir n’existe pas encore, il est créé lors de l’ouverture et la mémoire définie est réservée. Il est possible d’ouvrir des fichiers quelconques déjà ouverts pour l’écriture en lecture aussi via l’instruction OPENR. Un fichier ouvert ne peut cependant pas être ouvert encore une fois pour l’écriture. Un paramètre additionnel est introduit pour l’ouverture d’un fichier aléatoire qui définit la longueur des enregistrements dans le fichier sous forme d’octets (1 octet = longueur d’un caractère. Pour le reste, la structure de l’instruction correspond à celle du fichier séquentiel. Après une instruction OPENR, l’indicateur de fichier est placé sur le premier enregistrement sur lequel l’accès par lecture sera ensuite possible. Après une instruction OPENW, l’indicateur de fichier est placé sur le pointeur EOF, donc derrière le dernier enregistrement du fichier. Syntaxe: OPENW(<n>,<Progr-nom>,<longueur>[,<Progr-commentaire>] [,<longueur d’enregistrement>]) OPENR(<n>,<Progr-nom>[,<longueur d’enregistrement>]) <n>: Numéro logique sous lequel le fichier peut être adressé. Des valeurs de 1 à 9 peuvent être sélectionnées. Le numéro logique doit être programmé en tant qu’expression INTEGER. Un numéro logique ne doit pas être attribué simultanément pour la lecture et l’écriture d’un fichier. Donc, au maximum 9 fichiers peuvent être ouverts simultanément. Si la plage de valeurs n’est pas respectée, le message d’erreur NUMÉRO LOGIQUE INVALIDE est affiché. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -121 Traitement de fichier <Progr-NOM>: Doit être programmé en tant qu’expression STRING. Le string doit contenir au moins le nom du fichier (30 caractères max avec l’extension du nom fichier incluse). L’indication du nom de fichier avec le chemin complet mis en amont est permise. <Longueur>: Longueur réservée lors de la création du fichier en octets. Une longueur minimum de 130 octets est nécessaire étant donné que lors de l’écriture sur le fichier au moins 1 enregistrement (= 130 caractères) est généré et archivé. Le message d’erreur LONGUEUR DE FICHIER INADMISSIBLE est affiché en cas de non- respect. <Progr-commentaire>: Pour la programmation du paramètre commentaire de programme uniquement une expression STRING est permise. <Longueur d’enregistrement>: Nombre des octets d’un enregistrement; plage de valeurs: 1..1024. Si la plage de valeurs n’est pas respectée, le message d’erreur LONGUEUR DE COMPOSANT INADMISSIBLE est affiché. Exemples: 50 OPENW(1,”P500”,1024,”Ceci est mon meilleur programme”) 40 A$=”P500” : B1$=”Ceci est mon meilleur programme” 50 OPENW(9,A$,1024,B1$) 50 OPENW(7,”PDaten_Mes.DAT”,1024,”archiver les données de mesure”) Lors de l’ouverture du fichier en écriture, il est vérifié si la structure aléatoire est encore maintenue. Si la structure a été détruite via l’éditeur, le message d’erreur LONGUEUR DE COMPOSANT INVALIDE est affichée. Exemple: 10 20 30 40 50 OPENW(2,”P200”,1024,10) FOR I% = 1 TO 3 PRN#(2,”TESTE”) NEXT I% CLOSE(2) Résultat: ”P2” TESTE <LF> TESTE <LF> TESTE <LF> <ETX><LF> 5 -122 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier Lors de l’ouverture du fichier en lecture, il est vérifié si la structure aléatoire est encore maintenue. Tous les composants doivent avoir la même longueur définie dans l’instruction OPENR. Exemple: 1 2 3 4 5 OPENW(2,”P200”,130,”TEST”,10) PRN#(2,”ABC”) CLOSE(2) OPENR(1,”P2”,5) CLOSE(1) Il est vérifié si la longueur d’enregistrement du fichier ”P2” s’élève à 5. La longueur d’enregistrement de ce fichier s’élève toutefois à 10. Exemple: P1: N10 G1F10000X1000Y1000Z1000 1 A$=”01234567890123456789” 2 B$=”TEST” N20 X0 M30 P2: 1 OPENW(1,”PMess_PRG”,500,”RANDOMDATEI”,10) 2 OPENR(2,”P1”) 3 DIM A$(30) 4 FOR I% = 1 TO 5 5 INP#(2,A$) 6 PRN#(1,A$) 7 NEXT 8 CLOSE(2) 9 CLOSE(1) Résultat : PMess_PRG: N10 G1F100<LF> 1 A$=”0123<LF> 2 B$=”TEST<LF> N20 X0 <LF> M30 <LF> <ETX><LF><LF> Si la structure a été détruite via l’éditeur, le message d’erreur LONGUEUR DE COMPOSANT INVALIDE est émis. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -123 Traitement de fichier FILENO Pour l’accès au fichier, des numéros logiques de fichier pouvant avoir des valeurs comprises entre 1 et 9, c’est- à - dire 9 fichiers max peuvent être ouverts simultanément via CPL, sont nécessaires. L’instruction FILENO permet de consulter le prochain numéro logique valable de fichier. Si la fonction fournit la valeur ”- 1”, aucun numéro logique libre de fichier n’est disponible. La valeur de fonction est du type intégrale. Exemple: 10 LOG_NR%= FILENO 20 IF (LOG_NR% <> (-1)) THEN 30 OPENW(LOG_NR%,”/user/usr/Test”,130) 40 PRN#(LOG_NR%,”Date : ”,DATE) 50 CLOSE(LOG_NR%) 60 ELSE 70 PRN#(0,”Aucun numéro log libre de fichier n’est disponible !”) 80 ENDIF M30 VERSINF$ A l’aide de VERSINF$ il est possible de consulter les données administratives IndraMotion MTX dans le programme CPL. La fonction fournie une valeur du type string. Syntaxe: VERSINF$(<Index1>[,<Index2>]) <Index1>: <Index2>: Constante type intégrale. Mode fonction: 1: Lecture de la version logiciel 2: Lecture de la version matériel. type intégrale. Mode additionnel de la fonction, dépendant de la valeur du paramètre <Index1>. <Index1> = 1: Aucun mode additionnel disponible <Index1> = 2: Mode additionnel : 1: Type matériel (par défaut) 2: Nº du groupe de commutation 3: Index du nº du groupe de commutation Exemple: 10 DIM SYS_INFO$(50) 20 SYS_INFO$ = VERSINF$(1) 30 PRN#(0,”Version logiciel : ”, SYS_INFO$) M30 5 -124 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier DIRINF A l’aide de DIRINF il est possible de consulter les données administratives IndraMotion MTX dans le programme CPL. La fonction fournit une valeur du type intégrale (pour les résultats négatifs, le résultat réel est supérieur à la valeur max intégrale, c’est - à - dire, > 2.147.483.647). La syntaxe se change dépendant de la valeur du paramètre <Index1>. Syntaxe pour <Index1> = 1, 2 ou 3: DIRINF(<Index1>[,<Index2>]) Syntaxe pour <Index1> = 4: DIRINF(4,[<Index2>],<var résultat>[,<numéro fichier>]) <Index1>: Constante type intégrale. Mode fonction: 1: mémoire libre 2: mémoire occupée 3: Nombre de fichiers présents dans le répertoire 4: Nom fichier dans le répertoire <Index2>: Type string. Mode additionnel: Nom répertoire (par défaut: répertoire actuel) <Var résultat>: Type variable string dimensionnée, uniquement pour le mode fonction 4. Fourni le nom d’un fichier dans le répertoire indiqué après exécution de l’instruction. <Numéro fichier>: Type intégrale, uniquement pour le mode fonction 4. Dans le <numéro fichier> le numéro d’ordre du fichier dans le répertoire est indiqué dont le nom doit être fourni dans <var résultat>. Pour un numéro d’ordre inadmissible <var résultat> NUL est fourni. Valeur de retour: Mode fonction 1: Mode fonction 2: Mode fonction 3: Mode fonction 4: mémoire libre en octets mémoire occupée en octets Nombre de fichiers présents dans le répertoire 0 (<var résultat> contient nom de fichier) ou 1 (<var résultat> est NUL) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -125 Traitement de fichier Exemple: ; afficher tous les noms fichiers du répertoire ”/database” ; dans la fenêtre MSG 10 DIM FILENAME$(30) 20 LJUST 30 DIR$= ”/database” 40 ANZ_FILES%= DIRINF(3,DIR$) 50 FOR LNR%= 1 TO ANZ_FILES% 60 ERG%= DIRINF(4,DIR$,FILENAME$,LNR%) 70 PRN#(0,LNR%,”: ”,FILENAME$) 80 NEXT LNR% M30 DIRCR A l’aide de DIRCR il est possible de créer un nouveau répertoire dans le programme CPL. La fonction fournie une valeur du type intégrale. Syntaxe: DIRCR(<répertoire>) <Répertoire>: Nom du répertoire avec chemin complet en tant qu’expression string. Sans indication du chemin le répertoire actuel est mis en amont de l’expression string. Valeur de retour: 0: Le répertoire a été créé. 1: Création du répertoire impossible Exemple: 10 I% = DIRCR(”/usr/user/test”) M30 DIRDEL A l’aide de DIRDEL il est possible de supprimer un répertoire vide dans le programme CPL. La fonction fournie une valeur du type intégrale. Syntaxe: DIRDEL(<répertoire>) <Répertoire>: Nom du répertoire avec chemin complet en tant qu’expression string. Valeur de retour: 0: Le répertoire a été supprimé. 1: Impossible de supprimer le répertoire 5 -126 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX Traitement de fichier Exemple: 10 I% = DIRDEL(”/usr/user/test”) M30 R911311170 / 01 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -127 Traitement de fichier 5.15.5 Ecriture d’un fichier LJUST, NJUST Avec LJUST (= Left JUSTify) une commutation sur l’édition de données alignées à gauche est effectuée. Elle agit pendant toutes les sorties de fichiers jusqu’à la fin de l’exécution du programme. Avec NJUST (No JUSTify) il est possible de rétrograder de manière prématurée en édition formatée. Lors de l’édition de données sur des fichiers pour le type de données REAL 7 positions max (4 positions avant la virgule et 3 positions après la virgule) et pour le type de données INTEGER 9 positions max sont disponibles. Les zéros de tête et les zéros de poursuite sont écrasés à cette occasion. Ceci est également valable pour l’édition alignée à gauche. Avec LJUST il est possible de générer directement des programmes CN avec CPL qui peuvent être exécutés sous le mode de fonctionnement EXÉCUTION, étant donné que les caractères de séparation entre l’adresse CN et la valeur seront écrasés. PRN# Syntaxe: PRN#(<n>,[<expression>][,<expression>][,<expression>][,...][;]) <n>: 1 à 9: numéro logique du fichier dans lequel doit être écrit. 0: L’édition est déviée sur l’écran (comme pour la programmation des remarques à l’aide de l’instruction MSG). <Expression>: caractères alphanumériques (texte en guillemets), strings de format ou variable dont le contenu doit être enregistré/affiché. ; écrase l’ajout automatique d’un <CR><LF>. Au cas où un enregistrement est remplacé via PRN#, ce qui suit s’applique: Instruction PRN# avec point virgule: Si la longueur des nouvelles données à écrire est plus courte que la longueur des anciennes données, les nouvelles données sont insérées et le reste des anciennes données est conservé. Instruction PRN# sans point - virgule: Si la longueur des nouvelles données à écrire est plus courte que la longueur des anciennes données, les nouvelles données sont insérées et le reste des anciennes données est remplacé par des caractères de séparation. 5 -128 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier Le type de variable peut être librement sélectionné. Egalement les variables indexées et des champs de caractères peuvent être utilisés. Il est aussi possible de programmer des expressions REAL double précises en tant qu’expressions CPL à discrétion. Si le résultat d’une expression doit être édité sous référence d’un format, au moins une des expressions doit être du type STRING. Dans ce string de format il est possible de définir le format à l’aide de ’#’ et ’.’. Les résultats sont inscrits à la position de l’instruction de format défini par ’#’. Ce faisant, la première instruction de format contenu dans une expression STRING se réfère à la première expression suivante qui peut être éditée avec une indication de format. Les expressions boléennes ne peuvent pas être formatées. Le nombre de toutes les indications de format programmées doit être inférieur ou égal au nombre des expressions à éditer. Si cette condition n’est pas remplie, les ’#’ superflus sont affichés. Sans indication de format, une expression est éditée dans le format standard. Si l’édition d’une expression est supérieure à 1024 caractères, le message d’erreur BLOC PLUS GRAND QUE 1024 OCTETS est émis. Si le résultat n’est pas représentable dans le format indiqué, l’avertissement FORMAT ERRONÉ PRN est émis et au lieu du format erroné, des caractères ”*” sont édités. Si des # doivent être créés dans le fichier lui- même, aucune expression formatable ne doit suivre après le string dans l’instruction PRN#. L’édition du caractère # peut aussi avoir lieu avec CHR$(35). Une avance de ligne peut être réalisée avec CHR$(13) pendant l’édition, autrement dit l’édition ultérieure de l’ordre PRN# est poursuivie dans la ligne suivante, c’est à dit dans l’enregistrement suivant. Avec la fonction CHR, il est par exemple possible lors de l’édition de transmettre d’autres caractères de commande via une interface série. Exemple: Ordre PRN# avec point - virgule 1 2 3 4 6 7 8 OPENW(2,”PProg123.PRG”,200,35) PRN#(2,”TEST1 POUR ORDRE PRN AVEC POINT VIRGULE”) PRN#(2,”TEST2 POUR ORDRE PRN AVEC POINT VIRGULE”) PRN#(2,”TEST3 POUR ORDRE PRN AVEC POINT VIRGULE”) SEEK(2,1) PRN#(2,”REMPLACER”;) CLOSE(2) RÉSULTAT dans PProg123.PRG: REMPLACER-ORDRE AVEC POINT VIRGULE<LF> TEST2 POUR ORDRE PRN AVEC POINT VIRGULE<LF> TEST3 POUR ORDRE PRN AVEC POINT VIRGULE<LF> <ETX><LF> R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -129 Traitement de fichier Exemple: Ordre PRN# sans point - virgule 1 1 2 3 4 6 7 8 OPENW(2,”P2”,1000,36) REWRITE(2) PRN#(2,”TEST1 POUR ORDRE PRN SANS POINT VIRGULE”) PRN#(2,”TEST2 POUR ORDRE PRN SANS POINT VIRGULE”) PRN#(2,”TEST3 POUR ORDRE PRN SANS POINT VIRGULE”) SEEK(2,1) PRN#(2,”REMPLACER”) CLOSE(2) RESULTAT dans P2: REMPLACER <LF> TEST2 POUR ORDRE PRN SANS POINT VIRGULE<LF> TEST3 POUR ORDRE PRN SANS POINT VIRGULE<LF> <ETX><LF> Un <ETX><LF> est ajouté derrière le dernier bloc du fichier. Si la longueur de bloc de 1024 caractères est dépassée, le message d’erreur BLOC PLUS GRAND QUE 1024 OCTET est émis. Si un fichier séquentiel est écrit et que ce faisant la fin du fichier est atteinte, le fichier est automatiquement copié et la plage réservée autour de la longueur occupée agrandie dans la mesure où la mémoire de programme de pièces dispose de suffisamment d’espace. Comme ce faisant très vite beaucoup d’espace mémoire est utilisé, il est conseillé lors de la création du fichier avec OPENW de réserver une longueur de fichier suffisante. Exemple: 1 OPENW(1,”P2”,300,”TEST ORDRE PRN”) 2 A$=”TEST” 3 B$=”POUR” 4 C$=”ORDRE PRN” 5 PRN#(1,A$) 6 PRN#(1,B$) 7 PRN#(1,C$) 8 PRN#(1,A$;) 9 PRN#(1,B$;) 10 PRN#(1,C$;) 11 CLOSE(1) Résultat: P2 : TEST<LF> POUR<LF> ORDRE PRN<LF> TESTPOURORDREPRN<LF><ETX><LF> 5 -130 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier Exemple: 10 20 30 40 50 60 70 80 90 95 DIM E$(50) OPENW(1,”P2”,300,”TEST2”) A% = 5000 R = 1.231 B! = 4/3 D$ = ”ABCDE” E$ = ”CDEFGHI” PRN#(1,”10”;) PRN#(1,”#####”,”###.###”,”#.#####”,A%,R,B!,D$,E$) CLOSE(1) P2 : 10 5000 1.2311.33333ABCDECDEFGHI<LF> A% R B! D$ E$ REWRITE Si le fichier ouvert contient déjà des données, les nouvelles données sont normalement attachées aux données existantes lors de l’écriture. Un fichier existant peut toutefois être remplacé par REWRITE sans que le contenu nécessaire ne doive être supprimé au préalable. Lors du remplacement, la zone réservée de l’ordre OPENW reste dans la mémoire de programme de pièces. Syntaxe: REWRITE(<n>) <n>: Numéro logique du fichier (plage de valeurs 1 ... 9) Avant de remplacer le fichier, celui - ci doit avoir été ouvert. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -131 Traitement de fichier 5.15.6 Lecture d’un fichier INP# Les données ASCII d’un fichier ouvert peuvent être lues avec l’instruction INP# sous forme d’enregistrement et une ou plusieurs variables être attribuées. L’ordre n’agit que sur les fichiers qui ont été ouverts avec ”OPENR(..)”. INP#(<n>,<Variable>[,<Variable>][,...][;]) <n>: 1 à 9:numéro logique du fichier duquel il doit être lu. <Variable>:Variable, sous laquelle les données lues sont enregistrées. ; Si un point virgule est programmé, l’indicateur de fichier reste dans l’enregistrement jusqu’à ce que la fin en soit atteinte. Il est ensuite commuté à l’enregistrement suivant. La lecture n’y est toutefois pas poursuivie. Si aucun point virgule n’est programmé, il est automatiquement commuté à l’enregistrement suivant. Le type de variable peut être librement sélectionné. Les variables indicées et les champs de caractères peuvent être utilisés. S’il est attribué à une variable logique une autre valeur que TRUE ou FALSE, elle est occupée avec NUL. Avec les variables INTEGER ou REAL (simple ou double précision), les caractères ‘0 ‘, ’9’, signe antérieur ’ - ’, ’+’, zéros antérieurs ou espaces sont convertis en valeurs INTEGER ou REAL. Si un autre caractère est affecté à des variables INTEGER ou REAL, la variable est occupée avec NUL. Si une variable est occupée avec NUL, la position ne change pas au sein du fichier. Si une valeur trop grande est affectée à une valeur INTEGER ou REAL, il apparaît un message d’erreur correspondant: VALEUR INTEGER INVALIDE VALEUR FLOAT INVALIDE 5 -132 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier Exemple: Instruction INP# P2 : ABC 123456789 ABC P3c: 1 OPENR(2,”P2”) 2 DIM C$(3) 3 DIM D$(3) 4 INP#(2,I%,J,L?,C$,K%,D$) 5 CLOSE(2) RÉSULTAT: I% = NUL J = NUL L? = NUL C$ = ”ABC” K% = 123456789 D$ = ”ABC” Exemple: Lire un enregistrement d’un fichier 1 OPENW(1,”P2”,200,”Test”,22) 2 PRN#(1,”-12TEST1.23V12ABCD2.4A”) 3 PRN#(1,”-12TEST1.23V12ABCD2.4A”) 4 PRN#(1,”-12TEST1.23V12ABCD2.4A”) 5 CLOSE(1) 6 DIM A$(3) 7 DIM C$(5) 8 DIM D$(4) 9 DIM E$(4) 10 DIM G$(25) 11 DIM H$(7) 12 DIM I$(7) 13 DIM J$(25) 14 DIM R(1,2) 15 OPENR(2,”P2”,22) 16 INP#(2,B%,D$,R(1,1),MID$(E$,1,1),R(1,2),A$,C$) 17 INP#(2,G$) 18 INP#(2,H$;) 19 INP#(2,I$;) 20 INP#(2,J$) 21 CLOSE(2) Résultat: B% = -12 D$ = ”TEST” , car la longueur du champ de caractères = 4 R(1,1) = 1.230 E$ = ”V” R(1,2) = 12.000 A$ = ”ABC” , car la longueur max. du champ de caractères = 3 C$ = ”D2.4A” G$ = ”-12TEST1.23V12ABCD2.4A” A$ = ”ABC” , car la longueur max. du champ de caractères = 7 A$ = ”ABC” , car la longueur max. du champ de caractères = 7 J$ = ”ABCD2.4A” R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -133 Traitement de fichier 5.15.7 Reconnaître l’extension de fichier EOF Il peut être reconnu avec la fonction EOF si la fin d’un fichier (EOF = end of file) est atteinte. La fonction EOF édite la valeur logique TRUE lorsque la fin du fichier est atteinte lors de l’accès en écriture. Dans le cas contraire, FALSE est édité. Exemple: : 9 DIM A$(10) 10 OPENR(1,”P”,444) : I%=0 11 WHILE NOT (EOF(1))DO 12 INP#(1,A$) 13 I%=I%+1 14 END 15 CLOSE(1) M30 5.15.8 Fermeture d’un fichier CLOSE Ferme un fichier 9 fichiers peuvent être ouverts simultanément au maximum. Si avec le 9ème fichier ouvert l’accès à un fichier supplémentaire est nécessaire, il faut tout d’abord fermer un fichier. De ce fait, les fichiers ouverts, en règle générale, doivent être refermés immédiatement après la conclusion des opérations de lecture ou d’écriture. Syntaxe: CLOSE(<n>) <n>: 1 à 9: numéro logique du fichier, devant être fermé. 5 -134 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier Exemple: : 90 100 110 120 130 140 150 160 170 180 : DIM A$(35) XPOS = MPOS(1) YPOS = MPOS(2) OPENW(1,”P5”,500,”ACHSPOS”) REWRITE(1) PRN#(1,”Axe X”,XPOS,YPOS,”Axe Y”,YPOS) CLOSE(1) OPENR(1,”P5”) INP#(1,A$) CLOSE(1) Dans l’exemple précédent, les positions actuelles des axes X et Y sont transmises dans des variables (lignes 90 à 110). Ensuite, le fichier 1 est ouvert et archivé en tant que programme de pièces P5 (ligne 120). Ensuite le fichier est écrit ou remplacé puis refermé (ligne 140 à 150). Le fichier est alors ouvert pour la lecture et le contenu affecté à la variable A$. Après l’accès en lecture, il est de nouveau fermé (ligne 160 à 180). 5.15.9 Lire la position de l’indicateur de fichier FILEPOS La fonction FILEPOS() fournit le numéro d’enregistrement de l’enregistrement actuel d’un fichier aléatoire auquel il doit ensuite être accédé. Il est de plus possible de déterminer le décalage d’enregistrement au sein de l’enregistrement actuel d’un fichier aléatoire ou de l’octet actuel avec un fichier séquentiel auquel il est possible d’accéder. Le fichier peut aussi bien être un fichier séquentiel qu’un fichier aléatoire. Sous décalage on entend le nombre d’octets du début du fichier jusqu’à l’octet actuel d’un fichier. Le décalage d’enregistrement indique sur quel octet au sein d’un enregistrement il doit être positionné. Le décalage d’enregistrement commence avec la valeur 1 (= 1er octet d’un enregistrement) et peut avoir au maximum la longueur d’un enregistrement + 1 (dernier octet de cet enregistrement est <LF>) Si l’on se trouve sur le pointeur EOF, la valeur 1 est fournie en retour. Syntaxe: FILEPOS(<n>[,<mode>]) <n>: 1 à 9: numéro logique du fichier dans lequel la position de l’indicateur de fichier doit être lue. Si la plage de valeurs n’est pas respectée, le message d’Erreur NUMÉRO DE FICHIER INVALIDE apparaît. <mode>: avec fichiers aléatoire: plage de valeurs 1 à 3 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -135 Traitement de fichier <mode> = 1: fournit le décalage sur l’octet actuel qui peut être lu ou écrit. <mode> = 2: fournit le numéro de l’enregistrement actuel qui peut être lu ou écrit. Si l’on se trouve sur le pointeur EOF, le résultat est : nombre d’enregistrement +1. <mode> = 3: fournit le décalage de l’enregistrement au sein de l’enregistrement actuel qui peut être lu ou écrit. Le décalage d’enregistrement commence avec la valeur 1 ( 1er octet d’un enregistrement) et peut avoir au maximum la longueur d’un enregistrement + 1 ( dernier octet de cet enregistrement est <LF>) Si l’on se trouve sur le pointeur EOF, la valeur 1 est fournie en retour et la lecture du fichier est invalide. <mode> non programmé: fournit le numéro de l’enregistrement actuel qui peut être lu ou écrit. Si l’on se trouve sur le pointeur EOF, le résultat est : nombre d’enregistrement +1. avec les fichiers séquentiels: plage de valeur 1 <mode> 1 ou non programmé: fournit le décalage sur l’octet actuel qui peut être lu ou écrit. Si la plage de valeurs de <mode> n’est pas respectée, le message d’erreur NUMÉRO DE FICHIER INVALIDE apparaît. Exemple: FILEPOS et fichier séquentiel 1 OPENW(1,”P2”,200,”TEST”) 2 FOR I%= 1 TO 10 3 PRN#(1,”TEST POUR FILEPOS”) 4 NEXT 5 CLOSE(1) 6 OPENR(1,”P2”) 7 SEEK(1,3) 8 POS% = FILEPOS(1) 9 POS1% = FILEPOS(1,1) 11 SEEK(1,0) : POSITIONNER REM SUR FIN DE FICHIER 12 POS2% = FILEPOS(1) 13 POS3% = FILEPOS(1,1) 14 CLOSE(1) Résultat: POS% = 3 -> nombre d’octets POS1% = 3 -> nombre d’octets POS2% = 171 -> nombre d’octets POS3% = 171 -> nombre d’octets 5 -136 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier Exemple: FILEPOS et fichier aléatoire 1 OPENW(1,”P2”,200,”TEST”,1024) 2 FOR I%= 1 TO 10 3 PRN#(1,”TEST POUR FILEPOS”) 4 NEXT 5 SEEK(1,3,2) 6 POS% = FILEPOS(1) 7 POS1% = FILEPOS(1,1) 8 POS2% = FILEPOS(1,2) 9 POS3% = FILEPOS(1,3) 10 PRN#(1,”remplacement du troisième enregistrement à partir de l’octet 2 avec ce texte”) 11 SEEK(1,0) : REM positionné sur fin de fichier 6 POS% = FILEPOS(1) 7 POS1% = FILEPOS(1,1) 8 POS2% = FILEPOS(1,2) 9 POS3% = FILEPOS(1,3) 11 CLOSE(1) Résultat: POS% = 3 -> Numéro de l’enregistrement dans lequel on se trouve POS1% = 258 -> nombre d’octets POS2% = 3 -> Numéro de l’enregistrement dans lequel on se trouve POS3% = 2 -> Position au sein du troisième enregistrement POS% = 11 -> Numéro de l’enregistrement dans lequel on se trouve POS1% = 1281 -> nombre d’octets POS% = 11 -> Numéro de l’enregistrement dans lequel on se trouve POS3% = 1 -> Position au sein du troisième enregistrement 5.15.10 Poser l’indicateur de fichier SEEK Positionne l’indicateur de fichier à un endroit précis du fichier ouvert. Le fichier peut aussi bien être un fichier séquentiel qu’un fichier aléatoire. Les fichiers séquentiels doivent être ouverts avec l’ordre ”OPENR(..)”. Dans le cas des fichiers aléatoires, l’ordre ”OPENW(..)” aussi est admissible. Syntaxe: SEEK(<n>,<k>[,<o>]) <n>: numéro logique du fichier dans lequel l’indicateur de fichier doit être positionné. Plage de valeur: 1 à 9 Si la plage de valeurs n’est pas respectée, le message d’erreur NUMÉRO DE FICHIER INVALIDE apparaît. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -137 Traitement de fichier <k>: <o>: Numéro d’enregistrement d’un fichier aléatoire ou du numéro d’octet d’un fichier séquentiel. L’indicateur de fichier est positionné sur <k>. Plage de valeurs: 0 jusqu’au dernier enregistrement ou 0 jusqu’au dernier octet existant. Le dernier enregistrement existant est celui avec le pointeur EOF. à 0, le positionnement a lieu sur le pointeur EOF. Si la plage de valeurs n’est pas respectée ou si l’enregistrement indiqué n’existe pas, le message d’erreur COMPOSANT INVALIDE est émis. Décalage d’enregistrement. Le décalage d’enregistrement indique sur quel octet au sein d’un enregistrement il doit être positionné. Plage de valeur: 1 ... Longueur d’enregistrement +1. Si le décalage d’enregistrement n’est pas programmé avec les fichiers aléatoires, l’indicateur de fichier est positionné sur le 1er octet de l’enregistrement <k>. Si la plage de valeurs n’est pas respectée, le message d’erreur PARAMÈTRE INVALIDE est émis. Ce paramètre n’est valide qu’avec les fichiers aléatoires. S’il est malgré tout programmé bien qu’il s’agisse d’un fichier séquentiel (ouvert en lecture), le message d’erreur PARAMÈTRE INVALIDE est émis. Exemple: SEEK et fichier séquentiel 1 DIM A$(1):LJUST:OPENW(1,”P271”,130,”TEST”):FOR I%=1 TO 10: PRN#(1,”!/-!/-!/-!/-!/-!/-!/-!/-!/-!/-”):NEXT: CLOSE(1):OPENR(2,”P271”):FOR I%=1 TO FILESIZE(2,2)-28: IF NOT (EOF(2)) THEN SEEK(2,I%):INP#(2,A$) ENDIF: IF (EOF(2)) THEN PRN#(0,”###”,I%,”. BYTE: <EOF>”): ELSE PRN#(0,”###”,I%,”. BYTE: <”,A$,”>”) ENDIF: NEXT I%:CLOSE(2) M30 Exemple: SEEK et fichier aléatoire 1 OPENW(1,27272,200,”TEST”,1024):LJUST 2 FOR I%= 1 TO 10 3 PRN#(1,I%,”. enregistrement”) 4 NEXT 5 SEEK(1,3,4) : REM sur le 4ème octet du 3ème enregistrement positionné 6 PRN#(1,”remplacement du troisième enregistrement à partir de l’octet 4 avec ce texte”) 7 SEEK(1,11):PRN#(1,”11. Record”) 8 SEEK(1,11,5):PRN#(1,”@@”) 9 SEEK(1,0):PRN#(1,”<EOF>”) 10 SEEK(1,0,1):PRN#(1,”nouvel <EOF>”) 11 CLOSE(1) 5 -138 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier 5.15.11 Déterminer la taille du fichier FILESIZE Indique la taille d’un fichier ou la limite jusqu’à laquelle un fichier a été écrit. Le fichier peut aussi bien être un fichier séquentiel qu’un fichier aléatoire. L’ordre n’agit que sur les fichiers qui ont été ouverts avec ”OPENR(..)”. Syntaxe: FILESIZE(<n>[,<k>]) <n>: <k>: 1à9 Numéro logique du fichier dont la taille doit être déterminée. Avec une plage de valeurs erronée, le message d’erreur NUMÉRO DE FICHIER INVALIDE est émis. avec fichiers aléatoires: plage de valeur 1 à 4 avec les fichiers séquentiels: plage de valeur 1 à 2 <k> = 1: Taille totale de la mémoire occupée par un fichier en octets. <k> = 2: Taille de la mémoire occupée du début de la plage de données au pointeur EOF en octets (exclusivement la taille du pointeur EOF). <k> = 3: Nombre maximal des enregistrements dans un fichier. Ce résultat dépend de la longueur d’enregistrement avec laquelle le fichier est ouvert. <k> = 4: Nombre des enregistrements du début du fichier jusqu’au pointeur EOF. Ce résultat dépend de la longueur d’enregistrement avec laquelle le fichier est ouvert. <k> non programmé: comme <k> = 1. Avec des plages de valeurs erronées pour <k>, le message d’erreur PARAMÈTRE INVALIDE est émis. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Traitement de fichier Exemple: FILESIZE et fichier séquentiel 1 OPENW(1,2,1000) 2 FOR I%= 1 TO 20 3 PRN#(1,”TESTE FILESIZE”) 4 NEXT 5 CLOSE(1) 6 OPENR(2,2) 7 A%=FILESIZE(2) 9 B%=FILESIZE(2,1) 10 C%=FILESIZE(2,2) 11 CLOSE(2) La variable INTEGER A% contient la valeur : 302 La variable INTEGER B% contient la valeur : 302 La variable INTEGER C% contient la valeur : 300 Exemple: FILESIZE et fichier aléatoire 1 OPENW(1,”P2”,1000,10) 2 FOR I%= 1 TO 20 3 PRN#(1,”TESTE FILESIZE”) 4 NEXT 5 CLOSE(1) 6 OPENR(2,2,10) 7 A%=FILESIZE(2) 9 B%=FILESIZE(2,1) 10 C%=FILESIZE(2,2) 10 D=FILESIZE(2,3) 10 E%=FILESIZE(2,4) 11 CLOSE(2) La variable INTEGER A% contient la valeur : 222 La variable INTEGER B% contient la valeur : 222 La variable INTEGER C% contient la valeur : 220 La variable INTEGER D% contient la valeur : 20 La variable INTEGER E% contient la valeur : 20 5 -139 5 -140 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier 5.15.12 Supprimer le fichier ERASE Supprime le fichier dans le répertoire actuel. Syntaxe: ERASE(<identification prog.>) <Identification prog.> Expression STRING ; maximum 30 caractères. Dans le cas contraire, le message d’erreur NOM DE FICHIER INVALIDE est émis. Le fonction ERASE peut livrer les résultats suivants comme valeur intégrale dans une variable INTEGER affectée ou dans une boucle et demandes (WHILE, IF, etc.): 0: Fichier supprimé. 1: Le fichier n’a pas été supprimé parce qu’il n’existe pas. 2: Le fichier n’a pas été supprimé parce qu’il est protégé contre la suppression. 3: Le fichier n’a pas été supprimé parce qu’il est actif. Si un fichier ne peut pas être supprimé, un avertissement est émis en conséquence et le traitement du programme poursuivi. Exemples: 10 IF ERASE(”P1”) <> 0 THEN ... 10 I% = ERASE(”P1”) 10 WHILE ERASE(”P1”) <> 0 DO ... Exemple: 10 11 20 21 31 32 40 43 44 OPENW(1,”P2”,200) OPENW(2,”P3”,200) PRN#(1,”TEST1 POUR ERASE”) PRN#(2,”TEST2 POUR ERASE”) CLOSE(1) CLOSE(2) ERASE(”P2”) A$=”P3” ERASE(A$) R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -141 Traitement de fichier 5.15.13 Déterminer les droits d’accès de fichier FILEACCESS FILEACCESS permet de déterminer dans le programme CPL si un fichier existe et de quels droits d’accès vous disposez. Syntaxe: FILEACCESS( <Nom de fichier>) <Nom de fichier> Nom de fichier avec le chemin complet en expression String. Sans indication de chemin, le fichier est recherché dans le répertoire actuel. La fonction CPL fournit une valeur intégrale comme valeur de retour. -1 : Le fichier n’existe pas 0: : Fichier sans droits d’accès autrement : droits d’accès à codage binaire: Bit1: exécution possible (X) Bit2: écriture autorisée (W) Bit3: lecture autorisée (R) Bit4: fichier est un répertoire (D) Bit5: fichier est un programme actif (A) Un programme actif est un fichier dans qui est traité dans un canal comme un programme. comme un sous - programme de programme. qui a été ouvert par un ordre CPL. Si les droits d’accès pour un décalage de point zéro ou de tableau de correction d’outil utilisé précisément dans un programme de pièces en cours, interrogés par l’ordre FILEACCESS, le bit 5 n’est pas posé. Exemple: 10 I% = FILEACCESS(”/usrfep/test.cnc”) 5 -142 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Traitement de fichier 5.15.14 Déterminer la date du fichier FILEDATE FILEDATE permet de déterminer la date d’un fichier dans le programme CPL. Une erreur d’accès ne génère pas une erreur de programme de pièces mais fournit la fonction d’un string vide. Syntaxe: FILEDATE(<nom de fichier>[,<Mode>]) avec <Nom de fichier> <Mode> Nom de fichier avec le chemin complet en expression String. Sans indication de chemin, le fichier est recherché dans le répertoire actuel. La fonction CPL fournit une expression string en valeur de retour. de variable intégrale pour le mode de fonction (nº Valeur par défaut = 1): 1 = Date du fichier, format: tt.mm.jj 2 = Heure du fichier, format: hh.mm.ss Exemple: 10 20 30 40 50 DIM DATE$(10) DATE$ = FILEDATE(”/usr/user/Test.txt”,1) IF LEN(DATE$)>0 THEN PRN#(0,”Date du fichier : ”,DATE$) ENDIF R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -143 Traitement de fichier 5.15.15 Copier un fichier FILECOPY FILECOPY permet de copier un fichier dans le programme CPL. Syntaxe: FILECOPY(<source fichier>,<ciblre fichier>) avec <source fichier> nom du fichier y compris indication de chemin du fichier source comme expression string. Sans indication de chemin, le fichier est recherché dans le répertoire actuel. <cible fichier> nom du fichier y compris indication de chemin du fichier cible comme expression string. Sans indication de chemin, le fichier est créé dans le répertoire actuel. Variable CPL ERRNO programmable à n’importe quel endroit. Avec ERRNO une erreur d’exécution n’est pas générée en cas d’erreur, les valeurs signal sont: 0: Accès o.k. - 8: nom du fichier source y compris chemin trop long - 9: Accès au fichier source impossible - 10: nom du fichier cible y compris chemin trop long - 11: nom du fichier (source ou cible) inadmissible - 12: impossible de copier Exemple: 10 FILECOPY(”/usr/user/Test.txt”, ”/usr/user/Test.bak”, ERRNO) 20 IF ERNO = 0 THEN 30 PRN#(0,”processus de copie ok”) 40 ENDIF 5 -144 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Communication 5.16 Communication MMC Envoie des informations concernant la durée du programme d’un programme de pièces à un client et attend le résultat de ce client. Cela est effectué au moyen des variables CPL qui peuvent aussi bien envoyer des valeurs du programme de pièces que renvoyer des valeurs dans le programme de pièces. Le programme de pièces est arrêté pour la durée d’exécution du programme à l’endroit ou l’ordre MMC est atteint. Il existe les possibilités de traitement suivantes: Si aucun client pouvant traiter les données de l’ordre MMC ne s’est connecté, la valeur de retour correspondante (= 1) est posée et le traitement du programme de pièces est poursuivi. Si un client pouvant traiter les données de l’ordre MMC est présent, une affectation a lieu entre le programme de pièces et le client. Une fois que le client a envoyé une réponse, la valeur en retour correspondante est posée et le traitement du programme de pièces poursuivi. L’ordre MMC peut avoir un maximum de 20 variables CPL comme paramètre. Aussi bien le nom que les valeurs de ces variables sont transmises au client. Syntaxe: MMC(<CPL-Var1>[,<Cpl-Var2>....[,<Cpl-VarN>]....]) <Variable CPL> Variables CPL, N = max. 20 ... <CPL-VarN> Le client peut écrire de nouvelles valeurs sur les variables CPL indiquées dans l’ordre MMC. Ces variables CPL indiquées dans l’ordre MMC peuvent être utilisées dans le programme de pièces. L’ordre MMC fournit en résultat les valeurs de retour suivantes: 0: o.k. 1: pas de client présent 2: erreur dans le client 9: client fermé. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls 5 -145 Communication Exemple: 10 20 30 40 50 DIM PROGNAME$ (50) PROGNAME$=”WinProg” INTPAR%=1 REALPAR=1.1 I%=MMC(PROGNAME$, INTPAR%,REALPAR) 60 IF I%=0 THEN 70 IF INTPAR%=2 THEN 80 ... 90 ELSE 100 ... 110 ENDIF 120 ENDIF Les variables CPL PROGNAME$, INTPAR% et REALPAR sont mises à disposition du client avec leurs valeurs. La préparation de bloc du programme de pièces n’est poursuivie en ligne 60 que sir un message terminé en conséquence est arrivé. 5 -146 Bosch Rexroth AG Electric Drives and Controls Communication Notes: IndraMotion MTX R911311170 / 01 R911311170 / 01 IndraMotion MTX Annexe A Annexe A.1 Abréviations Abréviation Signification BA Mode de fonctionnement BOF Interface utilisateur EGB Modules à risque électrostatique ESD décharge électrostatique Abréviation de toutes les désignations qui concernent des décharges électrostatique, par ex protection ESD, risque ESD. Fx Touche de fonction avec le numéro x PP Programme Principal LSEC Compensation d’erreur de rampe de broche (Lead Screw Error Compensation) MDI Mode ”Entrée manuelle” (manual data input) MP Paramètre machine MZA Affichage de l’état de la machine CN, CNC Commande numérique PE Protective Earth, terre SK Touche logicielle API Automate programmable industriel UP Sous-programme WMH Constructeur machine outil WZ Outil Electric Drives Bosch Rexroth AG and Controls A-1 A-2 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe A.2 Synoptique sous forme de tableau des fonctions CN Classés par ordre alphanumérique selon la forme longue: à partir de la page A - 2 Classé par ordre alphanumérique selon le groupe: à partir de la page A - 28 Classé par ordre alphanumérique selon la forme longue: Nom des fonctions CN Forme longue Forme courte Désignation / explication Page (” - ” signifie : action par bloc) ; - - Commentaire: sauter le reste de la ligne 2 - 22 () - - Commentaire: sauter le contenu des parenthèses 2 - 22 (MSG - - Editer le texte du message 2 - 24 / - - Sauter séquence 2 - 41 // - - Commentaire 2 - 22 ABS - CPL ABS(<valeur en entrée>) 2 - 66 ABS - 3 - 75 AC(...) - 2 - 67 ACOS - 2 - 68 AND - 5 - 12 APOS - - - 5 - 105 ASC - 2 - 67 ASIN - Groupe Fonction dans PNC MTC Redonne la valeur en entrée comme valeur absolue. AC(...) - - Programmation dimension absolue locale, par ex.: X=AC(10) ACOS - CPL <valeur de fonction> = ACOS(<valeur en entrée>) Application de la fonction d’arc cosinus sur la <valeur en entrée>. AND - CPL <Impression1> AND <impression2> Lien binaire de deux expressions logiques ou INTEGRALES APOS - CPL APOS(<sélection d’axe>) Transmet la valeur d’axe actuelle fondée sur le point zéro de la machine. Zone ARA - Zone(<BNr>,<Sta>{,<Mod>,{<P1>},{<P2>},{<D 4 - 3 1>},{<D2>}}) Définit, active ou désactive jusqu’à 10 zones de travail ou zones mortes bidimensionnelles avec des limites parallèles aux axes. ASC - CPL ASC(<chaîne de caractères>) Donne le nombre ordinal du première caractère (code ASCII) de la <chaîne de caractères> comme INTEGRALE. ASIN - CPL <Valeur de fonction> = ASIN(<valeur en entrée>) Application de la fonction d’arc sinus sur la <valeur en entrée>. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A-3 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) ASPCLR - - ASPCLR(<jusqu’à-No.>) Sous programmes asynchrones: déconnecter 4-6 - - ASPDIS - - ASPDIS(<jusqu’à-No.>) Sous programmes asynchrones: mettre hors service 4-7 - - ASPENA - - ASPENA(<jusqu’à-No.>) 4-7 Sous programmes asynchrones: mettre en service - - ASPRTP - - ASPRTP(<jusqu’à-No.>,<point>) 4-8 Sous programmes asynchrones: définir le point de redémarrage - - ASPSET - - ASPSET(<jusqu’à-No.>,<jusqu’ànom>{,<repères>}) Sous programmes asynchrones: connecter 4-9 - - ASPSTA - - ASPSTA(<jusqu’à-No.>{,<canal-No.>}) Sous programmes asynchrones: déclencher 4 - 10 - - AssLogName ALN - ALN(...) 4 - 11 G515 - 2 - 85 - - 2 - 85 - - 2 - 67 ATAN - Groupe Désignation / explication Page Fonction dans PNC MTC Affecter des noms d’axe logique ASTOPA - - ASTOPA[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Ordre de synchronisation de canal: Tant que toutes les conditions sont remplies, le canal à commander est arrêté. Les conditions se fondent sur les positions d’axe, par ex. ”Z” > 20 ASTOPO - - ASTOPO[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Ordre de synchronisation de canal: Tant qu’ une condition est remplie, le canal à commander est arrêté. Les conditions se fondent sur les positions d’axe, par ex. ”Z” > 20 ATAN - CPL <Valeur de fonction> = ATAN(<valeur en entrée>) Application de la fonction d’arc tangente sur la <valeur en entrée>. ATCAL - - ATCAL(<fichier>,<OptData>,<Mask> {,<Info>}{,<AnzIt>}) Calibrer les cinématiques d’axe: optimiser les paramètres. 4 - 12 ATFWD - - ATFWD(<coord>,<Axcoord>{,<ParData>}) Calibrer les cinématiques d’axe: convertir les paramètres. 4 - 14 ATGET - - ATGET(<ParData>{,<ATrafNr>}) Calibrer les cinématiques d’axe: lire les paramètres de la CN. 4 - 15 A-4 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) ATPUT - - ATPUT(<ParData>{,<ATrafNr>}) Calibrer les cinématiques d’axe: écrire les paramètres dans la CN. 4 - 16 ATrans ATR Décalage des coordonnées de programme. ATR(X..., Y..., Z..., ...): Décalage des coordonnées de programme additionnelles MARCHE 4 - 166 Groupe Désignation / explication Page Fonction dans PNC MTC ATR(): Décalage des coordonnées de programme additionnelles ARRÊT AUXFUNC - - Exécuter les fonctions d’aide actives de tous les groupes 4 - 17 AxAcc AAC Acc. d’axe AAC(X..., Y..., Z..., ...): Mettre en service AAC(1): mettre en service avec le Réglage enregistré AAC( ): mettre hors service 4 - 18 G6/G7 - - Programmer l’accélération d’axe AxAccSave AAS - Enregistrer l’accélération d’axe actuelle 4 - 18 - AxCouple AXC Couplage d’axes AXC(<Maître>,<Esclave1>(...),<Exclave2>(...),...): Activer le couplage d’axe 4 - 20 G580/G581 AXC( ): Désactiver le couplage d’axe AxisToSpindle ATS - ATS(<nom d’axe>) 4 - 24 Commuter l’axe en mode broche. AXO - CPL AXO((<sélection d’axe>[,<type de sélection>]) 5 - 16 AXO - 5 - 45 AXP - 2 - 69 BCD - 4 - 25 G138/G139 - 2 - 69 BIN - 5 - 46 IC - Transmet un décalage G92 actif pour une coordonnée. AXP - CPL AXP(numéro d’axe>,<information de parcours>) Cette fonction permet des programmes de pièces et de mesure indépendants du niveau (programmer AXP au lieu des valeurs d’adresse). BCD - CPL <Valeur BCD> = BCD(<valeur binaire>) Convertir le format BCD en format binaire. BcsCorr BCR Corr. de position de pièce usinée BCR({<XW-décalage>}{,{<YW-décalage>} {,{<ZW-décalage>}{,{<angle1>} {,{<angle2>} {,{<angle3>}}}}}}): Mettre en service BCR( ): Mettre hors service Placement: Correction de la position de la pièce à usiner BIN - CPL <Valeur binaire> = BIN(<valeur BCD>) Convertir le format binaire en format BCD. BITIF - CPL BITIF(<signal de bit>[,<Index>[,<Unité IF>]]) Accès à l’interface numérique entre CN et API. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A-5 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) BlkNmb - BNB Groupe Désignation / explication BlkNmb(<Aff>) Page Fonction dans PNC MTC 2 - 77 PREPNUM - 2 - 87 - - 2 - 87 - - 2 - 31 CALL - 2 - 43 CASE - 4 - 27 G234/G35 - 5 - 105 CHR$ - 4 - 27 G234/G35 - Limite le nombre de blocs de programme qui sont lus et pris en compte par la préparation de bloc. BSTOPA - - BSTOPA[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Ordre de synchronisation de canal: Tant que toutes les conditions sont remplies, le canal à commander est arrêté. Les conditions se fondent sur les positions de pièces usinées de base, par ex. ”Z” > 20 BSTOPO - - BSTOPO[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Ordre de synchronisation de canal: Tant qu’ une condition est remplie, le canal à commander est arrêté. Les conditions se fondent sur les positions de pièces usinées de base, par ex. ”Z” > 20_ CALL - CPL CALL <Numéro de programme> [<Paramètre de transmission1>,...] [DIN] Appel de sous - programme depuis un programme CPS. CASE - CPL CASE<Expression intégrale> OF LABEL <constante int.>[,<autres Int.Constante>] [: <Instruction>] <Instruction> LABEL ... AUTRE <Instruction> <Instruction> ENDCASE Sélection restreinte parmi plusieurs alternatives. ChLength CHL Chanfrein/rond CHL(<longueur de chanfrein>): Mettre en service CHL( ): mettre hors service Insérer des chanfreins de transfert avec des longueurs de chanfreins définies. CHR$ - CPL CHR$(<Expression intégrale>) Fournit un caractère dont le nombre ordinaire dans le tableau ASCII est égal à la valeur transmise par le paramètre <Expression INTEGRALE>. ChSection CHS Chanfrein/rond CHS(<section de chanfrein>): Mettre en service CHS( ): mettre hors service Insérer des chanfreins de transfert avec des sections de chanfreins définies. A-6 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) CLOCK CPL - Groupe Désignation / explication <Valeur de fonction> = CLOCK Page Fonction dans PNC MTC 5 - 48 CLOCK - 5 - 133 CLOSE - Interrogation du chronomètre en millisecondes. CLOSE - CPL CLOSE(<n>) Ferme un fichier ouvert après la conclusion des opérations de lecture ou d’écriture. CLRWARN - CPL Supprimer tous les messages d’avertissement d’un canal émis avec SETWARN. 2 - 63 - - COF - CPL COF(<sélection d’axe>[,<type de sélection>]) 5 - 17 COF - - - Fournit pour le canal actuel le dernier décalage de contour programmé (Shift) d’une coordonnée. COFFS - - Décalage de contour pour correction de rayon 3D. 3 - 87 Collision CLN Surveillance de collision CLN(1): Mettre en service CLN(CollErr..| LA... | DLA... | DEF): Mise en service avec paramètrage CLN( ): Mettre hors service 4 - 29 Surveillance de collision pour correction de voie de fraisage 2D. ConstFeed CFD Profil en V Vitesse constante 4 - 71 G310 - Coord CRD Transformation d’axe CRD(x): mettre la transformation d’axe en service CRD( ): mettre la transformation d’axe hors service 4 - 32 Coord G30ff. 2 - 67 COS - 4 - 34 G582 5 - 13 CPROBE par ex. transformation de surface frontale COS - CPL <valeur de fonction> = COS(<valeur en entrée>) Fonction de cosinus pour la <valeur en entrée>. CoupleSplineTab CST CPROBE - Couplage d’axes CST(STAB(...)) CPL CPROBE(<sélection>[,<type de sélection>]) Création d’un tableau de couplage spline - Lit la valeur de meure pour respectivement une coordonnée D D Correction D Dx: sélection D-correction (1 - 99 outils) D0: sélection de la correction D. 3 - 110 G147 G847,G148 DATE - CPL <Variable string> = DATE 5 - 48 DATE Affecte à une <variable STRING> la date sous la forme JJ.MM. DBSEA - CPL DBSEA(<DbTab>,<Key1>,<Key2>,<SearchCond>,<SeachRes>[,<ResVar>]) Recherche des blocs de données dans un tableau de données. 5 - 24 - R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A-7 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) DBTAB CPL - Groupe Désignation / explication Page Fonction dans PNC MTC DBTAB(<Tableau Db>,<Key1>,<Key2>[,<Res- 5 - 23 Var>]) Lit un jeu de données complet ou une structure partielle de tableau de bank de données dans une variable CPL ou écrit en retour sur celle ci. DCT - CPL DCT(<sélection de valeur>, <jeu de données>[, [<tableau>] [, <unité>]]) 5 - 22 TC - 4 - 36 G22 K - 4 - 37 G513 - G228 - Accès en lecture et en écriture sur un quelconque tableau de correction D ou sur des valeurs de correction d’outil externes. DcTSel DCS - DCS({<chemin>}<nom du fichier>) Sélection d’un tableau de correction. DefAxis DAX - Créer la configuration d’axe par défaut DefTangTrans DTT Angle de transfert DTT(<angle de transfert>): Activation DTT( ): désactivation Définition de contour tangentiel DiaProg DIA Diam. / rayon Programmation de diamètre 4 - 38 DIA G16 DIM - CPL DIM <nom de variable>(<taille de champ1>[,<taille de champ2>]) 2 - 57, 5 - 101 DIM - Détermination de la taille de champ (dimensionnement des variables ARRAY avec des constantes IONTEGRALE). DIRCR - CPL DIRCR(<répertoire>) 5 - 125 Crée un nouveau répertoire. DIRDEL - CPL DIRDEL(<répertoire>) 5 - 125 Supprime un répertoire vide. DIRINF - CPL DIRINF(4,[<Index2>],<var. résultat>[,<numér de fichier]) 5 - 124 Appelle des données d’administration du système de données. DistCtrl DCR - DCR(1) Réglages en hauteur pour la digitalisation, MARCHE selon les paramètres machine DCR(<Fkt>) MARCHE avec les propres données de configuration DCR( ) Régulation en hauteur ARRÊT 4 - 40 DistCtrl - DPC - CPL DPC(<sélection>[,<type de sélection>]) 5 - 18 DPC - Fournit pour le canal actuel les derniers paramètres programmés de la correction de position de pièce usinée BcsCorr d’une coordonnée (valeurs de décalage et angle de torsion). A-8 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) ED Correction ED ED Groupe Désignation / explication Page ED x: sélection de la correction d’outil externe 3 - 111 (1..16 outils / lames) ED0: Désélection d’une correction d’outil externe EndPosCouple EPC - EPC(<M-coord>,<S-coord>,<facteur>): Couplage de position finale MARCHE EPC( ): EOF - CPL Fonction dans PNC MTC G145 G845, G146 4 - 42 - - 5 - 133 EOF - 5 - 140 ERASE - - couplage de position finale ARRÊT EOF(<n>) Contrôle des extensions de fichier ERASE - CPL ERASE(<identification de programme>) Supprime les fichiers ERRNO - CPL Retour d’information d’erreur de diverses fonc- 2 - 60 tions CPL. - F F - Adresse F pour G93, G94, G95 3 - 106 F FA FA - Vitesse pour les axes asynchrones. 3 - 107 FA FALSE - CPL <Variable booléenne> = FALSE 2 - 56 FALSE - Valeur de vérité d’une variable booléenne FeedAd FAD Adapt. d’avance FAD(1): FAD( ): FeedForward FFW Anticipation axe de la formation d’avance 4 - 44 retirer Axe reçu dans la formation d’avance FFW(X..., Y..., Z..., ...): Mettre en service FFW( ): mettre hors service G594/G595 4 - 45 G114/G115 G6/G7 5 - 141 FILEACCESS - activation de l’anticipation FILEACCESS - CPL FILEACCESS(<nom de fichier>) Détermine si un fichier existe et quels droits d’accès il possède. FILECOPY - CPL Copier des fichiers. 5 - 143 - - FILEDATE - CPL FILEDATE(<nom de fichier>[,<mode>]) 5 - 142 FILEDATE - Détermine la date / l’heure d’un fichier. FILENO - CPL Fournit le prochain numéro de fichier logique valide. 5 - 123 FILEPOS - CPL FILEPOS(<n>[,<mode>]) 5 - 134 FILEPOS - 5 - 138 FILESIZE - 4 - 47 G275 - Fournit le numéro d’enregistrement de l’enregistrement actuel et le décalage d’enregistrement d’un fichier aléatoire. Fournit pour les fichiers séquentiels la position d’octet actuelle de l’afficheur de fichier. FILESIZE - CPL FILESIZE(<n>[,<k>]) Indique la taille d’un fichier ou la limite jusqu’à laquelle un fichier a été écrit. FlyMeas FME Mesures à la volée FME(MpiAxis< i>) X... Y Z Avancer avec la mesure à la volée R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A-9 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) FOR NEXT CPL - Groupe Désignation / explication FOR <var. de comptage>=<valeur de début> [STEP <pas>] TO <routine de><valeur finale> NEXT [<variable de comptage>] Page Fonction dans PNC MTC 2 - 45 FOR NEXT - Construction de boucles avec compteur courant automatiquement en parallèle. FsMove FSM - Déplacement sur la butée fixe (Fs = fixed stop) 4 - 51 G475 G75 FsProbe FSP - Mesure sur butée fixe 4 - 49 G475 G75 FsReset FSR - Suspendre la butée fixe 4 - 51 G477 G76 FsTorque FST - Couple pour la butée fixe 4 - 51 G476 AXD G - - Sous - programmes locaux définis par l’utilisateur G00 G0 Interpolation Interpolation droite (avance rapide) 3-3 G00/G10 G00 G00(..) G0 (..) Interpolation Avance rapide avec options 3-3 G01 G1 Interpolation Interpolation droite (avance) 3-5 G01/G11 G01 G02 G2 Interpolation Interpolation circulaire dans le sens des aiguilles d’une montre (y compris hélicoïdal -N) 3-7 G02/G12 G02 G02(POL) G2 (..) Interpolation Interpolation circulaire dans le sens des aiguilles d’une montre (y compris hélicoïdal-N) avec programmation des coordonnées polaires 3 - 11 G02/G12 G02 G03 G3 Interpolation Interpolation circulation dans le sens opposé à 3 - 7 celui des aiguilles d’une montre (y compris hélicoïdal -N) G03/G13 G03 G03(POL) G3 (..) Interpolation Interpolation circulation dans le sens opposé à 3 - 11 celui des aiguilles d’une montre (y compris hélicoïdal-N) avec programmation des coordonnées polaires G02/G12 G02 G04 G4 - G4(F..) Temporisation en secondes 3 - 13 G04/G104 G04 3 - 14 G05 - Paramètres optionnels: NIPS: sans arrêt précis IPS1: fenêtre d’arrêt précise 1 IPS2: fenêtre d’arrêt précise 2 IPS3: fenêtre d’arrêt précise 3 (freiner uniquement sur V=0) POL/POLAR: avec programmation de coordonnées polaires, par ex. G0(POL) X50 A45 B10, avec A, B = angle polaire 1/2 G4(S...) temporisation en rotations de la broche, la broche de référence étant la broche principale (MainSp) G05 G5 Interpolation Entrée tangentielle dans le cercle (y compris hélicoïdal-N) A - 10 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) G06 G6 Interpolation Splines, Nurbs 3 - 16 G99 - G08 G8 Pente de la trajectoire Pente de la trajectoire avec une FORME (SHAPE) selon les paramètres machine 3 - 23 G08 G08 G08(SHAPE...) - Pente de la trajectoire Pente de la trajectoire enclenchée avec une FORME (SHAPE) de trajectoire programmée 3 - 25 G108 G08 G09 G9 Pente de la trajectoire Pente de la trajectoire arrêt (sans FORME) 3 - 23 G09 G09 G09(..) G9 (..) Pente de la trajectoire G9(X..., Y..., ...) Pente de la trajectoire arrêt avec un ordre SHAPE programmé par axe 3 - 25 G408, G608 Groupe Désignation / explication Page Fonction dans PNC MTC G9(ASHAPE) Pente de la trajectoire arrêt avec un ordre SHAPE programmé par axe selon les paramètres machine G9(SHAPE ...) Pente de la trajectoire arrêt avec FORME de trajectoire programmée G9(SIN ...) Pente de trajectoire avec FORME sinusoïdale 2-(ordre SHAPE possible): 5, 10, 15, 20, 40) G140 - Corr. rayon 3D Correction de rayon 3D ARRÊT 3 - 87 G141 G141 - Corr. rayon 3D Correction de rayon 3D à gauche du contour 3 - 87 G141 G142 - Corr. rayon 3D Correction de rayon 3D à droite du contour 3 - 87 G142 G152,1 G152 SE Bank 1 Placement: niveau incliné, programmable, bank 1 3 - 92 G352 G152.2 - G152.5 - SE Bank 2 - 5 Placement: niveau incliné, programmable, bank 2 - 5 3 - 92 G452 G153 SE Placement: Plan incliné, tout ARRÊT 3 - 92, 3 - 93 - G153.1 - G153.5 - SE Bank 1 - 5 Placement: plan incliné Bank 1 - 5 ARRÊT 3 - 92, 3 - 93 G353 G154.1 SE Bank 1 Placement: 1. niveau incliné, Bank 1 MARCHE 3 - 93 G354 G154.2 - G154.5 - SE Bank 2 - 5 Placement: 1. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G454/G554 G155.1 SE Bank 1 Placement: 2. niveau incliné, Bank 1 MARCHE 3 - 93 G355 G155.2 - G155.5 - SE Bank 2 - 5 Placement: 2. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G455/G555 G156.1 SE Bank 1 Placement: 3. niveau incliné, Bank 1 MARCHE 3 - 93 G356 SE Bank 2 - 5 Placement: 3. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G456/G556 - G154 G155 G156 G156.2 - G156.5 - R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 11 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) G157.1 SE Bank 1 Placement: 4. niveau incliné, Bank 1 MARCHE 3 - 93 G357 G157.2 - G157.5 - SE Bank 2 - 5 Placement: 4. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G457/G557 G158.1 SE Bank 1 Placement: 5. niveau incliné, Bank 1 MARCHE 3 - 93 G358 G158.2 - G158.5 - SE Bank 2 - 5 Placement: 5. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G458/G558 G159.1 SE Bank 1 Placement: 6. niveau incliné, Bank 1 MARCHE 3 - 93 G359 G159.2 - G159.5 - SE Bank 2 - 5 Placement: 5. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G459/G559 G16 - Sélection de niveau Aucun plan 3 - 29 G16 - G17 - Sélection de niveau Sélection de niveau XY 3 - 30 G17/G20 G17/G20 G17(...), G18(...), G19(...) - Sélection de niveau Commutation de niveau étendue 3 - 32 - - 3 - 30 G18/G20 G18/G21 G157 G158 G159 Groupe Désignation / explication Page Fonction dans PNC MTC G17/18/19( <Axe1>,<Axe2>,<Axe3>) les axes entre parenthèses tendent le WCS et obtiennent la signification X, Y et Z. Le niveau programmé est ensuite sélectionné. G17/18/19( ) Remettre le système de coordonnées de pièce usinée sur le réglage par défaut puis sélectionner le niveau programmé. G18 - Sélection de niveau Sélection de niveau ZX G184 - Cycle de perçage Cycle de perçage: Taraudage sans mandrin de 3 - 73 compensation G184 G19 - Sélection de niveau Sélection de niveau YZ G19/G20 G19/G22 G20 - Sélection de niveau Libre sélection de niveau (indépendamment du 3 - 34 WCS) - - 3 - 30 Les placements agissent sur le WCS, le niveau est défini indépendamment du WCS. G33 - Filet Filetage 3 - 35 G33 G33 G40 - Correction de la trajectoire Correction de la trajectoire de la fraise, ARRÊT 3 - 41 G40 G40 G41 - Correction de la trajectoire Correction de la trajectoire de la fraise à gauche de la pièce à usiner 3 - 41 G41 G41 G42 - Correction de la trajectoire Correction de la trajectoire de la fraise à droite de la pièce à usiner 3 - 41 G42 G42 G43 - Stratégie d’insertion Stratégie d’insertion arc de cercle 3 - 44 G68 G43 A - 12 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte Groupe Désignation / explication Page Fonction dans PNC MTC (” - ” signifie : action par bloc) G44 - Stratégie d’insertion Stratégie d’insertion point d’intersection 3 - 44 G69 G44 G45 - Vitesse fraise Vitesse point d’attaque fraise 3 - 46 G64 G99 G46 - Vitesse fraise Vitesse point central fraise 3 - 46 G65 G98 G47 - Correction WZ Mettre la correction de la longueur de l’outil en service 3 - 47 G146/8 G47 G47 (..) - Correction WZ G47(<Coord. L1>,<Coord. L2>,<Coord. L3>) G47(ActPlane) Correction de longueur outil MARCHE avec commutation de l’affectation de correction. 3 - 47 G146/8 G47 G48/G49 G47( ): Correction de longueur outil MARCHE avec commutation de l’affectation de correction selon les paramètres machine. G48 - Correction WZ Correction longueur outil ARRÊT 3 - 47 G145/7 et suivants G53 - NPV ARRÊT de tous les décalages de point zéro 3 - 49 - G53.1 - G53.5 - Bank NPV 1 - 5 ARRÊT décalages de points zéro bank 1 - 5 3 - 49 G53 - G253 G54.1 G54 Bank NPV 1 1. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G54.2 - G54.5 - Bank NPV 2 - 5 1. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G54 - G254 G55.1 G55 Bank NPV 1 2. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G55.2 - G55.5 - Bank NPV 2 - 5 2. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G55 - G255 G56.1 G56 Bank NPV 1 3. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G56.2 - G56.5 - Bank NPV 2 - 5 3. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G56 - G256 G57.1 G57 Bank NPV 1 4. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G57.2 - G57.5 - Bank NPV 2 - 5 4. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G57 - G257 G58.1 G58 Bank NPV 1 5. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G58.2 - G58.5 - Bank NPV 2 - 5 5. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G58 - G258 G59.1 G59 Bank NPV 1 6. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G59.2 - G59.5 - Bank NPV 2 - 5 6. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G59 - G259 Arrêt précis Arrêt précis marche 3 - 52 G61/G161 G61 G61 G61(IPS...) - Arrêt précis Arrêt précis avec la fenêtre d’arrêt précis IPS1, 3 - 52 IPS2 ou IPS3 G61/G161 G61 G62 - Arrêt précis Arrêt précis arrêt 3 - 52 G62/G162 G62 G63 - Filet G63(M3/M4, S.../H...) F ... Z ... ... 3 - 54 G32 G63/G64 Taraudage sans mandrin de compensation R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 13 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) G70 - pouce/mètre Programmation en pouce agit sur le parcours programmé- et sur les dimensions de longueur, les avances et les accélérations. 3 - 56 G70 G70 G71 - pouce/mètre Programmation métrique 3 - 57 G71 G71 G74 - - G74 X1 Y1 Z1 ... 3 - 58 G74/G374 G74 3 - 58 G74/G374 G74 Groupe Désignation / explication Page Fonction dans PNC MTC Approche des coordonnées du point de référence G74(Home) - - G74(HOME) X1 Y1 Z1 Approche du point de référence (vrai référencement, aussi pour les axes asynchrones) G75 - Palpeur de mesure: Déplacement contre palpeur de mesure (interruption du mouvement) 3 - 61 G75 - G76 - - Approche d’une position fixe de la machine (coordonnées machine) 3 - 63 G76 - G77 - - G77 <coord 1><Mode> <coord n><mode> ... F<valeur> Syntaxe alternative: REPOS Sous programmes asynchrones: Repositionnement de coordonnées individuelles 3 - 64 - G77 G80 - Cycle de perçage Mettre le cycle de perçage hors service 3 - 67 G80 - G81 - Cycle de perçage Cycle de perçage: Perçage avec dégagement de l’outil à vitesse rapide 3 - 67 G81 DEFINE G82 - Cycle de perçage Cycle de perçage: Perçage avec dégagement de l’outil en avance 3 - 68 G82 DEFINE G83 - Cycle de perçage Cycle de perçage: Percer trou profond 3 - 69 G83 DEFINE G84 - Cycle de perçage Cycle de perçage: Taraudage sans mandrin de 3 - 70 compensation G84 DEFINE G85 - Cycle de perçage Cycle de perçage: Alésage avec dégagement de l’outil à vitesse rapide 3 - 71 G85 DEFINE G86 - Cycle de perçage Cycle de perçage: Alésage avec dégagement en avance 3 - 72 G86 DEFINE G90 - Abs/Rel Programmation de valeur absolue 3 - 75 G90 G90 G91 - Abs/Rel Programmation mesure relative 3 - 75 G91 G91 G93 - Progr. avance Programmation du temps 3 - 77 G93 G93 G94 - Progr. avance Programmation de l’avance (par min.) 3 - 78 G94 G94 A - 14 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) G94(...) Progr. avance - Groupe Désignation / explication G94({DF <valeur>,} { DS1 <valeur>, DS2 <valeur>, ...} ) Page Fonction dans PNC MTC 3 - 79 G94 G94 3 - 81 G95 G95 Programmation incrémentielle de la vitesse avec adaptation de l’accélération. G95 - Progr. avance Programmation de l’avance (par rotation) G96 - Progr. broche G96{({<axe de référence>{,<point d’action>}})} 3 - 82 Vitesse de coupe constante G96/G196 G96 G97 - Progr. broche Programmation directe de la vitesse de rotation 3 - 82 G97 G97 GetAxis GAX - GAX(...) 4 - 54 G510 5 - 50 GETERR 2 - 24 (GMSG Reprendre l’axe libre dans le canal GETERR - CPL GETERR(<canal> [,<catégorie>],<erreur> No.> [,<nombre>]) - Fournit le No. de l’erreur actuelle, le No. du canal et la catégorie d’erreur. GMSG - - GMSG(<texte de remarque>) Programmer des remarques dans l’interface utilisateur GoAhead GOA - Saut en avant 2 - 36 GoBack GOB - Saut en arrière 2 - 37 GoCond GOC - Saut conditionnel 2 - 38 GOTO - CPL GOTO <cible du saut> 2 - 40 GOTO - Sauts de programme inconditionnels au numéro de ligne, numéro de bloc ou label. GoTo - - Saut inconditionnel 2 - 39 HsBlkSwitch HSB - HSB(HS<X>=<Y>) 4 - 55 G575 - 4 - 58 G575 - 4 - 60 HWOCON HWOCOFF Changement de bloc au vol par signal HighSpeed HsBlkSwitch(. .HSSTOP=..) HSB HWOC - - HSB(...,HSSTOP=..) Changement de bloc avec annulation via signal Highspeed - HWOC({CHAN<No. canal>},CRDNO <No. coord.>,{ STEP<Incr>}) Correction en ligne dans les coordonnées de pièce usine MARCHE HWOCDIS{(CHAN<No. canal>)} Correction en ligne ARRÊT, enregistrer les valeurs HWO( ) Correction en ligne arrêt, supprimer les valeurs R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 15 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) IC(..) - - Programmation dimension relative locale, par ex. X=IC(5) IF ENDIF - CPL IF <condition> THEN <routine> [ELSE <routine 2 - 42 alternative>] ENDIF Groupe Désignation / explication Page 3 - 75 Fonction dans PNC MTC IC(..) - IF ENDIF - 4 - 47 G175 - 5 - 131 INP# - Saut conditionnel à une routine ou une routine alterantive. InitMeas IME - IME(MpiAxis i) Initialiser une mesure au vent. INP# - CPL INP#(<n>,<Variable>[,<Variable>] [,...] [;]) Accès en lecture à un fichier. INSDEP - - Correction de rayon profondeur de plongée 3D 3 - 87 - - INSTR - CPL INSTR(<suite de caractères>,<expression string>[,<point de départ>]) 5 - 104 INSTR - 2 - 66 INT - Recherche dans une <expression string> depuis le <point de départ> une <suite de caractères> et édite la position de départ en valeur INTEGRALE. INT - CPL <Nombre intégral>=INT(<expression réelle>) Transforme <une expression réelle> en un <nombre intégral> en coupant le chiffre après la virgule. JogWCSSelect - - Sélectionner les coordonnées pour saisir dans les coordonnées de pièce usinée (mode de réglage). 4 - 63 JogWCSSelect - KvProg KVP Progr. KV AAC(X..., Y..., Z..., ...): Programmation du gain de boucle KV ON KVP( ): Programmation du gain de boucle KV OFF 4 - 65 G14/G15 AXD LEN - CPL LEN(<expression string>) 5 - 104 LEN - 4 - 67 - - 4 - 69 LFPON - Fournit le nombre de caractères d’une expression string. LEN - - LEN=<valeur> Divise le bloc de processus en plusieurs parcours partiels de même longueur. LFConf LFC - LFC({LL(...)}) Paramétrer la commande de la puissance du laser LFP LFP - LFP, LFP(1), LFP({LL(...)}) 4 - 69 Commande puissance laser MARCHE LFP(0) Commande puissance laser ARRÊT LFPON LFPOFF - LinDownFeed LND Profil en V Freinage linéaire G312 - 4 - 72 A - 16 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) LinModZp - LMZ Groupe Désignation / explication LMZ{(LinModAxis i)} Page Fonction dans PNC MTC 4 - 74 G105 - Mettre l’axe modulo linéaire à zéro (Zp = point zéro) LinUpFeed LNU Profil en V Accélération linéaire 4 - 71 G311 - LJUST - CPL Commutation sur une édition de données alignée à gauche, efficace jusqu’à la fin du déroulement du programme. 5 - 127 LJUST - M M - Sous - programmes locaux définis par l’utilisateur M0 M0 - Arrêt de programme 3 - 95 M0 M1 M1 - Arrêt conditionnel du programme 3 - 95 M1 M19, M119, M219 - - Orientation de broche. 3 - 101 M19 - M21 9 M2 M2 - Fin du programme principal 3 - 96 M2 M3, M103, M203, M13, M113, M213 - - Course vers la droite broche, Course vers la droite broche avec produit de refroidissement MARCHE 3 - 97 M3 M203, M13 - M21 3 M30 M30 - Fin du programme principal 3 - 96 M30 M4, M104, M204, M14, M114, M214 - - Course vers la gauche broche, Course vers la gauche broche avec produit de refroidissement MARCHE 3 - 98 M4 M204, M14 - M21 4 M40, M140, M240 - - Sélection automatique du niveau de réduction 3 - 103 M40 - M24 0 M41 ... M44, M141 ... M144, M241 ... M244 - - Sélection manuelle du rapport de réduction 3 - 104 M41 M44, M141-M14 4 M241-M24 4 M48, M148, M248 - - Débrayage. 3 - 105 M48 - M24 8 M5, M105, M205 - - Arrêt broche 3 - 100 M5 M205 MainSp MSP - Sélection de la broche principale par ex. pour G33 et G95 4 - 75 MAINSP SPF R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 17 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) MCODS CPL - Groupe Désignation / explication MCODS(<type>,<canal>,<version>,<tampon>,<taille>[,<P1>]) Page Fonction dans PNC MTC 5 - 55 MCODS - 5 - 87 MCOPS - MID$ - Appelle les services de données Motion Control de la NCS. Cela permet de lire les états et les données de la CN. MCOPS - CPL MCOPS(<Fkt>,<canal>[[,[<P1>][,[<P2>], [<P3>]]],<P4>])) Appelle les services de processus Motion Control de la NCS. Cela permet de commander les canaux de la CN. MID$ - CPL MID$(<expression de string>,<point de dé5 - 102 part> [,<nombre de signes>]) prend une partie d’Expression de STRING et l’édite en texte. Le résultat peut être transmis à une variable STRING ou à un champ de caractère dimensionné en conséquence. MID$(<champ de caractère>,<point de départ>[,<nombre de caractères>]) Remplace des parties de champ de texte. Miroir MIR Fonction miroir MIR(X1, Y1,Z1,...): Refléter des coordonnées 4 - 76 MARCHE MIR( ): Arrêt reflet de coordonnées G38/G39 MMC - CPL MMC(<CPL-Var1>[,<CPL-Var2>...[,<CPLVarN>]...]) 5 - 144 MMC - 5 - 10 MPOS - 2 - 24 (MSG 5 - 31 NCF Envoie des informations concernant la durée du programme d’un programme de pièces à un client et attend le résultat de ce client. MPOS - CPL MPOS(<sélection d’Axe>[,<type d’Axe>[,<canal>]]) Transmet la position de consigne interpolée actuelle fondée sur le point zéro du système de coordonnées de machine MCS. MSG - - MSG(<texte de remarque>) Programmer des remarques dans l’interface utilisateur NCF - CPL NCF(<Fonction CN>) - Transmet la syntaxe de la fonction CN active au sein du groupe modal CN de la <fonction CN>. Nibble NIB Découpage poinçonnage: NIB( NUM...): Traitement nibble MARCHE NIB( ): Traitement nibble ARRÊT 4 - 79 G662/G660 - NJUST - CPL Rétrogradage prématuré d’édition de données alignées à gauche en édition formatée. 5 - 127 NJUST - A - 18 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) NOT CPL - Groupe Désignation / explication Expression NOT> Page Fonction dans PNC MTC 2 - 68 NOT - 2 - 65 NUL - 4 - 81 - - O(...) - Négation d’une bouléenne ou négation par bit d’une expression INTEGRALE. NUL - CPL <Variable> = NUL Suppression d’une variable. NUM - - NUM=<valeur> Divise le bloc de processus en un nombre défini de parcours partiels de même longueur. O O - O(...) Mouvement d’orientation pour un outil 4 - 82 OFFSTOPA - - Ordre de synchronisation de canal: Supprime les ”conditions d’arrêt UND (ET)” programmées dans le canal de commande (ASTOPA, BSTOPA, WSTOPA). 2 - 91 OFFSTOPO - - Ordre de synchronisation de canal: Supprime les ”conditions d’arrêt ODER (OU)” programmées dans le canal de commande (ASTOPA, BSTOPA, WSTOPA). 2 - 91 Omega - - Omega-Adresse 3 - 107 OPENR - CPL OPENR(<n>,<Nom prog.>[,<longueur d’enregistrement>]) 5 - 120 OPENR - 5 - 120 OPENW - 2 - 68 OR - Ouvre un fichier pour un accès en lecture à la suite. OPENW - CPL OPENW(<n>,<Nom prog.>[.<longueur>][,<Commentaire prog.>][,<longueur d’enregistrement>]) Ouvre un fichier pour un accès en écriture à la suite. OR - CPL <Expression> OR <Expression> Lien binaire de deux expressions booléennes ou intégrales avec la fonction ODER. OvrDis OVD Avance 100% Potentiomètre d’avance ARRÊT 4 - 94 G63 - OvrEna OVE Avance 100% Potentiomètre d’avance MARCHE 4 - 94 G66 - P P - Appel de sous - programmes (possible aussi directement sans P) 2 - 27 PathAcc PAC Accél. trajectoire PAC(ACC... | UP..., DOWN ...): Mettre en service PAC( ): Mettre hors service 4 - 95 G106/G107 ACC 5-7 CPOS Programmation d’accélération de trajectoire, au choix séparée pour l’accélération et le freinage ou générale. PCS - CPL PCS(<Coordonnées>[,<Type de sélection>]) Transmet la dernière position absolue programmée d’une coordonnée. - R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 19 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) PDIM CPL - Groupe Désignation / explication Page PDIM <nom de paramètre>(<taille de champ>) 2 - 33 Fonction dans PNC MTC PDIM - Doit être utilisé quand un sous - programme: D doit être ouvert avec une constante de string comme paramètre de transmission et D le programme qui appelle a été sélectionné sans lien. PMT - CPL PMT(<sélect.coord.>,<Pl-Code>[,[<PlBank>][,[<tableau>][,<Unité>]]]) 5 - 27 - 4 - 99 G22 ID 5 - 26 - 4 - 100 - 4 - 105 G37/G39 4 - 97 PDHSO Accès en lecture et en écriture sur un tableau de placement XML. PmTSel PMS - PMS(<Nom de tableau de placement>) - Sélection d’un tableau de placement PMV - CPL PMV(<sélect.coord.>[,<Pl-Bank>]) Fournit les valeurs de placement efficaces pour une coordonnée. PolarPol POP PolarPol POP(X...,Y...,Z...): fixer le pôle POP( ): Pôle à l’origine Pôle pour la programmation de coordonnées polaires. PoleSet PLS fixer le pôle PLS(X..., Y..., Z...): fixer le pôle PLS( ): Pôle à l’origine Reflèter, tourner le pôle pour les aides à la saisie. PosDepHSOut PHS - PHS(<mode>{,{<distance>}{,<durée>}}) Sortie haute vitesse programmable indépendamment de la position PosMode PMD Mode de positionnement PMD(A..., B...): Changement du mode de posi- 4 - 106 tionnement, PMD( ): Mode de positionnement selon les paramètres machine - G151/G150 G36 et suivantes Mode de positionnement pour les axes sans fin PPOS - CPL PPOS(<sélection d’axe>[,<type d’axe>]) 5 - 15 PPOS - Interrogation de la position réelle de l’axe au moment de la commutation du palpeur de mesure. PrecProg PRP Contr. de la précision PRP(DIST... | EPS...): Contr. de la précision MARCHE PRP( ): Contr. de la précision ARRÊT 4 - 108 G328/G329 - PRN# - CPL PRN#(<n>,[<expression>][,<expression][,<expression>][,...][;]) 5 - 127 PRN# Accès en écriture à un fichier. - A - 20 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) PROBE CPL - Groupe Désignation / explication PROBE(<Sélection d’axe>[,<type d’axe>]) Page Fonction dans PNC MTC 5 - 14 PROBE - 4 - 110 G612 - Interrogation de la position d’axe au moment de la commutation du palpeur de mesure, fondée sur les coordonnées de point zéro de l’axe du MCS. PtBlkEnd PTE Course de découpage PTE(X..., Y..., Z..., ...) Déclenchement de course à la fin du bloc PtDefault PTD Course de découpage Déclenchement de la course selon le paramétrage 4 - 113 G610 - PtInpos PTI Course de découpage PTI(X..., Y..., Z..., ...) 4 - 114 G611 - Déclenchement de la course avec Inpos (Pt = punch time) Punch PUN Découpage poinçonnage: PUN( NUM...): Traitement découpage poinçonnage MARCHE PUN( ): Traitement découpage - poinçonnage ARRÊT 4 - 116 G661/G660 - RadProg RAD Diam. / rayon Programmation du rayon 4 - 38 RAD G15 RedTorque RDT - RDT(<axe1>{,<axe2>{, ...}}) 4 - 118 G177 - 2 - 23 REM - 4 - 119 G512 FAX 4 - 120 G516 - 2 - 46 REPEAT - 5 - 130 REWRITE - Détermination du couple pour la réduction du couple REM - CPL REM <Texte de commentaire> Commentaire du programme RemAxis RAX - RAX(...) Extraire un axe d’un canal RemLogName RLN - RLN(...) Supprimer noms d’axes logiques REPEAT - CPL REPEAT <routine> UNTIL <condition> Construction en boucle avec interrogation de la condition d’annulation selon le premier traitement de la routine. REPOSTP - - REPOSTP(<point>) 4 - 121 Sous programmes asynchrones: Définir le point de nouvelle approche dans l’UP asynchrone REWRITE - CPL REWRITE(<n>) Remplacer un fichier existant. Rotate ROT Tourner ROT(<angle>): Rotation des coordonnées MARCHE ROT( ): Rotation des coordonnées ARRÊT 4 - 122 G38/G39 ROTAX - - Définir l’axe de rotation pour l’orientation de vecteur 4 - 82 ROTAX - R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 21 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) ROUND CPL - Groupe Désignation / explication <nombre intégral> = ROUND(<expression réelle>) Page Fonction dans PNC MTC 2 - 67 Round - 4 - 125 G34/G35 - 4 - 126 G134/G35 - Transformer une expression réelle en un nombre INTEGRAL en l’arrondissant. RoundEps RNE Chanfrein/rond RNE(<valeur>): Arrondi MARCHE RNE( ): Arrondi ARRÊT Arrondir avec l’écart de contour défini. Rounding RND Chanfrein/rond RND(<valeur>): Arrondi MARCHE RND( ): Arrondi ARRÊT Arrondir avec un rayon d’arrondi défini S S - S<numéro>=<valeur> 3 - 108 S<valeur> Programmer la vitesse de rotation de la broche S Scale SCL Programmation du facteur d’échelle SCL(X..., Y..., Z..., ...): programmation de 4 - 127 facteur d’échelle de coordonnées MARCHE SCL( ): Programmation du facteur d’échelle de coordonnées ARRÊT G38/G39 G78/G79 SCL - CPL SCL(<Sélection SCL>[,<sélection>[,<type de sélection>]]) 5 - 30 SCL - SCS(<indice d’axe>,<ID-Art>,<ID-Nr>[,<var.ré- 5 - 32 sult.>]) SCS - 5 - 33 SCSL - 5 - 34 SD - 5 - 41 SDR - 5 - 136 SEEK - Fournit pour le canal actuel les derniers paramètres programmés des fonctions PLS et ROT (coordonnées de pôle, facteurs d’échelles et angle de rotation). SCS - CPL Accès en lecture aux paramètres d’entraînement SERCOS du bloc de paramètres actif. SCSL - CPL SCSL(<indice d’axe>,<ID-Art>,<ID-Nr>,<nom de fichier>[,<var.résult.>]) Création d’un fichier pour les listes de paramètres SERCOS. SD - CPL SD(<groupe>[,<Index1>[,<Index2>[,<Index3>]]]) Lecture de données système actives de la commande CN. SDR - CPL SDR(<groupe>[,<Index1>[,<Index2>]]) Lecture de données système actives de la commande CN en format REAL. SEEK - CPL SEEK(<n>,<k>[,<o>]) Positionne l’indicateur de fichier sur l’enregistrement <k>-d’un fichier aléatoire ou sur l’octet<k>- d’un fichier séquentiel. A - 22 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) SelCrdCouple - SCC Groupe Désignation / explication SCC(SC<canal>, CL(Q1>,<Z1>,{...})): Couplage additionnel de coordonnées sélectives MARCHE Page Fonction dans PNC MTC 4 - 130 - - SCC( ): Tous les couplages de coordonnées ARRÊT SETERR - CPL Créer une erreur de durée d’exécution après l’analyse de ERRNO. 2 - 62 - - SetPos API - Fixer la position du programme 4 - 131 G92 G52 SETWARN - CPL Créer un message d’avertissement après l’analyse de ERRNO. 2 - 63 - - Shift SHT - SHT(X..., Y ..., Z ..., ...): Décalage de contour MARCHE SHT( ): décalage de contour ARRÊT 4 - 132 G60/G67 - SIN - CPL <valeur de fonction> = SIN(<valeur en entrée>) 2 - 67 SIN - Application de la fonction de sinus sur la valeur en entrée Sin2DownFeed S2D Profil en V Freinage en forme de Sin2 4 - 72 G316 - Sin2UpFeed S2U Profil en V Accélération en forme de Sin2 4 - 71 G315 - SinDownFeed SND Profil en V Freinage en forme de Sin 4 - 72 G314 - SinUpFeed SNU Profil en V Accélération en forme de Sin 4 - 71 G313 - Smax SMX - SMX(<valeur>) 4 - 134 G192 G92 4 - 134 G292 - 4 - 136 - - 4 - 143 - - 4 - 137 - - 4 - 140 - - 4 - 141 - - Vitesse de rotation maximale pour la broche Smin SMN - SMN(<VALEUR>) Vitesse de rotation minimale pour la broche SpAdmin SPA - SPA(Si=0|1) Débloquer la broche réservée sous conditions ou prendre en charge par un autre canal. SpCouple _Wait SPC_ WAIT SPC_WAIT(CP=1..4) SpCouple Config SPCC - SPCC(CP=1..4, MA=<maître>, Si=1, Sj=1, ...) SpCouple PosOffs SPCP - Attendre le fonctionnement synchrone de la bande de couplage indiquée. Définir le groupe de couplage, supprimer ou ajouter la broche suivante, Suspendre le groupe de couplage. SPCP(S1=<décalage>, S2=<décalage>, ... {POSVEL<Vitesse de rotation>} Définir le décalage angulaire pour le groupe de couplage de broches actives. SpCouple PosOffs_Wait SPCP _WAIT SPCP_WAIT(CP=1..4) Attendre sur le décalage angulaire pour le groupe de couplage programmé. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 23 Annexe Nom des fonctions CN Forme longue Forme courte SpCoupleDist Groupe Désignation / explication Page Fonction dans PNC MTC (” - ” signifie : action par bloc) SPCD - SPCD(S1=<écart>, S2=<écart>, ...) 4 - 138 - - 4 - 139 - - 4 - 142 - - SPOS - SQRT - Définir les écarts de couplage pour les couplages de broche. SpCoupleErr Win SPCE - SPCE(S1=<fenêtre>, S2=<fenêtre>, ...) SpCoupleSyncWin SPCS - SPG - - SPG<groupe>(<numéro>) SPGALL(0) Définir/dissoudre le groupe de broches 4 - 144 SpindleToAxis STA - STA(...) 4 - 145 Définir la fenêtre d’erreur de course synchrone pour les couplages de broche. SPCS(S1=<fenêtre>, S2=<fenêtre>, ...) Définir la fenêtre de course synchrone pour les couplages de broche. Commuter la broche en mode d’axe. SplineDef SDF - Détermination d’une variante Spline. 4 - 146 Split SPT - Split({<mode>}{,<longueur de pièce>}) 4 - 148 Divise des blocs de processus en plusieurs parcours partiels dans la mesure où ils dépassent une certaine longueur. SpMode SPM - SPM(S1=0|1, S2=0|1, ...) 4 - 150 Commuter l’interface d’entraînement de broche manuellement entre mode vitesse de rotation / mode position. SPOS - CPL SPOS(<sélection d’axe>) 5 - 11 Transmet la valeur de consigne d’axe actuelle d’un axe physique. SPV - - SPV [ <.var. CPL perm.> = <Expression CPL simple> ] 2 - 84 Ordre de synchronisation de canal: la variable CPL permanente est écrite pour la durée d’exécution. SPVE - - SPV E[ <var. CPL perm..> = <Expression CPL> ] 2 - 84 Ordre de synchronisation de canal: la variable CPL permanente est écrite pour la durée d’exécution. L’expression CPL peut inclure des ordres CPL, elle est déjà déclenchée lors de la préparation de bloc. SQRT - CPL <Valeur de fonction> = SQRT(<valeur en entrée>) Application de la fonction racine carrée sur la <valeur en entrée>. 2 - 67 A - 24 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) SSPG - - SSPG<groupe>=<valeur> Définition de la vitesse de rotation pour le groupe de broches, voir aussi ”<valeur S>” 3 - 108 StatToolOri STO - STO(PHI ..., THETA ..., PSI ...) 4 - 151 Groupe Désignation / explication Page Fonction dans PNC MTC SSPG Orientation d’outil statique STR$ - CPL STR$([<string de format>,]<valeur>) 5 - 106 STR$ - 2 - 67 TAN - Transforme l’expression numérique <valeur> en une suite de caractères qui peut être affectée uniquement à un champ de caractères. Avec le <string de format>, la suite de caractères peut être éditée formatée. TAN - CPL <Valeur de fonction> = TAN(<valeur en entrée>) Application de la fonction tangentielle sur la <valeur d’entrée>. TangTool TTL Orient. outil. TTL(TAX..., SYM..., ANG..., IA..., PLC...): 4 - 153 Guidage tangentiel de l’état MARCHE TTL( ): Guidage tangentiel de l’état ARRÊT G131/G130 - TangToolOri TTO Orient. outil tangentiel TTO(SYM..., ANG...): Orientation tangentielle de l’outil MARCHE TTO( ): Orientation tangentielle de l’outil ARRÊT 4 - 156 G630/G631 - TappSp TSP - TSP(CAXi, ..., GRPj, ...) 4 - 159 G532 SPF Sélection de broche pour alésage sans mandrin de compensation. TcsDef TCS - Déterminer explicitement la position du système de coordonnées d’outil (correction de longueur d’outil implicite en liaison avec une transformation d’axe correspondante). 4 - 161 TcsDef - TCV - CPL TCV(<sélection de valeur>[,<sélection de correction>]) 5 - 21 TC - - Fournit les dernières valeurs de correction d’outil programmées. ThreadSet TST Filet Filetage, fonctions supplémentaires 4 - 164 TIME - CPL <variable de string> = TIME 5 - 48 TIME 4 - 166 G60/G67 Attribue l’heure à une variable de STRING sous la forme HH.MM.SS. Trans TRS Décalage des coordonnées de programme. TRS( X ..., Y ..., Z ..., ...): Décalage des coordonnées de programme MARCHE TRS( ): Décalage des coordonnées de programme ARRÊT R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 25 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) TRIM$ CPL - Groupe Désignation / explication TRIM$(<suite de caractères>) TRIM$(<suite de caractères>,”L”) TRIM$(<suite de caractères>,”R”) Page Fonction dans PNC MTC 5 - 108 TRIM$ - 2 - 56 TRUE - 5 - 107 VAL - - - - Fournit lors de l’attribution d’une plage de champ de caractères à une variable de STRING ou un champ de caractères une suite de caractères sans espace précédent (index “L“) ou suivant (index “R“). Sans index, aussi bien les espaces précédents que les espaces suivants sont exclus. TRUE - CPL <Variable booléenne> = TRUE Valeur de vérité d’une variable booléenne VAL - CPL VAL(<expression de string>) Fournit la valeur numérique de l’expression de STRING. VERSINF$ - CPL VERSINF$(<Index1>[,<Index2>]) 5 - 123 Appelle des données d’Administration, par ex la version SW. VirtAxisPos VAP - Fixe la position d’axe d’axes synchrones virtuels dans le canal actuel. 4 - 168 WAIT - - WAIT dans le bloc CN (comme CPL WAIT) 2 - 74 WAIT - CPL WAIT(sans paramètre) Stoppe le traitement de bloc jusqu’à ce que tous les blocs programmés avant WAIT aient été traités. 2 - 74 WAIT 2 - 79 WAITA 4 - 169 G511 WAIT(,<temps d’attente>) Arrête le traitement de bloc jusqu’à ce qu’un intervalle déterminé se soit écoulé. WAIT(BITIF(...)) Arrête le traitement de bloc jusqu’à ce qu’un état précis de l’interface binaire CN de l’API soit dans un état précis. WAITA - - WAITA[BITIF(<paramètre>){=<état>} {,...}{,<Timeout>}] Ordre de synchronisation de canal: attente pour la durée d’exécution jusqu’à ce que tous les signaux d’interface interrogés soient émis ou que le Timeout soit écoulé. WaitAxis WAX - WAX(...) Attendre jusqu’à ce que l’axe soit débloqué puis l’accepter dans le canal. GAX ? A - 26 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) WAITO - - Groupe Désignation / explication WAITO[BITIF(<paramètre>){=<état>} {,...}{,<Timeout>}] Page Fonction dans PNC MTC 2 - 79 WAITO 2 - 47 WHILE - 5-9 WPOS - G900 AXD Ordre de synchronisation de canal: Attente pour la durée d’exécution jusqu’à ce que l’un des signaux d’interface interrogés soit émis ou que le Timeout soit écoulé. WHILE - CPL WHILE <condition> DO <routine> END Construction en boucle avec interrogation de la condition d’annulation avant le premiers parcours de la boucle. WPOS - CPL WPOS(<Sélection d’axe>[,<Type de sélection>[,<Canal>]]) Transmet la position théorique interpolée fondée sur le point zéro de la pièce usinée de l’actuel WCS. WPV - - WPV[<Perm.CPL-Var.><opér.. comp>< expression CPL simple.>{,<Timeout>] 2 - 81 Ordre de synchronisation de canal: Attente pour la durée d’exécution jusqu’à ce que l’expression soit remplie ou que le Timeout soit écoulé. WPVE - - WPVE[<Perm.CPL-Var.><opér. comp..><expression CPL.>{,<Timeout>}] 2 - 81 Ordre de synchronisation de canal: Attente pour la durée d’exécution jusqu’à ce que l’expression soit remplie ou que le Timeout soit écoulé. L’expression CPL peut inclure des ordres CPL, mais elle est déjà dissoute lors de la durée de préparation de bloc. WriteId WID - WID(S-0-0104, X..., Y..., Z..., ...) 4 - 170 Ecriture de paramètres SERCOS. WSTOPA - - WSTOPA[<No. de canal>,<cond.1>{,<cond.2>} 2 - 89 {...{,<Cond.8>}...}] Ordre de synchronisation de canal: Le canal à commander est arrêté jusqu’à ce que toutes les conditions soient remplies. Les conditions se fondent sur les positions de pièce usinée, par ex. ”Z” > 20 WSTOPO - - WSTOPO[<No. de canal>,<cond.1>{,<cond.2>} {...{,<Cond.8>}...}] Ordre de synchronisation de canal: Le canal à commander est arrêté tant qu’ une des conditions est remplie. Les conditions se fondent sur les positions de pièce usinée, par ex. ”Z” > 20 2 - 89 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 27 Annexe Nom des fonctions CN Forme longue Forme courte (” - ” signifie : action par bloc) XOR CPL - Groupe Désignation / explication <Expression> XOR <Expression> Page Fonction dans PNC MTC 2 - 68 XOR - 5 - 29 TDA - 5 - 19 FXC - 4 - 173 G22 V O 5 - 19 FXC - Lien binaire de deux expressions booléennes ou intégrales avec la fonction OU EXCLUSIF. XTAB - CPL XTAB(<tableau>,<structure partielle>) Accès en lecture et en écriture sur un fichier XML au choix qui peut aussi être défini par l’utilisateur. ZOT - CPL ZOT(<sélection de colonne>,<NPVCode>[,[<NPV-bank>][,[<tableau>][,<unité>]]]) Accès en lecture et en écriture sur un tableau de décalage de point zéro XML au choix. ZoTSel ZOS - ZOS(<nom NPV>) Sélection d’un tableau de décalage de point zéro. ZOV - CPL ZOV(<sélection d’axe>[.<NPV-bank>]) Fournit les valeurs NPV efficaces pour un axe/ des coordonnées machine. A - 28 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Classés par ordre alphanumérique par groupe: Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) Désignation / explication Page ; - - Commentaire: sauter le reste de la ligne 2 - 22 () - - Commentaire: sauter le contenu des parenthèses 2 - 22 (MSG - - Editer le texte du message 2 - 24 / - - Sauter séquence 2 - 41 // - - Commentaire 2 - 22 AC(...) - - Programmation dimension absolue locale, par ex.: 3 - 75 Groupe fonction dans PNC MTC AC(...) - - - X=AC(10) Zone ARA - Zone(<BNr>,<Sta>{,<Mod>,{<P1>},{<P2>},{<D 4 - 3 1>},{<D2>}}) Définit, active ou désactive jusqu’à 10 zones de travail ou zones mortes bidimensionnelles avec des limites parallèles aux axes. ASPCLR - - ASPCLR(<jusqu’à-No.>) Sous programmes asynchrones: déconnecter 4-6 - - ASPDIS - - ASPDIS(<jusqu’à-No.>) Sous programmes asynchrones: mettre hors service 4-7 - - ASPENA - - ASPENA(<jusqu’à-No.>) 4-7 Sous programmes asynchrones: mettre en service - - ASPRTP - - ASPRTP(<jusqu’à-No.>,<point>) 4-8 Sous programmes asynchrones: définir le point de redémarrage - - ASPSET - - ASPSET(<jusqu’à-No.>,<jusqu’ànom>{,<repères>}) Sous programmes asynchrones: connecter 4-9 - - ASPSTA - - ASPSTA(<jusqu’à-No.>{,<canal-No.>}) Sous programmes asynchrones: déclencher 4 - 10 - - AssLogName ALN - ALN(...) 4 - 11 G515 - 2 - 85 - - Affecter des noms d’axe logique ASTOPA - - ASTOPA[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Ordre de synchronisation de canal: Tant que toutes les conditions sont remplies, le canal à commander est arrêté. Les conditions se fondent sur les positions d’axe, par ex. ”Z” > 20_ R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 29 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) ASTOPO - - Groupe Désignation / explication ASTOPO[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Page 2 - 85 fonction dans PNC MTC - - - - 2 - 77 PREPNUM - 2 - 87 - - 2 - 87 - - Ordre de synchronisation de canal: Tant qu’une condition est remplie, le canal à commander est arrêté. Les conditions se fondent sur les positions d’axe, par ex. ”Z” > 20 ATCAL - - ATCAL(<fichier>,<OptData>,<Mask> {,<Info>}{,<AnzIt>}) Calibrer les cinématiques d’axe: optimiser les paramètres. 4 - 12 ATFWD - - ATFWD(<coord>,<Axcoord>{,<ParData>}) Calibrer les cinématiques d’axe: convertir les paramètres. 4 - 14 ATGET - - ATGET(<ParData>{,<ATrafNr>}) Calibrer les cinématiques d’axe: lire les paramètres de la CN. 4 - 15 ATPUT - - ATPUT(<ParData>{,<ATrafNr>}) Calibrer les cinématiques d’axe: écrire les paramètres dans la CN. 4 - 16 AUXFUNC - - Exécuter les fonctions d’aide actives de tous les groupes 4 - 17 AxAccSave AAS - Enregistrer l’accélération d’axe actuelle 4 - 18 AxisToSpindle ATS - ATS(<nom d’axe>) 4 - 24 Commuter l’axe en mode broche. BlkNmb BNB - BlkNmb(<Aff>) Limite le nombre de blocs de programme qui sont lus et pris en compte par la préparation de bloc. BSTOPA - - BSTOPA[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Ordre de synchronisation de canal: Tant que toutes les conditions sont remplies, le canal à commander est arrêté. Les conditions se fondent sur les positions de pièces usinées de base, par ex. ”Z” > 20 BSTOPO - - BSTOPO[<No. de canal>, <Serv.1> {,<serv.2>}{...{,<serv.8>}...}] Ordre de synchronisation de canal: Tant qu’une condition est remplie, le canal à commander est arrêté. Les conditions se fondent sur les positions de pièces usinées de base, par ex. ”Z” > 20 COFFS - - Décalage de contour pour correction de rayon 3D. 3 - 87 - - DcTSel DCS - DCS({<chemin>}<nom du fichier>) 4 - 36 G22 K - Sélection d’un tableau de correction. A - 30 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) DefAxis DAX - Créer la configuration d’axe par défaut 4 - 37 G513 - DistCtrl DCR - DCR(1) Réglages en hauteur pour la digitalisation, MARCHE selon les paramètres machine DCR(<Fkt>) MARCHE avec les propres données de configuration DCR( ) Régulation en hauteur ARRÊT 4 - 40 DistCtrl - EndPosCouple EPC - EPC(<M-coord>,<S-coord>,<facteur>): Couplage de position finale MARCHE 4 - 42 - - Groupe Désignation / explication EPC( ): Page fonction dans PNC MTC couplage de position finale ARRÊT F F - Adresse F pour G93, G94, G95 3 - 106 F FA FA - Vitesse pour les axes asynchrones. 3 - 107 FA FsMove FSM - Déplacement sur butée fixe (Fs = fixed stop) 4 - 51 G475 G75 FsProbe FSP - Mesure sur butée fixe 4 - 49 G475 G75 FsReset FSR - Suspendre la butée fixe 4 - 51 G477 G76 FsTorque FST - Couple pour la butée fixe 4 - 51 G476 AXD G - - Sous - programmes locaux définis par l’utilisateur G04 G4 - G4(F..) Temporisation en secondes 3 - 13 G04/G104 G04 3 - 58 G74/G374 G74 3 - 58 G74/G374 G74 G4(S...) Temporisation en rotations de la broche, la broche de référence étant la broche principale (MainSp) G74 - - G74 X1 Y1 Z1 ... Approche des coordonnées du point de référence G74(Home) - - G74(HOME) X1 Y1 Z1 Approche du point de référence (vrai référencement, aussi pour les axes asynchrones) G76 - - Approche d’une position fixe de la machine (coordonnées machine) 3 - 63 G76 - G77 - - G77 <coord 1><Mode> <coord n><mode> ... F<valeur> Syntaxe alternative: REPOS Sous programmes asynchrones: Repositionnement de coordonnées individuelles 3 - 64 - G77 GetAxis GAX - GAX(...) 4 - 54 G510 2 - 24 (GMSG Reprendre l’axe libre dans le canal GMSG - - GMSG(<texte de remarque>) Programmer des remarques dans l’interface utilisateur R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 31 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) GoAhead GOA - Saut en avant 2 - 36 GoBack GOB - Saut en arrière 2 - 37 GoCond GOC - Saut conditionnel 2 - 38 GoTo - - Saut inconditionnel 2 - 39 HsBlkSwitch HSB - HSB(HS<X>=<Y>) 4 - 55 G575 - 4 - 58 G575 - 4 - 60 HWOCON HWOCOFF Groupe Désignation / explication Page fonction dans PNC MTC Changement de bloc au vol par signal HighSpeed HsBlkSwitch(. .HSSTOP=..) HSB HWOC - - HSB(...,HSSTOP=..) Changement de bloc avec annulation via signal Highspeed - HWOC({CHAN<No. canal>},CRDNO <No. coord.>,{ STEP<Incr>}) Correction en ligne dans les coordonnées de pièce usine MARCHE HWOCDIS{(CHAN<No. canal>)} Correction en ligne ARRÊT, enregistrer les valeurs HWO( ) Correction en ligne arrêt, supprimer les valeurs IC(..) - - Programmation dimension relative locale, par ex. X=IC(5) 3 - 75 IC(..) - InitMeas IME - IME(MpiAxis i) 4 - 47 G175 - Initialiser une mesure au vent. INSDEP - - Correction de rayon profondeur de plongée 3D 3 - 87 - - JogWCSSelect - - Sélectionner les coordonnées pour saisir dans les coordonnées de pièce usinée (mode de réglage). 4 - 63 JogWCSSelect - LEN - LEN=<valeur> 4 - 67 - - 4 - 69 LFPON - - Divise le bloc de processus en plusieurs parcours partiels de même longueur. LFConf LFC - LFC({LL(...)}) Paramétrer la commande de la puissance du laser LFP LFP - LFP, LFP(1), LFP({LL(...)}) 4 - 69 Commande puissance laser MARCHE LFP(0) Commande puissance laser ARRÊT LFPON LFPOFF - LinModZp LMZ - LMZ{(LinModAxis i)} G105 - Mettre l’axe modulo linéaire à zéro (Zp = point zéro) 4 - 74 A - 32 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) M M - Sous - programmes locaux définis par l’utilisateur M0 M0 - Arrêt de programme 3 - 95 M0 M1 M1 - Arrêt conditionnel du programme 3 - 95 M1 M19, M119, M219 - - Orientation de broche. 3 - 101 M19 - M21 9 M2 M2 - Fin du programme principal 3 - 96 M2 M3, M103, M203, M13, M113, M213 - - Course vers la droite broche, Course vers la droite broche avec produit de refroidissement MARCHE 3 - 97 M3 M203, M13 - M21 3 M30 M30 - Fin du programme principal 3 - 96 M30 M4, M104, M204, M14, M114, M214 - - Course vers la gauche broche, Course vers la gauche broche avec produit de refroidissement MARCHE 3 - 98 M4 M204, M14 - M21 4 M40, M140, M240 - - Sélection automatique du niveau de réduction 3 - 103 M40 - M24 0 M41 ... M44, M141 ... M144, M241 ... M244 - - Sélection manuelle du rapport de réduction 3 - 104 M41 M44, M141-M14 4 M241-M24 4 M48, M148, M248 - - Débrayage. 3 - 105 M48 - M24 8 M5, M105, M205 - - Arrêt broche 3 - 100 M5 M205 MainSp MSP - Sélection de la broche principale par ex. pour G33 et G95 4 - 75 MAINSP MSG - - MSG(<texte de remarque>) 2 - 24 (MSG 4 - 81 - - O(...) - Groupe Désignation / explication Page fonction dans PNC MTC SPF Programmer des remarques dans l’interface utilisateur NUM - - NUM=<valeur> Divise le bloc de processus en un nombre défini de parcours partiels de même longueur. O O - O(...) Mouvement d’orientation pour un outil 4 - 82 OFFSTOPA - - Ordre de synchronisation de canal: Supprime les ”conditions d’arrêt UND (ET)” programmées dans le canal de commande (ASTOPA, BSTOPA, WSTOPA). 2 - 91 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 33 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) OFFSTOPO - - Ordre de synchronisation de canal: Supprime les ”conditions d’arrêt ODER (OU)” programmées dans le canal de commande (ASTOPA, BSTOPA, WSTOPA). 2 - 91 Omega - - Omega-Adresse 3 - 107 P P - Appel de sous - programmes (possible aussi directement sans P) 2 - 27 PmTSel PMS - PMS(<Nom de tableau de placement>) 4 - 99 G22 ID - Groupe Désignation / explication Page fonction dans PNC MTC Sélection d’un tableau de placement PosDepHSOut PHS - PHS(<mode>{,{<distance>}{,<durée>}}) Sortie haute vitesse programmable indépendamment de la position 4 - 97 PDHSO - RedTorque RDT - RDT(<axe1>{,<axe2>{, ...}}) 4 - 118 G177 - 4 - 119 G512 FAX 4 - 120 G516 - ROTAX - Détermination du couple pour la réduction du couple RemAxis RAX - RAX(...) Extraire un axe d’un canal RemLogName RLN - RLN(...) Supprimer noms d’axes logiques REPOSTP - - REPOSTP(<point>) 4 - 121 Sous programmes asynchrones: Définir le point de nouvelle approche dans l’UP asynchrone ROTAX - - Définir l’axe de rotation pour l’orientation de vecteur S S - S<numéro>=<valeur> 3 - 108 S<valeur> Programmer la vitesse de rotation de la broche S SelCrdCouple SCC - SCC(SC<canal>, CL(Q1>,<Z1>,{...})): Couplage additionnel de coordonnées sélectives MARCHE 4 - 130 - - 4 - 82 SCC( ): Tous les couplages de coordonnées ARRÊT SetPos API - Fixer la position du programme 4 - 131 G92 G52 Shift SHT - SHT(X..., Y ..., Z ..., ...): Décalage de contour MARCHE SHT( ): décalage de contour ARRÊT 4 - 132 G60/G67 - Smax SMX - SMX(<valeur>) 4 - 134 G192 G92 4 - 134 G292 - Vitesse de rotation maximale pour la broche Smin SMN - SMN(<VALEUR>) Vitesse de rotation minimale pour la broche A - 34 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) SpAdmin - SPA Groupe Désignation / explication SPA(Si=0|1) Page fonction dans PNC MTC 4 - 136 - - 4 - 143 - - 4 - 137 - - 4 - 140 - - 4 - 141 - - 4 - 138 - - 4 - 139 - - 4 - 142 - - Débloquer la broche réservée sous conditions ou prendre en charge par un autre canal. SpCouple _Wait SPC_ WAIT SPC_WAIT(CP=1..4) SpCouple Config SPCC - SPCC(CP=1..4, MA=<maître>, Si=1, Sj=1, ...) SpCouple PosOffs SPCP - Attendre le fonctionnement synchrone de la bande de couplage indiquée. Définir le groupe de couplage, supprimer ou ajouter la broche suivante, Suspendre le groupe de couplage. SPCP(S1=<décalage>, S2=<décalage>, ... {POSVEL<Vitesse de rotation>} Définir le décalage angulaire pour le groupe de couplage de broches actives. SpCouple PosOffs_Wait SPCP _WAIT SpCoupleDist SPCD - SPCP_WAIT(CP=1..4) Attendre sur le décalage angulaire pour le groupe de couplage programmé. SPCD(S1=<écart>, S2=<écart>, ...) Définir les écarts de couplage pour les couplages de broche. SpCoupleErr Win SPCE - SPCE(S1=<fenêtre>, S2=<fenêtre>, ...) SpCoupleSyncWin SPCS - SPG - - SPG<groupe>(<numéro>) SPGALL(0) Définir/dissoudre le groupe de broches 4 - 144 SpindleToAxis STA - STA(...) 4 - 145 Définir la fenêtre d’erreur de course synchrone pour les couplages de broche. SPCS(S1=<fenêtre>, S2=<fenêtre>, ...) Définir la fenêtre de course synchrone pour les couplages de broche. Commuter la broche en mode d’axe. SplineDef SDF - Détermination d’une variante Spline. 4 - 146 Split SPT - Split({<mode>}{,<longueur de pièce>}) 4 - 148 Divise des blocs de processus en plusieurs parcours partiels dans la mesure où ils dépassent une certaine longueur. SpMode SPM - SPM(S1=0|1, S2=0|1, ...) Commuter l’interface d’entraînement de broche manuellement entre mode vitesse de rotation / mode position. 4 - 150 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 35 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) SPV - - Groupe Désignation / explication SPV [ <.var. CPL perm.> = <Expression CPL simple> ] Page fonction dans PNC MTC 2 - 84 Ordre de synchronisation de canal: la variable CPL permanente est écrite pour la durée d’exécution. SPVE - - SPV E[ <var. CPL perm..> = <Expression CPL> ] 2 - 84 Ordre de synchronisation de canal: la variable CPL permanente est écrite pour la durée d’exécution. L’expression CPL peut inclure des ordres CPL, elle est déjà déclenchée lors de la préparation de bloc. SSPG - - SSPG<groupe>=<valeur> Définition de la vitesse de rotation pour le groupe de broches, voir aussi ”<valeur S>” 3 - 108 StatToolOri STO - STO(PHI ..., THETA ..., PSI ...) 4 - 151 SSPG Orientation d’outil statique TappSp TSP - TSP(CAXi, ..., GRPj, ...) 4 - 159 G532 SPF Sélection de broche pour alésage sans mandrin de compensation. TcsDef TCS - Déterminer explicitement la position du système de coordonnées d’outil (correction de longueur d’outil implicite en liaison avec une transformation d’axe correspondante). 4 - 161 TcsDef - VirtAxisPos VAP - Fixe la position d’axe d’axes synchrones virtuels dans le canal actuel. 4 - 168 - - WAIT - - WAIT dans le bloc CN (comme CPL WAIT) 2 - 74 WAITA - - WAITA[BITIF(<paramètre>){=<état>} {,...}{,<Timeout>}] 2 - 79 WAITA 4 - 169 G511 2 - 79 WAITO Ordre de synchronisation de canal: attente pour la durée d’exécution jusqu’à ce que tous les signaux d’interface interrogés soient émis ou que le Timeout soit écoulé. WaitAxis WAX - WAX(...) Attendre jusqu’à ce que l’axe soit débloqué puis l’accepter dans le canal. WAITO - - WAITO[BITIF(<paramètre>){=<état>} {,...}{,<Timeout>}] Ordre de synchronisation de canal: Attente pour la durée d’exécution jusqu’à ce que l’un les signaux d’interface interrogés soit émis ou que le Timeout soit écoulé. GAX ? A - 36 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) WPV - - Groupe Désignation / explication Page fonction dans PNC MTC WPV[<Perm.CPL-Var.><opér. comp>< expres- 2 - 81 sion CPL simple.>{,<Timeout>] Ordre de synchronisation de canal: Attente pour la durée d’exécution jusqu’à ce que l’expression soit remplie ou que le Timeout soit écoulé. WPVE - - WPVE[<Perm.CPL-Var.><opér. comp..><expression CPL.>{,<Timeout>}] 2 - 81 Ordre de synchronisation de canal: Attente pour la durée d’exécution jusqu’à ce que l’expression soit remplie ou que le Timeout soit écoulé. L’expression CPL peut inclure des ordres CPL, mais elle est déjà dissoute lors de la durée de préparation de bloc. WriteId WID - WID(S-0-0104, X..., Y..., Z..., ...) 4 - 170 G900 AXD 4 - 173 G22 V O Ecriture de paramètres SERCOS. WSTOPA - - WSTOPA[<No. de canal>,<cond.1>{,<cond.2>} 2 - 89 {...{,<Cond.8>}...}] Ordre de synchronisation de canal: Le canal à commander est arrêté jusqu’à ce que toutes les conditions soient remplies. Les conditions se fondent sur les positions de pièce usinées, par ex. ”Z” > 20 WSTOPO - - WSTOPO[<No. de canal>,<cond.1>{,<cond.2>}{...{,<Cond.8>}...}] 2 - 89 Ordre de synchronisation de canal: Le canal à commander est arrêté tant qu’ une des conditions est remplie. Les conditions se fondent sur les positions de pièce usinées, par ex. ”Z” > 20 ZoTSel ZOS - ZOS(<nom NPV>) Sélection d’un tableau de décalage de point zéro. G140 - Corr. rayon 3D Correction de rayon 3D ARRÊT 3 - 87 G141 G141 - Corr. rayon 3D Correction de rayon 3D à gauche du contour 3 - 87 G141 G142 - Corr. rayon 3D Correction de rayon 3D à droite du contour 3 - 87 G142 G90 - Abs/Rel Programmation de valeur absolue 3 - 75 G90 G90 G91 - Abs/Rel Programmation mesure relative 3 - 75 G91 G91 AxAcc AAC Acc. d’axe AAC(X..., Y..., Z..., ...): Mettre en service AAC(1): mettre en service avec le Réglage enregistré AAC( ): Mettre hors service 4 - 18 G6/G7 - Programmer l’accélération d’axe R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 37 Annexe Nom des fonctions NC Forme longue Forme courte AxCouple AXC Groupe Désignation / explication Page (” - ” signifie : action par bloc) Couplage d’axes AXC(<Maître>,<Esclave1>(...),<Exclave2>(...),...): Activer le couplage d’axe fonction dans PNC MTC 4 - 20 G590/G591 4 - 34 G582 4 - 32 Coord 4 - 95 G106/G107 ACC AXC( ): Désactiver le couplage d’axe CoupleSplineTab CST Coord CRD Couplage d’axes CST(STAB(...)) Transformation d’axe CRD(x): mettre la transformation d’axe en service CRD( ): mettre la transformation d’axe hors service Création d’un tableau de couplage spline G30ff. par ex. transformation de surface frontale PathAcc PAC Accél. trajectoire PAC(ACC... | UP..., DOWN ...): Mettre en service PAC( ): Mettre hors service Programmation d’accélération de trajectoire, au choix séparée pour l’accélération et le freinage ou générale. G40 - Correction de la trajectoire Correction de la trajectoire de la fraise, ARRÊT 3 - 41 G40 G40 G41 - Correction de la trajectoire Correction de la trajectoire de la fraise à gauche de la pièce à usiner 3 - 41 G41 G41 G42 - Correction de la trajectoire Correction de la trajectoire de la fraise à droite de la pièce à usiner 3 - 41 G42 G42 G08 G8 Pente de la trajectoire Pente de la trajectoire avec une FORME (SHAPE) selon les paramètres machine 3 - 23 G08 G08 G08(SHAPE...) - Pente de la trajectoire Pente de la trajectoire enclenchée avec une FORME (SHAPE) de trajectoire programmée 3 - 25 G108 G08 G09 G9 Pente de la trajectoire Pente de la trajectoire arrêt (sans FORME) 3 - 23 G09 G09 G09(..) G9 (..) Pente de la trajectoire G9(X..., Y..., ...) Pente de la trajectoire arrêt avec un ordre SHAPE programmé par axe 3 - 25 G408, G608 G9(ASHAPE) Pente de la trajectoire arrêt avec un ordre SHAPE programmé par axe selon les paramètres machine G9(SHAPE ...) Pente de la trajectoire arrêt avec FORME de trajectoire programmée G9(SIN ...) Pente de trajectoire avec FORME sinusoïdale 2-(ordre SHAPE possible: 5, 10, 15, 20, 40) G184 - Cycle de perçage Cycle de perçage: Taraudage sans mandrin de 3 - 73 compensation G184 G80 - Cycle de perçage Mettre le cycle de perçage hors service G80 3 - 67 - A - 38 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte Groupe Désignation / explication Page (” - ” signifie : action par bloc) fonction dans PNC MTC G81 - Cycle de perçage Cycle de perçage: Perçage avec dégagement de l’outil à vitesse rapide 3 - 67 G81 DEFINE G82 - Cycle de perçage Cycle de perçage: Perçage avec dégagement de l’outil en avance 3 - 68 G82 DEFINE G83 - Cycle de perçage Cycle de perçage: Percer trou profond 3 - 69 G83 DEFINE G84 - Cycle de perçage Cycle de perçage: Taraudage sans mandrin de 3 - 70 compensation G84 DEFINE G85 - Cycle de perçage Cycle de perçage: Alésage avec dégagement de l’outil à vitesse rapide 3 - 71 G85 DEFINE G86 - Cycle de perçage Cycle de perçage: Alésage avec dégagement en avance 3 - 72 G86 DEFINE ABS - CPL ABS(<valeur en entrée>) 2 - 66 ABS - 2 - 67 ACOS - 2 - 68 AND - 5 - 12 APOS - 5 - 105 ASC - 2 - 67 ASIN - 2 - 67 ATAN - 5 - 16 AXO - Redonne la valeur en entrée comme valeur absolue. ACOS - CPL <valeur de fonction> = ACOS(<valeur en entrée>) Application de la fonction d’arc cosinus sur la <valeur en entrée>. AND - CPL <Impression1> AND <impression2> Lien binaire de deux expressions logiques ou INTEGRALES APOS - CPL APOS(<sélection d’axe>) Transmet la valeur d’axe actuelle fondée sur le point zéro de la machine. ASC - CPL ASC(<chaîne de caractères>) Donne le nombre ordinal du première caractère (code ASCII) de la <chaîne de caractères> comme INTEGRALE. ASIN - CPL <Valeur de fonction> = ASIN(<valeur en entrée>) Application de la fonction d’arc sinus sur la <valeur en entrée>. ATAN - CPL <Valeur de fonction> = ATAN(<valeur en entrée>) Application de la fonction d’arc tangente sur la <valeur en entrée>. AXO - CPL AXO((<sélection d’axe>[,<type de sélection>]) Transmet un décalage G92 actif pour une coordonnée. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 39 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) AXP CPL - Groupe Désignation / explication AXP(numéro d’axe>,<information de parcours>) Page fonction dans PNC MTC 5 - 45 AXP - 2 - 69 BCD - 2 - 69 BIN - 5 - 46 IC - 2 - 31 CALL - 2 - 43 CASE - 5 - 105 CHR$ - 5 - 48 CLOCK - 5 - 133 CLOSE - Cette fonction permet des programmes de pièces et de mesure indépendants du niveau (programmer AXP au lieu des valeurs d’adresse). BCD - CPL <Valeur BCD> = BCD(<valeur binaire>) Convertir le format BCD en format binaire. BIN - CPL <Valeur binaire> = BIN(<valeur BCD>) Convertir le format binaire en format BCD. BITIF - CPL BITIF(<signal de bit>[,<Index>[,<Unité IF>]]) Accès à l’interface numérique entre NC et API. CALL - CPL CALL <Numéro de programme> [<Paramètre de transmission1>,...] [DIN] Appel de sous - programme depuis un programme CPS. CASE - CPL CASE <Expression intégrale> OF LABEL <constante int.>[,<autres Int.Constante>] [: <Instruction>] <Instruction> LABEL ... AUTRE <Instruction> <Instruction> ENDCASE Sélection restreinte parmi plusieurs alternatives. CHR$ - CPL CHR$(<Expression intégrale>) Fournit un caractère dont le nombre ordinaire dans le tableau ASCII est égal à la valeur transmise par le paramètre <Expression INTEGRALE>. CLOCK - CPL <Valeur de fonction> = CLOCK Interrogation du chronomètre en millisecondes. CLOSE - CPL CLOSE(<n>) Ferme un fichier ouvert après la conclusion des opérations de lecture ou d’écriture. CLRWARN - CPL Supprimer tous les messages d’avertissement d’un canal émis avec SETWARN. 2 - 63 - - COF - CPL COF(<sélection d’axe>[,<type de sélection>]) 5 - 17 COF - Fournit pour le canal actuel le dernier décalage de contour programmé (Shift) d’une coordonnée. A - 40 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) COS CPL - Groupe Désignation / explication <valeur de fonction> = COS(<valeur en entrée>) Page fonction dans PNC MTC 2 - 67 COS - 5 - 13 CPROBE - 5 - 48 DATE - 5 - 22 TC - 2 - 57, 5 - 101 DIM - 5 - 18 DPC - 5 - 133 EOF - Fonction de cosinus pour la <valeur en entrée>. CPROBE - CPL CPROBE(<sélection>[,<type de sélection>]) Lit la valeur de meure pour respectivement une coordonnée DATE - CPL <Variable string> = DATE Affecte à une <variable STRING> la date sous la forme JJ.MM. DBSEA - CPL DBSEA(<DbTab>,<Key1>,<Key2>,<SearchCond>,<SeachRes>[,<ResVar>]) 5 - 24 Recherche des blocs de données dans un tableau de données. DBTAB - CPL DBTAB(<Tableau Db>,<Key1>,<Key2>[,<Res- 5 - 23 Var>]) Lit un jeu de données complet ou une structure partielle de tableau de banque de données dans une variable CPL ou écrit en retour sur celle - ci. DCT - CPL DCT(<sélection de valeur>, <jeu de données>[, [<tableau>] [, <unité>]]) Accès en lecture et en écriture sur un quelconque tableau de correction D ou sur des valeurs de correction d’outil externes. DIM - CPL DIM <nom de variable>(<taille de champ1>[,<taille de champ2>]) Détermination de la taille de champ (dimensionnement des variables ARRAY avec des constantes IONTEGRALE). DIRCR - CPL DIRCR(<répertoire>) 5 - 125 Crée un nouveau répertoire. DIRDEL - CPL DIRDEL(<répertoire>) 5 - 125 Supprime un répertoire vide. DIRINF - CPL DIRINF(4,[<Index2>],<var. résultat>[,<numér de fichier]) 5 - 124 Appelle des données d’administration du système de données. DPC - CPL DPC(<sélection>[,<type de sélection>]) Fournit pour le canal actuel les derniers paramètres programmés de la correction de position de pièce usinée BcsCorr d’une coordonnée (valeurs de décalage et angle de torsion). EOF - CPL EOF(<n>) Contrôle des extensions de fichier R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 41 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) ERASE CPL - Groupe Désignation / explication ERASE(<identification de programme>) Page 5 - 140 fonction dans PNC MTC ERASE - Supprime les fichiers ERRNO - CPL Retour d’information d’erreur de diverses fonc- 2 - 60 tions CPL. - - FALSE - CPL <Variable booléenne> = FALSE 2 - 56 FALSE - 5 - 141 FILEACCESS - Valeur de vérité d’une variable booléenne FILEACCESS - CPL FILEACCESS(<nom de fichier>) Détermine si un fichier existe et quels droits d’accès il possède. FILECOPY - CPL Copier des fichiers. 5 - 143 - - FILEDATE - CPL FILEDATE(<nom de fichier>[,<mode>]) 5 - 142 FILEDATE - Détermine la date / l’heure d’un fichier. FILENO - CPL Fournit le prochain numéro de fichier logique valide. 5 - 123 FILEPOS - CPL FILEPOS(<n>[,<mode>]) 5 - 134 FILEPOS - 5 - 138 FILESIZE - 2 - 45 FOR NEXT - 5 - 50 GETERR - 2 - 40 GOTO - IF ENDIF - INP# - Fournit le numéro d’enregistrement de l’enregistrement actuel et le décalage d’enregistrement d’un fichier aléatoire. Fournit pour les fichiers séquentiels la position d’octet actuelle de l’afficheur de fichier. FILESIZE - CPL FILESIZE(<n>[,<k>]) Indique la taille d’un fichier ou la limite jusqu’à laquelle un fichier a été écrit. FOR NEXT - CPL FOR <var. de comptage>=<valeur de début> [STEP <pas>] TO <routine de><valeur finale> NEXT [<variable de comptage>] Construction de boucles avec compteur courant automatiquement en parallèle. GETERR - CPL GETERR(<canal> [,<catégorie>],<erreur> No.> [,<nombre>]) Fournit le No. de l’erreur actuelle, le No. du canal et la catégorie d’erreur. GOTO - CPL GOTO <cible du saut> Sauts de programme inconditionnels au numéro de ligne, numéro de bloc ou label. IF ENDIF - CPL IF <condition> THEN <routine> [ELSE <routine 2 - 42 alternative>] ENDIF Saut conditionnel à une routine ou une routine alterantive. INP# - CPL INP#(<n>,<Variable>[,<Variable>] [,...] [;]) Accès en lecture à un fichier. 5 - 131 A - 42 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) INSTR CPL - Groupe Désignation / explication INSTR(<suite de caractères>,<expression string>[,<point de départ>]) Page fonction dans PNC MTC 5 - 104 INSTR - 2 - 66 INT - 5 - 104 LEN - Recherche dans une <expression string> depuis le <point de départ> une <suite de caractères> et édite la position de départ en valeur INTEGRALE. INT - CPL <Nombre intégral>=INT(<expression réelle>) Transforme <une expression réelle> en un <nombre intégral> en coupant le chiffre après la virgule. LEN - CPL LEN(<expression string>) Fournit le nombre de caractères d’une expression string. LJUST - CPL Commutation sur une édition de données alignée à gauche, efficace jusqu’à la fin du déroulement du programme. 5 - 127 LJUST - MCODS - CPL MCODS(<type>,<canal>,<version>,<tampon>,<taille>[,<P1>]) 5 - 55 MCODS - 5 - 87 MCOPS - MID$ - 5 - 144 MMC - 5 - 10 MPOS - Appelle les services de données Motion Control de la NCS. Cela permet de lire les états et les données de la CN. MCOPS - CPL MCOPS(<Fkt>,<canal>[[,[<P1>][,[<P2>], [<P3>]]],<P4>])) Appelle les services de processus Motion Control de la NCS. Cela permet de commander les canaux de la CN. MID$ - CPL MID$(<expression de string>,<point de dé5 - 102 part>[,<nombre de signes>]) prend une partie d’Expression de STRING et l’édite en texte. Le résultat peut être transmis à une variable STRING ou à un champ de caractère dimensionné en conséquence. MID$(<champ de caractère>,<point de départ>[,<nombre de caractères>]) Remplace des parties de champ de texte. MMC - CPL MMC(<CPL-Var1>[,<CPL-Var2>...[,<CPLVarN>]...]) Envoie des informations concernant la durée du programme d’un programme de pièces à un client et attend le résultat de ce client. MPOS - CPL MPOS(<sélection d’Axe>[,<type d’Axe>[,<canal>]]) Transmet la position de consigne interpolée actuelle fondée sur le point zéro du système de coordonnées de machine MCS. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 43 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) NCF CPL - Groupe Désignation / explication NCF(<Fonction CN>) Page fonction dans PNC MTC 5 - 31 NCF - Transmet la syntaxe de la fonction CN active au sein du groupe modal CN de la <fonction CN>. NJUST - CPL Rétrogradage prématuré d’édition de données alignées à gauche en édition formatée. 5 - 127 NJUST - NOT - CPL Expression NOT> 2 - 68 NOT - 2 - 65 NUL - 5 - 120 OPENR - 5 - 120 OPENW - 2 - 68 OR - 5-7 CPOS - PDIM - Négation d’une bouléenne ou négation par bit d’une expression INTEGRALE. NUL - CPL <Variable> = NUL Suppression d’une variable. OPENR - CPL OPENR(<n>,<Nom prog.>[,<longueur d’enregistrement>]) Ouvre un fichier pour un accès en lecture à la suite. OPENW - CPL OPENW(<n>,<Nom prog.>[.<longueur>][,<Commentaire prog.>][,<longueur d’enregistrement>]) Ouvre un fichier pour un accès en écriture à la suite. OR - CPL <Expression> OR <Expression> Lien binaire de deux expressions booléennes ou intégrales avec la fonction ODER. PCS - CPL PCS(<Coordonnées>[,<Type de sélection>]) Transmet la dernière position absolue programmée d’une coordonnée. PDIM - CPL PDIM <nom de paramètre>(<taille de champ>) 2 - 33 Doit être utilisé quand un sous - programme: D doit être ouvert avec une constante de string comme paramètre de transmission et D le programme qui appelle a été sélectionné sans lien. PMT - CPL PMT(<sélect.coord.>,<Pl-Code>[,[<PlBank>][,[<tableau>][,<Unité>]]]) 5 - 27 - 5 - 26 - 5 - 15 PPOS Accès en lecture et en écriture sur un tableau de placement XML. PMV - CPL PMV(<sélect. coord.>[,<Pl-bank>]) Fournit les valeurs de placement efficaces pour une coordonnée. PPOS - CPL PPOS(<sélection d’axe>[,<type d’Axe>]) Interrogation de la position réelle de l’axe au moment de la commutation du palpeur de mesure. - A - 44 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) PRN# CPL - Groupe Désignation / explication PRN#(<n>,[<expression>][,<expression][,<expression>][,...][;]) Page fonction dans PNC MTC 5 - 127 PRN# - 5 - 14 PROBE - 2 - 23 REM - 2 - 46 REPEAT - 5 - 130 REWRITE - 2 - 67 Round - 5 - 30 SCL - SCS(<indice d’axe>,<ID-Art>,<ID-Nr>[,<var.ré- 5 - 32 sult.>]) SCS - 5 - 33 SCSL - 5 - 34 SD - 5 - 41 SDR - 5 - 136 SEEK - Accès en écriture à un fichier. PROBE - CPL PROBE(<Sélection d’axe>[,<type d’axe>]) Interrogation de la position d’axe au moment de la commutation du palpeur de mesure, fondée sur les coordonnées de point zéro de l’axe du MCS. REM - CPL REM <Texte de commentaire> Commentaire du programme REPEAT - CPL REPEAT <routine> UNTIL <condition> Construction en boucle avec interrogation de la condition d’annulation selon le premier traitement de la routine. REWRITE - CPL REWRITE(<n>) Remplacer un fichier existant. ROUND - CPL <nombre intégral> = ROUND(<expression réelle>) Transformer une expression réelle en un nombre INTEGRAL en l’arrondissant. SCL - CPL SCL(<Sélection SCL>[,<sélection>[,<type de sélection>]]) Fournit pour le canal actuel les derniers paramètres programmés des fonctions PLS et ROT (coordonnées de pôle, facteurs d’échelles et angle de rotation). SCS - CPL Accès en lecture aux paramètres d’entraînement SERCOS du bloc de paramètres actif. SCSL - CPL SCSL(<indice d’axe>,<ID-Art>,<ID-Nr>,<nom de fichier>[,<var.résult.>]) Création d’un fichier pour les listes de paramètres SERCOS. SD - CPL SD(<groupe>[,<Index1>[,<Index2>[,<Index3>]]]) Lecture de données système actives de la commande CN. SDR - CPL SDR(<groupe>[,<Index1>[,<Index2>]]) Lecture de données système actives de la commande CN en format REAL. SEEK - CPL SEEK(<n>,<k>[,<o>]) Positionne l’indicateur de fichier sur l’enregistrement <k>-d’un fichier aléatoire ou sur l’octet<k>- d’un fichier séquentiel. R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 45 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) SETERR - CPL Créer une erreur de durée d’exécution après l’analyse de ERRNO. 2 - 62 - - SETWARN - CPL Créer un message d’avertissement après l’analyse de ERRNO. 2 - 63 - - SIN - CPL <valeur de fonction> = SIN(<valeur en entrée>) 2 - 67 SIN - 5 - 11 SPOS - 2 - 67 SQRT - 5 - 106 STR$ - 2 - 67 TAN - 5 - 21 TC - 5 - 48 TIME - 5 - 108 TRIM$ - 2 - 56 TRUE - Groupe Désignation / explication Page fonction dans PNC MTC Application de la fonction de sinus sur la valeur en entrée SPOS - CPL SPOS(<sélection d’axe>) Transmet la valeur de consigne d’axe actuelle d’un axe physique. SQRT - CPL <Valeur de fonction> = SQRT(<valeur en entrée>) Application de la fonction racine carrée sur la <valeur en entrée>. STR$ - CPL STR$([<string de format>,]<valeur>) Transforme l’expression numérique <valeur> en une suite de caractères qui peut être affectée uniquement à un champ de caractères. Avec le <string de format>, la suite de caractères peut être éditée formatée. TAN - CPL <Valeur de fonction> = TAN(<valeur en entrée>) Application de la fonction tangentielle sur la <valeur d’entrée>. TCV - CPL TCV(<sélection de valeur>[,<sélection de correction>]) Fournit les dernières valeurs de correction d’outil programmées. TIME - CPL <variable de string> = TIME Attribue l’heure à une variable de STRING sous la forme HH.MM.SS. TRIM$ - CPL TRIM$(<suite de caractères>) TRIM$(<suite de caractères>,”L”) TRIM$(<suite de caractères>,”R”) Fournit lors de l’attribution d’une plage de champ de caractères à une variable de STRING ou un champ de caractères une suite de caractères sans espace précédent (index “L“) ou suivant (index “R“). Sans index, aussi bien les espaces précédents que les espaces suivants sont exclus. TRUE - CPL <Variable booléenne> = TRUE Valeur de vérité d’une variable booléenne A - 46 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) VAL CPL - Groupe Désignation / explication Page VAL(<expression de string>) 5 - 107 fonction dans PNC MTC VAL - 2 - 74 WAIT - 2 - 47 WHILE - 5-9 WPOS - 2 - 68 XOR - 5 - 29 TDA - 5 - 19 FXC - 5 - 19 FXC - Fournit la valeur numérique de l’expression de STRING. VERSINF$ - CPL VERSINF$(<Index1>[,<Index2>]) 5 - 123 Appelle des données d’Administration, par ex la version SW. WAIT - CPL WAIT(sans paramètre) Stoppe le traitement de bloc jusqu’à ce que tous les blocs programmés avant WAIT aient été traités. WAIT(,<temps d’attente>) Arrête le traitement de bloc jusqu’à ce qu’un intervalle déterminé se soit écoulé. WAIT(BITIF(...)) Arrête le traitement de bloc jusqu’à ce qu’un état précis de l’interface binaire CN de l’API soit dans un état précis. WHILE - CPL WHILE <condition> DO <routine> END Construction en boucle avec interrogation de la condition d’annulation avant le premiers parcours de la boucle. WPOS - CPL WPOS(<Sélection d’axe>[,<Type de sélection>[,<Canal>]]) Transmet la position théorique interpolée fondée sur le point zéro de la pièce usinée de l’actuel WCS. XOR - CPL <Expression> XOR <Expression> Lien binaire de deux expressions booléennes ou intégrales avec la fonction OU EXCLUSIF. XTAB - CPL XTAB(<tableau>,<structure partielle>) Accès en lecture et en écriture sur un fichier XML au choix qui peut aussi être défini par l’utilisateur. ZOT - CPL ZOT(<sélection de colonne>,<NPVCode>[,[<NPV-bank>][,[<tableau>][,<unité>]]]) Accès en lecture et en écriture sur un tableau de décalage de point zéro XML au choix. ZOV - CPL ZOV(<sélection d’axe>[.<NPV-bank>]) Fournit les valeurs NPV efficaces pour un axe/ des coordonnés machine. D D Correction D Dx: sélection D-correction (1 - 99 outils) D0: sélection de la correction D. 3 - 110 G147 G847, G148 DiaProg DIA Diam. / rayon Programmation de diamètre 4 - 38 DIA G16 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 47 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) RadProg RAD Diam. / rayon Programmation du rayon 4 - 38 RAD G15 G16 - Sélection de niveau Aucun plan 3 - 29 G16 - G17 - Sélection de niveau Sélection de niveau XY 3 - 30 G17/G20 G17/G20 G17(...), G18(...), G19(...) - Sélection de niveau Commutation de niveau étendue 3 - 32 - - Groupe Désignation / explication Page fonction dans PNC MTC G17/18/19( <Axe1>,<Axe2>,<Axe3>) les axes entre parenthèses tendent le WCS et obtiennent la signification X, Y et Z. Le niveau programmé est ensuite sélectionné. G17/18/19( ) Remettre le système de coordonnées de pièce usinée sur le réglage par défaut puis sélectionner le niveau programmé. G18 - Sélection de niveau Sélection de niveau ZX 3 - 30 G18/G20 G18/G21 G19 - Sélection de niveau Sélection de niveau YZ 3 - 30 G19/G20 G19/G22 G20 - Sélection de niveau Libre sélection de niveau (indépendamment du 3 - 34 WCS) - - Les placements agissent sur le WCS, le niveau est défini indépendamment du WCS. ED ED Correction ED ED x: sélection de la correction d’outil externe 3 - 111 (1..16 outils / lames) ED0: Désélection d’une correction d’outil externe G145 G845, G146 G43 - Stratégie d’insertion Stratégie d’insertion arc de cercle 3 - 44 G68 G43 G44 - Stratégie d’insertion Stratégie d’insertion point d’intersection 3 - 44 G69 G44 ChLength CHL Chanfrein/rond CHL(<longueur de chanfrein>): Mettre en service CHL( ): mettre hors service 4 - 27 G234/G35 - 4 - 27 G234/G35 - 4 - 125 G34/G35 - Insérer des chanfreins de transfert avec des longueurs de chanfreins définies. ChSection CHS Chanfrein/rond CHS(<section de chanfrein>): Mettre en service CHS( ): mettre hors service Insérer des chanfreins de transfert avec des sections de chanfreins définies. RoundEps RNE Chanfrein/rond RNE(<valeur>): Arrondi MARCHE RNE( ): Arrondi ARRÊT Arrondir avec l’écart de contour défini. A - 48 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte Rounding RND Groupe Désignation / explication Page (” - ” signifie : action par bloc) Chanfrein/rond RND(<valeur>): Arrondi MARCHE RND( ): Arrondi ARRÊT fonction dans PNC MTC 4 - 126 G134/G35 - 4 - 47 G275 - Arrondir avec un rayon d’arrondi défini FlyMeas FME G61 Mesures à la volée FME(MpiAxis< i>) X... Y Z Arrêt précis Arrêt précis marche 3 - 52 G61/G161 G61 Avancer avec la mesure à la volée G61(IPS...) - Arrêt précis Arrêt précis avec la fenêtre d’arrêt précis IPS1, 3 - 52 IPS2 ou IPS3 G61/G161 G61 G62 - Arrêt précis Arrêt précis arrêt 3 - 52 G62/G162 G62 PrecProg PRP Contr. de la précision PRP(DIST... | EPS...): Contr. de la précision MARCHE PRP( ): Contr. de la précision ARRÊT 4 - 108 G328/G329 - G45 - Vitesse fraise Vitesse point d’attaque fraise 3 - 46 G64 G99 G46 - Vitesse fraise Vitesse point central fraise 3 - 46 G65 G98 G33 - Filet Filetage 3 - 35 G33 G33 G63 - Filet G63(M3/M4, S.../H...) F Z ... 3 - 54 G32 G63/G64 Taraudage sans mandrin de compensation ThreadSet TST Filet Filetage, fonctions supplémentaires 4 - 164 G70 - pouce/mètre Programmation en pouce agit sur le parcours programmé- et sur les dimensions de longueur, les avances et les accélérations. 3 - 56 G70 G70 G71 - pouce/mètre Programmation métrique: 3 - 57 G71 G71 G00 G0 Interpolation Interpolation droite (avance rapide) 3-3 G00/G10 G00 G00(..) G0 (..) Interpolation Avance rapide avec options 3-3 G01 G1 Interpolation Interpolation droite (avance) 3-5 G01/G11 G01 G02 G2 Interpolation Interpolation circulaire dans le sens des aiguilles d’une montre (y compris hélicoïdal -N) 3-7 G02/G12 G02 G02(POL) G2 (..) Interpolation Interpolation circulaire dans le sens des aiguilles d’une montre (y compris hélicoïdal-N) avec programmation des coordonnées polaires 3 - 11 G02/G12 G02 Paramètres optionnels: NIPS: sans arrêt précis IPS1: fenêtre d’arrêt précise 1 IPS2: fenêtre d’arrêt précise 2 IPS3: fenêtre d’arrêt précise 3 (freiner uniquement sur V=0) POL/POLAR: avec programmation de coordonnées polaires, par ex. G0(POL) X50 A45 B10, avec A, B = angle polaire 1/2 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 49 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) G03 G3 Interpolation Interpolation circulation dans le sens opposé à 3 - 7 celui des aiguilles d’une montre (y compris hélicoïdal -N) G03/G13 G03 G03(POL) G3 (..) Interpolation Interpolation circulation dans le sens opposé à 3 - 11 celui des aiguilles d’une montre (y compris hélicoïdal-N) avec programmation des coordonnées polaires G02/G12 G02 G05 G5 Interpolation Entrée tangentielle dans le cercle (y compris hélicoïdal-N) 3 - 14 G05 - G06 G6 Interpolation Splines, Nurbs 3 - 16 G99 - Collision CLN Surveillance de collision CLN(1): Mettre en service CLN(CollErr..| LA... | DLA... | DEF): Mise en service avec paramétrage CLN( ): Mettre hors service 4 - 29 Groupe Désignation / explication Page fonction dans PNC MTC Surveillance de collision pour correction de voie de fraisage 2D. KvProg KVP Progr. KV AAC(X..., Y..., Z..., ...): Programmation du gain de boucle KV ON KVP( ): Programmation du gain de boucle KV OFF 4 - 65 G14/G15 AXD G75 - Palpeur de mesure: Déplacement contre palpeur de mesure (interruption du mouvement) 3 - 61 G75 - G53 - NPV ARRÊT de tous les décalages de point zéro 3 - 49 - G54.1 G54 Bank NPV 1 1. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G55.1 G55 Bank NPV 1 2. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G56.1 G56 Bank NPV 1 3. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G57.1 G57 Bank NPV 1 4. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G58.1 G58 Bank NPV 1 5. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G59.1 G59 Bank NPV 1 6. Décalage point zéro bank 1 MARCHE 3 - 49 G54 - G254 G53.1 - G53.5 - Bank NPV 1 - 5 ARRÊT décalages de points zéro bank 1 - 5 3 - 49 G53 - G253 G54.2 - G54.5 - Bank NPV 2 - 5 1. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G54 - G254 G55.2 - G55.5 - Bank NPV 2 - 5 2. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G55 - G255 G56.2 - G56.5 - Bank NPV 2 - 5 3. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G56 - G256 G57.2 - G57.5 - Bank NPV 2 - 5 4. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G57 - G257 G58.2 - G58.5 - Bank NPV 2 - 5 5. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G58 - G258 G59.2 - G59.5 - Bank NPV 2 - 5 6. Décalage point zéro bank 2 - 5 MARCHE 3 - 49 G59 - G259 PoleSet PLS fixer le pôle PLS(X..., Y..., Z...): fixer le pôle PLS( ): Pôle à l’origine 4 - 105 G37/G39 Reflèter, tourner le pôle pour les aides à la saisie. A - 50 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) PolarPol PolarPol POP Groupe Désignation / explication Page POP(X...,Y...,Z...): fixer le pôle POP( ): Pôle à l’origine 4 - 100 fonction dans PNC MTC - Pôle pour la programmation de coordonnées polaires. PosMode PMD Mode de positionnement PMD(A..., B...): Changement du mode de posi- 4 - 106 tionnement, PMD( ): Mode de positionnement selon les paramètres machine G151/G150 G36 et suivantes Mode de positionnement pour les axes sans fin ATrans ATR Décalage des coordonnées de programme. ATR(X..., Y..., Z..., ...): Décalage des coordonnées de programme additionnelles MARCHE 4 - 166 ATR(): Décalage des coordonnées de programme additionnelles ARRÊT Trans TRS Décalage des coordonnées de programme. TRS( X ..., Y ..., Z ..., ...): Décalage des coordonnées de programme MARCHE TRS( ): Décalage des coordonnées de programme ARRÊT 4 - 166 G60/G67 G153 - SE Placement: Plan incliné, tout ARRÊT 3 - 92, 3 - 93 - G152.1 G152 SE Bank 1 Placement: niveau incliné, programmable, bank 1 3 - 92 G352 G154,1 G154 SE Bank 1 Placement: 1. niveau incliné, Bank 1 MARCHE 3 - 93 G354 G155.1 G155 SE Bank 1 Placement: 2. niveau incliné, Bank 1 MARCHE 3 - 93 G355 G156.1 G156 SE Bank 1 Placement: 3. niveau incliné, Bank 1 MARCHE 3 - 93 G356 G157.1 G157 SE Bank 1 Placement: 4. niveau incliné, Bank 1 MARCHE 3 - 93 G357 G158.1 G158 SE Bank 1 Placement: 5. niveau incliné, Bank 1 MARCHE 3 - 93 G358 G159.1 G159 SE Bank 1 Placement: 6. niveau incliné, Bank 1 MARCHE 3 - 93 G359 G153.1 - G153.5 - SE Bank 1 - 5 Placement: Plan incliné Bank 1 - 5 ARRÊT 3 - 92, 3 - 93 G353 G152.2 - G152.5 - SE Bank 2 - 5 Placement: niveau incliné, programmable, bank 2 - 5 3 - 92 G452 G154.2 - G154.5 - SE Bank 2 - 5 Placement: 1. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G454/G554 G155.2 - G155.5 - SE Bank 2 - 5 Placement: 2. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G455/G555 G156.2 - G156.5 - SE Bank 2 - 5 Placement: 3. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G456/G556 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 51 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) G157.2 - G157.5 - SE Bank 2 - 5 Placement: 4. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G457/G557 G158.2 - G158.5 - SE Bank 2 - 5 Placement: 5. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G458/G558 G159.2 - G159.5 - SE Bank 2 - 5 Placement: 5. niveau incliné, Bank 2 - 5 MARCHE 3 - 93 G459/G559 Scale SCL Programmation du facteur d’échelle SCL(X..., Y..., Z..., ...): programmation de 4 - 127 facteur d’échelle de coordonnées MARCHE SCL( ): Programmation du facteur d’échelle de coordonnées ARRÊT Miroir MIR Fonction miroir MIR(X1, Y1,Z1,...): Refléter des coordonnées 4 - 76 MARCHE MIR( ): Arrêt reflet de coordonnées G38/G39 G96 - Progr. broche G96{({<axe de référence>{,<point d’action>}})} 3 - 82 Vitesse de coupe constante G96/G196 G96 G97 - Progr. broche Programmation directe de la vitesse de rotation 3 - 82 G97 G97 Nibble NIB Découpage poinçonnage: NIB( NUM...): Traitement nibble MARCHE NIB( ): Traitement nibble ARRÊT 4 - 79 G662/G660 - Punch PUN Découpage poinçonnage: PUN( NUM...): Traitement découpage poinçonnage MARCHE PUN( ): Traitement découpage - poinçonnage ARRÊT 4 - 116 G661/G660 - PtBlkEnd PTE Course de découpage PTE(X..., Y..., Z..., ...) 4 - 110 G612 - Groupe Désignation / explication Page fonction dans PNC MTC G38/G39 G78/G79 Déclenchement de course à la fin du bloc PtDefault PTD Course de découpage Déclenchement de la course selon le paramétrage 4 - 113 G610 - PtInpos PTI Course de découpage PTI(X..., Y..., Z..., ...) 4 - 114 G611 - 4 - 156 G630/G631 - Déclenchement de la course avec Inpos (Pt = punch time) TangToolOri TTO Orient. outil tangentiel TTO(SYM..., ANG...): Orientation tangentielle de l’outil MARCHE TTO( ): Orientation tangentielle de l’outil ARRÊT DefTangTrans DTT Angle de transfert DTT(<angle de transfert>): Activation DTT( ): désactivation G228 - Définition de contour tangentiel ConstFeed CFD Profil en V Vitesse constante 4 - 71 G310 - LinDownFeed LND Profil en V Freinage linéaire 4 - 72 G312 - LinUpFeed LNU Profil en V Accélération linéaire 4 - 71 G311 - Sin2DownFeed S2D Profil en V Freinage en forme de Sin2 4 - 72 G316 - A - 52 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Nom des fonctions NC Forme longue Forme courte (” - ” signifie : action par bloc) Sin2UpFeed S2U Profil en V Accélération en forme de Sin2 4 - 71 G315 - SinDownFeed SND Profil en V Freinage en forme de Sin 4 - 72 G314 - SinUpFeed SNU Profil en V Accélération en forme de Sin 4 - 71 G313 - Rotate ROT Tourner ROT(<angle>): Rotation des coordonnées MARCHE ROT( ): Rotation des coordonnées ARRÊT 4 - 122 G38/G39 OvrDis OVD Avance 100% Potentiomètre d’avance ARRÊT 4 - 94 G63 - OvrEna OVE Avance 100% Potentiomètre d’avance MARCHE 4 - 94 G66 - FeedAd FAD Adapt. d’avance FAD(1): Groupe Désignation / explication FAD( ): Page axe de la formation d’avance 4 - 44 retirer Axe reçu dans la formation d’avance fonction dans PNC MTC G594/G595 G93 - Progr. avance Programmation du temps 3 - 77 G93 G93 G94 - Progr. avance Programmation de l’avance (par min.) 3 - 78 G94 G94 G94(...) - Progr. avance G94({DF <valeur>,} { DS1 <valeur>, DS2 <valeur>, ...} ) 3 - 79 G94 G94 G95 Programmation incrémentielle de la vitesse avec adaptation de l’accélération. G95 - Progr. avance Programmation de l’avance (par rotation) 3 - 81 G95 FeedForward FFW Anticipation FFW(X..., Y..., Z..., ...): Mettre en service FFW( ): mettre hors service 4 - 45 G114/G115 G6/G7 4 - 25 G138/G139 - activation de l’anticipation BcsCorr BCR Corr. de position de pièce usinée BCR({<XW-décalage>}{,{<YW-décalage>} {,{<ZW-décalage>}{,{<angle1>} {,{<angle2>} {,{<angle3>}}}}}}): Mettre en service BCR( ): Mettre hors service Placement: Correction de la position de la pièce à usiner G47 - Correction WZ Mettre la correction de la longueur de l’outil en service 3 - 47 G146/8 G47 G47 (..) - Correction WZ G47(<Coord. L1>,<Coord. L2>,<Coord. L3>) G47(ActPlane) Correction de longueur outil MARCHE avec commutation de l’affectation de correction. 3 - 47 G146/8 G47 3 - 47 G145/7 et suivants G48/G49 G47( ): Correction de longueur outil MARCHE avec commutation de l’affectation de correction selon les paramètres machine. G48 - Correction WZ Correction longueur outil ARRÊT TangTool TTL Orient. outil. TTL(TAX..., SYM..., ANG..., IA..., PLC...): 4 - 153 Guidage tangentiel de l’état MARCHE TTL( ): Guidage tangentiel de l’état ARRÊT G131/G130 - R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 53 Annexe A.3 Blocs de signes ASCII Déc. Hex ASCII Déc. Hex ASCII Déc. Hex ASCII Déc. Hex ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F SP ! " # $ % & ’ ( ) * + , _ 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F @ A B C D E F G H l J K L M N O P Q R S T U V W X Y Z [ \ ] 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F ‘ a b c d e f g h i j k l m n o p q r s t u v w x y z { l } ~ DEL . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? "( ) !( _ ) : Signes qui sont ignorés en standard lors de la lecture. A.4 Codes de touches supplémentaires Code de touche (déc.) Signification 134 135 136 137 CURSEUR HAUT CURSEUR BAS CURSEUR DROIT CURSEUR GAUCHE 139 NIVEAU-RETOUR 141 142 143 144 145 146 147 148 TOUCHE LOGICIELLE1 TOUCHE LOGICIELLE2 TOUCHE LOGICIELLE3 TOUCHE LOGICIELLE4 TOUCHE LOGICIELLE5 TOUCHE LOGICIELLE6 TOUCHE LOGICIELLE7 TOUCHE LOGICIELLE8 A - 54 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe A.5 Registre des mots clés Espace , accolades, 4 - 2 accolades, 2 - 11 crochets, 2 - 3 triangulaires, 2 - 11 Décalage programmé de segments de contour, 4 - 132 Sélection de niveau, libre, 3 - 34 Caractère ; (Start commentaire), 2 - 22 ( (Start commentaire), 2 - 22 ) (fin commentaire), 2 - 22 $ (caractérisation de canal), 2 - 21 / (ignorer bloc), 2 - 41 // (Start commentaire), 2 - 23 | (caractère de séparation paramètre alternatif), 2 - 11, 3 - 2, 4 - 2 \\ (fin commentaire), 2 - 23 A à maintien automatique, 2 - 19 AAC, 4 - 18 AAS, 4 - 18 ABS, 2 - 66 AC (programmation absolue locale), 3 - 75 Accélération, Trajectoire - , 4 - 95 accélération, d’axe, 4 - 18 Accélération d’axe mettre en tampon, 4 - 18 modifier, 4 - 18 Accepter le réglage d’axe de MP, 4 - 37 Accepter le réglage par défaut d’axe de MP, 4 - 37 Accolades, , 3-2 accolades, 2 - 11 ACOS, 2 - 67 ACS, 5 - 10 Activation des tableaux, 4 - 36 Activation des tableaux de correction D, 4 - 36 Activation des tables, 4 - 173 Tables de placement, 4 - 99 Activation des tables de décalage d’origine, 4 - 173 Adresse F, 3 - 106 Adresse FA, 3 - 107 Adresse Omega , 3 - 107 Adresse P, 2 - 27 Adresses d’axes, 2 - 17 variable, 5 - 45 ALN, 4 - 11 AND, 2 - 68 Anticipation, 4 - 45 API, 4 - 131 APOS, 5 - 12 Appel de sous - programme, avec adresse M., 2 - 30 appels de sous-programmes, 2 - 25 Approche de la position fixe des axes de la machine, 3 - 63 Approche de la position fixe des axes machine, 3 - 63 Approche des coordonnées du point de référence, 3 - 58 Approche point de réf., 3 - 59 ARA, 4 - 3 Arc de cercle (raccordement entre des segments de contour), 3 - 44 Area, 4 - 3 ARRAY, 2 - 57 Arrêt de l’usinage, 3 - 95, 3 - 96 Arrêt de programme, 3 - 95 conditionnel, 3 - 95 Arrêt précis à vitesse rapide (G00), 3 - 3 MARCHE/ARRÊT (G61,G62), 3 - 49, 3 - 52 Arrondissage des angles avec indication de la différence, 4 - 125 avec indication du rayon, 4 - 126 ASC, 5 - 105 ASIN, 2 - 67 AssLogName, 4 - 11 ASTOPA / ASTOPO, Synchronisation de canal par arrêt de mouvement, 2 - 85 ATAN, 2 - 67 ATCAL, 4 - 12 ATFWD, 4 - 14 ATGET, 4 - 15 ATPUT, 4 - 16 ATrans, 4 - 167 ATS, 4 - 24, 4 - 167 Attributs, 2 - 15 Attributs de programmation, 2 - 15 Aucun plan, 3 - 29 Avance, 3 - 5, 3 - 107 Adresse F, 3 - 106 Axes synchrones, 3 - 106 avance 100%, 4 - 94 AxAcc, 4 - 18 AxAccSave, 4 - 18 AXC, 4 - 21 AxCouple, 4 - 21 axe modulo, prise d’origine, 4 - 74 Axes asynchrones, Vitesse, 3 - 107 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 55 Annexe Axes dans fin, Changement du mode de positionnement,, 4 - 106 AxisToSpindle, 4 - 24 AXO, 5 - 16 AXP, 5 - 45 B Banques NPV, 3 - 49 Base de données outil, 5 - 23 BCD, 2 - 69 BCR, 4 - 26 BcsCorr, 4 - 26 BIN, 2 - 69 BITIF, 5 - 46 BlkNmb, 2 - 77 Blocs de programme, 2 - 7 BNB, 2 - 77 BOOLEAN, 2 - 51, 2 - 56 Bracelet de mise à la terre, 1 - 6 Broche Annuler la réservation, 3 - 100, 4 - 136 Changement de la broche principale, 4 - 75 Commuter entre le mode de position et de vitesse de rotation, 4 - 150 Réglage/Positionnement, 3 - 101 Rotation vers la droite, 3 - 97 Rotation vers la gauche, 3 - 98 Stop, 3 - 100 Broche esclave Ecart de couplage, 4 - 138 Modifier le décalage angulaire en couplage actif, 4 - 140 BSTOPA / BSTOPO, Synchronisation de canal par arrêt de mouvement, 2 - 87 butée fixe Déplacement sur, 4 - 51 Mesurer sur, 4 - 49 C Calibrer les cinématiques d’axe Ecrire les paramètres dans la CN., 4 - 16 Lire les paramètres du CN., 4 - 15 Calibrer les cinématiques d’axe convertir les paramètres. , 4 - 14 Optimiser les paramètres, 4 - 12 CALL, 2 - 31 Caractère de séparation, entre des mots de séparation, 2 - 16 Caractères clé, 2 - 71 Caractérisation de canal, 2 - 21 CASE- LABEL...LABEL- OTHERWISE- ENDCASE, 2 - 43 Centre de la fraise (Correction de l’avance), 3 - 46 CFD, 4 - 72 Chaîne de caractères, 5 - 101 lire, 5 - 102 Longueur , 5 - 104 Modifier, 5 - 103 rechercher, 5 - 104 Chaînes de caractères et nombres, 5 - 105 Champs de caractères, dimensionner, 5 - 101 Changement de bloc via signal High - Speed Changement de bloc au vol, 4 - 55 Changement de bloc avec annulation, 4 - 58 Changement de broche principale, 4 - 75 Changement de plan, 3 - 30, 3 - 32 Changement pour correction G78, G79, 3 - 65 CHARACTER, 2 - 51, 2 - 58 CHL, 4 - 28 ChLength, 4 - 28 CHR$, 5 - 105 CHS, 4 - 28 ChSection, 4 - 28 CLN, 4 - 30 CLOCK, 5 - 48 CLOSE, 5 - 134 CLRWARN, 2 - 63 COF, 5 - 17 COFFS, 3 - 88 Collision, 4 - 29 Commentaire de programme, 2 - 22 Commentaires, 2 - 22 imbriqués, 2 - 22 Communication, 5 - 145 Conditions additionnelles, 2 - 8 Configuration du programme, 2 - 21 Conformité d’utilisation, 1 - 1 Consignes de sécurité, 1 - 5 Constante de chaîne de caractères, 2 - 71 Constantes, 2 - 70 doubles précises, 2 - 70 ConstFeed, 4 - 72 Conversion, Systèmes numériques, 2 - 69 Coord, 4 - 33 Coordonnées de la pièce à usiner Correction en ligne, 4 - 60 Jog, 4 - 63 Correction D, 3 - 110 Correction de l’avance pour la correction de trajectoire de fraise, 3 - 46 Correction de la longueur de l’outil, 3 - 47 Correction de la position de la pièce à usiner, 4 - 25, 5 - 18 Correction de la trajectoire, 3 - 41 Correction de la trajectoire de la fraise, 3 - 41 Correction de l’avance, 3 - 46 Transferts de contour, 3 - 44 Correction de rayon d’outil 3D, 3 - 87 A - 56 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Correction de tension, 4 - 25 Correction du rayon d’outil, 3D, 3 - 87 Correction ED, 3 - 112 Correction en ligne dans le système de coordonnées pièce à usiner, 4 - 60 Corrections d’outil, 5 - 21 Corriger la longueur de l’outil , 3 - 47 COS, 2 - 67 Couplage d’axes, 4 - 20 Couplage de broches Attente du décalage angulaire, 4 - 141 Attente du mode synchrone, 4 - 143 Définir, activer, dissocier, désactiver le groupe de couplage , 4 - 137 Ecart de couplage de la broche esclave, 4 - 138 Fenêtre d’erreur de marche synchrone, 4 - 139 Fenêtre de marche synchrone, 4 - 142 Modifier le décalage angulaire en couplage actif, 4 - 140 Couplage de coordonnées, dans le même canal, 4 - 42 Couplage de coordonnées sélectif additionnel, 4 - 130 Couplage de position finale, 4 - 42 Couplage NCS , 5 - 53 Couplage NCS par MCODS, 5 - 55 CoupleSplineTab, 4 - 34 Courbe spline C1 constante cubique, 3 - 19 C2 constante cubique, 3 - 19 Courbes splines B (NURBS), 3 - 21 Programmation de coefficients, 3 - 17 CRD, 4 - 33, 4 - 34 Crochets, triangulaires, 3 - 2 crochets, 2 - 3 triangulaires, 4 - 2 crochets triangulaires, 2 - 11 D DATE, 5 - 48 DAX, 4 - 37 DBSEA, 5 - 24 DBTAB, 5 - 23 DCA, 4 - 40 DcAxis, 4 - 40 DCB, 4 - 41 DcBreak, 4 - 41 DCC, 4 - 41 DcCont, 4 - 41 DCF, 4 - 40 DcFilter, 4 - 40 DCL, 4 - 41 DcLimit, 4 - 41 DCM, 4 - 41 DcMon, 4 - 41 DCR, 4 - 40 DCS, 4 - 36 DCT, 5 - 22 DcTSel, 4 - 36 De G53 à G59.5, 3 - 50 Décalage angulaire en couplage actif, 4 - 140 Décalage angulaire, attente du, 4 - 141 Décalage de contour, 5 - 17 Décalage de segments de contour, programmé, 4 - 132 Décalages d’origine, 3 - 49, 5 - 19 Décalages et placements, lire, 5 - 16 Découpage - poinçonnage, 4 - 116 DefAxis, 4 - 37 Définir le type spline, 4 - 146 Définir, activer, dissocier, désactiver le groupe de couplage , 4 - 137 Définition du point de réflexion miroir, 4 - 105 Définition du point de rotation, 4 - 105 Définition du TCS dans les coordonnées de programme, 4 - 161 Déplacement sur butée fixe, 4 - 51 Déroulement du programme, 2 - 25 Désactiver le mode d’axe C pour les broches, 4 - 24 Désactiver le niveau, 3 - 29 Désignateur d’axe, 2 - 17 Désignateur de coordonnées, 2 - 17 DIA, 4 - 38 DIM, 5 - 101 DIRCR, 5 - 126 DIRDEL, 5 - 126 Directive basse tension, 1 - 1 Directives EMV, 1 - 1 DIRINF, 5 - 125 Dispositifs d’ARRÊT D’URGENCE, 1 - 6 Distance de poursuite, 3 - 3, 3 - 52 DistCtrl, 4 - 40 Diviser le bloc de déplacement, De façon générale, 4 - 148 Division programmable, 4 - 148 Division, programmable, 4 - 148 DN, 3 - 17 Données système Types simples, 5 - 31 Types structurés, 5 - 43 Donner des consignes de manipulation, 2 - 24 DOUBLE, 2 - 51, 2 - 56 DPC, 5 - 18 Droits d’accès aux fichiers, 2 - 1 DS, 5 - 34 Durée de bloc, 3 - 77 E EBC, 3 - 20 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls Annexe Ecart de couplage de la broche esclave, 4 - 138 Ecriture de paramètres SERCOS, 4 - 170 Ecritures, 3 - 2, 4 - 2 Editer le programme, 3 - 95 le programme de façon conditionnelle, 3 - 95 programme, 3 - 96 Effectuer la liaison, 2 - 5 EGB, 1 - 7 élément de chanfrein, 4 - 27 EndPosCouple, 4 - 42 Entraînements, virtuels, 4 - 168 Entraînements virtuels, 4 - 168 entrée circulaire tangentielle, 3 - 14 Entrée dans le cercle, tangentielle, 3 - 14 EOF, 5 - 134 ERASE, 5 - 141 Erreur de contour, 4 - 108 Erreur de poursuite, 3 - 52 Erreurs et catégories d’erreurs, 5 - 50 ERRNO, 2 - 60 ESD Poste de travail, 1 - 7 Protection, 1 - 7 Espaces, Supprimer, 5 - 108 Exécution du bloc, Différences DIN - CPL, 2 - 4 Exemples de programmation Chaînes de caractères, 5 - 109 Fonctions NCS, 5 - 97 Expressions STRING attribuer, 5 - 112 comparer, 5 - 115 mettre en chaîne, 5 - 115 Extraire un axe d’un groupe d’axes, 4 - 119 F FAD, 4 - 44 FeedAd, 4 - 44 FeedForward, 4 - 45 FFW, 4 - 45 Fichier copier, 5 - 144 Déterminer la date, 5 - 143 Déterminer la taille, 5 - 139 Déterminer les droits d’accès, 5 - 142 écriture, 5 - 128 Fermer, 5 - 134 lire, 5 - 132 ouvrir, 5 - 121 Noms, 5 - 119 Poser l’indicateur, 5 - 137 Position de l’indicateur, 5 - 135 Reconnaître l’extension, 5 - 134 supprimer, 5 - 141 FILEACCESS, 5 - 142 FILECOPY, 5 - 144 FILEDATE, 5 - 143 FILENO, 5 - 124 FILEPOS, 5 - 135 FILESIZE, 5 - 139 Filet enchaîné, 3 - 38 multiple, 3 - 38 Filetage, 3 - 35 Fonctions additionnelles pour, 4 - 164 Fin de programme, 2 - 18, 3 - 96 Fin de sous - programme, 2 - 18 Fin du programme principal, 3 - 96 Fixer la position de programme (G92), 4 - 131 Fixer la valeur effective, 4 - 131 FlyMeas, 4 - 47 FME, 4 - 47 Fonction de synchronisation au moment de l’exécution du bloc, 2 - 78 de la préparation du bloc, 2 - 74 Fonction miroir, 4 - 76 Fonctions, pour le couplage NCS , 5 - 55 Fonctions de course, 2 - 8 Fonctions Rampe, 4 - 71 FOR - STEP - TO - NEXT, 2 - 45 Formation d’avance :, Masquage d’axes, 4 - 44 FSM, 4 - 52 FsMove, 4 - 52 FSP, 4 - 49 FsProbe, 4 - 49 FSR, 4 - 52 FsReset, 4 - 52 FST, 4 - 52 FsTorque, 4 - 52 G G0, 3 - 3 G1, 3 - 5 G2, 3 - 9, 3 - 10 G3, 3 - 9, 3 - 10 G4, 3 - 13 G140, 3 - 88 G141, 3 - 88 G142, 3 - 88 G152, 3 - 92 G153, 3 - 92, 3 - 93 G154, 3 - 93 G155, 3 - 93 G156, 3 - 93 G157, 3 - 93 G158, 3 - 93 G159, 3 - 93 G16, 3 - 29 A - 57 A - 58 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe G17, 3 - 30 G17(...), 3 - 32 G18, 3 - 30 G18(...), 3 - 32 G184, 3 - 73 G19, 3 - 30 G19(...), 3 - 32 G20, 3 - 34 G33, 3 - 36 G40, 3 - 42 G41, 3 - 42 G42, 3 - 42 G43, 3 - 45 G44, 3 - 45 G45, 3 - 46 G46, 3 - 46 G47, 3 - 47 G48, 3 - 47 G5, 3 - 14 G53 - G59, 3 - 49 G6, 3 - 16 G61, 3 - 52 G62, 3 - 52 G63, 3 - 54 G70, 3 - 56 G71, 3 - 57 G74, 3 - 58 G74(HOME), 3 - 59 G75, 3 - 61 G76, 3 - 63 G8, 3 - 24 G80, 3 - 67 G81, 3 - 67 G82, 3 - 68 G83, 3 - 69 G84, 3 - 70 G85, 3 - 71 G86, 3 - 72 G9, 3 - 24 G90, 3 - 75 G91, 3 - 75 G93, 3 - 77 G94, 3 - 78 G94(...), 3 - 79 G95, 3 - 81 G96, 3 - 84 G97, 3 - 84 GAX, 4 - 54 GetAxis, 4 - 54 GETERR, 5 - 50 GOA, 2 - 36 GoAhead, 2 - 36 GOB, 2 - 37 GoBack, 2 - 37 GOC, 2 - 38 GoCond, 2 - 38 GOTO, 2 - 40 GoTo, 2 - 39 Grignotage, 4 - 79 groupes de variables, 2 - 49 Groupes NPV, 3 - 49 Guidage de l’outil, tangentiel, 4 - 153 Guidage tangentiel de l’outil, 4 - 153 H HSB, 4 - 55, 4 - 58 HsBlkSwitch, 4 - 55 HWOC, 4 - 60 HWOCDEL, 4 - 60 HWOCOFF, 4 - 60 I IC (programmation relative locale), 3 - 75 IF - THEN - ELSE - ENDIF, 2 - 42 IME, 4 - 62 InitMeas, 4 - 62 INP#, 5 - 132 INSDEP, 3 - 88 INSTR, 5 - 104 Instructions, 2 - 8 Instructions (CPL), 2 - 65 Instructions CPL, 2 - 3, 2 - 65 Instructions de décision, 2 - 25, 2 - 41 Instructions de ramification, 2 - 25, 2 - 41 Instructions de répétition, 2 - 25, 2 - 45 Instructions de saut, 2 - 25, 2 - 35 INT, 2 - 66 INTEGER, 2 - 56, 2 - 70 Intégrer l’axe, attendre le cas échéant, 4 - 169 Interface SPS, 5 - 46 Interpolateur accélération, 4 - 71 Freinage, 4 - 72 Marche constante, 4 - 71 Interpolateur de marche constante, 4 - 71 Interpolateurs d’accélération, 4 - 71 Interpolateurs de freinage, 4 - 72 Interpolation avec hélice, 3 - 7 Interpolation circulaire/hélicoïdale, 3 - 7 Interpolation hélicoïdale, 3 - 7 Interpolation linéaire à vitesse rapide (G00), 3 - 3 Avance programmée (G01), 3 - 5 IPS, 3 - 4, 3 - 5 IPS1, 3 - 4, 3 - 6, 3 - 53 IPS2, 3 - 4, 3 - 6, 3 - 53 IPS3, 3 - 4, 3 - 6, 3 - 53 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 59 Annexe J Jerk, 3 - 28 JogWCSSelect, 4 - 63 K KVP, 4 - 66 KvProg, 4 - 66 L LEN, 5 - 104 LEN (pour découpage/grignotage), 4 - 67 LEN (pour découpage - poinçonnage/grignotage), 4 - 81 LFC, 4 - 69 LFConf, 4 - 69 LFP, 4 - 69 Liaisons, logiques, 2 - 68 Liaisons logiques, 2 - 68 Libre sélection de niveau, 3 - 34 Lignes vides, 2 - 7, 2 - 22 Limitation de la préparation du bloc : nombre de blocs, 2 - 77 Limitation de la vitesse de rotation, 4 - 134 LinDownFeed, 4 - 72 LinModZp, 4 - 74 LinUpFeed, 4 - 72 LJUST, 5 - 128 LMZ, 4 - 74 LND, 4 - 72 LNU, 4 - 72 localement, 2 - 20 Longueur de chanfrein, 4 - 27 M M00, 3 - 95 M01, 3 - 96 M02, 3 - 97 M103, 3 - 98 M104, 3 - 99 M105, 3 - 100 M113, 3 - 98 M114, 3 - 99 M13, 3 - 98 M14, 3 - 99 M2, 3 - 97 M203, 3 - 98 M204, 3 - 99 M205, 3 - 100 M213, 3 - 98 M214, 3 - 99 M3, 3 - 98 M30, 3 - 97 M4, 3 - 99 M5, 3 - 100 Marque déposée, 1 - 8 MCODS, Services de données Motion Control, 5 - 55 MCOPS, 5 - 87 MCS, 5 - 9 Mesure au vol, 4 - 47 Initialisation, 4 - 62 mesure, au vol, 4 - 47 Initialisation, 4 - 62 Mesurer sur butée fixe, 4 - 49 MID$, 5 - 102, 5 - 103 MIR, 4 - 76, 4 - 78 Miroir, 4 - 76 MMC, 5 - 145 modal, 2 - 19 Mode de positionnement pour axes sans fin, 4 - 106 Mode JOG dans les coordonnées pièces à usiner, 4 - 63 Mode synchrone, attente du (couplage de broche), 4 - 143 Modifier l’accélération sur trajectoire, 4 - 95 Modulation, 5 - 30 Modules menacés par l’électrostatique, 1 - 7 Mot F , 3 - 106 Mot F (Avance) par min., 3 - 78 par rotation, 3 - 81 Mot F (durée), 3 - 77 Mot FA, 3 - 107 Mot Omega, 3 - 107 Mot Omega (avance), par min., 3 - 78 Mot S, 3 - 108 Mots d’ordre, réservés, 2 - 72 Mots de programmation, 2 - 10 à partir de fonctions CN, 2 - 11 en tant que paramètre, 2 - 14 N N (numéros de bloc), 2 - 21 NCF, 5 - 31 NIB, 4 - 79 Nibble, 4 - 79 NIPS, 3 - 4 NJUST, 5 - 128 Nombre de blocs, Limitation de la préparation du bloc, 2 - 77 Nombres, 5 - 105 Noms d’axe, 2 - 17 Noms de coordonnées, 2 - 17 non modal, 2 - 20 NOT, 2 - 68 Notions clé, 2 - 72 NPV, 3 - 49 NUL, 2 - 65 Numérisation, Réglage en hauteur, 4 - 40 A - 60 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Numéro de bloc, Instruction N, 2 - 21 NURBS, 3 - 21 O O(), 4 - 82 OFFSTOPA / OFFSTOPO, 2 - 91 Omega, 3 - 107 OPENR, 5 - 121 OPENW, 5 - 121 Opérations doubles précises, 2 - 70 mathématiques, 2 - 66 Opérations de comparaison, 2 - 69 OR, 2 - 68 Orientation d’outil, statique, 4 - 151 Orientation tangentielle de l’outil , 4 - 156 OVD, 4 - 94 OVE, 4 - 94 OvrDis, 4 - 94 OvrEna, 4 - 94 P PAC, 4 - 95 Palpeur de mesure, 3 - 61 lire, 5 - 13 Paramétrage de l’orientation statique d’outil, 4 - 151 Paramètres d’interpolation, 3 - 31 Pas de filetage, 3 - 54 PathAcc, 4 - 95 PCS, 5 - 7 PCSPROBE, 5 - 13 PDIM, 2 - 33 Pente de la trajectoire, 3 - 23 Personnel qualifié, 1 - 3 phi, 4 - 82 PHS, 4 - 97 Pièces de rechange, 1 - 7 Pilotage de la puissance d’un laser, 4 - 69 PL, 3 - 18, 3 - 21, 3 - 22 Placement Correction de la position de la pièce à usiner, 4 - 25 Plan incliné, 3 - 90 Placements, 5 - 26 Plan incliné, 3 - 90, 5 - 26 PLC, 5 - 47 PLS, 4 - 105 PMD, 4 - 106 PMS, 4 - 99 PMT, 5 - 27 PmTSel, 4 - 99 PMV, 5 - 26 Point d’intersection (raccordement entre des segments de contour), 3 - 44 Point de pénétration de la fraise (Correction de l’avance), 3 - 46 POL avec G0, 3 - 4 avec G2, G3, 3 - 11 Exemple de programmation, 4 - 103 Pour G1, 3 - 6 PolarPol, 4 - 100 PoleSet, 4 - 105 POP, 4 - 100 PosDepHSOut, 4 - 97 Positions d’axe, lire, 5 - 5 Synoptique, 5 - 2 Positions de coordonnées, lire, 5 - 5 Synoptique, 5 - 2 PosMode, 4 - 106 Poursuite de trajectoire, 4 - 108 PPOS, 5 - 15 PrecProg, 4 - 109 Prise d’origine de l’axe modulo, 4 - 74 PRN#, 5 - 128 PROBE, 5 - 14 Profil de vitesse avec limitation des jerks, 3 - 25 pour mode de positionnement, 3 - 26 pour mode trajectoire, 3 - 26 Profils de vitesse individuels, Définition de propres, 4 - 71 Programmation absolue, 3 - 75 locaux, 3 - 75 Programmation au centre du cercle, 3 - 10 Programmation au diamètre, 4 - 38 Programmation au rayon, 3 - 9, 4 - 38 Programmation CN, 2 - 2 Programmation CPL, 2 - 2 Programmation de chanfreins, 4 - 27 Programmation de coefficients, Courbe spline, 3 - 17 Programmation de l’avance incrémentale, 3 - 79 par min., 3 - 78 par rotation, 3 - 81 Programmation de l’orientation, 4 - 82 Programmation de la vitesse de rotation, directe, 3 - 82 Programmation de précision, 4 - 108 Programmation de remarques, 2 - 24 Programmation de variables , 2 - 48 Programmation directe de la vitesse de rotation, 3 - 82 Programmation du facteur d’échelle, 4 - 127 Programmation du temps, 3 - 77 Programmation en coordonnées polaires, 4 - 101 Définition du pôle, 4 - 100 Programmation en pouce, 3 - 56 Programmation incrémentale, 3 - 75 Programmation incrémentale de la vitesse, 3 - 79 R911311170 / 01 IndraMotion MTX Electric Drives Bosch Rexroth AG and Controls A - 61 Annexe Programmation KV, 4 - 65 Programmation label, 2 - 35 Programmation métrique:, 3 - 57 Programmation relative, 3 - 75 locaux, 3 - 75 Programmation spline, 3 - 16 Définition du type de spline, 4 - 146 Programmation standard, 2 - 2 Programme NC, 2 - 1 Programme pièce, 2 - 1 Programmer la vitesse de rotation (broche), 3 - 108 PRP, 4 - 109 psi, 4 - 82 PtBlkEnd, 4 - 110 PTD, 4 - 113 PtDefault, 4 - 113 PTE, 4 - 110 PTI, 4 - 114 PtInpos, 4 - 114 PUN, 4 - 116 Punch, 4 - 116 PW, 3 - 22 R RAD, 4 - 39 RAX, 4 - 119 RDT, 4 - 118 REAL, 2 - 56, 2 - 70 RedTorque, 4 - 118 Réduction de couple, 4 - 118 Réduction de couple maximal, 4 - 118 Réfrigérant ON, 3 - 97, 3 - 98 Réglage en hauteur pour la numérisation, 4 - 40 REM, 2 - 23 RemAxis, 4 - 119 RemLogName, 4 - 120 Renommer l’axe (nom log. d’axe), 4 - 11 Repartir le bloc de déplacement Longueur du parcours partiel, 4 - 67 Nombre de segments de parcours, 4 - 81 REPEAT - UNTIL, 2 - 46 REPOSTP, 4 - 121 Reprise d’axe, 4 - 54 REWRITE, 5 - 131 RLN, 4 - 120 RND, 4 - 126 RNE, 4 - 125 ROT, 4 - 122 Rotate, 4 - 122 Rotation des coordonnées d’un contour, 4 - 122 ROTAX(), 4 - 82 ROUND, 2 - 67 RoundEps, 4 - 125 Rounding, 4 - 126 S S2D, 4 - 72 S2U, 4 - 72 Saisie des temps, 5 - 48 sans maintien automatique, 2 - 20 Saut conditionnel, 2 - 38 en arrière, 2 - 37 en avant, 2 - 36 inconditionnel, 2 - 39 inconditionnel avec CPL, 2 - 40 Saut conditionnel, 2 - 38 Saut CPL, 2 - 40 Saut inconditionnel, 2 - 39 Saut inconditionnel avec CPL, 2 - 40 Sauter en arrière, 2 - 37 Sauter en avant, 2 - 36 SBC, 3 - 20 Scale, 4 - 127 SCC, 4 - 130 SCL, 4 - 127, 5 - 30 SCS, 5 - 32 SCSL, 5 - 33 SDF, 4 - 146 SDR, 5 - 41 SEEK, 5 - 137 SelCrdCouple, 4 - 130 Sélectionner transformation d’axe, 4 - 32 Services de données Motion Control, MCODS, 5 - 55 Services de processus Motion Control, 5 - 87 SETERR, 2 - 62 SetPos, 4 - 131 SETWARN, 2 - 63 Shape. Siehe Profil de vitesse avec limitation des jerks Shift, 4 - 132 SHT, 4 - 132 Signal Highspeed, changement de bloc au vol, 4 - 55 Signal Highspeed, changement de bloc avec annulation, 4 - 58 SIN, 2 - 67 Sin2DownFeed, 4 - 72 Sin2UpFeed, 4 - 72 SinDownFeed, 4 - 72 SinUpFeed, 4 - 72 SMax, 4 - 134 SMin, 4 - 134 SMN, 4 - 134 SMX, 4 - 134 SND, 4 - 72 SNU, 4 - 72 Sortie HS, en fonction de la position, 4 - 97 Sortie HS en fonction de la position, 4 - 97 A - 62 Bosch Rexroth AG Electric Drives and Controls IndraMotion MTX R911311170 / 01 Annexe Sous-programmes, 2 - 26, 2 - 73 Appel autodéfini avec codes G/M, 2 - 30 Appel autodéfini modal, 2 - 30 Appel avec adresse P, 2 - 27 Appel avec transfert des paramètres, 2 - 32 Appel sans adresse P, 2 - 29 Appel via l’ordre CALL (CPL), 2 - 31 locaux, 2 - 26 modaux, 2 - 27 SPC_WAIT, 4 - 143 SPCC, 4 - 137 SPCD, 4 - 138 SPCE, 4 - 139 SpCouple_Wait, 4 - 143 SpCoupleConfig, 4 - 137 SpCoupleDist, 4 - 138 SpCoupleErrWin, 4 - 139 SpCouplePosOffs, 4 - 140 SpCouplePosOffs_Wait, 4 - 141 SpCoupleSyncWin, 4 - 142 SPCP, 4 - 140 SPCP_WAIT, 4 - 141 SPCS, 4 - 142 SPG, 4 - 144 SPGALL, 4 - 144 SpindleToAxis, 4 - 145 SplineDef, 4 - 146 SPLIT, 4 - 148 SPOS, 5 - 11 SPV, SPVE, Ecriture de variables CPL permanentes, 2 - 84 SQRT, 2 - 67 SSPG, 3 - 108 STA, 4 - 145 StatToolOri, 4 - 151 STO, 4 - 151 STR$, 5 - 106 STRING, 2 - 58 Structure de fichier aléatoire, 5 - 120 séquentielle, 5 - 120 Supprimer le nom (logique) d’axe., 4 - 120 Surveillance de collision, 4 - 29 Surveillance de zone, 4 - 3 Surveillance sur une zone définie, 4 - 3 Système de fichiers et protection des fichiers, 2 - 1 T Tableau de liaison, 2 - 5 Activer tables de placement, 4 - 99 Tables XML, Accès généralisé, 5 - 29 TAN, 2 - 67 TangTool, 4 - 154 TangToolOri, 4 - 156 TappSp, 4 - 159 Taraudage, 3 - 54 Sélection de la broche, 4 - 159 Taraudage sans mandrin de compensation, 3 - 54 Sélection de la broche, 4 - 159 TCS, 4 - 161 TcsDef, 4 - 161 TCV, 5 - 21 Temporisation, 3 - 13 Temps d’usinage, Programmation du temps, 3 - 77 Temps de déclenchement de la course Fenêtre Inpos, 4 - 114 initialiser sur la valeur par défaut, 4 - 113 Point d’arrivée de l’interpolation, 4 - 110 Terminer un programme, 3 - 96 thêta, 4 - 82 ThreadSet, 4 - 164 TIME, 5 - 48 Traitement de fichier, 5 - 119 Trans, 4 - 167 Transfert d’axe Accepter le réglage par défaut d’axe de MP, 4 - 37 Attribuer un nom logique d’axe , 4 - 11 Commuter la broche en mode axe C, 4 - 145 Désactiver le mode d’axe C, 4 - 24 Extraire un axe d’un groupe d’axes, 4 - 119 Intégrer l’axe, attendre le cas échéant, 4 - 169 Reprise d’axe, 4 - 54 Supprimer le nom logique d’axe., 4 - 120 Surveillance de zone, 4 - 4 Transferts de contour pour la correction de trajectoire de fraise, 3 - 44 Transformation en avant, 4 - 14 Travaux de contrôle, 1 - 7 TRIM$, 5 - 108 TRS, 4 - 167 TSP, 4 - 159 TST, 4 - 164 TTL, 4 - 154 TTO, 4 - 156 Types de variable, 2 - 56 U Unité de mesure métrique, 3 - 57 Pouce, 3 - 56 Unités de mesure, Positions d’axes et de coordonnées fournies, 5 - 2 V VAL, 5 - 107 Valeurs de restitution d’erreurs , 5 - 53 Variable de champ, 2 - 57 R911311170 / 01 IndraMotion MTX Annexe Variables CHARACTER, 2 - 58 globales, 2 - 49 locales, 2 - 49 permanentes, 2 - 50 permanentes définissables, 2 - 50 STRING, 2 - 58 structurées, 2 - 54 Synoptique, 2 - 58 VERSINF$, 5 - 124 VirtAxisPos, 4 - 168 Vitesse de coupe constante, 3 - 82 Vitesse de coupe, constante, 3 - 82 Vitesse de rotation la broche, 3 - 108 Vitesse des axes asynchrones, Adresse FA, 3 - 107 Vitesse rapide, 3 - 3 Vue d’ensemble des fonctions, MCODS, 5 - 56 W WAIT, 2 - 74 WAITA, WAITO, Etats sur interface numérique, 2 - 79 WaitAxis, 4 - 169 WAX, 4 - 169 WCS, 5 - 8 WHILE - DO - END, 2 - 47 WID, 4 - 170, 4 - 171, 4 - 172 WPV, WPVE, Valeur d’une variable CPL permanente, 2 - 81 WriteId, 4 - 170, 4 - 171, 4 - 172 WSTOPA / WSTOPO, Synchronisation de canal par arrêt de mouvement, 2 - 89 X XOR, 2 - 68 XTAB, 5 - 29 Z ZOS, 4 - 173 ZOT, 5 - 19 ZoTSel, 4 - 173 ZOV, 5 - 19 Electric Drives Bosch Rexroth AG and Controls A - 63 Bosch Rexroth AG Electric Drives and Controls P.O. Box 13 57 97803 Lohr, Germany Bgm.-Dr.-Nebel-Str. 2 97816 Lohr, Germany Phone +49 (0)93 52-40-50 60 Fax +49 (0)93 52-40-49 41 service.svc@boschrexroth.de www.boschrexroth.com R911311170 Printed in Germany DOK-MTX***-NC**PRO*V02-AW01-FR-P