发布于 2010-07-13 00:26:04
0楼
IF R0=0 GOTOF AA
IF R0=1 GOTOF BB
MSG("R0参数异常。若要开始,请置R0=0")
G04 F2
M30
AA:
MSG("即将读取第一点坐标,按Nc Start继续。")
M0
R31=$AA_IM[X]
R32=$AA_IM[Y]
R0=1
MSG("读取第一点坐标成功,请移动坐标到第二点后再次执行本程序!")
G04 F2
M30
BB:
MSG(即将读取第二点坐标,按Nc Start继续。")
M0
R33=$AA_IM[X]
R34=$AA_IM[Y]
R0=3
R36=R32-R34
IF R36<0 GOTOF CC
R35=ATAN2((R32-R34),(R31-R33))
MSG(“计算坐标成功。角度偏差已存入R35!”)
G04 F2
M30
CC:
R35=180-ATAN2(ABS(R32-R34),(R31-R33))
MSG(“计算坐标成功。角度偏差已存入R35!”)
M30
;优点,只要别的地方没用过R0,保证每次都能成功读取两个点。缺点,开始前,需要手动置R0=0。