0 BEGIN PGM 8170-en MM 1 ;Determine the center of a hole 2 ;with three measuring points and 3 ;set the datum point X/Y in the 4 ;center 5 ;For iTNC530 and TNC426 6 ;from SW-Nr. 280 472-XX 7 ; 8 BLK FORM 0.1 Z X+0 Y+0 Z-50 9 BLK FORM 0.2 X+50 Y+50 Z+0 10 ; 11 ;Tool call Touch Probe 12 TOOL CALL 66 Z 13 ; 14 ;Input parameter 15 FN 0: Q30 =+25 ;HOLE CENTER POINT IN X-AXIS 16 FN 0: Q31 =+25 ;HOLE CENTER POINT IN Y-AXIS 17 FN 0: Q32 =-5 ;MEASURING HEIGHT !PROBE BALL CENTER! 18 FN 0: Q33 =+40 ;HOLE DIAMETER 19 FN 0: Q34 =+0 ;ANGLE FIRST TOUCH POINT !POSITIV! 20 FN 0: Q35 =+120 ;ANGLE SECOND TOUCH POINT !POSITIV! 21 FN 0: Q36 =+240 ;ANGLE THIRD TOUCH POINT !POSITIV! 22 FN 0: Q37 =+5 ;ADDITIONAL SAFTY DISTANCE IN PROBING DIRECTION !ADDED TO~ MP6140! 23 FN 0: Q38 =+20 ;CLEARANCE HEIGHT !ABSOLUTE! 24 FN 0: Q60 =+0 ;NEW DATUM FROM X-AXIS 25 FN 0: Q61 =+0 ;NEW DATUM FROM Y-AXIS 26 ;Input end! 27 ; 28 ;Decision if the first angle must be converted 29 FN 12: IF +Q34 LT +180 GOTO LBL 1 30 FN 9: IF +Q34 EQU +180 GOTO LBL 1 31 FN 11: IF +Q34 GT +0 GOTO LBL 1 32 FN 9: IF +Q34 EQU +0 GOTO LBL 1 33 FN 1: Q34 =-360 + +Q34 34 ; 35 ;Calculations 36 LBL 1 37 FN 18: SYSREAD Q39 = ID1000 NR6140 38 FN 3: Q37 =+Q37 * +Q37 39 FN 5: Q37 = SQRT +Q37 40 FN 2: Q40 =+Q32 - +Q108 41 FN 4: Q41 =+Q33 DIV +2 42 FN 2: Q42 =+Q41 - +Q37 43 FN 2: Q43 =+Q42 - +Q39 44 FN 2: Q44 =+Q43 - +Q108 45 ; 46 ;Calculate the position of the 47 ;first touch point 48 FN 7: Q50 = COS +Q34 49 FN 3: Q51 =+Q50 * +Q42 50 FN 1: Q52 =+Q51 + +Q30 51 FN 6: Q53 = SIN +Q34 52 FN 3: Q54 =+Q53 * +Q42 53 FN 1: Q55 =+Q54 + +Q31 54 FN 3: Q56 =+Q50 * +Q44 55 FN 1: Q57 =+Q56 + +Q30 56 FN 3: Q58 =+Q53 * +Q44 57 FN 1: Q59 =+Q54 + +Q31 58 L Z+Q38 R0 FMAX 59 L X+Q57 Y+Q59 FMAX 60 L Z+2 FMAX 61 L Z+Q40 F2000 62 ;First touch probe cycle 63 TCH PROBE 1.0 POLAR DATUM 64 TCH PROBE 1.1 X ANGLE:+Q34 65 TCH PROBE 1.2 X+Q52 Y+Q55 Z+Q32 66 FN 0: Q90 =+Q115 67 FN 0: Q91 =+Q116 68 L Z+Q38 FMAX 69 ; 70 ;Decision if the second angle must be converted 71 FN 12: IF +Q35 LT +180 GOTO LBL 2 72 FN 9: IF +Q35 EQU +180 GOTO LBL 2 73 FN 11: IF +Q35 GT +0 GOTO LBL 2 74 FN 9: IF +Q35 EQU +0 GOTO LBL 2 75 FN 1: Q35 =-360 + +Q35 76 ; 77 ;Calculate the position of the 78 ;second touch point 79 LBL 2 80 FN 7: Q50 = COS +Q35 81 FN 3: Q51 =+Q50 * +Q42 82 FN 1: Q52 =+Q51 + +Q30 83 FN 6: Q53 = SIN +Q35 84 FN 3: Q54 =+Q53 * +Q42 85 FN 1: Q55 =+Q54 + +Q31 86 FN 3: Q56 =+Q50 * +Q44 87 FN 1: Q57 =+Q56 + +Q30 88 FN 3: Q58 =+Q53 * +Q44 89 FN 1: Q59 =+Q58 + +Q31 90 L Z+Q38 R0 FMAX 91 L X+Q57 Y+Q59 FMAX 92 L Z+2 FMAX 93 L Z+Q40 F2000 94 ;Second touch probe cycle 95 TCH PROBE 1.0 POLAR DATUM 96 TCH PROBE 1.1 X ANGLE:+Q35 97 TCH PROBE 1.2 X+Q52 Y+Q55 Z+Q32 98 FN 0: Q92 =+Q115 99 FN 0: Q93 =+Q116 100 L Z+Q38 FMAX 101 ; 102 ;Decision if the third angle must be converted 103 FN 12: IF +Q36 LT +180 GOTO LBL 3 104 FN 9: IF +Q36 EQU +180 GOTO LBL 3 105 FN 11: IF +Q36 GT +0 GOTO LBL 3 106 FN 9: IF +Q36 EQU +0 GOTO LBL 3 107 FN 1: Q36 =-360 + +Q36 108 ; 109 ;Calculate the position of the 110 ;third touch point 111 LBL 3 112 FN 7: Q50 = COS +Q36 113 FN 3: Q51 =+Q50 * +Q42 114 FN 1: Q52 =+Q51 + +Q30 115 FN 6: Q53 = SIN +Q36 116 FN 3: Q54 =+Q53 * +Q42 117 FN 1: Q55 =+Q54 + +Q31 118 FN 3: Q56 =+Q50 * +Q44 119 FN 1: Q57 =+Q56 + +Q30 120 FN 3: Q58 =+Q53 * +Q44 121 FN 1: Q59 =+Q58 + +Q31 122 L Z+Q38 R0 FMAX 123 L X+Q57 Y+Q59 FMAX 124 L Z+2 FMAX 125 L Z+Q40 F2000 126 ;Third touch probe cycle 127 TCH PROBE 1.0 POLAR DATUM 128 TCH PROBE 1.1 X ANGLE:+Q36 129 TCH PROBE 1.2 X+Q52 Y+Q55 Z+Q32 130 FN 0: Q94 =+Q115 131 FN 0: Q95 =+Q116 132 L Z+Q38 FMAX 133 ; 134 ; 135 ;Determination of the circle center 136 FN 23: Q97 = CDATA Q90 137 ;Set new datum in X and Y axis 138 FN 25: PRESET = X /+Q97 /+Q60 139 FN 25: PRESET = Y /+Q98 /+Q61 140 ; 141 ;End of program 142 M30 143 END PGM 8170-en MM