Hello Guest it is October 20, 2019, 06:17:57 PM

Author Topic: manual tool change  (Read 2499 times)

0 Members and 1 Guest are viewing this topic.

manual tool change
« on: February 21, 2018, 05:21:42 AM »
I downloaded this macro (not mine, found on the site cncitalia) to change tool, I have a problem I do not know if I do not configure something I'm the macro that does not go
the problem is:
1 launch the macro
2 the trio is positioned for the tool change
3 goes down and makes the first touch and goes back for the change
4 tool change and redo for the second touch
5 returns from where he left
up to here everything is fine, the problem is that it does not calculate / change the difference between the two tools
I hope I have explained all the help / advice is appreciated
translated with Google

Condizioni macchina:

' Zero macchina X dietro Y sinistra Z in alto
' Asse X, sinistra -X destra +X
' Asse Y, dietro +Y avanti -Y
' Asse Z, alto +Z basso -Z
' Abilitare l'ingresso PROBE (port 1 pin 10)(Config | Input Signal)
'
' condizioni di lavoro iniziali:
' 1) Referenziare a ZERO macchina
' 2) Azzerare i contatori
' 3) Portarsi sullo Zero pezzo
' 4) Azzerare i contatori
' 5) Inizio lavorazione

code "M5" ' fermo il motore

' 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

' parametri lavorazione
xzero = GetDRO (30) ' memorizzo la posizione iniziale ASSOLUTA di cambio utensile
yzero = GetDRO (31)
zzero = GetDRO (32)

xpos = GetDRO (0) ' memorizzo la posizione inizioale RELATIVA di cambio utensile
ypos = GetDRO (1)
zpos = GetDRO (2)

fpos = GetDRO (18) ' memorizzo il feedrate iniziale

' variabili del programma
fmax = 400 ' imposto il feedrate massimo
fmin = 100 ' imposto il feedrate per la palpata

zavv = -50 ' distanza rapida di avvicinamento al palpatore
zmin = -80 ' profondità oltre il palpatore
xcut = 0 ' posizione X per cambio utensile
ycut = 0 ' posizione Y per cambio utensile

xtool = GetUserDRO (1200) ' posizione X del palpatore (Settings -> Tool Change Location)
ytool = GetUserDRO (1201) ' posizione Y del palpatore
ztool = GetUserDRO (1202) ' posizione Z del palpatore

' inizio programma
code "G0 F" & fmax ' porto il feedrate al valore massimo
code "G53 G0 Z0" ' porto Z a ZERO macchina
While IsMoving()
Wend
Call SetDro (2,0) ' porto il contatore Z a zero

code "G53 G0 X" & xtool & "Y" & ytool ' mi allineo sul palpatore
While IsMoving()
Wend
code "G0 Z" & zavv ' scendo in avvicinamento (fino a zavv)
While IsMoving()
Wend

code "G0 F" & fmin ' porto il feedrate al minimo

If IsSuchSignal (22) Then ' scendo sul palpatore per vedere la misura della punta attuale
code "G31 Z" & zmin
While IsMoving()
Wend
End If
zorig = GetDRO (2) ' memorizzo il valore di Z della punta attuale
code "G0 F" & fmax ' riporto il feedrate al massimo

code "G53 G0 Z0" ' porto Z a ZERO macchina
While IsMoving()
Wend

code "G53 G0 X" & xcut & "Y" & ycut ' vado in una posizione comoda per il cambio utensile
While IsMoving()
Wend

MsgBox ("Ora si può cambiare la punta")

Response = MsgBox ("E' stata cambiata la punta?", 4 , "ATTENZIONE")
If (Response = 6) Then
i = 99
Else
MsgBox ("Riprendo il lavoro con la punta iniziale")
End If

If i <> 99 Then ' non faccio nulla

code "G53 G0 X" & xzero & "Y" & yzero ' torno alla posizione X Y zero pezzo
While IsMoving()
Wend
code "G0 X" & xpos & "Y" & ypos ' torno alla posizione X Y da dove ero partito
While IsMoving()
Wend
code "G53 G0 Z" & zzero ' riporto Z al valore zero pezzo
While IsMoving()
Wend
Call SetDro (2,0) ' porto il contatore Z a zero
code "G0 Z" & zpos ' riporto Z al valore di partenza
While IsMoving()
Wend
code "G0 F" & fpos ' riporto il feedrate al valore di partenza
MsgBox ("Per riprendere il lavoro premere il pulsante 'LAVORAZIONE'")
code "M3" ' riaccendo il motore e riprendo il lavoro da dove l'avevo lasciato

Else

code "G53 G0 X" & xtool & "Y" & ytool ' mi allineo sul palpatore
While IsMoving()
Wend
code "G0 Z" & zavv ' scendo in avvicinamento
While IsMoving()
Wend

code "G0 F" & fmin ' porto il feedrate al minimo

If IsSuchSignal (22) Then ' scendo sul palpatore
code "G31 Z" & zmin
While IsMoving()
Wend
znew = GetDRO (2) ' memorizzo il valore di Z della nuova punta

code "G0 F" & fmax ' riporto il feedrate al massimo

code "G53 G0 Z0" ' ritorno Z ZERO macchina
While IsMoving()
Wend
End If

code "G53 G0 X" & xzero & "Y" & yzero ' torno alla posizione X Y zero pezzo
While IsMoving()
Wend

code "G0 X" & xpos & "Y" & ypos ' torno alla posizione X Y da dove ero partito
While IsMoving()
Wend

code "M3" ' riaccendo il motore

zdif = zorig - (znew) ' controllo se l'utensile è più corto o piu lungo

code "G53 G0 Z" & zzero-(zdif) ' riporto Z al valore zero pezzo con la differenza utensile
While IsMoving()
Wend
Call SetDro (2,0) ' porto contatore Z a zero
code "G0 Z" & zpos ' riporto Z al valore di partenza (inizio programma)
While IsMoving()
Wend
code "G0 F" & fpos ' riporto il feedrate al valore di partenza
MsgBox ("Per riprendere il lavoro premere il tasto LAVORAZIONE")

End If

' riprendo il lavoro da dove l'avevo lasciato

Else
MsgBox ("Per poter cambiare l'utensile bisognava prima aver referenziato la macchina")
End If

Offline TPS

*
  •  1,389 1,389
    • View Profile
Re: manual tool change
« Reply #1 on: February 22, 2018, 04:03:43 AM »
your code contains some Kind of height correction.
even it is very crowdy.

Code: [Select]
zdif = zorig - (znew) ' controllo se l'utensile è più corto o piu lungo

code "G53 G0 Z" & zzero-(zdif) ' riporto Z al valore zero pezzo con la differenza utensile
While IsMoving()
Wend
Call SetDro (2,0) ' porto contatore Z a zero
code "G0 Z" & zpos ' riporto Z al valore di partenza (inizio programma)
While IsMoving()
Wend

-copy your code into vbscripter window (Operator --> VB Script Editor)
-use the green >|| button to step throught code
-watch z-axis dro 

anything is possible, just try it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: manual tool change
« Reply #2 on: February 22, 2018, 04:46:08 AM »
thank you for your help
the problem remains, it all works only at the end the dro is at 0, but the difference is not calculated (I hope I explained myself)

Offline TPS

*
  •  1,389 1,389
    • View Profile
Re: manual tool change
« Reply #3 on: February 22, 2018, 04:58:57 AM »
if you step through the code when you come to this line

-code "G53 G0 Z" & zzero-(zdif) ' riporto Z al valore zero pezzo con la differenza utensile

you can put the mouse Cursor above the following variables (1 line above):

zdif
zorig
znew

witch values are in there?
anything is possible, just try it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: manual tool change
« Reply #4 on: February 22, 2018, 05:37:12 AM »
I state that I do not have the slightest knowledge of VB
if I launch
  zdif = zorig - (znew) 'controllo se l'utensile è più corto o più lungo

  codice "G53 G0 Z" e zzero- (zdif) 'riporto Z al valore zero pezzo con la differenza utensile
  Mentre IsMoving ()
  Wend
  Chiama SetDro (2,0) 'porto contatore Z a zero
  codice "G0 Z" & zpos 'riporto Z al valore di partenza (inizio programma)
  Mentre IsMoving ()
  Wend

DROs go to 0 and do not move
thanks for your patience !

Offline TPS

*
  •  1,389 1,389
    • View Profile
Re: manual tool change
« Reply #5 on: February 22, 2018, 05:43:45 AM »
ok let's try again,

if you step through code in VB Scripter window by using the green >|| button on top, you see a Little yellow -> (arrow)
on the left side.

if this arrow is in line:

-code "G53 G0 Z" & zzero-(zdif) ' riporto Z al valore zero pezzo con la differenza utensile

you can put the mouse Cursor above the following variables (1 line above):

zdif
zorig
znew

and see the values as tool tip text.
anything is possible, just try it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: manual tool change
« Reply #6 on: February 22, 2018, 06:19:24 AM »
ok si i valori sono dentro
Re: manual tool change
« Reply #7 on: February 22, 2018, 06:19:48 AM »
ok yes the values are inside

Offline TPS

*
  •  1,389 1,389
    • View Profile
Re: manual tool change
« Reply #8 on: February 22, 2018, 06:33:43 AM »
ok yes the values are inside

and what are the values ?
anything is possible, just try it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: manual tool change
« Reply #9 on: February 22, 2018, 06:46:51 AM »
the values are:

zdif ='-2.7600937220912

Zorig ='-77.534221109466

znew ='-74.774127487374