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

English

O9010.nc

%
O9010
(MEASUREMENT TOOL FOR TURNING) 

#161=185.65 (SHIFT X AXIS)
#162=0 (SHIFT Z AXIS)
#163=12 (MAX COUNT TOOLS)
#164=128 (MAX COUNT CORRECTORS)
#165=#20 (CORRECTOR NUMBER -T-)
#166=#11 (POSITION  -H- )
#167=#2 (DISTANCE  -B- )
#168=#7 (DIAMETR DRIL -D- )
#169=15. (SQRT RENISHAW)
#170=2. (LEGHT REBOUND)
#171=300 (FAST FEED SPEED)
#172=30 (WORK FEED SPEED)


(---- CHECK VARIABLE ----) 
#181=0 (CHECKING POSITION)
IF[#166EQ#0]GOTO1202 (TOOL ERROR)
IF[[#166EQ8] OR [#166EQ7] OR [#166EQ6] OR [#166EQ5]] THEN #181=#166
IF[#181EQ0] GOTO1201 (POSITION ERROR)
IF[#167EQ#0] THEN #167=10. (DEFAULT DISTANCE)
IF[#168EQ#0] THEN #168=0 (DEFAULT DIAMETR)
IF[[#165NE#0] AND [[#165GT#164] OR [ABS[FIX[#165]]NE[FUP[#165]]] OR [#165EQ0]]]GOTO1204 (CORRECTOR ERROR)
(---- END ----)


(---- CHECKING TOOL NUMBER ----)
#182=1 (COUNT)
#183=101 (TOOL'S NUMBER)
#184=0 (SHORT TOOL'S NUMBER)

WHILE[#182LE#163]DO1

IF[#4320EQ#183] THEN #184=#182

#182=#182+1
#183=#183+101
END1

IF[#184EQ0]GOTO1202 (TOOL ERROR)
IF[#165NE#0]THEN#184=#165 (ANOTHER CORRECTOR)
(---- END ----)


(---- RESET OFFSET ----) 
IF[[#166EQ8]OR[#166EQ6]]THEN#[2000+#184]=0(WEAR AXIS -X-) 
IF[[#166EQ7]OR[#166EQ5]]THEN#[2100+#184]=0(WEAR AXIS -Z-)
(---- END ----)


(---- DEFAULT ----)
#185=#4205(TYPE FEED)
G98
#186=0(X RUN)
#187=0(Z RUN)
#188=0(X REBOUND)
#189=0(Z REBOUND)

IF[#166EQ8]THEN#186=-#167*2
IF[#166EQ8]THEN#188=#170*2
IF[#166EQ6]THEN#186=#167*2
IF[#166EQ6]THEN#188=-#170*2
IF[#166EQ7]THEN#187=-#167
IF[#166EQ7]THEN#189=#170
IF[#166EQ5]THEN#187=#167
IF[#166EQ5]THEN#189=-#170
(---- END ----)


(---- MEASURMENT ----)
#190=#5001(CURRENT POSITION ON X AXIS)
#191=#5002(CURRENT POSITION ON Z AXIS)
G31U#186W#187F#171
IF[[#5001EQ[#190+#186]]AND[#5002EQ[#191+#187]]]GOTO1203
G1U#188W#189F#171
G31U[-#188*2]W[-#189*2]F#172
G4X0.1
#192=#5021(X MACHINE COORDINATES)
#193=#5022(Z MACHINE COORDINATES)
G1U#188W#189F#171
(---- END ----)


(---- RECORDING OFFSET ----)
(AXIS -X-)
IF[#166EQ8] THEN #[15000+#184]=#192+#161-#168 (GEOM)
IF[#166EQ6] THEN #[15000+#184]=#192+#161+#168+#169*2 (GEOM)

(AXIS -Z-)
IF[#166EQ7] THEN #[16000+#184]=#193+#162 (GEOM)
IF[#166EQ5] THEN #[16000+#184]=#193+#162+#169 (GEOM)
(---- END ----)


G#185(RETURN TYPE FEED)
G4X0.1
GOTO1200


(ERRORS)
N1201#3000=1(POSITION MUST BE 5,6,7,8)
N1202#3000=2(TOOL CALLED INCORRECTLY)
N1203#3000=3(OVERRUN START POSITION)
N1204#3000=4(CORRECTOR NUMBER OF RANGE)
N1200(END MACRO)
M99
%