可能出问题的代码部分:
Y0 F1000
X0 F1000
$P_UIFR[1,X,TR]=$AA_IM[X]
$P_UIFR[1,Y,TR]=$AA_IM[Y]
全部代码
;==================变量注释======================
;R1=X0坐标
;R2=Y0坐标
;R3=Z0坐标
;R4=Z1 相对于Z0的值,无正负号
;R5=D 理论直径
;R15=B B轴角度
;R16=A A轴角度
;R6=2/D 半径
;R7=测量起始位置
;R8=+X实际值
;R9=-X实际值
;R10=+Y实际值
;R11=-Y实际值
;R17=+X检测值
;R18=-X检测值
;R19=+Y检测值
;R20=-Y检测值
;===================调用探头=====================
T1000
M6
M31
STOPRE
M5 M9 D1
;==================启用探头定位设置======================
_SPEED[1]=3000
_SPEED[2]=3000
G0 G90 G54 G60 G601
FFWON
G_BACK_TUNNEL
D1
;==================回转平面======================
M11 M21
CYCLE800(0,"TC1"200000,54,0,0,0,R15,R16,0,R1,R2,R3,1,100,0)
M10 M20
;====================定位XYZ,到孔内==========================
X0 Y0
R4=ABS(R4)
Z100
G1 F1000
Z2
Z=R3-R4
R6=R5/2
R7=R5/2-3
IF R7>0 GOTOF AA
R7=0
AA:
STOPRE
M38
; =================== MEAS+X 测量+X=====================
SPOS=0
G1 X=R7 F1000
MEAS=1 X=R6+3 F300
STOPRE
R8=$AA_MW[X]
; ==================== MEAS-X 测量-X=====================
G1 X=-R7 F1000
SPOS=180
MEAS=1 X=-R6-3 F300
STOPRE
R9=$AA_MW[X]
; ===================== MEAS+Y 测量+Y====================
X0 F1000
SPOS=90
Y=R7
MEAS=1 Y=R6+3 F300
STOPRE
R10=$AA_MW[Y]
; ===================== MEAS-Y 测量-Y====================
Y0 F1000
SPOS=270
Y=-R7
MEAS=1 Y=-R6-3 F300
STOPRE
R11=$AA_MW[Y]
STOPRE
;-=====================探头精确定位=======================
G60 G601
FFWON
Y0 F1000
X0 F1000
; ============== 对测量结果进行计算并写入偏置==========
X=(R8+R9)/2
Y=(R10+R11)/2
$P_UIFR[1,X,TR]=$AA_IM[X]
IF R16==-90
$P_UIFR[1,Z,TR]=($AA_IM[Y])*(-1)
ENDIF
IF R16==0
$P_UIFR[1,Y,TR]=$AA_IM[Y]
ENDIF
;==================检测MEAS+X ============================
SPOS=0
G1 X=R7 F1000
MEAS=1 X=R6+3 F300
STOPRE
R17=$AA_MW[X]
;==================检测MEAS+X ===========================
G1 X=-R7 F1000
SPOS=180
MEAS=1 X=-R6-3 F300
STOPRE
R18=$AA_MW[X]
; ================== 检测MEAS+Y =========================
X0 F1000
SPOS=90
Y=R7
MEAS=1 Y=R6+3 F300
STOPRE
R19=$AA_MW[Y]
; ================== 检测MEAS+Y ==========================
Y0 F1000
SPOS=270
Y=-R7
MEAS=1 Y=-R6-3 F300
STOPRE
R20=$AA_MW[Y]
STOPRE
;=====================根据检测点计算圆跳动====================
R901=R17
R902=R18
R903=R19
R904=R20
TPV(4)
MSG(“圆跳动为”<<R922)
M00
;=======================回退============================
G0 Z=R3+150
G_BACK_TUNNEL
;======================程序结束===========================
M17