Programme paramétré percage et fraisage en contournage

  • Auteur de la discussion Thierry73
  • Date de début
T

Thierry73

Nouveau
Bonjour, sur ma Fanuc OMC,
je cherche à faire un programme paramétré pour réalisation de n trous positionnés sur un diamètre avec une position angulaire. Tous les trous seront percés avec un foret ( Ø18) et ensuite seront réaliser en fonction des pièces au diamètre 20 ou 22 ou 24 ou 26 par contournage avec une fraise de Ø12…
A ce jour je créé un programme spécifique pour chaque commande (programme pour le perçage avec appel d’un sous programme pour le contournage…
J’ai fait un programme paramétré qui me permet de faire le perçage mais pour le contournage je suis bloqué, je ne vois pas comment faire !

Voici le programme paramétré pour le perçage et son sous programme :
%
:100(PERCAGE TE AVEC ANGLE)

(#508=NUMERO OUTIL PERCAGE)
(#509=VITESSE ROTATION FORET)
(#510=DIAMETRE DE POSITIONEMENT)
(#511=NOMBRE DE TROUS)
(#512=PROFONDEUR PERCAGE)
(#513=ANGLE DE DEPART)
(#514=AVANCE DU FORET)

N10G40G17G80
N20G28G91Z0
N400 T#508 M6 (FORET)
G0 G90 G54 X[#510/2] Y0 M3 S#509
G43 H#508 Z50 M8
G98 G81 Z#512 F#514 R2 K0 (K0 -> LE PERCAGE ATTENDS UNE COORDONNEE)
G65 P8888 X0 Y0 D#510 K#511 A#513 (APPEL DE MACRO CLIENT DE CALCUL DES POINTS)
(MACRO CLIENT = O8888)
(DIAMETRE DE PERCAGE = #510)
(NOMBRE DE TROUS = #511)
(ANGLE DE DEPART = #513)
G80 Z50 M9 (ANNULATION DU CYCLE)
G91 G28 Y0 Z0
M30 (FIN DE PROGRAMME)
%

%
:8888(MACRO CLIENT PERCAGE DE TROUS)
#100 = #7 / 2(RAYON POS PERCAGE)
#101 = 360 / #6(INCREMENT ANGULAIRE)
#102 = #1(ANGLE DE DEPART)
#103 = 1(COMPTEUR DE BOUCLE)
WHILE[#103 LE #6] DO1 (TANT QUE PLUS PETIT QUE LE NOMBRE DE TROUS)
#110 = #24 + [COS[#102] * #100] (POSITION X)
#111 = #25 + [SIN[#102] * #100] (POSITION Y)
X#110 Y#111 (ON VA A LA POSITION)
#102 = #102 + #101 (ON INCREMENTE L'ANGLE)
#103 = #103 + 1 (ON INCREMENTE LE COMPTEUR)
END1
M99
%

Voici les paramètres que je voudrai ajouter :

(#515=NUMERO OUTIL FRAISAGE)
(#516=VITESSE ROTATION FRAISE)
(#517=DIAMETRE DU TROUS A OBTENIR)
(#518=PROFONDEUR FRAISAGE)
(#519=PRISE DE PASSE)
(#520=AVANCE DE LA FRAISE)

Je vous remercie pour votre aide. :-D
 
B

bistouc

Apprenti
Bonjour Thierry73,
Dans votre programme je vois que vous faites appel à un sous programme en macro-client avec le G65 au bloc :"G65 P8888 X0 Y0 D#510 K#511 A#513 (APPEL DE MACRO CLIENT DE CALCUL DES POINTS)"
à mon avis je pense qu'il y a une erreur dans ce bloc au niveau de l'appel des arguments, en effet chaque lettre correspond d'office à une variable, exemple l'argument A correspond à la variable #1 ; B=#2; C=#3 ; etc..
voici quelques documents expliquant la façon d'utiliser ces arguments.
bien cordialement,
Bistouc



 
T

Thierry73

Nouveau
Merci Bistouc
je suis vraiment pas un spécialiste de la programmation...
j'ai fait plusieurs essais et mon programme fonctionne bien pourtant ! je suis en train de me creuser la tête pour le contournage et c'est pas gagné !!!
Cordialement.

Thierry73
 
T

Thierry73

Nouveau
Je vais partir sur cette configuration avec 2 sous-programme 1 pour le perçage( O8888) et 1 pour le fraisage (O8887)
Pour le perçage pas de problème !
Pour le fraisage la plongée en Z se fait bien ensuite Alarm 114 ! Je pense que le problème vient du GOTO si je le supprime ça passe mais je voudrai vraiment utiliser cette fonction ! Est-ce que Quelqu'un as une piste ?

Merci


:0088(PERCAGE ET REALESAGE TE AVEC ANGLE)

(#508=NUMERO OUTIL PERCAGE)
(#509=VITESSE ROTATION FORET)
(#510=DIAMETRE DE POSITIONEMENT)
(#511=NOMBRE DE TROUS)
(#512=PROFONDEUR PERCAGE)
(#513=ANGLE DE DEPART)
(#514=AVANCE DU FORET)
(#515= DIAMETRE DU PERCAGE)
(#517=DIAMETRE DU TROUS A OBTENIR)

N10G40G17G80
N20G28G91Z0
N400T#508M6(FORET)
G0G90G54X[#510/2]Y0M3S#509
G43H#508Z50M8
G98G81Z#512F#514R2K0(K0 -> LE PERCAGE ATTENDS UNE COORDONNEE)
G65P8888X0Y0D#510K#511A#513(APPEL DE MACRO CLIENT DE CALCUL DES POINTS)
(MACRO CLIENT = O8888)
(DIAMETRE DE PERCAGE = #510)
(NOMBRE DE TROUS = #511)
(ANGLE DE DEPART = #513)
G80Z50M9(ANNULATION DU CYCLE)
G91G28Y0Z0
T4M6(FRAISE D12)
G0G90G54X[#510/2]Y0M3S2400
G43H4Z50M8
G65P8887X0Y0D#510K#511A#513C#517W#518Q#519 (APPEL DE MACRO CLIENT DE CALCUL DES POINTS)
(MACRO CLIENT = O8887)
(DIAMETRE DE PERCAGE = #510)
(NOMBRE DE TROUS = #511)
(ANGLE DE DEPART = #513)
(DIAMETRE DU TROUS A OBTENIR=#517)
Z50M9(ANNULATION DU CYCLE)
G91G28Y0Z0
M30(FIN DE PROGRAMME)
%

&HE:%
:8888(MACRO CLIENT PERCAGE DE TROUS)
#100=#7/2(RAYON POS PERCAGE)
#101=360/#6(INCREMENT ANGULAIRE)
#102=#1(ANGLE DE DEPART)
#103=1(COMPTEUR DE BOUCLE)
WHILE[#103LE#6]DO1(TANT QUE PLUS PETIT QUE LE NOMBRE DE TROUS)
#110=#24+[COS[#102]*#100](POSITION X)
#111=#25+[SIN[#102]*#100](POSITION Y)
X#110Y#111(ON VA A LA POSITION)
#102=#102+#101(ON INCREMENTE L'ANGLE)
#103=#103+1(ON INCREMENTE LE COMPTEUR)
END1
M99
%

&HE:%
:8887(MACRO CLIENT FRAISAGE DE TROUS)
G66P8889C#3W#23Q#17F#9
N1234#100=#7/2(RAYON POS PERCAGE)
#101=360/#6(INCREMENT ANGULAIRE)
#102=#1(ANGLE DE DEPART)
#103=1(COMPTEUR DE BOUCLE)
WHILE[#103LE#6]DO1(TANT QUE PLUS PETIT QUE LE NOMBRE DE TROUS)
#110=#24+[COS[#102]*#100](POSITION X)
#111=#25+[SIN[#102]*#100](POSITION Y)
X#110Y#111(ON VA A LA POSITION)
#102=#102+#101(ON INCREMENTE L'ANGLE)
#103=#103+1(ON INCREMENTE LE COMPTEUR)
END1
G67
M99
%

&HE:%
:8889(USINER UN DIAMETRE)
Z0
G91
G01Z[#512+2]F500
IF[#517=#515+2] GOTO 1502 (POUR UN DIAMETRE DE 20#517=20)
IF[#517=#515+4] GOTO 1501 (POUR UN DIAMETRE DE 22 #517=22)[/color]
N1501G41X[[#517/2]-1]Y0D54
G03I-[[#517/2]-1]J0
G01G40X-[[#517/2]-1]Y0
N1502G41X[#517/2]Y0D54
G03I-[#517/2]J0
G01G40X-[#517/2]Y0
G0G90Z50
M99
%
 
J

JLuc69

Compagnon
Thierry73 a dit:
...
IF[#517=#515+2] GOTO 1502 (POUR UN DIAMETRE DE 20#517=20)
IF[#517=#515+4] GOTO 1501 (POUR UN DIAMETRE DE 22 #517=22)[/color]
...
Le signe = n'est pas reconnu sur fanuc !
EQ : EQual
NE : Not Equal
LE : plus petit ou égal (Less or Equal)
LT : plus petit que (Less Than)
GE : plus grand ou égal (Greater or Equal)
GT : plus grand que (Greater Than)

Donc, dans ton cas :
IF[#517 EQ #515+4] GOTO1501
...
 

Sujets similaires

J
Réponses
3
Affichages
846
lolo
T
Réponses
2
Affichages
2 037
P
Haut