Softlimit warning avec mach3

Page 1 sur 2 1, 2  Suivant

Aller en bas

Softlimit warning avec mach3 Empty Softlimit warning avec mach3

Message  jpcad64 Mer 17 Mar 2021 - 19:38

Bonjour à tous,
Depuis quelques jours je fais des tests sur ma nouvelle cnc. J'essai d'optimiser les changements d'outils avec une procédure semi auto: Je référence la cnc, je vais faire mon zéro pièce avec des scripts intéressants trouvés sur "https://vers.by/en/blog/useful-articles/probe_wizard" (c'est un russe qui a développé une interface qui donne envie...) Ensuite je charge mon gcode avec 2 outils. Au premier outil (T1) il va automatiquement palper sa hauteur sur mon palpeur fixe, puis démarre le travail. Dès qu'il trouve le M6 (T2) il va se positionner sur le palpeur et demande le changement d'outil, il palpe et redémarre le travail suivant. Bon, ça c'est la théorie, car en fait dés que j'envoie le gcode il m'affiche: softlimits warning, continue?
Si je dis oui, il va s'exécuter puis lors du M6 suivant,  il va chercher une coordonnée en Z, hors limites! => ARU ! . Mon Z varie de -16.4 à +8mm! donc je me demande?
Mes limites en Z sont; 0 en haut et -80mm en limite basse, mon fin de course est en haut et bien configuré.
Est-ce un problème lié à un G90 ou G91? Merci de votre aide, j'espère avoir été le plus clair possible...

Softlimit warning avec mach3 Pxl_2014
Softlimit warning avec mach3 Pxl_2012
Softlimit warning avec mach3 Pxl_2013
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Jeu 18 Mar 2021 - 2:13

Salut

Si je dis oui, il va s'exécuter puis lors du M6 suivant,  il va chercher une coordonnée en Z, hors limites! => ARU ! . Mon Z varie de -16.4 à +8mm! donc je me demande?

Il faudrait surtout regarder a quelles coord machine le Z essaye de se rendre, car les coord pièce ne disent rien, c'est totalement dépendant de la position du 0 pièce par rapport au 0 machine (donc de la longueur de l'outil et de la position du 0 pièce dans l'espace. Il faut donc monitorer tes coord machine pendant le fonctionnement ; pour ma part, j'ai ramené de petits afficheurs de coord machine sur l'écran principal pour pouvoir les visualiser facilement en même temps que les coord pièce.

Si je dis oui, il va s'exécuter puis lors du M6 suivant,  il va chercher une coordonnée en Z, hors limites! => ARU ! . Mon Z varie de -16.4 à +8mm! donc je me demande?

Pas sûr de comprendre, il y a réellement un problème de coordonnées ? (autrement dit il va taper en buté si tu n'arrête pas) ou c'est une erreur "fantôme", c.a.d. que si tu désactive les soft limits ça passe sans problème ? l'AU c'est toi qui le déclenche ou le soft ? Si c'est le soft, une fois qu'il s'est arrêté, regarde quelle est la valeur Z en coord machine

Désactive les "soft limits" et tente de faire fonctionner ton programme sans. Si ça tape en buté Z, c'est qu'il y a vraiment un problème de positionnement, si ça passe c'est un défaut d'interprétation par le soft ... difficile d'en dire plus.

Si ça passe sans problème avec les soft limits désactivées (donc erreur fantôme) il est possible que ça vienne de l'ESS, j'avais eu ce genre de bizarrerie lorsque je lançais un même programme une 2ieme fois sans avoir référencé mon Z (pour de la série) ; ça ne se produisait que si mon programme avait des changements d'outil et si il n'y a avait pas de RàZ du 0 Z au lancement du programme (autrement dit, mon programme commençait et finissait avec le même outil, mais avec des changements intermédiaires, Ø8, Ø2, Ø3.2hémi, Ø8 ) .. ça m'obligeait, soit à référencer le Z avant de relancer le programme, soit de désactiver les soft limits .. je n'ai jamais approfondis la recherche du problème, mais ça ne se produisait qu'avec l'ESS et pas en port // direct.

Tu peux mettre une capture d'écran du panneau home/limits ?

Si il y a vraiment un problème de coordonnée, il faudrait aussi ton script M6start.m1s, car tu me dis que ça palpe en auto donc ça doit se passer dans ce script.
Si tu palpe en auto, je suppose que tu travail avec un 0 pièce fixe ?

Est-ce un problème lié à un G90 ou G91?

Ça pourrait, un oublie dans un script par exemple ; supposons que tu te mette en G91 (relatif) pour faire un mouvement d'une longueur donnée (par exemple remonter le Z de xx mm après avoir détecté le contact) et que tu oublie de repasser en G90 une fois que c'est fait, les autres coordonnées, données en absolu seront interprétées en relatif et ça peut aller n'importe ou ! ou autre problème, pour dégager ta fraise du palpeur tu demande une remontée d'une valeur "fixe" (en relatif par exemple) et suivant la longueur de la fraise, le Z ne peut pas remonter sans taper en buté pour se dégager du palpeur.

Il faut donc aussi regarder dans le script de palpage.

Avais tu ce genre de problème sans les scripts que tu a ajouté ? et en palpant avec le script de palpage "standard" de Mach3Fr (palper sur place, zone de gauche de l'écran palper)

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Jeu 18 Mar 2021 - 20:15

Salut,

pour ma part, j'ai ramené de petits afficheurs de coord machine sur l'écran principal pour pouvoir les visualiser facilement en même temps que les coord pièce. a écrit:

Softlimit warning avec mach3 Dh4211

C'est toujours pareil, il va taper sur le Z en haut...

Voici une video qui décrit le comportement de la machine:



Ici il fait ça avec linuxcnc mais il a fait des scripts pour Mach3.
De mon coté, le palpage et les zéros se font bien, il affecte une correction de longueur a l'outil T1, il fait la première opération, puis pour le T2, il demarre la broche et va chercher le Z en haut (hors limites!) alors qu'il devrait aller automatiquement palper T2 après le changement d'outil.

Softlimit warning avec mach3 Limits11

Je joins le  gcode très simple pour mes tests...

Pour ce qui est du screenFR, oui il fonctionne normalement à condition de lui remettre les M6start et M6end originaux.

++ José
Fichiers joints
Softlimit warning avec mach3 Attachment
test-palpage.txt Vous n'avez pas la permission de télécharger les fichiers joints.(3 Ko) Téléchargé 5 fois
Softlimit warning avec mach3 Attachment
M6End.zip Vous n'avez pas la permission de télécharger les fichiers joints.(3 Ko) Téléchargé 3 fois
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Ven 19 Mar 2021 - 2:13

Salut,

Sur la 1ière image, tu est à -15.81 en coord pièce mais à plus de 0 en coord machine donc en butée haute, c'est donc normal que ça ne passe pas, ce n'est pas une détection fantôme, il y a réellement un problème. Je pense que tu n'a peut être tout simplement pas assez de course en z pour le dégagement ...

G43 Z8 H2
quelle est la valeur de H2 dans le cas de cette image, car il doit monter à Z = 8 soit 15.81+8 = 23.81 mm par rapport à la position actuelle si le décalage H2 = 0, ce qui n'est pas possible vu que tu est déjà au Z maxi ; si le H2 est plus grand que -23.81, ça ne passe pas.

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Ven 19 Mar 2021 - 3:56

Salut, c'est dans le script qu'est calculé H2?

Cest là? : (partie de M6end)

Function SafeMoveZ(Z1, F1) As Boolean 'return 1 (error) if probe tripped
   Dim Zstart
Dim Ftmp
Dim AbsIncF
SafeMoveZ=True
Zstart = GetDRO(2)
Ftmp = FeedRate() 'FeedRate()
AbsIncF=GetOEMLED(49)
Code "G91"
Code "F" & F1
Sleep(125)
Call WaitProbeReady()
Code "G31 Z" & Z1
While IsMoving()
Sleep(100)
Wend
ZHit = GetVar(2002)
Call SetLED49(AbsIncF)
If Abs(ZHit - Zstart - Z1) > 0.01 Then
SafeMoveZ=False
PushMSG("Error! Probe tripped during Z movement")
Code "M05"
Sleep(125)
Code "S" & CurrentSpindle
Sleep(125)
SetOEMDRO(818,Ftmp)
Sleep(125)
End If
SetOEMDRO(818,Ftmp)
Sleep(125)
End Function

Il faut vraiment que je me penche sur le VBS... je ne comprends pas tout...: "If Abs(ZHit - Zstart - Z1) > 0.01 Then
SafeMoveZ=False"

Mon capteur fait 33.2mm de hauteur et ma pièce est à environ 40mm de la table.

Merci de ton expertise David, en effet je crains que -100 de course soit peu.

++ José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Ven 19 Mar 2021 - 5:25

Salut, c'est dans le script qu'est calculé H2?

Apparemment non ...

H2 c'est la différence de longueur entre l'outil de référence (la longueur de son palpeur 3D dans ce cas je suppose) et la longueur de l'outil et c'est stocké dans la table d'outils.

Softlimit warning avec mach3 Toolta10

ici H2 c'est donc la valeur dans la colonne H de l'outil n°2 qui correspond à la différence de longueur entre l'outil 0 de référence et l'outil 2

ce que je ne comprends pas vraiment c'est pourquoi il utilise une table de longueur d'outils vu le principe de palpage utilisé.

normalement la table de longueur d'outil sert justement à ne pas avoir à palper les outils à chaque changement d'outil ; tu palpe une seule fois au départ avec un outil n°0 de longueur connu (sur sa vidéo l'outil 0 c'est le palpeur 3D je suppose) et c'est tout. Au changement d'outil le G43 Hxxx cherche la valeur de H dans la table d'outil, et cette valeur de H c'est la différence de longueur entre l'outil 0 et le nouvel outil. Ensuite il fait la correction de longueur sans qu'il y ai à palper l'outil. (bien sûr, la table doit être remplie avec les longueurs d'outil, ou plus exactement la différence entre la longueur de l'outil 0 et de l'outil considéré)

Si on palpe à chaque changement d'outil, il ne sert à rien de renseigner la table de longueur d'outil ni d'utiliser un G43 H ... donc mystère, je ne comprends pas vraiment la démarche scratch

If Abs(ZHit - Zstart - Z1) > 0.01 Then SafeMoveZ=False

ZHit - Zstart - Z1 retourne une valeur numérique, .... de quoi exactement, je ne sais pas  ...  scratch
Abs() retourne la valeur absolue de la valeur numérique entre ()

On teste si cette valeur est > à 0.01 et si c'est le cas on met la variable booléenne de retour de SafeMoveZ à faux (c'est un peu particulier comme syntaxe, et différent du VB Microsoft)

la fonction SafeMoveZ() est appelée ici

'Safe Go to start position under toolsetter
If Not SafeMoveZ(ZAbsSafePlane-GetOEMDRO(85),CurrentFeed) Then ........


la fonction elle même est déclarée comme ayant une valeur de retour de type booléen (vrai/faux)

Function SafeMoveZ(Z1, F1) As Boolean

donc Z1 et F1 dans la fonction correspondent respectivement à ZAbsSafePlane-GetOEMDRO(85) et a CurrentFeed de l'appel.

bon CurrentFeed c'est la V d'avance en cours

en début de code, on met la valeur de l'user DRO 1837 dans la variable ZAbsSafePlane

ZAbsSafePlane = GetUserDRO(1837)

donc Z1 c'est la valeur de la DRO utilisateur 1837 - la valeur de l'OEMDRO 85 ...

l'OEMDRO 85 contient les coord machine du Z, la 1837, je ne sais pas, elle est spécifique au screenset ... il faudrait voir ce que c'est ...

ça peut très bien poser problème non pas à cause d'un bug, mais peut être de valeurs rentrées dans les DRO du wizard ou de Mach3 pour ce qui est des valeurs de rétraction, de position du plan de sécu ... que sais-je ... c'est difficilement compréhensible sans pouvoir faire marcher le truc en vrai ...

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Ven 19 Mar 2021 - 21:43

Salut, suite de mes tests....

J'ai modifié les valeurs de Zsafe, remonté aussi mon spindle de 20mm.
C'est toujours pareil, les limites du programme en Z sont Zmini =-16.4mm et Zmax=+8mm; j'ai l'impression qu'il interprète cela en coordonnées machine en G90 et pas pas G91...
Pour les DRO:

Softlimit warning avec mach3 Vers_b10

Softlimit warning avec mach3 Inkedo10

Softlimit warning avec mach3 Oem8510

Softlimit warning avec mach3 Oem8511

Je continu de chercher mais je sèche...

++ José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Ven 19 Mar 2021 - 21:57

Salut,

J'imagine qu'il n'y a pas de doc .. ?

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Ven 19 Mar 2021 - 22:02

salut, la seule doc que j'ai est celle du site: https://vers.by/en/blog/useful-articles/probe_wizard?controllerUri=single

J'ai du mal à abandonner, alors je me creuse l'esprit... scratch scratch scratch
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Ven 19 Mar 2021 - 22:21

tu a deux palpeurs ? (enfin je veux dire un palpeur fixe + un palpeur 3D dans la broche)

sur ton image, comment se fait il que TS height et Workpiece height soit à 0 ; logiquement ce n'est pas possible ...

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Ven 19 Mar 2021 - 22:44

Oui, c'est normal, c'est juste après le référencement, avant de lancer la procédure... Après ça les champs relatifs à TSheight et Workpiece Heigth sont bien remplis avec des valeurs correctes.
J'ai effectivement deux palpeurs connectés en série. je vais faire une vidéo de ma procédure...

++José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Ven 19 Mar 2021 - 23:09

c'est bizarre que sur son image il ait Z safe à +10 scratch ça voudrait dire que si c'est en coord machine son Z max n'est pas à 0 ...

par contre si je lis la doc

The steps are as follows: the probe will move to the search point above the toolsetter at the coordinates specified in "TS Pos Abs", at the height of "Safe", the search will start down from the height of "Start", with a maximum distance of no more than "Dist".

donc il se positionne à Zsafe en hauteur avant d'aller se placer sur le palpeur, soit -10 pour toi, puis il est censé descendre (en rapide je suppose) jusqu'à Z start, position du début de palpage, donc déjà il y a un bug dans ta config car tu à -5, donc de -10 à -5, il monte au lieu de descendre ... et enfin il descend palper sur une longueur de Dist, 70mm dans ton cas.

dans la fonction SafeMoveZ(Z1, F1)

Code "G31 Z" & Z1 produit le palpage ; Z1 = Zsafe - dro85 (Z machine)

supposons que tu sois à -30 en Z machine au moment ou tu lance la palpage, et avec tes -10 dans Zsafe, on a donc G31 Z-20 ... donc il va aller à la coordonnée Z = -20 en coord pièce et s'arrêtera si il n'a pas trouvé le palpeur en cours de route ...

ce n'est pas très clair cette histoire scratch

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Ven 19 Mar 2021 - 23:42

Oui, en fait l'image n'est pas contractuelle Smile Smile depuis j'ai inversé. Mon palpeur se positionne a Zsafe -5 puis descent à Zstart -10 (en coord. ABS) il se déplace ensuite à TS Pos Abs X=+25 Y=-525mm; puis descend palper. Ensuite je le deplace (avec le jog) au dessus de ma pièce pour faire le TS heigth et le palpage en coin du x et Y; X0 et Y0
Après cela je lance le gcode puis il me demande le changement d'outil T1...




++ José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Getvar(2002)

Message  jpcad64 Mar 23 Mar 2021 - 17:47

Salut, après des heures de tests, je suis arrivé à une amélioration mais pas encore concluante.
J'ai essayé de décrypter les M6end et M6start; j'ai vu des lignes qui avaient un GetVar(2002),

Dans M6end; extrait1:

Function ProbeZ(Dir,DMax,Latch,FRate1,FRate2)
Dim Res
   Dim Zstart
Dim Ftmp
Dim AbsIncF
ProbeZ=999999
Zstart = GetDRO(2)
Ftmp = FeedRate() 'FeedRate()
AbsIncF=GetOEMLED(49)
'Fast Probe Z
Code "G91"
Code "F" & FRate1
Sleep(125)
Call WaitProbeReady()
Code "G31 Z" & (Dir*DMax)
While IsMoving()
Wend
Res = GetVar(2002)
' PushMSG("Res=" & Res &", Zstart=" & Zstart & ", DMax=" & DMax & ", FRate1=" & FRate1)
If Abs(Res - Zstart - Dir*DMax) < 0.01 Then
PushMSG("Error: G31 Z search finished without making contact")
PushMSG("Manually return to the starting position and repeat the search")
Call SetLED49(AbsIncF)
Code "M05"
Sleep(125)
Code "S" & CurrentSpindle
Sleep(125)
SetOEMDRO(818,Ftmp)
Sleep(125)
Exit Function
End If

extrait2:

Res = GetVar(2002)
If Abs(Res - Zstart - Dir*Latch*2) < 0.01 Then
PushMSG("Error: G31 Z latch finished without making contact")
PushMSG("Manually return to the starting position and repeat the search")
Call SetLED49(AbsIncF)
Code "M05"
Sleep(125)
Code "S" & CurrentSpindle
Sleep(125)
SetOEMDRO(818,Ftmp)
Sleep(125)
Exit Function
End If

extrait:3

ZHit = GetVar(2002)
Call SetLED49(AbsIncF)
If Abs(ZHit - Zstart - Z1) > 0.01 Then
SafeMoveZ=False
PushMSG("Error! Probe tripped during Z movement")
Code "M05"
Sleep(125)
Code "S" & CurrentSpindle
Sleep(125)
SetOEMDRO(818,Ftmp)
Sleep(125)
End If

Dans mon cas c'est dans l'extrait3 que je retrouve mes erreurs au deuxième outil: message "Error! Probe tripped during Z movement" et ne peut pas lire le code S.
Mon action a été de remplacer le Getvar(2002) par GetOEMDRO(802). Donc il est passé sur mon deuxième outil, il a palpé sa longueur,  puis est allé faire l'usinage mais il n'a pas fait la correction d'outil ?! (j'ai changé cette variable dans les deux macros, est-ce que c'est bien essayé?  Idea  What a Face ).

Merci de vos éclairages... scratch scratch scratch

++ José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Mer 24 Mar 2021 - 4:18

Salut,

La variable 2002 (dont la valeur est obtenue via un GetVar() ) contient la position du Z au moment du contact lors du palpage, elle est un poil différente de la valeur dans DRO(802), car elle est mise à jour au moment exact du contact, alors que celle dans DRO(802) est mise à jour quand l'axe s'arrête après contact, la différence de coord entre les deux n'est autre que la distance qu'il faut à l'axe pour s’arrêter (distance de freinage)

var 2000 = position du X
var 2001 = position du Y

ces variables ne sont mises à jour que si il y a contact lors du palpage.

d'après le code, l'erreur "Probe tripped during Z movement" (La sonde s'est déclenchée pendant le mouvement Z) se produit si:

(ZHit - Zstart - Z1) > 0.01

par sonde, je ne suis pas sûr qu'il parle du palpeur, mais plutôt de la limite Z maxi ; en d'autre termes, le fin de course logiciel du Z haut ... ça doit être pour ça qu'il fait des calculs, car comme ce n'est pas un contact physique il n'a pas d'autre moyen de savoir si ça passe ou non qu'en faisant des calculs pour savoir si on dépasse le 0 machine en Z ; ici il n'autorise pas un déplacement au Z machine > à +0.01 (donc 1/100 maxi au dessus du 0 machine) ... enfin, c'est ce que je crois comprendre ..

au vu du nom de la fonction (SafeMoveZ) et du fait qu'elle retourne vrai ou faux, on peut en déduire que cette fonction sert à savoir si on peut faire un déplacement en Z de sécurité, autrement dit s'il reste assez de course en Z pour faire le mouvement prévu sans taper en buté.

J'ignore si ça peut avoir une influence, mais jette un œil sur tes réglages de config/safe Z setup et assure toi qu'il sont bien réglé pour les coord machine .. et met la valeur du safe Z à 0 ... il n'est pas impossible que quelque part le code tienne compte de ces réglages ...

Softlimit warning avec mach3 Safe_z10

Pour essayer de savoir ce que valent ZHit, Zstart et Z1, ajoute cette ligne juste après le PushMSG("Error! Probe tripped during Z movement") de la section 3

Message("ZHit: " & ZHit & " Zstart: " & Zstart & " Z1: " & Z1)

ça devrait t'écrire les valeurs de ces 3 variables dans la ligne de message .. ça devrait te donner une piste pour savoir ce qui se passe ... et évaluer le résultat de abs(ZHit - Zstart - Z1)


++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Mer 24 Mar 2021 - 7:20

par contre je ne comprends pas trop la vidéo

Softlimit warning avec mach3 Sans_125

L'erreur semble se produire sur la ligne X14 I-4. J0 .. donc un arc sur le plan XY .. il n'y a pas de mouvement en Z dans le code scratch mais une alerte soft limits exceeded (sans info sur l'axe qui l'a produite) ... la remonté en Z pourrait provenir du réglage du SafeZ ; ce ne serait pas le code qui fait remonter le Z mais le fait que ça se mette en STOP et que "goto safeZ when stop button is hit" est coché ... et peut être que le soft limit est sur X et non sur Z ?

autre bizarrerie si on se fie aux lignes précédentes, ton Z devait être à -1.9 en cours d'usinage en coord pièce ... sauf qu'après remontée, sur la DRO, ton Z est à -15.81 scratch donc comme si tu étais descendu de 13.91mm ... alors que ta broche est remontée. La valeur devrait être > à -1.9, pas inférieure scratch ... sauf si le fait que ça se mette en sécu te fait perdre tes décalages de longueur outil.

les positions machine en XY sont elles cohérentes avec tes réglages de "soft limits" pour ces 2 axes ?

Softlimit warning avec mach3 Sans_126

edit: je viens de voir ta capture des réglages soft limits ... pas d'incohérences apparemment ...

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Mer 24 Mar 2021 - 7:47

re

Il y a un truc bizarre dans ton Gcode (celui que tu a publié plus haut)

(POCHE 2D2)
M5
M9
M1
T2 M6
S12000 M3
G54
...

le M1 n'a rien à faire la, il génère un STOP, ce qui pourrait mettre la broche en Z de sécu (réglé dans config/safe Z) juste avant le M6 ; ça doit foutre la pagaille, le script doit y perdre toute ses références .... il faut que tu regarde le post pro du soft de FAO qui à produit ce Gcode pour virer la sortie du M1 dans le Gcode ... je ne vois pas du tout à quoi il peut servir sinon à semer la m***

de plus quand on fait un stop, que ce soit via le bouton ou via un Gcode, on ne peut pas reprendre le programme comme si de rien n'était si les axes ont bougés (automatiquement à cause du Safe Z ou manuellement) ... si tu veux faire une pause avant le M6 pour une raison ou une autre, c'est M0 ... mais en principe ce n'est pas nécessaire, le M6 produira la pause en question lui-même pour peu que ton changement d'outil soit réglé sur "Stop spindle, wait for cycle start"

++
David

edit: un M1 ne semble pas déclencher la remontée en Z de sécu en pilotage via port // ; seul un appui sur le bouton STOP le fait .... mais rien ne dit que le comportement soit le même avec l'ESS, car souvent c'est la carte d'axe qui gère les M1 et M0

mais dans tous les cas, le M1 n'a pas sa place dans ton Gcode

edit2: le fournisseur de ce screenset/macro précise t'il qu'il faut utiliser les G43 Hxxx dans le Gcode ?
si virer le M1 ne change rien, tu pourrais essayer de voir ce qui se passe en supprimant les G43 H .. de ton Gcode

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Mer 24 Mar 2021 - 20:26

Bonsoir,

D'autres tests:

J'ai enlevé le M1, ça ne change rien,

J'ai mis les lignes de MSG dans le script et il m'affiche les valeurs:

Wed - 19:14:37 ---Program Startup
Wed - 19:14:41 ---ReConfiguration Estop.
Wed - 19:14:41 ---Application Watchdog Triggered
Wed - 19:15:30 ---EStop Button Pressed.
Wed - 19:16:48 ---Z- = 25.675000003566                 "mesure TS Heigth"
Wed - 19:17:43 ---Z- = 22.826679690966                  "mesure Workpiece Heigth"
Wed - 19:18:20 ---X+ = -66.416587880963               "palpage X0"
Wed - 19:18:46 ---Y+ = -7.7840898447124               "palpage Y0"
Wed - 19:19:02 ---Y+ = -7.7840898447124
Wed - 19:19:12 ---T10  D=6. CR=0. - ZMIN=-1. - FRAISE 2T                "lancement du gcode"
Wed - 19:19:12 ---premier_trou
Wed - 19:19:12 ---deuxieme_trou
Wed - 19:19:19 ---T10  D=6. CR=0. - ZMIN=-1. - FRAISE 2T
Wed - 19:19:19 ---premier_trou
Wed - 19:19:19 ---Tool Change...Press CycleStart to continue.               "changement d'outil et palpage T10"
Wed - 19:19:19 ---Press CycleStart after Tool Change                           "usinage 1er trou"
Wed - 19:29:53 ---deuxieme_trou
Wed - 19:30:08 ---Tool Change...Press CycleStart to continue.               "changement deuxième outil, ici toujours T10, je modifie juste sa hauteur ds le spindle"
Wed - 19:30:09 ---Press CycleStart after Tool Change                           "la machine redemarre sans palper et va usiner à une mauvaise hauteur, environ 9.83 mm au dessus du zéro"
Wed - 19:32:53 ---ZHit: 50.464335941937 Zstart: 60.478203127126 Z1: 0.00058593806252105     "ici si l'on fait ZHit-Zstart-Z1= -9.83; il y a un lien mais lequel?"
Wed - 19:32:53 ---No characters found in reading real value , Block = S
Wed - 19:32:53 ---M6End Script is interrupted


ce ne serait pas le code qui fait remonter le Z mais le fait que ça se mette en STOP et que "goto safeZ when stop button is hit" est coché a écrit:
non pas coché, par contre j'ai essayé avec :"SafeZ DRO is in Work coordinates" et là, ce n'est toujours pas concluant...

J'ai du mal à comprendre ce qui se passe, n'y aurait-il pas des paramètres a voir dans le plugin de l'ESS?

Merci beaucoup David, pour tes recherches, réflexions et investissement....Je pourrai faire une video complète du screen pendant la procédure? serai-ce utile pour toi?

++ José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Jeu 25 Mar 2021 - 0:47

Salut,

J'ai du mal à comprendre ce qui se passe, n'y aurait-il pas des paramètres a voir dans le plugin de l'ESS?

Je n'ai rien vu qui semble en rapport avec le palpage ou la gestion de longueur d'outil ...

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty suite des tests

Message  jpcad64 Jeu 25 Mar 2021 - 22:00

Salut,

Bon j'ai fait encore et encore des test en supprimant le G43 H... pas d'amélioration, il ne prends toujours pas le deuxième outil à mesurer car le script M6end s'arrete juste avant. J'ai toujours le problème du ZHit-Zstart-Z1>0.01; dans mon cas après calcul il vaut toujours aux alentours de9 mm, donc ça cesse le script...
J'ai modifié les valeurs de Zsafe et Zstart, je les ai mises au minimum: -1 et -2 en ABS, mais c'est toujours pareil.

Dans cette section il doit aller palper et indiquer la correction de longueur, je crois comprendre:

"  'Probe Z-
ZHit=ProbeZ(-1,ZMaxDist,Latch,FRate1,FRate2)....................???? que fait-il?
If ZHit=999999 Then
Exit Sub
End If
'Indicate result
'   PushMSG("Z- = " & (ZHit))
'Set current tool offset to table

'    Call setOEMDRO(42, (ZHit-TSHeight+WorkpieceHeight))
   CurrToolNumber=GetSelectedTool() 'Load the tool number
Code "G90" & "G10" & "L1" & "P" & CurrToolNumber &"Z" & (ZHit-TSHeight+WorkpieceHeight)
   SetCurrentTool(CurrToolNumber) 'Set the tool
   Code "g43 H" & CurrToolNumber 'Set the height

If Not SafeMoveZ(ZAbsSafePlane-GetOEMDRO(85),CurrentFeed) Then
PushMSG("M6End Script is interrupted")
Exit Sub "

Quelqu'un peut traduire grosso modo....

Merci d'avance.

++José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Ven 26 Mar 2021 - 2:30

Salut,

ZHit=ProbeZ(-1,ZMaxDist,Latch,FRate1,FRate2)....................???? que fait-il?

Il appelle la fonction utilisateur ProbeZ() en lui passant des arguments (ce qui est entre parenthèses) et met la valeur de retour de la fonction dans la variable ZHit.

voila la fonction ProbeZ()

Code:
Function ProbeZ(Dir,DMax,Latch,FRate1,FRate2)
   Dim Res
    Dim Zstart
   Dim Ftmp
   Dim AbsIncF
   ProbeZ=999999
   Zstart = GetDRO(2)
   Ftmp = FeedRate() 'FeedRate()
   AbsIncF=GetOEMLED(49)
   'Fast Probe Z
   Code "G91"
   Code "F" & FRate1
   Sleep(125)
   Call WaitProbeReady()   
   Code "G31 Z" & (Dir*DMax)
   While IsMoving()
   Wend
   Res = GetVar(2002)
'   PushMSG("Res=" & Res &", Zstart=" & Zstart & ", DMax=" & DMax & ", FRate1=" & FRate1)
   If Abs(Res - Zstart - Dir*DMax) < 0.01 Then
      PushMSG("Error: G31 Z search finished without making contact")
      PushMSG("Manually return to the starting position and repeat the search")
      Call SetLED49(AbsIncF)
      Code "M05"
      Sleep(125)
      Code "S" & CurrentSpindle
      Sleep(125)
      SetOEMDRO(818,Ftmp)
      Sleep(125)
      Exit Function
   End If
   'Move back
   Code "G00 Z" & -Dir*Latch
   While IsMoving()
   Wend
   Call WaitProbeReady()   
   'Latch Probe Z
   Zstart = GetDRO(2)
   Code "F" & FRate2
   Sleep(125)
   Code "G31 Z" & Dir*Latch*2
   While IsMoving()
   Wend
   'Save result
   Res = GetVar(2002)
   If Abs(Res - Zstart - Dir*Latch*2) < 0.01 Then
      PushMSG("Error: G31 Z latch finished without making contact")
      PushMSG("Manually return to the starting position and repeat the search")
      Call SetLED49(AbsIncF)
      Code "M05"
      Sleep(125)
      Code "S" & CurrentSpindle
      Sleep(125)
      SetOEMDRO(818,Ftmp)
      Sleep(125)
      Exit Function
   End If
   Code "G00 Z" & -Dir*Latch
   While IsMoving()
   Wend
   Call SetLED49(AbsIncF)
   SetOEMDRO(818,Ftmp)
   Sleep(125)
   ProbeZ=Res
End Function

ZHit=ProbeZ(-1,ZMaxDist,Latch,FRate1,FRate2) ... appel de la fonction

... la fonction elle-même
Function ProbeZ(Dir,DMax,Latch,FRate1,FRate2)
.....
.....
End Function


dans la fonction ProbeZ, les variables utilisées sont des copies des variables passées à la fonction ; par exemple Dir dans la fonction se verra affecté la valeur -1, DMax dans la fonction se verra affectée la valeur de la variable ZMaxDist ... etc

à l'intérieur de la fonction, la variable qui à le même nom que la fonction (ProbeZ dans ce cas) contiendra la valeur que retournera la fonction une fois que l'on en sortira.

par exemple en début de fonction on met cette valeur de retour à 999999 avec ProbeZ=999999

dans la fonction il y a un Res = GetVar(2002) ... on récupère la valeur du point de contact en Z (valeur mise à jour lors du palpage précédant) et en fin de fonction, si tout c'est bien passé on a ProbeZ=Res, donc on met la valeur de Res dans la variable de retour de la fonction puis on termine ligne suivante.

si la fonction n'est pas allée jusqu'au bout, c'est que la condition du If à été exécutée

ProbeZ=999999
...
...
...
Res = GetVar(2002)
If Abs(Res - Zstart - Dir*DMax) < 0.01 Then
PushMSG("Error: G31 Z search finished without making contact")
PushMSG("Manually return to the starting position and repeat the search")
Call SetLED49(AbsIncF)
Code "M05"
Sleep(125)
Code "S" & CurrentSpindle
Sleep(125)
SetOEMDRO(818,Ftmp)
Sleep(125)
Exit Function ici on sort de la fonction et on retourne la valeur de ProbeZ, qui à ce stade vaut 999999
End If

le Exit Funcion termine la fonction ... et elle retourne la valeur qui se trouve dans sa variable de retour.

' Call setOEMDRO(42, (ZHit-TSHeight+WorkpieceHeight))

je ne sais pas pourquoi la ligne est désactivée, mais ça met à jour la DRO 42, soit celle qui contient le décalage en Z de l'outil ..

  CurrToolNumber=GetSelectedTool() 'Load the tool number

lis le N° d'outil dans le GCode (M6 Tnnn)

Code "G90" & "G10" & "L1" & "P" & CurrToolNumber &"Z" & (ZHit-TSHeight+WorkpieceHeight)

envoi un G90 G10 L1 Pnn Zxxx > P suivi du n° de l'outil et Z suivi de la valeur de correction. Le G90 repasse en coord absolue avant correction. Ça effectue la compensation de coordonnée en Z et met la table d'outils à jour.

Code "g43 H" & CurrToolNumber 'Set the height

Envoi un G43Hxx pour rendre effective la correction d'outil avec la valeur stockée dans la table d'outil pour ce n° d'outil. Je ne suis pas sûr que ce soit nécessaire, car la correction à déjà été faite par le G10 ... et le simple fait de changer d'outil sélectionne automatiquement la correction pour l'outil en cours. Un G43 ne semble avoir d’intérêt que si tu veux utiliser une correction qui n'est pas celle de l'outil en cours, par exemple utiliser la correction de l'outil 2 pour l'outil 1 ...

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Sam 27 Mar 2021 - 22:25

Salut, si avec ça je ne progresse pas en VBS!! jesors
J'ai essayé d'activer la ligne: ' Call setOEMDRO(42, (ZHit-TSHeight+WorkpieceHeight)) mais c'est toujours pareil. J'ai le deuxième outil qui va à la position du changement d'outil, mais ne va pas palper; la broche démarre et va usiner à la mauvaise hauteur. Il me semble que le décalage correspond au: ZHit-Zstart-Z1.

Heureusement que c'est dans les valeurs positives car sinon il irait taper dans la pièce!! scratch  scratch  What a Face  What a Face
Je ne sais plus ou chercher, j'ai fait des dizaines de tests...

++ José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Sam 27 Mar 2021 - 22:45

Salut,

Salut, si avec ça je ne progresse pas en VBS!!

C'est au moins ça de pris Very Happy ... faudra que je continu le "cours" quand j'aurais l'inspiration ... study

Pour le reste, sans pouvoir tester en réel, je ne peux pas aller plus loin dans les investigations ... c'est dommage qu'il n'ai pas plus documenté son code car c'est pas simple de comprendre sa démarche. scratch

J'ai essayé d'activer la ligne: ' Call setOEMDRO(42, (ZHit-TSHeight+WorkpieceHeight)) mais c'est toujours pareil.

Oui, ça ne m'étonne pas, la valeur mise dans la DRO 42 ne semble être utilisée nul part dans le reste du code, ça doit juste être une info visuelle de la longueur d'outil pour l'utilisateur ; peut être pour la mise au point de son code.

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  jpcad64 Sam 27 Mar 2021 - 22:52

En attendant, je vais faire quelques usinages qui sont restés en arrière plan... Tanpis si je dois refaire le zero sur la pièce a chaque M6; le problème reviendra quand je ne pourrai plus palper sur le haut de ma pièce si elle est usinée...il me faudra magouiller pour re trouver mon Z0... study study study study S'il y a une astuce, chui preneur...

++ José
jpcad64
jpcad64
posteur Régulier
posteur Régulier

Messages : 100
Points : 112
Date d'inscription : 06/08/2019
Age : 56
Localisation : montpellier

Revenir en haut Aller en bas

Softlimit warning avec mach3 Empty Re: Softlimit warning avec mach3

Message  dh42 Sam 27 Mar 2021 - 23:14

le problème reviendra quand je ne pourrai plus palper sur le haut de ma pièce si elle est usinée...il me faudra magouiller pour re trouver mon Z0..

La plupart du temps je travaille avec le 0 à la base de la pièce, donc jamais de problème de hauteur.

++
David

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

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

http://dh42.free.fr/

Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut


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