1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

[RESOLU] [NUM 760F] Interpolation hélicoïdale en G1

Discussion dans 'Num' créé par nascoli, 27 Août 2011.

  1. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Bonjour,

    Je sais faire une interpolation hélicoïdale sur une CN 760F "normale" (aléseuse dite horizontale):
    G3 X0 Y40 I0 J0 Z-50 K2 F120 (par exemple);

    Sur une machine "moins normale", c'est à dire sans l'option adéquate, si je tape le même bloc, elle me fait:
    -l'interpolation circulaire souhaitée en XY, mais sans mouvement du Z,
    -puis le tour complet effectué, l'outil se déplace directement au Z final, Z-50.
    Ce qui fait beaucoup pour une plaquette de 16mm.

    Ma solution provisoire est l'incrémental (G91) suivi d'un rappel de bloc (G77 Nxxx Nxxx Sxx) pour parvenir à mes fins.
    Mais ce procédé est plus long en rédaction et en exécution, de plus, il y a le risque de se planter en nombre de répétitions.

    La machine n'a pas non plus l'option G95 (avance en mm/tour) ni d'autre qui pourraient me rendre plus productif.

    Je pense maitriser le NUM 760 pas trop mal, mais quelques astuces me faciliteront la tâche,
    comme le fameux "I(i) Nxxx Nxxx" ou "I %xxx Nxxx Nxxx" (copier/coller d'une partie d'un programme) que j'utilise désormais souvent
    ainsi que mes collègues à qui j'ai dévoilé l'astuce que j'ai découvert ici même.

    Merci à tous pour vos suggestions.

    [edit du 02/09/2011] précision sur le titre
     
  2. Dodore

    Dodore Compagnon

    Messages:
    6 621
    Inscrit:
    27 Octobre 2008
    Localité:
    F-69400 villefranche sur saone
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    bonjour
    une façon mais à verifier parce que je n'ai plus de machine sous la main
    on suppose l'origine en haut et au centre du trou pour un rayon de 30 profondeur 50
    %999
    N10 GO G41 OU (G42) X30 Y Z
    N20 L1 = 0
    N30 L1 = L1 + 2
    N40 G79 L1 => 50 N100 (L1 égal ou plus grand que 50) si la cote atteins ou dépasse 50 elle va au bloc 100 c'est a dire que si elle est a 50 elle ne feras pas l'usinage de 50)
    N50 G1 Z-L1
    N60 G3 X30 Y R30
    N70 G79 N30
    N100 la suite
    exemple: dégagement au centre en G40 puis remonté à Z2


    autre façon
    N10 GO G41 OU (G42) X30 Y Z
    N20 L1 = 0
    N30 L1 = L1 + 2
    N50 G1 Z-L1
    N60 G3 X30 Y R30
    N70 G79 L1 = < 48 N30 dans ce cas elle fera l'usinage si la cote est égale ou plus petite que 48 si la cote est plus grande que 48 elle continu le programme au bloc N100 dans ce cas avec un incrément de 2 elle peu faire au maximum la cote 50

    N100


    c'est quand même à vérifier

    par contre je ne connais pas la fonction I (i)

    et c'est sur une fraiseuse vertical mais je pense que les axes pour une aléseuse doivent être orienté de la même façon par rapport à la broche




    <<
     
  3. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    Merci @DODORE pour ces propositions,
    Je teste dès demain "à blanc" et je vous tiens au courant en fin de journée.

    J'utilise assez souvent les variables (L1; L2; ...) mais sans les avoir exploités davantage, tels qu'associés aux signes > ou < voire cos; sin; ou tan...
    Je sais que beaucoup de chose sont possibles avec les variables, mais je n'aurais pas pensé, ni même imaginé rédiger un programme de votre façon.

    "i" permet d'insérer une partie d'un programme dans un autre programme en mode [modif]

    Sinon, pour en revenir à ma question, j'aurai bien tenté un "G91 Z-" dans la même ligne que le "G3", ou la bloc d'après avec un "G77" pour rappeler le "G3" accompagné d'un "G90", mais je n'y crois pas.

    Par contre, je n'ai pas saisi l'intérêt du N20 L1=0 si N30 = L1+2
    D'ailleurs, en relisant votre post, si je dégage à Z2, j'ai l'impression que j'usinerai toujours à Z-2 (Z-L1(=0+2))soit -2.

    De toute façon, faut essayer et corriger sur le terrain les détails.
    Je note et vous tiens au courant, promis.

    [offtopic](ça me fait penser que je doit avoir quelque chose pour percer/tarauder/aléser autour d'un diamètre avec un départ angulaire et avec des variables, je noterai tout et le posterai, même s'il fait mal à la tête ce programme (que je n'ai jamais utilisé)).[/offtopic]

    ÉDIT: oui, sur aléseuse comme sur verticale, les axes sont les mêmes:
    Z= axe broche
    X= longitudinal
    Y= l'autre (verticale sur aléseuse, transversal (avant/arrière) sur verticale ou traditionnelle.
     
  4. Dodore

    Dodore Compagnon

    Messages:
    6 621
    Inscrit:
    27 Octobre 2008
    Localité:
    F-69400 villefranche sur saone
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    num-f106/demande-aide-pour-programmation-parametree-t17229.html




    Tu peux effectivement utiliser le G91 pour prendre les passes en Z et faire suivre d’un G90 pour faire le cercle
    Exemple
    %999
    N10 GO G41 OU (G42) X30 Y Z
    N40 G91 Z-2
    N60 G90 G3 X30 Y R30
    N70 G77 N40 N60 S4 (pour une profondeur de 10)

    attention dans ce cas il y a déjà une passe à Z-2 si on veux faire une profondeur de 10 il faut rappeler cette séquence uniquement 4 fois

    on peux supprimer cette inconvénient en faisant un G79 pour aller directement au G77
    exemple
    %999
    N5 G79 N 70
    N10 GO G41 OU (G42) X30 Y Z
    N40 G91 Z-2
    N60 G90 G3 X30 Y R30
    N70 G77 N40 N60 S5 (pour une profondeur de 10)

    On peu même aussi terminer par

    N80 G90 Z-50
    N95 G3 X30 Y R30 ( pour par exemple faire une finition)
    N100 la suite
    exemple: dégagement au centre en G40 puis remonté à Z2

    Le bloc N20 permet de remettre la variable à zéro si celle-ci a été utilisée auparavant pour une autre opération, ce bloc n’est effectivement pas obligatoire dans ce cas
    Pour le rappelle de séquence en G79, je ne rappelle pas le bloc N20, la séquence commence à N30 qui fait bien L1 =L1 +2

    merci pour la fonction I (i) je l'avais effectivement lu, mais oubliée

    javais fait un exemple de programme paramètré ici
    num-f106/demande-aide-pour-programmation-parametree-t17229.html
     
  5. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    Oui, mais ce n'est pas ce que je recherche exactement.
    Je souhaiterai déplacer les 3 axes en même temps avec un pas régulier en Z, pour faire un filetage à l'outil, sans taraud.

    Merci pour ton exemple de programme du sujet cité. Ça va me donner des idées.

    J'ai essayé vite fait (beaucoup de travail, pas de temps):
    Code:
    %999
    N5 D1 M3 M41 S800 F600
    N10 GO X0 Y0 Z0
    N15 G1 G41 X30 Y0
    N20 L1 = 0
    N30 L1 = L1 + 2
    N40 G79 L1 => 50 N100
    N50 G1 Z-L1
    N60 G3 X30 Y R30
    N70 G79 N30
    N100 G0 G40 X0 Y0    
    N110 GZ100 M5 M2
    
    Le résultat:
    Mise en route de la rotation
    Déplacement en rapide avec prise du correcteur (D1 R=20) à X10 (30-20) Y0 Z0;
    Prise de passe Z-2, puis Z-4, Z-6, etc.;
    ... Sans déplacements XY !?...

    Puis je suis retourné à mes occupations.

    Sinon, OK pour l'intérêt de N20.

    A suivre ...
     
  6. Dodore

    Dodore Compagnon

    Messages:
    6 621
    Inscrit:
    27 Octobre 2008
    Localité:
    F-69400 villefranche sur saone
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    j'ai modifié le 1er septembre quelque blocs pour les rendre plus compréhensif ou pour corriger quelques erreurs

    Bonsoir
    Désolé comme tu avais parlé de profondeur , j'avais fais un programme dans ce sens
    Voilà ce que j' ai fais pour un programme avec déplacement hélicoïdal
    On suppose un filetage inter de 30 avec un pas de 2 et une profondeur filetée 10
    Avec une fraise à filet
    l'origine est en Z sur la face et en X et Y au centre du trou
    On choisira un déplacement angulaire de 1 degré
    On fera les déplacements en G1, pour les déplacement sur le cercle l'erreur sera négligeable si on veux une précision plus importante on peux choisir un déplacement de 0,5 degré
    Tout d' abord il faut calculer le déplacement en z pour 1 degré
    On choisira les variables
    L10 pour l'angle qui va varier de 1 à 360 degrés
    (si on veux faire plusieurs tours il faut remplacer 360 par 720 ou tout autre valeur exemple 2 tours 1/2 = 900 cette valeurs remplacera le chiffre 360 au bloc N190
    L20 pour Les déplacement en X (formule = cosinus de l'angle * rayon ce qui se traduit en langage NUM C L1 * 30(rayon)
    L30 pour les déplacements en Y' avec le sinus
    L45 pour les déplacements en Z

    %999
    N10 L1=1 ( incrément en degré)
    N20 L4= 2/360( incrément en Z , pour 1 degré avec un pas de 2)
    N30 différents réglages
    Vitesse de rotation
    Vitesse d' avance
    Rotation
    Etc
    N100 G 0 X0 Y0 Z2 (approche )
    N110 G0 Z-8 (plongé à Z moins le pas, puisque la cote final est -10)
    N120 G1 G41 X30 Y0
    N130 L10 = L10 +L1 (angle)
    N140 L20 = C L10*30 ( calcul de la cote en X) je pense que c'est comme ça que ça s'écrit je ne me rappelle plus très bien
    N150 L30 = S L10*30 ( c..............en Y)
    N160 L40 = L40 + L4 (calcul de la différence de hauteur multiplié par le nombre de degrés
    N170 L45= L40 + 8(nouvelle cote en Z pour un déplacent de 1 degré
    N180 G1 X L20 Y L30 Z - L45
    N190 G79 L1 = > 360 N200
    N195 G 79 N130
    N200 G0 G40 X 0 Y0
    N210 G0 Z10
    N220 (et suivant : fin de programme
    je pense que ça doit marcher ......

    il me semble que je me suis planté, et qu'on fait un filetage a gauche, pour faire un filetage à droite il faut prendre les valeur angulaire negative ou changer le sens du déplacement en Z attention pas les deux
     
  7. Dodore

    Dodore Compagnon

    Messages:
    6 621
    Inscrit:
    27 Octobre 2008
    Localité:
    F-69400 villefranche sur saone
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

     
  8. Dodore

    Dodore Compagnon

    Messages:
    6 621
    Inscrit:
    27 Octobre 2008
    Localité:
    F-69400 villefranche sur saone
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    j'ai bien regardé et réfléchi
    la seul chose à laquelle je pense :
    je crois qu'il existe quelque chose qui dit:
    il faut un déplacement en X Y dans les trois blocs qui suivent un G41 ou G42
    est ce que c'est ça?
    elle fait pourtant bien un déplacement qui correspond à la prise en compte du correcteur
    pour le vérifier il faudrait faire un essai en G40
     
  9. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    Bonjour DODORE et merci de t'interesser à ce sujet.

    Non, je ne pense pas.
    En général, j'entre, dans le programme,
    Code:
    GXY D1 M3 M41 S600
    Z2
    G1 G41 X30 Y F50 
    G3 X30 Y Z-20 I J K2 F250
    G1 G40 XY
    GG52 Z-10 M5 M2
    
    Cela fonctionne très bien sur la NUM 750, mais pas sur la 760, qui prend bien son correcteur, mais fait le contour en XY puis plonge au Z fini directement
    Autrement dit, l'outil contourne 2 fois le rayon de 30, une 1ere fois à Z2, une 2nde à Z-20.
    Oui, avec pour correcteur D1 R20, l'outil parcoure, pour un contour de rayon 30mm, 10mm (30-20) (en G41 bien sur).
    En G40, l'outil parcoure 30mm, normal .
     
  10. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    Bon, la CN n'en veut pas: "ERREUR 91 N140"
    --> "fonction non reconnu par le système" (dixit la liste des erreurs NUM 760).

    N140 L10=CL10*30 (qui s'écrit vraiment comme ça)
    Il y a des chances qu'il en soit de même pour le bloc 150, mais la CN a bloqué à N140.

    Pourtant, ce genre de programme doit fonctionner, car j'ai un autre programme, fourni avec la machine (d'occasion), qui fonctionne avec des (par exemple):
    L12=CL8*L2
    J'ai tenté plusieurs choses, mais rien à faire.

    J'ai donc écris sur papier le programme qui fonctionne et le programme en cours qui ne fonctionne pas, pour cogiter dessus ce week-end.
    Je l'ai oublier, je crois que je vais y retourner, c'est ouvert cette nuit (30 km A/R).
     
  11. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    Me voilà de retour, j'avais pensé à toi ce matin et copier un sous-programme de perçage sur un diamètre quelconque et un angle de départ.
    Avec un programme principal comprenant:
    -les conditions de coupe ainsi que le correcteur d'outil;
    -la valeur de toutes les variables;
    -l'appel du sous-programme;
    -et enfin, le dégagement en fin d'usinage, l'arrêt broche et la fin de programme.

    Programme testé et fonctionnel, ce qui nous aidera probablement à comprendre l'Erreur 91 précédente :
    On va partir de l'exemple d'un perçage/taraudage de 6xM10 prof.20/30 equidistants sur un diamètre 100 et un départ coté à 7,5 degrés de l'axe.

    Code:
    %8
    L8=100  (dégagement après usinage)
    L10=50  (rayon de perçage, pas le diamètre du forêt !)
    L11=7.5 (angle de départ)
    L12=3    (approche Z (ER))
    L13=-30 (profondeur en Z)
    L14=81  (cycle de perçage (G81/G84,...))
    L15=6    (nombre de trous)
    L16=0    (compteur) que j'ai mis à 0, me suis pas attardé la dessus.
    
    N10 D1 M3 M41 S1000 F80
    N20 G77 H320
    N30 GG52 Z-10 M5 M9 M2
    
    On peut, je pense, ajouter un G59 X300 Y300 puis G77 H320
    Puis G59 X-300 Y300 puis G77 H320  pour faire plusieurs trous autour de plusieurs alésages, les G59 Xnnn Ynnn étant les positions des axes des alésages.
    Code:
    %320
    
    $ CYCLE DE PERCAGE EQUIDISTANTS SUR UN DIAMETRE
    
    N1 (L8=dégagement après usinage)
    N5 (L10=rayon de perçage, pas le diamètre du forêt !)
    N10 (L11=angle de départ)
    N15 (L12=approche Z (ER))
    N20 (L13=profondeur en Z)
    N25 (L14=cycle de perçage (G81/G84,...))
    N30 (L15=nombre de trous)
    N35(L16=compteur) 
    
    N40 L17=L10*SL11
    N45 L18=L10*CL11
    N50 L9=360/L15
    
    N60 GZL8
    N65 ERL12 G90 GL14 XL17 YL18 ZL13
    N70 G0 G80 ZL8
    
    N80 L11=L11+L9
    N85 L17=L10*SL11
    N90 L18=L10*CL11
    N95 L16=L16+1
    N100 G79 L15=1 N100
    N105 G79 L16<L15 N65
    N110 G80
    Tel qu'il est, tout fonctionne, sans erreur.
    Ce qui prouve que le Cosinus d'une variable n'est pas inconnu du système comme l'indique la CN dans le programme de contournage.

    Alors peut-être que le programme est bon mais qu'il faudrait "ranger" les blocs dans un ordre différent.

    J'ai tout le week-end pour cogiter dessus, tenter de réorganiser et d'en faire un sous-programme et de tout remettre au propre et de tester lundi soir (travaille de nuit)

    Le but de faire des sous-programmes, c'est de ne pas y toucher, on entre juste les valeurs dans le programme principal (ici %8)
     
  12. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale

    Ce que j'ai tenté avant de partir du boulot, avec la même erreur:

    Code:
    %7
    L1=1 (incrément en Z)
    L2=30 (Rayon d'usinage)
    L3=10 (profondeur d'usinage)
    L4=2/360 (pas de filet/déplacement en Z sur 360 degrés)
    
    N10 D1 M3 M41 S500 F1000
    N820 G77 H9
    N30 GG52 Z-10 M5 M9 M2

    Code:
    %9
    $ CYCLE INTERPOLATION HELICOIDALE
    
    N100 GXY Z20
    N110 Z2
    N120 G1 G41 XL2 Y0 
    N130 L10=L10+L1
    N140 L20=CL10*L2     .............  AHHHH Purée, je viens de cogiter, les variables, C'EST DE L1 à L19 !!!
    N150 L30=SL10*L2
    N160 L40=L40+L4
    N170 L45=L40+L3
    N180 G1 XL20 YL30 ZL45
    N185 G79 L1=360 N200
    N190 G79 N130
    N200 GG40 XY
    N210 GZ20
    Donc je tenterai de remplacer L20 par L15; L30 par L16; L40 par L17, et L45 par L18
    Je ne vois que ça !.
     
  13. Dodore

    Dodore Compagnon

    Messages:
    6 621
    Inscrit:
    27 Octobre 2008
    Localité:
    F-69400 villefranche sur saone
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale en G1

    Ça y est j'ai trouvé :
    Les variables L20 à L99
    N''existent pas
     
  14. nascoli

    nascoli Nouveau

    Messages:
    41
    Inscrit:
    30 Décembre 2009
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale en G1

    Tout à fait, c'est ce que j'avais vu vendredi soir en rédigeant le programme (post précédent).
    Je teste ça ce soir et posterai le résultat demain matin.
     
  15. relax

    relax Compagnon

    Messages:
    905
    Inscrit:
    3 Mars 2011
    Localité:
    rhône alpes
    [RESOLU] [NUM 760F] Interpolation hélicoïdale en G1
    Re: [NUM 760F] Interpolation hélicoïdale en G1

    Bonjour,
    Je ne connais pas le num mais sur fanuc on doit spécifier le plan de travail utilisé pour les interpolations circulaires.
    G17(plan XY)/G18(plan XZ)/G19(plan YZ).
    Cordialement
     

Partager cette page