Fonctions préparatoires G fraisage
Appel de macro client (G65)
Bien que les sous-programmes soient très utiles dans le cas de répétition
d’opérations identiques, la fonction macro-client permet d’utiliser des
variables, des opérations arithmétiques et logiques, et des conditions de
branchement. Elles facilitent la création de programmes spéciaux pour
une machine donnée. Un programme d’usinage peut appeler une macro-client avec des variables passées en paramètre, exactement comme un sous-programme.
Les lettres de l'alphabet servent d'argument à l'entrée dans la macro client. Elles sont toutes utilisables, excepté : G, L, N, O et P.
Comment ça marche ?
Appel
Après G65, spécifier à l’adresse P le numéro du programme de la macro à appeler.
Lorsqu’un nombre de répétitions est nécessaire, spécifier un nombre de 1 à 9999 après l’adresse L. Lorsque L est omis, la valeur par défaut est 1.
En utilisant la spécification d’argument, des valeurs sont affectées aux variables locales correspondantes.
Spécification d'arguments
Deux types de spécifications d’argument sont disponibles.
La spécification I utilise des lettres autres que G, L, O, N et P une fois chacune.
Spécification d'arguments I
Adresse | N° de variable |
A
B
C
D
E
F
H
|
#1
#2
#3
#7
#8
#9
#11
|
|
Adresse | N° de variable |
I
J
K
M
Q
R
S
|
#4
#5
#6
#13
#17
#18
#19
|
|
Adresse | N° de variable |
T
U
V
W
X
Y
Z
|
#20
#21
#22
#23
#24
#25
#26
|
|
La spécification d’argument II utilise A, B et C une fois chacune et utilise également I, J et K jusqu’à dix fois.
Spécification d'arguments II
Adresse | N° de variable |
A
B
C
I1
J1
K1
I2
J2
K2
I3
J3
|
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
#11
|
|
Adresse | N° de variable |
K3
I4
J4
K4
I5
J5
K5
I6
J6
K6
I7
|
#12
#13
#14
#15
#16
#17
#18
#19
#20
#21
#22
|
|
Adresse | N° de variable |
J7
K7
I8
J8
K8
I9
J9
K9
I10
J10
K10
|
#23
#24
#25
#26
#27
#28
#29
#30
#31
#32
#33
|
|
Le type de spécification d’argument est automatiquement déterminé d’après les lettres utilisées.
Exemple d'utilisation
Réalisation d'un rectangle
Programme principal | Sous programme |
O0001
M6 T1
G00 G90 G54 X0 Y0 M3 S5000 D1
G43 H1 Z2. M8
G1 Z-5. F750
G65 P0055 X50. Y30.
G0 Z10. M9
G91 G28 Y0 Z0 M30
|
O0055
G1 X[#24 / 2]
Y[#25 / 2]
X-[#24 / 2]
Y-[#25 / 2]
X0
Y0
M99
|
Dans une macro client utilisant les variables (de même que dans un sous programme standard), il est possible de récupérer quelques informations :
La valeur du groupe 01 (G00, G01, G02, G03) par le variable #4001
La valeur du groupe 03 (G90, G91) par la variable #4003
La valeur de l'avance programmée avant l'entrée dans la macro par la variable #4109
La position sur l'axe X par rapport à l'origine programme par la variable #5001
La position sur l'axe Y par rapport à l'origine programme par la variable #5002
La position sur l'axe Z par rapport à l'origine programme par la variable #5003
Ce qui peut être utile pour calculer des positions, passer du relatif à l'absolu, de l'avance rapide en avance travail... Et pouvoir remettre le programme dans
les mêmes conditions que lors de l'entrée dans la macro.
Haut de pageRetour au tableau
Version imprimable.