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
Laser croce e mach
Moderatore: Junior Admin
-
grisuzone
- SON PASSATO AI TRAPANINI
- Messaggi: 120
- Iscritto il: dom set 14, 2008 13:02
- Località: Provincia di Brindisi
Laser croce e mach
Grazie a Tutti
Angelo
Angelo
-
grisuzone
- SON PASSATO AI TRAPANINI
- Messaggi: 120
- Iscritto il: dom set 14, 2008 13:02
- Località: Provincia di Brindisi
Lo script per il Laser è questo:
' variabili del programma
Xmove = -23.5621 ' Valore di Offset da inserire per l'asse X
Ymove = 52.5156 ' Valore di Offset da inserire per l'asse Y
fmin = 700 ' imposto il feedrate
DoSpinStop() ' per sicurezza fermo il mandrino
' controllo se la macchina è stata referenziata
If Not GetLed (7) Then ' è referenziato X
vxled = 1
End If
If Not GetLed (8) Then ' è referenziato Y
vyled = 1
End If
If Not GetLed (9) Then ' è referenziato Z
vzled = 1
End If
Tled = vxled + vyled + vzled
If Tled = 3 Then ' se non sono referenziati X, Y e Z esco
' inizio programma
code "G0 F" & fmin ' cambio il feedrate con il valore richiesto
Code "G91 G1 X" &Xmove & "Y" &Ymove
While IsMoving ()
Wend
Code "G4 P0.5"
Code "G90 M9" ' Spengo il laser
Code "G4 P0.5"
DoOEMButton (1008) ' Azzero X
DoOEMButton (1009) ' Azzero Y
Else
MsgBox ("Per poter utilizzare il laser bisognava prima aver referenziato la macchina")
End If
' variabili del programma
Xmove = -23.5621 ' Valore di Offset da inserire per l'asse X
Ymove = 52.5156 ' Valore di Offset da inserire per l'asse Y
fmin = 700 ' imposto il feedrate
DoSpinStop() ' per sicurezza fermo il mandrino
' controllo se la macchina è stata referenziata
If Not GetLed (7) Then ' è referenziato X
vxled = 1
End If
If Not GetLed (8) Then ' è referenziato Y
vyled = 1
End If
If Not GetLed (9) Then ' è referenziato Z
vzled = 1
End If
Tled = vxled + vyled + vzled
If Tled = 3 Then ' se non sono referenziati X, Y e Z esco
' inizio programma
code "G0 F" & fmin ' cambio il feedrate con il valore richiesto
Code "G91 G1 X" &Xmove & "Y" &Ymove
While IsMoving ()
Wend
Code "G4 P0.5"
Code "G90 M9" ' Spengo il laser
Code "G4 P0.5"
DoOEMButton (1008) ' Azzero X
DoOEMButton (1009) ' Azzero Y
Else
MsgBox ("Per poter utilizzare il laser bisognava prima aver referenziato la macchina")
End If
Grazie a Tutti
Angelo
Angelo