Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

Vérification macro palpage

3 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

Vérification macro palpage Empty Vérification macro palpage

Message  Eveb Lun 13 Nov 2023 - 19:31

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



Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Lun 13 Nov 2023 - 20:10

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 Wink

Quel est l’intérêt d'un triple palpage ? scratch ... 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.
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Lun 13 Nov 2023 - 21:17

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
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Lun 13 Nov 2023 - 21:35

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

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 Wink

++
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Lun 13 Nov 2023 - 22:27

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 Very Happy
Du bon métal bien lourd et épais.
Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Lun 13 Nov 2023 - 22:37

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 .... Embarassed

++
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Mar 5 Mar 2024 - 11:22

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

Fichiers joints
Vérification macro palpage Attachment
Test Plugin Independant_1-Percage 5mm - P14mm.txt 1er g-code sur la videoVous n'avez pas la permission de télécharger les fichiers joints.(1 Ko) Téléchargé 5 fois
Vérification macro palpage Attachment
Test Plugin.txt 2ème g-code sur la videoVous n'avez pas la permission de télécharger les fichiers joints.(2 Ko) Téléchargé 4 fois
Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  WF Mar 5 Mar 2024 - 15:40

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)
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
bon courage
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Mar 5 Mar 2024 - 18:36

Salut,

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.
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Mar 5 Mar 2024 - 22:08

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 .... scratch
Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Mar 5 Mar 2024 - 22:30

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

_________________
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Mar 5 Mar 2024 - 22:49

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.
Fichiers joints
Vérification macro palpage Attachment
M6End.m1s.txt Vous n'avez pas la permission de télécharger les fichiers joints.(8 Ko) Téléchargé 4 fois
Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Mar 5 Mar 2024 - 23:06

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  scratch

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  scratch .. 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.
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Mer 6 Mar 2024 - 11:27

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.
Fichiers joints
Vérification macro palpage Attachment
M6Start.m1s.txt Vous n'avez pas la permission de télécharger les fichiers joints.(3 Ko) Téléchargé 9 fois
Vérification macro palpage Attachment
M6End.m1s.txt Vous n'avez pas la permission de télécharger les fichiers joints.(8 Ko) Téléchargé 7 fois
Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  WF Mer 6 Mar 2024 - 11:52

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
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Mer 6 Mar 2024 - 12:01

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
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  WF Mer 6 Mar 2024 - 12:16

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
@+
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  WF Mer 6 Mar 2024 - 14:48

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/
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Mer 6 Mar 2024 - 15:38

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.
Fichiers joints
Vérification macro palpage Attachment
Plugin.zip Vous n'avez pas la permission de télécharger les fichiers joints.(670 Ko) Téléchargé 1 fois
Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Mer 6 Mar 2024 - 20:15

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.
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Mer 6 Mar 2024 - 21:59

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
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Mer 6 Mar 2024 - 22:25

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.
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Jeu 7 Mar 2024 - 10:46

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.
Eveb
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  dh42 Jeu 7 Mar 2024 - 21:57

Salut,

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 scratch .. 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 scratch

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.
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

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Eveb Ven 8 Mar 2024 - 11:55

dh42 a écrit:
Ah OK, c'est zarbi cette histoire de carte spécifique pour un changeur auto scratch .. 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 scratch

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. cheers
À 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
Eveb
posteur Régulier
posteur Régulier

Messages : 143
Points : 167
Date d'inscription : 29/04/2014
Age : 42
Localisation : Bordeaux

Revenir en haut Aller en bas

Vérification macro palpage Empty Re: Vérification macro palpage

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

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