Hallo,
Ik heb van iemand een programma gekregen voor Eding CNC om het middelpunt van een cirkel(gat) te bepalen.
Als ik dat programma oproep via een functietoets dan gaat mijn sensorprobe (heb ik eerst +/- in het midden gezet) naar rechts tot tegen de rand van het gat. Daarna gat het langzaam terug tot de probe weer gesloten is en dan iets sneller terug naar links om aldaar weer tegen de kant aan te gaan (probe contact gaat open) en komt dan weer langzaam terug tot het probe contact terug sluit. vervolgens gaat het tot in het midden om dan naar boven (Y+) en nadien naar onder (Y-) te gaan. Het is bij Y- dat het altijd fout gaat. Eerst geeft het programma de melding Y- punt werd bepaalt en dan krijg ik de melding dat de sensor niet is geactiveerd bij het terugkomen. Maar als ik dan naar de variabelen ga kijken dan staat de waarde in #5068 toch op nul (dwz gesloten contact en dus wel geschakeld !). Kan mij iemand verklaren hoe dat kan of kan ik bepaalde trukjes toepassen om het probleem te vinden ? Hieronder het stukje code voor de Y- richting.
;----------------------
;--- PROBING Y- ---
;----------------------
G38.2 G91 Y-[#351] F[#600] ; snel bewegen tot sensor probe schakelt
IF [#5067 == 1] ; Sensor gevonden
G38.2 G91 Y+0.5 F[#601] ; Langzaam terug gaan tot de juiste bepaling van de Y- Position
IF [#5067 == 1] ; Wanneer contact geschakeld heeft
#7=[#5061] ; X4
#8=[#5062] ; Y4
IF [#510 == 0] ; Aanroepen Kalibratie routine (1= Ja, 0= Neen)= niet van toepassing msg"Y- Punt werd bepaald"
ENDIF
G01 G91 Y+0.5 F[#600] ; Van het werkstuk teruggaan [AP]
IF [#5068 == 1] ;Testen of contact open is (1= open, 0= gesloten)
G90 ; G90 -> Absolute distance mode
msg "Sensor is niet terug gesloten bij de terugkeer van (Y-)" ; ** HIER GAAT HET FOUT !!****
msg "Meting Cirkel afgebroken"
M30 ; einde programma
ENDIF
ELSE
G90 ; G90 -> Absolute distance mode
msg "FOUT ! (Y-): Sensor heeft niet geschakeld bij de aanloop naar de rand (Y-)"
msg "Meting Cirkel afgebroken"
M30 ; einde programma
ENDIF
ELSE
G90 ; G90 -> Absolute distance mode
msg "FOUT ! (Y-): Sensor contacten zijn niet allemaal gesloten "
msg "Meting Cirkel afgebroken"
M30 ; einde programma
ENDIF
Uitleg werking van een stukje CNC programma
Moderator: Moderators
- Ballegooijen
- Donateur
- Berichten: 4925
- Lid geworden op: 20 sep 2016 15:45
- Locatie: 's-Gravendeel
- Contacteer:
Re: Uitleg werking van een stukje CNC programma
Ik gebruik deze code:
Code: Selecteer alles
Sub user_4 ;F5
Msg "zoek midden binnen cirkel"
F90 ;speed for x,y
DlgMsg "diameter" mm 1
If [#5398==1]
#102 = [#1 + 10] ;max dist to cylinder
#103 = 4 ;thickness tool
#101 = #5001 ;current x
G91 ;relative move
G38.2 x-#102 ;move left till touch
G90 ;absolute move
if [#5067 == 1] ;did we touch?
#100 = #5061
g0 x#101
G91
G38.2 x#102
G90
if [#5067 == 1] ;did we touch?
#104 =[[#5061-#100]/2] ;<=radius
G92 x[#104]
g0 x0
#101 = #5002 ;current y
G91
G38.2 y-#102
G90
if [#5067 == 1] ;did we touch?
#100 = #5062
g0 y#101
G91
G38.2 y#102
G90
if [#5067 == 1] ;did we touch?
#105=[[#5062-#100]/2]
G92 y[#105]
g0 y0
F30
G0 x[#104-1]
G91
G38.2 x#102
G90
#106=#5061
G0 x-[#104-1]
G91
G38.2 x-#102
G90
#107 = [#106 + #103 - #5061]
G0 x0
G0 y[#105-1]
G91
G38.2 y#102
G90
#106=#5062
G0 y-[#105-1]
G91
G38.2 y-#102
G90
msg " diameter x = " #107 " diameter y = "[#106 + #103 - #5062]
G0 x0Y0
G91
G0 Z20
G90
else
ErrMsg "Probe missed Y-high"
endif
else
ErrMsgmsg "Probe missed Y-low"
endif
else
ErrMsg "Probe missed X-right"
endif
else
ErrMsg "Probe missed X-left"
endif
m30
Endif
Endsub
Kennis vermenigvuldigt zich alleen als je het deelt.
https://www.Baldas.nl
https://www.Baldas.nl