Macro? repetition

  • Auteur de la discussion jujurassik
  • Date de début
J

jujurassik

Nouveau
bonjour a tous ,

Voilà j'ai essayer un peut de faire une macro pour mon programme de base afin de le raccourcir , mais après quelque test je n'ai pas réussi du coup j'aimerai avoir un exemple si une personne de confirmer en fanuc serait me depanner. ( je debute encore désolé :hang:)

Je suis sur un fanuc 18i bi broche

Je doit réaliser cette pièce , on ne garde que le pas et avec une fraise boule de diam 2
Le diamètre déjà tourner sur une lg de 105.
Le perçage et mise a longueur et réaliser en trad pour bien s'assurer que le "ressort" ne bouge pas sur des long mors en ligne.(il s'agit que de 4 piece donc pas une grosse serie)

spirale.jpg

Voici mon programme


G54M303
G17M45
G98
G0G28U0.W0.H0.V0.T1019
G361B0.D0.
G43H19.
G97S8000M13X200.Z10.Y0.C0.
T1003
G0X32.(01)
G0Z0.(DECALER DE + 2MM)
M8
G1G98Z-5.4C-360.F800.
G1G98Z-10.8C-720.F800.
G1G98Z-16.2C-1080.F800.
G1G98Z-21.6C-1440.F800.
G1G98Z-27.C-1800.F800.
G1G98Z-32.4C-2160.F800.
G1G98Z-37.8C-2520.F800.
G1G98Z-43.2C-2880.F800.
G1G98Z-48.6C-3240.F800.
G1G98Z-54.C-3600.F800.
G1G98Z-59.4C-3960.F800.
G1G98Z-64.8C-4320.F800.
G1G98Z-70.2C-4680.F800.
G1G98Z-75.6C-5040.F800.
G1G98Z-81.C-5400.F800.
G1G98Z-86.4C-5760.F800.
G1G98Z-91.8C-6120.F800.
G1G98X34.F200.
G0X60.
G0Z0.
G28H0. (RETOUR AXE C A 0)
G0C0.
G0X31.6(02)
G1G98Z-5.4C-360.F800.
G1G98Z-10.8C-720.F800.
G1G98Z-16.2C-1080.F800.
G1G98Z-21.6C-1440.F800.
G1G98Z-27.C-1800.F800.
G1G98Z-32.4C-2160.F800.
G1G98Z-37.8C-2520.F800.
G1G98Z-43.2C-2880.F800.
G1G98Z-48.6C-3240.F800.
G1G98Z-54.C-3600.F800.
G1G98Z-59.4C-3960.F800.
G1G98Z-64.8C-4320.F800.
G1G98Z-70.2C-4680.F800.
G1G98Z-75.6C-5040.F800.
G1G98Z-81.C-5400.F800.
G1G98Z-86.4C-5760.F800.
G1G98Z-91.8C-6120.F800.
G1G98X34.F200.
G0X60.
G0Z0.
G28H0. (RETOUR AXE C A 0)
G0C0.
G0X31.2(03)

ETC ....

G0X60.
G0Z30.
G28H0.M485
G28V0.M5
G28U0.
G28W0.
M0

L'axe X descendrai jusqu'au X12.

a savoir que j'ai pas mal de ces spirale a faire dans l'année, ce qui change ce sont les diamètres, le pas , la fraise en fonction de l'écartement , et la distance de en z- . (usinage en C-*** pour un pas a droit mais j'ai également en C*** pour pas a gauche cela ne change pas grand chose je pense :) )

j'y allez a coup de copier coller en changeant juste l'axe X mais créer une tel macro et quand même compliquer pour un tourneur traditionnel :???:.

Merci :D
 
L

laurent12100

Ouvrier
C'est peut etre con ce que je vais dire mais si le pas est constant tu ne peux pas faire directement en 2 ligne ? :

G97S8000M13X200.Z10.Y0.C0.
T1003
G0X32.(01)
G0Z0.(DECALER DE + 2MM)
M8
G1G98Z-91.8C-6120.F800.
 
L

laurent12100

Ouvrier
Ensuite pour faire une macro, il te faut arriver a écrire(décrire) ton programme avec des mots avant de l'écrire en gcode

Variable 1 = ...(longueur de la piéce)
V 2 = ... (pas du ressort)
V3 =... (Diametre de depart)
V4 = ...(diametre arrivé)
.....

Ensuite il te faut decrire les relations entre les variables

L'idée c'est d'avoir une boucle de programe qui se répète en incrémentant une variable tant que la condition n'est pas atteinte
 
J

jujurassik

Nouveau
C'est peut etre con ce que je vais dire mais si le pas est constant tu ne peux pas faire directement en 2 ligne ? :

G97S8000M13X200.Z10.Y0.C0.
T1003
G0X32.(01)
G0Z0.(DECALER DE + 2MM)
M8
G1G98Z-91.8C-6120.F800.
_________________________________________


Ensuite pour faire une macro, il te faut arriver a écrire(décrire) ton programme avec des mots avant de l'écrire en gcode

Variable 1 = ...(longueur de la piéce)
V 2 = ... (pas du ressort)
V3 =... (Diametre de depart)
V4 = ...(diametre arrivé)
.....

Ensuite il te faut decrire les relations entre les variables

L'idée c'est d'avoir une boucle de programe qui se répète en incrémentant une variable tant que la condition n'est pas atteinte

Merci pour tes réponse @laurent12100 , alors pour la 1er réponse je me trouve un peut bête j'ai pas encore le reflex et pourtant une évidence, j'ai calculer en additionnant 360 a chaque fois pour arriver a mon Z de fin. et il est vrai que après çà j'ai la fin avec l'angle de l'axe c j'aurai pus faire en 1 ligne effectivement lol.

Ensuite pour la macro je nage complètement j'ai réussi a faire quelque petite chose et encore les plus complexe j'ai trouver réponse ici. mais j'apprend :).
 
J

jujurassik

Nouveau
Ca pourrait te convenir ? (à tester quand même, hein !)
Merci Pour ta réponse @JLuc69 je vais testé ca se soir ou demain matin et je te ferais le retour , j'essaye ne même temps de traduire :D

WHILE[#120GT#121]DO1 (pendant que 32.5 et supérieur a 14.5) DO1- boucle end 1
#120=#120-#102 (32.5=32.5-0.4)
IF[#120LT#121]THEN#102=#121(si (32.5=32.5-0.4) et inferieur a 14.5 alors 0.4=14.5 ((( si je comprend bien là on lui dit de ne pas allez + bas et que c'est ici que ca se termine ??? )))
G0 X#122 Z0 (approche rapide a x34. z0.)
G28 H0 (origine axe C)
C0 (démarrage C0)
G1 G98 X#120 F800 (départ x32.5)
Z#100 C#123 (arriver 91.8 avec le calcul du pas)
X#122 (remonte en x34)
END1

j'espère avoir bien compris tu peut me corriger a l'occasion :) , mais je t'avoue que j'aurai jamais trouver mdr. il y a encore du chemin a parcourir , en espérant faire de plus en plus de numérique car le traditionnel du coup m'intéresse plus vraiment, quand on découvre de nouvelle chose on ai forcement plus captiver. Merci beaucoup en tout cas
 
Haut