Macro Changement Outils + Fraise Cassée

Aller en bas

Macro Changement Outils + Fraise Cassée Empty Macro Changement Outils + Fraise Cassée

Message  WF Lun 28 Déc 2020 - 16:38

Bonjour à Tous
voila  j ai pondu une macro M6start pour changement d outils sur machine avec 8 outils dans le rack avec rainure  et comme je laisse la machine toute seule
je voudrait tester si  les fraises ne sont pas cassés quand la CNC les prend
bien entendu la Tool Table de Mach3 à été rempli  par rapport à l outils maitre qui fait le zéro sur la pièce
donc la partie changement  d outils ça va mais je ne sais pas si mon raisonnement est bon concernant la mesure

      'MACRO POUR LE CHANGEMENT  D OUTILS  AVEC TESTE FRAISE CASSEE WF28/12/2020
      ' pre requis les longueurs d outils ont ete mesurées par rapport à l outils maitre et inscrite dans la tool table mach3
      'elle arrete la spindle + l arrosage et remonte le cachepoussiere
      'elle va vers le rack outils en haut Z-50 à y=1000 elle descend en face du berceaux pour encliqueter l outils dans les rainure du berceaux
      'elle ouvre les machoire + jet d air chasse copeaux et repose l outils en cour et va vers le nouvel outils
      ' elle descend sur le nouvelle outils ferme les machoires se deplace horizontalement sortie rainure berceaux puis remonte
      'elle va audessus du palpeur  puis descend à Z-100 la elle commence  G53 G31 jusqu'a -210 mm  (G53 Zmaxi=-275mm broche table)
      hauteur palpeur fixe 64mm le dessus du  palpeur est à -211mm
      'les longueurs H fraises pour les plus courtes oscille entre 18mm et 25mm si la broche descend en  dessous de -275 + (64+18)=-193 mm il y a un probleme
      ' donc Zcrash=-193mm
Code:


       'MACRO POUR LE CHANGEMENT  D OUTILS  AVEC TESTE FRAISE CASSEE WF28/12/2020
       ' pre requis les longueurs d outils ont ete mesurées par rapport à l outils maitre et inscrite dans la tool table mach3
       'elle arrete la spindle + l arrosage et remonte le cachepoussiere
       'elle va vers le rack outils en haut-50 à y=1000 elle descend en face du berceaux pour encliqueter l outils dans les rainure du berceaux
       'elle ouvre les machoire + jet d air chasse copeaux et repose l outils en cour et va vers le nouvel outils
       ' elle descend sur le nouvelle outils ferme les machoires se deplace horizontalement sortie rainure berceaux puis remonte
       'elle va audessus du palpeur  puis descend à z-100 la elle commence  G31 jusqu'a -210 en G53 (zmaxi=-275 hauteur palpeur fixe 64mm le dessus du  palpeur est à -211mm
       'les longueurs H fraises pour les plus courtes oscille entre 18mm et 25mm si la broche descend en  dessous de -275 + (64+18)=-193 mm il y a un probleme
       ' donc Zcrash=-193mm
Sub Main()

   Code "M9"                    'STOP L ARROSAGE
   DoSpinStop()                 ' STOP LA SPINDLE
   ActivateSignal(Output6) ' ACTIVE LA SORTIE 6 REMONTE LE CACHE POUSSIERE
   SetUserLED( 1919,1)          ' allume la LED utilisateur n° 1919  allumER 1  eteint0
   OldTool = GetOEMDRO (824) ' ENREGISTRE LE N° DE L OUTILS DANS LA BROCHE
 
 x = GetToolChangeStart( 0 )
 y = GetToolChangeStart( 1 )
 z = GetToolChangeStart( 2 )
 a = GetToolChangeStart( 3 )
 b = GetToolChangeStart( 4 )
 c = GetToolChangeStart( 5 )
 
    tool = GetSelectedTool()
    NewTool = tool
    
                                    Rem prepa
 MaxToolNum =  8       'Maximum d outils  pour le rack
 ToolDown   = -200     'Z bas position pour prendre ou relacher les outils dans le rack
 ToolUp     = -50      'Z haut de secu pour les deplacement au dessus table et rack
 Yprepa     =  1000    'Y position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
 Ypos       =  1176.33 'Y position   fond de berceau  pour prendre ou relacher l outils
 Xpalp      =  141     'X position palpeur fixe
 Ypalp      =  1166    'Y position palpeur fixe
 Zpalp      =  -210    'Z valeur maxi de la descente sur le palpeur fixe
 Fpalp      =   350    'F avance palpage 1er
 Fpal       =   150    'F avance palpage 2eme
 Zcrash     =  -193    'Z valeur determinant une fraise cassée en Coordoonées machine

                
 REM NUMEROTATION OUTILS
If NewTool = OldTool Or NewTool > MaxToolNum Or NewTool=0  Then     ' si Newtool est egale à  OldTool alors
           Message"******Pas de Changement  d 'outils ou erreur de N° *******"            
 Exit Sub              ' sortie du sous programme
 
        End If
                'NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
  
REM REPOSE L ANCIEN OUTILS
        Code "G0 G53 Z" & ToolUp     ' va a grande vitesse en Z secu coordonnées Machine  
        While IsMoving()              ' tant que ça bouge
        Wend                          'fin du mouvement
  Call MovePos(OldTool)               '**** appel MovePos(OldTool) coordonnées Machine des outils
        While IsMoving()              ' tant que ça bouge
        Wend                          'fin du mouvement
        Code "G53 Z" & ToolDown       'va à  Z position pour  relacher les outils dans le rack
        Code "G53 Y"& Ypos            'va à  Y position  fond de berceau  pour prendre ou relacher l outils
        Code "G4 P1.75"               ' temporisation 1.75 seconde
        While IsMoving()
        Wend
        
        ActivateSignal(Output7)        'active la sortie 7 ( ouverture machoires) pour relacher l'outils
        Code "G4 P3.0"                 'attend 3 secondes pour relacher  l'outils + jet d air chasse copeaux        
        Code "G53 Z" & ToolUp          ' va  en Z secu coordonnées Machine
        While IsMoving()
        Wend

REM VA CHERCHER LE NOUVEL OUTILS
   Call MovePos(NewTool)                '**** appel MovePos(NewTool)coordonnées Machine des outils
          While IsMoving()
          Wend
          Code "G53 Z" & ToolUp         'Z haut de secu pour les deplacement au dessus table et rack
          Code "G53 Y" & Ypos           'Y position  fond de berceau  pour prendre ou relacher l outils
          Code "G53 Z" & ToolDown       'Z bas position pour prendre ou relacher les outils dans le rack
          Code "G4 P2.75"               ' temporisation 2.75 seconde
          While IsMoving()              ' tant que ça bouge
          Wend
          DeActivateSignal(Output7)     'desactive la sortie 7 fermeture des machoires de la carte en polarité plus ou en moins selon la config Port and pins
          Code "G4 P2.0"                'temporisation 2 secondes attente fermeture des machoires
          Code "G53 Y" & Yprepa         'Y position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
          Code "G53 Z" & ToolUp         'Z haut de secu pour les deplacement au dessus table et rack
          While IsMoving()              ' tant que ça bouge
          Wend
    '**********************************************************************************************************************      
 REM VERIF SI FRAISE CASSEE
          Code "G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
          Code "G0 G53 X" & Xpalp & "Y" & Ypalp  'va audessus du palpeur fixe    
          While IsMoving()                       ' tant que ça bouge
          Wend
         ' Sleep(200)
         ' MsgBox(" jesuis audessus")
          Code "G53Z-100"  '****
         ' MsgBox(" je descend0")
          While IsMoving()                       ' tant que ça bouge
           Sleep(100)
          Wend
          
           Code "G53 G31Z "& Zpalp &" F"& Fpalp      '   descente sur le palpeur jusqu'a -150 avance f=350
   ' MsgBox(" je descend1")
          While IsMoving ( )                     'tant que ça bouge
          Sleep(500)                               ' temporisation 3s
          Wend
          PRP= GetOEMDRO(802)+10                 ' valeur de la 1ere mesure +10mm
                   Sleep(20)
          Code "G0 Z" & PRP                      ' remonte de10mm au dessus de la sonde
                  Sleep(20)
          Code "G53 G31Z "& Zpalp &" F"& Fpal     ' descente sur le palpeur jusqu'a -150 avance f=150
      'MsgBox(" je descend2")
          While IsMoving ( )                     'tant que sa bouge
          Sleep(500)                               ' temporisation 3s
          Wend
          Tlo = GetOEMDRO(802)                     '  valeur z longueur d outils Tlo = GetOEMDRO(802)  
        
         If Tlo> Zcrash  Then
         Code "G0 G53 Z" & ToolUp                ' va a grande vitesse en Z secu coordonnées Machine    
         MsgBox(" Fraise Cassée ??? à  verifier") ' Message
         Code"M30"                                ' arret cnc
         Exit Sub
         End If
  REM ecriture longueur outils dans tool table annulé                                              
      ' SetToolParam(Tnum,2,Tlo)                  ' ecrit la longueur z de l outils n°1 dans la table d outils
       'Sleep(300)                                  'tempo 3 s pour ecriture                                    
       Code "G00 G53 Z" & ToolUp                 ' va a grande vitesse en Z secu coordonnées Machine
       Code"F1500"



'************************************************************************************************************************
 REM MIS A JOUR AFFICHAGE  NOUVEL OUTILS
         Call SetUserDRO (24,NewTool)
          SetCurrentTool( NewTool )
          Code "G43 H" & NewTool         'prend compte la difference de longueur d outils par rapport à  l'outils N°1 qui reference
                                         ' et avec lequel on fait le zero piece
 REM RETOUR DU NOUVEL OUTILS SUR LA PIECE
          Code "G00 X" & x & " Y" & y   'retourne aux positions x et y qui ont ete enregistre au debut de la macro
          While IsMoving()              'tant que ça bouge
          Wend
                    Code "G4 P10.0"                'temporisation 2secondes attente descente cache poussiere
          DeActivateSignal(Output7)     'desactive la sortie 6 cache poussiere en bas
          SetUserLED( 1919,0)          ' eteint la LED changement d outils en cours n° 1919  allumé 1  eteint0
      End Sub
 
  
REM POSITION DES OUTILS DANS LE RACK
 Sub MovePos(ByVal ToolNumber As Integer)

 Select Case ToolNumber
                                       ' COORDONNEES  X ET Y DES OUTILS SELON LEUR N°
       Case Is = 1         ' VALEUR X ET Y de l outils N°1 sur le rack
         Xpos = 430.17
         Yprepa = 1000 ' EN COORDONNEES MACHINE
         YPos = 1176.33
       Case Is = 2
         Xpos = 543.01
          Yprepa =1000
         YPos = 1176.33
       Case Is = 3
         Xpos = 655.68
         Yprepa = 1000
         YPos = 1176.33
       Case Is = 4
         Xpos = 771.82
         Yprepa = 1000
         YPos =1176.33
       Case Is = 5
         Xpos = 885.60
         Yprepa = 1000
         YPos = 1176.33
       Case Is = 6
         Xpos = 998.28
         Yprepa = 1000
         YPos = 1176.33
       Case Is = 7
         Xpos = 1115.72
         Yprepa = 1000
         YPos = 1176.33
       Case Is = 8
         Xpos = 1227.27
         Yprepa = 1000
         YPos  =1176.33
         End Select
        
         Code "G53 Y" & Yprepa 'ok
         Code "G53 X" & XPos   'ok
         While IsMoving()
         Wend
        
End Sub

Main  
          
                    
donc j aimerais bien votre avis éclairé  et je suis coutumier d une erreur de signe ><  
je vous un petit Gcode pour tester
Merci pour votre aide précieuse
j'ai appris le peu que je sais sur le forum un Grand merci dh 42
espérant que l année prochaine soit meilleur bonne Année
WF
WF
je prends du galon
je prends du galon

Messages : 96
Points : 145
Date d'inscription : 17/09/2018
Age : 68
Localisation : Bondy

Revenir en haut Aller en bas

Macro Changement Outils + Fraise Cassée Empty Re: Macro Changement Outils + Fraise Cassée

Message  dh42 Lun 28 Déc 2020 - 23:12

Salut,

je vous un petit Gcode pour tester

Tester ce genre de chose en "virtuel" sans avoir la machine pour voir le résultat c'est quasiment impossible ; je ne peux que te conseiller de tester avec des allumettes ou des cures-dents en guise de fraises pour ne rien casser ... (et puis comme ça, tu peux casser la "fraise" pour tester  Very Happy )

Si tu veux tester par étape (pas à pas), lance ta macro M6start depuis l'éditeur de macro et utilise le mode pas à pas ; sinon, si tu veux lancer la macro normalement via le M6 du Gcode, tu peux y mettre des "points d'arrêt" en insérant des fonctions: MsgBox("") par ci par la, ça t'ouvrira une petite fenêtre avec un bouton OK et l’exécution de la suite du programme attendra que tu ai cliqué sur OK ; ça permet de bien prendre le temps de voir ce qui se passe, de vérifier que les valeurs des visus correspondent à ce que tu attend, etc ...

entre les parenthèses de MsgBox() tu peux aussi y mettre une(des) variable(s) dont tu veux connaitre la valeur à ce moment précis. Ex: MsgBox(Ztarget)
affichera la valeur de la variable Ztarget et attendra que tu clique sur OK

MsgBox(Ztarget & "   " & K)

affichera la valeur de la variable Ztarget, 3 espaces (qui sont dans "   ") puis la valeur de la variable K ; les & sont des opérateurs de "concaténation de chaine" ; ils mettent bout à bout les 3 textes pour former une seule ligne. Tout ce qui est entre des "" sera écris tel-quel.

note: le MsgBox('"") affiche une chaine vide symbolisée par les "" sans rien entre les 2 ; les "" sont indispensable, si tu  écris MsgBox() ça ne fonctionnera pas (erreur de syntaxe)

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 20950
Points : 33657
Date d'inscription : 21/06/2009
Age : 57
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

Macro Changement Outils + Fraise Cassée Empty Re: Macro Changement Outils + Fraise Cassée

Message  WF Mer 13 Jan 2021 - 16:48

Bonjour à Tous
un grand merci  à Monsieur David pour son aide
une petite vidéo  du résultat de la macro changement d outils

la mise au point nécessite un peu  de temporisation après la prise de  l outils fermeture des mâchoires avant le déplacement horizontale
des que je peux je vais faire la mesure auto des outils la macro est prête il reste la mise au point sur la machine
Merci à bientôt
WF
WF
je prends du galon
je prends du galon

Messages : 96
Points : 145
Date d'inscription : 17/09/2018
Age : 68
Localisation : Bondy

Revenir en haut Aller en bas

Macro Changement Outils + Fraise Cassée Empty Re: Macro Changement Outils + Fraise Cassée

Message  dh42 Jeu 14 Jan 2021 - 1:27

Salut

cheers !!!

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 20950
Points : 33657
Date d'inscription : 21/06/2009
Age : 57
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum