mach3 assistant

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

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
 
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
 
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....
 
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..
 
Ha non sa ne marche pas dommage car cela me permetrais d'aprendre les boucles while
merci
alain
 
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
 
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
 
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
 
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
 
sa marche :partyman:
merci valentin pour se temps passer
sa eviteras des repetition pour les prochains code
merci

alain
 

Sujets similaires

G
Réponses
20
Affichages
642
G
rebarbe
Réponses
4
Affichages
548
rebarbe
rebarbe
M
Réponses
8
Affichages
684
pascalp
P
S
Réponses
19
Affichages
425
moufy55
moufy55
M
Réponses
6
Affichages
616
Otatiaro
Otatiaro
P
Réponses
1
Affichages
783
enzodesilesbaladar
enzodesilesbaladar
Sham
Réponses
25
Affichages
580
Sham
H
Réponses
16
Affichages
27 506
dh42
F
Réponses
8
Affichages
1 406
F
alain500
Réponses
10
Affichages
718
metalux
M

Sujets similaires

shodan47
Réponses
8
Affichages
1 302
shodan47
shodan47
JLuc69
Réponses
34
Affichages
3 240
P.Taramesh
P
F
Réponses
0
Affichages
1 616
FRED32270
F
G
Réponses
20
Affichages
642
G
Retour
Haut