​

RationalDMIS 2020  测头校验RMS Error_脱机


    对工件进行检测之前,需要对所用的测头进行校验;程序中出现的数值是软件记录测杆红宝石球心的位置,但实际测量时是红宝石球表面接触工件,这就需要对实际的接触点与软件记录的位置沿着测点矢量方向进行测头半径、位置的补偿。通过校验,消除以下三个方面的误差:


(1)理论测针半径与实际测针半径之间的误差;


(2)理论测杆长度与实际测杆长度的误差;


(3)测头旋转角度的误差;

RationalDMIS 2020  测头校验RMS Error_脱机_02

RationalDMIS 2020  测头校验RMS Error_旋转角度_03

  注:工件测量过程中使用的每一个角度都是由A角B角构成的,绕机器坐标系X轴旋转的角度为A角,应用范围为0—105度;绕Z轴旋转的角定义为B角,应用范围为-180--+180度;角度的正负判定根据右手法则:拇指指向Z轴正方向,顺四指旋转角度为正,反之为负角;对于自动测座,A角B角是以7.5度为一个分度,手动测座以15度为一个分度进行旋转。


  均方根值(RMS)也称作为效值,它的计算方法是先平方、再平均、然后开方。



    RMS是表示测量值与真实值之间的符合程度,是和真实值做比较。

RationalDMIS 2020  测头校验RMS Error_脱机_04


 RMS Error:这是均方根误差,它是根据校准期间获取的所有点计算得出的。


  控制器校验form error值由最大/最小偏差设置为RMS误差;renishaw声明RMS误差更能反映真实的from error;


程序设置探头校验误差的选项:


RationalDMIS 2020  测头校验RMS Error_脱机_05

RationalDMIS 2020  测头校验RMS Error_旋转角度_06

RationalDMIS 2020  测头校验RMS Error_脱机_07


$$/*  Header

DMISMN/'Created by [爱科腾瑞科技(北京)有限公司] on 星期一, 六月 28, 2021', 4.0

UNITS/MM, ANGDEC, MMPS

WKPLAN/XYPLAN

PRCOMP/ON

TECOMP/ON

FLY/1.0000

MODE/MAN

SNSET/APPRCH, 2.0000

SNSET/RETRCT, 2.0000

SNSET/DEPTH, 0.0000

SNSET/SEARCH, 10.0000

SNSET/CLRSRF, 20.0000

RECALL/D(MCS)

SNSLCT/S(40-D2)

GEOALG/BF, LSTSQR

GEOALG/ANGLB, DEFALT

GEOALG/CIRCLE, LSTSQR

GEOALG/ARC, LSTSQR

GEOALG/PLANE, LSTSQR

$$

$$

$$*/

$$

$$ Change sensor setting for Calibration

SNSET/APPRCH, 3.0000

SNSET/RETRCT, 3.0000

SNSET/SEARCH, 10.0000

SNSET/CLRSRF, 15.0000

$$

$$ This sample DMIS Macro is provided by External-Array Software, Inc.

$$ It should be modified for your own use. There is no guarantee for

$$ the quality of this Macro. November, 2003

$$ FUNCION: Move machine along GI, GJ, GK direction so that the

$$     sensor mounting point will be on the plane defined by

$$     PLANE( POINT(GX, GY, GZ), VECTOR( GI, GJ, GK) )

$$ ALL Macro parameters are in PCS and Current UNITS

$$ Last update: 3-1-04 Add mode checking. only works in PROG MODE

$$ Last update: 7-6-10 Add 'SNSLABEL'. To this Sensor label that

$$        the Macro is generated. If the current sensor

$$    length is different from SNSLABEL, the difference

$$    will be used to adjust GOTO clearance position

$$ Last update: 9-27-10 Optimize the clear goto position. Too far from

$$ the sphere center.

$$ Last update: 10-31-10 When the current position is above the ClEAR

$$ move direct above the CLEAR instead of to the CLEAR level

$$ Labe update: 12-13-2011 Return to V3.0 macro

$$ Last update: 2-23-2012. Ian Kavanagh

$$ Last update: 10-25-2012.

$$ Was: GOTO/GX+DX*GI, GY+DY*GJ, GZ+DZ*GK

$$ Is:  GOTO/GX+DX, GY+DY, GZ+DZ

$$ Whilst programming I defined a new angle, so dropped it on to the sphere

$$  for calibration. 

$$  Plenty of room to travel clear to the sphere but instead of going to 

$$  a clear plane above the sphere first it moved in the X and Y axis first, 

$$  had I left it the probe body would of collided with the sphere

M(EASI_CLEARMNT_GOTO) = MACRO/'SNSLABEL',GX, GY, GZ, GI, GJ, GK

DECL/LOCAL, REAL, CURX, CURY, CURZ, DD, DX, DY, DZ, DMX, DMY, DMZ

DECL/LOCAL, CHAR, 255, SSNAME, MMODE

MMODE = VALUE/MODE

IF/( MMODE .EQ. 'PROG,MAN' )

CURX = VALUE/GOTO, XAXIS

CURY = VALUE/GOTO, YAXIS

CURZ = VALUE/GOTO, ZAXIS

DMX = ASSIGN/CURX

DMY = ASSIGN/CURY

DMZ = ASSIGN/CURZ

SSNAME = VALUE/SNSLCT

DX = OBTAIN/SS(@SSNAME), 2

DY = OBTAIN/SS(@SSNAME), 3

DZ = OBTAIN/SS(@SSNAME), 4

CURX = ASSIGN/ (CURX - DX)

CURY = ASSIGN/ (CURY - DY)

CURZ = ASSIGN/ (CURZ - DZ)

DD = ASSIGN/((GX-CURX)*GI+(GY-CURY)*GJ+(GZ-CURZ)*GK)

IF/(DD .GT. 0)

GOTO/DMX+GI*DD, DMY+GJ*DD, DMZ+GK*DD

ENDIF

GOTO/GX+DX, GY+DY, GZ+DZ

ENDIF

ENDMAC


$$ Sensor::40-D2 calibration

KNPTN1 = ASSIGN/0

$$ ThChange() is to check whether activating this sensor requires change rack

$$ Get.Status.ThChange(40-D2, KNPTN1)

IF/KNPTN1.EQ.0

 CALL/M(EASI_CLEARMNT_GOTO), (40-D2), -50.500000, 49.500000, 215.301062,$

 0.000000, 0.000000, 1.000000

ENDIF

SNSLCT/S(40-D2)

DMESW/COMAND,'WAITSTOP'

CALIB/SENS, S(40-D2), F(NAN), 9

GOTO/ -50.500000, 49.500000, -52.098938

PTMEAS/CART, -50.500000, 49.500000, -68.098938, 0.000000, 0.000000, 1.000000

GOTO/ -41.649475, 49.500000, -65.470429

PTMEAS/CART, -39.500568, 49.500000, -74.449463, 0.866025, 0.000000, 0.500000

GOTO/ -38.911943, 55.005341, -68.604279

GOTO/ -44.705971, 59.535552, -67.419252

GOTO/ -51.526264, 62.288223, -68.604279

PTMEAS/CART, -55.999716, 59.025787, -74.449463, -0.433013, 0.750000, 0.500000

GOTO/ -61.061794, 56.782882, -68.604279

GOTO/ -62.088057, 49.500000, -67.419252

GOTO/ -61.061794, 42.217118, -68.604279

PTMEAS/CART, -55.999716, 39.974213, -74.449463, -0.433013, -0.750000, 0.500000

PTMEAS/CART, -56.850525, 38.500568, -80.799988, -0.500000, -0.866025, 0.000000

GOTO/ -54.180255, 32.185760, -80.799988

GOTO/ -48.649736, 31.895918, -80.799988

GOTO/ -43.300334, 33.329286, -80.799988

PTMEAS/CART, -42.001339, 40.061280, -80.799988, 0.669131, -0.743145, 0.000000

GOTO/ -35.170441, 40.649475, -80.799988

GOTO/ -33.185760, 45.819745, -80.799988

GOTO/ -32.895918, 51.350264, -80.799988

PTMEAS/CART, -38.897013, 54.665982, -80.799988, 0.913545, 0.406737, 0.000000

GOTO/ -37.345556, 61.344314, -80.799988

GOTO/ -41.649475, 64.829559, -80.799988

GOTO/ -46.819745, 66.814240, -80.799988

PTMEAS/CART, -51.827621, 62.131472, -80.799988, -0.104528, 0.994522, 0.000000

GOTO/ -57.699666, 65.670714, -80.799988

GOTO/ -62.344314, 62.654444, -80.799988

GOTO/ -65.829559, 58.350525, -80.799988

PTMEAS/CART, -62.923502, 52.140697, -80.799988, -0.978148, 0.207912, 0.000000

GOTO/ -67.216622, 53.053228, -76.189532

GOTO/ -65.465023, 52.680914, -71.897344

GOTO/ -59.131593, 51.334702, -65.455391

GOTO/ -50.500000, 49.500000, -52.098938

ENDMES

DMESW/COMAND,'WAITSTOP'

$$ Additional CALL for a clear move

CALL/M(EASI_CLEARMNT_GOTO), (40-D2), -50.500000, 49.500000, 215.301062, 0.000000, 0.000000, 1.000000

$$

$$ Reset sensor setting for measurement

SNSET/APPRCH, 2.0000

SNSET/RETRCT, 2.0000

SNSET/SEARCH, 10.0000

SNSET/CLRSRF, 20.0000

$$


RationalDMIS 2020  测头校验RMS Error_脱机_08