Script bouton en mach3

GeorgesBricole
Nouveau
24 Septembre 2015
19
  • Auteur de la discussion
  • #1
Bonjour,
Tout d'abord,
Bonne année, mes meilleurs voeux et santé!

J'essaie de créer un bouton sur mach3 qui fait, dit d'une façon simplifié, appuyer plusieurs boutons l'un après l'autre.
Alors, quand je suis sur l’éditeur vbs et que je le fait pas-à-pas, tout marche nickel, dès que je le fait avec le bouton, ça ne marche pas bien...
Comme si les changements dans les DRO n'auraient pas été mises-à-jour entre le haut du script et le bas...
Je pense que ma carte de contrôle elle y est pour qqch, vue que après un REF all, elle applique les décalages G54 stockes je ne sais pas où....

voici mon code :

Code:
' disables Soft Limits
If GetOEMled (23) Then
DoOEMButton (119)
End If
SLEEP(250)

' Ref all axes
REFCOMBINATION(4)
REFCOMBINATION(8)
REFCOMBINATION(2)
REFCOMBINATION(1)
SLEEP(250)

' Zero All axes
DoOEMButton (1007)
SLEEP(250)

' Enables Soft Limits
If Not GetOEMled (23) Then
DoOEMButton (119)
End If
SLEEP(250)

' Makes Z 0 on current tool (same button as in 4th window Palpeur, "Palper fixe")
' G53 (displacement in MachineCoords, should be called in each line)
' G31 (probing)
POSPALPX = GETOEMDRO(1010)
POSPALPY = GETOEMDRO(1011)
DECPALPX = GETOEMDRO(1020)
DECPALPY = GETOEMDRO(1021)
PALPX = POSPALPX + DECPALPX
PALPY = POSPALPY + DECPALPY
VPALP = GETOEMDRO(1060)
HPALPEUR = GETOEMDRO(1040)
HSURFACE = GETOEMDRO(1050)
NOUVEAUZ = HPALPEUR+HSURFACE
HFIN = GETOEMDRO(1051)

If HFIN < NOUVEAUZ Then
MACHMSG("!!! HAUTEUR DE RETOUR PLUS BASSE QUE LE PALPEUR !!!", "! ALERTE !",0)
MACHMSG("MODIFICATION DE LA HAUTEUR DE RETOUR A 5MM AU DESSUS DU PALPEUR","CORRECTION Z RETOUR",0)
HFIN = NOUVEAUZ+5
SETOEMDRO(1051,HFIN)
End If


CODE "G00 Z"& HFIN
While ISMOVING()
Wend
CODE "G00 G53 X"& PALPX &" Y"& PALPY
While ISMOVING()
Wend
' -- Fast stage probing
CODE "G31 Z-200 F"& VPALP
While ISMOVING()
Wend
SLEEP(250)
'ZPALP = GETVAR(2002)
ZPALP = GETOEMDRO(802) 'workaround card is not passing the right value on 2002 variable
SLEEP(250)

' -- Slow stage probing
CODE "G01 Z"& ZPALP+2 &"F75"
While ISMOVING()
Wend
SLEEP(250)
CODE "G31 Z-200 F50"
While ISMOVING()
Wend
SLEEP(250)
ZPALP = GETOEMDRO(802) 'workaround card is not passing the right value on 2002 variable
'SLEEP(250)
'CODE "G00 Z"& ZPALP
'While ISMOVING()
'Wend
SETOEMDRO(802,NOUVEAUZ)
SLEEP(250)
CODE "G00 Z"& HFIN
While ISMOVING()
Wend 
SLEEP(250)
 
dh42
Compagnon
4 Septembre 2009
5 249
Près de St Etienne (42)
Salut,

Alors, quand je suis sur l’éditeur vbs et que je le fait pas-à-pas, tout marche nickel, dès que je le fait avec le bouton, ça ne marche pas bien...
Comme si les changements dans les DRO n'auraient pas été mises-à-jour entre le haut du script et le bas...
Essai de laisser plus de délai pour la mise à jour des DRO ; en fonction du PC et éventuellement de la carte d’interpolation, 250ms ne suffisent peut être pas. (dans les Sleep())

Quelle version de Mach3 ? .. attention la 3.043.066 à des bugs avec le VB script ; parfois les scripts s’arrêtent en cours de route sans explications.

++
David
 
GeorgesBricole
Nouveau
24 Septembre 2015
19
  • Auteur de la discussion
  • #3
J'utilise la version 3.043.062 comme recommandé par warp9 (même si ma carte est une MK3-V-T8 de WiXHC)
Alors, aujourd'hui le script à marché du premier coup, le coup d'après, non, et je trouve que la carte ajoute un décalage G54 à sa guise... (je pense que c'est la carte car j'ai 3 installations de mach3 dans de dossier différents (xml, dll etc..) et sur les 3 elle fait les mêmes décalages après un REF ALL...
 
La dernière réponse à ce sujet date de plus de 6 mois
Haut