Ciao
Finalmente oggi ho finito di montare il puntatore laser..ho modificato la schermata di mach per inserire oltre all'azzeramento utensile con la classica piastrina che funge da Probe..e questa funziona egregiamente da tempo...il problema sorge ora che ho inserito anche lo script per il laser...allora spiego la procedura
1) Faccio l'homing
2)accendo il Laser e mi posiziono il fascio sul origine pezzo
3) avvio lo script per l'azzeramento laser e gli assi si spostano esattamente sul punto puntato in precedenza dal laser
4) faccio l'azzeramento di Zcon la piastrina
Il problema sorege al Punto 4 ..appena tocca la piastra l'asse Z invece di risalire scende di circa 1 mm e poi risale mettendosi in posizione..
Allora premetto che lo script per l'azzeramento di Z è sempre lo stesso..e dopo aver fatto infinite prove ho scoperto che l'inghippo sta qui: cioè il cattivo funzionamento avviene solo e solamente se eseguo prima lo script per il laser..se questo non lo faccio l'azzeramento di Z funziona bene come sempre...Però Però una volta che ho eseguito lo script per il laser affinchè non mi faccia più quel problema debbo riavviare mach altrimenti scende sempre di 1mm e poi risale..mentre se riavvio mach e faccio prima lo zero di Z funziona bene.....lo sò che è un casino ma se potete aiutarmi risolvo anche quest'altro "problema"
PS lo script per la Z è questo:
CurrentFeed = GetOemDRO(818) 'Memorizzazione feedrate corrente
DoSpinStop() 'Fermo in ogni caso per sicurezza il motore M5
ZMove = 5.0 'Misura di Ricerca del probe
ZOffset = 1.5 'Altezza del probe
ZSal = ZOffset + 5 'Altezza di risalita dopo l'azzeramento utenise
StopZmove = 0 'Blocco programma con Zmove oltrepassata
If GetOemLed (825)=0 Then 'Controllo se il probe è OK o difettoso
DoOEMButton (1010) 'Azzero asse Z Cosi che la sonda comincerà a muoversi da qui
Code "G4 P2.5" 'Tempo di posizionamento del probe sotto la Z
Code "G31 Z-"& ZMove & "F25" 'Comando discesa Z , Distanza Ricerca probe e feedrate
While IsMoving() 'Attesa del segnale d'ingresso digitalize
Wend
Probepos = GetVar(2002) 'Rilevo il punto esatto di contatto al probe
If Probepos = - ZMove Then 'Se distanza Zmove = Probepos Azzeramento non possibile
responce = MsgBox ("**ERRORE** Utensile non Inserito o Probe non posizionato" , 4 , "Probe **ERRORE**" )
Code "G0 Z10" 'Alzo la Z di (x)mm in rapido
StopZmove = 1 'Mando StopMove a 1 per bloccare la sub successiva
Code "F" &CurrentFeed 'Ritorno al feedrate Originale
End If
If StopZmove = 0 Then 'Con Stepmove a 0 continuo ciclo
Code "G0 Z" & Probepos 'ritorno al punto di touch, eliminando eventuli errori
While IsMoving ()
Wend
Call SetDro (2, ZOffset) 'Azzeramento Z con somma altezza probe
Code "G4 P1" 'Attesa Aggiornamento Dro.
Code "G0 Z" & ZSal 'Quota Z di ritorno (x)mm dopo dall'azzeramento
Code "(Asse Z Azzerata)" 'Messaggio visualizzato con azzeramento a buon fine
Code "F" &CurrentFeed 'Ritorno al feedrate Originale
End If
Else
Code "(Segnale Probe a terra, Controlla connesioni e riprova)" 'Messaggio visualizzato con azzeramento fallito
End If
Exit Sub
_________________ Grazie a Tutti
Angelo
|