Uitleg werking van een stukje CNC programma

Nederlandse CNC controller op basis van de usb poort of Ethernet.

Moderator: Moderators

Plaats reactie
MF_CNC
Berichten: 22
Lid geworden op: 21 mar 2015 20:14

Uitleg werking van een stukje CNC programma

Bericht door MF_CNC »

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
Gebruikersavatar
Ballegooijen
Donateur
Berichten: 4920
Lid geworden op: 20 sep 2016 15:45
Locatie: 's-Gravendeel
Contacteer:

Re: Uitleg werking van een stukje CNC programma

Bericht door Ballegooijen »

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
Plaats reactie