Le Deal du moment : -16%
Friteuse sans huile NINJA Foodi Dual Zone 7,6 L 2400W ...
Voir le deal
135.01 €

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

2 participants

Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  WF Dim 5 Juil 2020 - 18:03

Bonjour à tous et en particulier à Mr David
RAPPEL  je suis un débutant en macro ;la machine changeur d' outils automatique  un rack de 8 outils en bou de table 1200x1200 z 250
les berceaux porte outils ont des rainures qui obligent  un déplacement horizontale en Y pour  rentrer et sortir les outils du  Berceaux
je viens de finir la nouvelle Macro avec des infos collectées un peu partout sur le net
ce qui va bien
j ai tester la macro chez moi sur mon pc avec une carte USB 6axes zk motion
les déplacements prise et dépose outils avec la fermeture  /ouverture des mâchoires de la broche  apriori ça fonctionne
(simulation  sur mach3 avec carte branchée sur pc)

ce qui me chagrine
le G31 Z-150 f 350 je ne peux pas stopper  la descente ( soit avec un contact elec avec fils  sortie probe de la carte ou touche émuler du clavier) ??????

Le G92Z0 qui décale sans mouvement  Le Z à zéro de manière à devenir l origine des autre mesures de longueur d'outils secondaire
j ai essayé de le supprimer  en faisant une soustraction de longueur par rapport à l outils maitre  Tlo- Tla= Tls  Tlo=offset outils maitre Tla= mesure du second outils Tls = valeur de la soustraction pour entrée dans la table  d outils par SetToolParam(Tnum,2,Tlo)
à chaque fois  message  d erreur  interne
de plus après deux ou trois outils mach3 se comporte bizarrement  sans le G92Z0 il tourne comme une horloge

quelqu'un aurait une solution pour remplacer le G92 je sais que l'annule avec G92.1 j ai lu qu'il n'est pas modal mais j en doute ?????
   'elle commence par mesurée l'outils  maître, puis vous pouvez définir maximum 8 d’outils si vous le souhaitez ou annuler à la fin.
   ' elle effectue 2 palpage pour chaque longueur d' outils pour auguementer la precision
   'il faut apres avoir effectuer ces mesures de decalage faire G92.1 pour vider les parametres 5211 à 5216( stockage des offsets temporaires )
      merci d avance pour votre aide
          Sub Main()    
                               '**************** PREPARATION ************************
          Code "M9"                       ' STOP L ARROSAGE
          DoSpinStop()                    ' STOP LA SPINDLE  
          Sleep(10)                     ' donne le temps de charge à fond
          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
          XpalF      =  141.1   'X position palpeur fixe en X
          YpalF      =  1165.8  'Y  position palpeur fixe en Y

          NewTool = Tnum               ' le numero du nouvel outils = le n° d outils  dans la table d 'outils
          OldTool = GetOEMDRO (824) 'enregistre le numero d 'outils dans la broche  
          Tnum= 1  
          tool = GetSelectedTool()
          NewTool = tool
         
         ActivateSignal(OUTPUT5)           'remonte les  balais anti-projection en  haut
         
        MsgBox(" *** la broche doit etre VIDE  Pas d'outils ***")
        MachMsg ("Prêt à exécuter le réglage de L'OUTILS MAITRE N°1 BROCHE VIDE SANS OUTILS < tool information =0> ET  Ok", "OUTILS MAITRE", 1)
        If Ret= 2 Or  OldTool<>0 Then  End    'si Ret=2 ou si Tool differend de zero alors fin du programme                                
         
           '************************************* REM VA CHERCHER L OUTILS N°1 MAITRE ************************
         NewTool = 1                      
         Code "G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack

      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
         ActivateSignal(OUTPUT6)                'active la sortie 5 ( machoires) pour relacher l'outils
         Sleep(4)                              '**tempo 10 s    secondes pour relacher  l'outils + jet d air chasse copeaux      
         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(Output6)               'desactive la sortie 5 de la carte en plus ou en moins selon la config des pins
         Code "G4 P1.50"                        'temporisation 2secondes attente fermeture des machoires sortie 5
         While IsMoving()                       'tant que ça bouge
         Wend
         Code "G53 Y" & Yprepa                  'Y position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
         Code "G4 P1.75"                        '** temporisation 1.75 seconde
         Code "G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 X"&XpalF &"Y"&YpalF        'va audessus du palpeur fixe
         While IsMoving()                       ' tant que ça bouge
         Wend
         SetOEMDRO (824, NewTool)
         Sleep(1)  
                       
         '***************************************** Rem MESURE DE L OUTILS N°1 MAITRE ************************
       
      Code "G31 Z-150    f 350."           ' descente sur le palpeur jusqu'a -150 avance f=350
      While IsMoving ( )                   'tant que ça bouge
      Sleep(10)                            ' temporisation 10s
      Wend
      PRP= GetOEMDRO(802)+10
      Code "G0 Z" & PRP                    ' remonte de10mm au dessus de la sonde
      Code "G31 Z-150. f 150."             ' descente sur le palpeur jusqu'a -150 avance f=150
      While IsMoving ( )                   'tant que ça bouge
      Sleep(10)                            ' temporisation 10s
      Wend
      Code "G92 Z0.00"                     '***passe z à o.oo en sans mouvement  en relatif origine des mesures de longueur
      Tlo = GetDro(2)                      ' lit z                                      ' valeur de z          
      SetToolParam(Tnum,2,Tlo)             ' ecrit la longueur z de l outils n°1 dans la table d outils
      Sleep(4)                             'tempo 3 s pour ecriture                                    
      Code "G00 G53 Z" & ToolUp             ' va a grande vitesse en Z secu coordonnées Machine
     
             N1: '************************ ROUTINE   nom de la routine N1    *********************************************
                                  '************* PREPARATION N1 **********
             OldTool = GetOEMDRO(824)        
             NewTool=   NewTool +1
             Tnum = NewTool
               
   Ret = MachMsg ("Etes-vous prêt pour le réglage de l’outil suivant?", "OUTILS SECONDAIRES",1)
   
   If Ret=2 Then End                 ' si Ret=2 reponse NON=2 alors fin du programme

  Call MovePos(OldTool)              '**** appel MovePos(OldTool) coordonnées Machine des outils
       While IsMoving()              ' tant que ça bouge
       Wend                          'fin du mouvement
       Code "G53 Y" & Yprepa         'Yprepa  position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
       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
       Sleep(1)                      ' temporisation 1. seconde
       While IsMoving()
       Wend      
       ActivateSignal(OUTPUT6)        'active la sortie 6 machoires OUVERTES pour relacher l'outils
       Code "G4 P2.75"                ' temporisation sans mouvement 2.75 secondes pour relacher  l'outils + jet d air chasse copeaux              
       Code "G53 Z" & ToolUp          ' monte   en Z secu coordonnées Machine

    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(Output6)               'desactive la sortie 5 MACHOIRES FERMEES
         Code "G4 P 0.70"                        'temporisation 2secondes attente fermeture des machoires sortie 6
         While IsMoving()                       'tant que ça bouge
         Wend
         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
         Code "G0G53 X"&XpalF &"Y"&YpalF        'va audessus du palpeur fixe
         While IsMoving()                       ' tant que ça bouge
         Wend
        SetOEMDRO (824, NewTool)                 'ecrit le numero du nouvel  outils dans tool information dro
        Sleep(1)  
     
                  '********************REM MESURE DES OUTILS SECONDAIRES  double palpage = prescision ****************************
    Code "G31 Z-150 f350."         ' descente sur le palpeur jusqu'a -150 avance f=350
    While IsMoving()               'alors que ça bouge
    Sleep(10)                      'tempo 10 s
    Wend
    PRP= GetOEMDRO(802)+10         'PRP=  Z +10mm
    Code "G0 Z" & PRP              'remonte de 10mm
    Code "G31 Z-150 f150."         'va palper jusqu'a Z-150mm vitesse 150mm/M
    While IsMoving()               'alors que ça bouge
    Sleep(10)                       ' tempo 10s
    Wend
    Tlo=GetDro(2)                  'lit la valeur de z au contact sur la sonde                
    Tnum = GetOEMDRO(824)          'lit la valeur du numero d outils dans la broche
    SetToolParam(Tnum,2,Tlo)       ' ecrit la diference de longueur de l'outils N°"" par rapport à la longueur de l outils maitre
   While Ismoving()                'alors que ça bouge
   Sleep(10)                       'tempo 10 s
   Wend
        GoTo N1                     ' retourne au debut de la routine  N1
   
     End Sub

      Sub MovePos(ByVal ToolNumber As Integer)

      Select Case ToolNumber
                                      ' COORDONNEES  X ,Y ET Yprepa DES OUTILS SELON LEUR Numero°
      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  ' position des Y prepa pour les retour d outils au rack
       Code "G53 X" & XPos    'position des Xpos pour les retour d outils au rack
       While IsMoving()
       Wend                                        
                                 
       End Sub
   
    Main
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty Re: MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  dh42 Dim 5 Juil 2020 - 21:17

Salut,

le G31 Z-150 f 350 je ne peux pas stopper  la descente ( soit avec un contact elec avec fils  sortie probe de la carte ou touche émuler du clavier) ??????

Si tu fais tes tests sur un Windows en 64 bits ou sans port // installé, c'est normal que l'émulation clavier ne fonctionne pas correctement, j'ai le même problème, la LED s'allume bien quand je tape sur la touche mais ça n'a pas d'effet sur l'axe (même chose pour simuler les autres contacts, comme le Home)

Par contre, avec des fils pour simuler le contact, ça devrait marcher ; tu à bien la LED probe qui s'allume quand tu fais toucher les fils ?

Il me semble me souvenir que sur une carte NVEM, la limite basse (le Z-150) n'était pas gérée, le palpage ne s’arrêtait que sur contact et ne tenait aucun compte de la distance maxi donnée dans l'instruction (toutes les cartes Chinoises on des bugs avec la gestion du palpage, on dirait qu'ils ont copié les bugs les uns sur les autres !)

Pour le G92, je ne sais pas ce qui peut poser problème, à part une mauvaise compatibilité de la carte avec Mach3 (comme pour le palpage, la carte est censée mettre à jour des variables internes de Mach3, mais sur le palpage les cartes Chinoises ne le font pas, c'est peut être le même problème avec le G92)

Ce qui est sûr, c'est qu'il fonctionne, j'ai des programmes qui en ont (le programme de digit fait avec les Wizard de Mach3) et ça fonctionnait.

Tu a essayé avec un G52 à la place, c'est "presque" la même chose, mais j'avoue que c'est quelque chose dont je ne me sert jamais, donc je ne sais pas trop comment ça réagit. (attention il ne faut pas utiliser G92 et G52 dans un même programme)

au pire, tu peux peut être t'en passer et faire comme pour le palpage pour récupérer la valeur dans la DRO Z mais en écriture, tu peux mettre directement à 0 la valeur dans la DRO du Z via un SetDro(2, 0.0) à la place d'un G92 Z0.0

++
David

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

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE suite & fin

Message  WF Mar 7 Juil 2020 - 16:46

Bonjour à Tous et en particulier à notre grand Maitre DH42
qui à résolu le problème du G92 + carte chinoise
donc ca marche en simulation PC + carte usb  ( j ai mis un micro contact avec fils soudés sur le probe) et une sécurité sur la routine limitant le nombre d outils à 8 j ai hâte de tester ça à la réouverture de l atelier
je joints la dernière version de la macro si par hasard quelqu'un l utilise envoyez moi un petit coucou sur  le sujet
Merci à tous pour votre aide


    'elle commence par mesurée l'outils  maître, puis vous pouvez définir maximum 8 d’outils si vous le souhaitez ou annuler à la fin.
   ' elle effectue 2 palpage pour chaque longueur d' outils pour auguementer la precision
         
          Sub Main()    
                               '**************** PREPARATION ************************
                    ' variable n°3 difference longueur outils maitre moins outils secondaire
          Code "M9"                       ' STOP L ARROSAGE
          DoSpinStop()                    ' STOP LA SPINDLE  
          Sleep(10)                     ' donne le temps de charge à fond
          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
          XpalF      =  141.1   'X position palpeur fixe en X
          YpalF      =  1165.8  'Y  position palpeur fixe en Y

          NewTool = Tnum               ' le numero du nouvel outils = le n° d outils  dans la table d 'outils
          OldTool = GetOEMDRO (824) 'enregistre le numero d 'outils dans la broche  
          Tnum= 1  
          tool = GetSelectedTool()
          NewTool = tool
         
         ActivateSignal(OUTPUT5)           'remonte les  balais anti-projection en  haut
         
        MsgBox(" *** la broche doit etre VIDE  Pas d'outils ***")
        MachMsg ("Prêt à exécuter le réglage de L'OUTILS MAITRE N°1 BROCHE VIDE SANS OUTILS < tool information =0> ET  Ok", "OUTILS MAITRE", 1)
        If Ret= 2 Or  OldTool<>0  Then  End    'si Ret=2 ou si Tool differend de zero alors fin du programme                                
         
           '************************************* REM VA CHERCHER L OUTILS N°1 MAITRE ************************
         NewTool = 1                      
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack

      Call MovePos(NewTool)                ' appel MovePos(NewTool)coordonnées Machine des outils
         While IsMoving()
         Wend
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 Y" & Ypos                    'Y position à fond de berceau  pour prendre ou relacher l outils
         ActivateSignal(OUTPUT6)                'active la sortie 5 ( machoires) pour relacher l'outils
         Sleep(4)                              '**tempo 10 s    secondes pour relacher  l'outils + jet d air chasse copeaux      
         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(Output6)               'desactive la sortie 5 de la carte en plus ou en moins selon la config des pins
         Code "G4 P1.50"                        'temporisation 2secondes attente fermeture des machoires sortie 5
         While IsMoving()                       'tant que ça bouge
         Wend
         Code "G53 Y" & Yprepa                  'Y position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
         Code "G4 P1.75"                        '** temporisation 1.75 seconde
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 X"&XpalF &"Y"&YpalF        'va audessus du palpeur fixe
         While IsMoving()                       ' tant que ça bouge
         Wend
         SetOEMDRO (824, NewTool)
         Sleep(1)  
                       
         '***************************************** Rem MESURE DE L OUTILS N°1 MAITRE ************************
       
      Code "G31 Z-150    f 350."           ' descente sur le palpeur jusqu'a -150 avance f=350
      While IsMoving ( )                   'tant que ça bouge
      Sleep(3)                            ' temporisation 10s
      Wend
      PRP= GetOEMDRO(802)+10
      Code "G0 Z" & PRP                    ' remonte de10mm au dessus de la sonde
      Code "G31 Z-150. f 150."             ' descente sur le palpeur jusqu'a -150 avance f=150
      While IsMoving ( )                   'tant que ça bouge
      Sleep(3)                            ' temporisation 10s
      Wend
        SetDRO(2,0.00)                   'Code "G92 Z0.00"***passe z à o.oo en sans mouvement  en relatif origine des mesures de longueur        
       Tlo = GetDro(2)                     '  valeur de z   Tlo = GetDro(2)                                           '        
      SetToolParam(Tnum,2,Tlo)             ' ecrit la longueur z de l outils n°1 dans la table d outils
      Sleep(4)                             'tempo 3 s pour ecriture                                    
      Code "G00 G53 Z" & ToolUp             ' va a grande vitesse en Z secu coordonnées Machine
      Code"f500"
         
                       N1: '************************ ROUTINE   nom de la routine N1    *********************************************
                                  '************* PREPARATION N1 **********
             OldTool = GetOEMDRO(824)        
             NewTool=   NewTool +1
             Tnum = NewTool
 
   Ret = MachMsg ("Etes-vous prêt pour le réglage de l’outil suivant?", "OUTILS SECONDAIRES",1)
   
   If Ret=2 Or NewTool>8 Then End                 ' si Ret=2 reponse NON=2 alors fin du programme ou outils superieur à 8 alors fin

  Call MovePos(OldTool)              '**** appel MovePos(OldTool) coordonnées Machine des outils
       While IsMoving()              ' tant que ça bouge
       Wend                          'fin du mouvement
       Code "G0G53 Y" & Yprepa         'Yprepa  position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
       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
       Sleep(1)                      ' temporisation 1. seconde
       While IsMoving()
       Wend      
       ActivateSignal(OUTPUT6)        'active la sortie 6 machoires OUVERTES pour relacher l'outils
       Code "G4 P2.75"                ' temporisation sans mouvement 2.75 secondes pour relacher  l'outils + jet d air chasse copeaux              
       Code "G0G53 Z" & ToolUp          ' monte   en Z secu coordonnées Machine

    Call MovePos(NewTool)             '****appel MovePos(NewTool)coordonnées Machine des outils
         While IsMoving()
         Wend
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 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(Output6)               'desactive la sortie 5 MACHOIRES FERMEES
         Code "G4 P 0.70"                        'temporisation 2secondes attente fermeture des machoires sortie 6
         While IsMoving()                       'tant que ça bouge
         Wend
         Code "G53 Y" & Yprepa                  'Y position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 X"&XpalF &"Y"&YpalF        'va audessus du palpeur fixe
         While IsMoving()                       ' tant que ça bouge
         Wend
        SetOEMDRO (824, NewTool)                 'ecrit le numero du nouvel  outils dans tool information dro
        Sleep(1)  
     
                  '********************REM MESURE DES OUTILS SECONDAIRES  double palpage = prescision ****************************
    Code "G31 Z-130 f350."         ' descente sur le palpeur jusqu'a -150 avance f=350
    While IsMoving()               'alors que ça bouge
    Sleep(4)                      'tempo 10 s
    Wend
    PRP= GetOEMDRO(802)+10         'PRP=  Z +10mm
    Code "G0 Z" & PRP              'remonte de 10mm
    Code "G31 Z-130 f150."         'va palper jusqu'a Z-150mm vitesse 150mm/M
    While IsMoving()               'alors que ça bouge
    Sleep(4)                       ' tempo 10s
    Wend
     Tlo =GetDro(2)                'Tlo=GetDro(2) lit la valeur de z au contact sur la sonde  
      SetToolParam(Tnum,2,Tlo)       ' ecrit la diference de longueur de l'outils N°"" par rapport à la longueur de l outils maitre
   While Ismoving()                'alors que ça bouge
   Sleep(5)                       'tempo 10 s
   Wend
   Code"f1000"                       ' on regle l avance icipour les deplacements qui n ont pas de G0
        GoTo N1                     ' retourne au debut de la routine  N1
   
     End Sub

      Sub MovePos(ByVal ToolNumber As Integer)

      Select Case ToolNumber
                                      ' COORDONNEES  X ,Y ET Yprepa DES OUTILS SELON LEUR Numero°
      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  ' position des Y prepa pour les retour d outils au rack
       Code "G53 X" & XPos    'position des Xpos pour les retour d outils au rack
       While IsMoving()
       Wend                                        
                                 
       End Sub
       
       Main
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE suite & fin

Message  WF Mar 7 Juil 2020 - 16:50

juste un dernier sur Usinage PL50 à dit
"Un point important est qu'il faut impérativement avoir référencé les axes pour que la machine sache où elle est "
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty Re: MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  dh42 Mar 7 Juil 2020 - 23:41

Salut,

C'est quand même dingue que depuis le temps ces cartes ne soit toujours pas débogués sur des problèmes aussi courant que le palpage ou la gestion des offsets scratch

"Un point important est qu'il faut impérativement avoir référencé les axes pour que la machine sache où elle est "

Oui, c'est sûr, sinon tu vas droit à la cata ! Curieusement, Mach3 n'est pas exigeant sur ce point, mais certains soft refusent de faire quoi que ce soit tant que le référencement n'a pas été fait (EddingCNc par exemple, ou le soft de mon imprimante 3D)

++
David

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

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE suite & fin

Message  WF Jeu 9 Juil 2020 - 19:32

Bonjour à tous
Il y avait des petit bug dans la macro des n° de DRO qui n était pas cohérent DRO 2 (Z) alors qu' un peu plus haut  j utilise DRO 802(Z)
et après le palpage dans la routine  l outils ne restait pas à zéro
donc c est résolu
l outils maitre  est à zéro  maintenant ça colle nickel
l outils maitre est à zéro  et les outils secondaires affiche leur longueur par rapport à ce zéro

donc Référencement , mesure des longueurs d outils
  une fois les mesure de longueur d' outils effectués
il faut faire le zéro Z sur la pièce  avec l outils maitre  enregistrer le G54 ou autre et normalement tous les outils seront au zéro pièce
( Monsieur Damy conseil de vérifier le zéro pièce des outils secondaires )
j ai un doute dans le programme GCODE pièce sous Fusion 360 on supprime les G43 offset longueur dans le post processeur
Fusion ne peut pas connaitre les décalages de longueur  des outils sur la machine
encore merci à tous et en particulier Monsieur David
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE suite & fin

Message  WF Jeu 9 Juil 2020 - 19:34

voila le code macro version 4
    'elle commence par mesurée l'outils  maître, puis vous pouvez définir maximum 8 d’outils si vous le souhaitez ou annuler à la fin.
   ' elle effectue 2 palpage pour chaque longueur d' outils pour auguementer la precision
         
          Sub Main()    
                               '**************** PREPARATION ************************
                    ' variable n°3 difference longueur outils maitre moins outils secondaire
          Code "M9"                       ' STOP L ARROSAGE
          DoSpinStop()                    ' STOP LA SPINDLE  
          Sleep(10)                     ' donne le temps de charge à fond
          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
          XpalF      =  141.1   'X position palpeur fixe en X
          YpalF      =  1165.8  'Y  position palpeur fixe en Y

          NewTool = Tnum               ' le numero du nouvel outils = le n° d outils  dans la table d 'outils
          OldTool = GetOEMDRO (824) 'enregistre le numero d 'outils dans la broche  
          Tnum= 1  
          tool = GetSelectedTool()
          NewTool = tool
         
         ActivateSignal(OUTPUT5)           'remonte les  balais anti-projection en  haut
         
        MsgBox(" *** la broche doit etre VIDE  Pas d'outils ***")
        MachMsg ("Prêt à exécuter le réglage de L'OUTILS MAITRE N°1 BROCHE VIDE SANS OUTILS < tool information =0> ET  Ok", "OUTILS MAITRE", 1)
        If Ret= 2 Or  OldTool<>0  Then  End    'si Ret=2 ou si Tool differend de zero alors fin du programme                                
         
           '************************************* REM VA CHERCHER L OUTILS N°1 MAITRE ************************
         NewTool = 1                      
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack

      Call MovePos(NewTool)                ' appel MovePos(NewTool)coordonnées Machine des outils
         While IsMoving()
         Wend
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 Y" & Ypos                    'Y position à fond de berceau  pour prendre ou relacher l outils
         ActivateSignal(OUTPUT6)                'active la sortie 5 ( machoires) pour relacher l'outils
         Sleep(4)                              '**tempo 10 s    secondes pour relacher  l'outils + jet d air chasse copeaux      
         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(Output6)               'desactive la sortie 5 de la carte en plus ou en moins selon la config des pins
         Code "G4 P1.50"                        'temporisation 2secondes attente fermeture des machoires sortie 5
         While IsMoving()                       'tant que ça bouge
         Wend
         Code "G53 Y" & Yprepa                  'Y position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
         Code "G4 P1.75"                        '** temporisation 1.75 seconde
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 X"&XpalF &"Y"&YpalF        'va audessus du palpeur fixe
         While IsMoving()                       ' tant que ça bouge
         Wend
         SetOEMDRO (824, NewTool)
         Sleep(1)  
                       
         '***************************************** Rem MESURE DE L OUTILS N°1 MAITRE ************************
       
      Code "G31 Z-150    f 350."           ' descente sur le palpeur jusqu'a -150 avance f=350
      While IsMoving ( )                   'tant que ça bouge
      Sleep(3)                            ' temporisation 10s
      Wend
      PRP= GetOEMDRO(802)+10
      Code "G0 Z" & PRP                    ' remonte de10mm au dessus de la sonde
      Code "G31 Z-150. f 150."             ' descente sur le palpeur jusqu'a -150 avance f=150
      While IsMoving ( )                   'tant que ça bouge
      Sleep(4)                            ' temporisation 10s
      Wend
        SetOEMDRO(802,0.00)                   'Code "G92 Z0.00"***passe z à o.oo en sans mouvement  en relatif origine des mesures de longueur        
      Sleep(4)  
                                  'tempo 3 s pour ecriture
       Tlo = GetDro(802)                     '  valeur de z   Tlo = GetDro(2)                                           '        
      SetToolParam(Tnum,2,Tlo)             ' ecrit la longueur z de l outils n°1 dans la table d outils
      Sleep(4)                             'tempo 3 s pour ecriture                                    
      Code "G00 G53 Z" & ToolUp             ' va a grande vitesse en Z secu coordonnées Machine
      Code"f500"
         
                       N1: '************************ ROUTINE   nom de la routine N1    *********************************************
                                  '************* PREPARATION N1 **********
             OldTool = GetOEMDRO(824)        
             NewTool=   NewTool +1
             Tnum = NewTool
 
   Ret = MachMsg ("Etes-vous prêt pour le réglage de l’outil suivant?", "OUTILS SECONDAIRES",1)
   
   If Ret=2 Or NewTool>8 Then End                 ' si Ret=2 reponse NON=2 alors fin du programme ou outils superieur à 8 alors fin

  Call MovePos(OldTool)              '**** appel MovePos(OldTool) coordonnées Machine des outils
       While IsMoving()              ' tant que ça bouge
       Wend                          'fin du mouvement
       Code "G0G53 Y" & Yprepa         'Yprepa  position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
       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
       Sleep(1)                      ' temporisation 1. seconde
       While IsMoving()
       Wend      
       ActivateSignal(OUTPUT6)        'active la sortie 6 machoires OUVERTES pour relacher l'outils
       Code "G4 P2.75"                ' temporisation sans mouvement 2.75 secondes pour relacher  l'outils + jet d air chasse copeaux              
       Code "G0G53 Z" & ToolUp          ' monte   en Z secu coordonnées Machine

    Call MovePos(NewTool)             '****appel MovePos(NewTool)coordonnées Machine des outils
         While IsMoving()
         Wend
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 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(Output6)               'desactive la sortie 5 MACHOIRES FERMEES
         Code "G4 P 0.70"                        'temporisation 2secondes attente fermeture des machoires sortie 6
         While IsMoving()                       'tant que ça bouge
         Wend
         Code "G53 Y" & Yprepa                  'Y position pour la descente du porte outils  permettant encliquement dans les rainures des berceaux
         Code "G0G53 Z" & ToolUp                  'Z haut de secu pour les deplacement au dessus table et rack
         Code "G0G53 X"&XpalF &"Y"&YpalF        'va audessus du palpeur fixe
         While IsMoving()                       ' tant que ça bouge
         Wend
        SetOEMDRO (824, NewTool)                 'ecrit le numero du nouvel  outils dans tool information dro
        Sleep(1)  
     
                  '********************REM MESURE DES OUTILS SECONDAIRES  double palpage = prescision ****************************
    Code "G31 Z-130 f350."         ' descente sur le palpeur jusqu'a -150 avance f=350
    While IsMoving()               'alors que ça bouge
    Sleep(4)                      'tempo 10 s
    Wend
    PRP= GetOEMDRO(802)+10         'PRP=  Z +10mm
    Code "G0 Z" & PRP              'remonte de 10mm
    Code "G31 Z-130 f150."         'va palper jusqu'a Z-150mm vitesse 150mm/M
    While IsMoving()               'alors que ça bouge
    Sleep(4)                       ' tempo 10s
    Wend
     Tlo =GetDro(2)                'Tlo=GetDro(2) lit la valeur de z au contact sur la sonde  
      SetToolParam(Tnum,2,Tlo)       ' ecrit la diference de longueur de l'outils N°"" par rapport à la longueur de l outils maitre
   While Ismoving()                'alors que ça bouge
   Sleep(5)                       'tempo 10 s
   Wend
   Code "G0G53 Z" & ToolUp  
   Code"f1000"
   While Ismoving()  
     Wend                      ' on regle l avance icipour les deplacements qui n ont pas de G0
        GoTo N1                     ' retourne au debut de la routine  N1
   
     End Sub

      Sub MovePos(ByVal ToolNumber As Integer)

      Select Case ToolNumber
                                      ' COORDONNEES  X ,Y ET Yprepa DES OUTILS SELON LEUR Numero°
      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  ' position des Y prepa pour les retour d outils au rack
       Code "G53 X" & XPos    'position des Xpos pour les retour d outils au rack
       While IsMoving()
       Wend                                        
                                 
       End Sub
       
       Main
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty Re: MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  dh42 Ven 10 Juil 2020 - 1:17

Salut,

Il y avait des petit bug dans la macro des n° de DRO qui n était pas cohérent DRO 2 (Z) alors qu' un peu plus haut  j utilise DRO 802(Z)

Oui, Mach3 peut encore utiliser les ancien n° comme le 2 pour la DRO Z, mais c'est déconseillé ; il vaut mieux utiliser les codes OEM, donc le 802 pour le Z

The use of SetDRO is no longer recommended practice and this function exists only to
support preexisting legacy scripts. This function is deprecated, and its use is strongly
discouraged.

même chose pour GetDRO

il est donc préférable de remplacer tes SetDRO par des SetOEMDro avec le code en OEM ; et bien sûr, pour les GetDRO, ils doivent être remplacés par GetOEMDro. La plage de valeurs va de 1 à 999 pour les codes OEM

Note aussi que si c'est des DRO perso crées sur Machscreen et qui sont dans la plage de valeur réservée au DRO/LED perso (de 1000 à 2254) tu dois utiliser GetUserDRO et SetUserDRO. (et GetUserLED, SetUserLED)

Sur MachScreen, tu peux avoir un tableau qui te donne les valeurs soit en code OEM soit en code "standard" via le bouton "Function code" ; en haut de la fenêtre, tu sélectionne si tu veux afficher des codes OEM ou Standard.

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Oem_st10

PS: dans ton code ci-dessus, il en reste encore 2 à changer

dans
        '***************************************** Rem MESURE DE L OUTILS N°1 MAITRE ************************
Tlo = GetDro(802)                     '  valeur de z   Tlo = GetDro(2)    

dans
                 '********************REM MESURE DES OUTILS SECONDAIRES  double palpage = prescision ****************************
Tlo =GetDro(2)                'Tlo=GetDro(2) lit la valeur de z au contact sur la sonde  

++
David

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

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty MACRO PALPAGE ET CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  WF Mar 14 Juil 2020 - 19:30

Merci Monsieur David
en bidouillant sur la carte chinoise XHC et en traduisant la doc (en chinois traditionnel et non chinois simplifier merci google) je me suis aperçu que les chinois dans leur Macro intégrée à la dll  vérifient l état de leur  sortie par une entrée
exemple  ( Output6 ) cette sortie est commandé par un relais qui actionne une electro valve
ce meme relais  sur un autre contact envoi à la carte un signal  sur une entrée (Input#1)  pin 12 low active
   
         ActivateSignal(OUTPUT6)                'COMMENT VÉRIFIER LE  SIGNAL active la sortie 5 ( mâchoires) pour relâcher l'outils
         Sleep(4)                              '**tempo 10 s    secondes pour relâcher  l'outils + jet d air chasse copeaux      

je fais une fonction  " & " du genre

         ActivateSignal(OUTPUT6) & (input#1)=true               '*****COMMENT VÉRIFIER LE  SIGNAL**** active la sortie 5 ( mâchoires) pour relâcher l'outils

ou truc  avec des if et then mais ça alourdit la macro qui est déjà très grosse
je suis dans les choux
merci pour votre aide
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty MACRO PALPAGE ET CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  WF Mar 14 Juil 2020 - 19:36

Ci joint la doc chinoise traduite En chinois Traditionnel elle est illisible en chinois simplifier
Merci encore pour votre aide
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty Re: MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  dh42 Mar 14 Juil 2020 - 22:45

Salut

If IsOutputActive(OUTPUT1) And IsActive(INPUT1) Then

' si les 2 sont actifs
.....

End If


attention, comme tu peux le voir, ce n'est pas la même commande pour tester une sortie et une entrée ... et en VB le & est le symbole de concaténation de chaine ; le ET logique c'est And.

++
David

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

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty Re: MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  WF Ven 17 Juil 2020 - 16:47

Bonjour Monsieur David
merci pour votre aide
mon mach screen est la version v1.70 et mon mach3 v62
les numéros des dro ne sont pas en 802 pour z mais en 2
j ai cherché un certains temps car la longueur de outils T1 n'était pas à zéro après le palpage
je vais remodifier la macro avec les position chinoises
output pare-poussière non alimenter en haut desactivé
de même pour les mâchoires spindle non alimenter = désactivé = mâchoires fermées
c est mieux pour la sécurité
merci encore et à bientôt sur le site
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty Re: MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  dh42 Ven 17 Juil 2020 - 22:28

Salut,
les numéros des dro ne sont pas en 802 pour z mais en 2

Oui, c'est ce que je te dis plus haut, 2 c'est pour les anciens n° (codes standards), accessible via GetDRO, 802 c'est le code OEM accessible via GetOEMDro ; l'ancienne numérotation ne doit plus être utilisée ni la fonction GetDRO

++
David


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

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE Empty Re: MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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