0 BEGIN PGM toolcalold MM 1 * - TC TOOL CALL Macro read values programmed 2 * - M140 retraction from contour (tilted working plane) 3 * - M118 Superimposing handwheel off 4 * - M128 must be switched off before TOOL CALL 5 * - 3D rotation off (optional) 6 * - TCPM off (otional) 7 FN 17: SYSWRITE ID 2000 NR70 IDX7098 =+1001 ; NUMBER NC MACRO ON 8 FN 18: SYSREAD Q1 = ID60 NR1 IDX0 ; Tool number T 9 FN 18: SYSREAD Q2 = ID60 NR2 IDX0 ; Tool axis (XYZ---UVW) 10 FN 18: SYSREAD Q3 = ID60 NR3 IDX0 ; Spindle speed S 11 FN 18: SYSREAD Q4 = ID60 NR4 IDX0 ; Oversize T length DL 12 FN 18: SYSREAD Q5 = ID60 NR5 IDX0 ; Oversize T radius DR 13 FN 18: SYSREAD Q6 = ID60 NR7 IDX0 ; Oversize T radius DR2 14 FN 18: SYSREAD Q7 = ID60 NR8 IDX0 ; Tool index 15 * - M140 retraction from contour (tilted working plane) 16 ; L M140 MB MAX 17 * - M118 Superimposing handwheel off 18 L M118 19 * - TCPM off 20 * - M128 must be switched off before TOOL CALL 21 L M115 22 * - Head axis to TC position 23 ; L A+0 FMAX M91 24 ; L B+0 FMAX M91 25 ; L C+0 FMAX M91 26 ; L Z+0 FMAX M91 27 ; L X+0 Y+0 FMAX M91 28 ; * - 3D rotation off 29 ; LBL "3D_ROT_A" 30 ; FN 18: SYSREAD Q8 = ID210 NR5 IDX1 ; 3D-ROT A 31 ; FN 9: IF +Q8 EQU +0 GOTO LBL "3D_ROT_B" 32 ; CYCL DEF 19.0 BEARBEITUNGSEBENE 33 ; CYCL DEF 19.1 A+0 34 ; LBL "3D_ROT_B" 35 ; FN 18: SYSREAD Q9 = ID210 NR5 IDX2 ; 3D-ROT B 36 ; FN 9: IF +Q9 EQU +0 GOTO LBL "3D_ROT_C" 37 ; CYCL DEF 19.0 BEARBEITUNGSEBENE 38 ; CYCL DEF 19.1 B+0 39 ; LBL "3D_ROT_C" 40 ; FN 18: SYSREAD Q10 = ID210 NR5 IDX3 ; 3D-ROT C 41 ; FN 9: IF +Q10 EQU +0 GOTO LBL "3D_ROT_off" 42 ; CYCL DEF 19.0 BEARBEITUNGSEBENE 43 ; CYCL DEF 19.1 C+0 44 ; LBL "3D_ROT_off" 45 ; CYCL DEF 19.0 BEARBEITUNGSEBENE 46 ; CYCL DEF 19.1 47 ; * - Globally effective coordinate transformation 48 ; FN 17: SYSWRITE ID 420 NR0 IDX0 =+0 49 ; FN 20: WAIT FOR SYNC 50 * - TOOL CALL data to PLC/NC 51 FN 9: IF +Q2 EQU +0 GOTO LBL "TOOL_CALL_X" 52 FN 9: IF +Q2 EQU +1 GOTO LBL "TOOL_CALL_Y" 53 FN 9: IF +Q2 EQU +2 GOTO LBL "TOOL_CALL_Z" 54 FN 9: IF +Q2 EQU +6 GOTO LBL "TOOL_CALL_U" 55 FN 9: IF +Q2 EQU +7 GOTO LBL "TOOL_CALL_V" 56 FN 9: IF +Q2 EQU +8 GOTO LBL "TOOL_CALL_W" 57 TOOL CALL Q1 SQ3 DL+Q4 DR+Q5 58 FN 9: IF +0 EQU +0 GOTO LBL "END" 59 LBL "TOOL_CALL_X" 60 TOOL CALL Q1 .Q7 X SQ3 DL+Q4 DR+Q5 DR2:+Q6 61 FN 9: IF +0 EQU +0 GOTO LBL "END" 62 LBL "TOOL_CALL_Y" 63 TOOL CALL Q1 .Q7 Y SQ3 DL+Q4 DR+Q5 DR2:+Q6 64 FN 9: IF +0 EQU +0 GOTO LBL "END" 65 LBL "TOOL_CALL_Z" 66 TOOL CALL Q1 .Q7 Z SQ3 DL+Q4 DR+Q5 DR2:+Q6 67 FN 9: IF +0 EQU +0 GOTO LBL "END" 68 LBL "TOOL_CALL_U" 69 TOOL CALL Q1 .Q7 U SQ3 DL+Q4 DR+Q5 DR2:+Q6 70 FN 9: IF +0 EQU +0 GOTO LBL "END" 71 LBL "TOOL_CALL_V" 72 TOOL CALL Q1 .Q7 V SQ3 DL+Q4 DR+Q5 DR2:+Q6 73 FN 9: IF +0 EQU +0 GOTO LBL "END" 74 LBL "TOOL_CALL_W" 75 TOOL CALL Q1 .Q7 W SQ3 DL+Q4 DR+Q5 DR2:+Q6 76 LBL "END" 77 L Z+0 X+0 Y+0 FMAX M91 78 FN 17: SYSWRITE ID 2000 NR70 IDX7098 =-1 ; NC MACRO OFF 79 END PGM toolcalold MM