summaryrefslogtreecommitdiff
path: root/docs/src/gcode/coordinates_fr.txt
blob: b15ca3e0720b638d8f004765068cdcc075d57413 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
:lang: fr
:toc:

= Systèmes de coordonnées et décalages

[[cha:Systemes-de-coordonnees]] (((Systèmes de coordonnées)))


== Introduction

Dans ce chapitre, nous allons tenter de démystifier les systèmes de coordonnées.
C'est une notion capitale pour maitriser le fonctionnement d'une machine CNC, sa
configuration et son utilisation.

Nous montrerons également, qu'il est très intéressant d'utiliser un point de 
référence sur le brut ou la pièce et de faire travailler le programme à partir 
de ce point, sans avoir à tenir compte d'où est placée la pièce sur la
machine pendant l'usinage.
Ce chapitre va donc introduire les décalages et comment ils sont utilisés
par LinuxCNC:

* Les coordonnées machine.(G53)
* Les neuf décalages d'origine pièce.(G54 à G59.3)
* Un jeu de décalages globaux.(G92)

== Commande en coordonnées machine: G53 

Indépendamment de tout décalage pouvant être actif, un G53 dans une ligne de
code indique à l'interpréteur de se déplacer aux positions réelles des axes
(positions absolues), commandées dans la ligne. Par exemple:

----
G53 G0 X0 Y0 Z0
----

déplacera le mobile depuis la position actuelle vers la position où
les coordonnées machine des trois axes seront à zéro. Vous pouvez
utiliser cette commande si vous avez une position fixe pour le
changement d'outil ou si votre machine dispose d'un changeur
automatique. Vous pouvez aussi utiliser cette commande pour dégager la
zone de travail et accéder à la pièce dans l'étau.

G53 est une commande non modale. Elle doit être utilisée sur chaque
ligne où un mouvement basé sur les coordonnées machine est souhaité.

[[fig:decalages-ilots]]
== Décalages pièce (G54 à G59.3)

image::images/offsets.png[]

.Exemple de décalages pour 8 ilots

Le décalage d'origine est utilisé pour séparer le point de référence
de la pièce, de l'origine machine, créant ainsi un système de
coordonnées (relatif), propre à chaque pièce et décalé du système de
coordonnées machine (absolu). Il permet, entre autre, dans le cas de
pièces multiples mais semblables, de créer en décalant ses origines, le
système de coordonnées de chaque pièce, le programme restant le même.
Un cas typique d'utilisation de cette fonctionnalité, pour usiner huit
ilots identiques sur la même pièce, est illustré sur la figure ci-dessus.

Les valeurs des décalages sont enregistrées dans le fichier VAR qui
est requis par le fichier INI durant le démarrage de LinuxCNC. Dans l'exemple
ci-dessous, qui utilise (((G55)))G55, la valeur de chacun des axes de G55
est enregistrée dans une variable numérotée.

[width="40%",cols="^,^",options="header"]
|==============
|Variable|Valeur
|5241 |0.000000
|5242 |0.000000
|5243 |0.000000
|5244 |0.000000
|5245 |0.000000
|5246 |0.000000
|==============

Dans le schéma d'un fichier VAR, la première variable contient la
valeur du décalage de l'axe X, la seconde variable le décalage de l'axe
Y et ainsi de suite pour les six axes. Il y a une série de variables de
ce genre pour chacun des décalages pièce.

Chacune des interfaces graphiques offre un moyen de fixer les valeurs
de ces décalages. Vous pouvez également définir ces valeurs en
modifiant le fichier VAR lui-même, puis faire un [reset], pour que LinuxCNC
lise les nouvelles valeurs. Pour notre exemple, nous allons éditer
directement le fichier pour que G55 prenne les valeurs suivantes:

[width="40%",cols="^,^",options="header"]
|==============
|Variable|Valeur
|5241 |2.000000
|5242 |1.000000
|5243 |-2.000000
|5244 |0.000000
|5245 |0.000000
|5246 |0.000000
|==============

Vous pouvez voir que les positions zéro de G55 sont passées en X = 2, 
Y = 1, et Z = -2 éloignées donc de l'origine absolue (machine).

Une fois que les valeurs sont assignées, un appel de G55 dans une
ligne de programme décalera le point de référence zéro, l'origine, vers
les valeurs enregistrées. La ligne suivante décalera chacun des axes
vers sa nouvelle position d'origine. Contrairement à G53, les commandes
G54 à G59.3 sont modales. Elles agissent sur toutes les lignes de
G-code du programme après qu'une ait été rencontrée. Voyons le
programme qui pourrait être écrit à l'aide de la figure
<<fig:decalages-ilots, des décalages d'ilots>>, il suffira d'un seul point de
référence pour chacune des pièces pour faire tout le travail. Le code suivant
est proposé comme exemple pour faire un rectangle, il utilisera les
décalages G55 que nous avons expliqué précédemment.

----
G55 G0 X0 Y0 Z0
G1 F2 Z-0.2000
X1
Y1
X0
Y0
G0 Z0
G54 X0 Y0 Z0
M2
----

'Mais,' dites vous, 'pourquoi y a-t-il un G54 vers la fin ?' C'est une
pratique courante de quitter le système de coordonnées G54 avec
l'ensemble des valeurs d'axes à zéro afin de laisser un code modal basé
sur les positions machine absolues. Nous le faisons avec cette commande
qui met la machine à zéro. Il aurait été possible d'utiliser G53 et
d'arriver au même endroit, mais la commande n'aurait pas été modale,
les commandes suivantes auraient voulu retourner dans le système de
coordonnées du G55 toujours actif.

----
G54	utilise les réglages du système de coordonnées 1(((G54)))
G55	utilise les réglages du système de coordonnées 2(((G55)))
G56	utilise les réglages du système de coordonnées 3(((G56)))
G57	utilise les réglages du système de coordonnées 4(((G57)))
G58	utilise les réglages du système de coordonnées 5(((G58)))
G59	utilise les réglages du système de coordonnées 6(((G59)))
G59.1	utilise les réglages du système de coordonnées 7(((G59.1)))
G59.2	utilise les réglages du système de coordonnées 8(((G59.2)))
G59.3	utilise les réglages du système de coordonnées 9(((G59.3)))
----

=== Système de coordonnées par défaut

Une autre variable dans le fichier VAR joue un rôle important dans les
décalages, c'est la variable 5220. Dans les fichiers par défaut, sa
valeur est fixée à 1,00000. Ce qui signifie que lorsque LinuxCNC démarre, il
doit utiliser le premier système de coordonnées comme système par
défaut. Si vous définissez celui-ci à 9,00000 le neuvième système
décalé sera utilisé par défaut au démarrage du système et aux
réinitialisations. Toute valeur autre qu'un entier compris entre 1 et
9, ou l'absence de la variable 5220, provoquera au démarrage le retour
de LinuxCNC à la valeur par défaut de 1.00000.

=== Réglage des décalages avec G10

La commande G10 L2x peut être utilisée pour modifier les valeurs des
décalages d'un système de coordonnées pièce:
  (Nous donnons seulement ici un bref aperçu, se reporter aux sections du G-code
pour une description complète).

* 'G10 L2  P(pièce 1-9)' - Ajuste les valeurs d'offset. La position courante
reste inchangée.
    (voir la section<<sec:G10-L2, G10 L2>> pour les détails)

* 'G10 L20 P(pièce 1-9)' - Ajuste les valeurs d'offset de sorte que la position
courante devienne la position donnée en paramètre.
    (Voir la section <<sec:G10-L20,G10 L20>> pour les détails)

[[sec:G92-Decalages]]
== Décalages d'axes G92

G92 est la plus incomprise et la plus maligne des commandes
programmables avec LinuxCNC. La façon dont elle fonctionne a un peu changé
entre les premières versions et l'actuelle. Ces changements ont sans
doute déconcerté de nombreux utilisateurs. Elle devrait être vue comme
une commande produisant un décalage temporaire, qui s'applique à tous
les autres décalages.

=== Les commandes G92

Ce jeu de commandes inclus:

* G92 - Cette commande, utilisée avec des mots d'axes, fixe les valeurs des
variables de décalage.

* G92.1 - Cette commande met à zéro les valeurs des variables de G92.

* G92.2 - Cette commande suspend, sans les mettre à zéro, les variables de G92.

* G92.3 - Cette commande applique les valeurs de décalage qui ont
été suspendues.

L'utilisateur doit bien comprendre le fonctionnement des valeurs de
G92. Pour faire en sorte que le point actuel ait les coordonnées X0, Y0 et Z0
nous utiliserons 'G92 X0 Y0 Z0'. G92 *ne fonctionne pas* depuis le système de
coordonnées machine absolues. Il fonctionne à partir de *l'emplacement
actuel*.

G92 travaille également à partir d'un emplacement actuel déjà modifié
par tout autre décalage actif au moment où la commande G92 est
invoquée. Lors de tests des différences entre les décalages de travail
et les décalages réels, il a été constaté qu'un décalage G54 pouvait
annuler un G92 et ainsi, donner l'apparence qu'aucun décalage n'était
actif. Toutefois, le G92 était toujours actif, pour toutes les
coordonnées et il a produit les décalages attendus pour tous les autres
systèmes de coordonnées.

Lors du démarrage de LinuxCNC, si des offsets existent dans les variables de
G92, ils seront appliqués lors de la prise d'origine des axes concernés.
Il est donc de bonne pratique de mettre les offsets de G92 à zéro par G92.1 ou
un G92.2 à la fin de leur utilisation.

=== Réglage des valeurs de G92

Il y a au moins deux façons d'établir les valeurs de G92.

* Par un clic droit de la souris sur les afficheurs de position de
   tklinuxcnc, une fenêtre s'ouvre dans laquelle il est possible de saisir une
   valeur. 
* Par la commande G92.

Toutes les deux, fonctionnent depuis l'emplacement courant de l'axe
auquel le déplacement doit être appliqué.

Programmer 'G92 X Y Z A B C U V W' fixe les valeurs des variables de G92
de sorte que chaque axe prenne la valeur associée à son nom. Ces
valeurs sont assignées à la position courante des axes. Ces résultats
satisfont les paragraphes un et deux du document du NIST.

Les commandes G92 fonctionnent à partir de la position courante de
l'axe, à laquelle elles ajoutent ou soustraient des valeurs pour donner
à la position courante la valeur assignée par la commande G92. Elles
prennent effet même si d'autres décalages sont déjà actifs.

Ainsi, si l'axe X est actuellement en position X=2.000, un 'G92 X0'
fixera un décalage de -2.0000, de sorte que l'emplacement actuel de X
devienne X=0.000. Un nouveau 'G92 X5.000' fixera un décalage de 3.000
et l'affichage indiquera une position courante X=5.000.

=== Précautions avec G92 

Parfois, les valeurs de décalage d'un G92 restent bloquées dans le
fichier VAR. Quand ça arrive, une ré-initialisation ou un redémarrage
peut les rendre de nouveau actives. Les variables sont numérotées: 

[width="40%",cols="^,^",options="header"]
|==============
|Variable|Valeur
|5211 | 0.000000
|5212 | 0.000000
|5213 | 0.000000
|5214 | 0.000000
|5215 | 0.000000
|5216 | 0.000000
|==============

où 5211 est le numéro du décalage de l'axe X et ainsi de suite. Si
vous voyez des positions inattendues à la suite d'une commande de
déplacement, ou même des chiffres inattendus dans l'affichage de la
position lorsque vous démarrez, regardez ces variables dans le fichier
VAR pour vérifier si elles contiennent des valeurs. Si c'est le cas,
les mettre à zéro devrait solutionner le problème.

Si des valeurs G92 existent dans le fichier VAR quand LinuxCNC démarre, ces 
valeurs seront appliquées aux valeurs courantes des emplacements d'axe. 
Si c'est sa position d'origine et que l'origine est définie au zéro machine, tout
sera correct. Une fois que l'origine machine a été établie en utilisant les 
contacts d'origine machine, ou en déplaçant chaque axe à une position connue, puis
en envoyant la commande de prise d'origine de l'axe, tous les décalages G92 seront
appliqués. Si un X1 G92 est actif lors de la prise d'origine machine de l'axe X,
la visu affichera 'X: 1.000' au lieu du 'X: 0.000' attendu, c'est parce-que le 
G92 a été appliqué à l'origine machine. Si vous passez un G92.1 et que la visu
affiche tous à zéro, alors c'est que vous avez encore l'effet de l'offset G92 
de la dernière session de LinuxCNC.

Sauf si votre intention est d'utiliser les mêmes décalages G92 dans le prochain
programme, la meilleure pratique consiste à envoyer un G92.1 à la fin de tout 
fichier de G-code dans lequel vous utilisez les compensations G92.

== Exemple de programme utilisant les décalages d'axes

Cet exemple de projet de gravure, usine un jeu de quatre cercles de
rayon .1 pouce dans une forme grossière d'étoile au centre du cercle.
Nous pouvons configurer individuellement les formes de la façon
suivante:

----
G10 L2 P1 X0 Y0 Z0 (assure que G54 a mis la machine à zéro) 
G0 X-0.1 Y0 Z0
G1 F1 Z-0.25
G3 X-0.1 Y0 I0.1 J0
G0 Z0
M2
----

Nous pouvons émettre une série de commandes pour créer des décalages
pour les quatre autres cercles comme cela.

----
G10 L2 P2 X0.5 (décalages G55 X la valeur de 0.5 pouces)
G10 L2 P3 X-0.5 (décalages G56 X valeur de -0.5 pouces)
G10 L2 P4 Y0.5 (décalages G57 valeur Y de 0.5 pouces)
G10 L2 P5 Y-0.5 (décalages G58 valeur Y de -0.5 pouces)
----

Nous mettons ces ensembles 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 à zéro)
G10 L2 P2 X0.5 (décalages G55 X la valeur de 0.5 pouces) 
G10 L2 P3 X-0.5 (décalages G56 X la valeur de -0.5 pouces) 
G10 L2 P4 Y0.5 (décalages G57 X la valeur de 0.5 pouces) 
G10 L2 P5 Y-0.5 (décalages G58 X la valeur de -0.5 pouces)

G54 G0 X-0.1 Y0 Z0 (cercle du centre)
G1 F1 Z-0.25
G3 X-0.1 Y0 I0.1 J0
G0 Z0

G55 G0 X-0.1 Y0 Z0 (premier cercle compensé)
G1 F1 Z-0.25
G3 X-0.1 Y0 I0.1 J0
G0 Z0

G56 G0 X-0.1 Y0 Z0 (deuxième cercle compensé)
G1 F1 Z-0.25
G3 X-0.1 Y0 I0.1 J0
G0 Z0

G57 G0 X-0.1 Y0 Z0 (troisième cercle compensé)
G1 F1 Z-0.25
G3 X-0.1 Y0 I0.1 J0
G0 Z0

G58 G0 X-0.1 Y0 Z0 (quatrième cercle compensé)
G1 F1 Z-0.25
G3 X-0.1 Y0 I0.1 J0
G54 G0 X0 Y0 Z0

M2
----

Maintenant c'est le moment d'appliquer une série de décalages G92
à ce programme. Vous verrez que c'est fait dans chaque cas de Z0. Si
la machine était à la position zéro, un G92 Z1.0000 placé en tête
de programme le décalerait d'un pouce. Vous pouvez également modifier
l'ensemble du dessin dans le plan XY en ajoutant quelques décalages 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, les programmes que vous pourriez lancer après celui-ci,
utiliseront également les décalages G92. En outre, cela permettrait
d'éviter d'écrire les valeurs de G92 lorsque vous arrêtez LinuxCNC et donc,
d'éviter de les recharger quand vous démarrez à nouveau le programme.