Macro library

Русский

O9023 TURN.NC

%
O9023
(SPINDLE-WARMING-UP)
(FANUC TURN)

#101=#20(-T- TOTAL TIME, MIN)
#102=10(STEP RPM)
#103=0.1(SART TIME)
#104=0.2(STOP TIME)
#105=100(MIN RPM)
#106=#19(-S- MAX RPM)


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


(---- CHECK VARIABLE ----) 
IF[#103LT0]THEN#3000=1(WRONG SART TIME)
IF[#104LT0]THEN#3000=2(WRONG STOP TIME)
IF[#101LE0]THEN#3000=3(WRONG TOTAL TIME)
IF[[#101-#103-#104]LE0]THEN#3000=3(WRONG TOTAL TIME)
IF[#105GT#106]THEN#3000=4(WRONG MIN PRM)
IF[[#5021NE0]OR[#5022NE0]]THEN#3000=5(NOT AT REFERENCE POINT)
(---- END ----) 

G97

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


#111=[#106-#105]/#102(NUMBER OF CYCLES)
#112=[[#101-#103-#104]*60]/[[#106-#105]/#102](CYCLE TIME)


(---- CHECKING STEP ----) 
#113=#102(STEP)
#114=0(CORRECTOR)
WHILE[#112LT1.]DO1
#114=#102(STEP)
#111=[#106-#105]/#113(NUMBER OF CYCLES)
#112=[[#101-#103-#104]*60]/[[#106-#105]/#113](CYCLE TIME)
#113=#113+#102
END1
#113=#113-#114(CORRECTION OF THE LAST ITERATION)
#112=[FIX[#112*1000]]/1000
(---- END ----) 


#115=0
WHILE[#115LE#111]DO1
M3S[#105+#115*#113](TURNING)
G4X#112(PAUSE)
#115=#115+1
END1


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


M5
M99
%