Sie sind auf Seite 1von 165

Manuel de lutilisateur V2.

3
The EMC Team 19 janvier 2011

NOTICE : As of 2011-01-16, the French version of the EMC2 documentation is 2 years out of date due to not having a translator available. Its recommended to use the English documentation whenever possible. If you wish to provide updated French translation of EMC2, please contact us. AVIS : Au 2011-01-16, la version franaise de la documentation EMC2 est de 2 ans la date dchance pour ne pas avoir un traducteur disponible. Il est recommand dutiliser la documentation en anglais chaque fois que possible. Si vous souhaitez fournir des mises jour traduction franaise dEMC2, sil vous plat contacteznous. This handbook is a work in progress. If you are able to help with writing, editing, or graphic preparation please contact any member of the writing team or join and send an email to emcusers@lists.sourceforge.net.

Copyright (c) 2000-9 LinuxCNC.org

ii

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and one Back-Cover Text : "This EMC Handbook is the product of several authors writing for linuxCNC.org. As you nd it to be of value in your work, we invite you to contribute to its revision and growth." A copy of the license is included in the section entitled "GNU Free Documentation License". If you do not nd the license you may order a copy from Free Software Foundation, Inc. 59 Temple Place, Suite 330 Boston, MA 02111-1307

Table des matires


Couverture Table des matires Avant-propos i 1 3

Les concepts

3
4 4 4 5 5 6 6 9 9

1 Le concept dEMC 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vue densemble de la CNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Systme dexploitation de lordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment marche EMC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interfaces utilisateur graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Penser comme un oprateur sur CNC . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Modes opratoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Informations afches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Concepts importants 2.1 Contrle de trajectoire 2.1.1 2.1.2 2.1.3 2.1.4 2.2

La planication de trajectoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Le suivi du parcours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 La programmation du planicateur . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Planication des mouvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

G-code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.1 2.2.2 Vitesse davance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Compensation de rayon doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 2.4

Prise dorigine machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Changement doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

iii

TABLE DES MATIRES

iv

II

Les interfaces utilisateur

14
15

3 Linterface graphique AXIS 3.1 3.2

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Pour commencer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.1 Une session typique avec AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3

Elments de la fentre dAXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.1 3.3.2 3.3.3 Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Boutons de la barre doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Zones dafchage graphique du programme . . . . . . . . . . . . . . . . . . . . . 17 3.3.3.1 Afchage des coordonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.3.2 Vue du parcours doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.3.3 Etendues du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.3.4 Le cne doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.3.5 Trac doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.3.6 Interaction avec lafchage . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.4 3.3.5 Zone texte dafchage du programme . . . . . . . . . . . . . . . . . . . . . . . . . 19 Contrle manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.5.1 Le groupe Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3.5.2 La prise dorigine machine . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.5.3 Toucher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.5.4 Le groupe Broche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.5.5 Le groupe Arrosage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.6 Donnes manuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.6.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.6.2 Commande MDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.6.3 G-Codes actifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.7 3.3.8 3.3.9 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 Correcteurs de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Correcteur de vitesse de broche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Vitesse de Jog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Raccourcis clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 emctop : Afchage de ltat dEMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

mdi : Entre de donnes en texte (MDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 axis-remote : Commande distance de linterface graphique dAXIS . . . . . . . . . . . 25 hal_manualtoolchange : Dialogue de changement manuel doutil . . . . . . . . . . . . 25

Modules en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Utiliser AXIS pour contrler un tour CNC . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Conguration avance dAXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Filtres de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.11.1

TABLE DES MATIRES 3.11.2 3.11.3 3.11.4 3.11.5 3.11.6 La base de donnes des ressources X

v . . . . . . . . . . . . . . . . . . . . . . . . 27

Manivelle de jog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ~/.axisrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Editeur externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Panneau de contrle virtuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 29

4 Linterface TkEMC 4.1 4.2

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Utiliser TkEMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.1 Une session typique avec TkEMC . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3

Elments afchs par TkEMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.3.1 4.3.2 4.3.3 Boutons principaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Barre de status des diffrents offsets . . . . . . . . . . . . . . . . . . . . . . . . . 31 Zne dafchage des coordonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.3.1 Parcours doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.4 Contrle en automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3.4.1 Boutons de contrle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3.4.2 Zne texte dafchage du programme . . . . . . . . . . . . . . . . . . . . . 32 4.3.5 Contrle en manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3.5.1 Touches implicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3.5.2 Le groupe de boutons Broche . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3.5.3 Le groupe de boutons Arrosage . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.6 Entre manuelle de G-code (MDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.6.1 MDI : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.6.2 G-Codes actifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.7 4.3.8 4.3.9 Vitesse de Jog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Correcteur de vitesse davance travail . . . . . . . . . . . . . . . . . . . . . . . . 34 Correcteur de vitesse de broche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4

Raccourcis clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 35

5 Linterface MINI 5.1 5.2 5.3 5.4

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Lcran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Barre de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Barre de boutons de contrle 5.4.1 5.4.2 5.4.3 5.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

MANUEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 AUTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 MDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 VITESSE-0 CONTINUER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

TABLE DES MATIRES 5.4.5 5.4.6 5.5

vi

ABANDON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 A/U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Colonne de gauche 5.5.1 5.5.2 5.5.3

Afcheurs de position des axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Correcteur de vitesse travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.6

Colonne de droite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.6.1 5.6.2 5.6.3 5.6.4 Editeur de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Parcours doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Page des outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Page des offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.7

Raccourcis clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.7.1 5.7.2 5.7.3 Touches courantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Mode Manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Mode Auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.8

Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 47

6 Linterface KEYSTICK 6.1 6.2 6.3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

III

Lutilisation dEMC2

49
50

7 Vue densemble dun centre dusinage 7.1

Composants mcaniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.1.1 Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.1.1.1 Axes linaires primaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.1.1.2 Axes linaires secondaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 7.1.1.3 Axes rotatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 7.1.2 7.1.3 7.1.4 7.1.5 7.1.6 7.1.7 7.1.8 7.1.9 7.1.10 Broche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Arrosages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Chargeur de pices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Carrousel doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Changeur doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Visu des messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Correcteurs de vitesse davance et de broche . . . . . . . . . . . . . . . . . . . . 51 Bouton deffacement de block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Bouton darrt optionnel du programme . . . . . . . . . . . . . . . . . . . . . . 52

TABLE DES MATIRES 7.2

vii

Composants de contrle et de donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9 7.2.10 7.2.11 7.2.12 7.2.13 7.2.14 7.2.15 Axes linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Axes rotatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Point contrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Mouvement linaire coordonn . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Arrosage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Temporisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Position courante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Choix du plan de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 carrousel doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Changeur doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Chargeur de pice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Boutons des correcteurs de vitesses . . . . . . . . . . . . . . . . . . . . . . . . . 54 Modes de contrle de trajectoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

7.3

Interaction de linterprteur avec les boutons . . . . . . . . . . . . . . . . . . . . . . . . 54 7.3.1 7.3.2 7.3.3 Boutons de correction de vitesses . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Bouton deffacement de block Switch . . . . . . . . . . . . . . . . . . . . . . . . . 54 Bouton darrt optionnel du programme . . . . . . . . . . . . . . . . . . . . 55

7.4

Fichier doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.4.1 7.4.2 Fichier doutils au format fraiseuse . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Fichier doutils au format tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

7.5 7.6

Paramtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Systmes de coordonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 60

8 Vue densemble du langage 8.1 8.2 8.3

Format dune ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Numro de ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Les mots 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Paramtres numrots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Paramtres nomms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Oprateurs binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8.4

Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 8.4.1 8.4.2 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Enregistrement des mesures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

TABLE DES MATIRES 8.4.3

viii

Log gnral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 8.4.3.1 (LOGOPEN,lename) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 8.4.3.2 (LOGCLOSE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 8.4.3.3 (LOG,. . .) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.4.4 8.4.5 8.5 8.6 8.7 8.8

Messages de dboguage

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Paramtres dans les commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . 65 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Rptitions ditems

Ordre des items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Commandes et modes machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Groupes modaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 68 69

9 Ordre dexcution 10 G-Code : Bonnes pratiques 10.1 10.2 10.3 10.4 10.5 10.6 10.7

Utiliser un nombre de dcimales appropri . . . . . . . . . . . . . . . . . . . . . . . . . 69 Utiliser les espaces de faon cohrente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Prfrer le format centre pour les arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Placer les codes modaux importants au dbut des programmes . . . . . . . . . . . . . 69 Ne pas mettre trop de choses sur une ligne . . . . . . . . . . . . . . . . . . . . . . . . . 70 Ne pas utiliser les numros de ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Lorsque plusieurs systmes de coordonnes sont dplacs, envisager le mode vitesse inverse du temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 71

11 Fichier doutils et compensations 11.1 11.2 11.3 11.4

Fichier doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Compensation doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Compensation de longueur doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Compensation de rayon doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

11.4.1 12 G Codes 12.1 12.2 12.3 12.4

Compensation de rayon doutil, dtails . . . . . . . . . . . . . . . . . . . . . . . . 72 82

Table rsume du G-code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 G0 : Interpolation linaire en vitesse rapide . . . . . . . . . . . . . . . . . . . . . . . . . 84 G1 : Interpolation linaire en vitesse travail . . . . . . . . . . . . . . . . . . . . . . . . . 84 G2, G3 : Interpolation circulaire en vitesse travail . . . . . . . . . . . . . . . . . . . . . 84 Arc au format centre (format recommand) . . . . . . . . . . . . . . . . . . . . . 85 Arcs au format rayon (format non recommand) . . . . . . . . . . . . . . . . . . 85

12.4.1 12.4.2 12.5 12.6 12.7

G4 : Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 G7 : Mode diamtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 G8 : Mode rayon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

TABLE DES MATIRES 12.8 12.9 G10 L1 : Entre dans la table doutils

ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 . . . . . . . . . . . . . . . . 86

G10 L2 : tablissement du systme de coordonnes pice

12.10 G17, G18, G19, G17.1, G18.1, G19.1 : Choix du plan de travail . . . . . . . . . . . . . 87 12.11 G20, G21 : Choix des units machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 12.12 G28, G28.1 : Aller une position prdnie . . . . . . . . . . . . . . . . . . . . . . . . . 87 12.13 G30, G30.1 : Aller une position prdnie . . . . . . . . . . . . . . . . . . . . . . . . . 88 12.14 G33, G33.1 : Mouvement avec broche synchronise . . . . . . . . . . . . . . . . . . . . 88 12.15 G38.x : Mesure au palpeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 12.16 G40, G41, G42, G41.1, G42.1 : Compensation de rayon doutil 12.16.1 12.16.2 . . . . . . . . . . . . . 89

Compensation de rayon doutil depuis une table doutils . . . . . . . . . . . . . 90 Compensation dynamique de rayon doutil . . . . . . . . . . . . . . . . . . . . . 90

12.17 G43, G43.1, G49 : Compensation de longueur doutil . . . . . . . . . . . . . . . . . . . 90 12.17.1 G43, G43.1 : Activation de la compensation de longueur doutil . . . . . . . . . 90 12.17.1.1 43 : Compensation de longueur doutil depuis une table doutils . . . . 90 G 12.17.1.2 43.1 : Compensation dynamique de longueur doutil . . . . . . . . . . . 90 G 12.17.2 G49 : Annulation de la compensation de longueur doutil . . . . . . . . . . . . . 91

12.18 G53 : Mouvement en coordonnes absolues . . . . . . . . . . . . . . . . . . . . . . . . . 91 12.19 G54 G59.3 : Choix du systme de coordonnes . . . . . . . . . . . . . . . . . . . . . . 91 12.20 G61, G61.1, G64 : Types de contrle de trajectoire . . . . . . . . . . . . . . . . . . . . . 91 12.21 G73 : Cycle de perage avec brise copeaux . . . . . . . . . . . . . . . . . . . . . . . . . . 91 12.22 G76 : Cycle de letage prprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 12.23 G80 : Rvocation des codes modaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 12.24 Les cycles prprogramms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 12.24.1 12.24.2 12.24.3 12.24.4 12.24.5 12.24.6 12.24.7 12.24.8 12.24.9 Mots communs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Mots sticky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Rptition de cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Mode de retrait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Erreurs des cycles prprogramms . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Mouvement prliminaire et Intermdiaire . . . . . . . . . . . . . . . . . . . . . . 95 G81 : Cycle de perage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 G82 : Cycle de perage avec temporisation . . . . . . . . . . . . . . . . . . . . . 96 G83 : Cycle de perage avec dbourrage . . . . . . . . . . . . . . . . . . . . . . . 96

12.24.10 G84 : Cycle de taraudage droite . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 12.24.11 G85 : Cycle dalsage, sans temporisation, retrait en vitesse travail . . . . . . . 96 12.24.12 G86 : Cycle dalsage, arrt de broche, retrait en vitesse rapide . . . . . . . . . 97 12.24.13 G87 : Alsage inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 12.24.14 G88 : Alsage, arrt de broche, retrait en manuel . . . . . . . . . . . . . . . . . 97 12.24.15 G89 : Cycle dalsage, temporisation, retrait en vitesse travail . . . . . . . . . . 97

TABLE DES MATIRES

12.25 G90, G91 : Modes de dplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 12.26 G90.1, G91.1 : Mode distance (I, J et K) . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 12.27 G92, G92.1, G92.2, G92.3 : Dcalage dorigine des systmes de coordonnes . . . . . 98 12.28 G93, G94, G95 : Choix des modes de vitesse . . . . . . . . . . . . . . . . . . . . . . . . 98 12.29 G96, G97 : Modes de contrle de la broche . . . . . . . . . . . . . . . . . . . . . . . . . 99 12.30 G98, G99 : Options du plan de retrait . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 13 M Codes 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 100

M0, M1, M2, M30, M60 : Arrts de programme . . . . . . . . . . . . . . . . . . . . . . . 100 M3, M4, M5 : Contrle de broche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 M6 : Appel doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 M7, M8, M9 : Contrle darrosage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 M48, M49 : Contrle des correcteurs de vitesse . . . . . . . . . . . . . . . . . . . . . . . 101 M50 : Contrle du correcteur de vitesse travail . . . . . . . . . . . . . . . . . . . . . . . 101 M51 : Contrle du correcteur de vitesse broche . . . . . . . . . . . . . . . . . . . . . . . 102 M52 : Contrle de vitesse adaptative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 M53 : Contrle de coupure de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

13.10 M61 : Ajuste le numro de loutil courant . . . . . . . . . . . . . . . . . . . . . . . . . . 102 13.11 M62 M65 : Contrle de sorties numriques . . . . . . . . . . . . . . . . . . . . . . . . 102 13.12 M66 : Contrle dentre digitale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 13.13 M100 M199 : Commandes dnies par lutilisateur . . . . . . . . . . . . . . . . . . . 103 14 O Codes 14.1 14.2 14.3 14.4 14.5 14.6 14.7 104

Sous-programmes : sub , endsub , return , call . . . . . . . . . . . . . . . . . . 104 Boucles : do , while , endwhile , break , continue . . . . . . . . . . . . . . . . 105 Conditionnel : if , else , endif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Rptition : Repeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Indirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Calcul des valeurs dans les mots O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Appel de chiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 107 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

15 Autres Codes 15.1 15.2 15.3 F : Rglage de la vitesse travail

S : Rglage de la vitesse de rotation de la broche . . . . . . . . . . . . . . . . . . . . . . 107 T : Choix de loutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

TABLE DES MATIRES 16 Diffrences entre le g-code dEMC2 et le RS274NGC 16.1 16.1.1 16.1.2 16.1.3 16.1.4 16.1.5 16.1.6 16.1.7 16.2 16.2.1 16.2.2 16.2.3 16.2.4 16.2.5 16.2.6 16.2.7

xi 108

Diffrences changeant la signication dun programme correctement crit en RS274NGC108 Position aprs un changement doutil . . . . . . . . . . . . . . . . . . . . . . . . 108 Les dcalages sont dans les units du chier ini . . . . . . . . . . . . . . . . . . 108 Les longueurs/diamtres de la table doutils sont dans les units du chier ini 108 G84, G87 non implments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 G28, G30 avec des mots daxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 M62, M63 non implments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 G0 rduit les longs mouvements angulaires pour les rendre infrieurs un tour109 G33, G76 codes de taraudage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 G38.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 G38.3. . .G38.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 O-codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 M50. . .M53 survitesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 M61. . .M66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 G43, G43.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 16.2.7.1Longueurs doutil ngatives . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 16.2.7.2Outils de tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 16.2.7.3Longueurs doutil dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 110

Diffrences ne changeant pas la signication des programmes bien crits en RS274NGC109

16.2.8 16.2.9 16.2.10

G41.1, G42.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 G43 sans mot H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Axes U, V et W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 111

17 Fichier doutils et compensations 17.1 17.2 17.3 17.4

Fichier doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Compensation doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Compensation de longueur doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Compensation de rayon doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Compensation de rayon doutil, dtails . . . . . . . . . . . . . . . . . . . . . . . . 112 122

17.4.1

18 Systmes de coordonnes et dcalage G92 18.1 18.2 18.3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Commande en coordonnes machine : G53 . . . . . . . . . . . . . . . . . . . . . . . . . 122 Dcalages pice (G54 G59.3 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Systme de coordonnes par dfaut . . . . . . . . . . . . . . . . . . . . . . . . . 124 Rglage des dcalages avec G10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Les commandes G92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Rglage des valeurs de G92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Prudence avec G92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

18.3.1 18.3.2 18.4 18.4.1 18.4.2 18.4.3 18.5

G92 Dcalages daxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Exemple de programme utilisant les dcalages daxes . . . . . . . . . . . . . . . . . . . 126

TABLE DES MATIRES 19 Spcicits des tours 19.1 19.2 19.3 19.4

xii 128

EMC congur pour un tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Fichier doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Tangenter et corriger loutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Filetage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

IV

Quelques exemples

131
132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

20 Exemples de G-Code 20.1 Exemples pour une fraiseuse

20.1.1 20.1.2 20.1.3 20.1.4 20.1.5 20.1.6 20.1.7 20.2

Fraisage hlicodal dun orice Rainurage

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Palpage dune grille rectangulaire de points . . . . . . . . . . . . . . . . . . . . . 132 Amlioration du palpage dune grille rectangulaire de points . . . . . . . . . . . 132 Mesure de longueur doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Mesure dun alsage au palpeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Compensation de rayon doutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Exemples pour un tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Filetage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 134

20.2.1

21 Image-to-gcode : Usiner un depth maps 21.1 21.2 21.3 21.4

Quest-ce quun depth map ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Intgrer image-to-gcode dans linterface utilisateur dAXIS . . . . . . . . . . . . . . . . 134 Utilisation dimage-to-gcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Les diffrentes options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Invert Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Normalize Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Expand Image Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Tolerance (units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Pixel Size (units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Plunge Feed Rate (units par minute) . . . . . . . . . . . . . . . . . . . . . . . . 136

21.4.1 21.4.2 21.4.3 21.4.4 21.4.5 21.4.6 21.4.7 21.4.8 21.4.9 21.4.10 21.4.11 21.4.12 21.4.13 21.4.14

Feed Rate (units par minute) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Spindle Speed (RPM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Scan Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Scan Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Depth (units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Step Over (pixels) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Tool Diameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

TABLE DES MATIRES 21.4.15 21.4.16 21.4.17 21.4.18 21.4.19

xiii

Safety Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Tool Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Lace bounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Contact angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Offset dbauche et profondeur par passe dbauche . . . . . . . . . . . . . . . . 137

Diagnostic

139
140

22 Moteurs pas pas 22.1

Problmes communs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Le moteur navance que dun pas . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Le moteur ne bouge pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Distance incorrecte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

22.1.1 22.1.2 22.1.3 22.2

Messages derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Erreur de suivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Erreur de RTAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

22.2.1 22.2.2 22.3

Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Tester le timing des pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

22.3.1

VI

Annexes

143
144

23 Legal Section 23.1 23.2

Copyright Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 GNU Free Documentation License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

VII

Index de louvrage

148

Avant-propos
EMC2 est souple et modulaire. Ces attributs lont fait apparatre certains comme un brouillon de petits morceaux confus, ils se sont demand pourquoi il en tait ainsi. Cette page tente de rpondre cette question avant que vous lecteurs, ne plongiez dedans pour vous faire votre propre ide. EMC a dbut linstitut national des standards et des technologies des Etats Unis, le NIST. Il a mri comme un logiciel fonctionnant sur le systme dexploitation Unix. Unix le rendait diffrent. Trs tt des dveloppeurs Unix ont apport une srie dides concernant lcriture du code, cest devenu une criture selon la tradition dUnix . Les premiers auteurs dEMC ont suivi cette voie. Eric S. Raymond, dans son livre The Art of Unix Programming, rsume la philosophie Unix par la philosophie largement utilise en ingnirie, le principe KISS Keep it Simple, Stupid Reste Simple, Crtin ou Sois Simple et Concis. Puis il dcrit sa vision selon laquelle cette philosophie globale sapplique en tant que norme culturelle Unix, bien quon trouve sans surprise de graves entorses la plupart des rgles Unix suivantes : * Rgle de modularit : Ecrire des lments simples relis par de bonnes interfaces. * Rgle de clart : La Clart vaut mieux que lingniosit. * Rgle de composition : Concevoir des programmes qui peuvent tre relis dautres a programmes. * Rgle de sparation : Sparer les rgles du fonctionnement ; Sparer les interfaces du mcanisme. 1 M. Raymond offre dautres rgles mais ces quatre dcrivent les caractristiques essentielles du systme de contrle de mouvement EMC2. La rgle de Modularit est critique. Tout au long de ces manuels, vous trouverez des discussions propos de linterprteur ou propos des planicateurs de tche ou de mouvement ou encore propos de HAL. Chacun deux est un module ou un ensemble de modules. Cette modularit vous permettra de ne connecter entre elles que les parties dont vous avez besoin pour le bon fonctionnement de votre machine. La rgle de clart est essentielle. EMC2 est en perptuelle volution, il nest pas termin et ne le sera jamais. Il est assez complet pour piloter toutes les machines que nous avons voulu quil pilote. Une bonne partie de cette volution est atteinte parce que les utilisateurs et les dveloppeurs peuvent voir le travail des autres et construire sur ce qui est dj fait. La rgle de composition nous permet de concevoir et de construire un contrleur partir des nombreux modules existants, en les rendant connectables entre eux. Nous obtenons cette connectivit en appliquant une interface standard tous les modules et en suivant ce standard. La rgle de sparation exige que chaque petite chose soit faite par une partie distincte. En sparant les fonctions, le dpannage est rendu plus ais, le remplacement de modules par dautres peut tre fait lintrieur du systme et la comparaison seffectuer facilement. Quapporte la fameuse tradition dUnix vous, utilisateurs dEMC2. Elle signie que vous pourrez faire des choix sur la faon dutiliser le systme. Beaucoup de ces choix affecteront les parties intgres la machine, mais beaucoup galement affecteront la manire dont vous utiliserez votre machine. Au cours de votre lecture, vous trouverez diffrents endroits o vous pourrez faire des
1. Trouv sur http ://fr.wikipedia.org/wiki/Philosophie_d%27Unix le 09/09/2008

TABLE DES MATIRES

comparaisons. Finalement vous pourrez dire Jutiliserai cette interface plutt que telle autre ou, Jcrirai cette nouvelle partie de telle manire plutt que de telle autre. Tout au long de ces manuels nous dcrirons ltendue des possibilits dEMC2 actuellement disponibles. Puisque vous commencez votre voyage dans lutilisation dEMC2 nous vous proposons ces deux citations : 2 "Unix na pas t conu pour empcher ses utilisateurs de commettre des actes stupides, car cela les empcherait aussi de raliser des actes ingnieux." Doug Gwyn "Unix est convivial. Cependant Unix ne prcise pas vraiment avec qui." Steven King

2. Trouv sur http ://fr.wikipedia.org/wiki/Philosophie_d%27Unix le 06/07/2008

Premire partie

Les concepts

Chapitre 1

Le concept dEMC
1.1 Introduction

Ce document est centr sur lutilisation dEMC2, il est plutt destin aux lecteurs layant dj install et congur. Quelques informations sur linstallation sont donnes dans les chapitres suivants. La documentation complte sur linstallation et la conguration se trouve dans le manuel de lintgrateur.

1.2

Vue densemble de la CNC

Le terme CNC a pris beaucoup de sens diffrents au cours des annes. Dans les dbuts, la CNC a consist remplacer les mains de loprateur par des moteurs, lesquels suivaient des commandes reproduisant au mieux les mouvements dun oprateur tournant les manivelles. De ces premires machines, un langage de contrle de loutil est n, puis a grandi. Ce langage est appell RS274 dont diffrentes variantes ont t proposes. Des ajouts lui ont t apports par les fabricants de machines-outils et de contrleurs pour rpondre aux besoins spciques de leurs machines. Pour quune machine puisse changer doutil pendant lexcution dun programme il est ncessaire de disposer de commandes de changement doutil. Si un chargeur de pices doit installer un nouveau brut, il est galement ncessaire davoir les commandes permettant de grer ce type de matriel. Comme tous les langages, RS274 a volu au l du temps. Actuellement plusieurs dialectes existent. En gnral, chaque fabricant de machines-outils essaye de rester cohrent avec ses lignes de produits mais il arrive que des commandes produisent des effets compltement diffrents dune machine une autre. Trs rcemment le langage de CNC a t masqu derrire diffrents symboles de programmation se rfrant un Langage 1 de programmation conversationnel. Une caractristique commune de ces types de programmation est la slection dune forme ou dune gomtrie et lajout de valeurs pour les coins, les limites, ou les caractristiques de cette gomtrie. Lusage du Dessin Assist par Ordinateur a galement eux un impact sur les langages de programmation CNC. Les dessins raliss en DAO tant sauvegards sous forme de listes de donnes avec les variables associes chaque gomtrie, ces listes sont facilement interprtes dans le G-Code. Les interprteurs qui ralisent ce travail sont appels des programmes de CAM (Computer Aided Machining). Ce sont des convertisseurs de DAO, lensemble des logiciels de dessin, comme CorelTM et presque la totalit des programmes graphiques, fournissent des chiers pouvant tre convertis. Ces convertisseurs ont t crits pour lire un chier dune image bitmap, en trames ou vectorielle et la transformer en un chier G-Code pouvant tre lanc sur une machine CNC.
1. Un fabricant de machines, Hurco, clame avoir seul les droits de lusage de ces symboles en programmation ainsi que de lusage du terme conversationnel utilis dans ce contexte.

CHAPITRE 1. LE CONCEPT DEMC

Vous vous demandez peut tre, Pourquoi ai-je besoin de savoir cel ? La rponse est que dans sa forme actuelle EMC2 ne peut pas utiliser directement, pour lusinage, un chier non converti issu dune DAO, ni aucune image. EMC2 utilise une variante du premier langage CNC nomme RS274NGC. (pour Next Generation Controller). Toutes les commandes passes EMC2 doivent ltre dans une forme reconnue par son interprteur RS274NGC. Ce qui signie que si vous voulez usiner une pice dssine dans un programme graphique ou de dessin, vous devez galement utiliser un programme capable de convertir le format du chier de sortie de ce programme en un autre chier dans le format reconnu et accept par linterprteur dEMC2. Il existe plusieurs programmes commerciaux effectuant cette tche. Au moins un convertisseur (Ace) a t mis sous un type de copyright le rendant disponible au public. Il y a eux de rcentes discussions propos de lcriture dune interface conversationelle ou gomtrique, permettant loprateur dentrer les programmes plus ou moins de la mme faon que sur certains contrleurs propritaires modernes, mais cest encore loin.

1.3

Systme dexploitation de lordinateur

Le code dEMC2 peut tre compil sur la plupart des distributions GNU-Linux (sous rserve que son noyau ait t patch avec une extension temps rel). En plus du code source, certaines distributions binaires sont disponibles. Le dernier paquet a t cr autour dune distribution Ubuntu qui est une ditribution GNU-Linux. Ubuntu est la distribution la plus apprcie par les utilisateurs de Linux novices, elle est considre comme tant trs facile utiliser. En plus de cel, il existe pour elle un grand nombre de sites dentraide dans le monde entier. Installer EMC2 sur cette distribution est extrmement simple, voir la section ?? EMC2 ne fonctionne pas sur les systmes dexploitation Microsoft (TM). La raison en est quEMC2 requiert un environnement temps rel pour son planicateur de mouvements et ses gnrateurs de pas. Il bncie aussi de lexcellente stabilit et des performances nettement meilleures du systme dexploitation Linux.

1.4

Comment marche EMC2

EMC2 est un peu plus que juste un autre programme de fraiseuse CNC . Il est capable de contrler des machines-outils, des robots ou dautres automatismes. Il est capable de contrler des servomoteurs, des moteurs pas pas, des relais ainsi que dautres mcanismes relatifs aux machines-outils. Dans ce manuel nous nous concentrerons seulement sur de petites machines mais aux possibilits impressionnantes, les mini fraiseuses. La gure 1.1 montre un simple diagramme bloc reprsentant une machine 3 axes typique comme EMC2 les aime. Cette gure montre un systme bas sur des moteurs pas pas. Le PC, tournant sous Linux contrle les interfaces de puissance des moteurs pas pas en leur envoyant des signaux au travers du port parallle. Ces signaux (impulsionnels) font que la puissance adquate est fournie aux moteurs. EMC2 peut galement contrler des servomoteurs via une interface de puissance pour servomoteurs ou utiliser le port parallle tendu connect une carte de contrle externe. Quand nous examinerons chacun des composants qui forment un systme EMC2, nous nous rfrerons cette machine typique. Il y a quatre composants dans le logiciel EMC2 : un controleur de mouvement (EMCMOT), un contrleur dentres/sorties discrtes (EMCIO), un coordinateur dexcution des tches (EMCTASK) et une bibliothque dinterfaces utilisateur, tant graphiques que textuelles. EMC2, pour prendre le contrle complet dune fraiseuse, il doit lancer chacun de ces quatre composants. Chaque composant sera brivement dcrit ci-dessous. En plus, il existe une couche appele HAL (la couche dabstraction du matriel), qui permet la conguration simple dEMC2 sans quil soit besoin de le recompiler.

CHAPITRE 1. LE CONCEPT DEMC

F IGURE 1.1 Simple machine contrle par EMC2

1.5

Interfaces utilisateur graphiques

Linterface graphique est la partie dEMC2 qui interragit avec loprateur de la machine-outil. EMC2 est fourni avec plusieurs interfaces utilisateurs graphiques : Un cran graphique de type caractres nomm keystick 1.3 Un programme X Windows nomm xemc Deux GUI bases sur Tcl/Tk nommes tkemc 1.5 et mini 1.4. Une GUI base sur OpenGL, avec prvisualisation du G-Code, appele AXIS 1.2 Tkemc et Mini peuvent tourner sous Linux, Mac et Microsoft Windows si le langage de programmation Tcl/Tk a t pralablement install. Les versions Mac et Microsoft Windows peuvent tre connectes EMC2 tournant sur une machine Linux temps rel via une connection rseau, permettant de visualiser la machine depuis un emplacement distant. Les instructions pour installer et congurer une telle connection entre un MAC ou une machine Micosoft et un PC sur lequel tourne EMC2 se trouvent dans le manuel de lintgrateur.

1.6

Penser comme un oprateur sur CNC

Ce manuel ne prtend pas vous apprendre utiliser un tour ou une fraiseuse. Devenir un oprateur expriment prends beaucoup de temps et demande beaucoup de travail. Un auteur a dit une fois, Nous apprenons de lexprience, si on la possde toute . Les outils casss, les taux attaqus et les cicatrices sont les preuves des leons apprises. Une belle nition, des tolrances serres

CHAPITRE 1. LE CONCEPT DEMC

F IGURE 1.2 Linterface graphique AXIS

F IGURE 1.3 Linterface graphique Keystick

CHAPITRE 1. LE CONCEPT DEMC

F IGURE 1.4 Linterface graphique Mini

F IGURE 1.5 Linterface graphique TkEmc et la prudence pendant le travail sont les preuves des leons retenues. Aucune machine, aucun programme ne peut remplacer lexprience humaine.

CHAPITRE 1. LE CONCEPT DEMC

Maintenant que vous commencez travailler avec le programme EMC2, vous devez vous placer a dans la peau dun oprateur. Vous devez tre dans le rle de quelquun qui a la charge dune a machine. Cest une machine qui attendra vos commandes puis qui excutera les ordres que vous lui donnerez. Dans ces pages nous donnerons les explications qui vous aideront devenir un bon oprateur de fraiseuse avec EMC2.

1.7

Modes opratoires

Quand EMC2 fonctionne, il existe trois diffrents modes majeurs pour entrer des commandes. Les modes Manuel, Auto et MDI. Passer dun mode un autre marque une grande diffrence dans le comportement dEMC2. Des choses spciques un mode ne peuvent pas tre faites dans un autre. Loprateur peut faire une prise dorigine sur un axe en mode manuel mais pas en mode auto ou MDI. Loprateur peut lancer lexcution complte dun programme de G-codes en mode auto mais pas en mode manuel ni en MDI. En mode manuel, chaque commande est entre sparment. En termes humains une commande manuelle pourrait tre active larrosage ou jog laxe X 250 millimtres par minute. Cest en gros quivalent basculer un interrupteur ou tourner la manivelle dun axe. Ces commandes sont normalement contrles en pressant un bouton de linterface graphique avec la souris ou en maintenant appuye une touche du clavier. En mode auto, un bouton similaire ou lappui dune touche peuvent tre utiliss pour charger ou lancer lexcution complte dun programme de Gcodes stock dans un chier. En mode dentre de donnes manuelles (MDI) loprateur peut saisir un bloc de codes est dire la machine de lexcuter en pressant la touche <Return> ou <Entre> du clavier. Certaines commandes de mouvement sont disponibles et produisent les mmes effets dans tous les modes. Il sagit des commandes ABOR T, ESTOP et FEED RATE OVERRIDE. Ces commandes se dispensent dexplications. Linterface utilisateur graphique AXIS supprime certaines distinctions entre Auto et les autres modes en rendant automatique la disponibilit des commandes, la plupart du temps. Il rend galement oue la distinction entre Manuel et MDI parce que certaines commandes manuelles comme Toucher, sont galement implmentes en envoyant une commande MDI.

1.8

Informations afches

Quand EMC2 fonctionne, chacun de ses modules maintient la conversation avec les autres et avec linterface graphique. Cest la charge de lafchage de slectionner quel ux dinformation loprateur doit voir et de larranger sur son cran pour lui rendre facile comprendre. Le point le plus important de lafchage est peut tre la possibilit de voir le fonctionnement interne dEMC2. Vous devrez garder un oeil sur le mode dafchage. Lafchage du mode actif permet de savoir si il y a cohrence entre lafchage et la position de chaque axe. La plupart des interfaces permettent loprateur de lire la position actuelle ou commande ainsi que la position machine ou relative. Machine Cest la position dun axe par rapport lorigine machine, aprs que la POM a t faite. Relative Cest la position relative dun axe aprs quun ou plusieurs dcalages aient t appliqus (pice, outil, etc). Actuelle Cest la position relle dun axe en coordonnes machine ou relatives. Commande Cest la position commande sur laquelle laxe doit aller. Elles sont toutes exactement les mmes si aucun dcalage na t appliqu et quaucune bande morte na t paramtre dans le chier INI. La bande morte (Deadband) est une toute petite distance, suppose trs proche peut tre une impulsion de pas ou un point de codeur.

CHAPITRE 1. LE CONCEPT DEMC

10

Il est galement important de voir tous les messages ou les codes derreur envoys par EMC2. Ceuxci sont utiliss pour demander que loprateur change loutil, pour dcrire les problmes dans les programmes G-code ou indiquer pourquoi la machine sest arrte. Vous modierez votre faon de travailler avec ces petits textes, vous apprendrez, petit petit, comment ajuster et faire fonctionner votre machine avec le logiciel EMC2. Pendant que vous apprendrez afner les rglages, que vous travaillerez avec votre mini fraiseuse, vous penserez dautres applications et dautres possibilits. Ce seront les sujets dautres manuels de linuxcnc.org.

1.9

Units

Les units peuvent prter confusion. Vous pouvez vous demander, Vaut-il mieux travailler en pouces, en pieds, en centimtres, millimtres ou autre ? Plusieurs rponses sont possibles cette question mais la meilleure est que a marchera mieux dans lunit avec laquelle vous avez choisi de congur la machine. Au niveau de la machine, chacun des axes est rgl avec une unit xe dans une variable du chier INI. Cette variable ressemble ceci : UNITS = inch ou UNITS = mm Aprs avoir dcid de lunit utilise sur les axes, il faut indiquer EMC2 combien dimpulsions moteur, ou de codeur, il doit envoyer ou lire pour produire un dplacement pour chaque unit de distance. Aprs cel, EMC2 sait compter les units de distance. Cependant il est trs important de comprendre que ce calcul de distance pour les axes est diffrent de la distance commande dans le programme. Vous pouvez commander une distance en millimtres ou en pouces sans mme penser aux units car il existe des G-code permettant de basculer dune unit mtrique une unit impriale.

Chapitre 2

Concepts importants
Ce chapitre couvre les concepts importants qui doivent tre assimils avant dessayer de dmarrer un chier de G-code.

2.1
2.1.1

Contrle de trajectoire
La planication de trajectoire

La planication de trajectoire est en gnral, le moyen qui permet EMC2 de suivre le chemin spci par le programme G-code, tout en restant dans les limites permises par la machine. Un programme en G-code ne peut jamais tre totalement suivi. Par exemple imaginez que vous spciez dans une ligne du programme les mouvements suivants :

G1 X10 F100 (G1 un mouvement linaire, X10 la destination, F100 la vitesse) En ralit, la totalit du mouvement ne peut pas tre effectue F100, puisque la machine commence le mouvement une vitesse nulle, elle doit acclrer pour se dplacer vers X=10, puis dclrer pour revenir une vitesse nulle en n de mouvement. Parfois une portion du mouvement se fera bien F100, mais pour beaucoup de mouvements, spcialement les petits mouvements, la vitesse spcie ne sera jamais atteinte. Les acclrations et dclrations de base dcrite ici ne sont pas complexes et ne ncessite pas de compromis. Les contraintes des axes de la machine sont placs dans le chier INI, comme la vitesse maximum de laxe et lacclration ne devant pas tre dpasses par le planicateur de trajectoire.

2.1.2

Le suivi du parcours

Un problme plus compliqu est pos par le suivi du parcours. Quand vous programmez un angle droit en G-code, le planicateur de trajectoire peut suivre diffrents parcours, tous sont bons dans certains cas ; il peut dclrer et sarrter exactement sur les coordonnes du sommet de langle, puis acclrer dans la direction perpendiculaire. Il peut galement faire ce qui est appel le mode trajectoire continue , qui consiste maintenir la vitesse davance en passant vers le sommet de langle, ce qui ncessite darrondir langle de faon respecter les contraintes machine. Vous pouvez remarquer quil y a dans ce cas un compromis : vous pouvez ralentir pour avoir un meilleur suivi du parcours, ou conserver une vitesse davance leve au dtriment de la nesse des angles, du fait dun moins bon suivi du parcours. Selon les particularits de lusinage, du matriau, de loutillage, etc., le programmeur devra dcider du bon compromis. 11

CHAPITRE 2. CONCEPTS IMPORTANTS

12

2.1.3

La programmation du planicateur

Les commandes de contrle de trajectoire sont les suivantes : G61 (mode arrt exact) G61 indique au planicateur de sarrter exactement la n de chaque segment. Le parcours sera suivi avec exactitude mais les arrts complets de lavance peuvent se rvler destructeurs pour la pice ou loutillage, selon les particularits de lusinage. G64 (mode trajectoire continue sans tolrance) G64 est juste une trajectoire continue, le naive cam detector nest pas activ. G64 et G64 P0 indiquent au planicateur de sacrier la prcision de suivi du parcours pour conserver une vitesse davance leve. Ce mode est ncessaire pour certains types de matriaux ou doutillages pour lesquels larrt exact est dangereux. Il peut trs bien fonctionner tant que le programmeur garde lesprit que le parcours doutil pourra tre plus arrondi que celui indiqu par le programme. G64 Px.xxx (mode trajectoire continue avec tolrance) Ce mode active le naive cam detector et active le mode trajectoire continue avec tolrance. Si vous utilisez le millimtre comme unit et programmez G64 P1.27, vous dites au planicateur que vous souhaitez une vitesse davance continue, mais quaux coins programms vous voulez un ralentissement sufsant pour que le parcours de loutil puisse rester moins de 1.27mm du parcours programm. Lamplitude exacte du ralentissement dpend de la gomtrie de langle programm et des contraintes machine, mais la seule chose dont le programmeur ait se soucier est la tolrance, ce qui lui donne le contrle complet des compromis du suivi de parcours. La tolrance de ce mode peut tre modie tout au long du programme si ncessaire. Attention : spcier un G64 P0 aura le mme effet quun G64 seul (voir ci-dessus), cest rendu ncessaire pour conserver la compatibilit ascendante avec les anciens programmes G-code. Trajectoire continue sans tolrance Le point contrl touchera chaque mouvement spci au moins un point. La machine ne pourra jamais se dplacer une vitesse davance telle quelle ne puisse pas sarrter avec prcision la n du mouvement en cours (ou du prochain mouvement, si vous mettez en pause lorsque la trajectoire est dj commence). La distance avec le point nal du mouvement est aussi grande que ncessaire pour maintenir la meilleure vitesse davance possible pendant le parcours. Naive Cam Detector Les mouvements successifs en G1, concernant uniquement les axes XYZ, dont la dviation par rapport une ligne droite est infrieur P, sont fusionns en une seule ligne droite. Ce mouvement fusionn remplace les mouvements individuels en G1 pour obtenir une nouvelle trajectoire avec tolrance. Entre les mouvements successifs, le point contrl ne passera jamais plus de P- du point nal du mouvement en cours. Le point contrl touchera au moins un point de chacun des mouvements. La machine ne pourra jamais se dplacer une vitesse ne lui permettant pas de venir sarrter exactement la n du mouvement actuel (ou du prochain mouvement, si vous mettez en pause lorsque la trajectoire est dj commence).

2.1.4

Planication des mouvements

Assurez-vous que les mouvements soient assez longs pour convenir votre machine/matriel. Principalement en raison de la rgle selon laquelle la machine ne pourra jamais se dplacer une vitesse ne lui permettant pas de venir sarrter compltement la n du mouvement actuel , il y a une longueur minimale de dplacement permettant la machine datteindre la vitesse demande avec un rglage dacclration donn. Les phases dacclration et de dclration utilisent chacune la moiti de la variable MAX_ACCELERATION du chier .ini. Avec une trajectoire continue cest exactement invers, ce qui fait que lacclration totale de laxe est gal la variablee MAX_ACCELERATION. Dans dautres cas, lacclration actuelle de la machine est un peu infrieure celle du chier ini. Pour maintenir la vitesse davance, le mouvement doit tre plus long que la distance qui lui est ncessaire pour acclrer de zro la vitesse souhaite, puis de dclrer pour sarrter. En utilisant A comme tant 1/2 de la variable MAX_ACCELERATION et F comme tant la vitesse davance *en units par seconde*, le temps dacclration sera ta=F/A et la distance dacclration sera

CHAPITRE 2. CONCEPTS IMPORTANTS

13

da=(1/2)*F*ta. Les temps et distance de dclration sont les mmes, ce qui fait que la distance critique dc=da+dd=2*da=F2 /A. Par exemple, pour une vitesse davance de 25mm par seconde et une acclration de 250mm/sec2 , la distance critique sera de 102 /100=1mm. Pour une vitesse davance de 5mm par seconde, la distance critique ne serait que de 52 /100 = .25mm.

2.2
2.2.1

G-code
Vitesse davance

Si vous avez un tour ou un axe rotatif, pour savoir comment la vitesse davance sapplique selon que laxe est linaire ou rotatif, lire et comprendre la section vitesse davance (7.2.5) du manuel de lutilisateur.

2.2.2

Compensation de rayon doutil

La compensation de rayon doutil (G41/42) ncessite que loutil puisse toucher tout au long de la trajectoire programme sans interfrer avec les mouvements dentre ou de sortie. Si cest impossible avec le diamtre de loutil courant, une erreur est signale. Un diamtre doutil infrieur est peut tre utilisable sans erreur pour le mme parcours. Ce qui signie que quand ce type de problme se prsente, il est possible de programmer un outil plus petit pour usiner le mme parcours sans erreur. Voir la section compensation de rayon doutil (17.4) pour plus dinformations.

2.3

Prise dorigine machine

Aprs le dmarrage dEMC2 chaque axe doit tre rfrenc sur sont point dorigine machine avant tout mouvement ou commande MDI. Pour droger ce comportement par dfaut, ou pour utiliser linterface Mini, il est possible dajuster loption NO_FORCE_HOMING = 1 dans la section [TRAJ] du chier ini.

2.4

Changement doutil

Il existe plusieurs options pour effectuer un changement doutil. Voir la section [EMCIO] dans le manuel de lintgrateur pour les informations sur la conguration de ces options. Voir galement les sections G2812.12 et G3012.13 du manuel de lutilisateur.

Deuxime partie

Les interfaces utilisateur

14

Chapitre 3

Linterface graphique AXIS


3.1 Introduction

AXIS est une interface utilisateur graphique pour emc2, il offre un aperu permanent du parcours de loutil. Il est crit en Python, utilise Tk et OpenGL pour lafchage de linterface graphique. F IGURE 3.1 Fentre dAXIS

3.2

Pour commencer

Pour choisir AXIS comme interface graphique demc2, ditez le chier .ini et dans la section [DISPLAY] changez la ligne DISPLAY comme ceci : 15

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS DISPLAY = axis

16

Puis, lancez emc2 et choisissez le chier ini. La conguration simplie sim/axis.ini est dj congure pour utiliser AXIS comme interface. Quand vous dmarrez AXIS, une fentre telle que celle de la gure 3.1 souvre.

3.2.1

Une session typique avec AXIS

1. Lancez emc et slectionnez un chier de conguration. 2. Relchez le bouton darrt durgence A/U et mettez la machine en marche. 3. Faites les prises dorigine machine POM pour chacun des axes. 4. Chargez un chier dusinage. 5. Utilisez lafchage du parcours doutil pour vrier que le programme est correct. 6. Bridez le brut usiner sur la table. 7. Faites les prises dorigine pice POP de chacun des axes avec le jog et en utilisant le bouton Toucher . 8. Lancez le programme. 9. Pour usiner le mme chier une nouvelle fois, retournez ltape 6. Pour usiner un chier diffrent, retournez ltape 4. Quand vous avez ni, quittez AXIS.

3.3

Elments de la fentre dAXIS

La fentre dAXIS contient les lments suivants : Un espace dafchage qui montre une pr-visualisation du chier charg (dans ce cas, axis.ngc ), ainsi que la position courante du point programm par la machine CNC. Plus tard, cette zone afchera le parcours de loutil dplac par la machine CNC, cette zone est appele le parcours doutil ( backplot ) Une barre de menus, une barre doutils, des curseurs et des onglets permettent deffectuer diffrentes actions. Longlet Contrle manuel , qui permet de faire des mouvements daxe, de mettre la broche en rotation ou de larrter, de mettre larrosage en marche ou de larrter. Longlet Donnes manuelles (aussi appel MDI), o les blocs de programme G-code peuvent tre entrs la main, une ligne la fois. Les curseurs Correcteurs de vitesse , qui permettent daugmenter ou de diminuer la vitesse de la fonction concerne. Une zone de textes qui afche le G-code du chier charg. Une barre dtat qui afche ltat de la machine. Dans cette capture dcran, la machine est en marche, aucun outil nest mont, la position afche est relative lorigine machine (par opposition une position absolue ) et actuelle (par opposition une position commande )

3.3.1

Menu Items

SousSection en cours de rdaction - To Do List nish menu descriptions

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

17

3.3.2

Boutons de la barre doutils

Signication des boutons, de gauche droite : 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Arrt durgence (A/U) en Anglais (E-Stop) Marche/Arrt puissance machine Ouvrir un chier Recharger le chier courant Dpart cycle Cycle en pas pas Pause/Reprise Stopper lexcution du programme Sauter ou non les lignes commenant par "/" Avec ou sans pause optionelle Zoom plus Zoom moins Vue prdnie Z (vue de dessus) Vue prdnie Z bascule Vue prdnie X (vue de ct) Vue prdnie Y (vue de face) Vue prdnie P (vue en perspective) Orienter la vue avec le bouton gauche de la souris Rafrachir le parcours doutil

3.3.3
3.3.3.1

Zones dafchage graphique du programme


Afchage des coordonnes

Lafchage des coordonnes est situ en haut gauche de lcran graphique. Il montre les positions de la machine. A gauche du nom de laxe, un symbole dorigine ( ) est visible si la prise dorigine de

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

18

laxe a t faite. A droite du nom de laxe, un symbole de limite ( ) est visible si laxe est sur un de ses capteurs de limite. Pour interprter correctement ces valeurs, rfrez vous lindicateur Position : de la barre dtat. Si la position est Absolue , alors les valeurs afches sont exprimes en coordonnes machine. Si la position est Relative , alors les valeurs afches sont exprimes en coordonnes relatives la pice. Quand les coordonnes afches sont relatives, une marque dorigine de couleur cyan est visible pour reprsenter lorigine machine ( ). Si la position est Commande , alors il sagit de la position atteindre par exemple, les coordonnes passes dans une commande G0. Si la position est Actuelle , alors il sagit de la position laquelle la machine vient de se dplacer. Ces valeurs peuvent varier pour certaines raisons : erreur de suivi, bande morte, rsolution dencodeur ou taille de pas. Par exemple, si vous demandez un mouvement X 0.08 votre fraiseuse, mais un pas du moteur fait 0.03, alors la position Commande sera de 0.08 mais la position Actuelle sera de 0.06 (2 pas) ou 0.09 (3 pas). 3.3.3.2 Vue du parcours doutil

Quand un chier est charg, une vue du parcours doutil quil produira est visible dans la zone graphique. Les mouvements en vitesse rapide (tels ceux produits par une commande G0) sont afchs en lignes pointilles vertes. Les dplacements en vitesse programme (tels ceux produits par une commande G1) sont afchs en lignes continues blanches. Les arrts temporiss (tels ceux produits par la commande G4) sont reprsents par une petite marque X . 3.3.3.3 Etendues du programme

Les tendues du programme sont visibles pour chacun des axes. Aux extrmits de chacune, la plus petite et la plus grande valeur des coordonnes sont indiques. Au milieu, la diffrence entre ces valeurs de coordonnes est visible. Sur la gure 3.1, ltendue des X du chier va de -1.95 1.88 pouces, un total de 3.83 pouces. Quand une coordonne excde une soft limits tablie dans le chier .ini, la dimension correspondante est afche dans une couleur diffrente. Ici, la limite maximale est dpasse sur laxe X:

3.3.3.4

Le cne doutil

Lemplacement de la pointe de loutil est indiqu par le cne doutil . Le cne doutil ne donne pas dindication sur la forme, la longueur ou le rayon de loutil. Quand un outil est charg, (par exemple dans le MDI, avec la commande T1 M6), le cne passe de cnique cylindrique, il indique alors le diamtre de loutil lu dans le chier de la table doutil.

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS 3.3.3.5 Trac doutil

19

Quand la machine se dplace, elle laisse une trace appele le trac doutil. La couleur des lignes indique le type de mouvement : Jaune pour les jogs, vert clair pour les mouvements en vitesse rapide, rouge pour les mouvements en vitesse davance programme et magenta pour les mouvements circulaires en vitesse davance programme. 3.3.3.6 Interaction avec lafchage

Par un clic gauche sur une portion du parcours doutil, la ligne sous la souris passe en surbrillance la fois dans le graphique et dans le texte. Un clic droit dans une zone vide enlve la surbrillance. En dplaant la souris avec son bouton gauche appuy, la vue est glisse sur lcran. En dplaant la souris avec le bouton Maj enfonc, ou en glissant avec la molette de la souris appuye, la vue est tourne. Si une ligne du trac est en surbrillance, elle devient le centre de rotation de la vue. Autrement, le centre de rotation est le milieu du chier dans son ensemble. En tournant la molette de la souris ou en glissant la souris avec son bouton droit enfonc ou encore en glissant la souris avec son bouton gauche enfonc et la touche Ctrl appuye, le trac sera zoom en plus ou en moins. En cliquant sur une des icnes de vue pr-dnie de la barre doutils, ou en pressant la touche V , cette vue est slectionne.

3.3.4

Zone texte dafchage du programme

Un clic gauche sur une ligne du programme passe la ligne en surbrillance la fois dans la zone texte et dans la zone graphique. Quand le programme est lanc, la ligne en cours dexcution est en surbrillance rouge. Si aucune ligne nest slectionne par lutilisateur, le texte dle automatiquement pour toujours laisser la ligne courante visible.

3.3.5

Contrle manuel

Quand la machine est en marche mais quaucun programme nest excut, les lments graphiques de longlet Contrle manuel peuvent tre utiliss pour actionner le centre dusinage ou mettre en marche et arrter les diffrents organes de la machine. Quand la machine nest pas en marche ou quand un programme est en cours dexcution, le contrle manuel est indisponible. Certains des lments dcrits plus bas ne sont pas disponibles sur toutes les machines. Quand AXIS dtecte quune pin particulire nest pas connecte dans le chier HAL, llment correspondant de longlet Contrle manuel est supprim. Par exemple, si la pin HAL motion.spindle-brake nest pas connecte, alors le bouton Frein de broche napparatra pas sur lcran. Si la variable denvironnement AXIS_NO_AUTOCONFIGURE est mise 1, ce comportement est dsactiv et tous les boutons sont visibles. 3.3.5.1 Le groupe Axes

Les cases cocher du groupe Axes permettent de choisir laxe de la machine actionner manuellement. Cette action sappelle le jog . Premirement slectionnez laxe actionner en cochant sa case. Puis cliquez le bouton + ou - selon le sens de dplacement souhait. Les quatre premiers axes peuvent aussi tre dplacs avec les touches ches pour (X et Y), Page prcdente et Page suivante pour (Z) et les touches [ et ] pour (A).

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

20

F IGURE 3.2 Ligne courante et ligne en surbrillance

Si En continu est slectionn, le mouvement continuera tant que la touche ou le bouton resteront appuys. Si une autre valeur est slectionne, la machine se dplacera juste de la distance afche chaque fois que la touche ou le bouton seront appuys. Par dfaut, les valeurs disponibles sont : 0.1000 0.0100 0.0010 0.0001 Le rglage du chier .ini [DISPLAY]INCREMENTS peut tre utilis pour remplacer ces valeurs par dfaut. Ces valeurs doivent contenir des nombres dcimaux (ex. 0.1000) ou des nombres fractionnaires (ex. 1/16), ventuellement suivis par une unit (une parmi cm, mm, um, inch, in, ou mil). Si aucune unit nest spcie, les units natives de la machine seront utilises. Pour les utilisateurs prfrant les units mtriques, un bon rglage pourrait tre : INCREMENTS = 10 um, 50 um, 0.1mm, 0.5mm, 1mm, 5mm, 10 mm Pour les utilisateurs prfrant les units impriales , un bon rglage pourrait tre : INCREMENTS = 1/4 in, 1/16 in, 1/32 in, 1/64 in, 1 mil, .1 mil ou INCREMENTS = .5 in, .1 in, 50 mil, 10 mil, 5 mil, 1 mil, .1 mil Le mlange entre mtrique et imprial est possible : INCREMENTS = 1 inch, 1 mil, 1 cm, 1 mm, 1 um

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS 3.3.5.2 La prise dorigine machine

21

Si votre machine a une squence de prise dorigine machine dnie, le bouton POM gnrale ou les touches Ctrl+origine lanceront cette squence. Autrement, le bouton sera lu Origine machine , et enverra laxe courant sa position dorigine. Lappui de la touche origine seule enverra laxe courant sa position dorigine mme si une squence de prise dorigines machine est dnie. Selon votre conguration, la POM peut ajuster la valeur de la position de laxe comme tant la position absolue 0.0, ou elle peut faire dplacer la machine vers une position dorigine spcie et avec lusage de capteurs dorigine . 3.3.5.3 Toucher

Si le bouton Toucher ou la touche Fin sont appuys, le dcalage dorigine pice de laxe actif, sur la gure3.3 : P1 G54, prendra la valeur spcie dans le champ de la boite de dialogue. Les expressions peuvent tre entres en suivant les rgles de programmation rs274ngc, sauf les variables qui ne peuvent pas tre utilises. La valeur rsultante sera afche sous le champ. F IGURE 3.3 Toucher

La case cocher Mouvement temporaire hors limites permet un dplacement temporaire de la machine hors des limites physiques. Par exemple, pour ramener dans les limites, un axe engag par erreur sur un n de course. 3.3.5.4 Le groupe Broche

Les boutons de la premire range permettent de slectionner la direction de rotation de la broche : Sens anti-horaire, Arrt, Sens horaire. Les boutons de la range suivante augmentent ou diminuent la frquence de rotation. La case cocher de la troisime range permet dengager ou de relcher le frein de broche. Selon la conguration de votre machine, ces lments napparatront peut tre pas tous. 3.3.5.5 Le groupe Arrosage

Ces deux boutons permettent dactiver le Brouillard et l Arrosage ou de les dsactiver. Selon la conguration de votre machine, ces boutons napparatront peut tre pas tous.

3.3.6

Donnes manuelles

Longlet dentre de donnes manuelles (encore appel MDI), permet dentrer manuellement et une par une, des lignes de programme en G-code. Quand la machine nest pas en marche, ou quand un programme est en cours dexcution, cet onglet nest pas oprationnel.

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

22

F IGURE 3.4 Longlet Donnes manuelles

3.3.6.1

Historique

Afche les commandes prcdemment tapes au cours de cette session. 3.3.6.2 Commande MDI

Ce champ permet la saisie dune ligne de commande excuter. La commande sera excute par lappui de la touche Entre ou un clic du bouton Envoi . 3.3.6.3 G-Codes actifs

Ce champ afche les codes modaux actuellement actifs dans linterprteur. Par exemple, G54 indique que le dcalage dorigine G54 sera appliqu toutes les coordonnes qui seront entres.

3.3.7

Correcteurs de vitesse

En dplaant le curseur, la vitesse de dplacement programme peut tre modie. Par exemple, si un programme requiert une vitesse F60 et que le curseur est plac sur 120%, alors la vitesse rsultante sera de 72.

3.3.8

Correcteur de vitesse de broche

En dplaant ce curseur, la vitesse programme de la broche peut tre modie. Par exemple, si un programme requiert une vitesse F8000 et que le curseur est plac sur 80%, alors la frquence de rotation rsultante sera de 6400. Cet lment napparat que si la HAL pin motion.spindle-speed-out est connecte dans .ini.

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

23

3.3.9

Vitesse de Jog

En dplaant ce curseur, la vitesse de jog peut tre modie. Par exemple, si ce curseur est plac sur 100 mm/mn, alors un jog de 1 mm durera .6 secondes, ou 1/100 de minute. Du ct gauche du curseur (jog lent) lespacement des valeurs est petit alors que du ct droit (jog rapide) lespacement des valeurs est plus grand, cela permet une large tendue de vitesses de jog avec un contrle plus n du curseur dans les zones les plus importantes. Sur les machines avec axes rotatifs, un second curseur de vitesse est prsent. Il permet dajuster la vitesse de rotation des axes rotatifs (A, B et C).

3.4

Raccourcis clavier

La plupart des actions dAXIS sont accessibles depuis le clavier. La liste complte des raccourcis clavier est disponible dans laide rapide dAXIS qui safche en cliquant sur A IDE > A IDE RAPIDE. Beaucoup de ces raccourcis sont inaccessible en mode Entres manuelles. Les raccourcis clavier les plus frquents sont visibles dans la table 3.1. T ABLE 3.1 Raccourcis clavier usuels Touches Actions produites F1 Bascule larrt durgence F2 Bascule le marche/arrt machine , 1 .. 9, 0 Correcteurs de vitesse de 0% 100% X, Active le premier axe Y, 1 Active le deuxime axe Z, 2 Active le troisime axe A, 3 Active le quatrime axe I Slection dincrment du jog C jog en mode continu Ctrl+origine Lance une squence de POM Fin Toucher : valide loffset G54 de laxe actif Gauche, Droite Jog du premier axe Up, Down Jog du deuxime axe Pg Up, Pg Dn Jog du troisime axe [, ] Jog du quatrime axe O Ouvrir un chier Ctrl+R Recharger le chier courant R Excuter le programme P Pause dans lexcution du programme S Reprise de lexcution du programme ESC Stopper lexcution Ctrl+K Raffrachi le trac doutil V Dlement cyclique des vues prdnies

3.5

emctop : Afchage de ltat dEMC

AXIS inclut un programme appel emctop qui afche en dtail ltat demc. Ce programme est accessible dans le menu M ACHINE > F ENTRE D TAT D EMC 2 Le nom de chaque entre est afch dans la colonne de gauche. La valeur courante de chaque entre safche dans la colonne de droite. Si la valeur a chang rcemment, elle safche en surbrillance rouge.

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

24

F IGURE 3.5 Fentre dtat dEMC

3.6

mdi : Entre de donnes en texte (MDI)

AXIS inclut un programme appel mdi , il permet denvoyer des commandes la session dEMC2 en cours, sous forme de lignes de texte. Vous pouvez lancer ce programme en ouvrant une console et en tapant : mdi /path/to/emc.nml En cours dexcution il afche le prompt : MDI>. Quand une ligne vide est entre, la position courante de la machine est afche. Quand une commande est entre, elle est passe emc qui lexcute. Une courte session MDI est visible sur la gure 3.6.

F IGURE 3.6 Session MDI $ mdi ~/emc2/configs/sim/emc.nml MDI> (0.0, 0.0, 0.0, 0.0, 0.0, 0.0) MDI> G1 F5 X1 MDI> (0.5928500000000374, 0.0, 0.0, 0.0, 0.0, 0.0) MDI> (1.0000000000000639, 0.0, 0.0, 0.0, 0.0, 0.0)

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

25

3.7

axis-remote : Commande distance de linterface graphique dAXIS

AXIS inclut un programme appel axis-remote qui permet denvoyer certaines commandes vers lapplication AXIS fonctionnant distance. Les commandes disponibles sont visibles en faisant : axis-remote --help pour vrier quAXIS est en marche, inclure : (--ping), charger un chier, recharger le chier courant avec : (--reload) et quitter le programme AXIS avec : (--quit).

3.8

hal_manualtoolchange : Dialogue de changement manuel doutil

AXIS inclut un composant Hall appel hal_manualtoolchange , il ouvre une fentre dappel doutil (Figure 3.7) quand la commande M6 est invoque. Ds que le bouton Continuer est press, lexcution du programme reprend. Le chier de conguration .hal : configs/sim/axis_manualtoolchange.hal montre les commandes HAL ncessaires pour lutilisation de ce composant. hal_manualtoolchange peut tre utilis mme si linterface graphique AXIS nest pas en service. F IGURE 3.7 La fentre de changement manuel doutil

3.9

Modules en Python

AXIS inclut plusieurs modules en Python qui peuvent tre trs utiles. Pour des informations compltes sur ces modules, faites : pydoc <nom du module> ou lisez son code source. Modules inclus : emc fournit laccs aux commandes demc, son tat et aux chanes derreur gcode fournit laccs linterprteur rs274ngc rs274 fournit des outils supplmentaires pour travailler sur les chiers rs274ngc hal permet la cration par lutilisateur de composants de HAL crits en Python _togl fournit des lments OpenGL utilisables dans les applications Tkinter minigl fournit laccs aux sous-ensembles dOpenGL utiliss par AXIS Pour utiliser ces modules dans vos propres scripts, assurez-vous que le rpertoire o ils se trouvent est dans le chemin daccs des modules Python. Avec une version installe dEMC2, a se fera automatiquement. Avec une version installe en in-place , a peut tre fait avec laide de : scripts/emc-environmen

3.10

Utiliser AXIS pour contrler un tour CNC

En incluant cette ligne dans le chier ini le mode tour (lathe) sera slectionn :

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS [DISPLAY] LATHE = 1

26

Laxe Y ne sera pas visible dans lafchage des coordonnes, la vue sera modie pour placer laxe Z dans le sens gauche/droite et laxe X dans le sens avant/arrire et diffrents lments (tels que les icnes des vues prdnies) seront supprims. La touche V agit alors sur le zoom pour afcher le trac complet du chier charg. En mode tour (lathe), la forme de loutil charg est visible. F IGURE 3.8 Forme doutil visible en mode tour

3.11
3.11.1

Conguration avance dAXIS


Filtres de programme

AXIS a la capacit denvoyer des chiers chargs travers un ltre de programme . Ce ltre peut faire diverses tches : Simple, comme sassurer que le programme se termine bien par un : M2 ou complexe, comme dtecter que lentre est une image et gnrer le g-code qui permettra dusiner sa forme. La section [FILTER] du chier ini dni comment les ltres doivent agir. Premirement, pour chaque type de chier, crire une ligne : PROGRAM_EXTENSION puis, spcier le programme excuter pour chaque type de chier. Ce programme reoit comme argument le nom du chier dentre, il doit produire le code selon le standard rs274ngc, en sortie. Les lignes de cette sortie safchent alors dans la zone texte, le parcours doutil rsultant est visible dans la zone graphique, enn il sera excut quand emc recevra la commande Excuter le programme . Les lignes suivantes fournissent la possibilit dutiliser image-to-gcode , le convertisseur dimages fourni avec EMC2 : [FILTER]

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS PROGRAM_EXTENSION = .png,.gif Greyscale Depth Image png = image-to-gcode gif = image-to-gcode Il est galement possible de spcier un interprteur : PROGRAM_EXTENSION = .py Python Script py = python

27

De cette manire, nimporte quel script Python pourra tre ouvert et sa sortie traite comme du g-code. Un autre exemple est disponible dans : nc_files/holecircle.py. Ce script cre le g-code pour percer une srie de trous suivant un arc de cercle. F IGURE 3.9 Perages circulaires

Si la variable denvironnement : AXIS_PROGRESS_BAR est active, alors les lignes seront crites sur stderr de la forme : FILTER_PROGRESS=%d AXIS xera la barre de progression selon le pourcentage donn. Cette fonction devrait tre utilise pour un ltre qui fonctionne sufsamment longtemps.

3.11.2

La base de donnes des ressources X

Les couleurs de la plupart des lments de linterface utilisateur dAXIS peuvent tre personnalises grce la base de donnes X. Le chier : axis_light_background modie les couleurs de la fentre du parcours doutil sur le modle lignes noires et fond blanc , il sert aussi de rfrence des lments congurables dans lcran graphique.

CHAPITRE 3. LINTERFACE GRAPHIQUE AXIS

28

Pour plus dinformations au sujet des lments congurables dans les applications Tk, rfrez vous aux manuels de Tk. Les bureaux graphiques modernes effectuent certains rglages dans la base de donnes des ressources X ces rglages peuvent affecter ceux dAXIS, par dfaut ces rglages sont ignors. Pour que les lments des ressources X crasent ceux par dfaut dans AXIS, il faut inclure cette ligne dans vos ressources X : *Axis*optionLevel: widgetDefault ce qui entranera la construction des options au niveau widgetDefault , de sorte que les ressources X (qui sont elles, au niveau userDefault ) puissent lemporter.

3.11.3

Manivelle de jog

Pour accrotre linteraction dAXIS avec une manivelle de jog physique, laxe actif courant slectionn dans linterface graphique est aussi report sur une pin Hal avec un nom comme axisui.jog.x. Except pendant un court instant aprs que laxe courant ait chang, une seule de ces pins la fois est TRUE, les autres restent FALSE. Aprs quAXIS ait cr ces HAL pins , il excute le chier hal dclar avec : [HAL]POSTGUI_HALFILE. Ce qui diffre de [HAL]HALFILE, qui lui ne sutilise quune seule fois.

3.11.4

~/.axisrc

Si il existe, le contenu de : ~/.axisrc est excut comme un code source Python juste avant louverture de linterface graphique dAXIS. Les dtails de ce qui peut tre crit dans .axisrc sont sujets changement durant le cycle de dveloppement. Les lignes visibles sur la gure 3.10 ajoutent un Ctrl+Q comme raccourci clavier pour Quitter et activer loption Distance restante par dfaut. F IGURE 3.10 Exemple de chier .axisrc root_window.bind("<Ctrl+q>", "destroy .") help2.append(("Ctrl+Q", "Quitter")) vars.show_distance_to_go.set(1)

3.11.5

Editeur externe

En dnissant : [DISPLAY]EDITOR, les options de menu : Fichier > Editer ainsi que Fichier > Editer la table doutils, deviennent accessibles. Deux valeurs qui marchent bien : EDITOR=gedit et EDITOR=gnome-terminal -e vim.

3.11.6

Panneau de contrle virtuel

AXIS peut afcher le chier xml pyVCP dans le panneau droit de linterface.

Chapitre 4

Linterface TkEMC
4.1 Introduction

TkEMC est linterface utilisateur graphique la plus populaire aprs Axis, cest linterface traditionelle dEMC. Elle est crite en Tcl et utilise le toolkit Tk pour lafchage. Le fait dtre crite en TCL la rend vraiment trs portable (elle fonctionne sur une multitude de plateformes).

4.2

Utiliser TkEMC

Pour slectionner linterface graphique TkEMC avec EMC2, diter le chier .ini et dans la section [DISPLAY] modier lafchage comme ci-dessous : DISPLAY = tkemc Puis, lancer EMC2 et choisir ce chier ini. La conguration qui se trouve dans sim/tkemc.ini est dj congure pour utiliser TkEMC comme interface utilisateur. Quand EMC2 est lanc avec TkEMC, une fentre comme celle de la gure 4.1 safche.

4.2.1

Une session typique avec TkEMC

1. Lancer EMC2 et slectionner un chier de conguration. 2. Librer l Arrt dUrgence et mettre la machine en marche (en pressant F1 puis F2). 3. Faire l Origine Machine de chacun des axes. 4. Charger un chier dusinage. 5. Brider le brut usiner sur la table. 6. Faire l Origine Pice de chacun des axes, laide du jog ou en introduisant une valeur de dcalage dorigine aprs un clic droit sur le nom dun axe. 7. Lancer le programme. 8. Pour refaire une autre pice identique, reprendre ltape 6. Pour usiner une pice diffrente, reprendre ltape 4. Quand cest termin, quitter EMC2.

29

CHAPITRE 4. LINTERFACE TKEMC

30

F IGURE 4.1 Lafchage de TkEMC

4.3

Elments afchs par TkEMC

La fentre TkEMC contient les lments suivants : Une barre de menu permettant diverses actions ; Un jeu de boutons pemettant dagir sur le mode de travail, Marche/Arrt de la broche et autres lments ; Une barre de status pour lafchage des diffrents offsets ; Une zne dafchage des coordonnes ; Un jeu de curseurs pour contrler la vitesse de jog , le Correcteur de vitesse davance et le Correcteur de vitesse broche qui permettent daugmenter ou de diminuer ces vitesses ; Une bote dentre de donnes manuelles ; Une barre de status afchant le bloc de programme actif, G-codes, M-codes, mots F et S ; Les boutons relatifs linterprteur ;

CHAPITRE 4. LINTERFACE TKEMC Une zne dafchage de texte montrant le G-code du programme charg.

31

4.3.1

Boutons principaux

Dans la premire ligne de la gauche vers la droite et cycliquement : 1. Marche Machine : Arrt dUrgence / Arrt dUrgence relch / Marche 2. Bascule brouillard 3. Broche moins vite 4. Direction de rotation de la broche Arrt broche / Broche sens horaire / Broche sens anti-horaire 5. Broche plus vite 6. Annuler puis dans la deuxime ligne : 1. Mode de marche : MANUEL / MDI / AUTO 2. Bascule darrosage 3. Bascule du contrle frein de broche

4.3.2

Barre de status des diffrents offsets

Elle afche, loffset de rayon de loutil courant (slectionn avec Txx M6), loffset ventuel de longueur doutil si il est actif et les offsets de travail (ajustables par un clic droit sur les coordonnes).

4.3.3

Zne dafchage des coordonnes

La partie principale afche la position courante de loutil. La couleur varie selon ltat de laxe. Si laxe nest pas rfrenc il est afch en caractres jaunes. Si il est rfrenc il safche en vert. Si il est en erreur, TkEMC lafche en rouge pour montrer un dfaut. (par exemple si un contact de n de course est activ). Pour interprter correctement les diffrentes valeurs, se rfrer aux boutons de droite. Si la position est Machine , alors la valeur afche est en coordonnes machine. Si elle est Relative , la valeur afche est en coordonnes pice. Deux autres en dessous indiquent actuel ou command . Actuel fait rfrence aux valeurs retournes par les codeurs (si la machine est quipe de servomoteurs) et command fait rfrence la position atteindre envoye aux moteurs. Ces valeurs peuvent diffrer pour certaines raisons : Erreur de suivi, bande morte, rsolution dencodeur ou taille de pas. Par exemple, si un mouvement est command vers X0.08 sur une fraiseuse, mais quun pas moteur fait 0.03, alors la position Commande sera 0.03 mais la position Actuelle sera soit 0.06 (2 pas) soit 0.09 (3 pas). Deux autres boutons permettent de choisir entre la vue Jointure et la vue Global . Cel a peu de sens avec les machines de type normal (cinmatiques triviales), mais se rvle trs utile sur les machines avec des cinmatiques non triviales telles que les robots ou plateforme de Stewart. (Des informations plus compltes se trouvent dans le manuel de lintgrateur). 4.3.3.1 Parcours doutil

Quand la machine se dplace, elle laisse un trac appel parcours doutil. La fentre dafchage du parcours doutil sactive via le menu Vues->Parcours doutil.

CHAPITRE 4. LINTERFACE TKEMC

32

F IGURE 4.2 Interprteur de TkEMC

4.3.4
4.3.4.1

Contrle en automatique
Boutons de contrle

Les boutons de contrle de la partie infrieure de TkEMC, voir la gure 4.2, sont utiliss pour lexcution du programme : Ouvrir pour charger un chier, Vrier pour vrier si il contient des erreurs, Lancer pour commencer lusinage, Pause pour pour stopper temporairement lusinage, Reprise pour reprendre un programme mis en pause, Pas pas pour avancer dune seule ligne de programme et Arrt optionnel pour basculer larrt optionnel, si ce bouton est vert lexcution du programme est stoppe quand un code M1 est rencontr. 4.3.4.2 Zne texte dafchage du programme

Quand un programme est lanc, la ligne courante est afche en surbrillance blanche. Lafchage du texte dle automatiquement pour montrer la ligne courante.

4.3.5
4.3.5.1

Contrle en manuel
Touches implicites

TkEMC permet les dplacements manuels de la machine. Cette action sappelle le jogging . Premirement, slctionner laxe dplacer en cliquant dessus. Puis, cliquer et maintenir les boutons + ou - selon la direction du mouvement souhat. Les quatres premiers axes peuvent aussi tre dplacs laide des touches ches pour les axes X et Y, Pg.prc et Pg.suiv pour laxe Z et les touches [ et ] pour laxe A. Si Continu est activ, le mouvement sera continu tant que la touche sera presse, si une valeur dincrment est slectionne, le mobile se dplacera exactement de cette valeur chaque appui sur la touche ou chaque clic. Les valeurs disponibles sont : 1.0000 0.1000 0.0100 0.0010 0.0001 En cliquant le bouton Origine ou en pressant la touche Origine, laxe actif est rfrenc sur son origine machine. Selon la conguration, la valeur de laxe peut tre simplement mise la position absolue 0.0, ou la machine peut se dplacer vers un point spcique matrialis par le contact dorigine . Voir le manuel de lintgrateur pour plus de dtails sur les prises dorigine. En cliquant le bouton Dpassement de limite , la machine permet un jog temporaire pour mme si laxe franchi une limite daxe xe dans le chier .ini. Noter que si Dpassement de limite est activ il safche en rouge. 4.3.5.2 Le groupe de boutons Broche

Le bouton central du dessus slectionne le sens de rotation de la broche : Anti-horaire, Arrt, Horaire. Les boutons chs augmentent ou diminuent la vitesse de rotation. Le bouton central du dessous permet dengager ou de relcher le frein de broche. Selon la conguration de la machine, les items de ce groupe ne sont peut tre pas tous visibles.

CHAPITRE 4. LINTERFACE TKEMC

33

F IGURE 4.3 Exemple de dpassement de limite et incrments de jog

4.3.5.3

Le groupe de boutons Arrosage

Ces deux boutons permettent dactiver ou non les lubriants brouillard et Arrrosage . Selon la conguration de la machine, les items de ce groupe ne sont peut tre pas tous visibles.

4.3.6

Entre manuelle de G-code (MDI)

Lentre manuelle de donnes (aussi appele MDI), permet dentrer et dexcuter des lignes de Gcode, une la fois. Quand la machine nest pas en marche ni mise en mode MDI, lentre de code nest pas possible. F IGURE 4.4 Le champ de saisie des entres manuelles

4.3.6.1

MDI :

Le mode MDI permet dexcuter une commande en G-code en pressant la touche Entre . 4.3.6.2 G-Codes actifs

Ce champs montre les codes modaux actuellement actifs dans linterprteur. Par exemple, G54 indique que le systme de coordonnes courant est celui de G54 et quil sapplique toutes les coordonnes entres.

4.3.7

Vitesse de Jog

En dplaant ce curseur, la vitesse de jog peut tre modie. Le nombre indique une vitesse en units par minute. Le champs de texte est cliquable. Un clic ouvre un dialogue permettant dentrer un nombre.

CHAPITRE 4. LINTERFACE TKEMC

34

4.3.8

Correcteur de vitesse davance travail

En dplaant ce curseur, la vitesse davance travail peut tre modie. Par exemple, si la vitesse davance travail du programme est F600 et que le curseur est plac sur 120%, alors la vitesse davance travail sera de 720. Le champs de texte est cliquable. Un clic ouvre un dialogue permettant dentrer un nombre.

4.3.9

Correcteur de vitesse de broche

Le fonctionnement de ce curseur est le mme que celui de la vitesse davance, mais il contrle la vitesse de rotation de la broche. Si le programme demande S500 (broche 500 tr/mn) et que le curseur est plac sur 80%, alors la vitesse de broche rsultante sera de 400 tr/mn. Le minimum et le maximum pour ce curseur sont dnis dans le chier ini. Par dfaut le curseur est plac sur 100%. Le champs de texte est cliquable. Un clic ouvre un dialogue permettant dentrer un nombre.

4.4

Raccourcis clavier

La plupart des actions de TkEMC peuvent tre accomplies au clavier. Beaucoup des raccourcis clavier ne sont pas accessibles en mode MDI. Les raccourcis clavier les plus frquamment utiliss sont montrs dans la table 4.1. T ABLE 4.1 Les raccourcis clavier les plus utiliss Touche Action F1 Bascule de lArrt dUrgence F2 Marche/Arrt machine , 1 .. 9, 0 Correcteur vitesse davance 0% 100% X, Active le premier axe Y, 1 Active le deuxime axe Z, 2 Active le troisime axe A, 3 Active le quatrime axe Origine POM de laxe actif Gauche, Droite Jog du premier axe Haut, Bas Jog du deuxime axe Pg.prec, Pg.suiv Jog du troisime axe [, ] Jog du quatrime ax Echap Arrte lexcution

Chapitre 5

Linterface MINI
5.1 Introduction 1

F IGURE 5.1 Linterface graphique Mini Mini a t prvu pour tre une interface graphique plein cran. Il a t crit initialement pour Sherline CNC mais est disponible pour ceux qui veulent lutiliser, le copier le distribuer selon les termes de la GPL. Au lieu douvrir une nouvelle fentre pour chaque chose que loprateur veux faire, Mini permet de les afcher toutes dans la mme fentre. Certaines parties de ce chapitre sont des copies des instructions crites par Joe Martin et Ray Henry.
1. Much of this chapter quotes from a chapater of the Sherline CNC operators manual.

35

CHAPITRE 5. LINTERFACE MINI

36

5.2

Lcran

F IGURE 5.2 Afchage de Mini lors du fonctionnement dEMC Lcran de Mini est visible dans plusieurs sections, voir la gure5.1. Il inclu une barre de menu, un jeu de boutons de contrle juste en dessous et deux larges colonnes dinformation montrant ltat de la machine et permettant loprateur dentrer des commandes ou des programmes. Quand on compare entre la gure5.1 et la gure 5.2 des diffrences apparaissent. Dans la seconde gure : Chaque axe a t rfrenc sur son origine Lafchage est vert sombre EMC est en mode auto le bouton est vert clair Le parcours doutil a t activ le parcours est visible dans la fentre Le bloc de G-code en cours est en surbrillance blanche sur fond rouge parmi les lignes dlantes du programme. Ds le dbut de lutilisation de Mini on dcouvre combien il est facile de visualiser le fonctionnement dEMC et dagir sur lui.

5.3

Barre de menu

La premire ligne est occupe par la barre de menu. Elle permet de congurer les informations optionnelles que lcran doit afcher. Certains des items du menu sont trs diffrents de ce quil est coutume de rencontrer avec dautres programmes. Il faut prendre quelques minutes pour regarder chaque item du menu et se familiariser avec les possibilits quil offre. Le menu inclus chacune des sections et sous-sections suivantes : Programme ce menu inclus les deux fonctions reset et quitter . Reset renvoie EMC dans ltat dans lequel il tait quand il dmarr. Certains items de conditions de dmarrage comme les units du programme peuvent tre spcis dans le chier ini. Vues ce menu inclus plusieurs lments dafchage pouvant tre ajouts pendant quun programme sexcute, pour donner des information supplmentaires. Ce qui inclus :

CHAPITRE 5. LINTERFACE MINI

37

Type_de_position cet item ajoute une ligne, au dessus de lafcheur principal de position, qui indique si la position afche est en coordonnes machine (absolues) ou en coordonnes pice (relatives), si la position afche est actuelle ou commande et si lunit et le pouce le millimtre. Ce qui peut tre modi en agissant sur le menu Rglages dcrit plus loin. Informations_outil cet item ajoute une ligne immdiatement sous lafcheur principal, elle afche quel outil est selectionn et la valeur de loffset appliqu. Informations_offset ajoute une ligne immdiatement sous celle des informations outil, elle afche les offsets de travail actuellement appliqus. Cest la distance totale pour chaque axe depuis son point dorigine machine. Afcher_Reprise ajoute, en mode Auto, un bloc de boutons en bas droite de lafchage du programme. Ces boutons permettent loprateur de relancer un programme aprs un A/U ou un Abandon. Le programme est g lorsquun A/U ou un Abandon est engag, mais loprateur peut ici choisir le bloc sur lequel redmarrer dans le mode Auto, en activant cet item de menu. Masquer_Reprise enlve le bloc de boutons contrlant la reprise dun programme stopp par Abandon ou Arrt dUrgence. Diviser_la_vue_droite modie la nature de lafchage de la colonne de droite pour quil montre plus dinformations. Afcher_en_mode_complet modie lafchage de la colonne de droite, soit en mode boutons et la colonne divise, soit afchage sur la colonne entire. En mode manuel et en utilisant ce mode entier, les boutons de la broche et du lubriant sont visibles en plus des boutons de mouvement. Afcher_dans_toute_la_fentre modie lafchage dans la colonne de droite pour quelle soit remplie entirement. Rglages Les items de ce menu permettent loprateur de contrler certains paramtres en cours dusinage. Position_Actuelle rgle lafcheur principal sur des valeurs de position actuelle (bases sur la machine). Position_Commande rgle lafcheur principal sur des valeurs de position commande (positions cibles). Position_Machine rgle lafcheur principal sur des valeurs de position absolue, distance depuis le point dorigine machine. Position_Relative rgle lafchage principal pour quil afche les valeurs de la position courante en incluant tous les offsets comme les origines pices qui seraient actives. Pour plus de dtails voir le chapitre sur les Systmes de coordonnes . Informations Indique diverses activits en afchant des valeurs dans la zne MESSAGES. Fichier_programme Indique le nom du chier programme actif. Editeur_de_Fichiers Indique le nom de lditeur de texte lanc quand un chier est choisi pour tre dit. Fichier_de_paramtres Indique le nom du chier devant tre utilis pour enregistrer les paramtres du programme. Il est possible davoir plus dinformations dans le chapitre sur les offsets et lutilisation des paramtres dans les programmes. Fichiers_doutils Indique le nom du chier doutils utilis pour lusinage en cours. G-Codes_actifs Indique la liste des G-codes modaux actifs au moment ou cet item a t slectionn. Pour plus dinformations sur les codes modaux, se reporter aux chapitres sur la programmation. Aide Ouvre une fentre de texte contenant un chier daide. Noter que entre le menu informations et le menu daide il y a un jeu de quatre cases cocher. Elles sont appeles cases slectionnables car elles passent au rouge si elles sont slectionnes. Ces quatre cases, Editeur, Parcours doutil, Outils et Offsets activent les diffrents crans. Si plus dune de ces cases est valide (case en rouge) il est possible de passer de lun lautre des crans surgissant par un clic droit de la souris.

CHAPITRE 5. LINTERFACE MINI

38

5.4

Barre de boutons de contrle

Sous la ligne de menu se trouve une ligne de boutons de contrle. Ce sont les boutons principaux de linterface. En utilisant ces boutons il est possible de changer de mode cycliquement entre MANUEL puis AUTO puis MDI (Manual Data Input). Ces boutons ont un fond vert clair quand le mode correspondant est actif. Il est galement possible dutiliser les boutons VITESSE-0 , ABANDON et A/U pour contrler les mouvements du programme.

5.4.1

MANUEL

Ce bouton, ou la touche F3 placent EMC en mode Manuel et afche un jeu condens de boutons que loprateur peut utiliser pour effectuer des commandes de mouvements manuels. Les labels des boutons de jog varient pour reter laxe actif. Quand en plus de ce mode manuel, la vue en mode complet est active, les boutons de la broche et du lubriant sont visibles en plus de ceux de mouvement. La touche i ou I basculera entre jog en continu et jog par incrments. Presser cette touche plusieurs fois provoquera le changement cyclique de la taille de lincrment de jog.

F IGURE 5.3 Boutons du mode Manuel Un bouton t ajout pour dsigner la position actuelle comme tant la position dorigine. Une machine simple telle que la Sherline 5400 serait facile utiliser sans avoir de position dorigine. Ce bouton met les offsets de tous les axes zro et place lorigine de tous les axes au point courant. Ce concentrer sur les axes est important ici. Noter que sur la capture 5.1 qui est en mode manuel, on voit un cadre autour de laxe X pour mettre son afchage en vidence. Ce cadre (le focus) indique que laxe X est laxe actif. Il est laxe cible pour les mouvements de jog faits par appui sur les boutons plus ou moins. Il est possible de changer laxe actif en cliquant sur lafchage dun autre axe. Cest galement possible en mode manuel en pressant la touche de son nom sur le clavier. La casse na pas dimportance Y ou y donneront le focus laxe Y. A ou a le donneront laxe A. Pour aider se rappeller quel est laxe actif avant de faire un jog, son nom est indiqu sur les boutons de jog. EMC peut faire un jog (mouvement dun axe particulier) aussi longtemps que le bouton est maintenu press, si le jog est rgl sur continu, ou il peut se dplacer dune valeur prdnie, quand il est rgl sur incrments. Il est aussi possible de faire un jog de laxe actif en pressant les touches + ou moins - du clavier. De nouveau, la casse na pas dimportance pour les jogs au clavier. Les deux petits boutons situs entre les deux gros du jog, permettent de choisir quel type de jog est souhat. Quand on est en mode incrments, les boutons de taille dincrments sont accessibles. La slection dune taille dincrment se fait par clic sur la case cocher avec la souris ou cycliquement en pressant la touche i ou I sur le clavier. Le jog par incrments prsente quelques effets intressants autant quinattendus. Si vous pressez le bouton de jog alors quun mouvement de jog est dj en cours, la distance laquelle il tait lorsquest arrive la commande du second jog, sera ajoute la position. Deux pressions successives rapides de 10mm

CHAPITRE 5. LINTERFACE MINI dincrment ne donneront pas 20mm de mouvement. Vous devez attendre que le premier soit termin avant denvoyer le second. La vitesse de jog est afche au dessus du curseur. Il est possible de rgler le curseur en cliquant dans la glissire du curseur, du ct o vous voulez son dplacement, ou en cliquant sur les boutons Dfault ou Rapide . Ces rglages naffectent que les mouvements de jog en mode manuel. Tant quun mouvement de jog est en cours, un changement de la vitesse de jog est sans effet sur le jog. Par exemple, disons que vous avez rgl le jog par incrments de 10mm. Mme si vous pressez le bouton Jog , le dplacement de dix millimtres se nira la vitesse laquelle il a commenc.

39

5.4.2

AUTO

Quand le bouton Auto est press, ou F4 sur le clavier, EMC passe dans ce mode, un jeu de boutons traditionnels des oprations en auto est afch et une petite fentre textuelle souvre, montrant une partie du programme. Durant un usinage, la ligne active est afche en surbrillance blanche sur fond rouge. Dans le mode auto, beaucoup de touches sont lies aux contrles. Par exemple, les touches numrotes au dessus du clavier sont lies aux rglages du correcteur de vitesse davance travail. Le 0 lajuste 100%, le 9 lajuste 90% etc. Dautres touches fonctionnent de la mme manire quavec linterface TkEMC.

F IGURE 5.4 Mode Auto Le mode Auto nafche normalement pas les G-codes actifs ou modaux. Si loprateur veut les voir, il doit utiliser le menu Informations -> G-codes actifs et afcher ainsi la liste des codes modaux dans la zne de texte MESSAGES. Si un Arrt dUrgence ou un Abandon est press pendant un usinage, un jeu de boutons safche en bas et droite, ils permettent loprateur de dcaler la ligne de reprise vers lavant ou vers larrire. Si la ligne de reprise nest pas la dernire ligne active, elle sera mise en surbrillance blanche sur fond bleu. ATTENTION, une vitesse trs faible et un doigt coll sur le bouton de pause est prudent pendant toute reprise de programme ! Ce qui est le mieux avec une machine CNC, cest le mode auto. Le mode auto afche les fonctions typiques que tout le monde espre utiliser avec EMC. Au dessus de la fentre un jeu de boutons qui contrlent ce qui se passe en mode auto. En dessous, la fentre montrant la partie du programme en cours dexcution. Quand le programme est lanc, la ligne active safche en surbrillance blanche sur fond rouge. Les trois premiers boutons, Ouvrir , Lancer et Pause font ce que leurs noms indiquent. Pause stoppe le programme en cours dexcution l o il est. Le bouton suivant, Reprise , reprend le mouvement. Le rsultat est le mme si le bouton Vitesse-0 tait press au lieu du bouton Pause , le mouvement est stopp, Pas pas reprend aussi le mouvement, mais il ne continue que jusqu la n du bloc courant. Presser une nouvelle fois Pas pas excutera le mouvement du bloc suivant. Presser Reprise ce moment l et linterprteur reviendra en arrire lire et relancer le programme. La combinaison entre Pause et Pas pas marche un peu comme un seul bloc dans plusieurs interprteurs. Avec la diffrence que Pause ne laisse pas le mouvement se poursuivre jusqu la n du bloc courant. Le correcteur de vitesse davance travail peut se rvler trs pratique

CHAPITRE 5. LINTERFACE MINI pour sapprochez de la matire pour un premir usinage. Le placer sur 100% pour les dplacements rapides, le rgler sur 10% et basculez entre Vitesse-0 et 10% en utilisant le bouton Pause . Quand vous tes satisfait et que les choses se prsentent bien, pressez le zro la droite du neuf en haut du clavier, et cest parti. Le bouton Vrier passe le code dans linterprteur sans production de mouvements. Si Vrier trouve un problme il stoppe la lecture juste derrire le bloc posant problme et afche un message. La plupart du temps vous serez en mesure de rgler le problme avec votre programme par la lecture du message et en vriant la ligne de code en surbrillance dans la fentre du programme. Certains messages, toutefois, ne sont pas dun grand secours. Parfois vous devrez lire une ou deux lignes en avant de celle en surbrillance pour voir le problme. Occasionnellement le message fait rfrence quelque chose trs en avant de la ligne en surbrillance. Le plus souvent a se produit si vous oubliez de terminer votre programme par un code correct comme %, M2, M30, ou M60.

40

5.4.3

MDI

Le bouton MDI ou la touche F5 activent le mode dentre de donnes en manuel (Manual Data Input). Ce mode afche un simple champ de saisie dune ligne de texte et montre les codes modaux actuellement actifs dans linterprteur. Le mode MDI vous permet dentrer de simples blocs et de les faire excuter par linterprteur comme si ils taient une partie dun programme (Une sorte de programme dune seule ligne). Vous pouvez excuter des cercles, des arcs, des lignes et autres. Vous pouvez aussi mettre au point une ligne de programme en entrant cette ligne comme un seul bloc, attendre que le mouvement se termine et entrer le bloc suivant. Sous la fentre dentre, se trouve une liste des codes modaux courants. Cette liste peut tre trs pratique. Joublie parfois dentrer un G0 avant une commande de mouvement. Si rien ne se passe je regarde dans la liste si G80 est actif. G80 stoppe tous les mouvements. Si il y est je me rappelle de mettre un bloc comme G00 X0 Y0 Z0. Dans le MDI, vous entrez du texte depuis le clavier, ainsi toutes les touches principales ne fonctionnent pas comme raccourcis clavier pour les commandes machine. F1 engage lArrt dUrgence. Puisque les touches du clavier sont ncessaires la saisie du texte, beaucoup des raccourcis clavier disponibles en mode auto ne le sont pas ici.

5.4.4

VITESSE-0 CONTINUER

Vitesse-0 est une bascule. Quand EMC est prt pour excuter, ou quil excute une commande de mouvement, ce bouton afche son label VITESSE-0 sur fond rouge. Si Vitesse-0 a t press il afche le label CONTINUER . Utiliser ce bouton pour faire une pause dans un mouvement prsente lavantage dtre capable de relancer le programme do il a t stopp. Vitesse-0 bascule simplement entre vitesse zro et la vitesse davance travail avec lventuel correcteur qui tait actif au moment de larrt. Ce bouton et la fonction quil active sont galement lis la touche pause de la plupart des claviers.

5.4.5

ABANDON

Le bouton Abandon stoppe tous les mouvements quand il est press. Il dsactive aussi la commande de marche dEMC. Plus aucun mouvement ne survient aprs lappui sur ce bouton. Si vous tes en mode auto, ce bouton enlve le reste du programme du planicateur de mouvements. Il enregistre aussi le numro de la ligne qui sexcutait quand il a t press. Vous pouvez vous servir de ce numro de ligne pour redmarrer le programme aprs avoir supprim la raison de lappui...

CHAPITRE 5. LINTERFACE MINI

41

5.4.6

A/U

Le bouton dArrt dUrgence est une bascule mais il a trois fonctionnements possibles. Au dmarrage de Mini cest un bouton avec le texte A/U crit en noir sur fond rouge. Cest tat de la machine est correct pour charger un programme ou faire un jog sur un axe. LArrt dUrgence est libr quand il safche dans cet tat. Si vous pressez sur le bouton dArrt dUrgence pendant quun mouvement est excut, le texte sur le bouton devient A/U Engag sur fond gris et le bouton senfonce. Plus aucun mouvement nest possible et plus rien ne ragi sur linterface Mini tant que lArrt dUrgence est dans cet tat. Le presser nouveau la souris le fera repasser en conditions normales de fonctionnement. Un troisime tat est encore possible. Un bouton enfonc portant le texte A/U Libr sur fond vert signie que lA/U a bien t libr mais que la machine na pas t mise en marche. Normalement cet tat apparat quand lA/U tait libr mais que la touche Marche Machine F2 a t presse. Joe Martin disait, Quand tout le reste a chou, pressez un Arrt dUrgence software. Si vous avez un circuit externe qui gre lA/U en surveillant une broche du port parallle ou celle dune carte dentres/sorties, un arrt durgence software pourra couper la puissance sur les moteurs. La plupart du temps, quand un Abandon ou un Arrt dUrgence est engag cest parce que quelque chose se passe mal. Peut tre un outil cass et qui doit tre chang. On passe alors en mode manual et on arrte la broche, on change loutil et en supposant que sa longueur reste la mme, on est prt pour relancer le programme. Si on renvoie loutil la mme place ou il tait avant, EMC va fonctionner parfaitement. Il est aussi possible de se dplacer sur la ligne suivante ou prcdente de celle ou cest produit labandon. Si vous pressez le bouton Arrire ou Avant vous voyez une ligne en surbrillance bleue montrant lcart entre la ligne sur laquelle labandon sest produit (reste en surbrillance rouge) et la ligne laquelle EMC va redmarrer. En rchissant ce qui va se produire au moment de la reprise vous serez en mesure de placer larte de loutil l o la reprise pourra se faire de manire acceptable. Vous aurez peut tre solutionner certaines difcults comme celles cres par les compensations de rayon doutil le long dune ligne diagonale et vous devrez tre sr de vous avant de presser sur le bouton Reprise .

5.5

Colonne de gauche

Il y a deux colonnes sous la barre de contrle. La colonne de gauche afche les informations intressant loprateur. Il y a seulement deux boutons dans cette zne.

5.5.1

Afcheurs de position des axes

Ces afcheurs se comportent exactement comme ceux de TkeEMC. La couleur des afcheurs est importante. Rouge, elle indique que la machine est en appui sur un contact de n de course ou que la polarit dune limite est mal positionne dans le chier ini. Jaune, elle indique que la machine est prte pour faire ses prises dorigine. Verte, elle indique que la machine a bien t rfrence sur ses points dorigine. Le type de position afche peut varier, selon les options choisies dans le menus Rglages . Les rglages par dfaut, ou de dmarrage, peuvent tre changs dans le chier ini pour correspondre vos besoins.

5.5.2

Correcteur de vitesse travail

Immdiatement sous les afcheurs de position on trouve un curseur, cest le correcteur de vitesse travail. Vous pouvez agir sur le correcteur de vitesse et sur le bouton Vitesse-0 dans tous les modes

CHAPITRE 5. LINTERFACE MINI

42

de marche. Le correcteur agit sur la vitesse de jog et sur la vitesse davance travail dans les modes manuel ou MDI. Il est possible de modier la position du curseur en le dplaant la souris le long de sa glissire. Il est galement possible de modier le correcteur de 1% chaque fois quun clic de souris est fait dans la glissire du curseur. En mode Manuel il est possible dajuster le correcteur par incrments de 10% avec les touches chiffres du haut du clavier. Le curseur est une rfrence visuelle trs pratique pour estimer la correction applique sur la vitesse davance programme.

5.5.3

Messages

Lafchage des messages situ sous le curseur du correcteur de vitesse est une sorte de bloc-notes pour EMC. Si un problme survient, il est report sur ce bloc-notes. Si vous essayez de dplacer un axe alors que lArrt dUrgence est engag, vous recevez un message qui dit quelques choses propos des conditions de marche empchant EMC de rpondre la commande de mouvement. Si un axe est en dfaut, par exemple un dpassement de limite, le message afch sur le bloc-notes indiquera ce qui se passe. Pour demander loprateur de changer doutil par exemple, vous pouvez aussi ajouter une ligne de code dans le programme qui safchera sur lcran, dans la bote de messages. Un exemple pourrait tre : (msg, Montez loutil N3 puis pressez Reprise). Cette ligne de code, incluse dans un programme, va afcher Montez loutil N3 puis pressez Reprise dans la bote de messages. Le mot msg, (avec la virgule) est la commande qui fait apparatre le commentaire, sans msg, le message ne serait pas afch. Pour effacer les messages cliquer simplement sur le bandeau MESSAGES au dessus du bloc-notes ou au clavier, presser m tout en maintenant la touche Alt appuye.

5.6

Colonne de droite

La colonne de droite est lemplacement sur lequel seront afchs les diffrents lments rsultants des choix de lutilisateur. Cest ici que seront visibles les diffrentes entres de texte, les diffrents afchages et les boutons du mode manuel. Cest ici que le parcours doutil sera afch pendant lexcution dun programme. Cest galement ici que lditeur de texte souvrira pour permettre ldition des programmes, ldition des tables doutils ou doffsets. Lcran du mode manuel a dj t dcrit prcdemment. Chaque cran surgissant va tre dcrit en dtail ci-dessous.

5.6.1

Editeur de texte

F IGURE 5.5 Editeur de texte de Mini Lditeur de texte de Mini peut sembler un peu limit par rapport aux diteurs de texte modernes. Il a t inclus parce quil comporte lexcellente possibilit de numroter et renumroter un programme

CHAPITRE 5. LINTERFACE MINI

43

de la mme manire que linterprteur le fait avec un chier. Il permet galement le couper/coller dune partie vers une autre du chier. En plus, il permet denregistrer les changements faits dans le programme et de soumettre celui-ci linterprteur dEMC depuis le mme menu. Il est possible de travailler sur un chier ouvert dans cet diteur puis de lenregistrer et de le recharger si EMC est en mode Auto. Si vous avez lanc un chier et que vous avez besoin de lditer, ce chier sera plac dans lditeur quand vous cliquez sur le bouton Editeur du menu.

5.6.2

Parcours doutil

F IGURE 5.6 Parcours doutil de Mini Le bouton Parcours doutil du menu, afche un trac produit par le cheminement de loutil pendant lusinage. Cette trace est afchable selon plusieurs plans et en 3-D qui est le mode par dfaut. Les choix sont afchs au dessus et droite de cette fentre. Si lusinage est dj en cours depuis un certain temps quand cette fentre est active, il lui faudra un peu de temps pour recalculer la vue du parcours. Sur le ct droit de la fentre une petite pyramide graphique montre langle depuis lequel loprateur voit le trac du parcours doutil. En dessous, une srie de curseurs permettent de modier les angles et la taille de la vue. Il est possible de contrler les modications en regardant lattitude de la petite pyramide. Les modications ne prendront effet quaprs appui sur le bouton Rafrachir . Le bouton Reset efface toutes les traces du parcours afch et prpare la fentre pour un nouveau lancement du programme, il conserve toutefois les orientations et le niveau de zoom actuellement dnis. Si un parcours doutil est lanc avant quun programme ne soit dmarr, il va afcher quelques lignes de couleur pour indiquer le type de trac qui sera utilis. Une ligne verte reprsente un mouvement en vitesse davance rapide. Une ligne noire, un mouvement en vitesse davance travail. Une ligne bleue et une ligne rouge indiquent respectivement un arc en sens anti-horaire et un arc en sens horaire. Le trac du parcours doutil de Mini permet de zoomer et dorienter les vues du programme en cours dexcution mais il nest pas conu pour enregistrer un chemin doutil sur une longue priode de temps.

5.6.3

Page des outils

La page des outils permet dajuster la longueur et le diamtre des outils, ces valeurs deviennent effectives ds lappui sur la touche Entre . Il est ncessaire de dnir les paramtres des ou-

CHAPITRE 5. LINTERFACE MINI

44

tils avant de lancer le programme. Les offsets doutils ne peuvent pas tre modis une fois le programme dmarr ni quand il est en pause.

F IGURE 5.7 Afchage de la table doutils de Mini Les boutons Ajouter un outil et Enlever le dernier outil portent sur la n de la liste des outils de sorte que lajout doutils seffectuent vers le bas. Quand un nouvel outil est ajout, il est utilisable dans le programme avec la commande G-code habituelle. Le nombre maximum doutils est de 32 dans le chier de conguration dEMC mais vous serez arriv au bout des possibilits dafchage de Mini bien avant cel. A la place vous pouvez utiliser le menu -> Vues -> Afcher dans toute la fentre pour voir plus doutils si ncessaire.

5.6.4

Page des offsets

La page des offsets peut tre utilise pour afcher et ajuster les dcalages dorigine des diffrents systmes de coordonnes. Le systme de coordonnes est choisi dans la colonne de gauche, par slection dune case cocher. Quand un systme de coordonnes est choisi il est possible dentrer directement les valeurs ou de dplacer laxe une position dapprentissage. Il est galement possible

F IGURE 5.8 Mini Offset Display dutiliser une pinnule puis dajouter le rayon et la longueur par le bouton Apprentissage . Pour cel, il peur tre ncessaire dajouter ou de soustraire le rayon de la pinnule selon la surface qui est touche. Cest la case cocher Soustraire ou Ajouter qui permet ce choix. Le bouton Tous les Gxx zro enlve tous les dcalages du systme courant visibles sur lcran mais ne modie pas les variables dans le chier tant que le bouton crire et recharger nest pas press. Le bouton crire et recharger est presser pour valider et recharger tous les changements effectus sur les valeurs des systmes de coordonnes.

5.7

Raccourcis clavier

Un certain nombre de raccourcis clavier utiliss avec TkEMC ont t conservs avec Mini. Quelques uns ont chang pour tendre leurs fonctions ou pour faciliter les oprations sur une machine utili-

CHAPITRE 5. LINTERFACE MINI

45

sant cette interface. Certaines touches oprent de la mme manire quelque soit le mode. Dautres change en fonction du mode de travail dEMC.

5.7.1

Touches courantes

Pause Bascule du correcteur de vitesse travail Echap Abandonne le mouvement F1 Bascule ltat de lArrt dUrgence F2 Marche/Arrt machine F3 Mode manuel F4 Mode Auto F5 Mode MDI F6 Rinitialise linterprteur Ces touches fonctionnent seulement pour une machine utilisant des entres sorties auxiliaires F7 Marche/Arrt du brouillard F8 Marche/Arrt arrosage F9 Marche/Arrt broche sens horaire F10 Marche/Arrt broche sens anti-horaire F11 Diminue la vitesse de broche F12 Augmente la vitesse de broche

5.7.2

Mode Manuel

1-9 0 Positionne le correcteur de vitesse davance travail de 10% en 10%, de 0 100% ~ Positionne le correcteur de vitesse 0 x Slectionne laxe X y Slectionne laxe Y z Slectionne laxe Z a Slectionne laxe A b Slectionne laxe B c Slectionne laxe C Gauche Droite jog de laxe X Haut Bas jog de laxe Y Pg.prc Pg.suiv jog de laxe Z - _ jog de laxe actif dans la direction moins + = jog laxe actif dans la direction plus Origine POM de laxe actif i I Bascule cyclique des incrments de jog Les touches suivantes ne fonctionnent que sur les machines utilisant des entres sorties auxiliaires b Relcher le frein de broche Alt-b Engager le frein de broche

CHAPITRE 5. LINTERFACE MINI

46

5.7.3

Mode Auto

1-9,0 Positionne le correcteur de vitesse davance travail de 10% en 10%, de 0 100% ~ Positionne le correcteur de vitesse 0 o/O Ouvre un programme r/R Lance le programme ouvert p/P Met le programme en pause s/S Reprise dun programme en pause a/A Avance dune ligne dans un programme en pause

5.8

Divers

Une des possibilits de Mini est dafcher nimporte quel axe, au del de 2, comme tant un axe rotatif, il afche alors des degrs pour celui-ci. Il converti galement les units en degrs quand un axe rotatif a le focus.

Chapitre 6

Linterface KEYSTICK
6.1 Introduction

F IGURE 6.1 Linterface utilisateur minimale Keystick est une interface minimaliste textuelle.

6.2

Installation

Pour utiliser keystick modier la section DISPLAY du chier ini de la manire suivante : [DISPLAY] DISPLAY = keystick

47

CHAPITRE 6. LINTERFACE KEYSTICK

48

6.3

Utilisation

Keystick est extrmement simple utiliser. Dans le mode MDI vous pouvez directement taper le G-code et il sera visible dans la partie suprieur. La touche ? bascule avec ou sans aide.
1

1. ndt : keystick a t conu pour tre minimaliste, par consquent son interface nest pas traductible.

Troisime partie

Lutilisation dEMC2

49

Chapitre 7

Vue densemble dun centre dusinage


Cette section donne une brve description des interactions entre les organes dun centre dusinage et son interprteur de commandes. Le lecteur est sens tre dj familier avec les centres dusinage. Le langage RS274/NGC et les fonctions dusinage standards qui en dcoulent permettent denvisager un centre dusinage sous deux points de vue : (1) les composants mcaniques de la machine. (2) les composants de contrle et les donnes utilises pour le contrle de la machine.

7.1

Composants mcaniques

Un centre dusinage dispose de beaucoup de composants mcaniques pouvant tre contrls ou qui peuvent avoir une incidence sur la faon dont le contrle de la machine seffectue. Cette section dcrit les composants qui interagissent avec linterprteur. Les composants mcaniques, qui ninteragissent pas avec linterprteur, comme les boutons du jog, ne seront pas dcrits ici, mme si ils affectent le contrle.

7.1.1

Axes

Tout centre dusinage dispose dun ou de plusieurs axes. Les diffrents types de machines ont diffrentes combinaisons daxes. Par exemple, une fraiseuse 4 axes peut avoir la combinaison daxes XYZA ou XYZB. Un tour classique aura les axes XZ. Une machine de dcoupe l chaud aura les axes XYUZ. 1 2 7.1.1.1 Axes linaires primaires

Les axes X, Y et Z produisent des mouvements linaires dans trois directions, mutuellement orthogonales.
1. Si le mouvement des composants mcaniques nest pas indpendant, comme sur une machine hexapode, le langage RS274/NGC et les fonctions standards seront quand mme utilisables, tant que le contrle de bas niveau sait comment contrler les mcanismes actuels pour produire le mouvement relatif de loutil et de la pice qui auraient t produits par des axes indpendants. Cest appel, la cinmatique. 2. Avec EMC, le cas de la machine portique XYYZ avec deux moteurs pour un axe est mieux trait par la cinmatique que par un axe linaire supplmentaire.

50

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE 7.1.1.2 Axes linaires secondaires

51

Les axes U, V et W produisent des mouvements linaires dans trois directions mutuellement orthogonales. Habituellement, X et U sont parallles, Y et V sont parallles et Z et W sont parallles. 7.1.1.3 Axes rotatifs

Les axes A, B et C produisent des mouvements angulaires (rotations). Habituellement, laxe de rotation de A est parallle X, laxe de rotation de B est parallle Y et laxe de rotation de C est parallle Z.

7.1.2

Broche

Un centre dusinage est quip dune broche qui maintient un outil coupant, un palpeur ou dautres outils. La broche peut tourner dans les deux sens. Elle peut tre conue pour tourner vitesse constante mais rglable. Except sur les machines dont la broche est monte sur un axe rotatif, laxe de la broche est maintenu parallle laxe Z et il est concident avec laxe Z quand X et Y sont zro. La broche peut tre stoppe sur une position xe ou non.

7.1.3

Arrosages

Un centre dusinage peut tre quip dun composant fournissant larrosage fuide ou en brouillard.

7.1.4

Chargeur de pices

Un centre dusinage peut tre quip dun systme de chargement des pices. Le systme se compose de deux porte-pices sur lesquels sont xs les bruts des pices usiner. Un seul porte-pice la fois est en position dusinage.

7.1.5

Carrousel doutils

Un centre dusinage peut tre quip dun carrousel doutils dans lequel sont rangs les outils dj monts dans leurs porte-outils.

7.1.6

Changeur doutil

Un centre dusinage peut tre quip dun mcanisme de changement doutils (xs dans les porteoutils) entre le carrousel doutils et la broche.

7.1.7

Visu des messages

Un centre dusinage est quip dune visualisation capable dafcher les messages pour loprateur.

7.1.8

Correcteurs de vitesse davance et de broche

Un centre dusinage est quip de boutons de rglage de la vitesse davance et de la vitesse de rotation de la broche, ils laissent loprateur corriger les vitesses ncessaires pour la broche et lavance travail, il peut ainsi augmenter ou rduire les vitesses programmes.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

52

7.1.9

Bouton deffacement de block

Un centre dusinage peut tre quip dun bouton deffacement de block. Voir la section 7.3.2.

7.1.10

Bouton darrt optionnel du programme

Un centre dusinage peut tre quip dun bouton darrt du programme. Voir la section 7.3.3.

7.2
7.2.1

Composants de contrle et de donnes


Axes linaires

Les axes X, Y et Z forment un systme de coordonnes orthogonales standard. La position dun axe sexprime en utilisant ses coordonnes. Les axes U, V et W forment galement un systme de coordonnes standard. X et U sont parallles, Y et V sont parallles enn Z et W sont parallles.

7.2.2

Axes rotatifs

Les axes rotatifs se mesurent en degrs. Leur sens de rotation positif est le sens anti-horaire quand lobservateur est plac face laxe. 3

7.2.3

Point contrl

Le point contrl est le point dont la position et la vitesse de dplacement sont contrls. Quand la compensation de longueur doutil est zro (valeur par dfaut), cest un point situ sur laxe de la broche et proche de la n de celle-ci. Cette position peut tre dplace le long de laxe de la broche en spciant une compensation de longueur doutil. Cette compensation correspond gnralement la longueur de loutil coupant courant. Ainsi, le point contrl est la pointe de loutil. Sur un tour, les correcteurs doutil peuvent tre spcis pour les axes X et Z, le point contrl est la pointe de loutil ou (correction du rayon de bec) lgrement en retrait du point dintersection des droites perpendiculaires formes par laxe des points de tangence la pice, de face et sur le ct de loutil.

7.2.4

Mouvement linaire coordonn

Pour mener un outil sur une trajectoire spcie, un centre dusinage doit coordonner les mouvements de plusieurs axes. Nous utilisons le terme mouvement linaire coordonn pour dcrire une situation dans laquelle, nominalement, chacun des axes se dplace vitesse constante et tous les axes se dplacent de leur point de dpart leur point darrive en mme temps. Si deux des axes X, Y, Z (ou les trois) se dplacent, ceci produit un mouvement en ligne droite, do le mot linaire dans le terme. Dans les vritables mouvements, ce nest souvent pas possible de maintenir la vitesse constante cause des acclrations et dclrations ncessaires en dbut et n de mouvement. Cest faisable, cependant, de contrler les axes ainsi, chaque axe doit en permanence faire la mme fraction du mouvement requis que les autres axes. Ceci dplace loutil le long du mme parcours et nous appelons aussi ce genre de mouvement, mouvement linaire coordonn. Un mouvement linaire coordonn peut tre excut soit en vitesse travail, soit en vitesse rapide, ou il peut tre synchronis la rotation de la broche. Si les limites physique de laxe rendent le dplacement impossible, tous les axes seront ralentis pour maintenir le chemin prvu.
3. Si les paralllismes sont particuliers, le constructeur du systme devra indiquer quels sens de rotation correspondent horaire et anti-horaire.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

53

7.2.5

Vitesse

La vitesse laquelle le point contrl se dplace est ajustable par loprateur. Sauf cas particulier, (vitesse inverse du temps, vitesse par tour, voir la section 12.28) , dans linterprteur, linterprtation des vitesses est la suivante : 1. Si le dplacement concerne un des axes XYZ, F est en units machine par minute dans le systme Cartsien XYZ et les mouvements des autres axes (UVWABC) sont galement dans un mme mode de coordonnes. 2. Autrement, si le dplacement concerne un des axes UVW, F est en units machine par minute dans le systme Cartsien UVW, tous les autres axes (ABC) se dplacent dans un mme mode de coordonnes. 3. Autrement, le mouvement est purement rotatif et le mot F est en units de rotation dans le systme pseudo-Cartsien ABC.

7.2.6

Arrosage

Arrosage uide ou brouillard (gouttelettes) peuvent tre activs sparment. Le langage RS274/NGC les arrte ensemble (voir la section 13.4).

7.2.7

Temporisation

Une temporisation peut tre commande (ex : pour immobiliser tous les axes) pendant une dure spcique. La broche nest pas arrte pendant une temporisation ! Sans soccuper du mode de contrle de trajectoire (voir la section 7.2.15) la machine sarrtera exactement la n du dernier mouvement avant la temporisation.

7.2.8

Units

Les units utilises pour les distances le long des axes X, Y et Z peuvent tre les pouces ou les millimtres. La vitesse de rotation de la broche est en tours par minute. Les positions des axes rotatifs sont exprimes en degrs. Les vitesses davance sont exprimes en units machine par minute ou en degrs par minute ou en units de longueur par tour de broche, comme dcrit dans la section 7.2.5.

7.2.9

Position courante

Le point contrl est toujours un emplacement appel la "position courante, et le contrleur sait toujours o est cette position. Les valeurs reprsentant la position courante doivent tre ajustes en labsence de tout mouvement des axes si un de ces vnements a lieu : 1. Les units de longueur ont chang. 2. La compensation de longueur doutil a chang. 3. Le dcalage dorigine a chang.

7.2.10

Choix du plan de travail

Il y a toujours un plan slectionn, qui doit tre le plan XY, le plan YZ, ou le plan XZ de la machine. Laxe Z est, bien sr, perpendiculaire au plan XY, laxe X perpendiculaire au plan YZ et laxe Y perpendiculaire au plan XZ.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

54

7.2.11

carrousel doutils

Aucun ou un outil est assign chaque emplacement dans le carrousel.

7.2.12

Changeur doutil

Un centre dusinage peut commander un changeur doutils.

7.2.13

Chargeur de pice

Les deux porte-pices peuvent tre intervertis par commande.

7.2.14

Boutons des correcteurs de vitesses

Les boutons des correcteurs de vitesses peuvent tre activs (ils fonctionnent normalement) ou rendus inoprents (Ils nont plus aucun effet). Le langage RS274/NGC dispose dune commande qui active tous les boutons et une autre qui les dsactive (voir la section 13.5). Voir la section 7.3.1 pour dautres dtails.

7.2.15

Modes de contrle de trajectoire

La machine peut tre place dans un de ces trois modes de contrle de trajectoire : (1) mode arrt exact, (2) mode trajectoire exacte ou (3) mode trajectoire continue avec tolrance optionnelle. En mode arrt exact, le mobile sarrte brivement la n de chaque mouvement programm. En mode trajectoire exacte, le mobile suit la trajectoire programme aussi prcisment que possible, ralentissant ou sarrtant si ncessaire aux angles vifs du parcours. En mode trajectoire continue, les angles vifs du parcours peuvent tre lgrement arrondis pour que la vitesse soit maintenue (sans dpasser la tolrance, si elle est spcie). Voir la section 12.20.

7.3

Interaction de linterprteur avec les boutons

Linterprteur interagit avec plusieurs boutons de commande. Cette section dcrit ces interactions plus en dtail. En aucun cas linterprteur ne connait ce que sont les rglages de ces boutons.

7.3.1

Boutons de correction de vitesses

Linterprteur de commande RS274/NGC autorise (M48) ou interdit (M49) laction des boutons dajustement des vitesses. Pour certains mouvements, tels que la sortie de let la n dun cycle de letage, les boutons sont neutraliss automatiquement. EMC2 ragit aux rglages de ces boutons seulement quand ils sont autoriss.

7.3.2

Bouton deffacement de block Switch

Si le bouton Effacement de block est actif, les lignes de code RS274/NGC commenant par le caractre barre de fraction (caractre deffacement de block) ne sont pas interprtes. Si le bouton est dsactiv, ces mmes lignes sont interprtes. Normalement le bouton deffacement de block doit tre positionn avant de lancer le programme NGC.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

55

7.3.3 Bouton darrt optionnel du programme


Si ce bouton est actif et quun code M1 est rencontr, le programme est mis en pause.

7.4

Fichier doutils

Un chier doutils est requis par linterprteur. Le chier indique dans quels emplacements du carrousel sont placs les outils, la longueur et le diamtre de chacun des outils. Le chier est compos dun certain nombre de lignes den-tte, suivies par une ligne vide, suivie dun nombre quelconque de lignes de donnes. Les lignes den-tte sont ignores par linterprteur. Il est important quil y ait une ligne vide (sans espace ni tabulation), avant les donnes. La ligne den-tte montre dans ce tableau7.1, dcrit les colonnes de donnes, il est donc propos (mais pas obligatoire) que cette ligne soit toujours prsente. Chaque ligne de donnes du chier contient les donnes dun outil. La ligne peut contenir 4 ou 5 lments (format fraiseuse) ou 8 ou 9 lments (format tour). Les units utilises pour la longueur et le diamtre sont en units machine. Les lignes nont pas tre dans un ordre particulier. Permuter lordre des lignes est sans effet, sauf si le mme numro demplacement est utilis sur deux ou plusieurs lignes, ce qui ne devrait normalement pas tre fait, dans ce cas, seules les donnes de la dernire de ces lignes seront utilises. Dans emc2, lemplacement du chier doutils est spci dans le chier ini. Voir la section [EMCIO] du Manuel de lintgrateur pour plus de dtails. Un chier doutils peut tre un mlange de lignes au format fraiseuse et au format tour, bien que gnralement les lignes du style format tour soient seulement requises pour les outils de tour.

7.4.1

Fichier doutils au format fraiseuse

Le format fraiseuse dun chier doutils est visible dans le tableau 7.1. T ABLE 7.1 Exemple de chier doutils (format fraiseuse) Diamtre Commentaire 1.0 0.2 0.25 -0.3

Slot 1 2 5 10

FMS 1 2 5 10

TLO 2.0 1.0 1.5 2.4

coupe en bout tester

Chaque ligne comporte 5 lments. Les quatre premiers lments sont obligatoires. Le commentaire, plac en cinquime est facultatif. La lecture est rendue plus facile si les lments sont disposs en colonnes, comme dans le tableau ci-dessus, mais la seule exigence de forme, cest quil y ait au moins un espace ou une tabulation aprs chacun des trois premiers lments dune ligne, et une tabulation ou un saut de ligne la n des cinq lments. La signication des colonnes et le type de donnes mettre dans chacune sont les suivants : La colonne Slot contient un entier non sign reprsentant le numro demplacement dans le carrousel doutils (numro de slot) dans lequel cet outil est plac. Les lments de cette colonne doivent tre tous diffrents. La colonne FMS contient un entier non sign reprsentant le numro de code de loutil. Lutilisateur peut y placer nimporte quel code pour tous les outils, tant que les codes sont des entiers non signs. Cest en gnral le mme que celui de lemplacement.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

56

La colonne TLO contient un nombre rel reprsentant loffset de longueur doutil. Cette valeur sera utilise si la compensation de longueur doutil est active et que ce numro demplacement est choisi. Cest normalement un nombre rel positif, mais il peut tre mis zro ou tout autre valeur si il na pas tre utilis. La colonne Diamtre contient un nombre rel. Cette valeur est utilise seulement si la compensation de rayon doutil est active et que ce numro demplacement est choisi. Si la trajectoire programme avec la compensation est le bord du matriau usiner, ce devrait tre un nombre rel positif reprsentant le diamtre mesur de loutil. Si la trajectoire programme pendant la compensation est la trajectoire dun outil dont le diamtre est nominal, ce nombre devrait tre petit (positif, ngatif ou nul) et reprsenter la diffrence entre le diamtre mesur de loutil et le diamtre nominal. Si la compensation de rayon doutil nest pas utilise avec un outil, le contenu de cette colonne est sans effet. La colonne Commentaire est optionnelle, elle peut tre utilise pour dcrire loutil. Tout type de description convient. Cette colonne amliore la lisibilit du chier.

7.4.2

Fichier doutils au format tour

Le format tour dun chier doutils est visible dans le tableau7.2. T ABLE 7.2 Exemple de chier doutils (format tour) ZOFFSET XOFFSET DIA FRONTANGLE BACKANGLE ORIENTATION 0.0 0.5 0.0 0.5 0.1 0.1 95.0 120 155.0 60 1 6

Slot 1 2

FMS 1 2

Commentaire

Les champs Slot, FMS, DIA et Commentaire sont les mmes que dans un chier doutils de fraiseuse. La colonne ZOFFSET est la mme que la colonne TLO dun chier doutils de fraiseuse ; offset de longueur doutil. La colonne XOFFSET fournit loffset pour la coordonne X quand la compensation de longueur doutil est active. La colonne ORIENTATION donne lorientation de loutil de tour, comme illustr sur 7.1. La croix rouge correspond au point contrl. Voir 7.2.3. Les colonnes FRONTANGLE et BACKANGLE sont utilises par certaines interfaces utilisateur pour afcher une reprsentation de loutil de tour.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

57

F IGURE 7.1 Orientations des outils de tour

7.5

Paramtres

Dans le language RS274/NGC, le centre dusinage maintient un tableau de 5400 paramtres numriques. La plupart dentre eux ont un usage spcique. Le tableau de paramtres est persistant, mme quand la machine est mise hors tension. EMC2 utilise un chier de paramtres et assure sa persistance, il donne linterprteur la responsabilit dactualiser le chier. Linterprteur lit le chier quand il dmarre et lcrit juste avant de sarrter. Le format dun chier de paramtres est visible dans la table 7.4. Le chier est compos dun certain nombre de lignes den-tte, suivie par une ligne vide, suivie dun nombre quelconque de lignes de donnes. Les lignes den-tte sont ignores par linterprteur. Il est important quil y ait une ligne vide (sans espace ni tabulation), avant les donnes. La ligne den-tte montre dans ce tableau 7.4, dcrit les colonnes de donnes, il est donc propos (mais pas obligatoire) que cette ligne soit toujours prsente.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

58

T ABLE Numros de paramtre 5061-5070 5161-5169 5181-5189 5211-5219 5220 5221-5229 5241-5249 5261-5269 5281-5289 5301-5309 5321-5329 5341-5349 5361-5369 5381-5389 5399

7.3 Paramtres utiliss par linterprteur RS274NGC Signication Rsultats des mesures G38.2 G28 Origines machine G30 Origines pice G92 Dcalages dorigines Numro du systme de coordonnes Systme de coordonnes 1 Systme de coordonnes 2 Systme de coordonnes 3 Systme de coordonnes 4 Systme de coordonnes 5 Systme de coordonnes 6 Systme de coordonnes 7 Systme de coordonnes 8 Systme de coordonnes 9 Rsultat de M66 - Surveillance entre

Linterprteur lit seulement les deux premires colonnes du tableau. Il ignore la troisime colonne, Commentaire. Chaque ligne du chier contient le numro dindex dun paramtre dans la premire colonne et la valeur attribue ce paramtre, dans la deuxime colonne. La valeur est reprsente par une nombre ottant en double prcision lintrieur de linterprteur, mais le point dcimal nest pas exig dans le chier. Le format des paramtres visible dans le tableau 7.4 est obligatoire et doit tre utilis pour tous les chiers de paramtres, lexception des paramtres reprsentant une valeur sur un axe rotatif inutilis, qui peuvent tre omis. Une erreur sera signale si un paramtre requis est absent. Un chier de paramtres peut inclure tout autre paramtre, tant que son numro est compris dans une fourchette de 1 5400. Les numros de paramtre doivent tre disposs dans lordre crossant. Sinon, une erreur sera signale. Le chier original est copi comme chier de sauvegarde lorsque le nouveau chier est crit. Les commentaires ne sont pas conservs lorsque le chier est crit. T ABLE 7.4 Format dun chier de paramtres Commentaire G28 pom X G28 pom Y

Numro dindex 5161 5162

Valeur 0.0 0.0

7.6

Systmes de coordonnes

Dans le langage RS274/NGC, un centre dusinage dispose dun systme de coordonnes machine (absolues) et de 9 systmes de coordonnes programme (relatives). Vous pouvez dnir le dcalage dorigine de neuf systmes de coordonnes programme en utilisant G10 L2 Pn (n tant le numro du systme de coordonnes), avec des valeurs pour les axes en coordonnes absolues. Voir la section 12.9. Vous pouvez choisir un des neuf systmes en utilisant G54, G55, G56, G57, G58, G59, G59.1, G59.2, ou G59.3 (Voir la section 12.19). Il nest pas possible de choisir directement le systme de coordonnes machine. Vous pouvez dcaler lorigine du systme de coordonnes actuel en utilisant G92 ou G92.3. Ce dcalage sappliquera alors lensemble des neuf systmes de coordonnes programme. Ce dcalage peut tre annul avec G92.1 ou G92.2. Voir la section 12.27.

CHAPITRE 7. VUE DENSEMBLE DUN CENTRE DUSINAGE

59

Vous pouvez faire des mouvements dans le systme de coordonnes machine absolues en utilisant G53 avec G0 ou G1. Voir la section 12.18. Les donnes des systmes de coordonnes sont enregistres dans les paramtres. Lors de linitialisation, le systme de coordonnes choisi est celui spci par le paramtre 5220. Une valeur de 1 signie le premier systme de coordonnes (celui quactive G54), une valeur de 2 signie le deuxime systme de coordonnes (celui quactive G55), et ainsi de suite. Il y a erreur si la valeur du paramtre 5220 nest pas un nombre entier compris entre 1 et 9.

Chapitre 8

Vue densemble du langage


Le langage RS274/NGC est bas sur des lignes de code. Chaque ligne (galement appele un block) peut inclure des commandes pour faire produire diverses actions au centre dusinage. Plusieurs lignes de code peuvent tre regroupes dans un chier pour crer un programme. Une ligne de code typique commence par un numro de ligne optionnel suivi par un ou plusieurs mots. Un mot commence par une lettre suivie dun nombre (ou quelque chose qui permet dvaluer un nombre). Un mot peut, soit donner une commande, soit fournir un argument une commande. Par exemple, G1 X3 est une ligne de code valide avec deux mots. G1 est une commande qui signie dplaces toi en ligne droite la vitesse programme et X3 fournit la valeur dargument (la valeur de X doit tre 3 la n du mouvement). La plupart des commandes RS274/NGC commencent avec G ou M (G pour Gnral et M pour Miscellaneous (auxiliaire)). Les termes pour ces commandes sont G codes et M codes. Le langage RS274/NGC na pas dindicateur de dbut et de n de programme. Linterprteur cependant traite les chiers. Un programme simple peut tre en un seul chier, mais il peut aussi tre partag sur plusieurs chiers. Un chier peut tre dlimit par le signe pourcent de la manire suivante. La premire ligne non vide dun chier peut contenir un signe % seul, ventuellement encadr despaces blancs, ensuite, la n du chier on doit trouver une ligne similaire. Dlimiter un chier avec des % est facultatif si le chier comporte un M2 ou un M30, mais est requis sinon. Une erreur sera signale si un chier a une ligne pourcent au dbut, mais pas la n. Le contenu utile dun chier dlimit par pourcent sarrte aprs la seconde ligne pourcent. Tout le reste est ignor. Le langage RS274/NGC prvoit les deux commandes (M2 ou M30) pour nir un programme. Le programme peut se terminer avant la n du chier. Les lignes places aprs la n dun programme ne seront pas excutes. Linterprteur ne les lit mme pas.

8.1

Format dune ligne

Une ligne de code permise par la norme RS274/NGC est construite de la faon suivante, dans lordre avec la restriction un maximum de 256 caractres sur la mme ligne. 1. Un block optionnel contenant le caractre deffacement de ligne, barre de fraction /. 2. Un numro de ligne optionnel. 3. Nimporte quel nombre de mots, valeurs de paramtres et commentaires. 4. Un caractre de n de ligne (retour chariot ou saut de ligne ou les deux). Toute entre non explicitement permise est illgale, elle provoquera un message derreur de linterprteur.

60

CHAPITRE 8. VUE DENSEMBLE DU LANGAGE

61

Les espaces sont permis ainsi que les tabulations dans une ligne de code dont ils ne changent pas la signication, except dans les commentaires. Ceci peut donner dtranges lignes, mais elles sont autorises. La ligne g0x +0. 12 34y 7 est quivalente g0 x+0.1234 y7, par exemple. Les lignes vides sont permises, elles seront ignores. La casse des caractres est ignore, except dans les commentaires. Toutes les lettres en dehors des commentaires peuvent tre, indiffremment des majuscules ou des minuscules sans changer la signication de la ligne.

8.2

Numro de ligne

Un numro de ligne commence par la lettre N suivie dun nombre entier non sign compris entre 0 et 99999 crit avec moins de six caractres (par exemple : 000009 est interdit). Les numros de ligne peuvent se suivre ou tre dans le dsordre, bien quune pratique normale vite ce genre dusage. Les numros de ligne peuvent tre sauts, cest une pratique normale. Lutilisation dun numro de ligne nest pas obligatoire, mais si il est utilis, il doit tre sa place.

8.3

Les mots

Un mot est une lettre, autre que N, suivie dun nombre rel. Les mots peuvent commencer avec lune ou lautre des lettres indiques dans le tableau 8.1. Le tableau inclus N pour tre complet, mme si, comme dni prcdemment, les numros de lignes ne sont pas des mots. Plusieurs lettres (I, J, K, L, P, R) peuvent avoir diffrentes signications dans des contextes diffrents. Les lettres qui se rfrent aux noms daxes ne sont pas valides sur une machine nayant pas les axes correspondants.

8.3.1

Nombres

Les rgles suivantes sont employes pour des nombres (explicites). Dans ces rgles un chiffre est un caractre simple entre 0 et 9. Un nombre commence par : (1) un signe plus ou un signe moins optionnel, suivi par (2) de zro plusieurs chiffres, peut tre suivis par, (3) un point dcimal, suivi par (4) de zro plusieurs chiffres, il doit au moins y avoir un chiffre. Il existe deux types de nombres : les entiers et les dcimaux. Un entier na pas de point dcimal ; un dcimal en a un. Les nombres peuvent avoir nimporte quel nombre de chiffres, sous rserve de la limitation de longueur dune ligne. Seulement environ dix-sept chiffres signicatifs seront retenus, cest toutefois sufsant pour toutes les applications connues. Un nombre non nul sans autre signe que le premier caractre est considr positif. Les zros non signicatifs, ne sont pas ncessaires. Si un nombre utilis dans le langage RS274/NGC est proche dune valeur entire moins de quatre dcimales, il est considr comme entier, par exemple 0.9999.

8.3.2

Paramtres numrots

Un paramtre numrot commence par le caractre # suivi par un entier compris entre 1 et 5399. Le paramtre est rfrenc par cet entier, sa valeur est la valeur stocke dans le paramtre. Une valeur est stocke dans un paramtre avec loprateur = par exemple "#3 = 15" signie que la valeur 15 est stocke dans le paramtre numro 3.

CHAPITRE 8. VUE DENSEMBLE DU LANGAGE

62

Lettre A B C D F G H I J K M N P Q R S T U V W X Y Z

T ABLE 8.1 Les mots et leur signication Signication Axe A de la machine Axe B de la machine Axe C de la machine Valeur de la compensation de rayon doutil Vitesse davance travail Fonction Gnrale (voir la table 5) Index doffset de longueur doutil Dcalage en X pour les arcs et dans les cycles prprogramms G87 Dcalage en Y pour les arcs et dans les cycles prprogramms G87 Dcalage en Z pour les arcs et dans les cycles prprogramms G87 Distance de dplacement par tour de broche avec G33 Fonction auxiliaire (voir la table 7) Numro de ligne Temporisation utilise dans les cycles prprogramms et avec G4. Mot cl utilis avec G10. Incrment Delta en Z dans un cycle prprogramm G73, G83 Rayon darc ou plan de retrait dans un cycle prprogramm Vitesse de rotation de la broche Numro doutil Axe U de la machine Axe V de la machine Axe W de la machine Axe X de la machine Axe Y de la machine Axe Z de la machine

Le caractre # a une prcdence suprieure celle des autres oprations, ainsi par exemple, #1+2 signie la valeur trouve en ajoutant 2 la valeur contenue dans le paramtre 1 et non la valeur trouve dans le paramtre 3. Bien sr, #[1+2] signie la valeur trouve dans le paramtre 3. Le caractre # peut tre rpt, par exemple ##2 signie le paramtre dont le numro est gal la valeur entire trouve dans le paramtre 2.

8.3.3

Paramtres nomms

Les paramtres nomms fonctionnent comme les paramtres numrots mais sont plus faciles lire. Les paramtres nomms sont convertis en minuscules, les espaces et tabulations sont supprims. Les paramtres nomms doivent tre encadrs des signes < et >. #<Un paramtre nomm> est un paramtre nomm local. Par dfaut, un paramtre nomm est local ltendue dans laquelle il est assign. Laccs un paramtre local, en dehors de son sousprogramme est impossible, de sorte que deux sous-programmes puissent utiliser le mme nom de paramtre sans craindre quun des deux ncrase la valeur de lautre. #<_un paramtre global> est un paramtre nomm global. Ils sont accessibles depuis des sousprogrammes appels et peuvent placer des valeurs dans tous les sous-programmes accessibles lappelant. En ce qui concerne la porte, ils agissent comme des paramtres numrots. Ils ne sont pas enregistrs dans des chiers. Exemples : Dclaration dune variable nomme globale #<_troisdents_dia> = 10.00 Rfrence la variable globale prcdemment dclare #<_troisdents_rayon> = [#<_troisdents_dia>/2.0]

CHAPITRE 8. VUE DENSEMBLE DU LANGAGE

63

Mlange de paramtres nomms et de valeurs littrales o100 call [0.0] [0.0] [#<_interieur_decoupe>-#<_troisdents_dia>] [#<_Zprofondeur>] [#<_vitesse>] Notes : Les paramtres globaux _a, _b, _c, ... _z sont rservs pour une utilisation spciale. Dans le futur, ils pourront fournir laccs aux derniers Aword, Bword, Cword, ... Zword etc.

8.3.4

Expressions

Une expression est un groupe de caractres commenant avec le crochet gauche [ et se terminant avec le crocher droit ]. Entre les crochets, on trouve des nombres, des valeurs de paramtre, des oprations mathmatiques et dautres expressions. Une expression est value pour produire un nombre. Les expressions sur une ligne sont values quand la ligne est lue et avant que quoi que ce soit ne soit xcut sur cette ligne. Un exemple dexpression : [1 + acos[0] - [#3 ** [4.0/2]]].

8.3.5

Oprateurs binaires

Les oprateurs binaires ne se rencontrent que dans les expressions. Il y a quatre oprateurs mathmatiques de base : addition (+), soustraction (-), multiplication (*) et division (/). Il y a trois oprateurs logiques : ou (OR), ou exclusif (XOR) et logique (AND). Le huitime oprateur est le modulo (MOD). Le neuvime oprateur est llvation la puissance (**) qui lve le nombre situ sa gauche la puissance du nombre situ sa droite. Les oprateurs de relation sont : galit (EQ), non galit (NE), strictement suprieur (GT), suprieur ou gal (GE), strictement infrieur (LT) et infrieur ou gal (LE). Les oprations binaires sont divises en plusieurs groupes selon leur prcdence. (voir la table 8.2) Si dans une opration se trouvent diffrents groupes de prcdence (par exemple dans lexpression [2.0 / 3 * 1.5 - 5.5 / 11.0]), les oprations du groupe suprieur seront effectues avant celles des groupes infrieurs. Si une expression contient plusieurs oprations du mme groupe (comme les premiers / et * dans lexemple), lopration de gauche est effectue en premier. Notre exemple est quivalent : [[[2.0 / 3] * 1.5] - [5.5 / 11.0]] , qui est quivalent [1.0 0.5] , le rsultat est : 0.5 . Les oprations logiques et le modulo sont excuts sur des nombres rels et non pas seulement sur des entiers. Le zro est quivalent un tat logique faux (FALSE), tout nombre diffrent de zro est quivalent un tat logique vrai (TRUE). T ABLE 8.2 Prcdence des oprateurs Oprateurs Prcdence ** haute * / MOD +EQ NE GT GE LT LE AND OR XOR basse

8.3.6

Fonctions

Une fonction commence par son nom, ex : ATAN suivi par une expression divise par une autre expression (par exemple ATAN[2]/[1+3]) ou tout autre nom de fonction suivi par une expression (par exemple SIN[90]). Les fonctions disponibles sont visibles dans le tableau 8.3. Les arguments pour les oprations unaires sur des angles (COS, SIN et TAN) sont en degrs. Les valeurs retournes par les oprations sur les angles (ACOS, ASIN et ATAN) sont galement en degrs.

CHAPITRE 8. VUE DENSEMBLE DU LANGAGE

64

Loprateur FIX arrondi vers la gauche (moins positif ou plus ngatif), par exemple : FIX[2.8] =2 et FIX[-2.8] = -3 . Loprateur FUP arrondi vers la droite (plus positif ou moins ngatif), par exemple : FUP[2.8] = 3 et FUP[-2.8] = -2 . T ABLE 8.3 Fonctions Fonction Tangente quatre quadrants Valeur absolue Arc cosinus Arc sinus Cosinus Exposant Arrondi lentier immdiatement infrieur Arrondi lentier immdiatement suprieur Arrondi lentier le plus proche Logarithme Nperien Sinus Racine carre Tangente

Nom de fonction ATAN[Y]/[X] ABS[arg] ACOS[arg] ASIN[arg] COS[arg] EXP[arg] FIX[arg] FUP[arg] ROUND[arg] LN[arg] SIN[arg] SQRT[arg] TAN[arg]

8.4

Commentaires

Un ensemble de caractres et espaces blancs entre parenthses est un commentaire. Une parenthse ouvrante dbute toujours un commentaire. Le commentaire se termine la premire parenthse fermante trouve. Si une parenthse ouvrante est trouve sur une ligne, une parenthse fermante doit tre galement rencontre avant la n de la ligne. Les commentaires ne peuvent pas tre imbriqus, une erreur sera signale si une parenthse ouvrante est rencontre aprs le dbut dun commentaire et avant la n dun commentaire. Voici un exemple de ligne de commentaire : G80 M5 (arret du mouvement). Les commentaires sont seulement informatifs, ils nont aucune inuence sur la machine.

8.4.1

Messages

Un commentaire contient un message si MSG apparat aprs la parenthse ouvrante, et avant tout autre caractre. Les variantes de MSG qui incluent un espace blanc et des minuscules sont autorises. Le reste du texte avant la parenthse fermante est considr comme le message. Les messages sont afchs sur la visu de linterface utilisateur. Les commentaires ne contenant pas de message ne sont pas afchs.

8.4.2

Enregistrement des mesures

Un commentaire peut aussi tre utilis pour spcier le chier de log des rsultats des mesures faites au palpeur avec G38.x . Voir la section 12.15.

8.4.3
8.4.3.1

Log gnral
(LOGOPEN,lename)

Ouvre le chier de log lename. Si le chier existe dj, il sera tronqu.

CHAPITRE 8. VUE DENSEMBLE DU LANGAGE 8.4.3.2 (LOGCLOSE)

65

Si le chier est ouvert, il sera ferm. 8.4.3.3 (LOG,. . .)

Le message . . . est tendu comme dcrit plus loin, il est crit dans le chier de log si il est ouvert.

8.4.4

Messages de dboguage

Les commentaires comme : (debug, reste du commentaire) sont traits de la mme faon que ceux avec (msg, reste du commentaire) avec lajout de possibilits spciales pour les paramtres. Les commentaires comme : (print, reste du commentaire) vont directement sur la sortie stderr avec des possibilits spciales pour les paramtres.

8.4.5

Paramtres dans les commentaires

Dans les commentaires avec DEBUG, PRINT et LOG, les valeurs des paramtres dans le message sont tendues. Par exemple : pour afcher une variable nomme globale sur la sortie stderr (la fentre de la console par dfaut) ajouter une ligne au g-code comme : (print,diamtre fraise 3 dents = #<_troisdents_dia>) lintrieur de ces types de commentaires, les squences comme #123 sont remplaces par la valeur du paramtre 123. Les squences comme #<paramtre nomm> sont remplaces par la valeur du paramtre nomm. Rappelez vous que les espaces dans les noms des paramtres nomms sont supprims, #<parametre nomme> est quivalent #<parametrenomme>.

8.5

Rptitions ditems

Une ligne peut contenir autant de mots G que voulu, mais seulement deux mots G du mme groupe modal peuvent apparatre sur la mme ligne. (voir la section 8.8) Une ligne peut avoir de zro quatre mots M. Mais pas deux mots M du mme groupe modal. Pour toutes les autres lettres lgales, un seul mot commenant par cette lettre peut se trouver sur la mme ligne. Si plusieurs valeurs de paramtre se rptent sur la mme ligne, par exemple : #3=15 #3=6, seule la dernire valeur prendra effet. Il est absurde, mais pas illgal, de xer le mme paramtre deux fois sur la mme ligne. Si plus dun commentaire apparat sur la mme ligne, seul le dernier sera utilis, chacun des autres sera lu et son format vri, mais il sera ignor. Placer plusieurs commentaires sur la mme ligne est trs rare.

CHAPITRE 8. VUE DENSEMBLE DU LANGAGE

66

8.6

Ordre des items

Les trois types ditem dont la commande peut varier sur une ligne (comme indiqu au dbut de cette section) sont les mots, les paramtres et les commentaires. Imaginez que ces trois types dlments sont diviss en trois groupes selon leur type. Dans le premier groupe les mots, peuvent tre arrangs dans nimporte quel ordre sans changer la signication de la ligne. Dans le second groupe les valeurs de paramtre, quelque soit leur arrangement, il ny aura pas de changement dans la signication de la ligne sauf si le mme paramtre est prsent plusieurs fois. Dans ce cas, seule la valeur du dernier paramtre prendra effet. Par exemple, quand la ligne #3=15 #3=6 aura t interprte, la valeur du paramtre 3 vaudra 6. Si lordre est invers, #3=6 #3=15 aprs interprtation, la valeur du paramtre 3 vaudra 15. Enn dans le troisime groupe les commentaires, si plusieurs commentaires sont prsents sur une ligne, seul le dernier commentaire sera utilis. Si chaque groupe est laiss, ou rordonn, dans lordre recommand, la signication de la ligne ne changera pas, alors les trois groupes peuvent tre entrecroiss nimporte comment sans changer la signication de la ligne. Par exemple, la ligne g40 g1 #3=15 (foo) #4=-7.0 cinq items est signiera exactement la mme chose dans les 120 ordres darrangement possibles des cinq items comme #4=-7.0 g1 #3=15 g40 (foo).

8.7

Commandes et modes machine

En RS274/NGC, de nombreuses commandes produisent, dun mode un autre, quelque chose de diffrent au niveau de la machine, le mode reste actif jusqu ce quune autre commande ne le rvoque, implicitement ou explicitement. Ces commandes sont appeles modales. Par exemple, si larrosage est mis en marche, il y reste jusqu ce quil soit explicitement arrt. Les G-codes pour les mouvements sont galement modaux. Si, par exemple, une commande G1 (dplacement linaire) se trouve sur une ligne, elle peut tre utilise sur la ligne suivante avec seulement un mot daxe, tant quune commande explicite est donne sur la ligne suivante en utilisant des axes ou un arrt de mouvement. Les codes non modaux nont deffet que sur la ligne ou ils se prsentent. Par exemple, G4 (tempo) est non modale.

8.8

Groupes modaux

Les commandes modales sont arranges par lots appels groupes modaux, tout moment, un seul membre dun groupe modal peut tre actif. En gnral, un groupe modal contient des commandes pour lesquelles il est logiquement impossible que deux membres soient actifs simultanment, comme les units en pouces et les units en millimtres. Un centre dusinage peut tre dans plusieurs modes simultanment, si seulement un mode pour chaque groupe est actif. Les groupes modaux sont visibles dans le tableau 8.4. Pour plusieurs groupes modaux, quand la machine est prte accepter des commandes, un membre du groupe doit tre en vigueur. Il y a des paramtres par dfaut pour ces groupes modaux. Lorsque la machine est mise en marche ou r-initialises, les valeurs par dfaut sont automatiquement actives. Groupe 1, le premier groupe du tableau, est un groupe de G-codes pour les mouvements. tout moment, un seul dentre eux est actif. Il est appel le mode de mouvement courant. Cest une erreur que de mettre un G-code du groupe 1 et un G-code du groupe 0 sur la mme ligne si les deux utilisent les mmes axes. Si un mot daxe utilisant un G-code du groupe 1 est

CHAPITRE 8. VUE DENSEMBLE DU LANGAGE

67

T ABLE 8.4 Groupes modaux Mots des membres G0 G1 G2 G3 G33 G38.x G73 G80 G81 G82 G83 G84 G85 G86 G87 G88 G89 Choix du plan de travail G17 G18 G19 Mode diamtre/rayon sur les tours G7, G8 Mode de dplacements G90, G91 Mode de vitesses G93, G94 Units machine G20, G21 Correcteurs de rayon doutil G40, G41, G42, G41.1, G42.1 Correcteurs de longueur doutil G43, G43.1, G49 Options plan de retrait G98, G99 Systmes de coordonnes G54, G55, G56, G57, G58, G59, G59.1, G59.2, G59.3 Types darrt de programme M0, M1, M2, M30, M60 Appel doutil M6 Types de rotation de la broche M3, M4, M5 Arrosages M7, M8, M9. Cas spciaux : M7, M8 peuvent tre actifs simultanment Boutons de correction de vitesse M48, M49 Contrle de ux OCodes non modaux (Groupe 0) G4, G10, G28, G28.1, G30, G30.1, G53 G92, G92.1, G92.2, G92.3 M100 M199 Signication du groupe modal Mouvements (Groupe 1) implicitement actif sur la ligne (en ayant t activ sur une ancienne ligne) et quun G-code du groupe 0 utilisant des mots daxes apparat sur la mme ligne, lactivit du G-code du groupe 1 est rvoque pour le reste de la ligne. Les mots daxes utilisant des G-codes du groupe 0 sont G10, G28, G30 et G92. Cest une erreur dinclure des mots sans rapport sur une ligne avec le contrle de ux O.

Chapitre 9

Ordre dexcution
Lordre dexcution des lments dune ligne est essentiel la scurit et lefcacit dune machine. Les lments sont excuts dans lordre indiqu ci-dessous, si ils se trouvent sur la mme ligne. 1. Commentaire (message inclu) 2. Positionnement du mode de vitesses (G93, G94). 3. Rglage de la vitesse travail (F). 4. Rglage de la vitesse de rotation de la broche (S). 5. Slection de loutil (T). 6. Appel doutil (M6). 7. Marche/Arrt broche (M3, M4, M5). 8. Marche/Arrt arrosages (M7, M8, M9). 9. Activation/Inhibition correcteurs de vitesse (M48, M49). 10. Temporisation (G4). 11. Choix du plan de travail (G17, G18, G19). 12. Choix de lunit de longueur (G20, G21). 13. Activation/Dsactivation de la compensation de rayon doutil (G40, G41, G42) 14. Activation/Dsactivation de la compensation de longueur doutil (G43, G49) 15. Slection du systme de coordonnes (G54, G55, G56, G57, G58, G59, G59.1, G59.2, G59.3). 16. Rglage du mode de trajectoire (G61, G61.1, G64) 17. Rglage du mode de dplacement (G90, G91). 18. Rglage du type de retrait (G98, G99). 19. Prise dorigine machine (G28, G30) ou tablissement du systme de coordonnes (G10) ou encore, rglage des dcalages daxes (G92, G92.1, G92.2, G94). 20. Effectuer les mouvements (G0 G3, G33, G80 G89), tels que modis (ventuellement) par G53. 21. Arrt (M0, M1, M2, M30, M60).

68

Chapitre 10

G-Code : Bonnes pratiques


10.1 Utiliser un nombre de dcimales appropri

Utilisez au plus 3 chiffres aprs la virgule pour lusinage en millimtres et au plus 4 chiffres aprs la virgule pour lusinage en pouces. En particulier, les contrles de tolrance des arcs sont faits pour .001 et .0001 selon les units actives.

10.2

Utiliser les espaces de faon cohrente

Le G-code est plus lisible quand au moins un espace apparat avant les mots. Sil est permis d insrer des espaces blancs au milieu des chiffres, il faut viter de le faire.

10.3

Prfrer le format centre pour les arcs

Les arcs en format centre (qui utilisent I- J- K- au lieu de R-) se comportent de faon plus prcise que ceux en format rayon, particulirement pour des angles proche de 180 et 360 degrs.

10.4

Placer les codes modaux importants au dbut des programmes

Lorsque lexcution correcte de votre programme dpend de paramtres modaux, noubliez pas de les mettre au dbut du programme. Des modes incorrects peuvent provenir dun programme prcdent ou depuis des entres manuelles. Une bonne mesure prventive consiste placer la ligne suivante au dbut de tous les programmes : G17 G21 G40 G49 G54 G80 G90 G94 (plan XY, mode mm, annulation de la compensation de rayon, et de longueur, sytme de coordonnes numro 1, arrt des mouvements, dplacements absolus, mode vitesse/minute) Peut-tre que le code modal le plus important est le rglage des units machine. Si les codes G20 ou G21, ne sont pas inclus, selon les machines lchelle dusinage sera diffrente. Dautres valeurs comme le plan de retrait des cycles prprogramms peuvent tre importantes.

69

CHAPITRE 10. G-CODE : BONNES PRATIQUES

70

10.5

Ne pas mettre trop de choses sur une ligne

Ignorer le contenu de la section 9 et ne pas crire de ligne de code qui laisse la moindre ambigut. De mme, ne pas rgler un paramtre et lutiliser sur la mme ligne, mme si la smantique est bien dnie. (Exception : Mise jour dune variable une nouvelle valeur, comme #1=[#1+#2])

10.6

Ne pas utiliser les numros de ligne

Les numros de ligne napportent rien. Quand des numros de ligne sont rapports dans les messages derreur, ces numros font rfrence aux numros de lignes lintrieur du programme, pas aux valeurs des mots N.

10.7

Lorsque plusieurs systmes de coordonnes sont dplacs, envisager le mode vitesse inverse du temps

Parce que la signication dun mot F en mtres par minute varie selon les axes dplacer et parce que la quantit de matire enleve ne dpend pas que de la vitesse travail, il peut tre plus simple dutiliser G93, vitesse inverse du temps pour atteindre lenlvement de matire souhat.

Chapitre 11

Fichier doutils et compensations


11.1 Fichier doutils

Les longueurs et diamtres doutils peuvent tre lus dans un chier doutils (voir la section 7.4) ou provenir dun mot spci pour activer la compensation doutil.

11.2

Compensation doutil

La compensation doutil peut causer beaucoup de problmes aux meilleurs programmeurs de code nc. Mais elle peut aussi tre une aide puissante quand elle est utilise pour aider un oprateur obtenir une pice la cote. En rglant la longueur et le diamtre des outils dans une table doutils, les dcalages peuvent tre utiliss pendant un cycle dusinage qui tient compte des variations de taille de loutil, ou pour des dviations mineures des trajectoires programmes. Et ces changements peuvent tre faits sans que loprateur nait changer quoi que ce soit dans le programme. Tout au long de ce module, vous trouverez occasionnellement des rfrences des fonctions canoniques, l o il est ncessaire pour le lecteur de comprendre comment fonctionne une compensation doutil dans une situation spcique. Ces rfrences ont pour but de donner au lecteur une ide de la squences plutt que dexiger quil comprenne la faon dont les fonctions canoniques elles-mmes fonctionnent dans EMC.

11.3

Compensation de longueur doutil

Les compensations de longueur doutil sont donnes comme des nombres positifs dans la table doutils. Une compensation doutil est programme en utilisant G43 Hn, o n est le numro dindex de loutil souhait dans la table doutil. Il est prvu que toutes les entres dans la table doutils soit positives. La valeur de H est vrie, elle doit tre un entier non ngatif quand elle est lue. Linterprteur se comporte comme suit : 1. Si G43 Hn est programm, un appel la fonction USE_TOOL_LENGTH_OFFSET(longueur) est fait (o longueur est lcart de longueur, lu dans la table doutils, de loutil index n), tool_length_offset est repositionn dans le modle de rglages de la machine et la valeur de current_z dans le modle est ajuste. Noter que n na pas besoin dtre le mme que le numro de slot de loutil actuellement dans la broche. 2. Si G49 est programm, USE_TOOL_LENGTH_OFFSET(0.0) est appele, tool_length_offset est remis 0.0 dans le modle de rglages de la machine et la valeur courante de current_z dans le modle est ajuste. Leffet de la compensation de longueur doutil est illustre dans la capture ci-dessous. 71

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS

72

Noter que la longueur de loutil est soustraite de Z pour que le point contrl programm corresponde la pointe de loutil. Il faut galement noter que leffet de la compensation de longueur est a immdiat quand on voit la position de Z comme une coordonne relative mais il est sans effet sur la position actuelle de la machine jusqu ce quun mouvement en Z soit programm. Programme de test de longueur doutil. Tool #1 is 1 inch long. N01 G1 F15 X0 Y0 Z0 N02 G43 H1 Z0 X1 N03 G49 X0 Z0 N04 G0 X2 N05 G1 G43 H1 G4 P10 Z0 X3 N06 G49 X2 Z0 N07 G0 X0

Avec ce programme, dans la plupart des cas, la machine va appliquer le dcalage sous forme dune rampe pendant le mouvement en xyz suivant le mot G43.

11.4

Compensation de rayon doutil

La compensation de rayon doutil (galement appele compensation de diamtre doutil) t ajoute aux spcications RS-274D la demande dutilisateurs, car elle est extrmement utile, mais son implmentation a t assez mal pense. Lobjectif de cette fonctionnalit est de permettre aux programmeurs de virtualiser la trajectoire de loutil, de sorte que la machine puisse pendant toute lexcution, dterminer la bon dcalage a apporter la position de loutil pour respecter les cotes, en sappuyant sur les diamtres doutils existants. Si un outil est raffut, son diamtre sera lgrement plus petit que celui dorigine, il faudra galement en tenir compte. Le problme est pour donner la machine la trajectoire exacte o loutil doit usiner, sur le ct intrieur dun parcours imaginaire, ou sur le ct extrieur. Comme ces trajectoires ne sont pas ncessairement fermes (mme si elles peuvent ltre), il est quasiment impossible la machine de connatre de quel ct du prol elle doit compenser loutil. Il a t dcid quil ny aurait que deux choix possibles, outil gauche du prol usiner et outil droite du prol usiner. Ce qui doit tre interprt gauche ou droite du prol usiner en suivant loutil le long du prol.

11.4.1

Compensation de rayon doutil, dtails

Les possibilits de compensation de rayon doutil de linterprteur, autorise le programmeur spcier si loutil doit passer gauche ou droite du prol usiner. Ce prol peut tre un contour ouvert ou ferm, dans le plan XY compos de segments en arcs de cercles et en lignes droites. Le

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS

73

contour peut tre le pourtour dune pice brute ou, il peut tre une trajectoire exacte suivie par un outil mesur avec prcision. La gure ci-dessous, montre deux exemples de trajectoires dusinage dune pice triangulaire, utilisant la compensation de rayon doutil. Dans les deux exemples, le triangle gris reprsente le matriau restant aprs usinage et la ligne extrieure reprsente le parcours suivi par le centre de loutil. Dans les deux cas le triangle gris est conserv. Le parcour de gauche (avec les coins arrondis) est le parcours gnralement interprt. Dans la mthode de droite (celle marque Not this way), loutil ne reste pas en contact avec les angles vifs du triangle gris.

Des mouvements sur laxe Z peuvent avoir lieu pendant que le contour est suivi dans le plan XY. Des portions du contour peuvent tre franchies avec laxe Z en retrait au dessus de la pice pendant la poursuite du parcour et jusquau point o lusinage doit reprendre, laxe Z plongera de nouveau en position. Ces dgagements de zones non usines peuvent tre faits en vitesse travail (G1), en rapide (G0), en vitesse inverse du temps (G93) ou en avance en units par minute (G94) toutes peuvent tre utilises avec la compensation de rayon doutil. Sous G94, la vitesse sera applique la pointe de loutil coupant, non au contour programm. Instructions de programmation Pour activer la compensation de rayon doutil, programmer soit, G41 (pour maintenir loutil gauche du prol usiner) soit, G42 (pour maintenir loutil droite du prol). Dans la gure 17.4.1, par exemple, si G41 tait programm, loutil devrait tourner en sens horaire autour du triangle et dans le sens contraire si G42 tait programm. Pour dsactiver la compensation de rayon doutil, programmer G40. Si un G40, G41, ou G42 est programm dans la mme ligne quun mouvement daxe, la compensation de rayon sera active ou dsactive avant que le mouvement ne soit fait. Pour que le mouvement seffectue en premier, il doit tre programm sparment et avant. La valeur de D Linterprteur actuel requiert une valeur D sur chaque ligne contenant un mot G41 ou G42. Le nombre D doit tre un entier positif. Il reprsente le numro de slot de loutil, dont le rayon (la moiti du diamtre doutil indiqu dans la table doutils) sera compens. Il peut aussi tre gal zro, dans ce cas, la valeur du rayon sera aussi gale zro. Tous les slots de la table doutils peuvent tre slectionns de cette faon. Le nombre D nest pas ncessairement le mme que le numro de slot de loutil mont dans la broche.

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS Table doutils

74

La compensation de rayon doutil utilise les donnes fournies par la table doutils de la machine. Pour chaque slot doutil dans le carrousel, la table doutils contient le diamtre de loutil rang cet emplacement (ou la diffrence entre le diamtre nominal de loutil plac dans ce slot et son diamtre actuel). La table doutils est indexe par les numros de slot. Reportez vous la page des Fichiers doutils pour savoir comment remplir ces chiers. Deux types de contour Linterprteur contrle la compensation pour deux types de contour : 1) Le contour donn dans le code NC correspond au bord extrieur du matriau aprs usinage. Nous lappellerons "contour sur le prol du matriau". 2) Le contour donn dans le code NC correspond la trajectoire suivie par le centre dun outil de rayon nominal. Nous lappellerons "contour sur le parcours doutil". Linterprteur ne dispose daucun paramtre pour dterminer quel type de contour est utilis, mais la description des contours est diffrente (pour la mme gomtrie de pice) entre les deux types, les valeurs des diamtres dans la table doutils seront galement diffrentes pour les deux types. Contour sur le prol du matriau Lorsque le contour est sur le prol du matriau, cest ce trac qui est dcrit dans le programme NC. Pour un contour sur le prol du matriau, la valeur du diamtre dans la table doutils correspond au diamtre rel de loutil courant. Cette valeur dans la table doit tre positive. Le code NC pour ce type de contour reste toujours le mme lexception du diamtre de loutil (actuel ou nominal). Exemple 1 : Voici un programme NC qui usine le matriau en suivant le prol dun des triangles de la gure prcdente. Dans cet exemple, la compensation de rayon est celle du rayon actuel de loutil, soit 0.5. La valeur pour le diamtre dans la table doutil est de 1.0 . N0010 G41 G1 X2 Y2 (active la compensation et fait le mouvement dentre) N0020 Y-1 (suit la face droite du triangle) N0030 X-2 (suit la base du triangle) N0040 X2 Y2 (suit lhypotnuse du triangle) N0050 G40 (dsactive la compensation) Avec ce programme, loutil suit cette trajectoire : un mouvement dentre, puis la trajectoire montre dans la partie gauche de la gure, avec un dplacement de loutil en sens horaire autour du triangle. Noter que les coordonnes du triangle de matriau apparaissent dans le code NC. Noter aussi que la trajectoire inclus trois arcs qui ne sont pas explicitement programms, ils sont gnrs automatiquement. Contour sur le parcours doutil Lorsque le contour est sur le parcours doutil, la trajectoire dcrite dans le programme correspond au parcours que devra suivre le centre de loutil. Le bord de loutil, un rayon de l, (except durant les mouvements dentre) suivra la gomtrie de la pice. La trajectoire peut tre cre manuellement ou par un post-processeur, selon la pice qui doit tre ralise. Pour linterprteur, le parcours doutil doit tre tel que le bord de loutil reste en contact avec la gomtrie de la pice, comme montr gauche de la gure 7. Si une trajectoire du genre de celle montre sur la droite de la gure 7 est utilise, dans laquelle loutil ne reste pas en permanence au contact avec la gomtrie

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS

75

de la pice, linterprteur ne pourra pas compenser correctement si un outil en dessous de son diamtre nominal est utilis. Pour un contour sur le parcours doutil, la valeur pour le diamtre de loutil dans la table doutils devra tre un petit nombre positif si loutil slectionn est lgrement surdimensionn. La valeur du diamtre sera un petit nombre ngatif si loutil est lgrement sous-dimensionn. Si un diamtre doutil est ngatif, linterprteur compense de lautre ct du contour programm et utilise la valeur absolue donne au diamtre. Si loutil courant est son diamtre nominal, la valeur dans la table doutil doit tre zro. Exemple de contour sur le parcours doutil Supposons que le diamtre de loutil courant mont dans la broche est de 0.97 et le diamtre utilis en gnrant le parcours doutil a t de 1.0 . Alors la valeur de diamtre dans la table doutils pour cet outil est de -0.03. Voici un programme NC qui va usiner lextrieur dun triangle de la gure 7.
N0010 N0020 N0030 N0040 N0050 N0060 N0070 N0080 N0090 N0100 N0110 G1 X1 Y4.5 (mouvement dalignement) G41 G1 Y3.5 (active la compensation et premier mouvement dentre) G3 X2 Y2.5 I1 (deuxime mouvement dentre) G2 X2.5 Y2 J-0.5 (usinage le long de larc en haut du parcours doutil) G1 Y-1 (usinage le long du ct droit du parcours doutil) G2 X2 Y-1.5 I-0.5 (usinage de larc en bas droite) G1 X-2 (usinage de la base du parcours doutil) G2 X-2.3 Y-0.6 J0.5 (usinage de larc en bas gauche) G1 X1.7 Y2.4 (usinage de lhypotnuse) G2 X2 Y2.5 I0.3 J-0.4 (usinage de larc en haut droite) G40 (dsactive la compensation)

Avec ce programme, loutil suit cette trajectoire : un mouvement dalignement, deux mouvements dentre, puis il suit une trajectoire lgrement intrieure au parcours doutil montr sur la gure 7 en tournant en sens horaire autour de la pice. Cette compensation est droite de la trajectoire programme, mme si cest G41 qui est programm, en raison de la valeur ngative du diamtre. Erreurs de programmation et limitations Les messages en rapport avec la compensation de rayon doutil, dlivrs par linterprteur sont les suivants : 1. Impossible de changer les dcalages daxes avec la compensation de rayon doutil 2. Impossible de changer dunit avec la compensation de rayon doutil 3. Impossible dactiver la compensation de rayon doutil en dehors du plan XY 4. Action impossible, la compensation de rayon doutil est dj active 5. Impossible dutiliser G28 ou G30 avec la compensation de rayon doutil 6. Impossible dutiliser G53 avec la compensation de rayon doutil 7. Impossible dutiliser le plan XZ avec la compensation de rayon doutil 8. Impossible dutiliser le plan YZ avec la compensation de rayon doutil 9. Coin concave avec la compensation de rayon doutil 10. Interfrence de loutil avec une partie nie de la pice avec la compensation de rayon doutil 1 11. Mot D sur une ligne sans mot de commande G41 ni G42 12. Index de rayon doutil trop grand 13. Le rayon de loutil nest pas infrieur au rayon de larc avec la compensation de rayon 14. Deux G-codes du mme groupe modal sont utiliss.
1. Le terme anglais gouging indique une interfrence entre loutil et une partie nie de la pice ou la paroi dune cavit. Par extension, le terme est parfois repris pour une interfrence entre le porte-outil ou la broche et la pice.

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS Pour certains de ces messages, des explications sont donnes plus loin.

76

Changer doutil alors que la compensation de rayon doutil est active nest pas considr comme une erreur, mais il est peu probable que cela soit fait intentionnellement. Le rayon doutil utilis lors de ltablissement de la compensation continuera tre utilis jusqu la dsactivation de la compensation, mme si un nouvel outil est effectivement utilis. Quand la compensation de rayon doutil est active, il est physiquement possible de faire un cercle, dont le rayon est la moiti du diamtre de loutil donn dans la table doutils, il sera tangent avec loutil en tout point de son contour.

En particulier, linterprteur traite les coins concaves et les arcs concaves plus petits que loutil, comme des erreurs, le cercle ne peut pas tre maintenu tangent avec le contour dans ces situations. Cette dtection de dfaut, ne limite pas les formes qui peuvent tre usines, mais elle requiert que le programmeur prcise la forme exacte usiner (ou le parcours doutil qui doit tre suivi) et non une approximation. A cet gart, linterprteur utilis par EMC diffre des interprteurs utiliss dans beaucoup dautres contrleurs, qui passent ces erreurs sous silence et laissent loutil interfrer avec la partie nie de la pice (gouging) ou arrondissent des angles qui devraient tre vifs. Il nest pas ncessaire, de dplacer loutil entre la dsactivation de la compensation et sa ractivation, mais le premier mouvement suivant la ractivation sera considr comme premier mouvement, comme dj dcrit plus tt. Il nest pas possible de passer dun index de rayon doutil un autre alors que la compensation est active. Il est galement impossible de basculer la compensation dun ct lautre avec la compensation active. Si le prochain point de destination XY est dj dans le primtre daction de loutil quand la compensation est active, le message indiquant une interfrence outil/surface nie, safchera quand la ligne du programme qui donne cette destination sera atteinte. Dans ce cas, loutil a dj usin dans le matriau, l o il naurait pas d... Si le numro de slot programm par le mot D est suprieur au nombre demplacements disponibles dans le carrousel, un message derreur sera afch. Dans limplmentation actuelle, le nombre demplacements maximum est de 68. Le message derreur "Deux G-codes du mme groupe modal sont utiliss" est un message gnrique utilis pour plusieurs jeux de G-codes. Il sapplique la compensation de rayon doutil, il signie que plus dun code G40, G41 ou G42 apparat sur la mme ligne de progamme NC, ce qui nest pas permis.

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS

77

Premier mouvement
Lalgorithme utilis lors du premier dplacement, quand cest une ligne droite, consiste tracer une droite, depuis le point darrive, tangente un cercle dont le centre est le point actuel, et le rayon, celui de loutil. Le point de destination de la pointe de loutil se trouve alors au centre dun cercle de mme rayon, tangeant la ligne droite trace prcdemment. Cest montr sur la gure 9. Si le point programm est situ lintrieur de la premire section doutil (le cercle de gauche), une erreur sera signale.

Si le premier mouvement aprs que la compensation de rayon doutil a t active est un arc, larc qui sera gnr est driv dun arc auxiliaire, qui a son centre identique celui du point central programm, passe par le point nal de larc programm et, est tangent loutil son emplacement courant. Si larc auxiliaire ne peut pas tre construit, une erreur sera signale. Larc gnr dplacera loutil pour quil reste tangeant larc auxiliaire pendant tout le mouvement. Cest ce que montre sur la gure 10. Indpendamment du fait que le premier dplacement est une droite ou un arc, laxe Z peut aussi se dplacer en mme temps. Il se dplacera linairement, comme cest le cas quand la compensation de rayon nest pas utilise. Les mouvements des axes rotatifs (A, B et C) sont autoriss avec la compensation de rayon doutil, mais leur utilisation serait vraiment trs inhabituelle. Aprs les mouvements dentre en compensation de rayon doutil, linterprteur maintiendra loutil tangeant au contour programm et du ct appropri. Si un angle aig se trouve dans le parcours, un arc est insr pour tourner autour de langle. Le rayon de cet arc sera de la moiti du diamtre de loutil donn dans la table doutils. Quand la compensation de rayon est dsactive, aucun mouvement de sortie particulier nest fait. Le mouvement suivant sera ce quil aurait t si la compensation navait jamais t active et que le mouvement prcdent ait plac loutil sa position actuelle.

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS Programmation des mouvements dentre

78

En gnral, un mouvement dalignement et deux mouvements dentre sont demands pour commencer la compensation correctement. Cependant, si le contour programm comporte des pointes et des angles aigs, un seul mouvement dentre (plus, ventuellement, un mouvement de prentre) est demand. La mthode gnrale, qui fonctionne dans toutes les situations, est dcrite en premier. Elle suppose que le programmeur connait dj le contour et son but est dajouter le mouvement dentre. Mthode gnrale La mthode gnrale de programmation comprend un mouvement dalignement et deux mouvements dentre. Les mouvements dentre expliqus ci-dessus, seront repris comme exemple. Voici le code correspondant :
N0010 G1 X1 Y4.5 (mouvement dalignement vers le point C) N0020 G41 G1 Y3.5 (active la compensation et fait le premier mouvement dentre vers le point B) N0030 G3 X2 Y2.5 I1 (fait le second mouvement dentre vers le point A)

Voir la gure 11. La gure montre les deux mouvements dentre mais pas le mouvement dalignement. En premier, choisir un point A sur le contour o il convient dattacher un arc dentre. Spcier un arc lextrieur du contour qui commence au point B et sachve au point A, tangeant au contour (et aller dans la mme direction que celle prvue pour tourner autour du contour). Le rayon doit tre suprieur la moiti du diamtre donn dans la table doutils. Ensuite, tirer une ligne tangeante larc, du point B au point C, plac de telle sorte que la ligne BC fasse plus dun rayon de long. Aprs que la construction soit termine, le code est crit dans lordre inverse de celui de la construction. La compensation de rayon doutil est active aprs le mouvement dalignement et avant le premier mouvement dentre. Dans le code prcdent, la ligne N0010 fait le mouvement dalignement, la ligne N0020 active la compensation et fait le premier mouvement dentre et la ligne N0030 fait le second mouvement dentre.

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS

79

Dans cet exemple, larc AB et la ligne BC sont trs larges, ce nest pas ncessaire. Pour un contour sur parcours doutil, le rayon de larc AB demande juste tre lgrement plus grand que la variation maximale du rayon de loutil par rapport son rayon nominal. Egalement, pour un contour sur parcours doutil, le ct choisi pour la compensation doit tre celui utilis si loutil est surdimensionn. Comme mentionn prcdemment, si loutil est sousdimensionn, linterprteur basculera de lautre ct. Mthode simple Si le contour est sur le prol du matriau et quil comprends des angles aigs quelque part sur le contour, une mthode simple pour faire lentre est possible. Voir la gure 12. Premirement, choisir un angle aig, par exemple D. Ensuite, dcider comment on va tourner autour du matriau depuis le point D. Dans notre exemple nous maintiendrons loutil gauche du prol et nous avancerons vers F. Prolonger la ligne FD (si le segment suivant du contour est un arc, prolonger la tangeante larc FD depuis D) pour diviser la surface extrieure au contour proche de D en deux parties. Sassurer que le centre de loutil est actuellement dans la partie du mme ct de la ligne prolonge que le matriau. Sinon, dplacer loutil dans cette partie. Par exemple, le point E reprsente la position courante du centre de loutil. Comme il est du mme ct de la ligne FD prolonge que le triangle gris du matriau, aucun mouvement supplmentaire nest ncessaire. Maintenant crire la ligne de code NC qui active la compensation et faire le mouvement vers le point D
N0010 G41 G1 X2 Y2 (active la compensation et fait le mouvement dentre)

Cette mthode fonctionnera galement avec un angle aig sur un contour sur parcours doutil, si loutil est surdimensionn, mais elle chouera si il est sousdimensionn.

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS Autres points o est excute la compensation de rayon doutil

80

Le jeu complet de fonctions canoniques comprend des fonctions qui activent et dsactivent la compensation de rayon doutil, de sorte quelle puisse tre active quand le contrleur excute une de ces fonctions. Dans linterprteur cependant, ces commandes ne sont pas utilises. La compensation est assure par linterprteur et rete dans les sorties des commandes, cest linterprteur qui continuera diriger les mouvements du centre de loutil. Cela simplie le travail du contrleur de mouvement tout en rendant le travail de linterprteur un peu plus difcile. Algorithmes pour compensation de rayon doutil Linterprteur permet que les mouvements dentre et de sortie soient des arcs. Le comportement pour les mouvements intermdiaires est le mme, except que certaines situations sont traites comme des erreurs par linterprteur alors quelles ne le sont pas sur dautres contrleurs de machine. Donnes relatives la compensation de rayon doutil : Linterprteur conserve trois donnes pour la compensation de rayon doutil : Le rglage lui mme (gauche, droite ou arrt), program_x et program_y. Les deux dernires reprsentent les positions en X et en Y donnes dans le code NC quand la compensation est active. Quand elle est dsactive, les deux entres sont xes de trs petites valeurs (10 e-20 ) dont la valeur symbolique (dans un #dene) est "unknown". Linterprteur utilise, les items current_x et current_y qui reprsentent, le centre de la pointe de loutil (dans le systme de coordonnes courant), tout moment.

Exemples de Jon Elson


Toutes les informations spciques au systme se rfrent au programme EMC du NIST, mais doit aussi sappliquer aux plus modernes contrleurs CNC. Ma mthode de vrication de ces programmes est dabord de slectionner loutil zro, de sorte que les commandes de compensation soient ignores. Ensuite, je colle une feuille de papier sur une plaque tenue de niveau dans ltau, une sorte de platine. Jinstalle une recharge de stylo ressort dans la broche. Cest une recharge standard de stylo bille en mtal avec un ressort, dans un corps de 12mm de diamtre. Elle un ressort pour la faire rentrer dans le corps du stylo, et un collet larrire qui permet la pointe de se rtracter malgrs le ressort, mais qui la laisse centre quelques diximes prs. Je charge le programme avec loutil zro slectionn, et il trace une ligne lextrieur de la pice. (voir la gure suivante) Alors, je slectionne un outil avec le diamtre de loutil que jenvisage dutiliser et je lance le programme une nouvelle fois. (Noter que la coordonne Z dans le programme ne doit pas tre change pour viter de plonger le stylo au travers du plateau ;-) Maintenant, je dois voir si la compensation G41 ou G42 que je spcie passe sur le ct voulu de la pice. Sinon, je modie avec la compensation du ct oppos, et jdite la compensation oppose dans le programme, puis jessaye nouveau. Maintenant, avec loutil sur le ct correct de la pice, je peut vrier si quelque part sur le parcours loutil est trop gros pour usiner les surfaces concaves. Ma vieille Allen-Bradley 7320 tait trs indulgente sur ce point, mais EMC ne tolre rien. Si vous avez la moindre concavit o deux lignes se rencontrent moins de 180 degrs avec un outil de taille dnies, EMC va sarrter l, avec un message derreur. Mme si le gougeage est de .001mm de profondeur. Alors, je fais toujours lapproche sur le mouvement dentre et le mouvement de sortie juste sur un coin de la pice, en fournissant un angle de plus de 180 degrs, an quEMC ne hurle pas. Cela exige une grande attention lors de lajustement des points de dpart et de sortie, qui ne sont pas compenss par le rayon doutil, mais ils doivent tre choisis avec un rayon approximatif bien rchi. Les commandes sont : G40 - Annuler la compensation de rayon doutil G41 - Activer la compensation, outil gauche du prol G42 - Activer la compensation, outil droite du prol

CHAPITRE 11. FICHIER DOUTILS ET COMPENSATIONS

81

Voici un petit chier qui usine le ct dune pice avec de multiples arcs convexes et concaves et plusieurs lignes droites. La plupart de ces commandes ont t traces depuis Bobcad/CAM, mais les lignes N15 et N110 ont t ajoutes par moi et certaines coordonnes dans ce contour ont t bricoles un peu par moi.
N10 G01 G40 X-1.3531 Y3.4 N15 F10 G17 G41 D4 X-0.7 Y3.1875 (ligne dentre) N20 X0. Y3.1875 N40 X0.5667 F10 N50 G03 X0.8225 Y3.3307 R0.3 N60 G02 X2.9728 Y4.3563 R2.1875 N70 G01 X7.212 Y3.7986 N80 G02 X8.1985 Y3.2849 R1.625 N90 G03 X8.4197 Y3.1875 R0.3 N100 G01 X9. N110 G40 X10.1972 Y3.432 (ligne de sortie) N220 M02

La ligne 15 contient G41 D4, qui signie que le diamtre de loutil est celui de loutil #4 dans la table doutils, il sera utilis pour dcaler la broche de 1/2 diamtre, qui est, bien sr, le rayon doutil. Noter que la ligne avec la commande G41 contient le point nal du mouvement dans lequel la compensation de rayon est interpole. Cela signie quau dbut de ce mouvement, il ny a aucun effet de compensation et la n, loutil est dcal de 100% du rayon de loutil slectionn. Immdiatement aprs le G41 il y a D4, signiant que le dcalage sera le rayon de loutil N4 dans la table doutils. Noter que les DIAMETRES doutil sont entrs dans la table doutils. (le diamtre de loutil de Jon est de 0.4890) Mais, noter qu la ligne 110, o il y a la commande G40, linterpolation de la compensation doutil est en dehors de ce mouvement. La manire dobtenir ce rglage, les mouvements des lignes 15 et 110 sont presque exactement parallles laxe X et la diffrence dans les coordonnes Y est la ligne o loutil est appel, en dehors de la compensation doutil.

Certaines autres choses sont noter, le programme commence avec G40, pour dsactiver les compensations ventuellement actives. Cela vite un tas dennuis quand le programme sarrte cause dune erreur de concavit, mais laisse la compensation dsactive. Noter aussi, en ligne 15, G17 est utilis pour spcier le plan de travail XY pour les interpolations circulaires. Jai utilis le format rayon pour les spcications des arcs plutt que la forme I, J. EMC est trs pointilleux au sujet des rayons quil calcule partir du format des coordonnes I, J et il doit trouver le dbut et la n du mouvement avec 10^-11 units internes, de sorte quil y a beaucoup de problmes avec des arcs arbitraires. Normalement, si vous avez un arc de 90 degrs, centr sur (1.0,1.0) avec un rayon de 1", tout ira bien, mais si le rayon ne peut pas tre exprim exactement et avec juste le nombre de chiffres signicatifs, ou si larc un nombre trange de degrs, alors les problmes commencent avec EMC. Le mot R supprime tous ce dsordre et il est beaucoup plus facile de travailler avec lui, de toute faon. Si larc est de plus de 180 degrs, R doit tre ngatif.

Chapitre 12

G Codes
Les G-codes du langage RS274/NGC sont dcrits ci-dessous. Dans une commande type, le tiret (-) signie une valeur relle. Comme dcrite prcdemment, une valeur relle peut tre (1) un nombre explicite, 4 par exemple, (2) une expression, [2+2] par exemple, (3) une valeur de paramtre, #88 par exemple, ou (4) une fonction unaire de la valeur acos [0], par exemple. Dans la plupart des cas, si des mots daxes sont donns, parmi X, Y, Z, A, B, C, U, V, W, ils spcient le point de destination. Les axes sont donns dans le systme de coordonnes courant, moins quexplicitement dcrit comme tant dans le systme de coordonnes absolues (machine). O les axes sont optionnels, tout axe omis gardera sa valeur courante. Tout item dans une commande non explicitement dcrit comme optionnel sera requis. Une erreur sera signale si un item requis est omis. Dans les commandes, les valeurs suivant les lettres sont souvent donnes comme des nombres explicites. Sauf indication contraire, les nombres explicites peuvent tre des valeurs relles. Par exemple, G10 L2 pourrait aussi bien tre crite G [2 * 5] L [1 +1]. Si la valeur du paramtre 100 taient 2, G10 L#100 signierait galement la mme chose. Lutilisation de valeurs relles qui ne sont pas des nombres explicites, comme indiqu dans les exemples sont rarement utiles. Si L- est crit dans une commande le - fera rfrence L nombre. De la mme manire, le - dans H- peut tre appel le H nombre et ainsi de suite pour les autres lettres.

82

CHAPITRE 12. G CODES

83

12.1

Table rsume du G-code


Descriptions Interpolation linaire en vitesse rapide Interpolation linaire en vitesse travail Interpolation circulaire sens horaire, sens anti-horaire Mode diamtre, rayon sur les tours Entre longu., rayon, orientation outil dans table doutils Etablissement du systme de coord. pice (1 9) Choix du plan de travail Unit machine Aller une position prdnie Aller une position prdnie Mouvement synchronis avec la broche Taraudage rigide Mesures au palpeur Annulation de la compensation de longueur doutil Compensation de rayon doutil Comp. dynamique de rayon doutil gauche, droite Comp. de longueur doutil depuis la table doutils Annulation de la compensation de longueur doutil Dplacements en coordonnes machine Choix du systme de coordonnes (1 a 9) Choix du systme de coordonnes Mode trajectoire exacte, mode arrt exact Mode trajectoire continue avec tolrance optionnelle Cycle de perage avec brise copeau Cycle de letage multipasses prprogramm (tour) Rvocation des codes modaux Cycle de perage Autres cycles preprogrammes Types de dplacements Dcalages dorigines avec mise jour des paramtres Annulation des dcalages dorigine Appliquer contenu des paramtres aux dc. dorigine Modes de vitesses Vitesse de coupe constante (IPM ou m/mn) Vitesse en tours par minute Options de retrait des cycles preprogrammes F=rglage vitesse travail, S=rglage vitesse broche Contrle du programme Contrle de la broche Appel doutil Tn n=numro doutil Contrle arrosage Pallet Shuttle Correcteur de vitesse davance travail Correcteur de vitesse de broche Correcteur dynamique de vitesse davance Vitesse constante Numro de loutil courant Output control Input control M-Codes dnis par lutilisateur O Codes Paramtres n/a n/a I J K or R n/a PRXZ PXYZABC n/a n/a n/a n/a K K n/a n/a D DL H IK n/a n/a n/a n/a P RLQ PZIJRKQHLE n/a RLP RLPQ n/a XYZABC n/a n/a n/a DS n/a n/a n/a n/a S T n/a n/a P n/a P P Q P P, E, L, Q PQ n/a Sections 12.2 12.3 12.4 12.6 12.8 12.9 12.10 12.11 12.12 12.13 12.14 12.14 12.15 12.16 12.16 12.16 12.17 12.17 12.18 12.19 12.19 12.20 12.20 12.21 12.1 12.23 12.24 12.24.8 12.25 12.27 12.27 12.27 12.28 12.29 12.29 12.30 15.115.2 13.1 13.2 13.3 13.4 13.1 13.6 13.7 13.8 12.18 13.10 13.11 13.12 13.13 14

Codes G0 G1 G2, G3 G7, G8 G10 L1 G10 L2 G17, G18, G19 G20, G21 G28, G28.1 G30, G30.1 G33 G33.1 G38.2-G38.5 G40 G41, G42 G41.1, G42.1 G43 G49 G53 G54-G59 G59.1-G59.3 G61, G61.1 G64 G73 G76 G80 G81 G82-G89 G90, G91 G92 G92.1, G92.2 G92.3 G93, G94, G95 G96 G97 G98, G99 F, S M0, M1, M2 M3, M4, M5 M6 M7, M8, M9 M30, M60 M50 M51 M52 M53 M61 M62 M65 M66 M100-M199 O

CHAPITRE 12. G CODES

84

12.2

G0 : Interpolation linaire en vitesse rapide

Pour un mouvement linaire en vitesse rapide, programmer G0 axes, au moins un mot daxe doit tre prsent, les autres sont optionnels. Le G0 est optionnel si le mode mouvement courant est dj G0. Cela produira un mouvement linaire vers le point de destination la vitesse rapide courante (ou moins vite si la machine natteint pas cette vitesse). Il nest pas prvu dusiner la matire quand une commande G0 est excute. Cest une erreur si : tous les axes sont omis. Si la compensation de rayon doutil est active, le mouvement sera diffrent de celui dcrit ci-dessus, voir la section 17.4. Si G53 est programm sur la mme ligne, le mouvement sera galement diffrent, voir la section 12.18. Si un mouvement G0 dplace seulement des axes rotatifs et que la position de la cible pour ces axes est dans une chelle de -360 360 degrs, le mouvement sera organis pour que chaque axe rotatif fasse moins dun tour complet. Exemple : N1 G0 X1 A[20*360] N2 G0 A0 Aprs la ligne N1, la position de laxe A sera 7200 degrs. 7200 degrs est gal zro degr sur un axe rotatif, de sorte que le mouvement linaire rapide spci en ligne N2 ne produira aucun mouvement.

12.3

G1 : Interpolation linaire en vitesse travail

Pour un mouvement linaire en vitesse travail, programmer G1 axes, au moins un mot daxe doit tre prsent, les autres sont optionnels. Le G1 est optionnel si le mode mouvement courant est dj G1. Cela produira un mouvement linaire vers le point de destination la vitesse de travail courante (ou moins vite si la machine natteint pas cette vitesse). Cest une erreur si : tous les axes sont omis. Si la compensation de rayon doutil est active, le mouvement sera diffrent de celui dcrit ci-dessus, voir la section 17.4. Si G53 est programm sur la mme ligne, le mouvement sera galement diffrent, voir la section 12.18.

12.4

G2, G3 : Interpolation circulaire en vitesse travail

Un mouvement circulaire ou hlicodal est spci en sens horaire avec G2 ou en sens anti-horaire avec G3. Les axes du cercle ou de lhlicode, doivent tre parallles aux axes X, Y, ou Z du systme de coordonnes machine. Les axes (ou, leurs quivalents, les plans perpendiculaires aux axes) sont slectionns avec G17 (axe Z, plan XY), G18 (axe Y, plan XZ), ou G19 (axe X, plan YZ). Si larc est circulaire, il se trouve dans un plan parallle au plan slectionn. Si une ligne de code RS274/NGC forme un arc et inclu le mouvement dun axe rotatif, laxe rotatif tournera vitesse constante, de sorte que le mouvement de laxe rotatif commence et se termine en mme temps que les autres axes XYZ. De telles lignes ne sont pratiquement jamais programmes. Si la compensation de rayon doutil est active, le mouvement sera diffrent de celui dcrit ci-dessus, voir la section 12.16. Deux formats sont autoriss pour spcier un arc : le format centre et le format rayon.

CHAPITRE 12. G CODES

85

12.4.1

Arc au format centre (format recommand)

Dans le format centre, les coordonnes du point nal de larc, dans le plan choisi, sont spcies par dcalage du centre de larc depuis le point courant. Dans ce format, il est permis davoir le point nal de larc identique au point courant. Cest une erreur si : Lorsque larc est projet sur le plan choisi, la distance entre le point courant et le centre diffrent de la distance entre le point darrive et le centre de plus de 0,0002 pouce (si les pouces sont utiliss), soit 0,002 millimtre (si les millimtres sont utiliss). Lorsque le plan XY est slectionn, programmer G2 Axe I- J- (ou utiliser G3 au lieu de G2). Les mots daxes sont tous facultatifs sauf au moins un entre X et Y qui doit tre utilis. I et J sont les dcalages du centre de larc, par rapport au point actuel (dans le sens X et Y, respectivement). I et J sont facultatifs, sauf quau moins un des deux doit tre utilis. Cest une erreur si : X et Y sont tous les deux omis. I et J sont tous les deux omis . Lorsque le plan XZ est slectionn, programmer G2 axes I- K- (ou utiliser G3 au lieu de G2). Les mots daxes sont tous facultatifs sauf au moins un entre X et Z qui doit tre utilis. I et K sont les dcalages du centre de larc, par rapport au point actuel (dans le sens X et Z , respectivement). I et K sont facultatifs, sauf quau moins un des deux doit tre utilis. Cest une erreur si : X et Z sont tous les deux omis. I et K sont tous les deux omis . Lorsque le plan YZ est slectionn, programmer G2 axes J- K- (ou utiliser G3 au lieu de G2). Les mots daxes sont tous facultatifs sauf au moins un entre Y et Z qui doit tre utilis. J et K sont les dcalages du centre de larc, par rapport au point actuel (dans le sens Y et Z , respectivement). J et K sont facultatifs, sauf quau moins un des deux doit tre utilis. Cest une erreur si : Y et Z sont tous les deux omis. J et K sont tous les deux omis . Voici un exemple de commande pour usiner un arc au format centre : G17 G2 x10 y16 i3 j4 z9. Cela signie faire un mouvement en arc ou hlicodal en sens horaire (vu du ct positif de laxe Z), se terminant en X=10, Y=16 et Z=9, avec son centre dcal du point actuel de 3 units en X et de 4 units en Y. Si la position courante est X=7, Y=7 au nal, le centre sera en X=10, Y=11. Si la position de dpart de laxe Z est 9, ce sera un arc circulaire, autrement ce sera un arc hlicodal. Le rayon de larc sera de 5. Dans le format centre, le rayon de larc nest pas spci, mais il peut facilement tre trouv comme tant la distance entre le centre de larc et soit, son point darrive soit, le point courant.

12.4.2

Arcs au format rayon (format non recommand)

Dans le format rayon, les coordonnes du point nal de larc, dans le plan choisi, sont spcies en mme temps que le rayon de larc. Programmer G2 axes R- (ou utiliser G3 au lieu de G2). R est le rayon. Les mots daxes sont facultatifs sauf au moins un des deux du plan choisi, qui doit tre utilis. Un rayon positif indique que larc fait moins de 180 degrs, alors quun rayon ngatif indique un arc suprieur 180 degrs. Si larc est hlicodal, la valeur du point darrive de larc dans les coordonnes de laxe perpendiculaire au plan choisi sera galement spcie. Cest une erreur si : Les deux mots daxes pour le plan choisi sont omis. Le point darrive de larc est identique au point courant. Ce nest pas une bonne pratique de programmer au format rayon, des arcs qui sont presque des cercles entiers ou des demi-cercles, car un changement minime dans lemplacement du point darrive va produire un changement beaucoup plus grand dans lemplacement du centre du cercle (et donc, du milieu de larc). Leffet de grossissement est tellement important, quune erreur darrondi peut facilement produire un usinage hors tolrance. Par exemple, 1% de dplacement de lextrmit dun arc de 180 degrs produit 7% de dplacement du point situ 90 degrs le long de larc. Les cercles presque complets sont encore pires. Autrement lusinage darcs dans une gamme de petits 165 degrs ou de 195 345 degrs sera bon.

CHAPITRE 12. G CODES

86

Voici un exemple de commande pour usiner un arc au format rayon: G17 G2 x 10 y 15 r 20 z 5. Cela signie faire un mouvement en arc ou hlicodal en sens horaire (vu du ct positif de laxe Z), se terminant en X=10, Y=15 et Z=5, avec un rayon de 20. Si la valeur de dpart de Z est 5, Ce sera un arc de cercle parallle au plan XY sinon, ce sera un arc hlicodal.

12.5

G4 : Tempo

Pour une tempo, programmer G4 P- . Les axes simmobiliseront pour une dure de P secondes. Cest une erreur si : Le nombre P est ngatif.

12.6

G7 : Mode diamtre

Sur un tour, programmer G7 pour passer laxe X en mode diamtre. En mode diamtre, les mouvements de laxe X font la moiti de la cote programme. Par exemple, X10 placera loutil 5 units du centre, ce qui produira bien une pice dun diamtre de 10 units.

12.7

G8 : Mode rayon

Sur un tour, programmer G8 pour passer laxe X en mode rayon. En mode rayon, les mouvements de laxe X sont gaux la cote programme. Ce qui signie que X10 placera loutil 10 units du centre et aura pour rsultat une pice dun diamtre de 20 units. G8 est le mode par dfaut la mise sous tension.

12.8

G10 L1 : Entre dans la table doutils

Programmer un G10 L1 pour ajuster une entre dans la table doutils depuis un programme ou depuis la fentre dentres manuelles. G10 recharge la table doutils. Format de la commande G10 L1 : G10 L1 P[Numro doutil] R[rayon] X[correcteur en X] Z[correcteur en Z] Q[orientation] Pour connatre lorientation des outils, se rfrer la gure 7.1

12.9

G10 L2 : tablissement du systme de coordonnes pice

Le langage RS274/NGC utilise les systmes de coordonnes dcrits la section7.6. Pour dnir les coordonnes de lorigine dun systme de coordonnes pice, programmer G10 L2 P- axes, o lentier P, compris entre 1 et 9 (correspondance de G54 G59.3) et tous les mots daxes, sont optionnels. Lorigine du systme de coordonnes spci par le nombre P, est remplace par les valeurs indiques (en termes de coordonnes machine non dcales). Seules, les coordonnes pour lesquelles un mot daxe est inclu sur la ligne, seront remplaces. Etre en mode incrmental (G91), est sans effet sur G10 L2. Cest une erreur si :

CHAPITRE 12. G CODES Le nombre P nest pas un entier compris entre 1 et 9. Si un dcalage dorigine cr avec G92 est actif avant la commande G10 L2, il reste actif aprs.

87

Le systme de coordonnes dont lorigine est dnie par la commande G10 peut tre actif ou non au moment de lexcution de G10. Si il est actif ce moment l, les nouvelles coordonnes prennent effet immdiatement. Exemple : G10 L2 P1 X3.5 Y17.2 place lorigine du premier systme de coordonnes (celui selectionn par G54) au point o X=3.5 et Y=17.2 (en coordonnes absolues). La coordonne Z de lorigine, ainsi que les coordonnes de tous les autres axes, restent inchanges puisque seuls X et Y taient spcis.

12.10

G17, G18, G19, G17.1, G18.1, G19.1 : Choix du plan de travail

Ces codes slectionnent le plan courant comme ci-dessous : G17 G18 G19 G17.1 G18.1 G19.1 XY (par dfault) ZX YZ UV WU VW

Les diffrents effets provoqus selon la slection du plan de travail, sont expliqus dans les sections 12.4 et 7.2.10

12.11

G20, G21 : Choix des units machine

Programmer G20 pour utiliser le pouce comme unit de longueur. Programmer G21 pour utiliser le millimtre. Cest toujours une bonne pratique de programmer soit G20, soit G21, au dbut dun programme, avant tout mouvement et de ne plus en changer ailleurs dans le programme. Cest la responsabilit de loprateur dtre sr que toutes les longueurs sont appropries pour lutilisation des units actuelles.

12.12

G28, G28.1 : Aller une position prdnie

La commande G28 utilise les valeurs stockes dans les paramtres 5161 5166 comme valeurs absolues pour effectuer un mouvement en vitesse rapide de la position courante la position dnie dans les paramtres. Les valeurs stockes dans les paramtres font rfrence au systme de coordonnes absolues qui est le systme de coordonnes machine. La commande G28 axes effectue un dplacement en vitesse rapide depuis la position courante jusqu la position spcie par axes, suivi dun mouvement rapide la position prdnie dans les paramtres 5161 5166. G28.1 enregistre la position absolue courante dans les paramtres 5161 5166. Cest une erreur si : La compensation de rayon doutil est active.

CHAPITRE 12. G CODES

88

12.13

G30, G30.1 : Aller une position prdnie

La commande G30 utilise les valeurs stockes dans les paramtres 5181 5186 comme valeurs absolues pour effectuer un mouvement en vitesse rapide de la position courante la position dnie dans les paramtres. Les valeurs stockes dans les paramtres font rfrence au systme de coordonnes absolues qui est le systme de coordonnes machine. La commande G30 axes effectue un dplacement en vitesse rapide depuis la position courante jusqu la position spcie par axes, suivi dun mouvement rapide la position prdnie dans les paramtres 5181-5186. G30.1 enregistre la position absolue courante dans les paramtres 5181-5186. Les paramtres de G30 peuvent tre utiliss pour dplacer loutil quand un M6 est programm et que la variable [TOOL_CHANGE_AT_G30]=1 dans la section [EMCIO] du chier ini. Cest une erreur si : La compensation de rayon doutil est active.

12.14

G33, G33.1 : Mouvement avec broche synchronise

Pour un mouvement avec broche synchronise dans une direction, programmer G33 X- Y- Z- Ko K donne la longueur du mouvement en XYZ pour chaque tour de broche. Par exemple, il commence Z=0, G33 Z-1 K.0625 produira un mouvement dun pouce de long en Z, et en mme temps 16 tours de broche. Cette commande pourrait tre la base dun programme pour faire un letage de 16 lets par pouce. Un autre exemple en mtrique, G33 Z-15 K1.5 produira un mouvement de 15mm de long pendant que la broche fera 10 tours soit un pas de 1.5mm. Pour un taraudage rigide avec broche synchronise et mouvement de retour, programmer G33.1 XY- Z- K- o K- donne la longueur du mouvement pour chaque tour de broche. Un mouvement de taraudage rigide suit cette squence : Un mouvement aux coordonnes spcies, synchronis avec la rotation de la broche, avec un ratio donn et dbutant sur limpulsion dindex du codeur de la broche. Quand le point nal est atteint, la commande inverse le sens de rotation de la broche (ex : de 300 tours/mn en sens horaire 300 tours/mn en sens anti-horaire) Le mouvement reste synchronis en continu avec la broche mme au del de la coordonne du point nal spcie pendant larrt de la broche et son inversion. Le mouvement synchronis se poursuit pour revenir aux coordonnes initiales. Quand les coordonnes dorigines sont atteintes, la commande inverse la broche une seconde fois (ex : de 300tr/mn sens anti-horaire 300tr/mn sens horaire) Le mouvement reste synchronis mme au del des coordonnes dorigine pendant que la broche sarrte et sinverse. Un mouvement non synchronis ramne le mobile en arrire, aux coordonnes dorigine. Tous les mouvements avec broche synchronise ont besoin dun index de broche, pour conserver la trajectoire prvue. Un mouvement avec G33 se termine au point nal programm, un mouvement avec G33.1 se termine aux coordonnes initiales. Les mots daxes sont facultatifs, sauf au moins un qui doit tre utilis. Cest une erreur si : Tous les axes sont omis. La broche ne tourne pas quand cette commande est excute. Le mouvement linaire requis excde les limites de vitesse machine en raison de la vitesse de broche.

CHAPITRE 12. G CODES

89

12.15

G38.x : Mesure au palpeur

Programmer G38.2 axes, G38.3 axes, G38.4 axes, ou G38.5 axes pour effectuer une mesure au palpeur. Au moins un mot daxe est obligatoire, les autres sont optionnels. Loutil dans la broche doit tre un palpeur. Cest une erreur si : Le point programm est le mme que le point courant. Aucun mot daxe nest utilis. La compensation de rayon doutil est active. La vitesse travail est zro. Le palpeur est dj au contact de la cible. En rponse cette commande, la machine dplace le point contrl (qui est la pointe ou la boule du palpeur), en ligne droite, la vitesse actuelle, vers le point programm, en mode vitesse inverse du temps ; la vitesse est telle, que le mouvement depuis le point courant jusquau point programm, prendra le temps spci. Le mouvement sarrte lorsque le point programm est atteint, ou quand lentre du palpeur bascule dans ltat attendu 1 . Le tableau 12.1 montre la signication des diffrents codes de mesure. T ABLE 12.1 Codes de mesure Etat cibl Direction Signal derreur Contact Vers la pice Oui Contact Vers la pice Non Pas de contact Depuis la pice Oui Pas de contact Depuis la pice Non

Code G38.2 G38.3 G38.4 G38.5

Aprs une mesure russie, les paramtres 5061 5069 contiendront les coordonnes de lemplacement du point contrl lors du changement dtat du palpeur. Aprs une mesure manque, ils contiendront les coordonnes du point programm. Le paramtre 5070 est mis 1 si la mesure est russie et 0 si elle est manque. Si la mesure na pas russi, G38.2 et G38.4 signaleront une erreur. Un commentaire de la forme (PROBEOPEN filename.txt) ouvrira le cher lename.txt et y enregistrera les 9 coordonnes de chaque mesure russie. Le chier doit tre ferm avec le commentaire (PROBECLOSE).

12.16

G40, G41, G42, G41.1, G42.1 : Compensation de rayon doutil

Pour dsactiver la compensation de rayon doutil, programmer G40. Le mouvement suivant doit tre une droite. Ce nest pas une erreur de dsactiver la compensation quand elle est dj inactive. Cest une erreur de programmer un mouvement en arc avec G2 ou G3 derrire un G40. Pour activer la compensation de rayon doutil gauche du prol, programmer G41. Pour activer la compensation de rayon doutil droite du prol, programmer G42. Le mouvement dentre doit tre au moins aussi long que le rayon de loutil. Le mouvement dentre peut tre effectu en vitesse rapide. La compensation de rayon doutil ne peut tre active que si le plan de travail courant est le plan XY. Le comportement du centre dusinage quand la compensation de rayon doutil est active est dcrit dans la section 17.4
1. En ralit, le mouvement continue lgrement aprs que ltat du palpeur ait bascul, cause des contraintes dacclration/dclration de la machine.

CHAPITRE 12. G CODES

90

12.16.1

Compensation de rayon doutil depuis une table doutils

Pour activer la compensation de rayon doutil gauche du prol, cest dire, la fraise reste gauche de la trajectoire programme quand le rayon doutil est positif, programmer G41 D- . Pour activer la compensation de rayon doutil droite du prol, cest dire, la fraise reste droite de la trajectoire programme quand le rayon doutil est positif, programmer G42 D- . Le mot D est optionnel, si il ny a pas de mot D, le rayon de loutil mont actuellement dans la broche est utilis. Si D est utilis, sa valeur devrait tre le numro de loutil mont dans la broche, cependant, ce nest pas obligatoire. Ce nest pas une erreur davoir D zro, le rayon utilis sera de zro. Cest une erreur si : La valeur de D nest pas un entier, il est ngatif ou suprieur au nombre demplacements dans le carrousel. Le plan de travail nest pas YZ. La compensation de rayon doutil est active alors quelle est dj active.

12.16.2

Compensation dynamique de rayon doutil

Pour activer la compensation dynamique de rayon doutil gauche du prol, programmer G41.1 DL-. Pour activer la compensation dynamique de rayon doutil droite du prol, programmer G42.1 D- L-. Le mot D spcie le diamtre de loutil. Le mot L spcie lorientation des artes de loutil, et par dfaut 0 si non spci. Cest une erreur si : Le plan yz est le plan de travail actif. La valeur de L nest pas comprise entre 0 et 9 inclus. La compensation de rayon doutil est active alors quelle est dj active.

12.17
12.17.1

G43, G43.1, G49 : Compensation de longueur doutil


G43, G43.1 : Activation de la compensation de longueur doutil

G43 et G43.1 modient les mouvements ultrieurs en dcalant, de la longueur de loutil, les coordonnes de Z et/ou de X. G43 et G43.1 ne provoquent aucun mouvement. Leffet de la compensation ne se produira quau prochain mouvement de laxe compens. 12.17.1.1 G43 : Compensation de longueur doutil depuis une table doutils

Pour utiliser la compensation de longueur doutil depuis une table doutils, programmer G43 H- , o la valeur de H est lindex souhat dans la table doutils. La valeur de H nest pas obligatoirement la mme que celle du numro doutil mont dans la broche. Ce nest pas une erreur davoir la valeur de H zro, une compensation de zro sera utilise. Cest une erreur si : La valeur de H nest pas un entier, il est ngatif, ou il est suprieur au nombre doutils dans le carrousel. 12.17.1.2 G43.1 : Compensation dynamique de longueur doutil

Pour utiliser la compensation dynamique de longueur doutil depuis un programme, utiliser G43.1 I- K-, o I- donne la compensation de longueur doutil en X (pour les tours) et K- donne la compensation de longueur en Z (pour les tours et les fraiseuses). Cest une erreur si : Une commande de mouvement est sur la mme ligne que G43.1

CHAPITRE 12. G CODES

91

12.17.2

G49 : Annulation de la compensation de longueur doutil

Pour annuler la compensation de longueur doutil, programmer G49. Ce nest pas une erreur de programmer une compensation qui est dj utilise. Ce nest pas non plus une erreur dannuler la compensation de longueur doutil alors quaucune nest couramment utilise.

12.18

G53 : Mouvement en coordonnes absolues

Pour un dplacement un point exprim en coordonnes absolues, programmer G1 G53 X- Y- ZA- B- C- (ou utiliser G0 la place de G1), au moins un mot daxe est obligatoire, les autres sont optionnels. Le G0 ou le G1 est optionnel si il est dj le mode de mouvement courant. G53 nest pas modal, il doit tre programm sur chaque ligne o il doit tre actif. Il produit un mouvement linaire coordonn au point programm. Si G1 est actif, la vitesse travail courante est utilise si la machine est assez rapide. Si G0 est actif, la vitesse rapide courante sera utilise si la machine est assez rapide. Cest une erreur si : G53 est utilis sans que G0 ou G1 ne soit actif. G53 est utilis alors que la compensation de rayon doutil est active. Voir la section 7.6 pour une vue complte des systmes de coordonnes.

12.19

G54 G59.3 : Choix du systme de coordonnes

Le code G54 est appari avec le systme de coordonnes pice N1, pour le choisir programmer G54 et ainsi de suite pour les autres systmes. Les systmes de coordonnes apparis un G-code sont les suivants : (1 avec G54), (2 avec G55), (3 avec G56), (4 avec G57), (5 avec G58), (6 avec G59), (7 avec G59.1), (8 avec G59.2) et (9 avec G59.3). Cest une erreur si : Un de ces G-codes est utilis alors que la compensation de rayon doutil est active. Voir la section 7.6 pour une vue complte des systmes de coordonnes.

12.20

G61, G61.1, G64 : Types de contrle de trajectoire

Programmer G61 pour passer la machine en mode de trajectoire exacte, G61.1 pour la passer en mode arrt exact, ou G64 P- pour le mode trajectoire continue avec tolrance optionnelle. Ce nest pas une erreur de programmer un mode dj actif. Voir la section 7.2.15 pour une discussion de ces modes.

12.21

G73 : Cycle de perage avec brise copeaux

Le cycle G73 est destin au perage profond ou au fraisage avec brise-copeaux. Les retraits, au cours de ce cycle, fragmentent les copeaux longs (qui sont frquents lors du perage dans laluminum). Ce cycle utilise la valeur Q qui reprsente un incrment delta le long de laxe Z. Programmer G73 X- Y- Z- A- B- C- R- L- Qdonnera : 1. Un mouvement prliminaire. Comme dcrit ici 12.24.6

CHAPITRE 12. G CODES

92

2. Un mouvement de laxe Z seul, en vitesse travail, sur la position la moins profonde entre, un incrment delta, ou la position de Z programme. 3. Une petite remonte en vitesse rapide. 4. Rptition des tapes 2 et 3 jusqu ce que la position programme de Z soit atteinte ltape 2. 5. Un mouvement de laxe Z en vitesse rapide vers le plan de retrait. Cest une erreur si : La valeur de Q est ngative ou gale zro.

12.22

G76 : Cycle de letage prprogramm

Programmer G76 P- Z- I- J- R- K- Q- H- E- L- pour produire un cycle de letage multi-passes. Cest une erreur si : Le plan de travail actif nest pas ZX. Dautres mots daxes comme X- ou Y-, sont spcis. La dgressivit R- est infrieure 1.0. Certains mots requis ne sont pas spcis. P-, J-, K- ou H- est ngatif. E- est suprieure la moiti de la longueur de la ligne pilote. La ligne pilote (drive line) est une ligne imaginaire, parallle laxe de la broche, situe en scurit lextrieur du matriau leter. La ligne pilote va du point initial en Z jusqu la n du letage donne par la valeur de Z- dans la commande. Le pas du let, ou la longueur du dplacement par tour est donn par la valeur de P-. La crte du let est donne par la valeur de I- , cest une cote entre la ligne pilote et la surface de la pice. Une valeur ngative de I-, indique un letage externe et une valeur positive, indique un letage interne. Cest gnralement ce diamtre nominal que le matriau est cylindr avant de commencer le cycle G76. La profondeur de la passe initiale est donne par la valeur de J-. La premire passe sera J- au del de la crte du let. J- est positif, mme quand I- est ngatif. La profondeur du let est donne par la valeur de K-. La dernire passe du letage sera K- au del de la crte du let. K- est positif, mme quand I- est ngatif. La dgressivit de la profondeur de passe est donne par la valeur de R-. R1.0 slectionne une profondeur de passe constante pour les passes successives du letage. R2.0 slectionne une surface constante. Les valeurs comprises entre 1.0 et 2.0 slectionnent une profondeur dcrossante mais une surface crossante. Enn, les valeurs suprieures 2.0 slectionnent une surface dcrossante. Attention : les valeurs inutilement hautes de dgression, demanderont un nombre inutilement important de passes. Langle de pntration oblique est donn par la valeur de Q- cest langle (en degrs) dcrivant de combien les passes successives doivent tre dcales le long de laxe. Cest utilis pour faire enlever plus de matriau dun ct de loutil que de lautre. Une valeur positive de Q fait couper davantage le bord principal de loutil. Typiquement, les valeurs sont 29, 29.5 ou 30 degrs. Le nombre de passes de nition est donn par la valeur de H-. Les passes de nition sont des passes additionnelles en fond de let. Pour ne pas faire de passe de nition, programmer H0. Les entres et sorties de letage peuvent tre programmes cniques avec les valeurs de E- et L-. E- donne la longueur de la partie cnique le long de laxe. E0.2 donnera un cne pour le premier et le dernier let, de 0.2 units dans le sens du letage. L- est utilis pour spcier quelles extrmits du letage doivent tre cniques. Programmer L0 pour aucune (par dfaut), L1 pour une entre cnique, L2 pour une sortie cnique, ou L3 pour lentre et la sortie cniques.

CHAPITRE 12. G CODES

93

Loutil fera une brve pause pour la synchronisation avant chaque passe de letage, ainsi une gorge de dgagement sera requise lentre, moins que le dbut du letage ne soit aprs lextrmit de la pice ou quun cne dentre soit utilis. moins dutiliser un cne de sortie, le mouvement de sortie (retour rapide sur X dorigine) nest pas synchronis sur la vitesse de broche. Avec une broche lente, la sortie pourrait se faire sur une petite fraction de tour. Si la vitesse de broche est augmente aprs quun certain nombre de passes ne soient dj faites, la sortie va prendre une plus grande fraction de tour, il en rsultera un usinage trs brutal pendant ce nouveau mouvement de sortie. Ceci peut tre vit en prvoyant une gorge de sortie, ou en ne changeant pas la vitesse de broche pendant le letage. Un exemple de programme, g76.ngc montre lutilisation dun cycle de letage G76, il peut tre visualis et excut sur nimporte quelle machine utilisant la conguration sim/lathe.ini. F IGURE 12.1 G76 cycle de letage

12.23

G80 : Rvocation des codes modaux

Programmer G80 pour sassurer quaucun mouvement daxe ne surviendra sans G-code modal. Cest une erreur si : Des mots daxes sont programms quand G80 est actif, sans quun G-code modal du groupe 0 ne soit programm avec les mots daxes.

12.24

Les cycles prprogramms

Les cycles prprogramms de G81 G89 sont dcrit dans cette section. Deux exemples sont donns plus bas avec la description de G81. Tous les cycles prprogramms sont effectus dans le respect du plan de travail courant. Nimporte lequel des six plans de travail peut tre choisi. Dans cette section, la plupart des descriptions supposeront que le plan de travail XY est le plan courant. Le comportement reste analogue pour les autres plans de travail et les mots corrects doivent tre utiliss. Les mots daxes rotatifs sont autoriss dans les cycles prprogramms, mais il est prfrable de les omettre. Si les mots daxes rotatifs sont utiliss, leurs valeurs doivent rester les mmes que celles de la position courante, de sorte quils ne tournent pas.

12.24.1

Mots communs

Tous les cycles prprogramms utilisent les mots X-, Y-, R-, et Z-. La position de R- (signiant rtraction) est perpendiculaire au plan de travail courant (axe Z pour le plan XY, axe X pour le

CHAPITRE 12. G CODES

94

plan YZ, axe Y pour le plan XZ, etc.). Quelques cycles prprogramms utilisent des arguments supplmentaires.

12.24.2

Mots sticky

Dans les cycles prprogramms, un nombre est appel sticky (collant) si, quand le mme cycle est rpt sur plusieurs lignes de code en colonne, le nombre doit tre indiqu la premire fois, mais quil devient optionnel pour le reste des lignes suivantes. Les nombres sticky conservent leur valeur tant quils ne sont pas explicitement programms avec une nouvelle valeur. La valeur de R est toujours sticky. En mode de dplacements incrmentaux (G91), les valeurs X-, Y-, est R- sont traites comme des incrments depuis la position courante, Z est un incrment depuis la position de laxe Z avant le mouvement impliquant laxe Z. En mode de dplacements absolus, les valeurs de X-, Y-, R-, et Zsont des positions absolues dans le systme de coordonnes courant. La valeur L- est optionnelle, elle reprsente le nombre de rptitions. L = 0 nest pas permis. Si les rptitions sont utilises, elles le sont normalement en mode incrmental, de sorte que la mme squence de mouvements puisse tre rpte plusieurs endroits, galements espacs, le long dun ligne droite. En mode de dplacements absolus, L > 1 signie faire le mme cycle au mme endroit, plusieurs fois. Lomission du mot L revient spcier L = 1. La valeur de L nest pas sticky.

12.24.3

Rptition de cycle

Quand L > 1 en mode incrmental et XY comme plan courant, les positions X et Y sont dtermines en ajoutant les valeurs X et Y de la commande celles de la position courante, pour le premier trajet ou ensuite, celles de la position nale du prcdent trajet, pour les rptitions. Ainsi, si vous programmez L10, vous obtiendrez 10 cycles. Le premier cycle sera la distance X, Y depuis la position dorigine. Les positions de R- et Z- ne changent pas durant toutes les rptitions.

12.24.4

Mode de retrait

La hauteur du mouvement de retrait la n de chaque rptition (appelle plan de retrait dans les descriptions suivantes) est dtermine par le mode de retrait : retrait sur la position initiale de Z, si elle est au dessus de la valeur de R- et que le mode de retrait est G98, OLD_Z, sinon, la position de R-. Voir la section 12.30

12.24.5

Erreurs des cycles prprogramms

Cest une erreur si : Tous les mots X, Y et Z sont manquants durant un cycle prprogramm. Un nombre P est requis mais un nombre P ngatif est utilis. Un nombre L est utilis mais nest pas un entier positif. Un mouvement daxe rotatif est utilis durant un cycle prprogramm. Une vitesse inverse du temps est active durant un cycle prprogramm. La correction de rayon doutil est active durant un cycle prprogramm. Quand le plan XY est actif, la valeur de Z est sticky, et cest une erreur si : La valeur de Z est manquante alors quun mme cycle prprogramm na pas encore t activ. La valeur de R est infrieure celle de Z. Si un autre plan est actif, les conditions derreur sont analogues celles du plan XY dcrites cidessus.

CHAPITRE 12. G CODES

95

12.24.6

Mouvement prliminaire et Intermdiaire

Tout au dbut de lexcution dun cycle prprogramm, avec le plan courant XY, si la position actuelle de Z est en dessous de la position de retrait R, laxe Z va la position R. Ceci narrive quune fois, sans tenir compte de la valeur de L. En plus, au dbut du premier cycle et chaque rptition, un ou deux des mouvements suivants sont faits : 1. Un dplacement en ligne droite, parallle au plan XY, vers le position programme. 2. Un dplacement en ligne droite, de laxe Z seul vers la position de retrait R, si il nest pas dj cette position R. Si un autre plan est actif, le mouvement prliminaire et intermdiaire est analogue.

12.24.7

G81 : Cycle de perage

Le cycle G81 est destin au perage. Programmer G81 X- Y- Z- A- B- C- R- L- donnera : 1. Un mouvement prliminaire. Comme dcrit ici 12.24.6 2. Un dplacement de laxe Z seul la vitesse programme, vers la position Z programme. 3. Retrait de laxe Z en vitesse rapide jusquau plan de retrait R. Exemple 1. Supposons que la position courante soit, X1, Y2, Z3 dans le plan XY, la ligne de codes suivante est interprte : G90 G81 G98 X4 Y5 Z1.5 R2.8 Le mode de dplacements absolus est appel (G90), le plan de retrait est positionn sur OLD_Z (G98), lappel du cycle de perage G81 va lancer ce cycle une fois. La position X deviendra celle demande, X4. La position de Y deviendra celle demande, Y5. La position de Z deviendra celle demande, Z1.5. La valeur de R xe le plan de retrait de Z 2.8. La valeur de OLD_Z est 3. Les mouvements suivants vont se produire. 1. Un mouvement en vitesse rapide, parallle au plan XY vers X4, Y5, Z3 2. Un mouvement en vitesse rapide, parallle laxe Z vers X4, Y5, Z2.8 3. Un mouvement en vitesse travail, parallle laxe Z vers X4, Y5, Z1.5 4. Un mouvement en vitesse rapide, parallle laxe Z vers X4, Y5, Z3 Exemple 2. Supposons que la position courante soit, X1, Y2, Z3 dans le plan XY, la ligne de codes suivante est interprte : G91 G81 G98 X4 Y5 Z-0.6 R1.8 L3 Le mode de dplacements incrmentaux est appel (G91), le plan de retrait est positionn sur OLD_Z (G98), lappel du cycle de perage G81 demande 3 rptitions du cycle. La valeur demande de X est 4, la valeur demande de Y est 5, la valeur demande de Z est -0.6 et le retrait R est 1.8. La position initiale de X sera 5 (1+4), la position initiale de Y sera 7 (2+5), le plan de retrait sera positionn sur 4.8 (1.8+3) et Z positionn sur 4.2 (4.8-0.6). OLD_Z est 3. Le premier mouvement en vitesse rapide le long de laxe Z vers X1, Y2, Z4.8), puisque OLD_Z est infrieur au plan de retrait. La premire rptition produira 3 mouvements. 1. Un dplacement en vitesse rapide, parallle au plan XY vers X5, Y7, Z4.8 2. Un dplacement en vitesse travail, parallle laxe Z vers X5, Y7, Z4.2 3. Un dplacement en vitesse rapide, parallle laxe Z vers X5, Y7, Z4.8 La deuxime rptition produira 3 mouvements. La position de X est augmente de 4 et passe 9, la position de Y est augmente de 5 et passe 12.

CHAPITRE 12. G CODES

96

1. Un dplacement en vitesse rapide, parallle au plan XY vers X9, Y12, Z4.8 2. Un dplacement en vitesse travail, parallle laxe Z vers X9, Y12, Z4.2 3. Un dplacement en vitesse rapide, parallle laxe Z vers X9, Y12, Z4.8 La troisime rptition produira 3 mouvements. La position de X est augmente de 4 et passe 13, la position de Y est augmente de 5 et passe 17. 1. Un dplacement en vitesse rapide, parallle au plan XY vers X13, Y17, Z4.8 2. Un dplacement en vitesse travail, parallle laxe Z vers X13, Y17, Z4.2 3. Un dplacement en vitesse rapide, parallle laxe Z vers X13, Y17, Z4.8

12.24.8

G82 : Cycle de perage avec temporisation

Le cycle G82 est destin au perage. Programmer G82 X- Y- Z- A- B- C- R- L- Pdonnera : 1. Un mouvement prliminaire. Comme dcrit ici 12.24.6 2. Un dplacement de laxe Z seul en vitesse programme, vers la position Z programme. 3. Une temporisation de P secondes. 4. Retrait de laxe Z en vitesse rapide jusquau plan de retrait R.

12.24.9

G83 : Cycle de perage avec dbourrage

Le cycle G83 est destin au perage profond ou au fraisage avec brise-copeaux. Les retraits, au cours de ce cycle, dgagent les copeaux du trou et fragmentent les copeaux longs (qui sont frquents lors du perage dans laluminum). Ce cycle utilise la valeur Q qui reprsente un incrment delta le long de laxe Z. Programmer G83 X- Y- Z- A- B- C- R- L- Qdonnera : 1. Un mouvement prliminaire. Comme dcrit ici 12.24.6 2. Un mouvement de laxe Z seul, en vitesse travail, sur la position la moins profonde entre, un incrment delta, ou la position de Z programme. 3. Un mouvement en vitesse rapide au plan de retrait. 4. Une plonge en vitesse rapide dans le mme trou, presque jusquau fond. 5. Rptition des tapes 2, 3 et 4 jusqu ce que la position programme de Z soit atteinte ltape 2. 6. Un mouvement de laxe Z en vitesse rapide vers le plan de retrait. Cest une erreur si : La valeur de Q est ngative ou gale zro.

12.24.10

G84 : Cycle de taraudage droite

Ce code nest pas encore implment dans EMC2. Il est accept mais son comportement nest pas dni. Voir G33.1

12.24.11

G85 : Cycle dalsage, sans temporisation, retrait en vitesse travail

Le cycle G85 est destin lalsage, mais peut tre utilis pour le perage ou le fraisage. Programmer G85 X- Y- Z- A- B- C- R- L- donnera: 1. Un mouvement prliminaire. Comme dcrit ici 12.24.6 2. Un dplacement de laxe Z seul en vitesse travail, vers la position Z programme. 3. Retrait de laxe Z en vitesse travail vers le plan de retrait.

CHAPITRE 12. G CODES

97

12.24.12

G86 : Cycle dalsage, arrt de broche, retrait en vitesse rapide

Le cycle G86 est destin lalsage. Ce cycle utilise la valeur P pour une temporisation en secondes. Programmer G86 X- Y- Z- A- B- C- R- L- Pdonnera : 1. Un mouvement prliminaire. Comme dcrit ici 12.24.6 2. Un dplacement de laxe Z seul en vitesse travail, vers la position Z programme. 3. Une temporisation de P secondes. 4. Larrt de rotation de la broche. 5. Retrait de laxe Z en vitesse rapide vers le plan de retrait. 6. Reprise de la rotation de la broche dans la mme direction que prcdemment. La broche doit tourner avant le lancement de ce cycle. Cest une erreur si : La broche ne tourne pas avant que ce cycle ne soit xcut.

12.24.13

G87 : Alsage inverse

Ce code nest pas encore implment dans EMC2. Il est accept mais son comportement nest pas dni.

12.24.14

G88 : Alsage, arrt de broche, retrait en manuel

Ce code nest pas encore implment dans EMC2. Il est accept mais son comportement nest pas dni.

12.24.15

G89 : Cycle dalsage, temporisation, retrait en vitesse travail

Le cycle G89 est destin lalsage. Il utilise la valeur de P pour une temporisation en secondes. Programmer G89 X- Y- Z- A- B- C- R- L- Pdonnera : 1. Un mouvement prliminaire. Comme dcrit ici 12.24.6 2. Un dplacement de laxe Z seul en vitesse travail, vers la position Z programme. 3. Temporisation de P secondes. 4. Retrait de laxe Z en vitesse travail vers le plan de retrait.

12.25

G90, G91 : Modes de dplacement

Linterprtation du code RS274/NGC peut se faire dans deux modes de dplacements : absolu ou incrmental. Pour se dplacer en mode absolu, programmer G90. En mode absolu, les valeurs daxes X, Y, Z, A, B, C, U, V, W reprsentent les positions dans le systme de coordonnes courant. Les exceptions cette rgle sont dcrites dans la section 12.24. Pour se dplacer en mode incrmental, programmer G91. En mode incrmental, les valeurs daxes reprsentent un incrment depuis la position courante.

CHAPITRE 12. G CODES

98

12.26

G90.1, G91.1 : Mode distance (I, J et K)

Note : Cette fonctionnalit est en cours de dveloppement, elle nest peut tre pas totalement implmente. G90.1 Mode distance absolute pour les offsets I, J et K. I et J doivent tous les deux tre spcis ou une erreur se produira. G91.1 Mode distance incrmentale pour les offsets I, J et K. Renvoie I, J et K leur fonctionnement normal.

12.27

G92, G92.1, G92.2, G92.3 : Dcalage dorigine des systmes de coordonnes

Voir la section 7.6 pour une vision gnrale des systmes de coordonnes. Pour donner au point actuel de nouvelles valeurs de coordonnes (sans faire de mouvement), programmer G92 X- Y- Z- A- B- C- U-, V-, W-, o les mots daxes contiennent les valeurs souhates. Au moins un mot daxe est obligatoire, les autres sont optionnels. Si il ny a pas de mot daxe pour un axe donn, les coordonnes de cet axe resteront inchanges. Cest une erreur si : 1. Tous les mots daxes sont omis. Quand G92 est excut, les origines de tout les systmes de coordonnes sont dplaces. Elles sont dplaces de la mme valeur que le point contrl courant lest, dans le systme de coordonnes courant, pour prendre les valeurs spcies dans la ligne du G92. Les origines de tous les systmes de coordonnes sont dcales de la mme valeur. Un exemple : supposons que le point courant soit X=4 et quaucun dcalage G92 ne soit actif. La ligne G92 X7 est programme, toutes les origines seront dcales de -3 en X, ce qui fera que le point courant deviendra X=7. Ce -3 est sauvegard dans le paramtre 5211. Le fait dtre en mode de dplacement incrmental est sans effet sur laction de G92. Des dcalages G92 peuvent dj tre actifs quand G92 est appel. Si cest le cas, ils sont remplacs par le nouveau dcalage, de sorte que le point courant prenne la valeur spcie. Pour repasser un dcalage daxe zro, programmer G92.1 ou G92.2. G92.1 positionne les paramtres 5211 5219 zro, tandis que G92.2 conserve leurs valeurs courantes inchanges. Pour positionner des valeurs de dcalage daxes aux valeurs donnes dans les paramtres 5211 5219, programmer G92.3. Vous pouvez positionner les dcalages daxes dans un programme et r-utiliser les mmes dans un autre programme. Programmer G92 dans le premier programme, ce qui positionnera les paramtres 5211 5219. Ne pas utiliser G92.1 dans la suite du premier programme. Les valeurs des paramtres seront enregistres lors de la sortie du premier programme et rtablies au chargement du second programme. Utiliser G92.3 vers le dbut du deuxime programme, ce qui restaurera les dcalages daxes enregistrs par le premier. EMC2 enregistre les dcalages G92 et les rutilise au lancement du programme suivant. Il y a deux moyens de contourner cel, il est possible de programmer G92.1 pour effacer les dcalages, ou de programmer G92.2 pour que les dcalages enregistrs ne soient pas appliqus.

12.28

G93, G94, G95 : Choix des modes de vitesse

Trois modes de vitesse sont reconnus : units par minute, inverse du temps et units par tour. Programmer G94 pour passer en mode units par minute. Programmer G93 pour passer en mode inverse du temps. Programmer G95 pour passer en mode units par tour.

CHAPITRE 12. G CODES

99

Dans le mode vitesse en units par minute, le mot F est interprt pour indiquer que le point contrl doit se dplacer un certain nombre de pouces par minute, de millimtres par minute, ou de degrs par minute, selon lunit de longueur choisie pour les axes et quels types daxes doivent se dplacer. Dans le mode vitesse en units par tour, le mot F est interprt pour indiquer que le point contrl doit se dplacer un certain nombre de pouces par tour de broche, de millimtres par tour, selon lunit de longueur utilise et quels axes doivent tre dplacs. Dans le mode vitesse inverse du temps, le mot F signie que le mouvement doit tre termin en [1 divis par la valeur de F] minutes. Par exemple, si la valeur de F est 2.0, les mouvements doivent tre termins en 1/2 minute. Quand le mode vitesse inverse du temps est actif, le mot F doit apparatre sur chaque ligne contenant un mouvement G1, G2, ou G3. Les mots F qui sont sur des lignes sans G1, G2, ou G3 sont ignors. tre en mode vitesse inverse du temps est sans effet sur les mouvements G0 (vitesse rapide). Cest une erreur si : Le mode vitesse inverse du temps est actif et quune ligne avec G1, G2, ou G3 (explicitement ou implicitement) na pas de mot F. Une nouvelle vitesse na pas t spcie aprs un passage en G94 ou G95.

12.29

G96, G97 : Modes de contrle de la broche

Deux modes de contrle de la broche sont reconnus : tours par minute, et vitesse de coupe constante. Programmer G96 D- S- pour valider une vitesse de coupe constante de S pieds par minute si G20 est actif, ou mtres par minute si G21 est actif. La vitesse de rotation maximale est indique par la valeur de D- en tours par minute. Programmer G97 pour activer le mode vitesse en tours par minute. Cest une erreur si : S nest pas spci avec G96. Une vitesse est spcie en mode G96 et la broche ne tourne pas.

12.30

G98, G99 : Options du plan de retrait

Quand la broche se rtracte pendant les cycles prprogramms, il existe deux options pour indiquer comment elle se rtracte : (1) Retrait perpendiculaire au plan de travail courant jusqu la position indique par le mot R, ou (2) Retrait perpendiculaire au plan de travail courant jusqu la position qui tait celle de cet axe juste avant le dbut du cycle prprogramm ( moins que cette position ne soit infrieure celle indique par le mot R, auquel cas, cest cette dernire qui serait utilise. Pour utiliser loption (1), programmer G99. Pour utiliser loption (2), programmer G98. Ne pas oublier que le mot R a diffrentes signications en mode de dplacement absolu et en mode de dplacement incrmental.

Chapitre 13

M Codes
13.1 M0, M1, M2, M30, M60 : Arrts de programme

Pour stopper temporairement un programme en cours (quelle que soit la position du bouton darrt facultatif), programmer M0. Pour stopper temporairement un programme en cours (mais seulement si le bouton darrt optionnel est activ), programmer M1. Il est permis de programmer M0 et M1 en mode donnes manuelles (MDI), mais leffet ne sera probablement pas perceptible, puisque le comportement normal en mode MDI est de sarrter, de toute faon, la n de chaque ligne. Pour procder lchange de porte-pice avec le chargeur de pices et stopper temporairement un programme en cours (quel que soit le rglage du bouton darrt facultatif), programmer M60. Si un programme est stopp par M0, M1, ou M60, en appuyant sur le bouton de dpart cycle, le programme reprend la ligne suivante. Pour nir un programme, programmer M2. Pour changer le porte-pice du chargeur et nir un programme, programmer M30. Ces deux commandes produisent les effets suivants : 1. Les dcalages daxes sont mis zro (comme avec G92.2) et les dcalages dorigine sont mis aux valeurs par dfaut (comme avec G54). 2. Le plan de travail actif devient XY (comme avec G17). 3. Le mode de dplacement devient absolu (comme avec G90). 4. La vitesse travail passe en units par minute (comme avec G94). 5. Les correcteurs de vitesse sont activs (comme avec M48). 6. Les compensations doutil sont dsactives (comme avec G40). 7. La broche est arrte (comme avec M5). 8. Le mode mouvement courant devient G1 (comme avec G1). 9. Larrosage est arrt (comme avec M9). Plus aucune ligne de code RS274/NGC ne sera excute aprs excution de la commande M2 ou M30. Presser le dpart cycle relance le programme au dbut du chier.

13.2

M3, M4, M5 : Contrle de broche

Pour dmarrer la rotation de la broche en sens horaire la vitesse programme courante, programmer M3. 100

CHAPITRE 13. M CODES

101

Pour dmarrer la rotation de la broche en sens anti-horaire la vitesse programme courante, programmer M4. Pour arrter la rotation de la broche, programmer M5. Il est permis dutiliser M3 ou M4 si la vitesse de broche est zro. Si cela est fait (ou si le bouton de correction de vitesse est activ mais mis zro), la broche ne tournera pas, si, plus tard la vitesse de broche est augmente (ou que le correcteur de vitesse est augment), la broche va se mettre en rotation. Il est permis dutiliser M3 ou M4 quand la broche est dj en rotation ou dutiliser M5 quand la broche est dj arrte.

13.3

M6 : Appel doutil

Pour changer loutil actuellement dans la broche par un autre, nouvellement slectionn en utilisant le mot T, voir la section 15.3), programmer M6. Un changement doutil complet donnera : La rotation de la broche est arrte. Loutil qui a t slectionn (par le mot T sur la mme ligne ou sur nimporte quelle ligne aprs le changement doutil prcdent), sera plac dans la broche. Le mot T est un nombre entier indiquant le numro du slot doutil dans le carrousel (non son index). Si loutil slectionn nest pas dj dans la broche avant le changement doutil, loutil qui tait dans la broche (sil y en avait un) va tre replac dans son emplacement dans le chargeur. Les coordonnes des axes seront arrtes dans les mmes positions absolues quelles avaient avant le changement doutil (mais la broche devra peut-tre tre roriente). Aucune autre modication ne sera apporte. Par exemple, larrosage continue couler durant le changement doutil moins quil ne soit arrt par M9. Le changement doutil peut inclure des mouvements daxes pendant son excution. Il est permis, mais pas utile, de programmer un changement doutil avec le mme outil que celui qui est dj dans la broche. Il est permis galement, si il ny a pas doutil dans le slot slectionn, dans ce cas, la broche sera vide aprs le changement doutil. Si le slot zro a t le dernier slectionn, il ny aura pas doutil dans la broche aprs le changement.

13.4

M7, M8, M9 : Contrle darrosage

Pour activer larrosage par brouillard (gouttelettes), programmer M7. Pour activer larrosage uide, programmer M8. Pour arrter tous les arrosages, programmer M9. Il est toujours permis dutiliser une de ces commandes, que les arrosages soient arrts ou non.

13.5

M48, M49 : Contrle des correcteurs de vitesse

Pour autoriser les potentiomtres de corrections de vitesses de broche et celui de vitesse travail, programmer M48. Pour les inhiber tous les deux, programmer M49. Voir la section 7.3.1 pour plus de dtails. Il est permis dautoriser ou dinhiber ces potentiomtres quand ils sont dj autoriss ou inhibs. Ces potentiomtres peuvent aussi tre activs individuellement en utilisant les commandes M50 et M51 comme dcrit dans les sections 13.6 et 13.7.

13.6

M50 : Contrle du correcteur de vitesse travail

Pour autoriser le potentiomtre de correction de vitesse travail, programmer M50 ou M50 P1. Pour inhiber ce potentiomtre, programmer M50 P0. Quand il est inhib, le potentiomtre de correction

CHAPITRE 13. M CODES

102

de vitesse na plus aucune inuence et les mouvements seront excuts la vitesse de travail programme. ( moins que ne soit actif un correcteur de vitesse adaptative).

13.7

M51 : Contrle du correcteur de vitesse broche

Pour autoriser le potentiomtre de correction de vitesse de la broche, programmer M51 ou M51 P1. Pour inhiber ce potentiomtre programmer M51 P0. Quand il est inhib, le potentiomtre de correction de vitesse de broche na plus aucune inuence et la broche tournera la vitesse programme, en utilisant le mot S comme dcrit dans la section 15.2.

13.8

M52 : Contrle de vitesse adaptative

Pour utiliser une vitesse adaptative, programmer M52 ou M52 P1. Pour stopper lutilisation dune vitesse adaptative, programmer M52 P0. Quand la vitesse adaptative est utilise, certaines valeurs externes sont utilises avec les correcteurs de vitesse de linterface utilisateur et les vitesses programmes pour obtenir la vitesse travail. Dans EMC2, la HAL pin motion.adaptive-feed est utilise dans ce but. Les valeurs de motion.adaptive-feed doivent tre dans une chelle comprise entre 0 (pas de vitesse) et 1 (pleine vitesse).

13.9

M53 : Contrle de coupure de vitesse

Pour autoriser le bouton de coupure de vitesse, programmer M53 ou M53 P1. Pour inhiber ce bouton programmer M53 P0. Autoriser la coupure de vitesse permet dinterrompre les mouvements par le biais dune coupure de vitesse. Dans EMC2, la HAL pin motion.feed-hold est utilise pour cette fonctionnalit. Une valeur de 1 provoque un arrt des mouvements (si M53 est actif).

13.10

M61 : Ajuste le numro de loutil courant

Pour corriger le numro de loutil courant, en mode MDI ou aprs un changement manuel doutil programmer M61 Qxx dans la fentre de donnes manuelles. Au dmarrage dEMC2 avec un outil dans la broche, il est possible ainsi dajuster le numro de loutil courant sans faire de changement doutil. Cest une erreur si : Qxx nest pas gal o suprieur 0

13.11

M62 M65 : Contrle de sorties numriques

Pour contrler un bit de sortie digitale, programmer M- P-, o le mot M doit tre compris entre 62 et 65, et le mot P compris entre 0 et un maximum dni selon limplmentation. M62 Activer la sortie digitale synchronise avec un mouvement. M63 Dsactiver la sortie digitale synchronise avec un mouvement. M64 Activer immdiatement la sortie digitale. M65 Dsactiver immdiatement la sortie digitale.

CHAPITRE 13. M CODES

103

13.12

M66 : Contrle dentre digitale

Pour contrler un bit dentre digitale, programmer M66 P- E- L- Q- , o le mot P et le mot E doivent tre compris entre 0 et un maximum dni selon limplmentation. Un seul des mots P ou E doit tre prsent. Cest une erreur si ils sont prsents tous les deux. M66 Attente dune entre Le mot P spcie le numro dune entre digitale. Le mot E spcie le numro dune entre analogique. Le mot L spcie le type dattente : 0 - WAIT_MODE_IMMEDIATE - pas dattente, retour immdiat. La valeur courante de lentre est stocke dans le paramtre #5399 1 - WAIT_MODE_RISE - attente dun front montant sur lentre. 2 - WAIT_MODE_FALL - attente dun front descendant sur lentre. 3 - WAIT_MODE_HIGH - attente dun tat logique HIGH sur lentre. 4 - WAIT_MODE_LOW - attente dun tat logique LOW sur lentre. Le mot Q spcie le timeout pour lattente. Si le timeout est dpass, lattente est interrompue et la variable #5399 positionne -1. Le type 0 est le seul autoris pour une entre analogique. M66 attends un nouvel vnement sur lentre ou larrt de lexcution du programme, jusqu ce que lvnement slectionn (ou le timeout programm) ne survienne. Cest une erreur de programmer une valeur de timeout 0 dans tous les types, sauf le type 0. Cest galement une erreur de programmer M66 avec les deux mots, un mot P et un mot E (ce qui reviendrait slectionner la fois une entre analogique et une digitale).

13.13

M100 M199 : Commandes dnies par lutilisateur

Pour invoquer une commande dnie par lutilisateur, programmer M1xx P- Q- o P et Q sont facultatifs. Le programme externe M1nn, qui doit se trouver dans le rpertoire point par la variable [DISPLAY] PROGRAM_PREFIX du chier ini, est excut avec les valeurs P et Q comme tant ses deux arguments. Lexcution du chier G-code courant passe en pause jusqu ce que le programme invoqu soit termin. Le message derreur M code inconnu signie que : La commande spcie nexiste pas. Le chier nest pas excutable. Exemple : dans un programme g-code, on doit ouvrir et fermer un mandrin automatique via une broche du port parallle, on appellera respectivement M101 pour ouvrir le mandrin et M102 pour le fermer. Les deux scripts bash correspondants, appels M101 et M102 seront crs avant le lancement dEMC2 puis rendus excutables, par exemple par un click droit puis proprits -> permissions -> Excution. M101 # !/bin/bash # ce chier met la broche 14 du port // 1 pour ouvrir le mandrin automatique halcmd setp parport.0.pin-14-out True exit 0 M102 # !/bin/bash # ce chier met la broche 14 du port // 0 pour fermer le mandrin automatique halcmd setp parport.0.pin-14-out False exit 0

Chapitre 14

O Codes
Les O-codes permettent le contrle de ux dans les programmes NC. Chaque block est associ une adresse, qui est la valeur utilise aprs le O. Il faut prendre soin de bien faire correspondre les adresses des codes O. Le comportement est indni si : Dautres mots sont utiliss sur une ligne contenant un mot O. Un commentaire est utilis sur une ligne contenant un code O.

14.1

Sous-programmes : sub , endsub , return , call

Les sous-programmes stendent dun O- sub un O- endsub. Les lignes, lintrieur du sousprogramme (le corps du sous-programme), ne sont pas excutes dans lordre, mais elles sont excutes chaque fois que le sous-programme est appel avec un O- call. O100 sub (sous-programme pour aller lorigine programme) G0 X0 Y0 Z0 O100 endsub ... (plusieurs lignes) O100 call lintrieur dun sous-programme, O- return peut tre excut, pour retourner immdiatement au code appelant, comme si O- endsub avait t rencontr. O- call peut prendre jusqu 30 arguments optionnels, qui sont passs au sous-programme comme #1, #2, ..., #N. Les paramtres de #N+1 #30 ont la mme valeur dans le contexte de lappel. Au retour du sous-programme, les valeurs des paramtres #1 jusqu #30 (quel que soit le nombre darguments) sont restaurs aux valeurs quils avaient avant lappel. Parce que 1 2 3 est analys comme le nombre 123, les paramtres doivent tre placs entre crochets. Lappel de sous-programme suivant, seffectue avec 3 arguments : O200 call [1] [2] [3] Les corps de sous-programme ne peuvent pas tre imbriqus. Ils ne peuvent tre appels quaprs avoit t dnis. Ils peuvent tre appels depuis dautres fonctions et peuvent sappeler eux mme rcursivement, sil est judicieux de le faire. Le niveau maximum dimbrication des sous-programmes est de 10. Les sous-programmes nont pas de valeur de retour, mais ils peuvent changer la valeur des paramtres au dessus de #30 et ces changements sont visibles depuis le code appelant. Les sousprogrammes peuvent aussi changer la valeur des paramtres nomms globaux. 104

CHAPITRE 14. O CODES

105

14.2

Boucles : do , while , endwhile , break , continue

La boucle while a deux structures possibles : while/endwhile et do/while. Dans chaque cas, la boucle est quitte quand la condition du while devient fausse. (dessine la forme dune dent de scie) F100 #1 = 0 O101 while [#1 lt 10] G1 X0 G1 Y[#1/10] X1 #1 = [#1+1] O101 endwhile lintrieur dune boucle while, O- break, quitte immdiatement la boucle et O- continue, saute immdiatement la prochaine valuation de la condition du while. Si elle est vraie, la boucle recommence au dbut. Si elle est fausse, la boucle est quitte.

14.3

Conditionnel : if , else , endif

Le if conditionnel excute un groupe dinstructions si sa condition est vraie et un autre groupe si elle est fausse. (Ajuste la vitesse travail en fonction dune variable) O102 if [#2 GT 5] F100 O102 else F200 O102 endif

14.4

Rptition : Repeat

La rptition repeat , excutera les blocs contenus entre repeat et endrepeat le nombre de fois spci entre crochets. Lexemple suivant montre comment usiner une sries de 5 formes diagonales commenant la position courante. (Usine 5 formes diagonales) G91 (Mode incrmental) O103 repeat [5] ... (inserer le code usiner ici) G0 X1 Y1 (mouvement en diagonale la position suivante) O103 endrepeat G90 (Mode absolu)

14.5

Indirection

Ladresse de O- peut tre donne par un paramtre ou un calcul. O[#101+2] call

CHAPITRE 14. O CODES

106

14.6

Calcul des valeurs dans les mots O

Dans les mots O-, les paramtres (section 8.3.2), les expressions (section 8.3.4), les oprateurs binaires (section 8.3.5) et les fonctions (tableau 8.3), sont particulirement intressants.

14.7

Appel de chiers

Pour appeler un chier par son nom, celui-ci doit contenir un sub et un endsub . Le chier appel doit se trouver dans le rpertoire point par la variable PROGRAM_PREFIX du chier ini. o<monfichier> call (fichier nomm) ou o123 call (fichier numrot) Dans le chier appel doit se touver le sub et le endsub correspondant lappel. Le chier doit tre un chier valide. Exemple : monfichier.ngc o<monfichier> sub ... o<monfichier> endsub M2

Chapitre 15

Autres Codes
15.1 F : Rglage de la vitesse travail

Pour rgler la vitesse davance, programmer F- . Lapplication de la vitesse est telle que dcrite dans la section 7.2.5, moins que le mode vitesse inverse du temps ne soit actif, dans ce cas, la vitesse est telle que dcrite dans la section 12.28.

15.2

S : Rglage de la vitesse de rotation de la broche

Pour rgler la vitesse en tours par minute (tr/mn) de la broche, programmer S- . La broche va tourner cette vitesse quand elle sera programme pour tourner. Il est permis de programmer un mot S que la broche tourne ou non. Si le potentiomtre de correction de vitesse broche est autoris et nest pas positionn sur 100%, la vitesse de broche sera diffrente de celle programme. Il est permis de programmer S0, la broche ne tournera pas. Cest une erreur si : La valeur de S est ngative. Comme dcrit dans la section 12.24.10, si un cycle prprogramm G84 (taraudage) est actif et que les potentiomtres de vitesse et davance sont autoriss, celui qui a le rglage le plus bas sera utilis. La vitesse de rotation et davance resterons synchronises. Dans ce cas, la vitesse peut diffrer de celle programme, mme si le potentiomtre de correction de vitesse travail est sur 100%.

15.3

T : Choix de loutil

Pour slectionner un outil, programmer T-, o la valeur de T correspond au numro du slot doutil dans le carrousel. Loutil ne sera appel et chang que quand un M6 sera programm (voir la section 13.3). Le mot T peut apparaitre sur la mme ligne que le M6 ou sur une ligne prcdente. Il est permis, mais normalement inutile, quun mot T apparaisse plus de deux lignes avant, sans changement doutil. Le carrousel peut bouger, seulement le plus rcent mot T ne prendra effet quau prochain changement doutil. Il est permis de programmer T0, aucun outil ne sera slectionn. Cest utile pour avoir la broche vide. Cest une erreur si : Un valeur ngative de T est utilise. Une valeur de T suprieure au nombre de slot doutils dans le carrousel est utilise. Sur certaines machines, le carrousel se dplace lorsque le mot T est programm, avec lusinage en cours. Sur ces machines, programmer T plusieurs lignes de texte avant le changement doutil permet de gagner du temps. Une pratique de programmation courante pour ces types de machines, consiste placer le mot T pour le prochain outil sur la ligne suivant le changement doutil. Cela laisse au carrousel tout le temps pour se positionner.

107

Chapitre 16

Diffrences entre le g-code dEMC2 et le RS274NGC


16.1 Diffrences changeant la signication dun programme correctement crit en RS274NGC
Position aprs un changement doutil

16.1.1

Dans EMC2, la machine ne revient pas sa position initiale aprs un changement doutil. Ce choix a t fait parce que le nouvel outil pourrait tre plus long que lancien, rendant le retour de la machine sa position initiale, impossible sans heurter la pice.

16.1.2

Les dcalages sont dans les units du chier ini

Dans EMC2, les valeurs stockes dans les paramtres des points dorigine G28 et G30, des systmes de coordonnes P1. . .P9 et du dcalage G92 sont dans les units dnies dans le chier ini. Cette diffrence existe parce que, sinon, la signication dun emplacement changeait selon que G20 ou G21 tait actif lorsque G28, G30, G10, L2, ou G92.3 tait programm.

16.1.3

Les longueurs/diamtres de la table doutils sont dans les units du chier ini

Dans EMC2, les longueurs (compensation) et diamtres de la table doutils sont seulement dans les units du chier ini. Cette diffrence existe parce que autrement, la longueur dun outil et son diamtre aurait chang selon que G20 ou G21 aurait t actif dans les modes G43, G41, G42. Ce qui aurait rendu impossible, sans modication de la table doutils, lexcution de g-code avec la machine en units non natives, mme pour un g-code bien crit (ligne en dbut avec G20 ou G21 et mmes units tout au long du programme).

16.1.4

G84, G87 non implments

G84 et G87 ne sont pas actuellement implments, mais serons peut tre ajouts de futures versions dEMC2.

108

CHAPITRE 16. DIFFRENCES ENTRE LE G-CODE DEMC2 ET LE RS274NGC

109

16.1.5

G28, G30 avec des mots daxes

Quand G28 ou G30 est programm avec un mot daxe prsent, EMC2 dplace cet axe seul. Il est commun sur les autres contrles machine. Pour dplacer certains axes vers un point intermdiaire puis les dplacer tous vers un point pr-dni, crire deux lignes de gcode : G0 X- Y- (Les axes se dplacent vers le point intermdiaire) G28 (Les axes se dplacent vers leurs origines)

16.1.6

M62, M63 non implments

M62 et M63 ne sont pas encore implments, mais serons peut tre ajouts de futures versions dEMC2.

16.1.7

G0 rduit les longs mouvements angulaires pour les rendre infrieurs un tour

Comme dcrit prcdemment, G0 rduit les mouvements angulaires moins dun tour. Ce qui peut produire des trajectoires diffrentes de celles produites avec RS274NGC.

16.2

Diffrences ne changeant pas la signication des programmes bien crits en RS274NGC


G33, G76 codes de taraudage

16.2.1

Ces codes ne sont pas dnis dans RS274NGC.

16.2.2

G38.2

La pointe du palpeur nest pas rtracte aprs un mouvement G38.2. Ce mouvement de retrait sera peut tre ajout dans de futures versions dEMC2.

16.2.3

G38.3. . .G38.5

Ces codes ne sont pas dnis dans RS274NGC

16.2.4

O-codes

Ces codes ne sont pas dnis dans RS274NGC

16.2.5

M50. . .M53 survitesses

Ces codes ne sont pas dnis dans RS274NGC

16.2.6

M61. . .M66

Ces codes ne sont pas dnis dans RS274NGC

CHAPITRE 16. DIFFRENCES ENTRE LE G-CODE DEMC2 ET LE RS274NGC

110

16.2.7
16.2.7.1

G43, G43.1
Longueurs doutil ngatives

Les spcications du RS274NGC disent il est prvu que toutes les longueurs doutils soient positives. Toutefois, G43 fonctionne aussi avec des longueurs doutils ngatives. 16.2.7.2 Outils de tour

La compensation de longueur doutil G43 peut dcaler loutil dans les deux dimensions X et Z. Cette fonctionnalit est trs utile sur les tours. 16.2.7.3 Longueurs doutil dynamiques

EMC2 permet la spcication dune longueur doutil calcule par G43.1 I K.

16.2.8

G41.1, G42.1

EMC2 permet la spcication dans le gcode dun diamtre doutil et sur un tour, de son orientation. Le format est G41.1/G42.1 D- L-, o D est le diamtre et L (si spci) est lorientation de loutil de tour.

16.2.9

G43 sans mot H

Dans ngc, cela nest pas permis. Dans EMC2, il rgle la cote de longueur du dcalage pour loutil courant. Si aucun outil nest charg actuellement, cest une erreur. Cette diffrence a t apporte pour que lutilisateur nait pas spcier le numro doutil deux endroits pour chaque changement doutil et parce que cest plus cohrent avec la manire de travailler de G41/G42 quand le mot D nest pas spci.

16.2.10

Axes U, V et W

EMC2 gre des machines avec un maximum de 9 axes en dnissant un jeu supplmentaire de 3 axes linaires nomms U, V et W.

Chapitre 17

Fichier doutils et compensations


17.1 Fichier doutils

Les longueurs et diamtres doutils peuvent tre lus dans un chier doutils (voir la section 7.4) ou provenir dun mot spci pour activer la compensation doutil.

17.2

Compensation doutil

La compensation doutil peut causer beaucoup de problmes aux meilleurs programmeurs de code nc. Mais elle peut aussi tre une aide puissante quand elle est utilise pour aider un oprateur obtenir une pice la cote. En rglant la longueur et le diamtre des outils dans une table doutils, les dcalages peuvent tre utiliss pendant un cycle dusinage qui tient compte des variations de taille de loutil, ou pour des dviations mineures des trajectoires programmes. Et ces changements peuvent tre faits sans que loprateur nait changer quoi que ce soit dans le programme. Tout au long de ce module, vous trouverez occasionnellement des rfrences des fonctions canoniques, l o il est ncessaire pour le lecteur de comprendre comment fonctionne une compensation doutil dans une situation spcique. Ces rfrences ont pour but de donner au lecteur une ide de la squences plutt que dexiger quil comprenne la faon dont les fonctions canoniques elles-mmes fonctionnent dans EMC.

17.3

Compensation de longueur doutil

Les compensations de longueur doutil sont donnes comme des nombres positifs dans la table doutils. Une compensation doutil est programme en utilisant G43 Hn, o n est le numro dindex de loutil souhait dans la table doutil. Il est prvu que toutes les entres dans la table doutils soit positives. La valeur de H est vrie, elle doit tre un entier non ngatif quand elle est lue. Linterprteur se comporte comme suit : 1. Si G43 Hn est programm, un appel la fonction USE_TOOL_LENGTH_OFFSET(longueur) est fait (o longueur est lcart de longueur, lu dans la table doutils, de loutil index n), tool_length_offset est repositionn dans le modle de rglages de la machine et la valeur de current_z dans le modle est ajuste. Noter que n na pas besoin dtre le mme que le numro de slot de loutil actuellement dans la broche. 2. Si G49 est programm, USE_TOOL_LENGTH_OFFSET(0.0) est appele, tool_length_offset est remis 0.0 dans le modle de rglages de la machine et la valeur courante de current_z dans le modle est ajuste. Leffet de la compensation de longueur doutil est illustre dans la capture ci-dessous. 111

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS

112

Noter que la longueur de loutil est soustraite de Z pour que le point contrl programm corresponde la pointe de loutil. Il faut galement noter que leffet de la compensation de longueur est a immdiat quand on voit la position de Z comme une coordonne relative mais il est sans effet sur la position actuelle de la machine jusqu ce quun mouvement en Z soit programm. Programme de test de longueur doutil. Tool #1 is 1 inch long. N01 G1 F15 X0 Y0 Z0 N02 G43 H1 Z0 X1 N03 G49 X0 Z0 N04 G0 X2 N05 G1 G43 H1 G4 P10 Z0 X3 N06 G49 X2 Z0 N07 G0 X0

Avec ce programme, dans la plupart des cas, la machine va appliquer le dcalage sous forme dune rampe pendant le mouvement en xyz suivant le mot G43.

17.4

Compensation de rayon doutil

La compensation de rayon doutil (galement appele compensation de diamtre doutil) t ajoute aux spcications RS-274D la demande dutilisateurs, car elle est extrmement utile, mais son implmentation a t assez mal pense. Lobjectif de cette fonctionnalit est de permettre aux programmeurs de virtualiser la trajectoire de loutil, de sorte que la machine puisse pendant toute lexcution, dterminer la bon dcalage a apporter la position de loutil pour respecter les cotes, en sappuyant sur les diamtres doutils existants. Si un outil est raffut, son diamtre sera lgrement plus petit que celui dorigine, il faudra galement en tenir compte. Le problme est pour donner la machine la trajectoire exacte o loutil doit usiner, sur le ct intrieur dun parcours imaginaire, ou sur le ct extrieur. Comme ces trajectoires ne sont pas ncessairement fermes (mme si elles peuvent ltre), il est quasiment impossible la machine de connatre de quel ct du prol elle doit compenser loutil. Il a t dcid quil ny aurait que deux choix possibles, outil gauche du prol usiner et outil droite du prol usiner. Ce qui doit tre interprt gauche ou droite du prol usiner en suivant loutil le long du prol.

17.4.1

Compensation de rayon doutil, dtails

Les possibilits de compensation de rayon doutil de linterprteur, autorise le programmeur spcier si loutil doit passer gauche ou droite du prol usiner. Ce prol peut tre un contour ouvert ou ferm, dans le plan XY compos de segments en arcs de cercles et en lignes droites. Le

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS

113

contour peut tre le pourtour dune pice brute ou, il peut tre une trajectoire exacte suivie par un outil mesur avec prcision. La gure ci-dessous, montre deux exemples de trajectoires dusinage dune pice triangulaire, utilisant la compensation de rayon doutil. Dans les deux exemples, le triangle gris reprsente le matriau restant aprs usinage et la ligne extrieure reprsente le parcours suivi par le centre de loutil. Dans les deux cas le triangle gris est conserv. Le parcour de gauche (avec les coins arrondis) est le parcours gnralement interprt. Dans la mthode de droite (celle marque Not this way), loutil ne reste pas en contact avec les angles vifs du triangle gris.

Des mouvements sur laxe Z peuvent avoir lieu pendant que le contour est suivi dans le plan XY. Des portions du contour peuvent tre franchies avec laxe Z en retrait au dessus de la pice pendant la poursuite du parcour et jusquau point o lusinage doit reprendre, laxe Z plongera de nouveau en position. Ces dgagements de zones non usines peuvent tre faits en vitesse travail (G1), en rapide (G0), en vitesse inverse du temps (G93) ou en avance en units par minute (G94) toutes peuvent tre utilises avec la compensation de rayon doutil. Sous G94, la vitesse sera applique la pointe de loutil coupant, non au contour programm. Instructions de programmation Pour activer la compensation de rayon doutil, programmer soit, G41 (pour maintenir loutil gauche du prol usiner) soit, G42 (pour maintenir loutil droite du prol). Dans la gure 17.4.1, par exemple, si G41 tait programm, loutil devrait tourner en sens horaire autour du triangle et dans le sens contraire si G42 tait programm. Pour dsactiver la compensation de rayon doutil, programmer G40. Si un G40, G41, ou G42 est programm dans la mme ligne quun mouvement daxe, la compensation de rayon sera active ou dsactive avant que le mouvement ne soit fait. Pour que le mouvement seffectue en premier, il doit tre programm sparment et avant. La valeur de D Linterprteur actuel requiert une valeur D sur chaque ligne contenant un mot G41 ou G42. Le nombre D doit tre un entier positif. Il reprsente le numro de slot de loutil, dont le rayon (la moiti du diamtre doutil indiqu dans la table doutils) sera compens. Il peut aussi tre gal zro, dans ce cas, la valeur du rayon sera aussi gale zro. Tous les slots de la table doutils peuvent tre slectionns de cette faon. Le nombre D nest pas ncessairement le mme que le numro de slot de loutil mont dans la broche.

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS Table doutils

114

La compensation de rayon doutil utilise les donnes fournies par la table doutils de la machine. Pour chaque slot doutil dans le carrousel, la table doutils contient le diamtre de loutil rang cet emplacement (ou la diffrence entre le diamtre nominal de loutil plac dans ce slot et son diamtre actuel). La table doutils est indexe par les numros de slot. Reportez vous la page des Fichiers doutils pour savoir comment remplir ces chiers. Deux types de contour Linterprteur contrle la compensation pour deux types de contour : 1) Le contour donn dans le code NC correspond au bord extrieur du matriau aprs usinage. Nous lappellerons "contour sur le prol du matriau". 2) Le contour donn dans le code NC correspond la trajectoire suivie par le centre dun outil de rayon nominal. Nous lappellerons "contour sur le parcours doutil". Linterprteur ne dispose daucun paramtre pour dterminer quel type de contour est utilis, mais la description des contours est diffrente (pour la mme gomtrie de pice) entre les deux types, les valeurs des diamtres dans la table doutils seront galement diffrentes pour les deux types. Contour sur le prol du matriau Lorsque le contour est sur le prol du matriau, cest ce trac qui est dcrit dans le programme NC. Pour un contour sur le prol du matriau, la valeur du diamtre dans la table doutils correspond au diamtre rel de loutil courant. Cette valeur dans la table doit tre positive. Le code NC pour ce type de contour reste toujours le mme lexception du diamtre de loutil (actuel ou nominal). Exemple 1 : Voici un programme NC qui usine le matriau en suivant le prol dun des triangles de la gure prcdente. Dans cet exemple, la compensation de rayon est celle du rayon actuel de loutil, soit 0.5. La valeur pour le diamtre dans la table doutil est de 1.0 . N0010 G41 G1 X2 Y2 (active la compensation et fait le mouvement dentre) N0020 Y-1 (suit la face droite du triangle) N0030 X-2 (suit la base du triangle) N0040 X2 Y2 (suit lhypotnuse du triangle) N0050 G40 (dsactive la compensation) Avec ce programme, loutil suit cette trajectoire : un mouvement dentre, puis la trajectoire montre dans la partie gauche de la gure, avec un dplacement de loutil en sens horaire autour du triangle. Noter que les coordonnes du triangle de matriau apparaissent dans le code NC. Noter aussi que la trajectoire inclus trois arcs qui ne sont pas explicitement programms, ils sont gnrs automatiquement. Contour sur le parcours doutil Lorsque le contour est sur le parcours doutil, la trajectoire dcrite dans le programme correspond au parcours que devra suivre le centre de loutil. Le bord de loutil, un rayon de l, (except durant les mouvements dentre) suivra la gomtrie de la pice. La trajectoire peut tre cre manuellement ou par un post-processeur, selon la pice qui doit tre ralise. Pour linterprteur, le parcours doutil doit tre tel que le bord de loutil reste en contact avec la gomtrie de la pice, comme montr gauche de la gure 7. Si une trajectoire du genre de celle montre sur la droite de la gure 7 est utilise, dans laquelle loutil ne reste pas en permanence au contact avec la gomtrie

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS

115

de la pice, linterprteur ne pourra pas compenser correctement si un outil en dessous de son diamtre nominal est utilis. Pour un contour sur le parcours doutil, la valeur pour le diamtre de loutil dans la table doutils devra tre un petit nombre positif si loutil slectionn est lgrement surdimensionn. La valeur du diamtre sera un petit nombre ngatif si loutil est lgrement sous-dimensionn. Si un diamtre doutil est ngatif, linterprteur compense de lautre ct du contour programm et utilise la valeur absolue donne au diamtre. Si loutil courant est son diamtre nominal, la valeur dans la table doutil doit tre zro. Exemple de contour sur le parcours doutil Supposons que le diamtre de loutil courant mont dans la broche est de 0.97 et le diamtre utilis en gnrant le parcours doutil a t de 1.0 . Alors la valeur de diamtre dans la table doutils pour cet outil est de -0.03. Voici un programme NC qui va usiner lextrieur dun triangle de la gure 7.
N0010 N0020 N0030 N0040 N0050 N0060 N0070 N0080 N0090 N0100 N0110 G1 X1 Y4.5 (mouvement dalignement) G41 G1 Y3.5 (active la compensation et premier mouvement dentre) G3 X2 Y2.5 I1 (deuxime mouvement dentre) G2 X2.5 Y2 J-0.5 (usinage le long de larc en haut du parcours doutil) G1 Y-1 (usinage le long du ct droit du parcours doutil) G2 X2 Y-1.5 I-0.5 (usinage de larc en bas droite) G1 X-2 (usinage de la base du parcours doutil) G2 X-2.3 Y-0.6 J0.5 (usinage de larc en bas gauche) G1 X1.7 Y2.4 (usinage de lhypotnuse) G2 X2 Y2.5 I0.3 J-0.4 (usinage de larc en haut droite) G40 (dsactive la compensation)

Avec ce programme, loutil suit cette trajectoire : un mouvement dalignement, deux mouvements dentre, puis il suit une trajectoire lgrement intrieure au parcours doutil montr sur la gure 7 en tournant en sens horaire autour de la pice. Cette compensation est droite de la trajectoire programme, mme si cest G41 qui est programm, en raison de la valeur ngative du diamtre. Erreurs de programmation et limitations Les messages en rapport avec la compensation de rayon doutil, dlivrs par linterprteur sont les suivants : 1. Impossible de changer les dcalages daxes avec la compensation de rayon doutil 2. Impossible de changer dunit avec la compensation de rayon doutil 3. Impossible dactiver la compensation de rayon doutil en dehors du plan XY 4. Action impossible, la compensation de rayon doutil est dj active 5. Impossible dutiliser G28 ou G30 avec la compensation de rayon doutil 6. Impossible dutiliser G53 avec la compensation de rayon doutil 7. Impossible dutiliser le plan XZ avec la compensation de rayon doutil 8. Impossible dutiliser le plan YZ avec la compensation de rayon doutil 9. Coin concave avec la compensation de rayon doutil 10. Interfrence de loutil avec une partie nie de la pice avec la compensation de rayon doutil 1 11. Mot D sur une ligne sans mot de commande G41 ni G42 12. Index de rayon doutil trop grand 13. Le rayon de loutil nest pas infrieur au rayon de larc avec la compensation de rayon 14. Deux G-codes du mme groupe modal sont utiliss.
1. Le terme anglais gouging indique une interfrence entre loutil et une partie nie de la pice ou la paroi dune cavit. Par extension, le terme est parfois repris pour une interfrence entre le porte-outil ou la broche et la pice.

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS Pour certains de ces messages, des explications sont donnes plus loin.

116

Changer doutil alors que la compensation de rayon doutil est active nest pas considr comme une erreur, mais il est peu probable que cela soit fait intentionnellement. Le rayon doutil utilis lors de ltablissement de la compensation continuera tre utilis jusqu la dsactivation de la compensation, mme si un nouvel outil est effectivement utilis. Quand la compensation de rayon doutil est active, il est physiquement possible de faire un cercle, dont le rayon est la moiti du diamtre de loutil donn dans la table doutils, il sera tangent avec loutil en tout point de son contour.

En particulier, linterprteur traite les coins concaves et les arcs concaves plus petits que loutil, comme des erreurs, le cercle ne peut pas tre maintenu tangent avec le contour dans ces situations. Cette dtection de dfaut, ne limite pas les formes qui peuvent tre usines, mais elle requiert que le programmeur prcise la forme exacte usiner (ou le parcours doutil qui doit tre suivi) et non une approximation. A cet gart, linterprteur utilis par EMC diffre des interprteurs utiliss dans beaucoup dautres contrleurs, qui passent ces erreurs sous silence et laissent loutil interfrer avec la partie nie de la pice (gouging) ou arrondissent des angles qui devraient tre vifs. Il nest pas ncessaire, de dplacer loutil entre la dsactivation de la compensation et sa ractivation, mais le premier mouvement suivant la ractivation sera considr comme premier mouvement, comme dj dcrit plus tt. Il nest pas possible de passer dun index de rayon doutil un autre alors que la compensation est active. Il est galement impossible de basculer la compensation dun ct lautre avec la compensation active. Si le prochain point de destination XY est dj dans le primtre daction de loutil quand la compensation est active, le message indiquant une interfrence outil/surface nie, safchera quand la ligne du programme qui donne cette destination sera atteinte. Dans ce cas, loutil a dj usin dans le matriau, l o il naurait pas d... Si le numro de slot programm par le mot D est suprieur au nombre demplacements disponibles dans le carrousel, un message derreur sera afch. Dans limplmentation actuelle, le nombre demplacements maximum est de 68. Le message derreur "Deux G-codes du mme groupe modal sont utiliss" est un message gnrique utilis pour plusieurs jeux de G-codes. Il sapplique la compensation de rayon doutil, il signie que plus dun code G40, G41 ou G42 apparat sur la mme ligne de progamme NC, ce qui nest pas permis.

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS

117

Premier mouvement
Lalgorithme utilis lors du premier dplacement, quand cest une ligne droite, consiste tracer une droite, depuis le point darrive, tangente un cercle dont le centre est le point actuel, et le rayon, celui de loutil. Le point de destination de la pointe de loutil se trouve alors au centre dun cercle de mme rayon, tangeant la ligne droite trace prcdemment. Cest montr sur la gure 9. Si le point programm est situ lintrieur de la premire section doutil (le cercle de gauche), une erreur sera signale.

Si le premier mouvement aprs que la compensation de rayon doutil a t active est un arc, larc qui sera gnr est driv dun arc auxiliaire, qui a son centre identique celui du point central programm, passe par le point nal de larc programm et, est tangent loutil son emplacement courant. Si larc auxiliaire ne peut pas tre construit, une erreur sera signale. Larc gnr dplacera loutil pour quil reste tangeant larc auxiliaire pendant tout le mouvement. Cest ce que montre sur la gure 10. Indpendamment du fait que le premier dplacement est une droite ou un arc, laxe Z peut aussi se dplacer en mme temps. Il se dplacera linairement, comme cest le cas quand la compensation de rayon nest pas utilise. Les mouvements des axes rotatifs (A, B et C) sont autoriss avec la compensation de rayon doutil, mais leur utilisation serait vraiment trs inhabituelle. Aprs les mouvements dentre en compensation de rayon doutil, linterprteur maintiendra loutil tangeant au contour programm et du ct appropri. Si un angle aig se trouve dans le parcours, un arc est insr pour tourner autour de langle. Le rayon de cet arc sera de la moiti du diamtre de loutil donn dans la table doutils. Quand la compensation de rayon est dsactive, aucun mouvement de sortie particulier nest fait. Le mouvement suivant sera ce quil aurait t si la compensation navait jamais t active et que le mouvement prcdent ait plac loutil sa position actuelle.

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS Programmation des mouvements dentre

118

En gnral, un mouvement dalignement et deux mouvements dentre sont demands pour commencer la compensation correctement. Cependant, si le contour programm comporte des pointes et des angles aigs, un seul mouvement dentre (plus, ventuellement, un mouvement de prentre) est demand. La mthode gnrale, qui fonctionne dans toutes les situations, est dcrite en premier. Elle suppose que le programmeur connait dj le contour et son but est dajouter le mouvement dentre. Mthode gnrale La mthode gnrale de programmation comprend un mouvement dalignement et deux mouvements dentre. Les mouvements dentre expliqus ci-dessus, seront repris comme exemple. Voici le code correspondant :
N0010 G1 X1 Y4.5 (mouvement dalignement vers le point C) N0020 G41 G1 Y3.5 (active la compensation et fait le premier mouvement dentre vers le point B) N0030 G3 X2 Y2.5 I1 (fait le second mouvement dentre vers le point A)

Voir la gure 11. La gure montre les deux mouvements dentre mais pas le mouvement dalignement. En premier, choisir un point A sur le contour o il convient dattacher un arc dentre. Spcier un arc lextrieur du contour qui commence au point B et sachve au point A, tangeant au contour (et aller dans la mme direction que celle prvue pour tourner autour du contour). Le rayon doit tre suprieur la moiti du diamtre donn dans la table doutils. Ensuite, tirer une ligne tangeante larc, du point B au point C, plac de telle sorte que la ligne BC fasse plus dun rayon de long. Aprs que la construction soit termine, le code est crit dans lordre inverse de celui de la construction. La compensation de rayon doutil est active aprs le mouvement dalignement et avant le premier mouvement dentre. Dans le code prcdent, la ligne N0010 fait le mouvement dalignement, la ligne N0020 active la compensation et fait le premier mouvement dentre et la ligne N0030 fait le second mouvement dentre.

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS

119

Dans cet exemple, larc AB et la ligne BC sont trs larges, ce nest pas ncessaire. Pour un contour sur parcours doutil, le rayon de larc AB demande juste tre lgrement plus grand que la variation maximale du rayon de loutil par rapport son rayon nominal. Egalement, pour un contour sur parcours doutil, le ct choisi pour la compensation doit tre celui utilis si loutil est surdimensionn. Comme mentionn prcdemment, si loutil est sousdimensionn, linterprteur basculera de lautre ct. Mthode simple Si le contour est sur le prol du matriau et quil comprends des angles aigs quelque part sur le contour, une mthode simple pour faire lentre est possible. Voir la gure 12. Premirement, choisir un angle aig, par exemple D. Ensuite, dcider comment on va tourner autour du matriau depuis le point D. Dans notre exemple nous maintiendrons loutil gauche du prol et nous avancerons vers F. Prolonger la ligne FD (si le segment suivant du contour est un arc, prolonger la tangeante larc FD depuis D) pour diviser la surface extrieure au contour proche de D en deux parties. Sassurer que le centre de loutil est actuellement dans la partie du mme ct de la ligne prolonge que le matriau. Sinon, dplacer loutil dans cette partie. Par exemple, le point E reprsente la position courante du centre de loutil. Comme il est du mme ct de la ligne FD prolonge que le triangle gris du matriau, aucun mouvement supplmentaire nest ncessaire. Maintenant crire la ligne de code NC qui active la compensation et faire le mouvement vers le point D
N0010 G41 G1 X2 Y2 (active la compensation et fait le mouvement dentre)

Cette mthode fonctionnera galement avec un angle aig sur un contour sur parcours doutil, si loutil est surdimensionn, mais elle chouera si il est sousdimensionn.

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS Autres points o est excute la compensation de rayon doutil

120

Le jeu complet de fonctions canoniques comprend des fonctions qui activent et dsactivent la compensation de rayon doutil, de sorte quelle puisse tre active quand le contrleur excute une de ces fonctions. Dans linterprteur cependant, ces commandes ne sont pas utilises. La compensation est assure par linterprteur et rete dans les sorties des commandes, cest linterprteur qui continuera diriger les mouvements du centre de loutil. Cela simplie le travail du contrleur de mouvement tout en rendant le travail de linterprteur un peu plus difcile. Algorithmes pour compensation de rayon doutil Linterprteur permet que les mouvements dentre et de sortie soient des arcs. Le comportement pour les mouvements intermdiaires est le mme, except que certaines situations sont traites comme des erreurs par linterprteur alors quelles ne le sont pas sur dautres contrleurs de machine. Donnes relatives la compensation de rayon doutil : Linterprteur conserve trois donnes pour la compensation de rayon doutil : Le rglage lui mme (gauche, droite ou arrt), program_x et program_y. Les deux dernires reprsentent les positions en X et en Y donnes dans le code NC quand la compensation est active. Quand elle est dsactive, les deux entres sont xes de trs petites valeurs (10 e-20 ) dont la valeur symbolique (dans un #dene) est "unknown". Linterprteur utilise, les items current_x et current_y qui reprsentent, le centre de la pointe de loutil (dans le systme de coordonnes courant), tout moment.

Exemples de Jon Elson


Toutes les informations spciques au systme se rfrent au programme EMC du NIST, mais doit aussi sappliquer aux plus modernes contrleurs CNC. Ma mthode de vrication de ces programmes est dabord de slectionner loutil zro, de sorte que les commandes de compensation soient ignores. Ensuite, je colle une feuille de papier sur une plaque tenue de niveau dans ltau, une sorte de platine. Jinstalle une recharge de stylo ressort dans la broche. Cest une recharge standard de stylo bille en mtal avec un ressort, dans un corps de 12mm de diamtre. Elle un ressort pour la faire rentrer dans le corps du stylo, et un collet larrire qui permet la pointe de se rtracter malgrs le ressort, mais qui la laisse centre quelques diximes prs. Je charge le programme avec loutil zro slectionn, et il trace une ligne lextrieur de la pice. (voir la gure suivante) Alors, je slectionne un outil avec le diamtre de loutil que jenvisage dutiliser et je lance le programme une nouvelle fois. (Noter que la coordonne Z dans le programme ne doit pas tre change pour viter de plonger le stylo au travers du plateau ;-) Maintenant, je dois voir si la compensation G41 ou G42 que je spcie passe sur le ct voulu de la pice. Sinon, je modie avec la compensation du ct oppos, et jdite la compensation oppose dans le programme, puis jessaye nouveau. Maintenant, avec loutil sur le ct correct de la pice, je peut vrier si quelque part sur le parcours loutil est trop gros pour usiner les surfaces concaves. Ma vieille Allen-Bradley 7320 tait trs indulgente sur ce point, mais EMC ne tolre rien. Si vous avez la moindre concavit o deux lignes se rencontrent moins de 180 degrs avec un outil de taille dnies, EMC va sarrter l, avec un message derreur. Mme si le gougeage est de .001mm de profondeur. Alors, je fais toujours lapproche sur le mouvement dentre et le mouvement de sortie juste sur un coin de la pice, en fournissant un angle de plus de 180 degrs, an quEMC ne hurle pas. Cela exige une grande attention lors de lajustement des points de dpart et de sortie, qui ne sont pas compenss par le rayon doutil, mais ils doivent tre choisis avec un rayon approximatif bien rchi. Les commandes sont : G40 - Annuler la compensation de rayon doutil G41 - Activer la compensation, outil gauche du prol G42 - Activer la compensation, outil droite du prol

CHAPITRE 17. FICHIER DOUTILS ET COMPENSATIONS

121

Voici un petit chier qui usine le ct dune pice avec de multiples arcs convexes et concaves et plusieurs lignes droites. La plupart de ces commandes ont t traces depuis Bobcad/CAM, mais les lignes N15 et N110 ont t ajoutes par moi et certaines coordonnes dans ce contour ont t bricoles un peu par moi.
N10 G01 G40 X-1.3531 Y3.4 N15 F10 G17 G41 D4 X-0.7 Y3.1875 (ligne dentre) N20 X0. Y3.1875 N40 X0.5667 F10 N50 G03 X0.8225 Y3.3307 R0.3 N60 G02 X2.9728 Y4.3563 R2.1875 N70 G01 X7.212 Y3.7986 N80 G02 X8.1985 Y3.2849 R1.625 N90 G03 X8.4197 Y3.1875 R0.3 N100 G01 X9. N110 G40 X10.1972 Y3.432 (ligne de sortie) N220 M02

La ligne 15 contient G41 D4, qui signie que le diamtre de loutil est celui de loutil #4 dans la table doutils, il sera utilis pour dcaler la broche de 1/2 diamtre, qui est, bien sr, le rayon doutil. Noter que la ligne avec la commande G41 contient le point nal du mouvement dans lequel la compensation de rayon est interpole. Cela signie quau dbut de ce mouvement, il ny a aucun effet de compensation et la n, loutil est dcal de 100% du rayon de loutil slectionn. Immdiatement aprs le G41 il y a D4, signiant que le dcalage sera le rayon de loutil N4 dans la table doutils. Noter que les DIAMETRES doutil sont entrs dans la table doutils. (le diamtre de loutil de Jon est de 0.4890) Mais, noter qu la ligne 110, o il y a la commande G40, linterpolation de la compensation doutil est en dehors de ce mouvement. La manire dobtenir ce rglage, les mouvements des lignes 15 et 110 sont presque exactement parallles laxe X et la diffrence dans les coordonnes Y est la ligne o loutil est appel, en dehors de la compensation doutil.

Certaines autres choses sont noter, le programme commence avec G40, pour dsactiver les compensations ventuellement actives. Cela vite un tas dennuis quand le programme sarrte cause dune erreur de concavit, mais laisse la compensation dsactive. Noter aussi, en ligne 15, G17 est utilis pour spcier le plan de travail XY pour les interpolations circulaires. Jai utilis le format rayon pour les spcications des arcs plutt que la forme I, J. EMC est trs pointilleux au sujet des rayons quil calcule partir du format des coordonnes I, J et il doit trouver le dbut et la n du mouvement avec 10^-11 units internes, de sorte quil y a beaucoup de problmes avec des arcs arbitraires. Normalement, si vous avez un arc de 90 degrs, centr sur (1.0,1.0) avec un rayon de 1", tout ira bien, mais si le rayon ne peut pas tre exprim exactement et avec juste le nombre de chiffres signicatifs, ou si larc un nombre trange de degrs, alors les problmes commencent avec EMC. Le mot R supprime tous ce dsordre et il est beaucoup plus facile de travailler avec lui, de toute faon. Si larc est de plus de 180 degrs, R doit tre ngatif.

Chapitre 18

Systmes de coordonnes et dcalage G92


18.1 Introduction

Vous avez vu comme il est pratique dutiliser la compensation de longueur doutil, elle vite au programmeur davoir connaitre en tout temps la hauteur de loutil quand il crit un programme. De la mme manire, il est trs intressant dutiliser un point de rfrence sur le brut ou la pice et de faire travailler le programme partir de ce point, sans avoir tenir compte do est place la pice sur la machine pendant lusinage. Ce chapitre va introduire les dcalages et comment ils sont utiliss par EMC. Ce qui inclus : Les coordonnes machine (G53) Les neuf dcalages dorigine pice (G54 G59.3 ) Un jeu de dcalages globaux (G92).

18.2

Commande en coordonnes machine : G53

Indpendamment de tout dcalage pouvant tre actif, un G53 dans une ligne de code indique linterprteur de se dplacer aux positions relles des axes (positions absolues), commandes dans la ligne. Par exemple : G53 G0 X0 Y0 Z0 dplacera le mobile depuis la position actuelle vers la position o les coordonnes machine des trois axes seront zro. Vous pouvez utiliser cette commande si vous avez une position xe pour le changement doutil ou si votre machine dispose dun changeur automatique. Vous pouvez aussi utiliser cette commande pour dgager la zone de travail et accder la pice dans ltau. G53 est une commande non modale. Elle doit tre utilise sur chaque ligne o un mouvement bas sur les coordonnes machine est souhait.

18.3

Dcalages pice (G54 G59.3 )

Le dcalage dorigine est utilis pour sparer le point de rfrence de la pice, de lorigine machine, crant ainsi un systme de coordonnes (relatif), propre chaque pice et spar du systme de coordonnes machine (absolu). Il permet, entre autre, dans le cas de pices multiples mais semblables, de crer en dcalant ses origine, le systme de coordonnes de chaque pice, le programme restant 122

CHAPITRE 18. SYSTMES DE COORDONNES ET DCALAGE G92

123

F IGURE 18.1 Dcalages pour 8 ilots le mme. Un cas typique dutilisation de cette fonctionnalit, pour usiner huit ilots identiques sur la mme pice est illustr sur la gure 18.1 Les valeurs des dcalages sont enregistres dans le chier VAR qui est requis par le chier INI durant le dmarrage dEMC. Dans lexemple ci-dessous qui utilise G55 la valeur de chacun des axes de G55 est enregistre dans une variable numrote. 5241 5242 5243 5244 5245 5246 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

Dans le schma dun chier VAR, la premire variable contient la valeur du dcalage de laxe X, la seconde variable le dcalage de laxe Y et ainsi de suite pour les six axes. Il y a une srie de variables de ce genre pour chacun des dcalages pice. Chacune des interfaces graphiques offre un moyen de xer les valeurs de ces dcalages. Vous pouvez galement dnir ces valeurs en modiant le chier VAR lui-mme, puis faire un [reset], pour qu EMC lise les nouvelles valeurs. Pour notre exemple, nous allons diter directement le chier pour que G55 prenne les valeurs suivantes : 5241 2.000000 5242 1.000000 5243 -2.000000 5244 0.000000 5245 0.000000 5246 0.000000 Vous pouvez voir que les positions zro de G55 sont passes en X=2, Y=1 et Z=-2 loignes donc de lorigine absolue (machine). Une fois que les valeurs sont assignes, un appel de G55 dans une ligne de programme dcalera le point de rfrence zro, lorigine, vers les valeurs enregistres. La ligne suivante dcalera chacun des axes vers sa nouvelle position dorigine. Contrairement G53, les commandes G54 G59.3 sont modales. Elles agissent sur toutes les lignes de g-code du programme aprs quune ait t rencontre. Voyons le programme qui pourrait tre crit laide de la gure18.1, il sufra dun seul point de rfrence pour chacune des pices pour faire tout le travail. Le code suivant est propos comme exemple pour faire un rectangle, il utilisera les dcalages G55 que nous avons expliqu ci-dessus.

CHAPITRE 18. SYSTMES DE COORDONNES ET DCALAGE G92 G55 G0 x0 y0 z0 g1 f2 z-0.2000 x1 y1 x0 y0 g0 z0 g54 x0 y0 z0 m2

124

Mais, dites vous, pourquoi y a-t-il un G54 vers la n ? Cest une pratique courante de quitter le systme de coordonnes G54 avec lensemble des valeurs daxes zro an de laisser un code modal bas sur les positions machine absolues. Nous le faisons avec cette commande qui met la machine zro. Il aurait t possible dutiliser G53 et darriver au mme endroit, mais la commande naurait pas t modale, les commandes suivantes auraient voulu retourner dans le systme de coordonnes du G55 toujours actif. G54 G55 G56 G57 G58 G59 G59.1 G59.2 G59.3 utilise les rglages du systme de coordonnes 1 utilise les rglages du systme de coordonnes 2 utilise les rglages du systme de coordonnes 3 utilise les rglages du systme de coordonnes 4 utilise les rglages du systme de coordonnes 5 utilise les rglages du systme de coordonnes 6 utilise les rglages du systme de coordonnes 7 utilise les rglages du systme de coordonnes 8 utilise les rglages du systme de coordonnes 9

18.3.1

Systme de coordonnes par dfaut

Une autre variable dans le chier VAR joue un rle important dans les dcalages, cest la variable 5220. Dans les chiers par dfaut, sa valeur est xe 1,00000. Ce qui signie que lorsque EMC dmarre, il doit utiliser le premier systme de coordonnes comme systme par dfaut. Si vous dnissez celui-ci 9,00000 le neuvime systme dcal sera utilis par dfaut au dmarrage du systme et aux rinitialisations. Toute valeur autre quun entier compris entre 1 et 9, ou labsence de la variable 5220, provoquera au dmarrage le retour dEMC la valeur par dfaut de 1.00000.

18.3.2

Rglage des dcalages avec G10

La commande G10 L- peut tre utilise pour modier les valeurs des dcalages dans un systme de coordonnes. (add here)

18.4

G92 Dcalages daxes

G92 est la plus incomprise et la plus maligne des commandes programmables avec EMC. La faon dont elle fonctionne a un peu chang entre les premires versions et lactuelle. Ces changements ont sans doute dconcert de nombreux utilisateurs. Elle devrait tre vue comme une commande produisant un dcalage temporaire, qui sapplique tous les autres dcalages. En rponse une critique de cette commande, Ray Henry la tudie en comparant la faon dont les auteurs de linterprteur sattendaient ce quelle fonctionne et la faon dont elle fonctionnait sur sa mini-fraiseuse Grizzly. Dans les paragraphes ci-dessous, entre guillemets, vous trouverez des extraits de son document, disponible sur http://www.linuxcnc.org.

CHAPITRE 18. SYSTMES DE COORDONNES ET DCALAGE G92

125

18.4.1

Les commandes G92

Ce jeu de commandes inclus : G92 Cette commande, utilise avec des mots daxes, xe les valeurs des variables de dcalage. G92.1 Cette commande met zro les valeurs des variables de g92. G92.2 Cette commande suspend, sans les mettre zro, les variables de g92. G92.3 Cette commande applique les valeurs de dcalage qui ont t suspendues. Lorsque les commandes sont utilises comme dcrit ci-dessus, elles fonctionneront peu prs comme vous vous y attendiez. Lutilisateur doit bien comprendre le fonctionnement des valeurs de g92. Elles sont bases sur lemplacement de chaque axe au moment o la commande g92 est invoque. Le document du NIST est clair, pour faire en sorte que le point actuel ait les coordonnes x0, y0 et z0 nous utiliserons g92 x0 y0 z0. G92 ne fonctionne pas depuis le systme de coordonnes machine absolues. Il fonctionne partir de lemplacement actuel. G92 travaille galement partir dun emplacement actuel dj modi par tout autre dcalage actif au moment o la commande g92 est invoque. Lors de test des diffrences entre les dcalages de travail et les dcalages rels, il a t constat quun dcalage g54 pouvait annuler un g92 et ainsi, donner lapparence quaucun dcalage ntait actif. Toutefois, le g92 tait toujours actif, pour toutes les coordonnes et il a produit les dcalages attendus pour tous les autres systmes de coordonnes. Il est probable que labsence de contact dorigine machine et dune bonne procdure de prise dorigine machine se traduira par de trs grandes erreurs dans lapplication des valeurs de g92 si elles existent dans le chier VAR. Beaucoup dutilisateurs dEMC nont pas de contact dorigine machine sur leurs machines. Pour eux, lorigine machine devrait tre trouve en dplaant chaque axe lemplacement suppos et en utilisant la commande de prise dorigine. Lorsque chaque axe est dans une position connue, la commande de prise dorigine recalculera comment les valeurs de g92 doivent tre appliques pour produire des rsultats cohrents. Sans squence de prise dorigine machine, les valeurs sont appliques la position de la machine au dmarrage dEMC.

18.4.2

Rglage des valeurs de G92

Il y a au moins deux faons dtablir les valeurs de G92. Par un clic droit de la souris sur les afcheurs de position de tkemc, une fentre souvre dans laquelle il est possible de saisir une valeur. Par la commande G92. Toutes les deux, fonctionnent depuis lemplacement courant de laxe auquel le dplacement doit tre appliqu. Programmer g92 x- y- z- a- b- c- xe les valeurs des variables de G92 de sorte que chaque axe prenne la valeur associe son nom. Ces valeurs sont assignes la position courante des axes. Ces rsultats satisfont les paragraphes un et deux du document du NIST. Les commandes G92 fonctionnent partir de la position courante de laxe, laquelle elles ajoutent ou soustraient des valeurs pour donner la position courante la valeur assigne par la commande g92. Elles prennent effet mme si dautres dcalages sont dj actifs. Ainsi, si laxe X est actuellement en position X=2.0000, un G92 x0 xera un dcalage de -2.0000, de sorte que lemplacement actuel de X devienne X=0.0000. Un nouveau G92 X5.0000 xera un dcalage de 3.0000 et lafchage indiquera une position courante X=5.0000. Maintenant, un G92 X5 xera un dcalage de 0.0000 et lafchage ne changera pas.

CHAPITRE 18. SYSTMES DE COORDONNES ET DCALAGE G92

126

18.4.3

Prudence avec G92

Parfois, les valeurs de dcalage dun G92 restent bloques dans le chier VAR. Quand a arrive, une r-initialisation ou un redmarrage peut les rendre de nouveau actifs. Les variables sont numrotes 5211 5212 5213 5214 5215 5216 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

o 5211 est le numro du dcalage de laxe X et ainsi de suite. Si vous voyez des positions inattendues la suite dune commande de dplacement, ou mme des chiffres inattendus dans lafchage de la position lorsque vous dmarrez, regardez ces variables dans le chier VAR pour vrier si elles contiennent des valeurs. Si cest le cas, les mettre zro devrait solutionner le problme. Avec ces tests, nous pouvons voir quaprs une rinitialisation, G92 retourne aux conditions quil avait au dmarrage de linterprteur. Le lecteur doit noter que nous avons tabli ... quaucune de ces valeurs nest crite durant un dmarrage normal si aucun G92 na t x au dmarrage, aucune ne pourra tre lue lors dun redmarrage. Il est possible que ce soit le coeur du problme que certains ont vcu avec les diffrences entre lancien et le nouvel interprteur. Cest possible, mais je laisse le soin dautres de faire des essais, pour vrier que lancien interprteur et les programmes crivent les variables immdiatement et de constater ensuite que ces valeurs sont lues lors dun redmarrage. Dautre part, si les valeurs de G92 existent dans le chier VAR lorsque EMC a dmarr ... partir dEMC avec les valeurs de g92 dans le chier de variables, EMC appliquera ces valeurs partir de lemplacement actuel de chaque axe. Si la prise dorigine machine a t faite et que lorigine machine correspond bien au zro des axes, tout sera correct. Une fois que la prise dorigine a t faite en utilisant les contacts dorigine machine ou en dplaant chaque axe une position connue et en appliquant la commande de prise dorigine, les commandes g92 et leurs valeurs fonctionnent comme prvu. Ces tests nont pas tudi leffet produit par la lecture des variables dans le chier alors quil contient des valeurs. Cela pourrait poser des problmes si les dcalages g92 avaient t enlevs avec g92.1 alors que le chier de variables contenait encore les valeurs prcdentes. Cest cette complexit qui nous amne dire que les valeurs de G92 doivent tre considres comme provisoires. Elles devraient tre utilises pour dnir des dcalages globaux et court terme. Les commandes de dcalage dorigine G54 59.3 devraient tre utilises chaque fois que des dcalages durables et prvisibles sont ncessaires.

18.5

Exemple de programme utilisant les dcalages daxes

Cet exemple de projet de gravure fraise un jeu de quatre cercles de rayon .1 pouce dans une forme grossire dtoile au centre du cercle. Nous pouvons congurer individuellement les formes de la faon suivante : G10 L2 P1 x0 y0 z0 (assure que g54 a mis la machine zro) g0 x-.1 y0 z0 g1 f1 z-.25 g3 x-.1 y0 i.1 j0 g0 z0 m2

CHAPITRE 18. SYSTMES DE COORDONNES ET DCALAGE G92

127

Nous pouvons mettre une srie de commandes pour crer des dcalages pour les quatre autres cercles comme cela. G10 G10 G10 G10 L2 L2 L2 L2 P2 P3 P4 P5 x0.5 (offsets g55 x value by 0.5 inch) x-0.5 (offsets g56 x value by -0.5 inch) y0.5 (offsets g57 y value by 0.5 inch) y-0.5 (offsets g58 y value by -0.5 inch)

Nous mettons ces ensemble dans le programme suivant. (Un programme de fraisage de cinq petits cercles dans un losange) G10 L2 P1 x0 y0 z0 (assure que g54 a mis la machine zro) G10 L2 P2 x0.5 (offsets g55 x value by 0.5 inch) G10 L2 P3 x-0.5 (offsets g56 x value by -0.5 inch) G10 L2 P4 y0.5 (offsets g57 y value by 0.5 inch) G10 L2 P5 y-0.5 (offsets g58 y value by -0.5 inch) g54 g0 x-.1 y0 z0 (center du cercle) g1 f1 z-.25 g3 x-.1 y0 i.1 j0 g0 z0 g55 g0 x-.1 y0 z0 (premier dcalage circulaire) g1 f1 z-.25 g3 x-.1 y0 i.1 j0 g0 z0 g56 g0 x-.1 y0 z0 (second dcalage circulaire) g1 f1 z-.25 g3 x-.1 y0 i.1 j0 g0 z0 g57 g0 x-.1 y0 z0 (troisime dcalage circulaire) g1 f1 z-.25 g3 x-.1 y0 i.1 j0 g0 z0 g58 g0 x-.1 y0 z0 (dcalage circulaire) g1 f1 z-.25 g3 x-.1 y0 i.1 j0 g54 g0 x0 y0 z0 m2 Maintenant vient le moment o lon applique une srie de dcalages G92 ce programme. Vous verrez quil cest fait dans chaque cas de z0. Si la machine taient la position de zro, un g92 z1.0000 plac en tte de programme le dcalera dun pouce. Vous pouvez galement modier lensemble du dessin dans le plan XY en ajoutant quelques dcalages x et y avec g92. Si vous faites cela, vous devez ajouter une commande G92.1 juste avant le m2 qui termine le programme. Si vous ne le faites pas, dautres programmes que vous pourriez lancer aprs celui-ci, utiliseront galement les dcalages g92. En outre, cela permettrait dviter dcrire les valeurs de g92 lorsque vous arrtez EMC et donc, dviter de les recharger quand vous dmarrez nouveau le programme.

Chapitre 19

Spcicits des tours


Ce chapitre va regrouper les informations spciques aux tours, il est en cours de rdaction.

19.1

EMC congur pour un tour

En plus dutiliser une conguration propre un tour il est prfrable dutiliser galement un chier doutils de sorte que AXIS afche correctement la forme de loutil. La section sur les chiers INI du manuel de lintgrateur indique comment congurer AXIS pour un tour.

19.2

Fichier doutils

Les outils de tour diffrent de ceux dune fraiseuse par lajout des angles FRONTANGLE (angle avant), BACKANGLE (angle arrire) et ORIENT (orientation). La table suivante montre le format dun chier doutils pour tour. Les valeurs du chier doutils peuvent tre ajustes en utilisant G10 L1, lexception de FRONTANGLE, BACKANGLE et COMMENT qui doivent tre, actuellement, renseigns manuellement. La gure suivante indique les diffrentes positions conventionnelles ainsi que langle de laxe de loutil et les informations concernant le FRONTANGLE et le BACKANGLE.

T ABLE 19.1 Fichier doutils pour tour


Pocket FMS ZOFFSET XOFFSET DIA FRONTANGLE BACKANGLE ORIENT COMMENT

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

0.10 0.05 0.10 0.10 0.10 0.10 0.10 0.10 0.10

105.0 22.5 277.5 255.0 202.5 90 -22.5 247.5 0

165.0 67.5 352.5 195.0 157.5 45 22.5 292.5 0

1 2 3 4 5 6 7 8 9

60 45 75 60 45 45 45 45

deg deg deg deg deg deg deg deg

128

CHAPITRE 19. SPCIFICITS DES TOURS

129

F IGURE 19.1 Orientations des outils de tour

La gure suivante montre comment sont reprsentes par AXIS les positions doutil du chier prcdent. F IGURE 19.2 Tool Positions 1, 2, 3 & 4

CHAPITRE 19. SPCIFICITS DES TOURS

130

F IGURE 19.3 Tool Position 2

19.3

Tangenter et corriger loutil

Quand AXIS est utilis sur un tour, il est possible de corriger loutil sur les deux axes X et Z. Les corrections sont alors introduites dans la table doutils en utilisant le bouton Toucher et sa fentre de dialogue. Voici une squence typique : 1. Prise dorigine de chacun des axes. 2. Dclarer loutil avec Tn M6 dans lequel "n" est le numro de loutil courant. 3. Slectionner laxe X dans la fentre de longlet Contrle manuel (F3). 4. Dplacer laxe X sur une position connue ou prendre une passe de test et mesurer le diamtre obtenu. 5. Cliquer le bouton Toucher et choisir loption T Table doutils , ce qui entrera la correction dans la table. 6. Recommencer la mme squence pour corriger laxe Z. Note : Si loprateur travaille en mode rayon (G8), la correction introduite dans le chier doutils portera sur le rayon, par contre, elle sera relative au diamtre si le mode diamtre (G7) et utilis.

19.4

Filetage

Sur un tour, le letage ncessite un signal de retour entre la broche et EMC2. Gnralement, cest un codeur de position qui fourni ce retour. Le manuel de lintgrateur donne davantage dinformations sur le codeur de broche. Le cycle de letage prprogramm G76 est utilis, tant en letage intrieur quen letage extrieur, voir G7612.22 dans la section G-code.

Quatrime partie

Quelques exemples

131

Chapitre 20

Exemples de G-Code
Aprs linstallation dEMC2 vous pourrez trouver plusieurs chiers dexemple placs dans le rpertoire /nc_les de votre dossier dinstallation. Vous ne pouvez utiliser que les chiers appropris au type de votre machine.

20.1
20.1.1

Exemples pour une fraiseuse


Fraisage hlicodal dun orice

Nom du chier : useful-subroutines.ngc Description : Programme pour usiner une poche avec utilisation des paramtres.

20.1.2

Rainurage

Nom du chier : useful-subroutines.ngc Decription : Programme pour fraiser une rainure avec utilisation des paramtres.

20.1.3

Palpage dune grille rectangulaire de points

Nom du chier : gridprobe.ngc Description : Relev dune grille rectangulaire de points au palpeur. Ce programme palpe de manire rptitive, en suivant une grille rgulire en XY et crit les points mesurs dans le chier probe-results.txt situ dans le mme rpertoire que le chier .ini.

20.1.4

Amlioration du palpage dune grille rectangulaire de points

Nom du chier : smartprobe.ngc Description : Relev dune grille rectangulaire de points au palpeur. Ce programme est une amlioration du prcdent. Il palpe de manire rptitive, en suivant une grille rgulire en XY et crit les points mesurs dans le chier probe-results.txt situ dans le mme rpertoire que le chier .ini.

132

CHAPITRE 20. EXEMPLES DE G-CODE

133

20.1.5

Mesure de longueur doutil

Nom du chier : tool-lenght-probe.ngc Description : Mesure automatique de la longueur de loutil. Ce programme donne un exemple de la mesure automatique de longueur doutil en utilisant un contact raccord lentre sonde. Cest trs pratique pour une machine sur laquelle la longueur des outils est diffrente chaque montage.

20.1.6

Mesure dun alsage au palpeur

Nom du chier : probe-hole.ngc Description : Mesure le centre et le diamtre dun alsage. Ce programme montre comment trouver le centre dun alsage, comment calculer son diamtre et enregistrer les mesures dans un chier.

20.1.7

Compensation de rayon doutil

Nom du chier : comp-g1.ngc Description : Mouvements dentre et de sortie avec la compensation de rayon doutil. Ce programme dmontre la particularit du chemin doutil sans et avec la compensation de rayon doutil. Le rayon doutil est pris dans la table doutils.

20.2
20.2.1

Exemples pour un tour


Filetage

Nom du chier : lathe-g76.ngc Description : Dressage, letage et trononnage. Ce programme donne un exemple de letage automatique sur un tour avec utilisation des paramtres.

Chapitre 21

Image-to-gcode : Usiner un depth maps

21.1

Quest-ce quun depth map ?

Il sagit dune image en chelle de gris dont la luminosit de chaque pixel corresponds la profondeur (ou hauteur) de chaque point de lobjet.

21.2

Intgrer image-to-gcode dans linterface utilisateur dAXIS

Ajoutez les lignes suivantes dans la section : [FILTER] de votre chier .ini pour quAXIS invoque automatiquement image-to-gcode louverture dune image .png, .gif, ou .jpg : 134

CHAPITRE 21. IMAGE-TO-GCODE : USINER UN DEPTH MAPS PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode Le chier de conguration : sim/axis.ini est dj congur de cette faon.

135

21.3

Utilisation dimage-to-gcode

image-to-gcode peut tre dmarr soit en ouvrant une image dans AXIS, soit en invoquant imageto-gcode dans une console, de la manire suivante : image-to-gcode torus.png > torus.ngc Ajustez les rglages dans la colonne de droite, puis pressez OK pour crer le g-code. Selon la taille de limage et les options choisies, le traitement peut durer de quelques secondes quelques minutes. Quand une image est appele, le gcode sera automatiquement charg et visualis dans AXIS une fois le traitement termin. Dans AXIS, faites Recharger pour afcher de nouveau lcran doptions d image-to-gcode, vous pourrez ainsi travailler en boucle.

21.4
21.4.1

Les diffrentes options


Units

Spcie quelle unit sera utilise dans le g-code gnr G20 (pouces) ou G21 (mm), ce sera galement lunit utilise par toutes les options marques : (units).

21.4.2

Invert Image

Si no, le pixel noir sera le point le plus bas et le pixel blanc le point le plus haut. Si yes, le pixel noir sera le point le plus haut et le pixel blanc le point le plus bas.

21.4.3

Normalize Image

Si yes, le pixel le plus sombre est ramen au noir, le pixel le plus lumineux est ramen au blanc.

21.4.4

Expand Image Border

Si None, limage entre sera utilise telle-quelle, les dtails les plus aux bords de limage pourraient tre coups. Si White ou Black, alors une bordure de pixels gale au diamtre de loutil sera ajoute sur tout le pourtour pour viter ce risque.

21.4.5

Tolerance (units)

Quand une srie de points est proche dune ligne droite au point dtre dans la tolerance, elle sera traite comme une ligne droite en sortie. Augmenter la tolrance peut donner de meilleures performances de contourage avec emc, mais peut aussi estomper ou gommer les dtails les plus ns de limage.

CHAPITRE 21. IMAGE-TO-GCODE : USINER UN DEPTH MAPS

136

21.4.6

Pixel Size (units)

Il y a beaucoup dunits pour un pixel dans limage entre. Habituellement ce nombre est beaucoup plus petit que 1.0. Par exemple, pour usiner un objet de 50x50mm depuis une image de 400x400 pixels, utiliser un pixel size de 0.125, parce que 50 / 400 = 0.125.

21.4.7

Plunge Feed Rate (units par minute)

Vitesse du mouvement de plonge initial.

21.4.8

Feed Rate (units par minute)

Vitesse davance pour le reste de lusinage.

21.4.9

Spindle Speed (RPM)

Vitesse de rotation de la broche, en tours/mn

21.4.10

Scan Pattern

Modles de balayage possibles : Ranges Colonnes Ranges puis colonnes Colonnes puis ranges

21.4.11

Scan Direction

Directions de balayage possibles : Positive : le fraisage commence de petites valeurs de X ou Y et se poursuit avec des valeurs croissantes. Ngative : le fraisage commence des valeurs leves de X ou Y et se poursuit avec des valeurs dcroissantes. Alternative : le fraisage commence aux valeurs de X ou Y o sest termin le dernier mouvement. Cela rduit les dplacements en lair. Up Milling : le fraisage commence en points bas et se poursuit vers les points hauts. Down Milling : le fraisage commence en points hauts et se poursuit vers les points bas.

21.4.12

Depth (units)

Le dessus du bloc est toujours Z=0. La profondeur dusinage dans le matriau est de Z=-depth.

21.4.13

Step Over (pixels)

Distance entre ranges ou colonnes adjacentes. Pour trouver le nombre en pixels pour une distance donne en units, calculez : distance/pixel size et arrondissez au nombre le plus proche. Par exemple : si pixel size=.006 et le pas souhait sur la distance=.015, alors utilisez un Step Over de 2 ou 3 pixels, parce que .015/.006=2.5.

CHAPITRE 21. IMAGE-TO-GCODE : USINER UN DEPTH MAPS

137

21.4.14

Tool Diameter

Le diamtre du taillant de loutil.

21.4.15

Safety Height

La hauteur laquelle les mouvements de traverse. image-to-gcode considre toujours le dessus du matriau comme tant : Z=0.

21.4.16

Tool Type

La forme du taillant de loutil. Les formes possibles sont : Hmisphrique Plate V 45 degrs V 60 degrs

21.4.17

Lace bounding

Contrle si les zones relativement plates le long dune colonne ou dune range peuvent tre ignores. Ces options nont de sens que pour un fraisage dans les deux directions. Trois choix sont possibles : None : toutes les ranges et les colonnes seront entirement fraises. Secondary : lors du fraisage dans la deuxime direction, les zones qui ne prsentent pas une forte pente dans cette direction seront ignores. Full : lors du fraisage dans la premire direction, les zones qui prsentent une forte pente dans la deuxime direction seront ignores. Lors du fraisage dans la deuxime direction, les zones qui ne prsentent pas une forte pente dans cette direction seront ignores.

21.4.18

Contact angle

Quand Lace bounding nest pas None, les pentes qui prsentent une pente suprieure Contact angle seront considres comme de fortes pentes et celles en dessous de cet angle considres comme de faible pentes.

21.4.19

Offset dbauche et profondeur par passe dbauche

Image-to-gcode peut optionnellement produire des passes dbauche. La profondeur des passes dbauche successives est xe par Roughing depth per pass. Par exemple, entrer 0.2 pour une premire passe dbauche dune profondeur de 0.2, la seconde passe dbauche aura une profondeur de 0.4 et ainsi de suite, jusqu-ce que la profondeur totale Depth de limage soit atteinte. Aucune des passes dbauche nusinera plus prs de la partie nale que Roughing Offset. La gure 21.1 montre une grande profondeur verticale usiner. Sur cette image, la profondeur des passes dbauche est de 0.2 pouces et Roughing Offset de 0.1 pouces.

CHAPITRE 21. IMAGE-TO-GCODE : USINER UN DEPTH MAPS

138

F IGURE 21.1 Passes dbauche

Cinquime partie

Diagnostic

139

Chapitre 22

Moteurs pas pas


Si ce que vous obtenez ne correspond pas ce que vous espriez, la plupart du temps cest juste un petit manque dexprience. Accrotre son exprience permet souvent une meilleure comprhension globale. Porter un diagnostic sur plusieurs problmes est toujours plus facile en les prenant sparment, de mme quune quation dont on a rduit le nombre de variables est toujours plus rapide rsoudre. Dans le monde rel ce nest pas toujours le cas mais cest une bonne voie suivre.

22.1
22.1.1

Problmes communs
Le moteur navance que dun pas

La raison la plus frquente dans une nouvelle installation pour que le moteur ne bouge pas est linterversion entre le signal de pas et le signal de direction. Si, quand vous pressez le bouton de jog dans un sens puis dans lautre, le moteur navance que dun pas chaque fois et toujours dans la mme direction, vous tes dans ce cas.

22.1.2

Le moteur ne bouge pas

Certaine interfaces de pilotage de moteurs ont une broche dactivation (enable) ou demandent un signal de pompe de charge pour activer leurs sorties.

22.1.3

Distance incorrecte

Si vous commandez une distance de dplacement prcise sur un axe et que le dplacement rel ne correspond pas, alors lchelle de laxe nest pas bonne.

22.2
22.2.1

Messages derreur
Erreur de suivi

Le concept derreur de suivi est trange quand il sagit de moteurs pas pas. Etant un systme en boucle ouverte, aucune contre raction ne permet de savoir si le suivi est correct ou non. EMC calcule si il peut maintenir le suivi demand par une commande, si ce nest pas possible il stoppe le mouvement et afche une erreur de suivi. Les erreurs de suivi sur les systmes pas pas sont habituellement les suivantes : 140

CHAPITRE 22. MOTEURS PAS PAS

141

FERROR to small - (FERROR trop petit) MIN_FERROR to small - (MIN_FERROR trop petit) MAX_VELOCITY to fast - (MAX_VELOCITY trop rapide) MAX_ACCELERATION to fast - (MAX_ACCELERATION trop rapide) BASE_PERIOD set to long - (BASE_PERIOD trop longue) Backlash ajout un axe (rattrapage de jeu) Toutes ces erreurs se produisent lorsque lhorloge temps rel nest pas capable de fournir le nombre de pas ncessaire pour maintenir la vitesse requise par le rglage de la variable BASE_PERIOD. Ce qui peut se produire, par exemple aprs un test de latence trop bref pour obtenir un valeur able, dans ce cas, revenir une valeur plus proche de ce quelle tait et ressayez. Cest galement le cas quand les valeurs de vitesse maximum et dacclration maximum sont trop leves. Si un backlash a t ajout, il est ncessaire daugmenter STEPGEN_MAXACCEL aux environs du double de MAX_ACCELERATION dans la section [AXIS] du chier INI et ce, pour chacun des axes sur lesquels un backlash a t ajout. EMC2 utilise une "extra acclration" au moment de linversion de sens pour reprendre le jeu. Sans correction du backlash, lacclration pour le gnrateur de pas peut tre juste un peu plus basse que celle du planicateur de mouvements.

22.2.2

Erreur de RTAPI

Quand vous rencontrez cette erreur : RTAPI : ERROR : Unexpected realtime delay on task n Cest gnralement que la variable BASE_PERIOD dans la section [EMCMOT] du chier ini a une valeur trop petite. Vous devez lancer un Latency Test pendant une dure plus longue pour voir si vous navez pas un dlai excessif quelque part, responsable de ce problme. Si cest le cas rajuster alors BASE_PERIOD avec la nouvelle valeur obtenue. EMC2 vrie le nombre de cycles du CPU entre les invocations du thread temps rel. Si certains lments de votre matriel provoquent un dlai excessif ou que les threads sont ajusts des valeurs trop rapides, vous rencontrerez cette erreur. NOTE : Cette erreur nest afche quune seule fois par session. En effet, si votre BASE_PERIOD tait trop basse vous pourriez avoir des centaines de milliers de messages derreur par seconde si plus dun tait afch.

22.3
22.3.1

Tester
Tester le timing des pas

Si un de vos axes vibre, grogne ou fait des petits mouvements dans toutes les directions, cest rvlateur dun mauvais timing dimpulsions de pas de ce moteur. Les paramtres du pilote matriel sont a vrier et a ajuster. Il peut aussi y avoir des pertes de pas aux changements de direction. Si le moteur cale compltement, il est aussi possible que les paramtres MAX_ACCELERATION ou MAX_VELOCITY aient des valeurs trop leves. Le programme suivant vrie que la conguration de laxe Z est correcte. Copiez le programme dans le rpertoire de votre emc2/nc_les nommez le TestZ.ngc ou similaire. Initialisez votre machine avec Z = 0.000 sur le dessus de la table. Chargez et lancez le programme. Il va effectuer 200 mouvements daller et retour entre 10.00 et 30.00mm. Si vous avez un problme de conguration, la position de laxe Z afche la n du programme, soit 10.00mm, ne correspondra pas la position mesure. Pour tester un autre axe remplacez simplement le Z des G0 par le nouvel axe. ( Faite Z=0 au dessus de la table avant de dmarrer! ) ( Ce programme teste les pertes de position en Z ) ( msg, test 1 de la configuration de laxe Z )

CHAPITRE 22. MOTEURS PAS PAS

142

G21 #1000=100 ( boucle 100 fois ) ( cette boucle comporte un delai aprs chaque mouvement ) ( test des rglages dacclration et de vitesse ) o100 while [#1000] G0 Z30.000 G4 P0.250 G0 Z10.000 G4 P0.250 #1000 = [#1000 - 1] o100 endwhile ( msg, test 2 de la configuration de laxe Z, pressez S pour continuer) M1 (un arrt ici) #1000=100 ( boucle 100 fois ) ( Les boucles suivantes nont plus de dlai en fin de mouvements ) ( test des hold times de la conf. du pilote et le rglage de max accel ) o101 while [#1000] G0 Z30.000 . G0 Z10.000 #1000 = [#1000 - 1] o101 endwhile ( msg, Fin Z doit tre 10mm au dessus de la table ) M2

Sixime partie

Annexes

143

Chapter 23

Legal Section
23.1 Copyright Terms

Copyright (c) 2000 LinuxCNC.org Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and one Back-Cover Text: "This EMC Handbook is the product of several authors writing for linuxCNC.org. As you nd it to be of value in your work, we invite you to contribute to its revision and growth." A copy of the license is included in the section entitled "GNU Free Documentation License". If you do not nd the license you may order a copy from Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307

23.2

GNU Free Documentation License

GNU Free Documentation License Version 1.1, March 2000


Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". A "Modied Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modications and/or translated into another language.

144

CHAPTER 23. LEGAL SECTION

145

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Documents overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specication is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent le format whose markup has been designed to thwart or discourage subsequent modication by readers is not Transparent. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, A LTEX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modication. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the works title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Documents license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to t legibly, you should put the rst ones listed (as many as t reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

CHAPTER 23. LEGAL SECTION


4. MODIFICATIONS

146

You may copy and distribute a Modied Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modied Version under precisely this License, with the Modied Version lling the role of the Document, thus licensing distribution and modication of the Modied Version to whoever possesses a copy of it. In addition, you must do these things in the Modied Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modications in the Modied Version, together with at least ve of the principal authors of the Document (all of its principal authors, if it has less than ve). C. State on the Title page the name of the publisher of the Modied Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modied Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Documents license notice. H. Include an unaltered copy of this License. I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modied Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modied Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. In any section entitled "Acknowledgements" or "Dedications", preserve the sections title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section entitled "Endorsements". Such a section may not be included in the Modied Version. N. Do not retitle any existing section as "Endorsements" or to conict in title with any Invariant Section. If the Modied Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modied Versions license notice. These titles must be distinct from any other section titles. You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modied Version by various partiesfor example, statements of peer review or that the text has been approved by an organization as the authoritative denition of a standard. You may add a passage of up to ve words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modied Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modied Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms dened in section 4 above for modied versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodied, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."

CHAPTER 23. LEGAL SECTION


6. COLLECTIONS OF DOCUMENTS

147

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modied Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Documents Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modication, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http:///www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document species that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specied version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.

Septime partie

Index de louvrage

148

Index
.axisrc, 28 A/U, 16, 29, 31 ABORT, 9 Appel de chiers, 106 Arret durgence, 17 arret optionnel, 32 Arrets optionnels, 55 Arrosage, 21 arrosage, 33, 51, 53 arrt optionnel, 52 Auto, 9, 31, 36, 39, 46 axes, 50 axes lineaires primaires, 50 axes lineaires secondaires, 51 Axes rotatifs, 51 AXIS, 6, 15, 25 AXIS avec un tour, 25 Bouton effacement de block, 52 break, 105 Broche, 21 broche, 31, 32, 51 Brouillard, 31 call, 104 carrousel doutils, 51 changeur doutil, 51 chargement, 51 Chemin doutil, 18 CNC, 5, 16, 35 commentaires, 64 continue, 105 Contrle manuel, 16, 19 correcteur de vitesse, 30 Correcteur de vitesse broche, 22 correcteur v. broche, 51 correcteur vitesse, 41 correcteur vitesse broche, 30 Correcteurs de vitesse, 16, 22 correcteurs vitesse, 51 Cycles preprogrammes, 93 do, 105 Donnes manuelles, 16 effacement de block, 54 else, 105 endif, 105 endsub, 104 endwhile, 105 ESTOP, 9, 41 Etendues du programme, 18 feed override, 9 G0 Interpolation lineaire rapide, 84 G1 Interpolation lineaire travail, 84 G10 L1 Entree dans la table doutils, 86 G10 L1 Etablissement coordonnees piece, 86 G17 Plan XY, 87 G18 Plan XZ, 87 G19 Plan YZ, 87 G2 Interpolation circulaire sens horaire, 84 G20 Pouce, 87 G21 Millimetre, 87 G28, 87 G28.1, 87 G3 Interpolation circulaire anti-horaire, 84 G30, 88 G30.1, 88 G33 MVT avec broche synchronisee, 88 G33.1 Taraudage rigide, 88 G38.2 Palpeur, 89 G38.5 Palpeur, 89 G4 Temporisation, 86 G40 Revocation compensation rayon, 89 G41 Compensation de rayon, 89 G41.1 Compensation dynamique de rayon, 89 G42 Compensation de rayon, 89 G42.1 Compensation dynamique de rayon, 89 G43 Compensation de longueur, 90 G43.1 Compensation dynamique de longueur, 90 G49 Revocation compensation longueur, 90, 91 G53, 122 G53 Mouvements en absolu, 91 G54, 122, 124 G54 Origine piece 1, 91 G55, 122124 G55 Origine piece 2, 91 G56, 122, 124 G56 Origine piece 3, 91 G57, 122, 124 G57 Origine piece 4, 91 G58, 122, 124 G58 Origine piece 5, 91 149

INDEX G59, 122, 124 G59 Origine piece 6, 91 G59.1, 122, 124 G59.1 Origine piece 7, 91 G59.2, 122, 124 G59.2 Origine piece 8, 91 G59.3, 122, 124 G59.3 Origine piece 9, 91 G61 Trajectoire exacte, 91 G61.1 Arret exact, 91 G64 Trajectoire continue, 91 G7 Mode diametre, 86 G73 Cycle percage brise copeaux, 91 G76 Cycle letage multipasses, 92 G8 Mode rayon, 86 G80 Revocation codes modaux, 93 G81 Cycle de percage, 95 G82 Cycle de percage avec tempo, 96 G83 Cycle de percage avec debourrage, 96 G84 Cycle de taraudage, 96 G85 Cycle dalesage, 96 G86 Cycle dalesage, 97 G87 Alesage inverse, 97 G88 Cycle dalesage, 97 G89 Cycle dalesage, 97 G90 Mode deplacements absolus, 97 G91 Mode deplacements incrementaux, 97 G92, 98, 122, 124 G92.1, 98, 125 G92.2, 98, 125 G92.3, 98, 125 G93 Mode de vitesse, 98 G94 Mode de vitesse, 98 G95 Mode de vitesse, 98 G96 Vitesse de coupe constante, 99 G97 Vitesse de coupe en tr/mn, 99 G98 Retrait sur R, 99 G99 Retrait position initiale, 99 GNU-Linux, 5 HAL, 5 if, 105 KEYSTICK, 47 keystick, 6 lancer, 32 Linux, 5 M0 Arret de programme, 100 M1 Arret de programme, 100 M100..199 Mcodes utilisateur, 103 M2 Fin de programme, 100 M3 Broche sens horaire, 100 M30 Fin de programme, 100 M4 Broche sens anti-horaire, 100 M48 Controle correcteur de vitesse, 101 M49, 101 M5 Arret de broche, 100 M50 Controle correcteur travail, 101 M51 Controle correcteur broche, 102 M52 Controle vitesse adaptative, 102 M53 Controle coupure vitesse, 102 M6 Appel doutil, 101 M60 Arret de programme, 100 M61 Ajuste numero outil, 102 M62, 102 M62 Controle sorties num, 102 M63, 102 M64, 102 M65, 102 M66, 103 M66 Controle entrees num, 103 M7 Goutelettes, 101 M8 Arrosage, 101 M9 Arret darrosages, 101 Manuel, 9, 31, 38, 45 Marche/Arret, 17 MDI, 9, 21, 30, 31, 40 mini, 6, 35 mode, 99 O Codes, 104 OpenGL, 15 Origine Machine, 29 Origine Piece, 29 ouvrir, 32 parametres, 57 parcours outil, 36 pas a pas, 32 pause, 32 point contrl, 52 Position : Absolue, 16 Position : Actuelle, 9, 16 Position : Commandee, 9 Position : Commande, 16 Position : Machine, 9 Position : Relative, 9, 16 Precedence des operateurs, 63 Python, 15, 25 Repeat, 105 reprise, 32 return, 104 RS274NGC, 50, 60 Sherline, 35 sub, 104 systmes de coordonnes, 58 Table du G Code, 83 Tcl, 29

150

INDEX tempo, 53 Tk, 15, 29 tkemc, 6, 29 Toucher, 16 trace doutil, 43 Ubuntu, 5 unites, 10, 53 verie, 32 vitesse davance, 53 Vitesse de jog, 23 vitesse de jog, 30 while, 105 xemc, 6

151

Das könnte Ihnen auch gefallen