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

English

O9007 MILL HAAS.NC

%
O9007
(SPINDLE-WARMING-UP)
(HAAS MILL)

#10101=#20(-T- TOTAL TIME, MIN)
#10102=10(STEP RPM)
#10103=0.1(SART TIME)
#10104=0.2(STOP TIME)
#10105=100(MIN RPM)
#10106=#19(-S- MAX RPM)


(---- DEFAULT ----)
IF[#10101EQ#0]THEN#10101=1.(TOTAL TIME, MIN)
IF[#10106EQ#0]THEN#10106=2000(MAX RPM)
(---- END ----) 


(---- CHECK VARIABLE ----) 
IF[#10103LT0]THEN#3000=1(WRONG SART TIME)
IF[#10104LT0]THEN#3000=2(WRONG STOP TIME)
IF[#10101LE0]THEN#3000=3(WRONG TOTAL TIME)
IF[[#10101-#10103-#10104]LE0]THEN#3000=3(WRONG TOTAL TIME)
IF[#10105GT#10106]THEN#3000=4(WRONG MIN PRM)
IF[[#5021NE0]OR[#5022NE0]OR[#5023NE0]]THEN#3000=5(NOT AT REFERENCE POINT)
(---- END ----) 


(---- INITIAL WARM-UP ----)
IF[#10103LE0]GOTO1
M3S#10105
G4X[#10103*60]
N1
(---- END ----) 


#10111=[#10106-#10105]/#10102(NUMBER OF CYCLES)
#10112=[[#10101-#10103-#10104]*60]/[[#10106-#10105]/#10102](CYCLE TIME)


(---- CHECKING STEP ----) 
#10113=#10102(STEP)
#10114=0(CORRECTOR)
WHILE[#10112LT1.]DO1
#10114=#10102(STEP)
#10111=[#10106-#10105]/#10113(NUMBER OF CYCLES)
#10112=[[#10101-#10103-#10104]*60]/[[#10106-#10105]/#10113](CYCLE TIME)
#10113=#10113+#10102
END1
#10113=#10113-#10114(CORRECTION OF THE LAST ITERATION)
#10112=[FIX[#10112*1000]]/1000
(---- END ----) 


#10115=0
WHILE[#10115LE#10111]DO1
M3S[#10105+#10115*#10113](TURNING)
G4X#10112(PAUSE)
#10115=#10115+1
END1


(---- FINAL WARM-UP ----)
IF[#10104LE0]GOTO2
M3S#10106
G4X[#10104*60]
N2
(---- END ----) 


M5
M99
%