# Direct input of measurement data

Enter the measurement results of linear axes X, Y and Z (in mm) for each pose. In addition, specify the related angles of the rotary axes. In the example below, an AB table kinematic was measured in pose A=20 and B=0 degrees. Although there is no C axis in the example, the C position must be transferred with 0.

## Programing Example

Example of the direct input of measured data

; Defining variables

#VAR

V.L.N = 6 ( number of points measured )

V.L.X[V.L.N] ( X coordinate of points measured )

V.L.Y[V.L.N] ( Y coordinate of points measured )

V.L.Z[V.L.N] ( Z coordinate of points measured )

V.L.RESULT_V[3] ( array to save calculation results )

V.L.A = 20 ( position of A axis )

V.L.B = 0 ( position of B axis )

V.L.C = 0 ( position of C axis )

#ENDVAR

; List of XYZ coordinates of all points measured in this pose, in mm

V.L.X[0] = 101.807 V.L.Y[0] = 273.174 V.L.Z[0] = 130.068

V.L.X[1] = 116.795 V.L.Y[1] = 258.750 V.L.Z[1] = 130.068

V.L.X[2] = 104.246 V.L.Y[2] = 244.524 V.L.Z[2] = 129.024

V.L.X[3] = 89.606 V.L.Y[3] = 257.804 V.L.Z[3] = 132.980

V.L.X[4] = 96.606 V.L.Y[4] = 269.804 V.L.Z[4] = 133.957

V.L.X[5] = 102.780 V.L.Y[5] = 264.366 V.L.Z[5] = 139.522

; Call cycle to calculate sphere centre point

L CYCLE [NAME = "SysCalcSphere.ecy"]

; Add new coordinates to calculate kinematic

L CYCLE [NAME = "SysCalibFitAddRecord.ecy" \

@P1 = V.L.RESULT_V[0] \

@P2 = V.L.RESULT_V[1] \

@P3 = V.L.RESULT_V[2] \

@P4 = V.L.A \

@P5 = V.L.B \

@P6 = V.L.C \

]

; ... Executing input for all poses

This step must be executed for every pose measured. The calculation process can then be started from the same NC program as the values entered.

## Programing Example

Calling the calculation cycle

V.P.MAX_PRECISION = 0.06 (precision)

V.P.LIST_FORMAT = 1 ( list format for result )

#ENDVAR

; Call calculation cycle

L CYCLE [NAME = "SysCalibFit.ecy" \

@P1 = V.L.LIST \

@P2 = V.L.MAX_PRECISION \

]

; Call to end cycle

L CYCLE [NAME = "SysCalibFitFinalize.ecy"]