雷尼绍子程序(3)

2020-06-28 11:38

G0 AX[AXV[3]]=_REN[2] IF RENC[49]<>0 GOTOF LN4

RENC[28]=(RENC[28]+RENC[25])/2 GOTOF LN4 LN3:

RENC[49]=1 LN4:

G0 AX[AXV[3]]=_REN[2] AX[AXV[2]]=_REN[1] STOPRE RET

%_N_L9723_SPF

;$PATH=/_N_SPF_DIR ; REN ACT OFFSET STOPRE

RENC[16]=$P_TOOLL[1]*RENC[29]/RENC[7]; INC LEN, BASE, WEAR RENC[16]=0 STOPRE RET

%_N_L9724_SPF

;$PATH=/_N_SPF_DIR ; SETTINGS

RENC[7]=1; METRIC UNITS

;RENC[7]=1/25.4 ;INCH UNITS RENC[20]=1; SELECT OPTIONS RENC[14]=0; TOOL MANAGEMENT RENP[8]=3; PROBE AXIS G90G40

; ASSIGN AXIS ADDRESS

CASE(ABS(RENP[8])) OF 1 GOTOF PAX1 2 GOTOF PAX2 3 GOTOF PAX3 RENC[15]=400 L9700; ALARM AXIS PAX1: AXV[1]=Z AXV[2]=X AXV[3]=Y GOTOF PEND

PAX2: AXV[1]=Y AXV[2]=Z AXV[3]=X GOTOF PEND

PAX3: AXV[1]=X AXV[2]=Y AXV[3]=Z PEND:

;SET TOOL NUMBER

IF RENTL==\

R32=R20;STORE T NUMBER AS EDGE IF R32<=9 GOTOF LN1 STOPRE R32=1 LN1: STOPRE

R20=GETT(RENTL,RENC[14]) GOTOF LN3 LN2:

IF R20==9999 GOTOF LN3 STOPRE

R32=R20-TRUNC(R20) R32=ROUND(R32*10)

IF R32<>0 GOTOF LN3 STOPRE R32=1 LN3:

; INCH/METRIC

IF ($P_GG[13]==1)OR($P_GG[13]==3);G70/G700 INCH MODE RENC[29]=1/25.4 RENC[19]=200 G700

ELSE;IF ($P_GG[13]==2)OR($P_GG[13]==4);G71/G710 METRIC MODE RENC[29]=1 RENC[19]=5000 G710 ENDIF

IF (RENP[6]<=0) OR (RENP[6]>1) RENP[6]=.1 ELSE ENDIF STOPRE RET

%_N_L9725_SPF

;$PATH=/_N_SPF_DIR DEF INT CNT=35 ; OUTPUT CLEAR LN1:

RENC[CNT]=9999 CNT=CNT+1

IF CNT<=49 GOTOB LN1 STOPRE RET

%_N_L9726_SPF

;$PATH=/_N_SPF_DIR

PROC L9726(REAL _AA,REAL _DD,REAL _XX,REAL _YY,REAL _ZZ,REAL _QQ,REAL _SS) EXTERN L9710(REAL,REAL,REAL,REAL) DEF REAL _REN[33] ;REN XYZ BASIC MOVE IF _QQ<>9999 GOTOF LN1 _QQ=5*RENC[29] LN1:

IF _DD==9999 GOTOF LN2 ; A D INPUT XY PLANE ONLY

_XX=$AA_IW[AXV[1]]+((_DD/2)*COS(_AA)) _YY=$AA_IW[AXV[2]]+((_DD/2)*SIN(_AA)) _ZZ=$AA_IW[AXV[3]];-RENC[16] LN2:

_REN[31]=8*RENP[6]*RENC[29]; BACK OFF RENC[49]=0

_REN[1]=$AA_IW[AXV[1]] IF _XX<>9999 GOTOF LN3 _XX=_REN[1] LN3:

_REN[2]=$AA_IW[AXV[2]] IF _YY<>9999 GOTOF LN4 _YY=_REN[2]

LN4:

_REN[3]=$AA_IW[AXV[3]];-RENC[16] IF _ZZ<>9999 GOTOF LN5 _ZZ=_REN[3] LN5:

; CALC NRML DIR VEC _REN[11]=_XX-_REN[1] _REN[12]=_YY-_REN[2] _REN[13]=_ZZ-_REN[3]

_REN[10]=SQRT((_REN[11]*_REN[11])+(_REN[12]*_REN[12])+(_REN[13]*_REN[13])) IF _REN[10]==0 GOTOF LN6; NO MOVE _REN[11]=_REN[11]/_REN[10] _REN[12]=_REN[12]/_REN[10] _REN[13]=_REN[13]/_REN[10] ; CALC TARGET POS.

_REN[14]=_XX+(_QQ*_REN[11]) _REN[15]=_YY+(_QQ*_REN[12]) _REN[16]=_ZZ+(_QQ*_REN[13])

L9710(_REN[14],_REN[15],_REN[16],RENC[19]*0.6) CASE(RENC[49]) OF 1 GOTOF LN6 2 GOTOF LN7 ; CALC BACK OFF POS.

_REN[21]=$AA_MW[AXV[1]]-(_REN[31]*_REN[11]) _REN[22]=$AA_MW[AXV[2]]-(_REN[31]*_REN[12])

_REN[23]=$AA_MW[AXV[3]]-(_REN[31]*_REN[13]);-RENC[16]

G1 AX[AXV[1]]=_REN[21] AX[AXV[2]]=_REN[22] AX[AXV[3]]=_REN[23] F=RENC[19]; BACK OFF STOPRE

G4F.3; DWELL MP700 STOPRE

L9710(_REN[14],_REN[15],_REN[16],100*RENC[29]) CASE(RENC[49]) OF 1 GOTOF LN6 2 GOTOF LN7 RENC[49]=0; NRML MEAS RENC[24]=$AA_MW[AXV[1]] RENC[25]=$AA_MW[AXV[2]] RENC[26]=$AA_MW[AXV[3]] GOTOF LN8 LN6:

RENC[49]=1

RENC[24]=_REN[1] RENC[25]=_REN[2] RENC[26]=_REN[3] GOTOF LN8 LN7:

RENC[49]=2

RENC[24]=_REN[14] RENC[25]=_REN[15] RENC[26]=_REN[16] LN8:

G1 AX[AXV[1]]=_REN[1] AX[AXV[2]]=_REN[2] AX[AXV[3]]=_REN[3] F=RENC[19] STOPRE RET

%_N_L9731_SPF

;$PATH=/_N_SPF_DIR

PROC L9731(REAL _AA,REAL _YY,REAL _XX) DEF REAL _REN[33]

; REN RENP[9] LOAD/ATAN IF _XX<>9999 GOTOF LN6

_REN[3]=ROUND(_AA/30); ANG NO _REN[4]=0; COUNT _REN[5]=0 LN1:

IF _REN[5]==1 GOTOF LN2 RENP[9]=RENP[0] _REN[5]=1 GOTOF LN3 LN2:

RENP[9]=RENP[1] _REN[5]=0 LN3:

IF _REN[4]>12 GOTOF LN4

IF ABS(_REN[3])==_REN[4] GOTOF LN10 _REN[4]=_REN[4]+3 GOTOB LN1 LN4:

IF _REN[3]<0 GOTOF LN5

RENP[9]=RENP[9+_REN[3]-(TRUNC(_REN[3]/3)*1)] GOTOF LN10 LN5:

RENP[9]=RENP[9+12+_REN[3]-(TRUNC((12+_REN[3])/3)*1)] GOTOF LN10 LN6:

_XX=(ROUND(_XX*10000))/10000 _YY=(ROUND(_YY*10000))/10000 IF _XX<>0 GOTOF LN7 RENC[18]=90

IF _YY >= 0 GOTOF LN10 RENC[18]=-90 GOTOF LN10 LN7:

IF _YY<>0 GOTOF LN8 RENC[18]=0

IF _XX >= 0 GOTOF LN10 RENC[18]=180 GOTOF LN10 LN8:

RENC[18]=ATAN2(ABS(_YY),ABS(_XX)) IF _XX >= 0 GOTOF LN9 RENC[18]=180-RENC[18] LN9:

IF _YY >= 0 GOTOF LN10 RENC[18]=-RENC[18] LN10: STOPRE RET

%_N_L9732_SPF

;$PATH=/_N_SPF_DIR

PROC L9732(REAL _TT,REAL _DD,REAL _CC,REAL _ZZ,REAL _SS,REAL _WW) DEF REAL _REN[33] ; REN OFFSET TYPE

IF _WW==1 GOTOF LN20 ; UPDATE LENGTH

IF _ZZ==9999 GOTOF LN10 ; LEN GEOM

;$TC_DP3[TRUNC(_TT),_DD]=$TC_DP3[TRUNC(_TT),_DD]-_CC ; LEN WEAR

$TC_DP12[TRUNC(_TT),_DD]=$TC_DP12[TRUNC(_TT),_DD]-_CC GOTOF LN50 LN10:

; RAD GEOM

;$TC_DP6[TRUNC(_TT),_DD]=$TC_DP6[TRUNC(_TT),_DD]-_CC ; RAD WEAR

$TC_DP15[TRUNC(_TT),_DD]=$TC_DP15[TRUNC(_TT),_DD]-_CC ; RAD

RENC[18]=$TC_DP6[TRUNC(_TT),_DD]+$TC_DP15[TRUNC(_TT),_DD] GOTOF LN50 LN20:

IF _SS==9999 GOTOF LN50 ; ZERO OFFSETS UPDATE

_REN[4]=$P_UIFR[$P_UIFRNUM,AXV[1],TR]; CURRENT ZERO OFFSET _REN[5]=$P_UIFR[$P_UIFRNUM,AXV[2],TR] _REN[6]=$P_UIFR[$P_UIFRNUM,AXV[3],TR] IF RENC[40]==9999 GOTOF LN30 IF _SS==1000 GOTOF LN25 IF _SS>=0 GOTOF LN22

$P_UIFR[ABS(_SS),AXV[1],TR]=_REN[4]+RENC[35]; SET TO PROGRAM ZERO GOTOF LN30 LN22:

$P_UIFR[ABS(_SS),AXV[1],TR]=_REN[4]+RENC[40]; SET TO PROGRAM POSITION GOTOF LN30 LN25:

_REN[4]=$P_UBFR[AXV[1],TR]

$P_UBFR[AXV[1],TR]=_REN[4]+RENC[40];SET BASE ZERO LN30:

IF RENC[41]==9999 GOTOF LN40 IF _SS==1000 GOTOF LN35 IF _SS>=0 GOTOF LN32

$P_UIFR[ABS(_SS),AXV[2],TR]=_REN[5]+RENC[36]; SET TO PROGRAM ZERO GOTOF LN40 LN32:

$P_UIFR[ABS(_SS),AXV[2],TR]=_REN[5]+RENC[41]; SET TO PROGRAM POSITION GOTOF LN40 LN35:

_REN[5]=$P_UBFR[AXV[2],TR]

$P_UBFR[AXV[2],TR]=_REN[5]+RENC[41];SET BASE ZERO LN40:

IF _ZZ==9999 GOTOF LN50

IF RENC[42]==9999 GOTOF LN50 IF _SS==1000 GOTOF LN45 IF _SS>=0 GOTOF LN42

$P_UIFR[ABS(_SS),AXV[3],TR]=_REN[6]+RENC[37]; SET TO PROGRAM ZERO GOTOF LN50 LN42:

$P_UIFR[ABS(_SS),AXV[3],TR]=_REN[6]+RENC[42]; SET TO PROGRAM POSITION GOTOF LN50 LN45:


雷尼绍子程序(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:近代化学基础第四章习题答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: