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

  • Auteur de la discussion bigloute
  • Date de début
B

bigloute

Nouveau
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.

Ho2Bt2Z.png


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 !
 
J

JLuc69

Compagnon
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:
 
D

Dodore

Compagnon
Bonjour
Est ce que c'est sur NUM ou Fanuc
Jluc t'es pas sympa surtout que ca doit etre assez facile
Allez une piste avec les paramètres L (NUM) mais y'en a peut être d'autres
 
J

JLuc69

Compagnon
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
 
D

Dodore

Compagnon
JLuc69 a dit:
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]
J'ai demandé si c'était sur NUM ou Fanuc, parce que je ne connais que NUM , et je ne connais pas le code correspondant chez Fanuc
 
B

bigloute

Nouveau
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
 
J

JLuc69

Compagnon
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:
 
N

Num

Compagnon
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.
 
B

bigloute

Nouveau
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...
 
J

JLuc69

Compagnon
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
 
B

bigloute

Nouveau
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
 
J

JLuc69

Compagnon
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:
 
N

Num

Compagnon
salut Juc69,
ton programme me rappel le GW-Basic des années 70.
du bon boulot :-D
 
J

JLuc69

Compagnon
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
 
B

bigloute

Nouveau
Merci pour votre aide ! J'ai pas trop eu le temps de vous répondre avec les partiels et les projets de CAO en pagaille, mais ça va bien m'aider ! J'ai enfin compris le coup de déclarer la position du premier trou.

Bonne soirée à tous !
 

Sujets similaires

lolo
Réponses
1
Affichages
745
lolo
2
Réponses
27
Affichages
905
jean-jacques
J
T
Réponses
4
Affichages
10 496
JLuc69
J
dh42
Réponses
22
Affichages
21 593
ktm63
K
Haut