$$DMISLAYER/'ACC2(Calibration).dms'
DECL/REAL,PORTX[9],PORTY[9],LZ,RZ,ZMEAN[9],PHX,PHY,X,Y,PHZ,PHXX,PHYY
DECL/REAL,DH,DE,IT,JT,I,J,K,SPX,SPY,SPZ,SNLENG,MLZ,MRZ,MZMEAN[9],PHZZ
DECL/INTGR,10,L,A,R,PORTDIR
DECL/CHAR,10,CRNAME,CRNUM,PTNAME,PTNUM,calibfil,HomeDir
DMESW/COMAND,'ACC2:K,Y0'
UNITS/MM,ANGDEC
$$ENDLAYER
WKPLAN/XYPLAN
MODE/MAN
RECALL/D(MCS)
$$S(DEFAULT)=SNSDEF/PROBE,INDEX,POL,0.0000,0.0000,$
0.000000,0.000000,-1.000000,126.9744,1.9797
SNLENG=OBTAIN/SA(DEFAULT),9
SNSLCT/S(DEFAULT)
PRCOMP/OFF
CALL/EXTERN,DME, 'V3DHOME',HomeDir
CalibFil = CONCAT(HomeDir,'\Users\Sensor\Acc2calib.data')
DID(PORTDATA)=DEVICE/STOR, CalibFil
OPEN/DID(PORTDATA),DIRECT,OUTPUT,OVERWR
F(RACKLN)=FEAT/LINE,UNBND,CART, 150.000000, 300.000000, 250.000000, 1.000000, $
0.000000, 0.000000, 0.000000, -1.000000, 0.000000
MEAS/LINE,F(RACKLN),2
PTMEAS/CART,50.000000,300.000000,250.000000,0.000000,-1.000000,0.000000
PTMEAS/CART,350.000000,300.000000,250.000000,0.000000,-1.000000,0.000000
ENDMES
I = OBTAIN/FA(RACKLN),7
J = OBTAIN/FA(RACKLN),8
K = OBTAIN/FA(RACKLN),9
WRITE/DID(PORTDATA),I,',',J,',',K
IT=ABS(I)
JT=ABS(J)
IF/IT > JT
PORTDIR=1
ELSE
IF/J > 0
PORTDIR=2
ELSE
PORTDIR=3
ENDIF
ENDIF
TEXT/OPER,'Move the probe about 5mm above the Datum Ball(8mm) on the rack probe.'
F(RACKPT)=FEAT/POINT,CART, 50.000000, 50.000000, 300.000000, 0.000000, $
0.000000, 1.000000
MEAS/POINT,F(RACKPT),0
ENDMES
D(RACK)=TRANS/XORIG,FA(RACKPT),YORIG,FA(RACKPT),ZORIG,FA(RACKPT)
MODE/PROG,MAN
F(RACKPT)=FEAT/POINT,CART, 0.000000, 0.000000, -5.000000, 0.000000, $
0.000000, 1.000000
MEAS/POINT,F(RACKPT),1
PTMEAS/CART,0.000000,0.000000,-5.000000,0.000000,0.000000,1.000000
ENDMES
D(RACK)=TRANS/XORIG,FA(RACKPT),YORIG,FA(RACKPT),ZORIG,FA(RACKPT)
FEDRAT/POSVEL,MPM,3.6
FEDRAT/MESVEL,MPM,0.1
SNSET/APPRCH,6.000000
SNSET/RETRCT,4.000000
SNSET/DEPTH,6.000000
SNSET/SEARCH,12.499300
SNSET/CLRSRF,7.000000
F(RACKSP)=FEAT/SPHERE,OUTER,CART, 0.000000, 0.000000, -4.000000, 8.000000
MEAS/SPHERE,F(RACKSP),5
PTMEAS/CART,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000
PTMEAS/CART,4.000000,0.000000,-4.000000,1.000000,0.000000,0.000000
PTMEAS/CART,0.000000,4.000000,-4.000000,0.000000,1.000000,0.000000
PTMEAS/CART,-4.000000,0.000000,-4.000000,-1.000000,0.000000,0.000000
PTMEAS/CART,0.000000,-4.000000,-4.000000,0.000000,-1.000000,0.000000
ENDMES
RECALL/D(MCS)
SPX = OBTAIN/FA(RACKSP),4
SPY = OBTAIN/FA(RACKSP),5
SPZ = OBTAIN/FA(RACKSP),6
D(rack)=TRANS/XORIG,FA(RACKSP),YORIG,FA(RACKSP),ZORIG,FA(RACKSP)
FEDRAT/POSVEL,MPM,3.6
FEDRAT/MESVEL,MPM,0.3
IF/(PORTDIR.EQ.1)
GOTO/0.000000,-200.000000,0.000000
ENDIF
IF/(PORTDIR.EQ.2)
GOTO/0,-4,20
GOTO/200.000000,400.000000,0.000000
ENDIF
IF/(PORTDIR.EQ.3)
GOTO/0,-4,20
GOTO/-200.000000,0.000000,0.000000
ENDIF
DMESW/COMAND,'ACC2:D,L0'
TEXT/OPER,'Insert the all LID CLIPS at the joints of ports'
TEXT/OPER,'Make sure all ports are empty.'
DMESW/COMAND,'ACC2:S,K0'
$$ ************************* + X DIRECTION **********
M(PXDIR)=MACRO/
GOTO/72.0,-54.500000,-30.000000
DO/L,0,7,1
GOTO/72.0+(35*L),-4.500000,-30.000000
A=L+1
CRNUM=STR(A)
CRNAME='PORT'
CRNAME=CONCAT(CRNAME,CRNUM)
F(CRNAME)=FEAT/CIRCLE,INNER,CART, 72.000000+(35*L), -4.500000, -35.000000, 0.000000, $
0.000000, 1.000000,23.420000
MEAS/CIRCLE,F(CRNAME),4
PTMEAS/CART,72.0+(35.0*L)-12.507058,-2.294668,-35.000000,0.984808,-0.173648,0.000000
PTMEAS/CART,72.0+(35.0*L)-5.367252,7.010109,-35.000000,0.422618,-0.906308,0.000000
PTMEAS/CART,72.0+(35.0*L)+5.367252,7.010109,-35.000000,-0.422618,-0.906308,0.000000
PTMEAS/CART,72.0+(35.0*L)+12.507058,-2.294668,-35.000000,-0.984808,-0.173648,0.000000
ENDMES
PORTX[A] = OBTAIN/FA(CRNAME),4
PORTY[A] = OBTAIN/FA(CRNAME),5
PTNUM=STR(A)
PTNAME='LPT_PORT'
PTNAME=CONCAT(PTNAME,PTNUM)
F(PTNAME)=FEAT/POINT,CART, 72.0+(35.0*L)-15, -15.000000, -34.000000, -0.000000, $
-0.000000, 1.000000
MEAS/POINT,F(PTNAME),1
PTMEAS/CART,72.0+(35.0*L)-15,-15.000000,-34.000000,-0.000000,-0.000000,1.00000
ENDMES
LZ = OBTAIN/FA(PTNAME),5
RECALL/D(MCS)
MLZ=OBTAIN/FA(PTNAME),5
RECALL/D(RACK)
PTNUM=STR(A)
PTNAME='RPT_PORT'
PTNAME=CONCAT(PTNAME,PTNUM)
F(PTNAME)=FEAT/POINT,CART, 72.0+(35.0*L)+15, -15.000000, -34.000000, 0.000000, $
0.000000, 1.00000
MEAS/POINT,F(PTNAME),1
PTMEAS/CART,72.0+(35*L)+15,-15.000000,-34.000000,0.000000,0.000000,1.00000
ENDMES
RZ = OBTAIN/FA(PTNAME),5
RECALL/D(MCS)
MRZ=OBTAIN/FA(PTNAME),5
RECALL/D(RACK)
ZMEAN[A]=(LZ+RZ)/2
MZMEAN[A]=(MLZ+MRZ)/2
ENDDO
GOTO/0.000000,-200.000000,-30.000000
TEXT/OPER,'Unlock and remove the autojoint adaptor(PAA1) from the probe head.'
TEXT/OPER,'Remove all LID retaining clips.'
DMESW/COMAND,'ACC2:S,L0'
GOTO/0,0,-70
F(PHPT)=FEAT/POINT,CART, 0.000000, 8.000000, -85.800000, 0.000000, $
0.000000, 1.00000
MEAS/POINT,F(PHPT),1
PTMEAS/CART,0.000000,8.000000,-85.800000,0.000000,0.000000,1.00000
ENDMES
PHZ = OBTAIN/FA(PHPT),5
RECALL/D(MCS)
PHZZ = OBTAIN/FA(PHPT),5
RECALL/D(RACK)
GOTO/25.000000,0.000000,-78.000000
F(PHCR)=FEAT/CIRCLE,INNER,CART, 0.000000, 0.000000, -94.500000, 0.000000, $
0.000000, 1.000000,31.000000
MEAS/CIRCLE,F(PHCR),4
PTMEAS/CART,16.500000,0.000000,-94.500000,1.000000,0.000000,0.000000
GOTO/20.000000,20.000000,-94.500000
PTMEAS/CART,0.000000,16.500000,-94.500000,0.000000,1.000000,0.000000
GOTO/-20.000000,20.000000,-94.500000
PTMEAS/CART,-16.500000,0.000000,-94.500000,-1.000000,0.000000,0.000000
GOTO/-20.000000,-20.000000,-94.500000
PTMEAS/CART,0.000000,-16.500000,-94.500000,0.000000,-1.000000,0.000000
ENDMES
PHX = OBTAIN/FA(PHCR),4
PHY = OBTAIN/FA(PHCR),5
RECALL/D(MCS)
PHXX = OBTAIN/FA(PHCR),4
PHYY = OBTAIN/FA(PHCR),5
RECALL/D(RACK)
ENDMAC
$$ *************************END PXDIR MACRO*************
$$ ************************* + Y DIRECTION **********
M(PYDIR)=MACRO/
$$S(RACKSN)=SNSDEF/PROBE,INDEX,S(DEFAULT),POL,0.000000,90.000000
$$SNSLCT/S(RACKSN)
GOTO/54.500000,72.0,-30.000000
DO/L,0,7,1
GOTO/4.500000,72.0+(35*L),-30.000000
A=L+1
CRNUM=STR(A)
CRNAME='PORT'
CRNAME=CONCAT(CRNAME,CRNUM)
F(CRNAME)=FEAT/CIRCLE,INNER,CART, 4.500000, 72.000000+(35*L), -35.000000, 0.000000, $
0.000000, 1.000000,25.420000
MEAS/CIRCLE,F(CRNAME),4
PTMEAS/CART,2.294668,72.0+(35.0*L)-12.507058,-35.000000,0.173648,0.984808,0.000000
PTMEAS/CART,-7.010109,72.0+(35.0*L)-5.367252,-35.000000,0.906308,0.422618,0.000000
PTMEAS/CART,-7.010109,72.0+(35.0*L)+5.367252,-35.000000,0.906308,-0.422618,0.000000
PTMEAS/CART,2.294668,72.0+(35.0*L)+12.507058,-35.000000,0.173648,-0.984808,0.000000
ENDMES
PORTX[A] = OBTAIN/FA(CRNAME),4
PORTY[A] = OBTAIN/FA(CRNAME),5
PTNUM=STR(A)
PTNAME='LPT_PORT'
PTNAME=CONCAT(PTNAME,PTNUM)
F(PTNAME)=FEAT/POINT,CART, 15.000000, 72.0+(35.0*L)-15, -34.000000, -0.000000, $
-0.000000, 1.000000
MEAS/POINT,F(PTNAME),1
PTMEAS/CART,15.000000,72.0+(35.0*L)-15,-34.000000,-0.000000,-0.000000,1.00000
ENDMES
LZ = OBTAIN/FA(PTNAME),5
RECALL/D(MCS)
MLZ=OBTAIN/FA(PTNAME),5
RECALL/D(RACK)
PTNUM=STR(A)
PTNAME='RPT_PORT'
PTNAME=CONCAT(PTNAME,PTNUM)
F(PTNAME)=FEAT/POINT,CART, 15.000000, 72.0+(35.0*L)+15, -34.000000, 0.000000, $
0.000000, 1.00000
MEAS/POINT,F(PTNAME),1
PTMEAS/CART,15.000000,72.0+(35*L)+15,-34.000000,0.000000,0.000000,1.00000
ENDMES
RZ = OBTAIN/FA(PTNAME),5
RECALL/D(MCS)
MRZ=OBTAIN/FA(PTNAME),5
RECALL/D(RACK)
ZMEAN[A]=(LZ+RZ)/2
MZMEAN[A]=(MLZ+MRZ)/2
ENDDO
GOTO/200.000000,0.000000,-30.000000
TEXT/OPER,'Unlock and remove the autojoint adaptor(PAA1) from the probe head.'
TEXT/OPER,'Remove all LID retaining clips.'
DMESW/COMAND,'ACC2:S,L0'
S(RACKSN)=SNSDEF/PROBE,INDEX,S(DEFAULT),POL,0.000000,90.000000
SNSLCT/S(RACKSN)
GOTO/0,0,-70
F(PHPT)=FEAT/POINT,CART, -8.000000, 0.000000, -85.800000, 0.000000, $
0.000000, 1.00000
MEAS/POINT,F(PHPT),1
PTMEAS/CART,-8.000000,0.000000,-85.800000,0.000000,0.000000,1.00000
ENDMES
PHZ = OBTAIN/FA(PHPT),5
RECALL/D(MCS)
PHZZ = OBTAIN/FA(PHPT),5
RECALL/D(RACK)
GOTO/-25.000000,0.000000,-80.000000
F(PHCR)=FEAT/CIRCLE,INNER,CART, 0.000000, 0.000000, -94.500000, 0.000000, $
0.000000, 1.000000,31.000000
MEAS/CIRCLE,F(PHCR),4
PTMEAS/CART,-16.500000,0.000000,-94.500000,-1.000000,0.000000,0.000000
GOTO/-20.0,-20.0,-94.5
PTMEAS/CART,0.000000,-16.500000,-94.500000,0.000000,-1.000000,0.000000
GOTO/20.0,-20.0,-94.5
PTMEAS/CART,16.500000,0.000000,-94.500000,1.000000,0.000000,0.000000
GOTO/20.0,20.0,-94.5
PTMEAS/CART,0.000000,16.500000,-94.500000,0.000000,1.000000,0.000000
ENDMES
PHX = OBTAIN/FA(PHCR),4
PHY = OBTAIN/FA(PHCR),5
RECALL/D(MCS)
PHXX = OBTAIN/FA(PHCR),4
PHYY = OBTAIN/FA(PHCR),5
RECALL/D(RACK)
ENDMAC
$$ ******************************* END PYDIR MACRO *******
$$ ************************* - Y DIRECTION **********
M(MYDIR)=MACRO/
$$S(RACKSN)=SNSDEF/PROBE,INDEX,S(DEFAULT),POL,0.000000,-90.000000
GOTO/-54.500000,-72.0,-30.000000
DO/L,0,7,1
GOTO/-4.500000,-72.0-(35*L),-30.000000
A=L+1
CRNUM=STR(A)
CRNAME='PORT'
CRNAME=CONCAT(CRNAME,CRNUM)
F(CRNAME)=FEAT/CIRCLE,INNER,CART, -4.500000, -72.000000-(35*L), -35.000000, 0.000000, $
0.000000, 1.000000,25.420000
MEAS/CIRCLE,F(CRNAME),4
PTMEAS/CART,-2.294668,-72.0-(35.0*L)+12.507058,-35.000000,-0.173648,-0.984808,0.000000
PTMEAS/CART,7.010109,-72.0-(35.0*L)+5.367252,-35.000000,-0.906308,-0.422618,0.000000
PTMEAS/CART,7.010109,-72.0-(35.0*L)-5.367252,-35.000000,-0.906308,0.422618,0.000000
PTMEAS/CART,-2.294668,-72.0-(35.0*L)-12.507058,-35.000000,-0.173648,0.984808,0.000000
ENDMES
PORTX[A] = OBTAIN/FA(CRNAME),4
PORTY[A] = OBTAIN/FA(CRNAME),5
PTNUM=STR(A)
PTNAME='LPT_PORT'
PTNAME=CONCAT(PTNAME,PTNUM)
F(PTNAME)=FEAT/POINT,CART, -15.000000, -72.0-(35.0*L)+15, -34.000000, 0.000000, $
0.000000, 1.000000
MEAS/POINT,F(PTNAME),1
PTMEAS/CART,-15.000000,-72.0-(35.0*L)+15,-34.000000,0.000000,0.000000,1.00000
ENDMES
LZ = OBTAIN/FA(PTNAME),5
RECALL/D(MCS)
MLZ=OBTAIN/FA(PTNAME),5
RECALL/D(RACK)
PTNUM=STR(A)
PTNAME='RPT_PORT'
PTNAME=CONCAT(PTNAME,PTNUM)
F(PTNAME)=FEAT/POINT,CART, -15.000000, -72.0-(35.0*L)-15, -34.000000, 0.000000, $
0.000000, 1.00000
MEAS/POINT,F(PTNAME),1
PTMEAS/CART,-15.000000,-72.0-(35*L)-15,-34.000000,0.000000,0.000000,1.00000
ENDMES
RZ = OBTAIN/FA(PTNAME),5
RECALL/D(MCS)
MRZ=OBTAIN/FA(PTNAME),5
RECALL/D(RACK)
ZMEAN[A]=(LZ+RZ)/2
MZMEAN[A]=(MLZ+MRZ)/2
ENDDO
GOTO/-200.000000,0.000000,-30.000000
TEXT/OPER,'Unlock and remove the autojoint adaptor(PAA1) from the probe head.'
TEXT/OPER,'Remove all LID retaining clips.'
DMESW/COMAND,'ACC2:S,L0'
S(RACKSN)=SNSDEF/PROBE,INDEX,S(DEFAULT),POL,0.000000,-90.000000
SNSLCT/S(RACKSN)
GOTO/0,0,-70
F(PHPT)=FEAT/POINT,CART, 8.000000, 0.000000, -85.800000, 0.000000, $
0.000000, 1.00000
MEAS/POINT,F(PHPT),1
PTMEAS/CART,8.000000,0.000000,-85.800000,0.000000,0.000000,1.00000
ENDMES
PHZ = OBTAIN/FA(PHPT),5
RECALL/D(MCS)
PHZZ = OBTAIN/FA(PHPT),5
RECALL/D(RACK)
GOTO/25.000000,0.000000,-80.000000
F(PHCR)=FEAT/CIRCLE,INNER,CART, 0.000000, 0.000000, -94.500000, 0.000000, $
0.000000, 1.000000,31.000000
MEAS/CIRCLE,F(PHCR),4
PTMEAS/CART,16.500000,0.000000,-94.500000,1.000000,0.000000,0.000000
GOTO/20,20,-94.5
PTMEAS/CART,0.000000,16.500000,-94.500000,0.000000,1.000000,0.000000
GOTO/-20,20,-94.5
PTMEAS/CART,-16.500000,0.000000,-94.500000,-1.000000,0.000000,0.000000
GOTO/-20,-20,-94.5
PTMEAS/CART,0.000000,-16.500000,-94.500000,0.000000,-1.000000,0.000000
ENDMES
PHX = OBTAIN/FA(PHCR),4
PHY = OBTAIN/FA(PHCR),5
RECALL/D(MCS)
PHXX = OBTAIN/FA(PHCR),4
PHYY = OBTAIN/FA(PHCR),5
RECALL/D(RACK)
ENDMAC
$$ ******************************* END MYDIR MACRO *******
IF/(PORTDIR.EQ.1)
CALL/M(PXDIR)
ENDIF
IF/(PORTDIR.EQ.2)
CALL/M(PYDIR)
ENDIF
IF/(PORTDIR.EQ.3)
CALL/M(MYDIR)
ENDIF
DO/R,1,8,1
X=SPX+PORTX[R]+PHX
Y=SPY+PORTY[R]+PHY
DH=SPZ-(ABS(ZMEAN[R])+ABS(PHZ)+6.65)
WRITE/DID(PORTDATA),X,',',Y,',',MZMEAN[R]
ENDDO
PHZ=ABS(PHZ)
WRITE/DID(PORTDATA),SNLENG,',',PHY,',',PHZ
WRITE/DID(PORTDATA),PHXX,',',PHYY,',',PHZZ
RECALL/D(MCS)
DMESW/COMAND,'ACC2:K,Y0'
dmesw/COMAND,'configacr:calibfil'
PRCOMP/ON
TEXT/OPER,'Calibration completed! Mount probe on the probe head manualy.'
ENDFIL