Vérification macro palpage
3 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
Vérification macro palpage
Bonjour,
J'ai rajouté un troisième palpage à la macro mais je ne suis pas sûr que cela soit sans erreurs.
Pourriez vous jeter un oeil afin de voir si c'est ok.
Aussi, serait-il possible d'enlever toutes les parties concernant le mode impérial.
Par avance merci
Sub Main()
' Simple Auto Zero
' Based on the macros created be Big Tex - May 25 2010
' and modified by Poppa Bear 11dec10
Dim ZNew, Zplate, ZMaxRetract, Zplatetomaterial
Dim XWork, YWork, XMachine, YMachine, ZMachine
Dim XScale, YScale, ZScale
Dim xtoprobe, ytoprobe
Dim PlateOffset, MatOffset, TotalOffset
Dim MatOffsetYN
Dim ZClear, ClearAllow
Dim CurrentFeed
Dim CurrentAbsInc
Dim Response
XWork = GetOEMDRO(800) ' Get Current X Work Coordinate
YWork = GetOEMDRO(801) ' Get Current Y Work Coordinate
XMachine = GetOemDRO(83) ' Get Current X Machine Coordinate
YMachine = GetOemDRO(84) ' Get Current Y Machine Coordinate
ZMachine = GetOemDRO(85) ' Get Current Z Machine Coordinate
PlateOffset = GetUserDRO(1851) ' Get Plate Thickness DRO
MatOffset = GetUserDRO(1815) ' Get Material Offset DRO
If GetOEMLED(1863) Then ' Set Flag if Material Offset is used
MatOffsetYN=1
Else
MatOffsetYN=0
End If
'Get Axis Scale factors
ZScale = GetOEMDRO(61)
'Set All Axis' Scale to 1
Call SetOEMDRO(61,1)
Sleep(250)
CurrentFeed = GetOemDRO(818) ' Get the current feedrate to return to later
CurrentAbsInc = GetOemLED(48) ' Get the current G90/G91 state
Zclear=GetOEMDRO(1814) ' Get Z Clearance Plane from DRO
'//////// the block below will set all your reusable vars depending on Inch or mm.
'//////// this sets the vars so you only need ONE large block of probing code.
If GetOEMLED(801) Then ' On = English Measure INCH
FirstProbeDist = 6.0 ' Probe down 6 inches
FirstRetractDist = 0.05 ' Then retract .05 inch
SecProbeDist = 0.25 ' Then probe down .25 inches
FirstProbeFeed = 10.0 ' First probe feed @ 10 ipm
SecondProbeFeed = 1.0 ' Second probe feed @ 1 ipm
ClearAllow = 0.125 ' Max Allowable Clearance = Z Machine Zero - .125in
Else ' Off = Metric Measure MM
FirstProbeDist = 150.0 ' Probe down 150mm
FirstRetractDist = 5.0 ' Then retract 5mm
SecProbeDist = 6.0 ' Then probe down 6mm
SecRetractDist = 3.0 ' Then Retract 3 mm
ThirdProbeDist = 6.0 ' Then Probe down 6 mm
FirstProbeFeed = 250.0 ' First probe feed @ 250 mm/min
SecondProbeFeed = 25.0 ' Second probe feed @ 25 mm/min
ThirdProbeFeed = 15.0 ' Second probe feed @ 15 mm/min
ClearAllow = 2.0 ' Max Allowable Clearance = Z Machine Zero - 2mm
End If
'//////// Error Condition checking code
If GetOemLED(16)<>0 Then ' Check for Machine Coordinates
Code "(Please change to working coordinates)"
Exit Sub ' Exit if in Machine Coordinates
End If
If GetOemLED(825)<>0 Then
Code "(Z-Plate Grounded Check connection and try again)"
Exit Sub ' Exit if probe is tripped
End If
If PlateOffset < 0 Then
Code "(Plate Thickness < 0 - Please Correct and try again)"
Exit Sub ' Exit If Plate Thickness is less than 0
End If
If MatOffsetYN=1 Then
If MatOffset < 0 Then
Code "(Warning - Material Offset < 0)"
Sleep(3000)
End If
End If
If ZClear <= 0 Then
Code "(Clearance Plane Must > 0 - Please Reset)"
Exit Sub ' Exit If Clearance Plane is less than or equal to 0
End If
If MatOffsetYN=1 Then ' If Use Material Offset = Yes
TotalOffset = PlateOffset - MatOffset
Else
TotalOffset = PlateOffset
End If
'//////// Start Probing Code, Probe In -Z direction.
'//////// The vars will be Inch or Metric from above if/else statment
Code "G90"
sleep(1000) ' Pause for 1 second to give time to position probe plate
Code "F" & FirstProbeFeed ' Set feedrate to 10 ipm or 250mm/min
Code "(Probing for Z Zero.....)" ' Puts this message in the status bar
ZNew = (GetOEMDro(802) - FirstProbeDist ) ' Probe move to current Z - 150mm
Code "G31 Z" & Znew
While IsMoving() ' Wait for probe move to finish
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + FirstRetractDist ) ' Move up 5mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - SecProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + SecRetractDist ) ' Move up 3mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - ThirdProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ZNew ' Move back to hit point in case of overshoot
While IsMoving()
Wend
Call SetOEMDRO (802, TotalOffset) ' Set the Z axis DRO to plate thickness
sleep(500) ' Pause for DRO to update.
'Make Sure Z Clearance Plane is below Home Switch. If not, Notify User and Proceed.
ZMaxRetract = Abs(GetOemDRO(85)) - ClearAllow ' Distance to Home Switch - Clearance Allowance
If ZClear - TotalOffset > ZMaxRetract Then
Response = MsgBox ("Warning !!!" & (Chr(13)) & "Z Clearance Plane is Above Z Axis Home Switch." & (Chr(13)) & "Press OK To Retract Safely Below Switch" & (Chr(13)) & "Or Press Cancel to Exit Operation",49,"Insufficient Z Clearance!!")
If Response = 1 Then ' If OK
ZClear = TotalOffset + ZMaxRetract ' Retract to Z Machine zero - .125in or 2mm
ElseIf Response = 2 Then ' If Cancel
Exit Sub
End If
End If
Code "G0 Z" & ZClear ' Retract to Z Clearance Plane
While IsMoving()
Wend
Call SetOEMDRO(61,ZScale)
Sleep(250)
Code "(Z axis is now zeroed.)"
If CurrentAbsInc = 0 Then 'if G91 was in effect before then return to it
Code "G91"
End If
End Sub
J'ai rajouté un troisième palpage à la macro mais je ne suis pas sûr que cela soit sans erreurs.
Pourriez vous jeter un oeil afin de voir si c'est ok.
Aussi, serait-il possible d'enlever toutes les parties concernant le mode impérial.
Par avance merci
Sub Main()
' Simple Auto Zero
' Based on the macros created be Big Tex - May 25 2010
' and modified by Poppa Bear 11dec10
Dim ZNew, Zplate, ZMaxRetract, Zplatetomaterial
Dim XWork, YWork, XMachine, YMachine, ZMachine
Dim XScale, YScale, ZScale
Dim xtoprobe, ytoprobe
Dim PlateOffset, MatOffset, TotalOffset
Dim MatOffsetYN
Dim ZClear, ClearAllow
Dim CurrentFeed
Dim CurrentAbsInc
Dim Response
XWork = GetOEMDRO(800) ' Get Current X Work Coordinate
YWork = GetOEMDRO(801) ' Get Current Y Work Coordinate
XMachine = GetOemDRO(83) ' Get Current X Machine Coordinate
YMachine = GetOemDRO(84) ' Get Current Y Machine Coordinate
ZMachine = GetOemDRO(85) ' Get Current Z Machine Coordinate
PlateOffset = GetUserDRO(1851) ' Get Plate Thickness DRO
MatOffset = GetUserDRO(1815) ' Get Material Offset DRO
If GetOEMLED(1863) Then ' Set Flag if Material Offset is used
MatOffsetYN=1
Else
MatOffsetYN=0
End If
'Get Axis Scale factors
ZScale = GetOEMDRO(61)
'Set All Axis' Scale to 1
Call SetOEMDRO(61,1)
Sleep(250)
CurrentFeed = GetOemDRO(818) ' Get the current feedrate to return to later
CurrentAbsInc = GetOemLED(48) ' Get the current G90/G91 state
Zclear=GetOEMDRO(1814) ' Get Z Clearance Plane from DRO
'//////// the block below will set all your reusable vars depending on Inch or mm.
'//////// this sets the vars so you only need ONE large block of probing code.
If GetOEMLED(801) Then ' On = English Measure INCH
FirstProbeDist = 6.0 ' Probe down 6 inches
FirstRetractDist = 0.05 ' Then retract .05 inch
SecProbeDist = 0.25 ' Then probe down .25 inches
FirstProbeFeed = 10.0 ' First probe feed @ 10 ipm
SecondProbeFeed = 1.0 ' Second probe feed @ 1 ipm
ClearAllow = 0.125 ' Max Allowable Clearance = Z Machine Zero - .125in
Else ' Off = Metric Measure MM
FirstProbeDist = 150.0 ' Probe down 150mm
FirstRetractDist = 5.0 ' Then retract 5mm
SecProbeDist = 6.0 ' Then probe down 6mm
SecRetractDist = 3.0 ' Then Retract 3 mm
ThirdProbeDist = 6.0 ' Then Probe down 6 mm
FirstProbeFeed = 250.0 ' First probe feed @ 250 mm/min
SecondProbeFeed = 25.0 ' Second probe feed @ 25 mm/min
ThirdProbeFeed = 15.0 ' Second probe feed @ 15 mm/min
ClearAllow = 2.0 ' Max Allowable Clearance = Z Machine Zero - 2mm
End If
'//////// Error Condition checking code
If GetOemLED(16)<>0 Then ' Check for Machine Coordinates
Code "(Please change to working coordinates)"
Exit Sub ' Exit if in Machine Coordinates
End If
If GetOemLED(825)<>0 Then
Code "(Z-Plate Grounded Check connection and try again)"
Exit Sub ' Exit if probe is tripped
End If
If PlateOffset < 0 Then
Code "(Plate Thickness < 0 - Please Correct and try again)"
Exit Sub ' Exit If Plate Thickness is less than 0
End If
If MatOffsetYN=1 Then
If MatOffset < 0 Then
Code "(Warning - Material Offset < 0)"
Sleep(3000)
End If
End If
If ZClear <= 0 Then
Code "(Clearance Plane Must > 0 - Please Reset)"
Exit Sub ' Exit If Clearance Plane is less than or equal to 0
End If
If MatOffsetYN=1 Then ' If Use Material Offset = Yes
TotalOffset = PlateOffset - MatOffset
Else
TotalOffset = PlateOffset
End If
'//////// Start Probing Code, Probe In -Z direction.
'//////// The vars will be Inch or Metric from above if/else statment
Code "G90"
sleep(1000) ' Pause for 1 second to give time to position probe plate
Code "F" & FirstProbeFeed ' Set feedrate to 10 ipm or 250mm/min
Code "(Probing for Z Zero.....)" ' Puts this message in the status bar
ZNew = (GetOEMDro(802) - FirstProbeDist ) ' Probe move to current Z - 150mm
Code "G31 Z" & Znew
While IsMoving() ' Wait for probe move to finish
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + FirstRetractDist ) ' Move up 5mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - SecProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + SecRetractDist ) ' Move up 3mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - ThirdProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ZNew ' Move back to hit point in case of overshoot
While IsMoving()
Wend
Call SetOEMDRO (802, TotalOffset) ' Set the Z axis DRO to plate thickness
sleep(500) ' Pause for DRO to update.
'Make Sure Z Clearance Plane is below Home Switch. If not, Notify User and Proceed.
ZMaxRetract = Abs(GetOemDRO(85)) - ClearAllow ' Distance to Home Switch - Clearance Allowance
If ZClear - TotalOffset > ZMaxRetract Then
Response = MsgBox ("Warning !!!" & (Chr(13)) & "Z Clearance Plane is Above Z Axis Home Switch." & (Chr(13)) & "Press OK To Retract Safely Below Switch" & (Chr(13)) & "Or Press Cancel to Exit Operation",49,"Insufficient Z Clearance!!")
If Response = 1 Then ' If OK
ZClear = TotalOffset + ZMaxRetract ' Retract to Z Machine zero - .125in or 2mm
ElseIf Response = 2 Then ' If Cancel
Exit Sub
End If
End If
Code "G0 Z" & ZClear ' Retract to Z Clearance Plane
While IsMoving()
Wend
Call SetOEMDRO(61,ZScale)
Sleep(250)
Code "(Z axis is now zeroed.)"
If CurrentAbsInc = 0 Then 'if G91 was in effect before then return to it
Code "G91"
End If
End Sub
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Salut,
Ca à l'air OK, mais le meilleur moyen de savoir, c'est de le tester en vrai ... tu peux mettre une allumette à la place de la fraise pour ne rien casser en cas de gaffe
Quel est l’intérêt d'un triple palpage ? ... même en palpant à 100 mm/min, tu atteins facilement le 1/100ieme si ton palpeur à un switch correct.
Pour ma part, je n'ai qu'un seul palpage (et à 300 mm/min) et c'est largement assez précis.
++
David
Ca à l'air OK, mais le meilleur moyen de savoir, c'est de le tester en vrai ... tu peux mettre une allumette à la place de la fraise pour ne rien casser en cas de gaffe
Quel est l’intérêt d'un triple palpage ? ... même en palpant à 100 mm/min, tu atteins facilement le 1/100ieme si ton palpeur à un switch correct.
Pour ma part, je n'ai qu'un seul palpage (et à 300 mm/min) et c'est largement assez précis.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
dh42 a écrit:Salut,
Quel est l’intérêt d'un triple palpage ?
David
Mon panneau fait 19,3mm d'épaisseur (mesuré au pied à coulisse).
Dans mon programme je fais un offset de 0,1mm sur des panneaux de 19mm théorique, mon Z descend à 19,1mm lors des usinages.
Malgré ca mon martyr est usiné (ce que je veux car la face inférieure est alors bien coupé) mais d'après les valeurs précédentes, le martyr ne devrait pas être touché, je devrais faire descendre le Z à 19,4 pour qu'il soit usiné.
Mauvaise mesure de mon palpeur, pas évident à obtenir étant donné que c'est un palpeur à contact.
Petite variation d'épaisseur au sein d'un panneau lors du pressage/collage en usine.
Je ne sais pas à quoi c'est dû.
Aussi, en regardant beaucoup de videos, je m'aperçois que souvent sur les centres d'usinages, le palpage est fait en deux voire trois fois.
A chaque palpage la vitesse est réduite.
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Re
Pour mesurer la hauteur exacte de ton palpeur à contact:
- entre une hauteur de palpeur un peu plus faible que sa hauteur mesurée (ex, 38 pour un palpeur mesuré approximativement à 39mm)
- surface une zone de ton martyre assez grande pour y mettre le palpeur.
- pose le palpeur sur cette surface et viens palper ta fraise.
- enlève le palpeur et descends jusqu'à 0 (G1 F100 Z0) ; ta fraise devrait s’arrêter environ 1mm avant le martyre (en supposant que ton palpeur fasse 39)
- Ensuite continu de descendre le Z (en mode pas par pas, c'est plus prudent) jusqu'à ce que tu effleure le dessus de ton martyre. L'écart que tu lira dans la visu Z devra alors être ajouté à la hauteur que tu avais choisi ; exemple, si tu lis -0.89 dans la visu Z, ton palpeur a donc une hauteur de 38 + 0.89 = 38.89
Pour les lignes à enlever si tu n'utilise pas les pouces, ce sont les lignes en orange.
Sub Main()
' Simple Auto Zero
' Based on the macros created be Big Tex - May 25 2010
' and modified by Poppa Bear 11dec10
Dim ZNew, Zplate, ZMaxRetract, Zplatetomaterial
Dim XWork, YWork, XMachine, YMachine, ZMachine
Dim XScale, YScale, ZScale
Dim xtoprobe, ytoprobe
Dim PlateOffset, MatOffset, TotalOffset
Dim MatOffsetYN
Dim ZClear, ClearAllow
Dim CurrentFeed
Dim CurrentAbsInc
Dim Response
XWork = GetOEMDRO(800) ' Get Current X Work Coordinate
YWork = GetOEMDRO(801) ' Get Current Y Work Coordinate
XMachine = GetOemDRO(83) ' Get Current X Machine Coordinate
YMachine = GetOemDRO(84) ' Get Current Y Machine Coordinate
ZMachine = GetOemDRO(85) ' Get Current Z Machine Coordinate
PlateOffset = GetUserDRO(1851) ' Get Plate Thickness DRO
MatOffset = GetUserDRO(1815) ' Get Material Offset DRO
If GetOEMLED(1863) Then ' Set Flag if Material Offset is used
MatOffsetYN=1
Else
MatOffsetYN=0
End If
'Get Axis Scale factors
ZScale = GetOEMDRO(61)
'Set All Axis' Scale to 1
Call SetOEMDRO(61,1)
Sleep(250)
CurrentFeed = GetOemDRO(818) ' Get the current feedrate to return to later
CurrentAbsInc = GetOemLED(48) ' Get the current G90/G91 state
Zclear=GetOEMDRO(1814) ' Get Z Clearance Plane from DRO
'//////// the block below will set all your reusable vars depending on Inch or mm.
'//////// this sets the vars so you only need ONE large block of probing code.
If GetOEMLED(801) Then ' On = English Measure INCH
FirstProbeDist = 6.0 ' Probe down 6 inches
FirstRetractDist = 0.05 ' Then retract .05 inch
SecProbeDist = 0.25 ' Then probe down .25 inches
FirstProbeFeed = 10.0 ' First probe feed @ 10 ipm
SecondProbeFeed = 1.0 ' Second probe feed @ 1 ipm
ClearAllow = 0.125 ' Max Allowable Clearance = Z Machine Zero - .125in
Else ' Off = Metric Measure MM
FirstProbeDist = 150.0 ' Probe down 150mm
FirstRetractDist = 5.0 ' Then retract 5mm
SecProbeDist = 6.0 ' Then probe down 6mm
SecRetractDist = 3.0 ' Then Retract 3 mm
ThirdProbeDist = 6.0 ' Then Probe down 6 mm
FirstProbeFeed = 250.0 ' First probe feed @ 250 mm/min
SecondProbeFeed = 25.0 ' Second probe feed @ 25 mm/min
ThirdProbeFeed = 15.0 ' Second probe feed @ 15 mm/min
ClearAllow = 2.0 ' Max Allowable Clearance = Z Machine Zero - 2mm
End If
'//////// Error Condition checking code
If GetOemLED(16)<>0 Then ' Check for Machine Coordinates
Code "(Please change to working coordinates)"
Exit Sub ' Exit if in Machine Coordinates
End If
If GetOemLED(825)<>0 Then
Code "(Z-Plate Grounded Check connection and try again)"
Exit Sub ' Exit if probe is tripped
End If
If PlateOffset < 0 Then
Code "(Plate Thickness < 0 - Please Correct and try again)"
Exit Sub ' Exit If Plate Thickness is less than 0
End If
If MatOffsetYN=1 Then
If MatOffset < 0 Then
Code "(Warning - Material Offset < 0)"
Sleep(3000)
End If
End If
If ZClear <= 0 Then
Code "(Clearance Plane Must > 0 - Please Reset)"
Exit Sub ' Exit If Clearance Plane is less than or equal to 0
End If
If MatOffsetYN=1 Then ' If Use Material Offset = Yes
TotalOffset = PlateOffset - MatOffset
Else
TotalOffset = PlateOffset
End If
'//////// Start Probing Code, Probe In -Z direction.
'//////// The vars will be Inch or Metric from above if/else statment
Code "G90"
sleep(1000) ' Pause for 1 second to give time to position probe plate
Code "F" & FirstProbeFeed ' Set feedrate to 10 ipm or 250mm/min
Code "(Probing for Z Zero.....)" ' Puts this message in the status bar
ZNew = (GetOEMDro(802) - FirstProbeDist ) ' Probe move to current Z - 150mm
Code "G31 Z" & Znew
While IsMoving() ' Wait for probe move to finish
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + FirstRetractDist ) ' Move up 5mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - SecProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + SecRetractDist ) ' Move up 3mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - ThirdProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ZNew ' Move back to hit point in case of overshoot
While IsMoving()
Wend
Call SetOEMDRO (802, TotalOffset) ' Set the Z axis DRO to plate thickness
sleep(500) ' Pause for DRO to update.
'Make Sure Z Clearance Plane is below Home Switch. If not, Notify User and Proceed.
ZMaxRetract = Abs(GetOemDRO(85)) - ClearAllow ' Distance to Home Switch - Clearance Allowance
If ZClear - TotalOffset > ZMaxRetract Then
Response = MsgBox ("Warning !!!" & (Chr(13)) & "Z Clearance Plane is Above Z Axis Home Switch." & (Chr(13)) & "Press OK To Retract Safely Below Switch" & (Chr(13)) & "Or Press Cancel to Exit Operation",49,"Insufficient Z Clearance!!")
If Response = 1 Then ' If OK
ZClear = TotalOffset + ZMaxRetract ' Retract to Z Machine zero - .125in or 2mm
ElseIf Response = 2 Then ' If Cancel
Exit Sub
End If
End If
Code "G0 Z" & ZClear ' Retract to Z Clearance Plane
While IsMoving()
Wend
Call SetOEMDRO(61,ZScale)
Sleep(250)
Code "(Z axis is now zeroed.)"
If CurrentAbsInc = 0 Then 'if G91 was in effect before then return to it
Code "G91"
End If
End Sub
Oui, mais les CU travaillent avec des pécisions que ne peut pas atteindre une machine en bois ... et surtout les vitesses utilisées pour le palpage n'ont rien à voir avec les vitesses maxi d'une ID CNc
++
David
Pour mesurer la hauteur exacte de ton palpeur à contact:
- entre une hauteur de palpeur un peu plus faible que sa hauteur mesurée (ex, 38 pour un palpeur mesuré approximativement à 39mm)
- surface une zone de ton martyre assez grande pour y mettre le palpeur.
- pose le palpeur sur cette surface et viens palper ta fraise.
- enlève le palpeur et descends jusqu'à 0 (G1 F100 Z0) ; ta fraise devrait s’arrêter environ 1mm avant le martyre (en supposant que ton palpeur fasse 39)
- Ensuite continu de descendre le Z (en mode pas par pas, c'est plus prudent) jusqu'à ce que tu effleure le dessus de ton martyre. L'écart que tu lira dans la visu Z devra alors être ajouté à la hauteur que tu avais choisi ; exemple, si tu lis -0.89 dans la visu Z, ton palpeur a donc une hauteur de 38 + 0.89 = 38.89
Pour les lignes à enlever si tu n'utilise pas les pouces, ce sont les lignes en orange.
Sub Main()
' Simple Auto Zero
' Based on the macros created be Big Tex - May 25 2010
' and modified by Poppa Bear 11dec10
Dim ZNew, Zplate, ZMaxRetract, Zplatetomaterial
Dim XWork, YWork, XMachine, YMachine, ZMachine
Dim XScale, YScale, ZScale
Dim xtoprobe, ytoprobe
Dim PlateOffset, MatOffset, TotalOffset
Dim MatOffsetYN
Dim ZClear, ClearAllow
Dim CurrentFeed
Dim CurrentAbsInc
Dim Response
XWork = GetOEMDRO(800) ' Get Current X Work Coordinate
YWork = GetOEMDRO(801) ' Get Current Y Work Coordinate
XMachine = GetOemDRO(83) ' Get Current X Machine Coordinate
YMachine = GetOemDRO(84) ' Get Current Y Machine Coordinate
ZMachine = GetOemDRO(85) ' Get Current Z Machine Coordinate
PlateOffset = GetUserDRO(1851) ' Get Plate Thickness DRO
MatOffset = GetUserDRO(1815) ' Get Material Offset DRO
If GetOEMLED(1863) Then ' Set Flag if Material Offset is used
MatOffsetYN=1
Else
MatOffsetYN=0
End If
'Get Axis Scale factors
ZScale = GetOEMDRO(61)
'Set All Axis' Scale to 1
Call SetOEMDRO(61,1)
Sleep(250)
CurrentFeed = GetOemDRO(818) ' Get the current feedrate to return to later
CurrentAbsInc = GetOemLED(48) ' Get the current G90/G91 state
Zclear=GetOEMDRO(1814) ' Get Z Clearance Plane from DRO
'//////// the block below will set all your reusable vars depending on Inch or mm.
'//////// this sets the vars so you only need ONE large block of probing code.
If GetOEMLED(801) Then ' On = English Measure INCH
FirstProbeDist = 6.0 ' Probe down 6 inches
FirstRetractDist = 0.05 ' Then retract .05 inch
SecProbeDist = 0.25 ' Then probe down .25 inches
FirstProbeFeed = 10.0 ' First probe feed @ 10 ipm
SecondProbeFeed = 1.0 ' Second probe feed @ 1 ipm
ClearAllow = 0.125 ' Max Allowable Clearance = Z Machine Zero - .125in
Else ' Off = Metric Measure MM
FirstProbeDist = 150.0 ' Probe down 150mm
FirstRetractDist = 5.0 ' Then retract 5mm
SecProbeDist = 6.0 ' Then probe down 6mm
SecRetractDist = 3.0 ' Then Retract 3 mm
ThirdProbeDist = 6.0 ' Then Probe down 6 mm
FirstProbeFeed = 250.0 ' First probe feed @ 250 mm/min
SecondProbeFeed = 25.0 ' Second probe feed @ 25 mm/min
ThirdProbeFeed = 15.0 ' Second probe feed @ 15 mm/min
ClearAllow = 2.0 ' Max Allowable Clearance = Z Machine Zero - 2mm
End If
'//////// Error Condition checking code
If GetOemLED(16)<>0 Then ' Check for Machine Coordinates
Code "(Please change to working coordinates)"
Exit Sub ' Exit if in Machine Coordinates
End If
If GetOemLED(825)<>0 Then
Code "(Z-Plate Grounded Check connection and try again)"
Exit Sub ' Exit if probe is tripped
End If
If PlateOffset < 0 Then
Code "(Plate Thickness < 0 - Please Correct and try again)"
Exit Sub ' Exit If Plate Thickness is less than 0
End If
If MatOffsetYN=1 Then
If MatOffset < 0 Then
Code "(Warning - Material Offset < 0)"
Sleep(3000)
End If
End If
If ZClear <= 0 Then
Code "(Clearance Plane Must > 0 - Please Reset)"
Exit Sub ' Exit If Clearance Plane is less than or equal to 0
End If
If MatOffsetYN=1 Then ' If Use Material Offset = Yes
TotalOffset = PlateOffset - MatOffset
Else
TotalOffset = PlateOffset
End If
'//////// Start Probing Code, Probe In -Z direction.
'//////// The vars will be Inch or Metric from above if/else statment
Code "G90"
sleep(1000) ' Pause for 1 second to give time to position probe plate
Code "F" & FirstProbeFeed ' Set feedrate to 10 ipm or 250mm/min
Code "(Probing for Z Zero.....)" ' Puts this message in the status bar
ZNew = (GetOEMDro(802) - FirstProbeDist ) ' Probe move to current Z - 150mm
Code "G31 Z" & Znew
While IsMoving() ' Wait for probe move to finish
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + FirstRetractDist ) ' Move up 5mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - SecProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ( ZNew + SecRetractDist ) ' Move up 3mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - ThirdProbeDist ) ' Probe move to current Z - 6mm
Code "G31 Z" & Znew
While IsMoving()
Wend
Sleep(200)
ZNew = GetOEMDro(802) ' Read the touch point
Code "G0 Z" & ZNew ' Move back to hit point in case of overshoot
While IsMoving()
Wend
Call SetOEMDRO (802, TotalOffset) ' Set the Z axis DRO to plate thickness
sleep(500) ' Pause for DRO to update.
'Make Sure Z Clearance Plane is below Home Switch. If not, Notify User and Proceed.
ZMaxRetract = Abs(GetOemDRO(85)) - ClearAllow ' Distance to Home Switch - Clearance Allowance
If ZClear - TotalOffset > ZMaxRetract Then
Response = MsgBox ("Warning !!!" & (Chr(13)) & "Z Clearance Plane is Above Z Axis Home Switch." & (Chr(13)) & "Press OK To Retract Safely Below Switch" & (Chr(13)) & "Or Press Cancel to Exit Operation",49,"Insufficient Z Clearance!!")
If Response = 1 Then ' If OK
ZClear = TotalOffset + ZMaxRetract ' Retract to Z Machine zero - .125in or 2mm
ElseIf Response = 2 Then ' If Cancel
Exit Sub
End If
End If
Code "G0 Z" & ZClear ' Retract to Z Clearance Plane
While IsMoving()
Wend
Call SetOEMDRO(61,ZScale)
Sleep(250)
Code "(Z axis is now zeroed.)"
If CurrentAbsInc = 0 Then 'if G91 was in effect before then return to it
Code "G91"
End If
End Sub
Aussi, en regardant beaucoup de videos, je m'aperçois que souvent sur les centres d'usinages, le palpage est fait en deux voire trois fois.
A chaque palpage la vitesse est réduite.
Oui, mais les CU travaillent avec des pécisions que ne peut pas atteindre une machine en bois ... et surtout les vitesses utilisées pour le palpage n'ont rien à voir avec les vitesses maxi d'une ID CNc
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
Super je te remercie David, ca me permettra d'alléger un peu la macro.
Et je testerai ça pour le palpeur.
Ma cnc usine le bois mais elle n'est pas en bois, nuance
Du bon métal bien lourd et épais.
Et je testerai ça pour le palpeur.
Ma cnc usine le bois mais elle n'est pas en bois, nuance
Du bon métal bien lourd et épais.
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Ma cnc usine le bois mais elle n'est pas en bois, nuance
Désolé, j'ai confondu avec un autre post, je croyais que tu avais une ID-CNc ....
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
Bonjour,
Le plugin de la carte a été mis à jour.
Depuis, lorsque la macro comporte un changement d'outil, l'axe Z a un comportement inattendu, celui-ci descend, au lieu de monter, dans un bruit de l'enfer.
Le changement est fait manuellement et M6 doit en fait amener le portique à sa position de parking, là où je change l'outil.
Si le g_code ne contient pas de changement d'outil, alors tout se passe bien.
La carte utilisé et une MK3-ET de la compagnie XHC.
Afin d'illustrer mes propos, j'ai fait un rapide montage video dans lequel il y a un premier g-code, simple, sans changement d'outil puis un deuxième g-code, qui contient des changement d'outil.
Le premier g-code est le même usinage que la première étape du deuxième g-code, je l'ai simplement isolé.
Tout me laisse à penser que le problème se situe au sein de la macro M6, qui est la même que plus haut dans le post sans le 3ème palpage.
Je joins les g-codes utilisés ainsi que le lien vers la video.
Dans l'attente de vos retours.
Par avance merci
Le plugin de la carte a été mis à jour.
Depuis, lorsque la macro comporte un changement d'outil, l'axe Z a un comportement inattendu, celui-ci descend, au lieu de monter, dans un bruit de l'enfer.
Le changement est fait manuellement et M6 doit en fait amener le portique à sa position de parking, là où je change l'outil.
Si le g_code ne contient pas de changement d'outil, alors tout se passe bien.
La carte utilisé et une MK3-ET de la compagnie XHC.
Afin d'illustrer mes propos, j'ai fait un rapide montage video dans lequel il y a un premier g-code, simple, sans changement d'outil puis un deuxième g-code, qui contient des changement d'outil.
Le premier g-code est le même usinage que la première étape du deuxième g-code, je l'ai simplement isolé.
Tout me laisse à penser que le problème se situe au sein de la macro M6, qui est la même que plus haut dans le post sans le 3ème palpage.
Je joins les g-codes utilisés ainsi que le lien vers la video.
Dans l'attente de vos retours.
Par avance merci
- Fichiers joints
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Bonjour à tous et à DH42 en particulier
j ai un routeur avec une carte XHC ET 3axes et je l ai changer pour une 6axes au debut j ai eu plein de soucis
Mach3 version 043 066 ( problemes referencement)
je l'ai change pour la 043 062 plus de probleme de referencement bon mais toujours d autre problemes et je me suis aperçus en reinstallant le driver de la carte avec un CD qu en plus du driver il ajoutait 3 macros M930 , M933 et M999
je les ai supprimees et j ai mis mes macros et depuis plus de probleme ( à part mes fausses manoeuvres et oublis )
se sont les macro chinoises
esperant que cela puisse d' aider je te mets les coordonnees trouver dans les drivers XHC
Contact Details:
Chengdu XHC Tech., Inc.
86-028-81705368 - Sales,Fax
86-028-81701768 - Support
NetWork:
http://www.cdxhctech.com/
517202913@qq.com Support E-mail
QQ:517202913 Support QQ
M930 (palpage)
M933 (va au zero avec z securité si parametré)
DoOEMButton(104)
Code "G0 X0 Y0 A0" [/code]
M999 ( referencement des axes Z X Y A )
j ai un routeur avec une carte XHC ET 3axes et je l ai changer pour une 6axes au debut j ai eu plein de soucis
Mach3 version 043 066 ( problemes referencement)
je l'ai change pour la 043 062 plus de probleme de referencement bon mais toujours d autre problemes et je me suis aperçus en reinstallant le driver de la carte avec un CD qu en plus du driver il ajoutait 3 macros M930 , M933 et M999
je les ai supprimees et j ai mis mes macros et depuis plus de probleme ( à part mes fausses manoeuvres et oublis )
se sont les macro chinoises
esperant que cela puisse d' aider je te mets les coordonnees trouver dans les drivers XHC
Contact Details:
Chengdu XHC Tech., Inc.
86-028-81705368 - Sales,Fax
86-028-81701768 - Support
NetWork:
http://www.cdxhctech.com/
517202913@qq.com Support E-mail
QQ:517202913 Support QQ
M930 (palpage)
- Code:
FeedCurrent = GetOemDRO(818) 'Get the current settings, OEM DROs (818)=Feedrate DRO
ZCurrent = GetOemDro(802) 'OEM DROs (802)=Z DRO
GageH = GetOEMDRO(1001) 'OEMDRO(1001)=Gage Block Height
ZNew = ZCurrent - 300 'probe down 20 mm
Code "G90F200" 'slow feed rate to 100 MM/MIN
Rem Code "G4 P1" 'Pause 1 second to give time to position probe plate
Code "G31 Z" &ZNew
While IsMoving()
Sleep(10)
Wend
Call SetDro (2,GageH) 'DRO(2)=Z DRO
FinalMove = GageH + 10
Code "G0 Z" &FinalMove
Code "F" &FeedCurrent 'restore starting feed rate dr.lin 2009.10.16
M933 (va au zero avec z securité si parametré)
DoOEMButton(104)
Code "G0 X0 Y0 A0" [/code]
M999 ( referencement des axes Z X Y A )
- Code:
DoButton(24)
Sleep(1000)
While IsMoving()
Sleep(20)
Wend
DoButton(22)
Sleep(1000)
While IsMoving()
Sleep(20)
Wend
DoButton(23)
Sleep(1000)
While IsMoving()
Sleep(20)
Wend
'DoButton(25)
'While IsMoving()
'Sleep(20)
'Wend
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: Vérification macro palpage
Salut,
Tu n'as pas tenté de remettre l'ancien ? (quand ça marche, il ne faut rien changer !! LOL)
Tu parle bien du plugin qui permet à Mach3 de communiquer avec la XHC, pas du Firmware de la carte ?
En plus du fait que ça descend au lieu de monter, ce bruit de casserole est vraiment bizarre, je ne vois vraiment pas d’où ça peut venir, mais si ça fonctionnait avant avec cette macro, il n'y a pas vraiment de raison que ça vienne de la macro elle-même.
Oui, ces cartes semblent bien problématiques, sur ce forum il y a un gars qui avait toujours des bizarreries, la carte perdait ses coordonnées en Z de manière aléatoire (sur une version USB), il l'a changée (par une autre XHC, mais en ethernet) et ça semble fonctionner ... pour l'instant !
++
David
Le plugin de la carte a été mis à jour.
Tu n'as pas tenté de remettre l'ancien ? (quand ça marche, il ne faut rien changer !! LOL)
Tu parle bien du plugin qui permet à Mach3 de communiquer avec la XHC, pas du Firmware de la carte ?
En plus du fait que ça descend au lieu de monter, ce bruit de casserole est vraiment bizarre, je ne vois vraiment pas d’où ça peut venir, mais si ça fonctionnait avant avec cette macro, il n'y a pas vraiment de raison que ça vienne de la macro elle-même.
j ai un routeur avec une carte XHC ET 3axes et je l ai changer pour une 6axes au debut j ai eu plein de soucis
Oui, ces cartes semblent bien problématiques, sur ce forum il y a un gars qui avait toujours des bizarreries, la carte perdait ses coordonnées en Z de manière aléatoire (sur une version USB), il l'a changée (par une autre XHC, mais en ethernet) et ça semble fonctionner ... pour l'instant !
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
Salut David,
c'est le fichier de la forme NcEther.dll fourni par le fabricant.
Jusqu'à présent lors d'une mise à zéro du Z, une latence faisait que l'axe Z ne s'arrêtait pas à l'instant où il était en contact avec le palpeur.
La mise à jour corrige ce problème.
La note de release est:
2023.1.10 v3.19.1
solve the probe precision diff problem
Voilà pourquoi j'aimerai conserver cette dernière update.
Sur la video le premier parcours d'outil se passe bien, pas de M6 dans le g-code.
Le deuxième parcours d'outil bug après le dernier perçage qui correspond à la lecture de la ligne M6.
Quelque chose se passe entre la macro M6 et cette MàJ mais je n'arrive pas à déterminer si le problème vient de l'un ou de l'autre.
L'axe qui semble forcer en émettant ce genre de son très désagréable ne m'est pas inconnu.
Le comportement erratique de l'axe qui fait l'inverse de ce qu'il devrait ne m'est pas inconnu non plus.
J'aimerai croire que c'est un soucis de la macro M6 mais lequel ....
c'est le fichier de la forme NcEther.dll fourni par le fabricant.
Jusqu'à présent lors d'une mise à zéro du Z, une latence faisait que l'axe Z ne s'arrêtait pas à l'instant où il était en contact avec le palpeur.
La mise à jour corrige ce problème.
La note de release est:
2023.1.10 v3.19.1
solve the probe precision diff problem
Voilà pourquoi j'aimerai conserver cette dernière update.
Sur la video le premier parcours d'outil se passe bien, pas de M6 dans le g-code.
Le deuxième parcours d'outil bug après le dernier perçage qui correspond à la lecture de la ligne M6.
Quelque chose se passe entre la macro M6 et cette MàJ mais je n'arrive pas à déterminer si le problème vient de l'un ou de l'autre.
L'axe qui semble forcer en émettant ce genre de son très désagréable ne m'est pas inconnu.
Le comportement erratique de l'axe qui fait l'inverse de ce qu'il devrait ne m'est pas inconnu non plus.
J'aimerai croire que c'est un soucis de la macro M6 mais lequel ....
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
tu peux mettre ta macro M6 en PJ ? (M6start.m1s et M6end.m1s)
tu as un changeur auto ou tu changes la fraise manuellement ? parce que tu dis que ta macro M6 est la même que ta macro de palpage, et la, je ne comprend pas trop, la macro M6 n'est pas censé contenir un palpage d'outil à moins que ce ne soit un changeur auto.
++
David
tu as un changeur auto ou tu changes la fraise manuellement ? parce que tu dis que ta macro M6 est la même que ta macro de palpage, et la, je ne comprend pas trop, la macro M6 n'est pas censé contenir un palpage d'outil à moins que ce ne soit un changeur auto.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
David
Le changement d'outil est fait manuellement.
Lorsqu'une macro M6 est appelée, le portique va en position parking = position où je change l'outil.
Une fois que j'ai changé l'outil, je relance le g-code, un palpage est exécuté puis le parcours d'outil suivant commence.
la M6end correspond à la macro écrite plus haut dans le topic sauf que je n'ai que deux palpages, je n'en ai pas mis trois.
Le fichier d'origine est en pièce jointe.
Dans la notice de mach3 il est écrit:
Si les demandes de changement d'outil sont définies pour ne pas être ignorées (comme défini
dans Configuration>configuration générale), Mach3 appellera une macro M6Start quand la
commande m6 sera rencontrée. Il attendra alors que le bouton départ Cycle soit appuyé, puis
exécutera la macro M6End et continuera le programme. Vous pouvez mettre du code Visual
basic dans les macros pour faire fonctionner votre propre système de changement d'outil et
déplacer les axes à l‟endroit de votre choix pour le changement d'outil.
Cela serait peut-être M6start le problème ? Ce fichier est celui d'origine, je n'y ai jamais touché.
Je vais quand même aller télécharger le M6start utilisé demain matin pour te fournir le fichier.
Le changement d'outil est fait manuellement.
Lorsqu'une macro M6 est appelée, le portique va en position parking = position où je change l'outil.
Une fois que j'ai changé l'outil, je relance le g-code, un palpage est exécuté puis le parcours d'outil suivant commence.
la M6end correspond à la macro écrite plus haut dans le topic sauf que je n'ai que deux palpages, je n'en ai pas mis trois.
Le fichier d'origine est en pièce jointe.
Dans la notice de mach3 il est écrit:
Si les demandes de changement d'outil sont définies pour ne pas être ignorées (comme défini
dans Configuration>configuration générale), Mach3 appellera une macro M6Start quand la
commande m6 sera rencontrée. Il attendra alors que le bouton départ Cycle soit appuyé, puis
exécutera la macro M6End et continuera le programme. Vous pouvez mettre du code Visual
basic dans les macros pour faire fonctionner votre propre système de changement d'outil et
déplacer les axes à l‟endroit de votre choix pour le changement d'outil.
Cela serait peut-être M6start le problème ? Ce fichier est celui d'origine, je n'y ai jamais touché.
Je vais quand même aller télécharger le M6start utilisé demain matin pour te fournir le fichier.
- Fichiers joints
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Cela serait peut-être M6start le problème ? Ce fichier est celui d'origine, je n'y ai jamais touché.
Oui, possible vu que le problème se pose immédiatement quand le M6 est exécuté.
Dans le M6start d'origine il n'y a que ça
tool = GetSelectedTool()
SetCurrentTool( tool )
je ne vois pas trop ce que ça pourrait faire merder
Lorsqu'une macro M6 est appelée, le portique va en position parking = position où je change l'outil.
Bizarre, il n'y aucune instruction de déplacement dans le M6start, alors comment ça se fait que l'axe aille en position parking .. je doute que ton M6start soit d'origine .. il doit forcément y avoir des instructions de déplacement.
Tu as essayé en pas à pas pour essayer de mieux voir, et entre autre de voir ce qu'affiche ta visu Z lorsque l'axe plonge ?
Tu as essayé de lancer un M6 T.. directement depuis la ligne de commande (sans Gcode) pour voir comment ça réagit.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
Salut David,
Je viens de faire le test en rentrant la commande M6 dans mach3.
C'est bien cette commande qui génère le comportement erratique du Z.
Je te joint M6start et M6end actuellement utilisés.
Je viens de faire le test en rentrant la commande M6 dans mach3.
C'est bien cette commande qui génère le comportement erratique du Z.
Je te joint M6start et M6end actuellement utilisés.
- Fichiers joints
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Bonjour à tous et à DH42 en particulier
voila les macros que j ai fait apres avoir virer les macros chinoises et que je m en serts sur ma machine avec une carte XHC 6axes et un ATC 8 outils horizontales
j espere vous aider et que cela ne pollue votre sujet
bon courage
voila les macros que j ai fait apres avoir virer les macros chinoises et que je m en serts sur ma machine avec une carte XHC 6axes et un ATC 8 outils horizontales
j espere vous aider et que cela ne pollue votre sujet
bon courage
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: Vérification macro palpage
WF a écrit:Bonjour à tous et à DH42 en particulier
voila les macros que j ai fait apres avoir virer les macros chinoises et que je m en serts sur ma machine avec une carte XHC 6axes et un ATC 8 outils horizontales
j espere vous aider et que cela ne pollue votre sujet
bon courage
Bonjour, quel plugin NcEther.dll est installé sur la carte ?
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
j ai trouvé un truc sur ta macro " M6 end" en la survolant rapidement ligne 221
Code "G0 X" & GetVar(1) & " Y" & GetVar(2) ' Move to Previous Position prior to M6 being called
'(*** GetVar(1) ****mach3 m aime pas get Var il faut mettre GetOemDro xxx ou GetUserDro xxx ou xxx est la DRO de la variable 1)
je regarde rapido ta M6 start
@+
Code "G0 X" & GetVar(1) & " Y" & GetVar(2) ' Move to Previous Position prior to M6 being called
'(*** GetVar(1) ****mach3 m aime pas get Var il faut mettre GetOemDro xxx ou GetUserDro xxx ou xxx est la DRO de la variable 1)
je regarde rapido ta M6 start
@+
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: Vérification macro palpage
j ai retrouvé ou DH42 parle des GetVar sur les carte chinoises c est sur Usinage
https://www.usinages.com/threads/probleme-avec-reglage-du-palpeur-doutil.125137/
https://www.usinages.com/threads/probleme-avec-reglage-du-palpeur-doutil.125137/
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: Vérification macro palpage
Je joint les deux plugins de la carte
OLD_NcEther.dll, plugin qui fonctionnait parfaitement avec les macros M6start et M6end du message de 10h27
NEW_NcEther.dll, dernier plugin en date du fabricant, qui engendre les problèmes.
OLD_NcEther.dll, plugin qui fonctionnait parfaitement avec les macros M6start et M6end du message de 10h27
NEW_NcEther.dll, dernier plugin en date du fabricant, qui engendre les problèmes.
- Fichiers joints
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Eveb a écrit:Salut David,
Je viens de faire le test en rentrant la commande M6 dans mach3.
C'est bien cette commande qui génère le comportement erratique du Z.
Je te joint M6start et M6end actuellement utilisés.
Oula, quelle macro compliqué juste pour se déplacer jusqu'à la position de changement d'outil !!
mach3 m aime pas get Var il faut mettre GetOemDro xxx ou GetUserDro xxx ou xxx est la DRO de la variable 1)
Ce n'est pas tout à fait ça, Mach3 fonctionne parfaitement avec les GetVar(), c'est les cartes Chinoises (pas toutes) qui ont un problème, mais pas avec le GetVar lui même, mais avec les GetVar(2002) .. car les var 2000, 2001, et 2002 sont censé contenir la position de l'axe mise à jour après un palpage, sauf que les cartes en question ne mettent pas ces valeurs à jour dans les var 2000 à 2002, d’où la nécessité d'aller lire la valeur dans la DRO plutôt que dans la variable.
Dans la macro par contre c'est le script lui-même qui met une valeur dans les variables 1, 2 et 3 (en allant les lire dans les DRO X, Y et Z) donc ça ne devrait pas poser de problème en principe
SetVar(1, GetOEMDRO(800))
SetVar(2, GetOEMDRO(801))
SetVar(3, GetOEMDRO(802))
...
Bien sur, sans avoir la carte, difficile de savoir ce qu'elle n'aime pas !!
Si tu connais ta position de changement d'outil en coord machine, on pourrait simplifié drastiquement la macro en lui donnant directement la position à atteindre.
Par exemple
tool = GetSelectedTool()
SetCurrentTool( tool )
Sleep(500)
Code("G0 G53 Z-1")
Code("G0 G53 X-350")
Code("G0 G53 Y -520")
les valeurs en orange devront bien sur être remplacées par tes coord de changement d'outil (en coord machine bien sur)
par contre ensuite, attention avec la macro M6end car il n'est pas impossible qu'elle fasse référence à des valeurs stockées par la macro M6start ...
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
dh42 a écrit:
tool = GetSelectedTool()
SetCurrentTool( tool )
Sleep(500)
Code("G0 G53 Z-1")
Code("G0 G53 X-350")
Code("G0 G53 Y -520")
les valeurs en orange devront bien sur être remplacées par tes coord de changement d'outil (en coord machine bien sur)
par contre ensuite, attention avec la macro M6end car il n'est pas impossible qu'elle fasse référence à des valeurs stockées par la macro M6start ...
++
David
Dans la macro M6end fourni, y a t'il des commandes ou des valeurs qui font référence à M6start ?
Les coordonnées pour le changement d'outil manuel amènent le portique centré sur le X, à hauteur d'homme, en bout de table soit X650, Y10 et Z0.
Aussi, si tu devais changer la carte en gardant une liaison RJ45 et mach3 et sans modifier la connectique (moteur, alim, drivers...) quelles cartes choisirais-tu ?
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Dans la macro M6end fourni, y a t'il des commandes ou des valeurs qui font référence à M6start ?
Il ne me semble pas ... du point de vu programmation, il n'y a que 2 moyens de faire passer des infos d'une macro à l'autre, c'est d'utiliser les variables internes de Mach3 (SetVar() et GetVar()) ou de stocker des valeurs dans les DRO.
Pour les DRO il n'y a pas de références à des DRO spécifiques à un screenset (des UserDRO) dans le M6start donc ça devrait marcher (les OEMdro sont dispo dans tous les screens set, même si elle ne sont pas affichées à l'écran)
Aussi, si tu devais changer la carte en gardant une liaison RJ45 et mach3 et sans modifier la connectique (moteur, alim, drivers...) quelles cartes choisirais-tu ?
Une AXBB-E je pense ...
http://shop.cncdrive.com/index.php?productID=965
Il n'est pas impossible qu'il y en ai une d'occas à vendre car Pascal Vallier, de ce forum, en a acheté une pour remplacer sa XHC USB, puis, finalement il ne l'a pas montée et a repris une XHC ET pour se simplifier la vie pour le remplacement vue que le câblage est quasi identique entre les 2 XHC ; il faudrait lui demander s'il envisage de la vendre.
http://www.metabricoleur.com/t20125p125-gros-probleme-avec-le-gcode#467058
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
Bonjour,
Je suis en contact avec XHC mais c'est très très compliqué d'échanger avec eux.
Ils disent que:
NEW_NcEther.dll est le driver des cartes de la forme MKX-ET
OLD_NcEther.dll est le driver des cartes de la forme MKX-ET-T8S, cartes faites pour les changements d'outils.
Si j'utilise OLD-NcEther.dll sur ma MK3-ET, M6 fonctionne très bien mais le palpage comporte une latence, ce qui est très ennuyeux.
Si j'utilise NEW-NcEther.dll sur ma MK3-ET, M6 ne fonctionne pas mais le palplage est excellent.
J'ai demandé à XHC de réunir le meilleur des deux mondes mais compliqué d'obtenir des réponses, la communication est ardue.
Si ma demande n'aboutie pas je peux:
1- revenir à l'ancienne solution, frustrante, car je dois dealer avec la latence lors du palpage, faible mais présente.
2- conserver le dernier plugin mais ne plus utiliser la fonction M6, du coup au lieu de réunir tous les parcours d'outil au sein d'un g-code, je dois générer un g-code par parcours d'outils, ce qui va vite être lourd lorsque j'ai 10/15 panneaux à usiner avec chacun 5 à 8 parcours d'outils différents.
Je suis en contact avec XHC mais c'est très très compliqué d'échanger avec eux.
Ils disent que:
NEW_NcEther.dll est le driver des cartes de la forme MKX-ET
OLD_NcEther.dll est le driver des cartes de la forme MKX-ET-T8S, cartes faites pour les changements d'outils.
Si j'utilise OLD-NcEther.dll sur ma MK3-ET, M6 fonctionne très bien mais le palpage comporte une latence, ce qui est très ennuyeux.
Si j'utilise NEW-NcEther.dll sur ma MK3-ET, M6 ne fonctionne pas mais le palplage est excellent.
J'ai demandé à XHC de réunir le meilleur des deux mondes mais compliqué d'obtenir des réponses, la communication est ardue.
Si ma demande n'aboutie pas je peux:
1- revenir à l'ancienne solution, frustrante, car je dois dealer avec la latence lors du palpage, faible mais présente.
2- conserver le dernier plugin mais ne plus utiliser la fonction M6, du coup au lieu de réunir tous les parcours d'outil au sein d'un g-code, je dois générer un g-code par parcours d'outils, ce qui va vite être lourd lorsque j'ai 10/15 panneaux à usiner avec chacun 5 à 8 parcours d'outils différents.
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Re: Vérification macro palpage
Salut,
Ah OK, c'est zarbi cette histoire de carte spécifique pour un changeur auto .. sur les cartes courantes la gestion d'un changeur auto est 100% faite par les macros de changement d'outil de Mach3 .. .. ça fait un peu bidouillage leur truc
Pour le palpage, à part peut être l'AKZ250, pas très courante et aussi chère qu'une carte Européenne, toutes les cartes d'axe Chinoises semble problématiques sur ce point et ne pas gérer le G31 correctement, notamment le fait qu'elles ne gèrent pas la sortie de données (pour utiliser le palpage pour faire du scan 3D), qu'elles ne font pas la mise à jour des variables 2000 à 2005 (d’où la latence qui ne peut pas être corrigée et l'obligation de prendre la valeur Z dans la visu au lieu de la variable 2002 qui correspond au Z et qui donne la position précise du point de contact) et au moins sur certaines, qu'elles ne gèrent pas la sécurité basse (normalement le palpage s'arrête si aucun contact ne s'est produit lorsque l'on arrive à la distance de palpage donnée) ... je suppose que le développement soft et la chasse aux bug est un gros budget ... pas compatible avec les tarifs bas de leurs cartes ... mais quand même, depuis le temps qu'elles existent, ils auraient pu régler tout ces problèmes.
C'est sur que ça n'a rien de pratique et que c'est une grosse source d'erreur et de perte de temps ! c'est ce qui m'avait fait fuir LinuxCNc qui pose (posait ?) le même problème, ça obligeait à travailler comme sur les machine pro, c.a.d. sans palpage des outils mais avec une table de longueurs d'outils .. ce qui n'est pas faisable avec une broche avec mandrin à pince intégré vu qu'il est très difficile de monter un outil avec une longueur sortie très précise, il faut un montage par cône pour que ce soit exploitable ... et ce n'est plus du tout le même tarif de broche !! (sans parler du cout d'un set de portes outils en SK)
++
David
Ils disent que:
NEW_NcEther.dll est le driver des cartes de la forme MKX-ET
OLD_NcEther.dll est le driver des cartes de la forme MKX-ET-T8S, cartes faites pour les changements d'outils.
Ah OK, c'est zarbi cette histoire de carte spécifique pour un changeur auto .. sur les cartes courantes la gestion d'un changeur auto est 100% faite par les macros de changement d'outil de Mach3 .. .. ça fait un peu bidouillage leur truc
Pour le palpage, à part peut être l'AKZ250, pas très courante et aussi chère qu'une carte Européenne, toutes les cartes d'axe Chinoises semble problématiques sur ce point et ne pas gérer le G31 correctement, notamment le fait qu'elles ne gèrent pas la sortie de données (pour utiliser le palpage pour faire du scan 3D), qu'elles ne font pas la mise à jour des variables 2000 à 2005 (d’où la latence qui ne peut pas être corrigée et l'obligation de prendre la valeur Z dans la visu au lieu de la variable 2002 qui correspond au Z et qui donne la position précise du point de contact) et au moins sur certaines, qu'elles ne gèrent pas la sécurité basse (normalement le palpage s'arrête si aucun contact ne s'est produit lorsque l'on arrive à la distance de palpage donnée) ... je suppose que le développement soft et la chasse aux bug est un gros budget ... pas compatible avec les tarifs bas de leurs cartes ... mais quand même, depuis le temps qu'elles existent, ils auraient pu régler tout ces problèmes.
2- conserver le dernier plugin mais ne plus utiliser la fonction M6, du coup au lieu de réunir tous les parcours d'outil au sein d'un g-code, je dois générer un g-code par parcours d'outils, ce qui va vite être lourd lorsque j'ai 10/15 panneaux à usiner avec chacun 5 à 8 parcours d'outils différents.
C'est sur que ça n'a rien de pratique et que c'est une grosse source d'erreur et de perte de temps ! c'est ce qui m'avait fait fuir LinuxCNc qui pose (posait ?) le même problème, ça obligeait à travailler comme sur les machine pro, c.a.d. sans palpage des outils mais avec une table de longueurs d'outils .. ce qui n'est pas faisable avec une broche avec mandrin à pince intégré vu qu'il est très difficile de monter un outil avec une longueur sortie très précise, il faut un montage par cône pour que ce soit exploitable ... et ce n'est plus du tout le même tarif de broche !! (sans parler du cout d'un set de portes outils en SK)
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Vérification macro palpage
dh42 a écrit:
Ah OK, c'est zarbi cette histoire de carte spécifique pour un changeur auto .. sur les cartes courantes la gestion d'un changeur auto est 100% faite par les macros de changement d'outil de Mach3 .. .. ça fait un peu bidouillage leur truc
Hello,
et je te parle pas des difficultés de traduction (ils ne parlent pas anglais), le décalage horaire.
Je n'arrive pas à savoir si ils y mettent de la mauvaise volonté, qu'ils n'en ont rien à f.... pour être clair ou si ils ne comprennent pas ma demande, un vrai dialogue de sourds.
À côté de cela, je suis en relation avec un autre fabricant de cnc, chinois aussi, mais d'une disponibilité déconcertante, précis dans ses réponses, un réel bonheur.
Étant dans le groupe de discussion, il est d'ailleurs circonspect sur les réponses apportées et pas tendre avec cette compagnie.
C'est d'ailleurs lui qui m'a mis en relation avec XHC car ils ne prenaient pas la peine de répondre à mes sollicitations.... bref, je referme la parenthèse.
Ils bloquent sur le fait que ma carte ne supporte pas le changement d'outils et ne veulent pas entendre que, pourtant, OLD_NcEther.dll fonctionne très bien avec le changement d'outil manuel et que seule la petite latence de palpage fait défaut.
Je leur demande de modifier le driver pour ajouter la dernière feature qui corrige le palpage dans NEW_NcEther.dll à OLD_NcEther.dll mais plutôt que d'accéder à ma requête ils feignent l'incompréhension, que cela n'est pas possible etc etc..
Eveb- posteur Régulier
- Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux
Page 1 sur 2 • 1, 2
Sujets similaires
» MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE
» MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE
» Macro de palpage et changement d'outils quand on pilote Mach3 par usb
» Palpage XYZ
» Palpage Y & Z
» MACRO PALPAGE EST CHANGEUR OUTILS AUTOMATIQUE SUITE
» Macro de palpage et changement d'outils quand on pilote Mach3 par usb
» Palpage XYZ
» Palpage Y & Z
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum