Zprobe in mach3

Sezione dedicata all'elettronica di controllo cnc.
Rispondi
ASCRUTO
Newbie
Newbie
Messaggi: 46
Iscritto il: lunedì 22 agosto 2022, 21:30

Zprobe in mach3

Messaggio da ASCRUTO » lunedì 1 maggio 2023, 13:59

Buongiorno a tutti, so che l'argomento è stato ampiamente discusso, ma frugando nel forum non ho trovato in effetti una risposta al problema.
In pratica, quando eseguo l'azzeramento Z utensile , alle volte, dopo la tastatura, l'asse Z si muove a cannone in negativo o positivo.
Nel primo caso spezzo la fresa, nel secondo blocco tutto altrimenti sfondo il limit switch.
Il codice utilizzato è semplicissimo, ed è il seguente:
DoSpinStop() 'Fermo Spin
VelocitaOld = GetOemDRO(818) 'Memorizzazione Velocità Attuale
ZRicerca = 30 'Misura Di Ricerca Del Probe
HProbe = 10.50 'Altezza Del Probe
ZRisalita = 10 'Quota Z Dal Pezzo (0) Per Risalita Dopo L'Azzeramento

If GetOemLed (825)=0 Then 'Testa probe
DoOEMButton (1010) 'Azzera Z
Code "G4 P0.5" 'Ritardo
Code "G31 Z-"& ZRicerca & "F50" 'Comando ricerca on corsa massima
While IsMoving() 'Attendi fine ricerca
Wend
Posizione = GetVar(2002) 'Lettura quota di contatto
If Posizione = - ZRicerca Then 'Se la ricerca è arrivata in fondo
Result =MsgBox ("ATTENZIONE PROBE NON TROVATO" , 0 , "*** ERRORE ***" )
Code "G1 Z0 F500" 'Riporta la Z a 0
Code "F" & VelocitaOld 'Reimposta velocità
Exit Sub 'Esce dalla routine
End If

Code "G0 Z" & Posizione 'Ritorno al punto preciso di contatto
While IsMoving () 'Attendi fine movimento
Wend
Call SetDro (2, Hprobe ) 'Forza la Z allo spessore del probe
Code "G4 P0.5" 'Pausa
Code "G1 Z" & ZRisalita & "F500" 'Quota Z di ritorno dallo 0 pezzo
While IsMoving () 'Attendi fine movimento
Wend
Code "(Asse Z Azzerata)" 'Messaggio fine azzeramento
Code "F" & VelocitaOld 'Reimposta velocità

Else
Code "(Segnale a massa !!!)" 'Messaggio errore
Result =MsgBox ("ATTENZIONE PROBE A MASSA" , 0 , "*** ERRORE ***" ) 'PopUp Errore
End If


Potrebbe essere un problema di terra?
Sinceramente ho provato altri script, ma il funzionamento è il medesimo, ma anche i risultati!

torn24
God
God
Messaggi: 5077
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Zprobe in mach3

Messaggio da torn24 » martedì 2 maggio 2023, 10:25

Nel programma abbiamo un solo G0 Posizione, è il solo movimento in rapido presente nel codice e tu hai problemi in movimento in rapido.

Poi c'è la riga che ricava la posizione Posizione = GetVar(2002) 'Lettura quota di contatto

Secondo me un ipotesi che ottieni valori inattesi da questa riga, non so cosa contiene la variabile 2002 ma potrebbe non contenere sempre la quota desiderata.


Ho letto che ci potrebbe essere un altezza utensile attiva H che viene sommata alla variabile 2002, propongono di mettere inizio macro G49 che cancella la lunghezza attiva H, potresti risolvere.
CIAO A TUTTI !

Rispondi

Torna a “Elettronica CNC”