repetition programme

  • Auteur de la discussion rastagood61
  • Date de début
R

rastagood61

Apprenti
bonjour j aimerais savoir si il y une fonction a mettre a la fin du sous programme pour avoir autant fois de répétition désiré! Mon programme est :
O002
M98 PO003 S4
M98 PO004 S9
M98 PO005 S20
M30
mais il me fait qu' une pièce par programme!
j ai essayer a la fin dans les sous programmes:
juste M30 sa marche pas
juste M99 sa marche pas
les deux \M99;M30 sa marche toujours pas
les deux sans le \ sa marche toujours pas
sinon dans les sous programmes j appelle un autre sous programme le O001 qui me sert pour ma butée de pousse barre pour les différentes longueur dans O003,O004,O005! serait il de sa faute????????????
 
Z

zingilingiling

Compagnon
Il y a un code pour le compteur de pièce , tu indiques le nombre de pièce que tu veux et il décompte jusqu’à zéro , en général on l'utilise avec le tire barre ou l'avance barre .

J'ai plus le code en tête .
 
D

Davidokuma

Apprenti
Salut j'ai ça si sa peut aider !!!

répétition.jpg
 
M

marto0362

Apprenti
Peux tu envoyer le programme principal stp et sur quel version de fanuc es tu ?
Je suppose que tu appels une butee pour la premiere piece et que ensuite tu veux repeter exemple 20 fois le programme sans la butee?
 
K

kro

Apprenti
Bonjour,

Essayez :

O002
M98 P3 L4
M98 P4 L9
M98 P5 L20
M30
 
M

marto0362

Apprenti
C est pour ca que j ai demandé la version du fanuc sur la notice en 32i j ai bien du M98 P (x) L pour moi c est ca ...personne a un petit programme en tire barre pour voir ce que cela donne ...
 
M

marto0362

Apprenti
Voici ce que j aimerais bien savoir faire repeter un programme principal sans repeter une partie de celui ci (la butee)
O0001 (programme principal)
N10 G28 U0 W0
N20 G50 S3000
N30 T101M6
N40 G0 X30 Z.5. (BUTEE)
N50 M0
(ENSUITE DE FAIT UNE RONDELLE COMPLETE ET JE RAMAINE LA
BARRE A L AIDE D UN TIRE BARRE POUR REVENIR
A MON Z.5)
N500 M30

j aimerais connaitre l ecriture sur sous programme O0002
Pour repeter la ligne N10 N30 puis N40 a N500 donc jusque la la 2eme rondelle serait
usiné et de la j aimerais repeter 98 fois le programme O0002
 
L

leen

Ouvrier
Bonjour,

O0000;
N0001;
G0T1212;
X0.;
Z-60.;
G98;
G1Z-80.F750;
M11;
G4U1;
G0Z-15.;
M10;
G4U2;
G1Z0.F750;
G99;
G0Z75.;
X150.;
T1200;
M98P10;
M89;
M99;
M30;
;
%

M11 ouverture des mors
M10 fermeture des mors
G4U2 temporisation
G98 avance mn
G99 avance tr/mn
L98 répétition 98 fois le sous programme
M89 si tu as un compteur de pièce
pour répéter le programme M98P00L98;
M98P10 programme usinage de ta pièce
Tu as juste à changer les cotes en Z en fonction de tes déplacements
et tu peux faire plusieurs pièces avec tes G54 G55 G56 G57 ECT...
 
M

marto0362

Apprenti
Merci de ta reponse j ai bien compri que tu ma fais le prog pour tirer la barre jusque la y a pas de souci ce que je comprend pas c est comment repeter le prog principal sans la butee 1 fois puis repeter le sous sous programme qui fait la piece sans la butee 98 fois.....excuse mais je fais souvent ca en num mais fanuc 32i j ai vraiment du mal a comprendre l histoire des sous programme.....
 
L

leen

Ouvrier
Tu n'as pas besoin de butée, tu positionnes ta barre à la jauge de profondeur quand tu la change .
il faut que mettre le programme de tire barre en sous programme avec dedans ton programme d'usinage pour pouvoir le répéter 98 fois

O0002;
M98P00L98;
M99;
M30;
;
%

L98 pour le nombre de répétition
 
M

marto0362

Apprenti
Ah ok et a quoi correspond le P00 dans M98P00L98 donc ensuite tu appels le programme courant O0002 pour l exécution du prog principal 98 fois ?
Si je veux vraiment mettre une butee a chaque changement de barre tu fais comment alors....
Sinon a tu une autre solution avec les commandes IF et WHILE?
Je dis ca car j y tiens absolument a la butee .....
 
L

leen

Ouvrier
P00 n°programme que tu appels et si tu veux garder ta butée tu la met au début de ton programme tu mets un M1 arrêt optionnel
O0002;
programme de butée.
M1;
M98P00L98;
M99;
M30;
;
%
 
M

marto0362

Apprenti
Ok merci pour tes reponses je propose un programme lopin de diametre 40 sur longueur 30 quantitees 20 voici ce que je propose comme programme et corrige moi si c est pas bon
O0001 (prog principal)
N10 G28 U0 W0
N20 G50 S3000
N30 T101M6 (outil dresser charioter)
N40 M4 S2000
N50 G0 X43 Z.5
N60 G1 G41 Z F.1
N70 X-.4
N80 G G40 Z2
N90 X38
N100 G1 G42 X39 Z F.13
N110 G1 X40 C.5 (CHANFREIN CASSAGE D ANGLE)
N120 Z-33
N130 G1 X46
N140 G G40 Z1
N150 G28 U0 W0

N160 T202M6 (tronconnage)
N170 M4 S600
N180 GO X41 Z-30
N190 G1 X39
N200 G1 X41
N210 Z-29
N220 X40
N230 G1 Z-30 C.5
N240 G1 X-.4
M89 (compteur piece)
N250 GO X100
N260 G28 U0 W0

N270 T3 03 M6 (attrape barre)
M5
G98 F500

G0 X Z3
G1 Z-33 F500
M11 (ouverture)
G1 Z3
M10 (fermeture)
G0 Z10
G99 F.2
G28 U0 W0
M30


Sous prog
O0002
M11 (ouverture)
G28 U0 W0
T101M6 (DRESSER CHARIOTER)
G0 X30 Z.5
M0
M10 ( fermeture)

G28 U0 W0 (jusque la butee)

M98 P0001 L20
M99
M30 (premier prog fanuc corriger moi si je me trompe j ai fais que du num depuis 15 ans
quel est le code du recuperateur de piece?
si j ai bien compris il faut appele le sous prog en programme courant ?
Et il necessaire de mettre un point virgule a la ligne a chaque fois?
 
L

leen

Ouvrier
Bonjour,

Moi je suis en Fanuc 15T
moi je doit mettre le ; a chaque fin de ligne
pour les déplacements en Zou X je doit mettre le . après chaque chiffre 5. ou sinon il prend ça pour des microns
Du doit faire 2 programmes 1 pour le tire barre et l’autre pour l’usinage avec tire barre après tu fait un sous programme tu mets le tire barre butée en programme principale et tu mets dedans en 2ème sous programme ton usinage


O0002
T101M6;(DRESSER CHARIOTER)
G28 U0 W0;
M11; (ouverture)
G0 X30 Z.5;
M0;
M10; ( fermeture)
G28 U0 W0; (jusque la butee)
M98 P0001 L20;
M99;
M30 ;
;
%

Pour le tronçonnage je tourne a 1200tr/mn avance F0.06 je tronçonne sur 0.5 au Rayon je remonte de 0.1 au rayon lame eps:3.
G1x40.F0.06;
G0X40.2;
G1X39.;
G0X39.2;
ect...
 
M

marto0362

Apprenti
Oui ca revient au meme pour le tire barre de le mettre dans l un ou l autre peux tu regarder mon prog et voir si pour toi il marcherais comme je l ai je tiens absolument a la butee et dans mon cas elle y ai je veux pas sortir de réglé a chaque fois je fais tourner 4 tours a moi seul
 
L

leen

Ouvrier
O0001 (prog principal)
N10 G28 U0. W0.
N20 G50 S3000
N30 T101M6 (outil dresser charioter)
N40 M4 S2000
N50 G0 X43. Z0.5
N60 G1 G41. Z F0.1
N70 X-0.4
N80 G0 G40 Z2.
N90 X38.
N100 G1 G42 X39. Z F0.13
N110 G1 X40. C.5 (CHANFREIN CASSAGE D ANGLE)
N120 Z-33.
N130 G1 X46.
N140 G G40 Z1.---------------------------------G G40 ?????
N150 G28 U0. W0.

N160 T202M6 (tronconnage)
N170 M4 S600
N180 GO X41. Z-30.
N190 G1 X39.F0.06
N200 G0 X41.
N210 Z-29.
N220 G1X40.
N230 G1 Z-30 C0.5
N240 G1 X-0.4
M89 (compteur piece)
N250 GO X100.
N260 G28 U0. W0.

N270 T3 03 M6 (attrape barre)
M5
G98
G0 X0. Z3.--------------------------
G1 Z-33. F750---------------------------tu dois regarder la profondeur de prise de pièce ton tire barre la tu va Z-33.en avance travail pour revenir Z-3. toujours en avance travail
M11 (ouverture) tu vas en avance rapide a 5mm de ta pièce après tu passes en G1 Z?. après M11 après GO Z?. après M11 après G1 Z?. F750 pour dégager le tire barre
G1 Z3. après G0Z10. et G99 tu n’as pas besoin de mettre F0.2
M10 (fermeture)
G0 Z10.
G99 F0.2
G28 U0. W0.
M30


Sous prog
O0002
M11 (ouverture)
G28 U0. W0.
T101M6 (DRESSER CHARIOTER)
G0 X30. Z0.5
M0
M10 ( fermeture)

G28 U0. W0. (jusque la butee)

M98 P0001 L20
M99
M30
 
M

marto0362

Apprenti
G G40 VEUT DIRE G0 G40 veut dire G0 G40 EN NUM 1060 maintenant pour le tire barre a chacun ca facon de travailler j ai fais ce prog vite fait je voulais juste savoir si la structure été bonne avec le sous programme . Merci
 
J

JLuc69

Compagnon
Tu peux faire comme ça :
O0001(...)
(appel chargement barre)
...
...
#100=0
WHILE[#100LE98]DO1
#100=#100+1(1 piece de plus)
...
...
...
END1

Ca bouclera 98 fois
 
M

marto0362

Apprenti
Bonjour cette solution m interresse beaucoup mais peux tu expliquer tous ce que tu as ecrit car je comprend pas tout dedans ????
Il ya le terme IF aussi ?
Si tu t y connais bien avec ces commandes il serait super de nous faire partager tes connaissances...
Cette solution est tres bien car on oublie le sous programme.
 
J

JLuc69

Compagnon
marto0362 a dit:
Bonjour cette solution m interresse beaucoup mais peux tu expliquer tous ce que tu as ecrit car je comprend pas tout dedans ????
Il ya le terme IF aussi ?
Si tu t y connais bien avec ces commandes il serait super de nous faire partager tes connaissances...
Cette solution est tres bien car on oublie le sous programme.
O0001(...) Début de programme
(appel chargement barre)
...
...
#100=0 Je mets une variable quelconque à 0
WHILE[#100LE98]DO1 Tant que la variable #100 est plus petite ou égale à 98, je fais jusqu'à END1
#100=#100+1(1 piece de plus) J'incrémente la variable testée
...
...
...
END1 Je fini là ma boucle

Si tu veux, mets ton programme en faisant comme si c'était du NUM (avec un G77 N... N... S...) et je modifirais. Tu comprendras mieux :wink:
 
M

marto0362

Apprenti
Re
non en num ca donnerais ca pour une condition, ce que tu dis rappel des blocs
Et ton S Repete jusque 99fois maximum
Pour la condition num ca donne ça
L1=0 compteur debut de prog premiere ligne
N10 JUSQUE N500 j effectue ma piece et je ramene la barre a l aide
du tire barre
L1=L1+1 (j incremente)
G79 L1 <98 N10
N1000 M2

la condition veut dire tant que L1 et plus petit 98 retour a la ligne 10
Sinon saut a la ligne 1000

Je pense que chez fanuc il faudrais faire un IF avec des GOTO ????
Quand penses tu ?
 
J

JLuc69

Compagnon
marto0362 a dit:
Re
non en num ca donnerais ca pour une condition, ce que tu dis rappel des blocs
Et ton S Repete jusque 99fois maximum
Pour la condition num ca donne ça
L1=0 compteur debut de prog premiere ligne
N10 JUSQUE N500 j effectue ma piece et je ramene la barre a l aide
du tire barre
L1=L1+1 (j incremente)
G79 L1 <98 N10
N1000 M2

la condition veut dire tant que L1 et plus petit 98 retour a la ligne 10
Sinon saut a la ligne 1000

Non, la condition veut dire SI la valeur de L1 est plus petite que 98

marto0362 a dit:
Je pense que chez fanuc il faudrais faire un IF avec des GOTO ????
Quand penses tu ?
Perso, j'évite autant que possible les IF avec branchement, mais au final, ça marche pareil :
#100=0
N10 ...
...
...
IF[#100 LT 98] GOTO10 (LT=plus petit que, LE=plus petit ou égal)
 
M

marto0362

Apprenti
Ok bien c est quasiment pareil il suffit d appliquer une fois ensuite c est toujour pareil
et qd la condition est réalisé ca passe a la ligne suivante?
Sinon si tu as l equivalent de ca pour le fanuc je suis preneur...
G77 N10 N500 S99
Je pense que le G70 N10 N500 pourrez peut etre fonctionner pour rappeler les lignes (ok je sais c est le cycle de finition)
Par contre pour le S99 ?
 
J

JLuc69

Compagnon
marto0362 a dit:
Ok bien c est quasiment pareil il suffit d appliquer une fois ensuite c est toujour pareil
et qd la condition est réalisé ca passe a la ligne suivante?
Sinon si tu as l equivalent de ca pour le fanuc je suis preneur...
G77 N10 N500 S99
Je pense que le G70 N10 N500 pourrez peut etre fonctionner pour rappeler les lignes (ok je sais c est le cycle de finition)
Par contre pour le S99 ?

WHILE[#100LE98]DO1 Tant que la variable #100 est plus petite ou égale à 98, je fais jusqu'à END1
#100=#100+1(1 piece de plus) J'incrémente la variable testée
...
...
...
END1 Je fini là ma boucle
:)
 
M

marto0362

Apprenti
J ai beaucoup plus de facilité a comprendre le IF que le WHILE actuellement ton WHILE je le comprend comme ca ..corrige moi si je le trompe
#100=0 (compteur)
avant le commencement on met le WHILE ?
N10 a N500 (prog+tire barre)
#100=#100+1
END1
M30

j ai juste un peux de mal a comprendre ou tu places ton While ?
 
J

JLuc69

Compagnon
marto0362 a dit:
J ai beaucoup plus de facilité a comprendre le IF que le WHILE actuellement ton WHILE je le comprend comme ca ..corrige moi si je le trompe
#100=0 (compteur)
avant le commencement on met le WHILE ?
N10 a N500 (prog+tire barre)
#100=#100+1
END1
M30

j ai juste un peux de mal a comprendre ou tu places ton While ?

C'est bien comme ça :wink:

En français, ça donne :
- initialisation variable
- tant que CONDITION est vraie, faire
- travail à faire
- faire bouger la variable de la condition (si la condition était tant que 1=1 ou 1>0 ou ..., on aurait une boucle infinie)
- fin tant que
 
M

marto0362

Apprenti
Ok j ai compri ouffff c est presque pareil que pour num la seul chose qui me derange chez fanuc et qu apparemment il n y ai pas de code G pour rappeler des lignes .....merci jean luc on a parlé de tout les sous prog les WHILE les IF j espere que cela aura ete utile a beaucoup de personne. :smt003
 

Sujets similaires

laurenttanguy
Réponses
0
Affichages
480
laurenttanguy
laurenttanguy
J
Réponses
17
Affichages
1 383
Snoopile
S
G
Réponses
1
Affichages
552
Greg de Nîmes
G
Moi33
Réponses
3
Affichages
806
dh42
dh42
L
Réponses
2
Affichages
678
Lolo59-62
L
rebarbe
Réponses
32
Affichages
955
Doctor_itchy
D
V
Réponses
0
Affichages
987
v tec
V
C
Réponses
12
Affichages
2 802
coupevent
C
A
Réponses
3
Affichages
1 616
titi t16
titi t16
PL50
Réponses
25
Affichages
942
dh42
B
Réponses
7
Affichages
1 617
Bertitou
B
P
Réponses
33
Affichages
16 013
wika58
wika58
Haut