Библиотека макросов

English

O9021.NC

%
O9021(FIND CENTER OF MUSHROOM) 
 
#150=10.(DIAMETR TOOL) 
#151=30.(DIAMETR MUSHROOM) 
#152=15.(DIAMETR MEASURMENT) 
#153=5.(HEIGNH MUSHROOM) 
#154=2.(LEGHT OVERRUN) 
 
#155=500.(FAST FEED SPEED) 
#156=300.(FEED SPEED)
#157=40.(WORK FEED SPEED)
 
#158=5.(MAX LEGHT SHIFT) 
#159=1.(STEP SHIFT)
 
 
#160=99(TYPE STARTUP)
IF[#4000EQ9021]THEN#160=30(MACRO NAMES MUST BE EQUIVALENT) 
  
 
(---- CURRENT POSITION ----) 
#161=#5001(X ABS COORDINATES)
#162=#5002(Y ABS COORDINATES)
#163=#5003(Z ABS COORDINATES)
(---- END ----)
 
 
(---- MEASURMENT Z AXIS ----)
G90G31P1Z[#163-30.]F#156(1 TOUCH)
G4X0.1 
IF[#5003EQ[#163-30.]]GOTO1202(MUSHROOM NOT FOUND)
G91G1Z2.F#156(REBOUND) 
G4X0.1 
G91G31P1Z-3.F#157(2 TOUCH) 
G4X0.1 
 
#171=#5023(Z MACHINE)
#163=#5003(Z MACHINE)
G91G1Z2.F#156(REBOUND) 
G4X0.1 
(---- END ----)
 
 
(---- MEASURMENT X AXIS ----)
 
(X+ TOUCH) 
G91G1X[#151/2+#150/2+#154]F#155
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
 
WHILE[[#5003NE[#163-#153]]AND[#5001LE[#161+#158+#151/2+#150/2+#154]]]DO1 
G90G1Z[#163+2.]F#156(REBOUND)
G91G1X#159F#155
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
END1 
IF[#5003NE[#163-#153]]GOTO1201(WRONG DIAMETR)
 
G91G31P1X-20.F#156(1 TOUCH)
G4X0.1 
G91G1X2.F#156(REBOUND) 
G91G31P1X-3.F#157(2 TOUCH) 
G4X0.1 
#172=#5021(+X POSITION)
G91G1X1.F#156(REBOUND) 
G90G1Z[#163+2.]F#156(REBOUND)
G90G1X#161Y#162F#155 
 
 
(X- TOUCH) 
G91G1X[-[#151/2+#150/2+#154]]F#155 
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
 
WHILE[[#5003NE[#163-#153]]AND[#5001GE[#161-#158-#151/2-#150/2-#154]]]DO1 
G90G1Z[#163+2.]F#156(REBOUND)
G91G1X-#159F#155 
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
END1 
IF[#5003NE[#163-#153]]GOTO1201(WRONG DIAMETR)
 
G91G31P1X20.F#156(1 TOUCH) 
G4X0.1 
G91G1X-2.F#156(REBOUND)
G91G31P1X3.F#157(2 TOUCH)
G4X0.1 
#173=#5021(+X POSITION)
G91G1X-1.F#156(REBOUND)
G90G1Z[#163+2.]F#156(REBOUND)
G90G1X#161Y#162F#155 
 
(---- END ----)
 
 
(---- MEASURMENT Y AXIS ----)
 
(Y+ TOUCH) 
G91G1Y[#151/2+#150/2+#154]F#155
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
 
WHILE[[#5003NE[#163-#153]]AND[#5002LE[#162+#158+#151/2+#150/2+#154]]]DO1 
G90G1Z[#163+2.]F#156(REBOUND)
G91G1Y#159F#155
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
END1 
IF[#5003NE[#163-#153]]GOTO1201(WRONG DIAMETR)
 
G91G31P1Y-20.F#156(1 TOUCH)
G4X0.1 
G91G1Y2.F#156(REBOUND) 
G91G31P1Y-3.F#157(2 TOUCH) 
G4X0.1 
#174=#5022(+X POSITION)
G91G1Y1.F#156(REBOUND) 
G90G1Z[#163+2.]F#156(REBOUND)
G90G1X#161Y#162F#155 
 
 
(Y- TOUCH) 
G91G1Y[-[#151/2+#150/2+#154]]F#155 
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
 
WHILE[[#5003NE[#163-#153]]AND[#5002GE[#162-#158-#151/2-#150/2-#154]]]DO1 
G90G1Z[#163+2.]F#156(REBOUND)
G91G1Y-#159F#155 
G90G31P1Z[#163-#153]F#157(CHECK TOUCH) 
G4X0.1 
END1 
IF[#5003NE[#163-#153]]GOTO1201(WRONG DIAMETR)
 
G91G31P1Y20.F#156(1 TOUCH) 
G4X0.1 
G91G1Y-2.F#156(REBOUND)
G91G31P1Y3.F#157(2 TOUCH)
G4X0.1 
#175=#5022(+X POSITION)
G91G1Y-1.F#156(REBOUND)
G90G1Z[#163+2.]F#156(REBOUND)
G90G1X[#5001-[#5021-[[#172+#173]/2]]]Y[#5002-[#5022-[[#174+#175]/2]]]F#156

(---- END ----)
 
 
(---- OUTPUT ----) 
#981=[[#172+#173]/2](X CENTER) 
#982=[[#174+#175]/2](Y CENTER) 
#983=#171(Z POZITION)
(---- END ----)
  
  
G4X0.5 
M#160(END PROGRAM) 
 
(ERRORS) 
N1201#3000=1(WRONG DIA TOOL OR MUSHROOM) 
N1202#3000=2(MUSHROOM NOT FOUND) 
%