mach3 assistant

  • Auteur de la discussion marchand
  • Date de début
M

marchand

Apprenti
bonjour a tous
j'ais fais un assistant pour un bobinage qui marche bien avec mach3
mais pouvez vous me dire comment coder pour eviter les repetitions de codage avec des boucles
merci
alain
assistant.jpg
 
V

valentin

Compagnon
bonjour
dur dur de taider avec une image de code
precise un peu tes variables
pas la peine de mettre a chaque fois avance

pour les boucles je vois tres bien un appelle de
sous programme et de variable #100= ect...
M98 P100 L le nombre appelle
M30

O100
------
M99
 
V

valentin

Compagnon
bonjour
deja a premiere vue tu peux faire sa
tu ajoute une variable marqueur=0
et tu teste la variable si elle est plus petite que zpasse

marqueur=0
OpenTeachFile "BOBINNAGE"
code "(diametre du fil " & DIAMETREFIL & " )"
CODE "(nombre de couche " & ZPASSE & " )"
code "G00 X" & PASX & " Y" & PASY & " Z" & PASZ
If marqueur<ZPASSE Then
Code "G01 F"& AVANCEBOBINAGE & " X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*360 ) & "(1couche)"
code "M01"
marqueur=marqueur+1
End If
If marqueur<ZPASSE Then
code "G01 F"& AVANCEBOBINAGE & " X" & PASX & " A" & (1/ DIAMETREFIL*LONGUEURBOBINAGE*720) & "(2 couches)"
marqueur=marqueur+1
End If
If marqueur<ZPASSE Then
code "G01 F"& AVANCEBOBINAGE & " X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*1080)& "(3couche)"
marqueur=marqueur+1
End If

ect....
 
M

marchand

Apprenti
merci valentin
sa me fera moin de ligne a ecrire

alain
 
V

valentin

Compagnon
bonjour
ou pour simplifier encore
pas tester

boucle while
et select case
pour voir quelle ligne est paire ou pas
compteur=0
OpenTeachFile "BOBINNAGE"
code "(diametre du fil " & DIAMETREFIL & " )"
CODE "(nombre de couche " & ZPASSE & " )"
code "G00 X" & PASX & " Y" & PASY & " Z" & PASZ
Code "G01 F"& AVANCEBOBINAGE & " X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*360 ) & "(1couche)"
code "M01"
compteur=compteur+1
while compteur < zpasse
chiffrepairoupas=compteur mod 2
Select Case chiffrepairoupas
Case 0
Code "G01 F"& AVANCEBOBINAGE & " X" & PASX & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur) )
case 1
code "G01 F"& AVANCEBOBINAGE & " X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur))

compteur=comteur+1
wend
ect..
 
M

marchand

Apprenti
Ha non sa ne marche pas dommage car cela me permetrais d'aprendre les boucles while
merci
alain
 
V

valentin

Compagnon
bonjour
essai en mettant end select


compteur=0
OpenTeachFile "BOBINNAGE"
code "(diametre du fil " & DIAMETREFIL & " )"
CODE "(nombre de couche " & ZPASSE & " )"
code "G00 X" & PASX & " Y" & PASY & " Z" & PASZ
Code "G01 F"& AVANCEBOBINAGE & " X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*360 ) & "(1couche)"
code "M01"
compteur=compteur+1
while compteur < zpasse
chiffrepairoupas=compteur mod 2
Select Case chiffrepairoupas
Case 0
Code "G01 F"& AVANCEBOBINAGE & " X" & PASX & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur) )
case 1
code "G01 F"& AVANCEBOBINAGE & " X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur))
end select
compteur=comteur+1
wend
 
V

valentin

Compagnon
bonjour
viens essayer en modifiant les parametres



Sub Main()
PASX = 0
PASY = 0
PASZ= 20
ZAPPROCHE = 20
LONGUEURBOBINAGE =30
ZPASSE=15
AVANCEBOBINAGE = 800
VITESSE = 500
OUTIL = 1
PVITESSE=200
FINPOSITIONX=0
FINPOSITIONY=0
FINPOSITIONZ=50
DIAMETREFIL=0.3
compteur=0
OpenTeachFile "BOBINNAGE.tap"
code "(diametre du fil " & DIAMETREFIL & " )"
CODE "(nombre de couche " & ZPASSE & " )"
code "G00 X" & PASX & " Y" & PASY & " Z" & PASZ
Code "G01 F"& AVANCEBOBINAGE
compteur=compteur+1
Code "G01 X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*360 ) & "(" & compteur & "couche)"
code "M01"
While compteur < zpasse
chiffrepairoupas=compteur Mod 2
Select Case chiffrepairoupas
Case 0
code "G01 X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur))& "(" & compteur & "couche)"
Case 1
Code "G01 X" & PASX & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur) )& "(" & compteur & "couche)"
End Select

compteur=compteur+1
Wend

Code"M30"
Code " "
CloseTeachFile
Call LoadStandardLayout()
Call LoadTeachFile()
End Sub
 
M

marchand

Apprenti
sa marche bien merci mais avec un petit souci j'ais 2 fois la premiere couche
et il faudrais conserver le M01 apret la 1er couche
alain
 
V

valentin

Compagnon
bonjour
fais comme ci dessous pour le M01

Sub Main()

PASX = 0
PASY = 0
PASZ= 20
ZAPPROCHE = 20
LONGUEURBOBINAGE =30
ZPASSE=15
AVANCEBOBINAGE = 800
VITESSE = 500
OUTIL = 1
PVITESSE=200
FINPOSITIONX=0
FINPOSITIONY=0
FINPOSITIONZ=50
DIAMETREFIL=0.3
compteur=0
OpenTeachFile "BOBINNAGE.tap"
code "(diametre du fil " & DIAMETREFIL & " )"
CODE "(nombre de couche " & ZPASSE & " )"
code "G00 X" & PASX & " Y" & PASY & " Z" & PASZ
Code "G01 F"& AVANCEBOBINAGE
compteur=compteur+1



While compteur < zpasse
chiffrepairoupas=compteur Mod 2
Select Case chiffrepairoupas
Case 0
code "G01 X" & ( LONGUEURBOBINAGE+PASX) & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur))& "(" & compteur & "couche)"


Case 1
Code "G01 X" & PASX & " A" &(1/ DIAMETREFIL*LONGUEURBOBINAGE*(360*compteur) )& "(" & compteur & "couche)"

End Select

If compteur=1 Then code "M01"
compteur=compteur+1
Wend

Code"M30"
Code " "
CloseTeachFile
Call LoadStandardLayout()
Call LoadTeachFile()
End Sub
 
M

marchand

Apprenti
sa marche :partyman:
merci valentin pour se temps passer
sa eviteras des repetition pour les prochains code
merci

alain
 

Sujets similaires

P
Réponses
1
Affichages
302
enzodesilesbaladar
enzodesilesbaladar
M4vrick
Réponses
25
Affichages
915
schum22
S
El Zorro
Réponses
12
Affichages
557
El Zorro
El Zorro
L
Réponses
11
Affichages
1 689
lecoyote
L
A
Réponses
5
Affichages
263
dh42
dh42
P
Réponses
13
Affichages
2 122
pierre 76
P
L
Réponses
1
Affichages
536
dh42
dh42
G
Réponses
3
Affichages
453
mickbzh
mickbzh
G
Réponses
1
Affichages
544
Greg de Nîmes
G
K
Réponses
10
Affichages
794
Kmillo
K
B
Réponses
3
Affichages
1 060
dh42
PL50
Réponses
25
Affichages
929
dh42
F
Réponses
11
Affichages
3 322
dh42
G
Réponses
9
Affichages
620
dh42
Haut