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

English

O9014.NC

%
O9014(MEASUREMENT LENGTH TOOL) 
 
#151=95.872(Z AXIS MUSHROOM COMPENSATOR) 
 
#152=#20(-T- TOOL) 
#153=#6(-K- OPTIONAL NUMBER CORRECTOR TOOL)
#154=#7(-D- DIAMETER TOOL)
#155=#13(-M- SPINDLE ROTATION DIRECTION) 
#156=#19(-S- SPINDLE SPEED)
 
#157=200(MAX SPINDLE SPEED)
#158=5.(DIAMETER MEASUREMENT)
#159=1200.(1 FEED SPEED) 
#160=400.(2 FEED SPEED)
#161=50.(3 FEED SPEED) 
#162=-1000.(STOP Z)
#163=22(MAX COUNT TOOLS) 
#164=400(MAX COUNT CORRECTORS) 
 
 
#170=99(TYPE STARTUP)
IF[#4000EQ9014]THEN#170=30(MACRO NAMES MUST BE EQUIVALENT) 
 
 
(---- DEFAULT ----)
IF[#153EQ#0]THEN#153=#152(DEFAULT NUMBER CORRECTOR TOOL) 
IF[#155EQ#0]THEN#155=4(DEFAULT SPINDLE ROTATION DIRECTION -M-) 
IF[#156EQ#0]THEN#156=50(DEFAULT SPINDLE SPEED -S-) 
(---- END ----)
 
 
(---- CHECK VARIABLE ----) 
IF[#152EQ#0]GOTO1201(MISSING TOOL NUMBER)
IF[#152NE[ROUND[ABS[#152]]]]GOTO1202(WRONG TOOL NUMBER)
IF[[#152LE0]OR[#152GT#163]]GOTO1203(TOOL NUMBER OUT OF RANGE)
IF[#153NE[ROUND[ABS[#153]]]]GOTO1204(WRONG CORRECTOR NUMBER) 
IF[[#153LE0]OR[#153GT#164]]GOTO1205(CORRECTOR NUMBER OUT OF RANGE) 
IF[[#154LT0]OR[#154GT120.]]GOTO1206(WRONG DIA TOOL)
IF[[#155NE3]AND[#155NE4]]GOTO1207(WRONG SPINDLE ROTATION DIRECTION)
IF[[#156LT0]OR[#156GT#157]]GOTO1208(WRONG SPINDLE SPEED) 
(---- END ----)
 

(---- ADJUSTMENT FEED SPEED ----)
#183=1 (COEFFICIENT FEED SPEED)
IF[#154GE16.]THEN#183=0.9
IF[#154GE18.]THEN#183=0.8
IF[#154GE20.]THEN#183=0.7
IF[#154GE30.]THEN#183=0.6
IF[#154GE40.]THEN#183=0.5
(---- END ----)


G90G69G61G49G40G15G0 
M5 
 
G91G28Z0 
G90
T#152
G65P9001(M6)

 
(---- CLEAN TOOL ----) 
M4S1000
M7(AIR BLOW)
G4X3.
M9 
G4X1.
M5 
(---- END ----)
 
 
(---- MUSHROOM POSITION ----)
#171=[#5001-[#5021-#981]](X ABS COORDINATES) 
#172=[#5002-[#5022-#982]](Y ABS COORDINATES) 
(---- END ----)
 
 
(---- FIND MINIMAL Z POINT ----) 

#180=0(SHIFT ANGLE)
 
IF[[#991LT#993]AND[#992LT#994]AND[#991LE#992]]THEN#180=ROUND[[90.-[90./[#991/#992]]/2]*1000]/1000(0 - 90 DEGREES)
IF[[#991LT#993]AND[#992LT#994]AND[#992LE#991]]THEN#180=ROUND[[[90./[#992/#991]]/2]*1000]/1000(0 - 90 DEGREES)
 
IF[[#993LT#991]AND[#992LT#994]AND[#992LE#993]]THEN#180=ROUND[[270.+90.-[90./[#992/#993]]/2]*1000]/1000(270 - 0 DEGREES)
IF[[#993LT#991]AND[#992LT#994]AND[#993LE#992]]THEN#180=ROUND[[270.+[90./[#993/#992]]/2]*1000]/1000(270 - 0 DEGREES)
 
IF[[#993LT#991]AND[#994LT#992]AND[#993LE#994]]THEN#180=ROUND[[180.+90.-[90./[#993/#994]]/2]*1000]/1000(180 - 270 DEGREES)
IF[[#993LT#991]AND[#994LT#992]AND[#994LE#993]]THEN#180=ROUND[[180.+[90./[#994/#993]]/2]*1000]/1000(180 - 270 DEGREES)
 
IF[[#991LT#993]AND[#994LT#992]AND[#994LE#991]]THEN#180=ROUND[[90.+90.-[90./[#994/#991]]/2]*1000]/1000(90 - 180 DEGREES)
IF[[#991LT#993]AND[#994LT#992]AND[#991LE#994]]THEN#180=ROUND[[90.+[90./[#991/#994]]/2]*1000]/1000(90 - 180 DEGREES)
  
#181=[ROUND[[COS[#180]*[#158/2+#154/2]]*1000]]/1000(SHIFT X) 
#182=[ROUND[[SIN[#180]*[#158/2+#154/2]]*1000]]/1000(SHIFT Y) 
 
(---- END ----)


IF[[#5001EQ[#171+#181]]AND[#5002EQ[#172+#182]]]GOTO10
IF[[[ABS[ABS[#5001]-ABS[#171+#181]]]LE50.]AND[[ABS[ABS[#5002]-ABS[#172+#182]]]LE50.]]GOTO10
G90G0X#171Y#172(MUSHROOM CENTER POINT) 
N10
G90G0X[#171+#181]Y[#172+#182](MUSHROOM MEASUREMENT POINT)

#174=[#5003-[#5123-#162]](Z ABS NEXT POSITION) 
M#155S#156(START SPINDLE)
 
 
(---- MEASUREMENT Z AXIS ----)
 
G90G31P1Z#174F[ROUND[#159*#183]](1 TOUCH)
G4X0.1 
IF[#5003EQ#174]GOTO1209(DANGEROUS POSITION IN Z) 
G91G1Z10.F#160(REBOUND)
G4X0.1 
 
G91G31P1Z-20.F[ROUND[#160*#183]](2 TOUCH)
G91G1Z5.F#160(REBOUND) 
G4X0.1 
 
G91G31P1Z-20.F[ROUND[#161*#183]](3 TOUCH)
G4X0.1 
 
#176=#5023-#990+#151(LEGHT TOOL) 
 
G91G1Z3.F#160(REBOUND) 
G90
M5 
G91G28Z0 
G90
 
(---- END ----)
  
 
(---- EQUATION OF PLANES ----)
 
#111=[#158/2+#154/2](X1) 
#112=0(Y1) 
#113=#992(Z1)
 
#121=0(X2) 
#122=[#158/2+#154/2](Y2) 
#123=#991(Z2)
 
#131=-[#158/2+#154/2](X3)
#132=0(Y3) 
#133=#994(Z3)
 
#141=#181(X) 
#142=#182(Y) 
#143=[[#141-#111]*[[#122-#112]*[#133-#113]-[#123-#113]*[#132-#112]]-[#142-#112]*[[#121-#111]*[#133-#113]-[#123-#113]*[#131-#111]]]/[[#121-#111]*[#132-#112]-[#122-#112]*[#131-#111]]*[-1]+#113(Z)
 
(---- END ----)
  
 
(---- RECORDING ----)
#[10000+#153]=0(Z RESET WEAR)
#[11000+#153]=#176-#143(Z RECORD GEOM) 
(---- END ----)
 
 
M#170(END PROGRAM) 
 
 
(ERRORS) 
N1201#3000=1(MISSING TOOL NUMBER)
N1202#3000=2(WRONG TOOL NUMBER)
N1203#3000=3(TOOL NUMBER OUT OF RANGE) 
N1204#3000=4(WRONG CORRECTOR NUMBER) 
N1205#3000=5(CORR. NUMBER OUT OF RANGE)
N1206#3000=6(WRONG DIA TOOL) 
N1207#3000=7(WRONG SPINDLE ROTATION) 
N1208#3000=8(WRONG SPINDLE SPEED)
N1209#3000=9(DANGEROUS POSITION IN Z)
%