LIM_CHK:
IF(ABS(MS_ERR_X)>LIM_ERR)OR(ABS(MS_ERR_Y)>LIM_ERR)OR(ABS(MS_ERR)>LIM_ERR) GOTOF ERR1
MEAS_HR=($A_DAY-MEAS_DAY)*24-MEAS_HOUR+$A_HOUR
IF(MEAS_HR>SET_HR)OR(MEAS_DAY==0)OR(MEAS_HOUR==0) GOTOF SAVE_VAR
IF(PREV_ERR_X==0)AND(PREV_ERR_Y==0)AND(PREV_ERR_Z==0) GOTOF SAVE_VAR
IF(ABS(MS_ERR_X-PREV_ERR_X)>PREV_ERR)OR(ABS(MS_ERR_Y-PREV_ERR_Y)>PREV_ERR)OR(ABS(MS_ERR-PREV_ERR_Z)>PREV_ERR) GOTOF ERR1
STOPRE
SAVE_VAR:
MEAS_DAY=$A_DAY
MEAS_HOUR=$A_HOUR
PREV_ERR_X=MS_ERR_X
PREV_ERR_Y=MS_ERR_Y
PREV_ERR_Z=MS_ERR ;测量修正的值赋给变量保存
TB_CNT=1 ;当前间隔测量次数置为1
STOPRE
CORR:
DEF_MACH_AX1=CTRANS(X,DEF_MACH_AX1_X,Y,DEF_MACH_AX1_Y,Z,DEF_MACH_AX1_Z):CTRANS(X,PREV_ERR_X,Y,PREV_ERR_Y,Z,PREV_ERR_Z) ;
STOPRE
RET