BOUCLE DANS MACRO
2 participants
Page 2 sur 2
Page 2 sur 2 • 1, 2
Re: BOUCLE DANS MACRO
Bonjour M Dh42 et à Tous
j y suis presque à part la boucle ebavurage qui fait un tour et quitte la Macro
Par contre moi je tourne en rond
le probleme provient surement du END SUB à la du SUB ebavurage qui envoi à la sortie du programme
(Mais je n ai pas d exemple de programme VBcypress avec deux boucles dedans pour voir comment on fait)
PS***** il y a un Probleme avec l emoticone cool qui vient ce mettre tous seul sur DoButton ( bug???****
dans le programme il y en pas ????
j y suis presque à part la boucle ebavurage qui fait un tour et quitte la Macro
Par contre moi je tourne en rond
le probleme provient surement du END SUB à la du SUB ebavurage qui envoi à la sortie du programme
(Mais je n ai pas d exemple de programme VBcypress avec deux boucles dedans pour voir comment on fait)
PS***** il y a un Probleme avec l emoticone cool qui vient ce mettre tous seul sur DoButton ( bug???****
dans le programme il y en pas ????
- Code:
Rem Dimensions
DoOEMButton (169) 'efface le programme précédant dans Mach3
REM DIMENSIONS PIECE
Ltr = GetOEMDRO (1600) ' 100 mm Longueur totale reglette
Lar = GetOEMDRO (1590) ' 10 mm largeur totale reglette
Lon = GetOEMDRO (1610) ' 90 mm Longueur Rainure
Pr = GetOEMDRO (1620) ' -8 mm Profondeur Rainure
Eor = GetOEMDRO (1630) ' 5 mm Extremité coté Origine E1 Ystart
Eop = GetOEMDRO (1640) ' 5 mm Extremité coté Oposé E2 Yend
Rem OUTILS
Bv = GetOEMDRO (1660) ' 15000 trmn Vitesse broche
Tn = GetOEMDRO (824) 'Fraise_n°6
Df = GetOEMDRO (43) '6mm Diametre_Fraise
Rf = Df / 2 '3mm RayonFraise = Diametre_Fraise /2
Lf = GetOEMDRO (32) '50mm Longueur fraise_H ou = GetOEMDRO (24) standart
Rem Avances
Ae = GetOEMDRO (1690) '1500mm/mn Avance ebauche
Ap = GetOEMDRO (1700) ' 800mm/mn Avance en plongée
Av = GetOEMDRO (1710) '1000mm/mn Avance ebavurage
Rem Passes
Pe = GetOEMDRO (1730) '-2mm Passe_ebauche
Pv = GetOEMDRO (1750) ' 0.3mm Passe_ebavurage
Rem Hauteurs
Hra = GetOEMDRO (1760) '12mm Hauteur z deplacement degagement rapide securité G0
Hre = GetOEMDRO (1770) ' 5mm Hauteur_retrait z debourrage
Ha = GetOEMDRO (1780) '10mm Hauteur_avance z passage en G1
'ZVtarget = GetOEMDRO (1650) ' -1.5 mm hauteur ebavurage Hauteur Ebavurage bords
Rem G54 offset
SetOEMDRO(47,0)
SetOEMDRO(48,0)
SetOEMDRO(49,0)
Sleep(500)
Xx = GetOEMDRO (1800) '600mmbord rainure valeur coordonnée machine G53
Yy = GetOEMDRO (1810) '600mm debut brut barre valeur coordonnée machine G53
Zz = GetOEMDRO (1830) '-50mm audessus du brut dans l axe YO valeur coordonnée machine G53
SetOEMDRO(47,Xx) 'ecrit la valeur Xx pour work offset table valeur X
SetOEMDRO (48,Yy) 'ecrit la valeur Yy pour work offset table valeur Y
SetOEMDRO (49,Zz) 'ecrit la valeur Zz pour work offset table valeur Z
Sleep(300)
Zo=-10
Code "G53 Z" & Zo
Code "G0G53"& "X" & Xx &"Y"&Yy &"Z"& Zz
' DoOEMButton (1007)
DoButton ( ' zero visu X
DoButton (9) ' zero visu Y
DoButton (10) ' zero visu Z
DoOEMButton (33) ' lance g54
DoOEMButton (11) ' affiche l ecran 11
Sleep(500)
B= Round(GetOEMDro(802),2) 'position de Z dans visu
Zdepart= Round(GetOEMDRO (1580),2) '- 100mm (Z=0) contact au dessus de la piece valeur coordonnée machine G53
S= Zdepart+0.5 'hauteur approche piece +0.5mm
Rem conditions (plus tard)
Sleep(500)
OpenTeachFile "KAreglet.tap"
Code " G49 G40 G90 " ' G49 G90G17 G50
Code " G21"
Code " M6 T" & Tn 'Code "M6 T" & Fraise_n°
Code " G54"
Code " G0 Z " & S 'Hra va à Z degagement rapide G0z+15mm
Ya= Eor+ Rf ' point Ya entree de la fraise en bas de la piece = extremite + rayon fraise
Yb= (Ya)+ (Lon -Rf) ' point Yb sortie fraise en haut = Ya + longueur rainure - rayon fraise
Xdd= Lar/2 'decalage du point X à droite probleme soft limite
Xd= Xdd-Rf ' point droit en X largeur rainure
Xg= 0-Xd 'point gauche en X inversion du signe + en moins de Xd
Xc= 0 ' point centre equivalent à XO axe piece
Ztarget = (Round( Zdepart + Pr,2)) 'position maxi en Z fond de rainure arrondi à 2 décimal pour éviter les bugs
K = Round(Zdepart,2) '*** position courante
While ismoving() 'attendre que le mouvement soit fini, sinon le VB va continuer sans attendre le Gcode
Sleep(100)
Wend
Do
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de Z
C= Round(( B + Pe ),2) 'valeur Z + passe ebauche
K =Round(( K + C),2)'niveau d'usinage suivant
If K > Ztarget Then 'on est au dessus de la prof maxi
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & K 'on descend à la prof d'usinage
Call rainure() 'appel du sous programme rainure
GoTo suite 'on relance la boucle
End If
If K <= Ztarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe.
K = Ztarget
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & C 'K on descend à la prof d'usinage
' MsgBox("Fin boucle")
Call rainure() 'appel du sous programme rainure
Exit Do 'fin de la boucle
End If
suite: 'le goto arrive ici pour relancer la boucle
Loop
Call ebavurage() 'appel du sous programme rainure
Code "G0 Z " & Hra ' va à Z degagement rapide G0z+15mm
Code"M5 M9"
Code"M30"
CloseTeachFile
Call LoadTeachFile()
'MsgBox("Fin")
Sub rainure()
Code "G0 Z" & Hre 'remonte rapide l outils debourrage
Code "G0 Y" & Ya &"X"& Xc ' va audessus du point de descente Ya = Extremité_Origine + RayonFraise
'Code "G1 Z" & S ' approche dessus piece +0.5
Code "F"& Ap ' rallentie avance plonge
Code "Z" & K 'descent à la 1ere valeur de K = Zdepart- Pe
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "Y" & Ya ' redescent en à l entrée
Code "X" & Xg 'va à gauche -5mm
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "X" & Xc 'va à droite +0mm dans l axe
Code "Y" & Ya ' redescent en à l entrée
Code "G0 Z" & Hre 'remonte rapide l outils debourrage
While ismoving() 'attendre que le mouvement soit fini, sinon le VB va continuer sans attendre le Gcode
Sleep(100)
Wend
End Sub
Sub ebavurage ()
'MsgBox("Ebavurage debut -0.5mm")
Ye=Ya-Eor ' debut ebavurage en Y
Yf=Yb+Eop ' fin ebavurage en Y
Xde=Xd+1 'va à droite rainure +1 mm+5mm =6mm
Xge=Xg-1 'va à gauche -1mm -5mm =-6mm
Zdepart= Round(GetOEMDRO (1580),2) ' meme cote de depart que la rainure
V= Round((Zdepart+Pv),2)
ZVtarget = (Round(GetOEMDRO (1650),2)) 'position maxi ebavurage en Z
Do
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de position Z
D= Round(( B + Pv ),2) 'valeur Z + passe ebavurage
V =Round(( V + D),2) 'niveau d'ebavurage suivant
If V> ZVtarget Then 'on est au dessus de la prof maxi
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & V 'on descend à la prof d'ebavurage
End If
If V <= ZVtarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe. V = ZVtarget
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & C 'K on descend à la prof d'usinage
End If
Exit Do 'fin de la boucle
Loop '
Code "G0 Z" & Hre 'remonte rapide l outils debourrage
Code "G0 Y" & Ye &"X"& Xc ' va audessus du point de descente Ya = Extremité_Origine + RayonFraise
'Code "G1 Z" & S ' approche dessus piece +0.5
Code "F"& Ap ' rallentie avance plonge
Code "Z" & V 'descent à la 1ere valeur de V= Zdepart- Pv
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "Y" & Ye ' redescent en à l entrée
Code "X" & Xge 'va à gauche -5mm
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "X" & Xc 'va à droite +0mm dans l axe
Code "Y" & Ye ' redescend en à l entrée
Code "G0 Z" & Hre 'remonte rapide l outils débourrage
End Sub '**************** je pense que le probleme est là************
WF- très actif
- Messages : 281
Date d'inscription : 17/09/2018
Re: BOUCLE DANS MACRO
Salut,
Non, c'est juste que 8 suivi immédiatement de ) c'est le raccourcis pour l'émoticone "cool" ... pour éviter que ce soit pris pour un raccourcis, il faut mettre un espace entre le 8 et la )
Pour le code, je vois que tu n'a pas corrigé la 1iere erreur de syntaxe (la parenthèse manquante) ; pour le reste, une fois cette erreur corrigé, il n'y a pas d'autres erreur de syntaxe, donc si ça ne fonctionne pas, c'est une erreur de logique de fonctionnement.
Non, le end sub ne renvoi pas à la fin du programme, il renvoi à l'instruction qui suit celle qui l'appelée:
Call ebavurage() 'appel du sous programme rainure
Code "G0 Z " & Hra ' va à Z degagement rapide G0z+15mm
Code"M5 M9"
Code"M30"
une fois la sub ebavurage terminée, le programme continu à Code "G0 Z " & Hra
En programmation, quand on est perdu dans la logique, il faut faire un organigramme pour s'y retrouver et surtout, l'utilisation du mode pas à pas aide aussi beaucoup pour voir comment le programme réagit à chaque commande en éxécutant les lignes une par une et en vérifiant la valeur de certaines variables utilisées. Il peut parfois être nécessaire de "sortir" certaines valeurs pour contrôle ; par exemple en utilisant un MsgBox(variable) par ci par la.
https://fr.wikipedia.org/wiki/Organigramme_de_programmation
et ne me demande pas un soft pour tracer les organigrammes ; j'en ai essayé plusieurs et au final, ça va beaucoup mieux à la main sur une feuille de papier
Je ne comprends pas ce que tu veux dire
++
David
PS***** il y a un Probleme avec l emoticone cool qui vient ce mettre tous seul sur DoButton (Cool bug???****
Non, c'est juste que 8 suivi immédiatement de ) c'est le raccourcis pour l'émoticone "cool" ... pour éviter que ce soit pris pour un raccourcis, il faut mettre un espace entre le 8 et la )
Pour le code, je vois que tu n'a pas corrigé la 1iere erreur de syntaxe (la parenthèse manquante) ; pour le reste, une fois cette erreur corrigé, il n'y a pas d'autres erreur de syntaxe, donc si ça ne fonctionne pas, c'est une erreur de logique de fonctionnement.
le probleme provient surement du END SUB à la du SUB ebavurage qui envoi à la sortie du programme
Non, le end sub ne renvoi pas à la fin du programme, il renvoi à l'instruction qui suit celle qui l'appelée:
Call ebavurage() 'appel du sous programme rainure
Code "G0 Z " & Hra ' va à Z degagement rapide G0z+15mm
Code"M5 M9"
Code"M30"
une fois la sub ebavurage terminée, le programme continu à Code "G0 Z " & Hra
En programmation, quand on est perdu dans la logique, il faut faire un organigramme pour s'y retrouver et surtout, l'utilisation du mode pas à pas aide aussi beaucoup pour voir comment le programme réagit à chaque commande en éxécutant les lignes une par une et en vérifiant la valeur de certaines variables utilisées. Il peut parfois être nécessaire de "sortir" certaines valeurs pour contrôle ; par exemple en utilisant un MsgBox(variable) par ci par la.
https://fr.wikipedia.org/wiki/Organigramme_de_programmation
et ne me demande pas un soft pour tracer les organigrammes ; j'en ai essayé plusieurs et au final, ça va beaucoup mieux à la main sur une feuille de papier
Mais je n ai pas d exemple de programme VBcypress avec deux boucles dedans pour voir comment on fait
Je ne comprends pas ce que tu veux dire
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: BOUCLE DANS MACRO
Bonsoir Dh42 c est encore moi
je devient maboul cet apres midi la macro tournée
maintenant ça coince
j ai des problèmes avec les labels je suis oblige de copier vos Goto Suite et suite :
et de supprimer des lettres pour que ça fonctionne ????
merci pour votre aide
je devient maboul cet apres midi la macro tournée
maintenant ça coince
j ai des problèmes avec les labels je suis oblige de copier vos Goto Suite et suite :
et de supprimer des lettres pour que ça fonctionne ????
- Code:
Rem Dimensions
DoOEMButton (169) 'efface le programme précédant dans Mach3
REM DIMENSIONS PIECE
Ltr = GetOEMDRO (1600) ' 100 mm Longueur totale reglette
Lar = GetOEMDRO (1590) ' 10 mm largeur totale reglette
Lon = GetOEMDRO (1610) ' 90 mm Longueur Rainure
Pr = GetOEMDRO (1620) ' -8 mm Profondeur Rainure
Eor = GetOEMDRO (1630) ' 5 mm Extremité coté Origine E1 Ystart
Eop = GetOEMDRO (1640) ' 5 mm Extremité coté Oposé E2 Yend
Rem OUTILS
Bv = GetOEMDRO (1660) ' 15000 trmn Vitesse broche
Tn = GetOEMDRO (824) 'Fraise_n°6
Df = GetOEMDRO (43) '6mm Diametre_Fraise
Rf = Df / 2 '3mm RayonFraise = Diametre_Fraise /2
Lf = GetOEMDRO (32) '50mm Longueur fraise_H ou = GetOEMDRO (24) standart
Rem Avances
Ae = GetOEMDRO (1690) '1500mm/mn Avance ebauche
Ap = GetOEMDRO (1700) ' 800mm/mn Avance en plongée
Av = GetOEMDRO (1710) '1000mm/mn Avance ebavurage
Rem Passes
Pe = GetOEMDRO (1730) '-2mm Passe_ebauche
Pv = GetOEMDRO (1865) ' 0.3mm Passe_ebavurage
Rem Hauteurs
Hra = GetOEMDRO (1760) '12mm Hauteur z deplacement degagement rapide securité G0
Hre = GetOEMDRO (1770) ' 5mm Hauteur_retrait z debourrage
Ha = GetOEMDRO (1780) '10mm Hauteur_avance z passage en G1
Rem G54 offset
SetOEMDRO(47,0)
SetOEMDRO(48,0)
SetOEMDRO(49,0)
Xx = GetOEMDRO (1800) '600mmbord rainure valeur coordonnée machine G53
Yy = GetOEMDRO (1810) '600mm debut brut barre valeur coordonnée machine G53
Zz = GetOEMDRO (1830) '-50mm audessus du brut dans l axe YO valeur coordonnée machine G53
SetOEMDRO(47,Xx) 'ecrit la valeur Xx pour work offset table valeur X
SetOEMDRO(48,Yy) 'ecrit la valeur Yy pour work offset table valeur Y
SetOEMDRO(49,Zz) 'ecrit la valeur Zz pour work offset table valeur Z
Zo=-10
Code "G53 Z" & Zo
Code "G0G53"& "X" & Xx &"Y"&Yy &"Z"& Zz
sleep(500)
DoButton ( ' zero visu X
DoButton (9) ' zero visu Y
DoButton (10) ' zero visu Z
DoOEMButton (33) ' lance g54
DoOEMButton (11) ' affiche l ecran 11
Rem conditions (plus tard)
OpenTeachFile "Kireglet.tap"
Sleep(200)
Code " G49 G40 G90 " ' G49 G90G17 G50
Code " G21"
Code " M6 T" & Tn 'Code "M6 T" & Fraise_n°
Code " G54"
Ya= Eor+ Rf ' point Ya entree de la fraise en bas de la piece = extremite + rayon fraise
Yb= (Ya)+ (Lon -Rf) ' point Yb sortie fraise en haut = Ya + longueur rainure - rayon fraise
Xdd= Lar/2 'decalage du point X à droite probleme soft limite
Xd= Xdd-Rf ' point droit en X largeur rainure
Xg= 0-Xd 'point gauche en X inversion du signe + en moins de Xd
Xc= 0 ' point centre equivalent à XO axe piece
B= Round(GetOEMDro(802),1) 'position de Z dans visu
Zdepart= Round(GetOEMDRO (1580),1) '- 100mm (Z=0) contact au dessus de la piece
Ztarget = Round( Zdepart + Pr,1) 'position maxi en Z fond de rainure arrondi à 2 décimal pour éviter les bugs
K = Round(Zdepart,1) '*** position courante
'Ha= Round((Zdepart+Ha),1) 'Ha hauteur avance approche piece +5mm
'Code " Z "& Ha ' approche à Z +0.5mm
Code "Y"& Ya
Do
B= Round (GetOEMDro(802),1) ' valeur de Z memorisation de Z
C= Round(( B + Pe ),1) 'valeur Z + passe ebauche
K =Round(( K + C),1)'niveau d'usinage suivant
If K > Ztarget Then 'on est au dessus de la prof maxi
Code "F"& Ap '** rallentie avance pour la descente
Code "Z" & K 'on descend à la prof d'usinage
Call rainure() 'appel du sous programme rainure
GoTo suite 'on relance la boucle
End If
If K <= Ztarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe.
K = Ztarget
Code "F"& Ap '** rallentie avance pour la descente
Code "Z" & K ' on descend à la prof d'usinage
Call rainure() 'appel du sous programme rainure
Exit Do 'fin de la boucle
End If
suite: 'le goto arrive ici pour relancer la boucle
Loop
Call ebavurage() 'appel du sous programme rainure
Code"Z " & Hra ' va à Z degagement rapide G0z+15mm
Code"M5 M9"
Code"M30"
CloseTeachFile
Call LoadTeachFile()
Sub rainure()
Code "Y" & Ya &"X"& Xc ' va audessus du point de descente Ya = Extremité_Origine + RayonFraise
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Ya ' redescent en à l entrée
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "Y" & Ya ' redescent en à l entrée
Code "X" & Xg 'va à gauche -5mm
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "X" & Xc 'va à droite +0mm dans l axe
Code "Y" & Ya ' redescent en à l entrée
Code "G0 Z" & Hre 'remonte rapide l outils debourrage
End Sub
Sub ebavurage ()
Ye=Ya-Eor ' debut ebavurage en Y
Yf=Yb+Eop ' fin ebavurage en Y
Xde=Xd+1 'va à droite rainure +1 VALEUR POUR ETRE AVANT LES MORS ETAU
Xge=Xg-1 'va à gauche -1mm -5mm =-6mm
Xce =Xde+Xge ' axe piece
B= Round (GetOEMDro(802),1) ' valeur de Z memorisation de position Z
ZVdepart = Round (GetOEMDRO (1790),1) ' zero depart ebavurage
ZVtarget = Round (GetOEMDRO (1650),1) ' -1.5 mm profondeur total ebavurage
V= Round((ZVdepart + Pv),1)
K = Round(Zdepart,1) '*** position courante
'Ha= Round(( ZVdepart+Ha),1) 'Ha hauteur avance approche piece +5mm
'Code " Z "& Ha ' approche à Z +0.5mm
Code "Y"& Ya
'Code " G0 Z "& Ha ' va à Z degagement rapide +0.5mm
Code "Y"& Ye ' va au debut Ye
Code "X"& Xce ' va à l axe
Do
B= Round (GetOEMDro(802),1) ' valeur de Z memorisation de position Z
D= Round(( B + Pv),1) 'valeur Z + passe ebavurage
V =Round(( V + D),1) 'niveau d'ebavurage suivant
If V> ZVtarget Then 'on est au dessus de la profondeur ebavurage maxi
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & V 'on descend à la prof d'ebavurage
GoTo suit ' on appelle le parcour ebavurage niveau 1
GoTo sui ' on relance la boucle ce n'est une erreur j ai des probleme de label
End If
If V <= ZVtarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe. V = ZVtarget
V= ZVtarget ' on ajuste la valeur V
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & V 'on descend à la prof d'usinage
GoTo suit 'on appelle le parcour ebavurage niveau 2
Exit Do 'fin de la boucle
End If
sui:
Loop '
suit:
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Ye ' redescent en à l entrée
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "Y" & Ye ' redescent en à l entrée
Code "X" & Xge 'va à gauche -5mm
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "X" & Xce 'va à droite +0mm dans l axe
Code "Y" & Ye ' redescend en à l entrée
Code "Z" & Hre 'remonte rapide l outils débourrage
End Sub '
merci pour votre aide
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: BOUCLE DANS MACRO
Salut,
Et depuis un bon moment, tu n'a toujours pas corrigé l'erreur de syntaxe sur
DoButton (Cool ' zero visu X
qui doit être
DoButton (Cool) ' zero visu X
Je vois aussi au moins une autre erreur, tu a un GOTO "suit" qui envoi à l'extérieur de la boucle Do-Loop, il ne faut pas, on sort d'une boucle Do-Loop par un Exit Do
Comme je te l'ai dis dans un précédant message, fait toi un organigramme de la logique de fonctionnement car il y a un truc qui pèche quelque part dans la logique de fonctionnement.
note aussi que le "suite:" est dans la sub principale (le main() ) donc tu ne peux aller à cette position QUE quand tu est dans la sub principale, et donc tu ne peux pas faire un GOTO suite quand tu est dans la sub ébavurage ... le GOTO ne peut pas sortir d'une sub, il ne doit pas sortir d'un boucle non plus ... et il ne peux pas y avoir 2 labels identiques dans un programme (d’où le fait que tes autres labels ne puissent pas s'appeler "suite:")
++
David
Et depuis un bon moment, tu n'a toujours pas corrigé l'erreur de syntaxe sur
DoButton (Cool ' zero visu X
qui doit être
DoButton (Cool) ' zero visu X
Je vois aussi au moins une autre erreur, tu a un GOTO "suit" qui envoi à l'extérieur de la boucle Do-Loop, il ne faut pas, on sort d'une boucle Do-Loop par un Exit Do
Comme je te l'ai dis dans un précédant message, fait toi un organigramme de la logique de fonctionnement car il y a un truc qui pèche quelque part dans la logique de fonctionnement.
j ai des problèmes avec les labels je suis oblige de copier vos Goto Suite et suite :
et de supprimer des lettres pour que ça fonctionne ????
note aussi que le "suite:" est dans la sub principale (le main() ) donc tu ne peux aller à cette position QUE quand tu est dans la sub principale, et donc tu ne peux pas faire un GOTO suite quand tu est dans la sub ébavurage ... le GOTO ne peut pas sortir d'une sub, il ne doit pas sortir d'un boucle non plus ... et il ne peux pas y avoir 2 labels identiques dans un programme (d’où le fait que tes autres labels ne puissent pas s'appeler "suite:")
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: BOUCLE DANS MACRO
Bonsoir M David
ça y est la Macro tourne
j ai deux problemes
1°
quand je teste a la maison sur mon PC il faut que je tape un G53 X0 Y0 et Z0 pour toutt mettre à zero
est ce du au fait que je peux pas faire de référencement sans CNC connecté ???
2°
lorsque Ztarget divisé par les passes ne tombe pas juste
Ztarget = -8.5 mm et les passes -2mm le programme donne Z=-8m idem pour l ebavurage
pourtant le deuxieme if then ajustela valeur de K =Ztarget
If K >= Ztarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe.
K = Ztarget ' ajuste la valeur de K
???????
voila le programme
ça y est la Macro tourne
j ai deux problemes
1°
quand je teste a la maison sur mon PC il faut que je tape un G53 X0 Y0 et Z0 pour toutt mettre à zero
est ce du au fait que je peux pas faire de référencement sans CNC connecté ???
2°
lorsque Ztarget divisé par les passes ne tombe pas juste
Ztarget = -8.5 mm et les passes -2mm le programme donne Z=-8m idem pour l ebavurage
pourtant le deuxieme if then ajustela valeur de K =Ztarget
If K >= Ztarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe.
K = Ztarget ' ajuste la valeur de K
???????
voila le programme
- Code:
Rem Dimensions
DoOEMButton (169) 'efface le programme précédant dans Mach3
REM DIMENSIONS PIECE
Ltr = GetOEMDRO (1600) ' 100 mm Longueur totale reglette
Lar = GetOEMDRO (1590) ' 10 mm largeur totale reglette
Lon = GetOEMDRO (1610) ' 90 mm Longueur Rainure
Pr = GetOEMDRO (1620) ' -8 mm Profondeur Rainure
Eor = GetOEMDRO (1630) ' 5 mm Extremité coté Origine E1 Ystart
Eop = GetOEMDRO (1640) ' 5 mm Extremité coté Oposé E2 Yend
Rem OUTILS
Bv = GetOEMDRO (1660) ' 15000 trmn Vitesse broche
Tn = GetOEMDRO (824) 'Fraise_n°6
Df = GetOEMDRO (43) '6mm Diametre_Fraise
Rf = Df / 2 '3mm RayonFraise = Diametre_Fraise /2
Lf = GetOEMDRO (32) '50mm Longueur fraise_H ou = GetOEMDRO (24) standart
Rem Avances
Ae = GetOEMDRO (1690) '1500mm/mn Avance ebauche
Ap = GetOEMDRO (1700) ' 800mm/mn Avance en plongée
Av = GetOEMDRO (1710) '1000mm/mn Avance ebavurage
Rem Passes
Pe = GetOEMDRO (1730) '-2mm Passe_ebauche
Pv = GetOEMDRO (1865) ' 0.3mm Passe_ebavurage
Rem Hauteurs
Hra = GetOEMDRO (1760) '12mm Hauteur z deplacement degagement rapide securité G0
Hre = GetOEMDRO (1770) ' 5mm Hauteur_retrait z debourrage
Ha = GetOEMDRO (1780) '10mm Hauteur_avance z passage en G1
Rem Hauteurs ebavurage
' ZVdepart = Round (GetOEMDRO (1790),1) ' zero depart ebavurage
Pet = GetOEMDRO (1650) ' -1.5 mm profondeur total ebavurage
Rem G54 offset
SetOEMDRO(47,0)
SetOEMDRO(48,0)
SetOEMDRO(49,0)
Sleep(300)
Xx = GetOEMDRO (1800) '600mmbord rainure valeur coordonnée machine G53
Yy = GetOEMDRO (1810) '600mm debut brut barre valeur coordonnée machine G53
Zz = GetOEMDRO (1830) '-50mm audessus du brut dans l axe YO valeur coordonnée machine G53
SetOEMDRO(47,Xx) 'ecrit la valeur Xx pour work offset table valeur X
SetOEMDRO(48,Yy) 'ecrit la valeur Yy pour work offset table valeur Y
SetOEMDRO(49,Zz) 'ecrit la valeur Zz pour work offset table valeur Z
Sleep(300)
Zo=-50 ' deplacement safe
Code "G53 Z" & Zo
Code "G0G53"& "X" & Xx &"Y"&Yy &"Z"& Zz
While ismoving() 'attendre que le mouvement soit fini, sinon le VB va continuer sans attendre le Gcode
Sleep(100)
Wend
DoButton (8 ) ' zero visu X
DoButton (9) ' zero visu Y
DoButton (10) ' zero visu Z
Sleep(100)
DoOEMButton (33) ' lance g54
DoOEMButton (11) ' affiche l ecran 11
Rem conditions (plus tard)
'Sleep(100)
OpenTeachFile "Krreglet.tap"
Code " G49 G40 G90 " ' G49 G90G17 G50
Code " G21"
Code " M6 T" & Tn 'Code "M6 T" & Fraise_n°
Code " G54"
Ya= Eor+ Rf ' point Ya entree de la fraise en bas de la piece = extremite + rayon fraise
Yb= (Ya)+ (Lon -Rf) ' point Yb sortie fraise en haut = Ya + longueur rainure - rayon fraise
Xdd= Lar/2 'decalage du point X à droite probleme soft limite
Xd= Xdd-Rf ' point droit en X largeur rainure
Xg= 0-Xd 'point gauche en X inversion du signe + en moins de Xd
Xc= 0 ' point centre equivalent à XO axe piece
B= Round(GetOEMDro(802),2) 'position de Z dans visu
Zdepart= Round(GetOEMDRO (1580),2) '- 100mm (Z=0) contact au dessus de la piece
Ztarget = Round( Zdepart + Pr,2) 'position maxi en Z fond de rainure arrondi à 2 décimal pour éviter les bugs
K = Round(Zdepart,1) '*** position courante
S= Zdepart+Ha 'hauteur avance piece +Ha mm
Code " G0 Z "& S ' va à Z degagement rapide +0.5mm
Code "Y"& Ya
Do
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de Z
C= Round(( B + Pe ),2) 'valeur Z + passe ebauche
K =Round(( K + C),2) 'niveau d'usinage suivant
If K > Ztarget Then 'on est au dessus de la prof maxi
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & K 'on descend à la prof d'usinage
Call rainure() 'appel du sous programme rainure
GoTo suite 'on relance la boucle
End If
If K >= Ztarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe.
K = Ztarget ' ajuste la valeur de K
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & K ' on descend à la prof d'usinage
Call rainure() 'appel du sous programme rainure
End If '**************
Exit Do 'fin de la boucle
suite: 'le goto arrive ici pour relancer la boucle
Loop
Call ebavurage() 'appel du sous programme rainure
Code "G0 Z " & Hra ' va à Z degagement rapide G0z+15mm
Code"M5 M9"
Code"M30"
CloseTeachFile
Call LoadTeachFile()
Sub rainure()
'Code "F"& Ap ' rallentie avance plonge
'Code "Z" & K 'descent à la 1ere valeur de K = Zdepart- Pe
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Ya ' redescent en à l entrée
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "Y" & Ya ' redescent en à l entrée
Code "X" & Xg 'va à gauche -5mm
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "X" & Xc 'va à droite +0mm dans l axe
Code "Y" & Ya ' redescent en à l entrée
Code "G0 Z" & Hre 'remonte rapide l outils debourrage
End Sub
Sub ebavurage ()
Ye=Ya-Eor ' debut ebavurage en Y
Yf=Yb+Eop ' fin ebavurage en Y
Xde=Xd+1 'va à droite rainure +1 mm+5mm =6mm
Xge=Xg-1 'va à gauche -1mm -5mm =-6mm
Xc = Xde-Xge 'axe piece
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de position Z
ZVdepart= Round(GetOEMDRO (1790),2) ' meme cote de depart que la rainure
V= Round((ZVdepart + Pv),2)
ZVtarget = Round (ZVdepart + Pet,2) 'position maxi ebavurage en Z
Code" Z"& Ha
Code" Y"& Ye &"X"& Xc
Do
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de position Z
D= Round(( B + Pv ),2) 'valeur Z + passe ebavurage
V =Round(( V + D),2) 'niveau d'ebavurage suivant
If V> ZVtarget Then 'on est au dessus de la prof maxi
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & V 'on descend à la prof d'ebavurage
Call tutu() 'appel du sous programme tutu
GoTo Qker 'on relance la boucle
End If
If V >= ZVtarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe. V = ZVtarget
V = ZVtarget 'on ajuste la valeur de V
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & V ' on descend à la prof d'usinage
Call tutu() 'appel du sous programme tutu
End If'****************
Exit Do 'fin de la boucle
Qker: 'le goto arrive ici pour relancer la boucle
Loop '
End Sub
Sub tutu()
Ye=Ya-Eor ' debut ebavurage en Y
Yf=Yb+Eop ' fin ebavurage en Y
Xde=Xd+1 'va à droite rainure +1 mm+5mm =6mm
Xge=Xg-1 'va à gauche -1mm -5mm =-6mm
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Ye ' redescent en à l entrée
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "Y" & Ye ' redescent en à l entrée
Code "X" & Xge 'va à gauche -5mm
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "X" & Xc 'va à droite +0mm dans l axe
Code "Y" & Ye ' redescend en à l entrée
Code "G0 Z" & Hre 'remonte rapide l outils débourrage
End Sub '
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: BOUCLE DANS MACRO
voila le fichier ecran de la page 12 et 11
merci encore et bonne fetes
merci encore et bonne fetes
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: BOUCLE DANS MACRO
Salut,
C'est fort probable.
Bin oui, le test est à l'envers c'est pas K >= Ztarget c'est K <= Ztarget
avec des passes de 2mm quand tu arrive à -8, c'est toujours supérieur à -8.5, donc on fait une autre passe, et quand tu arrive à -10, -10 est plus petit que -8.5 donc on ne fait pas la passe à -10 et on force K à -8.5
++
David
quand je teste a la maison sur mon PC il faut que je tape un G53 X0 Y0 et Z0 pour toutt mettre à zero
est ce du au fait que je peux pas faire de référencement sans CNC connecté ???
C'est fort probable.
lorsque Ztarget divisé par les passes ne tombe pas juste
Ztarget = -8.5 mm et les passes -2mm le programme donne Z=-8m idem pour l ebavurage
pourtant le deuxieme if then ajustela valeur de K =Ztarget
If K >= Ztarget Then 'on dépasse la prof maxi ou on y est déjà, donc dernière passe.
K = Ztarget ' ajuste la valeur de K
???????
Bin oui, le test est à l'envers c'est pas K >= Ztarget c'est K <= Ztarget
avec des passes de 2mm quand tu arrive à -8, c'est toujours supérieur à -8.5, donc on fait une autre passe, et quand tu arrive à -10, -10 est plus petit que -8.5 donc on ne fait pas la passe à -10 et on force K à -8.5
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: BOUCLE DANS MACRO dernier
Bonjour à Tous et à Monsieur David notre Gourou
Donc ça fonctionne en TEST sans machine connectée
il faut faire G53 X0 Y0 Z0 pour que ça marche sans référencement et j ai aussi des messages "Warning soft limits" je pense que la aussi le référencement manque ????
j ai ajouté des conditions avec message étant très " tête en l air" ça évite les catastrophes
donc voila le code et l écran à jour
UN JOYEUX NOEL A TOUS ET UN TRES TRES GRAND MERCI DH42
Donc ça fonctionne en TEST sans machine connectée
il faut faire G53 X0 Y0 Z0 pour que ça marche sans référencement et j ai aussi des messages "Warning soft limits" je pense que la aussi le référencement manque ????
j ai ajouté des conditions avec message étant très " tête en l air" ça évite les catastrophes
donc voila le code et l écran à jour
UN JOYEUX NOEL A TOUS ET UN TRES TRES GRAND MERCI DH42
- Code:
'Sub Main()
Rem Dimensions
DoOEMButton (169) 'efface le programme précédant dans Mach3
REM DIMENSIONS PIECE
Ltr = GetOEMDRO (1600) ' 100 mm Longueur totale reglette
Lar = GetOEMDRO (1590) ' 10 mm largeur totale reglette
Lon = GetOEMDRO (1610) ' 90 mm Longueur Rainure
Pr = GetOEMDRO (1620) ' -8 mm Profondeur Rainure
Eor = GetOEMDRO (1630) ' 5 mm Extremité coté Origine E1 Ystart
Eop = GetOEMDRO (1640) ' 5 mm Extremité coté Oposé E2 Yend
Rem OUTILS
Bv = GetOEMDRO (1660) ' 15000 trmn Vitesse broche
Tn = GetOEMDRO (824) 'Fraise_n°6
Df = GetOEMDRO (43) '6mm Diametre_Fraise
Rf = Df / 2 '3mm RayonFraise = Diametre_Fraise /2
Lf = GetOEMDRO (32) '50mm Longueur fraise_H ou = GetOEMDRO (24) standart
Rem Avances
Ae = GetOEMDRO (1690) '1500mm/mn Avance ebauche
Ap = GetOEMDRO (1700) ' 800mm/mn Avance en plongée
Av = GetOEMDRO (1710) '1000mm/mn Avance ebavurage
Rem Passes
Pe = GetOEMDRO (1730) '-2mm Passe_ebauche
Pv = GetOEMDRO (1865) ' 0.3mm Passe_ebavurage
Rem Hauteurs
Hra = GetOEMDRO (1760) '12mm Hauteur z deplacement degagement rapide securité G0
Hre = GetOEMDRO (1770) ' 5mm Hauteur_retrait z debourrage
Ha = GetOEMDRO (1780) '10mm Hauteur_avance z passage en G1
Rem Hauteurs ebavurage
Pet = GetOEMDRO (1650) ' -1.5 mm profondeur total ebavurage
REM REGLES BOB
If Ltr > 1001 Then
MsgBox("Reglette Trop Longue à Faire à la Retourne")
End If
If Df <1.99 Then 'si diametre fraise est inferieur à
MsgBox(" Le Diametre Fraise Mini 2mm & Maxi5.5mm Changez de Fraise et Recommencez")
Exit Sub
End If
If Df > 5.5 Then 'si diametre fraise est superieur à
MsgBox(" Le Diametre Fraise Mini 2mm & Maxi5.5mm Changez de Fraise et Recommencez")
Exit Sub
End If
If Lar > 5.6 Then 'si la Largeur rainure est superieur à
MsgBox(" La Largeur Rainure est Superieure 5.5mm Maxi Changez Dimensions et Recommencez")
Exit Sub
End If
If Pr<-7 Then 'si la Profondeur rainure est superieur à
MsgBox(" La Profondeur Rainure est Superieure -7mm Maxi Changez Dimensions et Recommencez")
Exit Sub
End If
If Pr> 0 Then 'si la Profondeur rainure est superieur à
MsgBox(" La Profondeur Rainure doit etre Negative -7mm Max Changez Dimensions et Recommencez")
Exit Sub
End If
Rem G54 offset
SetOEMDRO(47,0) ' metà zero l 'offset table pour G54 X
SetOEMDRO(48,0) ' metà zero l 'offset table pour G54 Y
SetOEMDRO(49,0) ' metà zero l 'offset table pour G54 Z
Sleep(300)
Xx = GetOEMDRO (1800) ' axe brut rainure valeur coordonnée machine G53
Yy = GetOEMDRO (1810) ' debut brut barre valeur coordonnée machine G53
Zz = GetOEMDRO (1830) '-50mm audessus du brut dans l axe YO valeur coordonnée machine G53
SetOEMDRO(47,Xx) 'ecrit la valeur Xx pour work offset table valeur X
SetOEMDRO(48,Yy) 'ecrit la valeur Yy pour work offset table valeur Y
SetOEMDRO(49,Zz) 'ecrit la valeur Zz pour work offset table valeur Z
Sleep(300)
Zo=-50 ' valeur deplacement safe
Code "G53 Z" & Zo ' va à deplacement safe
Code "G0G53"& "X" & Xx &"Y"&Yy &"Z"& Zz ' va à la position G54 voulu en code machine
While ismoving() 'attendre que le mouvement soit fini, sinon le VB va continuer sans attendre le Gcode
Sleep(100)
Wend 'on attend la fin du mouvement
DoButton (8 ) 'met à zero visu X
DoButton (9) ' met à zero visu Y
DoButton (10) ' met à zero visu Z
Sleep(100)
DoOEMButton (33) ' lance le G54
DoOEMButton (11) ' affiche l ecran 11
OpenTeachFile "WFreglet.tap" ' ouvre et crée le fichier WFreglet.tap dans mach3 Gcode
Code " G49 G40 G90 " ' G49 G90G17 G50
Code " G21"
Code " M6 T" & Tn 'Code "M6 T" & Fraise_n°
Code " G54"
REM Calculs les valeurs des cotes
Ya= Eor+ Rf ' point Ya entree de la fraise en bas de la piece = extremite + rayon fraise
Yb= (Ya)+ (Lon - Rf) ' point Yb sortie fraise en haut = Ya + longueur rainure - rayon fraise
Xdd= Lar/2 'decalage du point X à droite probleme soft limite
Xd= Xdd-Rf ' point droit en X largeur rainure
Xg= 0-Xd 'point gauche en X inversion du signe + en moins de Xd
Xc= 0 ' point centre equivalent à XO axe piece etG54X
B= Round(GetOEMDro(802),2) 'position de Z dans visu
Zdepart= Round(GetOEMDRO (1580),2) '(Z=0) contact au dessus de la piece
Ztarget = Round( Zdepart + Pr,2) 'position maxi en Z fond de rainure arrondi à 2 décimal pour éviter les bugs
K = Round(Zdepart,1) ' position courante
S= Zdepart+Ha 'hauteur safe pour l' avance G1 = Haut piece +Ha mm
Code " G0 Z "& S ' va à hauteur safe
Code "X"& Xc &"Y"& Ya ' Va au centre dans l axe en debut de rainure
Do
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de Z
C= Round(( B + Pe ),2) 'valeur Z + passe ebauche
K =Round(( K + C),2) 'niveau d'usinage suivant
If K > Ztarget Then 'on est au dessus de la prof maxi
Code "F"& Ap '** rallentie avance Plongeante pour la descente
Code "G1 Z" & K 'on descend à la prof d'usinage
Call rainure() 'appel du sous programme rainure
GoTo suite 'on relance la boucle
End If
If K <= Ztarget Then 'OK signe on dépasse la prof maxi ou on y est déjà, donc dernière passe.
K = Ztarget ' Ajuste la valeur de k ala profondeur max
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & K ' on descend à la prof d'usinage
Call rainure() 'appel du sous programme rainure
Exit Do 'fin de la boucle
End If '**************
suite: 'le goto arrive ici pour relancer la boucle
Loop
Call ebavurage() 'appel du sous programme rainure
'End Sub
Code "G0 Z " & Hra ' va à Z degagement rapide G0z+15mm
Code"M5 M9" ' stop spindle et arrosage
Code"M30" ' fin programme
CloseTeachFile 'ferme le fichier du gcode WFreglet.tap
Call LoadTeachFile() ' appel et charhe le WFreglet.tap
'End Sub
Sub rainure()
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Ya ' redescent en à l entrée
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "Y" & Ya ' redescent en à l entrée
Code "X" & Xg 'va à gauche -5mm
Code "Y" & Yb 'remonte en YB
Code "X" & Xd 'va à droite +5mm
Code "X" & Xc 'va à droite +0mm dans l axe
Code "Y" & Ya ' redescent en à l entrée
Code "G0 Z" & Hre 'remonte rapide l outils debourrage
End Sub
Sub ebavurage ()
Ye=Ya-Eor ' debut ebavurage en Y
Yf=Yb+Eop ' fin ebavurage en Y
Xde=Xd+1 'va à droite rainure +1 mm+5mm =6mm
Xge=Xg-1 'va à gauche -1mm -5mm =-6mm
Xc = Xde-Xge 'axe piece
Xc=0
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de position Z
ZVdepart= Round(GetOEMDRO (1790),2) ' meme cote de depart que la rainure
V= Round((ZVdepart + Pv),2)
ZVtarget = Round (ZVdepart + Pet,2) 'position maxi ebavurage en Z
Code" Z"& Ha
Code "X"& Xc & "Y"& Ye
Do
B= Round (GetOEMDro(802),2) ' valeur de Z memorisation de position Z
D= Round(( B + Pv ),2) 'valeur Z + passe ebavurage
V =Round(( V + D),2) 'niveau d'ebavurage suivant
If V> ZVtarget Then 'on est au dessus de la prof maxi
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & V 'on descend à la prof d'ebavurage
Call tutu() 'appel du sous programme tutu
GoTo Qker 'on relance la boucle
End If
If V <= ZVtarget Then 'OK signe on dépasse la prof maxi ou on y est déjà, donc dernière passe. V = ZVtarget
V = ZVtarget 'on ajuste la valeur de V
Code "F"& Ap '** rallentie avance pour la descente
Code "G1 Z" & V ' on descend à la prof d'usinage
Call tutu() 'appel du sous programme tutu
End If'****************
Exit Do 'fin de la boucle
Qker: 'le goto arrive ici pour relancer la boucle
Loop '
End Sub
Sub tutu()
Ye=Ya-Eor ' debut ebavurage en Y
Yf=Yb+Eop ' fin ebavurage en Y
Xde=Xd+1 'va à droite rainure +1 mm+5mm =6mm
Xge=Xg-1 'va à gauche -1mm -5mm =-6mm
Code "F" & Ae ' accelere l avance ebauche
Code "Y" & Ye ' redescent en à l entrée
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "Y" & Ye ' redescent en à l entrée
Code "X" & Xge 'va à gauche -5mm
Code "Y" & Yf 'remonte en YB
Code "X" & Xde 'va à droite +5mm
Code "X" & Xc 'va à droite +0mm dans l axe
Code "Y" & Ye ' redescend en à l entrée
Code "G0 Z" & Hre 'remonte rapide l outils débourrage
End Sub '
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: BOUCLE DANS MACRO
Salut,
Oui, ou les limites machine ne sont pas renseignées correctement
++
David
j ai aussi des messages "Warning soft limits" je pense que la aussi le référencement manque ????
Oui, ou les limites machine ne sont pas renseignées correctement
++
David
_________________
Traduction Française de CamBam et de sa documentation.
RE: BOUCLE DANS MACRO
Bonjour Dh42 et bonjour à tous
Concernant les Messages "Warning out off limits" proviennent de
Pour simuler le référencement je fais G53 X0 Y0 Z0 avec mes limites réglées à
axe X soft Max 1270 soft Min 0
axe Y soft Max 1200 soft Min 0
axe Z soft Max 0 soft Min -250
et donc message limite normal
j ai essayer G53 X1Y1Z1 pas de Message Warning limits
Merci pour votre aide qui fut un somptueux cadeaux de Noel
Concernant les Messages "Warning out off limits" proviennent de
Pour simuler le référencement je fais G53 X0 Y0 Z0 avec mes limites réglées à
axe X soft Max 1270 soft Min 0
axe Y soft Max 1200 soft Min 0
axe Z soft Max 0 soft Min -250
et donc message limite normal
j ai essayer G53 X1Y1Z1 pas de Message Warning limits
Merci pour votre aide qui fut un somptueux cadeaux de Noel
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Page 2 sur 2 • 1, 2
Sujets similaires
» Double G31 dans macro, fonctionnement a 50%
» Appeler une Macro stocke dans un wizard
» Boucle et tests
» sortir d'une boucle
» lancer macro
» Appeler une Macro stocke dans un wizard
» Boucle et tests
» sortir d'une boucle
» lancer macro
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum