voici la macro qui fonctionne comme je le voulait
la 1er me sert a faire la différence de hauteur entre le palpeur et l'origine pièce
bon elle ne fonctionne pas avec le mode G31 car ma carte ne le supporte pas.
la plus part du code viens de chez Soprolec qui me la envoyer ,je l'est juste reconfigurer pour moi
ALPX = GETOEMDRO(1010)
PALPY = GETOEMDRO(1011)
CODE "G00 G53 Z0"
While ISMOVING()
Wend
CODE "G00 G53 X"& PALPX &" Y"& PALPY
While ISMOVING()
Wend
'Lancement de la commande de probe rapide vers le bas
SetOEMDRO(1000, 2) ' Numéro de l'axe ou faire le probe (0=X, 1=Y, 2=Z)
SetOEMDRO(1001, -90) ' Course maxi (le signe indique le sens de déplacement)
SetOEMDRO(1002, 20) ' Feed rate
SetOEMDRO(1003, 9) ' Numéro de l'entré de plapage (1 à 16
SetOEMDRO(1004, 1) ' état de l'entrée attendu (0 ou 1)
NotifyPlugins(3000)
' Attente fin de probe descente
While (GetOEMDRO(1000) = 0)
Sleep(10)
Wend
'Si succès, lancement de probe lent ver le haut
If (GetOEMDRO(1000) = 1) Then
SetOEMDRO(1000, 2) ' Numéro de l'axe ou faire le probe (0=X, 1=Y, 2=Z)
SetOEMDRO(1001,+10) ' Remontée en Z
SetOEMDRO(1002, 1) ' Feed rate
SetOEMDRO(1003, 9) ' Numéro de l'entré de plapage (1 à 16
SetOEMDRO(1004, 0) ' Attente re-laché de l'entrée 9
NotifyPlugins(3000)
' Attente fin de probe
While (GetOEMDRO(1000) = 0)
Sleep(10)
Wend
If (GetOEMDRO(1000) = 1) Then
ZProbe = GetOEMDRO(1001) ' Lecture de la position de palpage
Z = GetOEMDRO(85) ' Lecture positionactuelle
HPalpeur = 30 ' Déclaration hauteur palpeur
Zero = Z - ZProbe + HPalpe ' Distance erreur liée à deceleration
Zero = GetOEMdro(802)
SetOEMdro(1050,Zero)
Code "G0 G53 Z0"
While IsMoving()
Wend
Else
'Message ("Fin de probe avec erreur palpage lent")
End If
Else
'Message ("Fin de probe avec erreur palpage rapide")
End If
et la deuxieme est le changement d'outil avec la différence de l'autre c'est que j'y ai mis un déplacement pour le changement d'outil (pour avoir la place de le faire) et ensuite il va palper et il reprend au contact du palpeur la valeur de décalage de la premiere macro.
comme sa meme si on change plein de fois il y a toujours que une valeur de réference,donc moin de risque de petit décalage .
PALPX = GETOEMDRO(1010)
PALPY = GETOEMDRO(1011)
CODE "G00 G53 Z0"
While ISMOVING()
Wend
CODE "G00 G53 X40 Y0"
MACHMSG("CHANGEZ L'OUTIL ET APPUYEZ SUR OK", "CHANGEMENT D'OUTIL",1)
CODE "G00 G53 X"& PALPX &" Y"& PALPY
While ISMOVING()
Wend
'Lancement de la commande de probe rapide vers le bas
SetOEMDRO(1000, 2) ' Numéro de l'axe ou faire le probe (0=X, 1=Y, 2=Z)
SetOEMDRO(1001, -90) ' Course maxi (le signe indique le sens de déplacement)
SetOEMDRO(1002, 20) ' Feed rate
SetOEMDRO(1003, 9) ' Numéro de l'entré de plapage (1 à 16
SetOEMDRO(1004, 1) ' état de l'entrée attendu (0 ou 1)
NotifyPlugins(3000)
' Attente fin de probe descente
While (GetOEMDRO(1000) = 0)
Sleep(10)
Wend
'Si succès, lancement de probe lent ver le haut
If (GetOEMDRO(1000) = 1) Then
SetOEMDRO(1000, 2) ' Numéro de l'axe ou faire le probe (0=X, 1=Y, 2=Z)
SetOEMDRO(1001,+10) ' Remontée en Z
SetOEMDRO(1002, 1) ' Feed rate
SetOEMDRO(1003, 9) ' Numéro de l'entré de plapage (1 à 16
SetOEMDRO(1004, 0) ' Attente re-laché de l'entrée 9
NotifyPlugins(3000)
' Attente fin de probe
While (GetOEMDRO(1000) = 0)
Sleep(10)
Wend
If (GetOEMDRO(1000) = 1) Then
ZProbe = GetOEMDRO(1001) ' Lecture de la position de palpage
Z = GetOEMDRO(85) ' Lecture positionactuelle
HPalpeur = 30 ' Déclaration hauteur palpeur
Zero = Z - ZProbe + HPalpe ' Distance erreur liée à deceleration
Zero = GetOEMdro(802)
SetOEMDRO(802,GetOEMdro(1050))
Code "G0 G53 Z0"
While IsMoving()
Wend
Else
'Message ("Fin de probe avec erreur palpage lent")
End If
Else
'Message ("Fin de probe avec erreur palpage rapide")
End if
Alors voili voilou
A+
chris