125556 (593128), страница 14
Текст из файла (страница 14)
( delete_3d "/w1")
-
-
Приложение Д
Текст управляющей программы ЧПУ:
%_N_CIP6\Emul\Bdd\9013_MPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
DEF INT OP1,OP2,OP3,OP4,OP5,OP6
OP1=1
OP2=1
OP3=1
OP4=1
OP5=1
OP6=1
IF OP1==1
Op_1
ENDIF
IF OP2==1
Op_2
ENDIF
IF OP3==1
Op_3
ENDIF
IF OP4==1
Op_4
ENDIF
IF OP5==1
Op_5
ENDIF
IF OP6==1
Op_6
ENDIF
M10 M19
M02
%_N_NACH_UST_SPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
G01 G90 Y176.080 F5000 G09
G01 G90 A=0 F5000 G09
G01 G90 B=0 F5000 G09
G01 G90 Z=0 F5000 G09
G01 G90 X-496.007 F5000 G09
G01 G90 C=0 F5000 G09
M17
%_N_Op_1_SPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
;======= Канавка =======
EXTERN GLAV_DVIG_Op1(INT,REAL)
EXTERN OTVOD_Op1(INT)
EXTERN PRIPUSK_Op1(INT,INT)
EXTERN CYCLOBR_Op1(INT)
EXTERN VIX_Op1
DEF REAL X_KOR,Z_KOR,B_KOR,A_KOR,Y_KOR,C_KOR
DEF REAL NZ_FI[3],FPR[4]
DEF INT NZ_ACT[3]
DEF INT I_1,I_2
R306=0
MSG(" ")
NACH_UST
Коррекция:
X_KOR=0;
Z_KOR=0;
B_KOR=0;
A_KOR=0;
Y_KOR=0;
C_KOR=0;
Подвод:
DISPOUT_Op1
G01 G91 X= 405.225+X_KOR G09 F=5000
DISPOUT_Op1
G01 G91 Z=-193.959+Z_KOR G09 F=5000
DISPOUT_Op1
G01 G91 B= 0.200+B_KOR G09 F=5000
DISPOUT_Op1
G01 G91 Y=-125.427+Y_KOR G09 F=5000
DISPOUT_Op1
G01 G91 A= -0.000+A_KOR G09 F=5000
DISPOUT_Op1
G01 G91 C= 0.000+C_KOR G09 F=5000
Перемещения гл. движения:
R298= 93.499;X
R299= 0.000;Y
R300= -0.326;Z
R301= 0.000;A
; ПОЛОЖЕНИЕ ЗУБЬЕВ
; У Г О Л Акт.зуб
NZ_FI[1]= 0.000 NZ_ACT[1]=1
NZ_FI[2]= 180.000 NZ_ACT[2]=1
; П Р И П У С К И
; 1проход Подача 2проход Подача 3проход Подача
R213=0.000 R231= 20 R219=0.000 R237= 0 R225=0.000 R243= 0 ;Y
FPR[1]=R231
FPR[2]=R237
FPR[3]=R243
; ЦИКЛИЧЕСКАЯ ОБРАБОТКА
; СТАРТ Экстрем. ФИНИШ Подача
R264= 0.000 R270= -7.500 R276= -15.000 R282= 20 ;A
R260=2;Кол-во циклов обработки
; О Б Р А Б О Т К А
R306=0
FOR I_1=1 TO 3
R307=0
IF FPR[I_1]>0
PRIPUSK_Op1(I_1,1)
FOR I_2=1 TO 2
DISPOUT_Op1
G01 G91 A=NZ_FI[I_2] F=5000
IF NZ_ACT[I_2]==1
R308=I_2
CYCLOBR_Op1(R260,FPR[I_1])
ENDIF
ENDFOR
DISPOUT_Op1
G01 G91 A=360-NZ_FI[2] F=5000
PRIPUSK_Op1(I_1,-1)
ENDIF
ENDFOR
M17
%_N_GLAV_DVIG_Op1_SPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
PROC GLAV_DVIG_Op1(INT NAPR,REAL FGLDV)
DISPOUT_OP1
G01 G91 X=NAPR*R298 Z=NAPR*R300 F=FGLDV
M17
%_N_PRIPUSK_Op1_SPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
PROC PRIPUSK_Op1(INT NUM_PR,INT NAPR_PR, REAL FPR)
IF (NUM_PR==1) AND (FPR>0)
R307=NUM_PR
DISPOUT_Op1
G01 G91 Y=NAPR_PR*R213 F=200
ENDIF
IF (NUM_PR==2) AND (FPR>0)
R307=NUM_PR
DISPOUT_Op1
G01 G91 Y=NAPR_PR*R219 F=200
ENDIF
IF (NUM_PR==3) AND (FPR>0)
R307=NUM_PR
DISPOUT_Op1
G01 G91 Y=NAPR_PR*R225 F=200
ENDIF
M17
%_N_OTVOD_Op1_SPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
PROC OTVOD_Op1(INT NAPR_OTV)
M17
%_N_CYCLOBR_Op1_SPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
PROC CYCLOBR_Op1(INT N_CYCL,REAL FPR)
EXTERN GLAV_DVIG_Op1(INT,REAL)
EXTERN OTVOD_Op1(INT)
DEF INT I_1,I_2
DEF REAL STEP1,STEP2
FOR I_1=1 TO N_CYCL
R309=I_1
IF R282>0
IF N_CYCL==2
G01 G91 A=(I_1-1)*(R276-R264)
ENDIF
IF N_CYCL>2
STEP1=2*(R270-R264)/(N_CYCL-1)
STEP2=2*(R276-R270)/(N_CYCL-1)
I_2=ROUND((N_CYCL-1)/2)
IF I_1<=I_2
IF I_1>1
G01 G91 A=STEP1
ENDIF
ENDIF
IF I_1>I_2
G01 G91 A=STEP2
ENDIF
ENDIF
ENDIF
GLAV_DVIG_Op1(1,FPR)
OTVOD_Op1(1)
GLAV_DVIG_Op1(-1,500)
OTVOD_Op1(-1)
ENDFOR
IF R282>0
DISPOUT_OP1
G01 G91 A=-(R276-R264) F=R282
ENDIF
M17
%_N_DISPOUT_Op1_SPF
;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD
R306=R306+1
MSG (" Поз. N " < M17 %_N_Op_2_SPF ;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD ;======= Затылок ======= EXTERN GLAV_DVIG_Op2(INT,REAL) EXTERN OTVOD_Op2(INT) EXTERN PRIPUSK_Op2(INT,INT) EXTERN CYCLOBR_Op2(INT) EXTERN VIX_Op2 DEF REAL X_KOR,Z_KOR,B_KOR,A_KOR,Y_KOR,C_KOR DEF REAL NZ_FI[3],FPR[4] DEF INT NZ_ACT[3] DEF INT I_1,I_2 R306=0 MSG(" ") NACH_UST Коррекция: X_KOR=0; Z_KOR=0; B_KOR=0; A_KOR=0; Y_KOR=0; C_KOR=0; Подвод: DISPOUT_Op2 G01 G91 X= 405.341+X_KOR G09 F=5000 DISPOUT_Op2 G01 G91 Z=-186.986+Z_KOR G09 F=5000 DISPOUT_Op2 G01 G91 B= 1.000+B_KOR G09 F=5000 DISPOUT_Op2 G01 G91 Y=-120.985+Y_KOR G09 F=5000 DISPOUT_Op2 G01 G91 A= 0.000+A_KOR G09 F=5000 DISPOUT_Op2 G01 G91 C= 0.000+C_KOR G09 F=5000 Перемещения гл. движения: R298= 86.987;X R299= -0.026;Y R300= -1.518;Z R301= 0.000;A ; ПОЛОЖЕНИЕ ЗУБЬЕВ ; У Г О Л Акт.зуб NZ_FI[1]= 0.000 NZ_ACT[1]=1 NZ_FI[2]= 180.000 NZ_ACT[2]=1 ; ДОПОЛНИТЕЛЬНЫЕ СМЕЩЕНИЯ ; Смещение Подача R203= 421.303 R209= 20 ;A ; П Р И П У С К И ; 1проход Подача 2проход Подача 3проход Подача R213=0.000 R231= 20 R219=0.000 R237= 0 R225=0.000 R243= 0 ;Y FPR[1]=R231 FPR[2]=R237 FPR[3]=R243 ; ЦИКЛИЧЕСКАЯ ОБРАБОТКА ; СТАРТ Экстрем. ФИНИШ Подача R262= 0.000 R268= -0.240 R274= 0.000 R280= 20 ;Y R264= 0.000 R270= -25.256 R276= -50.512 R282= 20 ;A R260=7;Кол-во циклов обработки ; О Б Р А Б О Т К А R306=0 DOPSM_Op2 FOR I_1=1 TO 3 R307=0 IF FPR[I_1]>0 PRIPUSK_Op2(I_1,1) FOR I_2=1 TO 2 DISPOUT_Op2 G01 G91 A=NZ_FI[I_2] F=5000 IF NZ_ACT[I_2]==1 R308=I_2 CYCLOBR_Op2(R260,FPR[I_1]) ENDIF ENDFOR DISPOUT_Op2 G01 G91 A=360-NZ_FI[2] F=5000 PRIPUSK_Op2(I_1,-1) ENDIF ENDFOR M17 %_N_GLAV_DVIG_Op2_SPF ;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD PROC GLAV_DVIG_Op2(INT NAPR,REAL FGLDV) DISPOUT_OP2 G01 G91 X=NAPR*R298 Y=NAPR*R299 Z=NAPR*R300 F=FGLDV M17 %_N_DOPSM_Op2_SPF ;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD PROC DOPSM_Op2 IF R209>0 DISPOUT_Op2 G01 G91 A=R203 F=R209 ENDIF M17 %_N_PRIPUSK_Op2_SPF ;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD PROC PRIPUSK_Op2(INT NUM_PR,INT NAPR_PR, REAL FPR) IF (NUM_PR==1) AND (FPR>0) R307=NUM_PR DISPOUT_Op2 G01 G91 Y=NAPR_PR*R213 F=200 ENDIF IF (NUM_PR==2) AND (FPR>0) R307=NUM_PR DISPOUT_Op2 G01 G91 Y=NAPR_PR*R219 F=200 ENDIF IF (NUM_PR==3) AND (FPR>0) R307=NUM_PR DISPOUT_Op2 G01 G91 Y=NAPR_PR*R225 F=200 ENDIF M17 %_N_OTVOD_Op2_SPF ;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD PROC OTVOD_Op2(INT NAPR_OTV) M17 %_N_CYCLOBR_Op2_SPF ;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD PROC CYCLOBR_Op2(INT N_CYCL,REAL FPR) EXTERN GLAV_DVIG_Op2(INT,REAL) EXTERN OTVOD_Op2(INT) DEF INT I_1,I_2 DEF REAL STEP1,STEP2 FOR I_1=1 TO N_CYCL R309=I_1 IF R280>0 IF N_CYCL==2 G01 G91 Y=(I_1-1)*(R274-R262) ENDIF IF N_CYCL>2 STEP1=2*(R268-R262)/(N_CYCL-1) STEP2=2*(R274-R268)/(N_CYCL-1) I_2=ROUND((N_CYCL-1)/2) IF I_1<=I_2 IF I_1>1 G01 G91 Y=STEP1 ENDIF ENDIF IF I_1>I_2 G01 G91 Y=STEP2 ENDIF ENDIF ENDIF IF R282>0 IF N_CYCL==2 G01 G91 A=(I_1-1)*(R276-R264) ENDIF IF N_CYCL>2 STEP1=2*(R270-R264)/(N_CYCL-1) STEP2=2*(R276-R270)/(N_CYCL-1) I_2=ROUND((N_CYCL-1)/2) IF I_1<=I_2 IF I_1>1 G01 G91 A=STEP1 ENDIF ENDIF IF I_1>I_2 G01 G91 A=STEP2 ENDIF ENDIF ENDIF GLAV_DVIG_Op2(1,FPR) OTVOD_Op2(1) GLAV_DVIG_Op2(-1,500) OTVOD_Op2(-1) ENDFOR IF R280>0 DISPOUT_OP2 G01 G91 Y=-(R274-R262) F=R280 ENDIF IF R282>0 DISPOUT_OP2 G01 G91 A=-(R276-R264) F=R282 ENDIF M17 %_N_DISPOUT_Op2_SPF ;$PATH=/_N_WKS_DIR/_N_CIP6\Emul\Bdd\9013_WPD R306=R306+1 MSG (" Поз. N " < M17