Problème optimisation cycle de perçage n x m trous

bigloute
Nouveau
29 Novembre 2014
5
  • Auteur de la discussion
  • #1
Bonjour à tous,

Etudiant en école d'ingé, j'ai un exercice à faire en iso. Je bloque sur l'optimisation d'un cycle de perçage de n*m trous.



La seule condition est d'utiliser la fonction G79 et pas de while gotob etc...

Le premier trou est à "PAS X" en x et "PAS Y" en y par rapport aux bords de la pièce.

J'ai bien capté qu'il faut un cycle en lacet et qu'à chaque incrémentation de y les x doivent incrémenter ou décrémenter mais je suis bloqué... Donc si quelqu'un à une solution !

Merci d'avance !
 
JLuc69
Compagnon
19 Juin 2008
1 315
Genas (69)
Salut bigloute,

Tu es étudiant, et tu nous poses une colle (dont j'ai une solution :mrgreen: ) mais, de ton coté, tu as démarré un bout de code ou d'algo ?
Fais voir ce que tu as commencé pour qu'on te le commente, qu'on t'aide a avancé mais n'espère pas trouver une solution toute faite :wink:
 
JLuc69
Compagnon
19 Juin 2008
1 315
Genas (69)
Dodore a dit:
Bonjour
Est ce que c'est sur NUM ou Fanuc
Pour devoir utiliser le G79, je suis parti du principe que oui

Dodore a dit:
Jluc t'es pas sympa surtout que ca doit etre assez facile
C'est pour cette raison que je lui demande de présenter ses débuts de réflexion :wink:

Dodore a dit:
Allez une piste avec les paramètres L (NUM) mais y'en a peut être d'autres
Amha, t'as pas d'autres choix que d'utiliser les variables
 
bigloute
Nouveau
29 Novembre 2014
5
  • Auteur de la discussion
  • #6
Oui bien sûr ! Je m'excuse au préalable pour l'usine à gaz que je vous présente. C'est vraiment très nouveau pour moi. Rajoutez à ça mes compétences de chacal en algo...

N10 G90 G40 G94 G77 M6 T1D1
N20 M3 S1000
N30 L0=pas x L1=pas y L2 = prof perçage (on doit pouvoir le changer donc j'utilise une variable) L5=0
N40 XL0 YL1 Z3
N50 XL0 YL1 Z3 (garde)
N60 XL0 YL1 Z0
N70 G81 ZL2 F100
N80 L3=0 L4=1
N90 L3=L3+L4*L0
N100 XL3
N110 G79 L3=<n N90 (je vois bien que lorsque je vais décrémenter ça ne va pas marcher)
N120 L5=L5+L1
N130 L4=-L4
N140 YL5
N150 G79 L5=<m N90

Voilà merci et encore désolé ! Je crois que c'est du NUM puisque je veux utiliser la fonction G79
 
JLuc69
Compagnon
19 Juin 2008
1 315
Genas (69)
Alors première grosse erreur, tu commences à XL0 YL1 qui sont les pas en X et Y.
Ensuite, tu compares les positions X et Y avec le nombre de colonnes/rangées.
Mais c'est bien, il y a de l'idée dans ce que tu as fait :wink:
 
Num
Compagnon
21 Mai 2014
689
Bonjour à tous,
Ca me rappelle quand je travaillais sur Num 750F , il y a déjà 20 ans de cela ... avec les palpages avec rénishaw pour les origines X , Y et Z. et les palpages de témoins d'usinage pour calibrer les outils ... que le temps passe vite :-D
le PGP je ne sais pas si cela fait encore ...
bonne journée.
 
bigloute
Nouveau
29 Novembre 2014
5
  • Auteur de la discussion
  • #9
JLuc69 a dit:
Alors première grosse erreur, tu commences à XL0 YL1 qui sont les pas en X et Y.
Ensuite, tu compares les positions X et Y avec le nombre de colonnes/rangées.
Mais c'est bien, il y a de l'idée dans ce que tu as fait :wink:
Oui j'ai peut être oublié de préciser que le premier trou est situé à pas x et pas y du bord de la pièce...
 
JLuc69
Compagnon
19 Juin 2008
1 315
Genas (69)
bigloute a dit:
Oui j'ai peut être oublié de préciser que le premier trou est situé à pas x et pas y du bord de la pièce...
C'est pas bien ça ! Imagines que le client fait varier le pas mais que la grille doit rester au même endroit de départ ...

Quand tu programmes avec des variables et des boucles, prends l'habitude d'utiliser un papier et un crayon, de noter l'état de tes variables à chaque bloc de programme et de suivre le déroulement de celui ci. Ca évite un grand nombre d'erreurs

Si je fais ça sur ton programme, normalement je perce à la première rangée à X [pas en X} (par exemple X10 nfois) Y[pas en Y] (par exemple Y10)
La deuxiéme rangée à X-[pas en X] (par exemple X-10) Y[pas en Y] (par exemple Y10)
Puis, pour les suivantes : un coup à X10, un coup à X-10
En prenant un pas de 10 dans les deux sens
 
bigloute
Nouveau
29 Novembre 2014
5
Désolé j'ai du mal à comprendre, pour moi si je paramètre mon origine pièce en bas à gauche de mon rectangle je devrais toujours débuter à pas x et pas y.

Je viens de faire quelques corrections. Notamment l'ajout de variables pour l'incrémentation qui ont l'air de régler mon problème de + ou - .

N10 G90 G40 G94 G77 M6 T1D1
N20 M3 S1000
N30 L0=pas x L1=pas y L2 = prof perçage L4=1 L5=0 L7=0
N40 XL0 YL1 Z3
N50 XL0 YL1 Z0
N60 G81 ZL2 F100
N70 L3=0 L6=0
N80 L3=L3+L4*L0
N90 XL3
N100 L6=L6+1
N110 G79 L6=<n N80
N120 L7=L7+1
N130 L5=L5+L1
N140 L4=-L4
N150 YL5
N160 G79 L7=<m N70
 
JLuc69
Compagnon
19 Juin 2008
1 315
Genas (69)
J'ai analysé ton dernier programme comme je te l'ai expliqué dans mon message précédent.
Il en résulte qu'il est bien mieux que le premier, mais, parce qu'il y a un mais, tu fais un trou de plus en X, et la gestion du Y n'est pas bonne.
Lorsque tu as fini une ligne, tu perces sur la ligne du dessus puis tu reviens percer en debut de ligne pour faire tes incréments. Donc tu reperces le dernier trou de la ligne.
De plus, avec ta gestion du L4 à +1 ou -1, ça sert à incrémenter ou décrémenter la L3. Dans ce cas, le branchement de la ligne N160 devrait être à la ligne N80 et pas N70
De plus, la variable L4 ne sert pas à grand chose, tu peux faire pareil directement sur la variable L0

Dans tes lignes N110 et N160, le test < est suffisant, pas de <= sinon tu fais une colonne et une ligne de plus que prévu.

Espérant t'être utile :wink: :mrgreen:
 
Num
Compagnon
21 Mai 2014
689
salut Juc69,
ton programme me rappel le GW-Basic des années 70.
du bon boulot :-D
 
JLuc69
Compagnon
19 Juin 2008
1 315
Genas (69)
Num a dit:
salut Juc69,
ton programme me rappel le GW-Basic des années 70.
du bon boulot :-D
La façon de faire est toujours la même, c'est le langage qui change :wink:
Il y a des lustres que je n'ai pas refait de GW-Basic
 
La dernière réponse à ce sujet date de plus de 6 mois
Haut