Parameter im Parameter ?
10.09.2024, 04:07 Uhr
Hallo,
weiß jemand wie ich einen Parameter im Parameter programmiere, bzw. ob die TNC das kann? ( Q(Q50) )
So hätte ich mein Macro noch ein wenig kürzen können, da der Haidenhein-Simulator auf 100 Sätze begrenzt ist.
Außerdem habe ich im Simulator Probleme, weil das Werkzeug mitten im Teil startet. ( 292-0014 DMC: ACtable_SwTab1 )
Aber jetzt bin ich eh fertig damit.
Ich stell es ein.
Vielleicht hat jemand Spaß damit.
tangentiale Verrundung einer Bohrung in der Mantelfläche eines Zylinders mit einem Kugelfräser
fehlerhafte Hinterschneidungen werden rausgerechnet - die Fehlstellen werden im Q65 angezeigt
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 10 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 3 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 0 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
########################################
CYCL DEF 7.0 NULLPUNKT
CYCL DEF 7.1 Z+Q38
;
TOOL CALL 5 Z S3333 F667 ;BO-10-VHM
L X+0 Y+0 Z+10 R0 FMAX M13
CYCL DEF 201 REIBEN ~
Q200=+2 ;SICHERHEITS-ABST. ~
Q201=-20 ;TIEFE ~
Q206= AUTO ;VORSCHUB TIEFENZ. ~
Q211=+0 ;VERWEILZEIT UNTEN ~
Q208= MAX ;VORSCHUB RUECKZUG ~
Q203=+0 ;KOOR. OBERFLAECHE ~
Q204=+10 ;2. SICHERHEITS-ABST.
CYCL CALL
;
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
13 FN 12: IF +Q34 LT +Q33 GOTO LBL 1
14 Q49 = Q34 ;MERKER
15 LBL 1
16 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
17 Q49 = Q35 ;MERKER
18 LBL 2
19 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
20 Q49 = Q36 ;MERKER
21 LBL 3
22 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
23 L X+Q39 Y+Q40 Z+10 R0 FMAX M13
L X+Q41 Y+Q40 Z+2 R0 FMAX
24 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
25 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
26 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
27 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
28 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
29 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
30 Q96 = Q48 ;MERKER
31 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
32 Q98 = 0 ;FEHLERBEREICH AUS=0
33 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
34 FN 10: IF +Q51 NE +0 GOTO LBL 4
35 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
36 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
37 FN 9: IF +0 EQU +0 GOTO LBL 7
38 LBL 4
39 FN 10: IF +Q51 NE +1 GOTO LBL 5
40 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
41 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
42 FN 9: IF +0 EQU +0 GOTO LBL 7
43 LBL 5
44 FN 10: IF +Q51 NE +2 GOTO LBL 6
45 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
46 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
47 FN 9: IF +0 EQU +0 GOTO LBL 7
48 LBL 6
49 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
50 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
51 LBL 7
52 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
53 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
54 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
55 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
56 Q55 = COS Q54 * Q37 ;X ANFANG
57 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
58 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
59 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
60 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
61 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
62 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
63 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
64 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
65 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
66 L IZ+0 R0 FMAX
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1003
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1003
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 LBL 9
94 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
95 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
96 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
97 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
98 L X+Q39 Y+Q40 Z+10 R0 FMAX M5 M9 M30
99 END PGM VERRUNDUNG MM
gekürztes Programm für den Simulator (100 Zeilen):
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 10 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 3 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 20 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
13 FN 12: IF +Q34 LT +Q33 GOTO LBL 1
14 Q49 = Q34 ;MERKER
15 LBL 1
16 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
17 Q49 = Q35 ;MERKER
18 LBL 2
19 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
20 Q49 = Q36 ;MERKER
21 LBL 3
22 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
23 L X+0 Y+Q40 Z+22 R0 FMAX M13
24 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
25 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
26 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
27 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
28 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
29 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
30 Q96 = Q48 ;MERKER
31 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
32 Q98 = 0 ;FEHLERBEREICH AUS=0
33 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
34 FN 10: IF +Q51 NE +0 GOTO LBL 4
35 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
36 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
37 FN 9: IF +0 EQU +0 GOTO LBL 7
38 LBL 4
39 FN 10: IF +Q51 NE +1 GOTO LBL 5
40 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
41 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
42 FN 9: IF +0 EQU +0 GOTO LBL 7
43 LBL 5
44 FN 10: IF +Q51 NE +2 GOTO LBL 6
45 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
46 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
47 FN 9: IF +0 EQU +0 GOTO LBL 7
48 LBL 6
49 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
50 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
51 LBL 7
52 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
53 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
54 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
55 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
56 Q55 = COS Q54 * Q37 ;X ANFANG
57 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
58 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
59 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
60 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
61 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
62 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
63 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
64 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
65 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
66 L IZ+0 R0 FMAX
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1003
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1003
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 LBL 9
94 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
95 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
96 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
97 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
98 L X+Q39 Y+Q40 Z+30 R0 FMAX M5 M9 M30
99 END PGM VERRUNDUNG MM
weiß jemand wie ich einen Parameter im Parameter programmiere, bzw. ob die TNC das kann? ( Q(Q50) )
So hätte ich mein Macro noch ein wenig kürzen können, da der Haidenhein-Simulator auf 100 Sätze begrenzt ist.
Außerdem habe ich im Simulator Probleme, weil das Werkzeug mitten im Teil startet. ( 292-0014 DMC: ACtable_SwTab1 )
Aber jetzt bin ich eh fertig damit.
Ich stell es ein.
Vielleicht hat jemand Spaß damit.
tangentiale Verrundung einer Bohrung in der Mantelfläche eines Zylinders mit einem Kugelfräser
fehlerhafte Hinterschneidungen werden rausgerechnet - die Fehlstellen werden im Q65 angezeigt
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 10 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 3 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 0 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
########################################
CYCL DEF 7.0 NULLPUNKT
CYCL DEF 7.1 Z+Q38
;
TOOL CALL 5 Z S3333 F667 ;BO-10-VHM
L X+0 Y+0 Z+10 R0 FMAX M13
CYCL DEF 201 REIBEN ~
Q200=+2 ;SICHERHEITS-ABST. ~
Q201=-20 ;TIEFE ~
Q206= AUTO ;VORSCHUB TIEFENZ. ~
Q211=+0 ;VERWEILZEIT UNTEN ~
Q208= MAX ;VORSCHUB RUECKZUG ~
Q203=+0 ;KOOR. OBERFLAECHE ~
Q204=+10 ;2. SICHERHEITS-ABST.
CYCL CALL
;
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
13 FN 12: IF +Q34 LT +Q33 GOTO LBL 1
14 Q49 = Q34 ;MERKER
15 LBL 1
16 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
17 Q49 = Q35 ;MERKER
18 LBL 2
19 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
20 Q49 = Q36 ;MERKER
21 LBL 3
22 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
23 L X+Q39 Y+Q40 Z+10 R0 FMAX M13
L X+Q41 Y+Q40 Z+2 R0 FMAX
24 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
25 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
26 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
27 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
28 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
29 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
30 Q96 = Q48 ;MERKER
31 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
32 Q98 = 0 ;FEHLERBEREICH AUS=0
33 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
34 FN 10: IF +Q51 NE +0 GOTO LBL 4
35 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
36 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
37 FN 9: IF +0 EQU +0 GOTO LBL 7
38 LBL 4
39 FN 10: IF +Q51 NE +1 GOTO LBL 5
40 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
41 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
42 FN 9: IF +0 EQU +0 GOTO LBL 7
43 LBL 5
44 FN 10: IF +Q51 NE +2 GOTO LBL 6
45 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
46 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
47 FN 9: IF +0 EQU +0 GOTO LBL 7
48 LBL 6
49 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
50 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
51 LBL 7
52 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
53 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
54 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
55 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
56 Q55 = COS Q54 * Q37 ;X ANFANG
57 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
58 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
59 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
60 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
61 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
62 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
63 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
64 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
65 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
66 L IZ+0 R0 FMAX
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1003
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1003
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 LBL 9
94 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
95 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
96 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
97 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
98 L X+Q39 Y+Q40 Z+10 R0 FMAX M5 M9 M30
99 END PGM VERRUNDUNG MM
gekürztes Programm für den Simulator (100 Zeilen):
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 10 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 3 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 20 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
13 FN 12: IF +Q34 LT +Q33 GOTO LBL 1
14 Q49 = Q34 ;MERKER
15 LBL 1
16 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
17 Q49 = Q35 ;MERKER
18 LBL 2
19 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
20 Q49 = Q36 ;MERKER
21 LBL 3
22 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
23 L X+0 Y+Q40 Z+22 R0 FMAX M13
24 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
25 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
26 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
27 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
28 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
29 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
30 Q96 = Q48 ;MERKER
31 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
32 Q98 = 0 ;FEHLERBEREICH AUS=0
33 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
34 FN 10: IF +Q51 NE +0 GOTO LBL 4
35 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
36 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
37 FN 9: IF +0 EQU +0 GOTO LBL 7
38 LBL 4
39 FN 10: IF +Q51 NE +1 GOTO LBL 5
40 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
41 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
42 FN 9: IF +0 EQU +0 GOTO LBL 7
43 LBL 5
44 FN 10: IF +Q51 NE +2 GOTO LBL 6
45 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
46 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
47 FN 9: IF +0 EQU +0 GOTO LBL 7
48 LBL 6
49 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
50 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
51 LBL 7
52 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
53 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
54 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
55 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
56 Q55 = COS Q54 * Q37 ;X ANFANG
57 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
58 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
59 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
60 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
61 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
62 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
63 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
64 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
65 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
66 L IZ+0 R0 FMAX
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1003
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1003
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 LBL 9
94 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
95 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
96 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
97 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
98 L X+Q39 Y+Q40 Z+30 R0 FMAX M5 M9 M30
99 END PGM VERRUNDUNG MM
--------------------
Gruß, Nisse.
11.09.2024, 00:08 Uhr
Habe beim Testen noch einen Fehler gefunden.
Hier noch mal die verbesserte Version, für die, die es interessiert.
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 10 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 3 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 0 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
########################################
CYCL DEF 7.0 NULLPUNKT
CYCL DEF 7.1 Z+Q38
;
TOOL CALL 5 Z S3333 F667 ;BO-10-VHM
L X+Q39 Y+Q40 Z+10 R0 FMAX M13
CYCL DEF 200 BOHREN ~
Q200=+2 ;SICHERHEITS-ABST. ~
Q201=-20 ;TIEFE ~
Q206= AUTO ;VORSCHUB TIEFENZ. ~
Q202=+12 ;ZUSTELL-TIEFE ~
Q210=+2 ;VERWEILZEIT OBEN ~
Q203=+0 ;KOOR. OBERFLAECHE ~
Q204=+10 ;2. SICHERHEITS-ABST. ~
Q211=+0 ;VERWEILZEIT UNTEN ~
Q395=+1 ;BEZUG TIEFE
CYCL CALL
;
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
TOOL DEF 2
13 Q49 = Q33 ;MERKER
14 FN 12: IF +Q34 LT +Q49 GOTO LBL 1
15 Q49 = Q34 ;MERKER
16 LBL 1
17 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
18 Q49 = Q35 ;MERKER
19 LBL 2
20 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
21 Q49 = Q36 ;MERKER
22 LBL 3
23 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
24 L X+Q39 Y+Q40 Z+10 R0 FMAX M13
L X+Q41 Y+Q40 Z+2 R0 FMAX
25 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
26 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
27 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
28 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
29 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
30 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
31 Q96 = Q48 ;MERKER
32 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
33 Q98 = 0 ;FEHLERBEREICH AUS=0
34 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
35 FN 10: IF +Q51 NE +0 GOTO LBL 4
36 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
37 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
38 FN 9: IF +0 EQU +0 GOTO LBL 7
39 LBL 4
40 FN 10: IF +Q51 NE +1 GOTO LBL 5
41 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
42 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
43 FN 9: IF +0 EQU +0 GOTO LBL 7
44 LBL 5
45 FN 10: IF +Q51 NE +2 GOTO LBL 6
46 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
47 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
48 FN 9: IF +0 EQU +0 GOTO LBL 7
49 LBL 6
50 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
51 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
52 LBL 7
53 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
54 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
55 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
56 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
57 Q55 = COS Q54 * Q37 ;X ANFANG
58 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
59 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
60 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
61 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
62 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
63 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
64 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
65 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
66 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1002
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1002
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96 ;MERKER
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
94 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
95 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
96 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
97 L X+Q39 Y+Q40 Z+10 R0 FMAX M5 M9 M30
98 END PGM VERRUNDUNG MM
Und noch einmal die kurze Version für den Demo-Programmierplatz mit 99 Sätzen.
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 100 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 6 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 4 ;R VERRUNDUNG 6 UHR
8 Q37 = 4.999 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 20 ;X-POSITION BOHRUNG
11 Q40 = - 3 ;Y-POSITION BOHRUNG
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
13 Q49 = Q33 ;MERKER
14 FN 12: IF +Q34 LT +Q49 GOTO LBL 1
15 Q49 = Q34 ;MERKER
16 LBL 1
17 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
18 Q49 = Q35 ;MERKER
19 LBL 2
20 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
21 Q49 = Q36 ;MERKER
22 LBL 3
23 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
24 L X+0 Y+Q40 Z+22 R0 FMAX M13
25 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
26 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
27 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
28 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
29 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
30 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
31 Q96 = Q48 ;MERKER
32 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
33 Q98 = 0 ;FEHLERBEREICH AUS=0
34 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
35 FN 10: IF +Q51 NE +0 GOTO LBL 4
36 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
37 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
38 FN 9: IF +0 EQU +0 GOTO LBL 7
39 LBL 4
40 FN 10: IF +Q51 NE +1 GOTO LBL 5
41 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
42 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
43 FN 9: IF +0 EQU +0 GOTO LBL 7
44 LBL 5
45 FN 10: IF +Q51 NE +2 GOTO LBL 6
46 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
47 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
48 FN 9: IF +0 EQU +0 GOTO LBL 7
49 LBL 6
50 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
51 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
52 LBL 7
53 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
54 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
55 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
56 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
57 Q55 = COS Q54 * Q37 ;X ANFANG
58 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
59 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
60 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
61 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
62 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
63 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
64 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
65 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
66 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1002
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1002
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96 ;MERKER
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
94 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
95 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
96 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
97 L X+Q39 Y+Q40 Z+30 R0 FMAX M5 M9 M30
98 END PGM VERRUNDUNG MM
Viel Spaß
Hier noch mal die verbesserte Version, für die, die es interessiert.
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 10 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 3 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 0 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
########################################
CYCL DEF 7.0 NULLPUNKT
CYCL DEF 7.1 Z+Q38
;
TOOL CALL 5 Z S3333 F667 ;BO-10-VHM
L X+Q39 Y+Q40 Z+10 R0 FMAX M13
CYCL DEF 200 BOHREN ~
Q200=+2 ;SICHERHEITS-ABST. ~
Q201=-20 ;TIEFE ~
Q206= AUTO ;VORSCHUB TIEFENZ. ~
Q202=+12 ;ZUSTELL-TIEFE ~
Q210=+2 ;VERWEILZEIT OBEN ~
Q203=+0 ;KOOR. OBERFLAECHE ~
Q204=+10 ;2. SICHERHEITS-ABST. ~
Q211=+0 ;VERWEILZEIT UNTEN ~
Q395=+1 ;BEZUG TIEFE
CYCL CALL
;
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
TOOL DEF 2
13 Q49 = Q33 ;MERKER
14 FN 12: IF +Q34 LT +Q49 GOTO LBL 1
15 Q49 = Q34 ;MERKER
16 LBL 1
17 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
18 Q49 = Q35 ;MERKER
19 LBL 2
20 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
21 Q49 = Q36 ;MERKER
22 LBL 3
23 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
24 L X+Q39 Y+Q40 Z+10 R0 FMAX M13
L X+Q41 Y+Q40 Z+2 R0 FMAX
25 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
26 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
27 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
28 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
29 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
30 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
31 Q96 = Q48 ;MERKER
32 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
33 Q98 = 0 ;FEHLERBEREICH AUS=0
34 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
35 FN 10: IF +Q51 NE +0 GOTO LBL 4
36 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
37 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
38 FN 9: IF +0 EQU +0 GOTO LBL 7
39 LBL 4
40 FN 10: IF +Q51 NE +1 GOTO LBL 5
41 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
42 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
43 FN 9: IF +0 EQU +0 GOTO LBL 7
44 LBL 5
45 FN 10: IF +Q51 NE +2 GOTO LBL 6
46 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
47 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
48 FN 9: IF +0 EQU +0 GOTO LBL 7
49 LBL 6
50 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
51 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
52 LBL 7
53 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
54 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
55 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
56 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
57 Q55 = COS Q54 * Q37 ;X ANFANG
58 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
59 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
60 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
61 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
62 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
63 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
64 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
65 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
66 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1002
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1002
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96 ;MERKER
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
94 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
95 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
96 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
97 L X+Q39 Y+Q40 Z+10 R0 FMAX M5 M9 M30
98 END PGM VERRUNDUNG MM
Und noch einmal die kurze Version für den Demo-Programmierplatz mit 99 Sätzen.
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 100 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 2 ;R VERUNDUNG 3 UHR
5 Q34 = 6 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 4 ;R VERRUNDUNG 6 UHR
8 Q37 = 4.999 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 20 ;X-POSITION BOHRUNG
11 Q40 = - 3 ;Y-POSITION BOHRUNG
12 TOOL CALL 2 Z S5555 F1111 ;KUFR-4-HM
13 Q49 = Q33 ;MERKER
14 FN 12: IF +Q34 LT +Q49 GOTO LBL 1
15 Q49 = Q34 ;MERKER
16 LBL 1
17 FN 12: IF +Q35 LT +Q49 GOTO LBL 2
18 Q49 = Q35 ;MERKER
19 LBL 2
20 FN 12: IF +Q36 LT +Q49 GOTO LBL 3
21 Q49 = Q36 ;MERKER
22 LBL 3
23 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
24 L X+0 Y+Q40 Z+22 R0 FMAX M13
25 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
26 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
27 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
28 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
29 Q46 = ( INT ( ( SQRT ( SQ ( Q38 - Q49 ) - SQ ( ABS Q40 + Q37 + Q49 ) ) + 90 ) / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
30 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q38 + Q49 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
31 Q96 = Q48 ;MERKER
32 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
33 Q98 = 0 ;FEHLERBEREICH AUS=0
34 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
35 FN 10: IF +Q51 NE +0 GOTO LBL 4
36 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
37 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
38 FN 9: IF +0 EQU +0 GOTO LBL 7
39 LBL 4
40 FN 10: IF +Q51 NE +1 GOTO LBL 5
41 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
42 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
43 FN 9: IF +0 EQU +0 GOTO LBL 7
44 LBL 5
45 FN 10: IF +Q51 NE +2 GOTO LBL 6
46 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
47 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
48 FN 9: IF +0 EQU +0 GOTO LBL 7
49 LBL 6
50 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
51 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
52 LBL 7
53 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
54 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
55 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
56 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
57 Q55 = COS Q54 * Q37 ;X ANFANG
58 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
59 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
60 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
61 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
62 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
63 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
64 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
65 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
66 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 + Q38 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1002
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102
83 LBL 1002
84 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
85 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
86 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
87 Q47 = 1
88 Q48 = Q96 ;MERKER
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
94 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
95 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
96 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
97 L X+Q39 Y+Q40 Z+30 R0 FMAX M5 M9 M30
98 END PGM VERRUNDUNG MM
Viel Spaß
--------------------
Gruß, Nisse.
12.09.2024, 01:24 Uhr
Aller guten Dinge sind 3 und dann reicht es auch.
Obwohl es eine nette Spielerei war.
Und noch ein paar Kleinigkeiten verbessert und verkürzt.
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 2 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 4 ;R VERUNDUNG 3 UHR
5 Q34 = 6 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 20 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
12 CYCL DEF 7.0 NULLPUNKT
13 CYCL DEF 7.1 Z+Q38
14 TOOL CALL 1 Z S3333 F667 ;BO-10-VHM
15 CYCL DEF 200 BOHREN ~
Q200=+2 ;SICHERHEITS-ABST. ~
Q201=-20 ;TIEFE ~
Q206= AUTO ;VORSCHUB TIEFENZ. ~
Q202=+12 ;ZUSTELL-TIEFE ~
Q210=+2 ;VERWEILZEIT OBEN ~
Q203=+0 ;KOOR. OBERFLAECHE ~
Q204=+10 ;2. SICHERHEITS-ABST. ~
Q211=+0 ;VERWEILZEIT UNTEN ~
Q395=+1 ;BEZUG TIEFE
16 L X+Q39 Y+Q40 R0 FMAX M99 M13
17 TOOL CALL 2 Z S5555 F1111 ;KUFR-2-HM
18 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
19 L X+Q39 Y+Q40 Z+10 R0 FMAX M13
20 L X+Q41 Y+Q40 Z+2 R0 FMAX
21 Q49 = ( ( ( Q34 + Q36 + ABS ( Q34 - Q36 ) ) / 2 ) + Q33 + ABS ( ( ( Q34 + Q36 + ABS ( Q34 - Q36 ) ) / 2 ) - Q33 ) ) / 2 ;GROESSTER RADIUS VERRUNDUNG
22 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
23 Q94 = ASIN ( ( Q40 + Q37 + Q34 ) / ( Q38 - Q34 ) ) + 90 ;GESAMTWINKEL VERRUNDUNG 0 UHR
24 Q95 = ASIN ( ( NEG Q40 + Q37 + Q36 ) / ( Q38 - Q36 ) ) + 90 ;GESAMTWINKEL VERRUNDUNG 0 UHR
25 Q46 = ( INT ( ( Q94 + Q95 + ABS ( Q94 - Q95 ) ) / 2 / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
26 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q37 + Q33 - SIN ( 90 / Q46 * Q45 ) * Q33 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
27 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
28 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
29 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
30 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
31 Q98 = 0 ;FEHLERBEREICH AUS=0
32 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
33 FN 10: IF +Q51 NE +0 GOTO LBL 1
34 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
35 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
36 FN 9: IF +0 EQU +0 GOTO LBL 7
37 LBL 1
38 FN 10: IF +Q51 NE +1 GOTO LBL 2
39 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
40 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
41 FN 9: IF +0 EQU +0 GOTO LBL 7
42 LBL 2
43 FN 10: IF +Q51 NE +2 GOTO LBL 3
44 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
45 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
46 FN 9: IF +0 EQU +0 GOTO LBL 7
47 LBL 3
48 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
49 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
50 LBL 7
51 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
52 Q96 = Q48 ;MERKER
53 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
54 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
55 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
56 Q55 = COS Q54 * Q37 ;X ANFANG
57 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
58 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
59 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
60 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
61 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
62 L IZ+0 R0 FMAX
63 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
64 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
65 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
66 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1002
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102 ;SPRUNG OHNE FEHLER
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102 ;UNBEDINGTER SPRUNG ZU ANFANG SCHLEIFE 90 GRAD
83 LBL 1002
84 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
85 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
86 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
87 Q47 = 1
88 Q48 = Q96 ;MERKER
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
94 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
95 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
96 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
97 L X+Q39 Y+Q40 Z+10 R0 FMAX M5 M9 M30
98 END PGM VERRUNDUNG MM
Obwohl es eine nette Spielerei war.
Und noch ein paar Kleinigkeiten verbessert und verkürzt.
0 BEGIN PGM VERRUNDUNG MM
1 BLK FORM CYLINDER X R20 L100 DIST+50 RI5
2 Q31 = 2 ;OBERFLAECHENGUETE RZ
3 Q32 = Q108 ;R KUGELFRAESER
4 Q33 = 4 ;R VERUNDUNG 3 UHR
5 Q34 = 6 ;R VERUNDUNG 0 UHR
6 Q35 = Q33 ;R VERRUNDUNG 9 UHR
7 Q36 = 3 ;R VERRUNDUNG 6 UHR
8 Q37 = 5 ;R BOHRUNG
9 Q38 = 20 ;R TEIL
10 Q39 = 20 ;X-POSITION BOHRUNG
11 Q40 = - 5 ;Y-POSITION BOHRUNG
12 CYCL DEF 7.0 NULLPUNKT
13 CYCL DEF 7.1 Z+Q38
14 TOOL CALL 1 Z S3333 F667 ;BO-10-VHM
15 CYCL DEF 200 BOHREN ~
Q200=+2 ;SICHERHEITS-ABST. ~
Q201=-20 ;TIEFE ~
Q206= AUTO ;VORSCHUB TIEFENZ. ~
Q202=+12 ;ZUSTELL-TIEFE ~
Q210=+2 ;VERWEILZEIT OBEN ~
Q203=+0 ;KOOR. OBERFLAECHE ~
Q204=+10 ;2. SICHERHEITS-ABST. ~
Q211=+0 ;VERWEILZEIT UNTEN ~
Q395=+1 ;BEZUG TIEFE
16 L X+Q39 Y+Q40 R0 FMAX M99 M13
17 TOOL CALL 2 Z S5555 F1111 ;KUFR-2-HM
18 Q41 = Q37 + Q33 + Q39 ;X-POSITION ANFANG
19 L X+Q39 Y+Q40 Z+10 R0 FMAX M13
20 L X+Q41 Y+Q40 Z+2 R0 FMAX
21 Q49 = ( ( ( Q34 + Q36 + ABS ( Q34 - Q36 ) ) / 2 ) + Q33 + ABS ( ( ( Q34 + Q36 + ABS ( Q34 - Q36 ) ) / 2 ) - Q33 ) ) / 2 ;GROESSTER RADIUS VERRUNDUNG
22 Q50 = ACOS ( ( SQ ( Q32 ) - SQ ( Q49 + Q31 / 1000 ) - SQ ( Q32 + Q49 ) ) / ( - 2 * ( Q32 + Q49 ) ) / ( Q31 / 1000 + Q49 ) ) * 2 ;FORTSCHALTWINKEL VERRUNDUNG
23 Q94 = ASIN ( ( Q40 + Q37 + Q34 ) / ( Q38 - Q34 ) ) + 90 ;GESAMTWINKEL VERRUNDUNG 0 UHR
24 Q95 = ASIN ( ( NEG Q40 + Q37 + Q36 ) / ( Q38 - Q36 ) ) + 90 ;GESAMTWINKEL VERRUNDUNG 0 UHR
25 Q46 = ( INT ( ( Q94 + Q95 + ABS ( Q94 - Q95 ) ) / 2 / Q50 ) + 1 ) * 4 ;VORGABE 90 GRAD PRO GESAMTE SPIRALE
26 Q48 = INT ( 90 / ASIN ( SQRT ( SQ Q38 - SQ ( Q38 - Q31 / 1000 ) ) / ( Q37 + Q33 - SIN ( 90 / Q46 * Q45 ) * Q33 ) ) / 2 ) + 1 ;VORGABE STUECKELUNG PRO 90 GRAD
27 Q45 = 0 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
28 Q47 = 0 ;ZAEHLER FUER STUECKELUNG 90 GRAD
29 Q65 = 0 ;ZAEHLER FEHLERSTELLEN
30 LBL 101 ;SCHLEIFE 1 - GESAMTE SPIRALE
31 Q98 = 0 ;FEHLERBEREICH AUS=0
32 Q51 = FRAC ( Q45 / 4 ) * 4 ;ZAEHLER FUER VARIABLE VERRUNDUNG
33 FN 10: IF +Q51 NE +0 GOTO LBL 1
34 Q52 = Q33 ;R VERRUNDUNG ANFANG 3 UHR
35 Q53 = Q34 ;R VERRUNDUNG ENDE 0 UHR
36 FN 9: IF +0 EQU +0 GOTO LBL 7
37 LBL 1
38 FN 10: IF +Q51 NE +1 GOTO LBL 2
39 Q52 = Q34 ;R VERRUNDUND ANFANG 0 UHR
40 Q53 = Q35 ;R VERRUNDUNG ENDE 9 UHR
41 FN 9: IF +0 EQU +0 GOTO LBL 7
42 LBL 2
43 FN 10: IF +Q51 NE +2 GOTO LBL 3
44 Q52 = Q35 ;R VERRUNDUNG ANFANG 9 UHR
45 Q53 = Q36 ;R VERRUNDUNG ENDE 6 UHR
46 FN 9: IF +0 EQU +0 GOTO LBL 7
47 LBL 3
48 Q52 = Q36 ;R VERRUNDUNG ANFANG 6 UHR
49 Q53 = Q33 ;R VERUNDUNG ENDE 3 UHR
50 LBL 7
51 Q44 = Q52 ;ANFANGSRADIUS VERRUNDUNG
52 Q96 = Q48 ;MERKER
53 LBL 102 ;SCHLEIFE 2 - 90 GRAD BOHRUNG
54 Q44 = Q52 + ( Q53 - Q52 ) / Q48 * Q47 ;AKT. R VERRUNDUNG
55 Q54 = 90 * Q51 + 90 / Q48 * Q47 ;AKTUELLER WINKEL BOHRUNG
56 Q55 = COS Q54 * Q37 ;X ANFANG
57 Q56 = COS Q54 * ( Q37 + Q44 ) ;X ENDE
58 Q57 = SIN Q54 * Q37 + Q40 ;Y ANFANG
59 Q61 = SIN Q54 * ( Q37 + Q44 ) + Q40 ;Y MITTELPUNKT BOHRUNG
60 Q58 = Q61 / ( Q38 - Q44 ) * Q38 ;Y ENDE
61 Q59 = SQRT ( SQ ( Q38 - Q44 ) - SQ Q61 ) ;Z ANFANG
62 L IZ+0 R0 FMAX
63 Q60 = COS ATAN ( Q61 / Q59 ) * Q38 ;Z ENDE
64 Q62 = ASIN ( ( SQRT ( SQ ( Q56 - Q55 ) + SQ ( Q58 - Q57 ) + SQ ( Q60 - Q59 ) ) / 2 ) / Q44 ) * 2 ;GESAMTWINKEL VERRUNDUNG
65 Q63 = Q62 - Q62 / Q46 / Q48 * ( Q45 * Q48 + Q47 ) ;AKTUELLER WINKEL VERRUNDUNG
66 Q64 = ACOS ( 1 - ( ( ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) + ABS ( 1 - ( Q60 - Q59 ) / SIN Q62 / Q44 ) ) / 2 ) ) ;KIPPWINKEL VERRUNDUNG
67 Q41 = Q56 - COS Q63 * ( Q44 + Q32 ) * COS Q54 - SIN Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;X-POSITION KUGELFRAESER
68 Q42 = Q61 - COS Q63 * ( Q44 + Q32 ) * SIN Q54 + COS Q54 * SIN ( Q64 * SGN Q61 * SGN COS Q54 ) * SIN Q63 * ( Q44 + Q32 ) ;Y-POSITION KUGELFRAESER
69 Q43 = Q59 + SIN Q63 * ( Q44 + Q32 ) * COS Q64 - Q38 - Q32 ;Z-POSITION KUGELFRAESER
70 Q99 = SGN Q41 * SGN COS Q54 ;BEI FEHLER =-1
71 Q47 = Q47 + 1 ;ZAEHLER FUER STUECKELUNG 90 GRAD
72 FN 9: IF +Q99 EQU -1 GOTO LBL 1001 ;SPRUNG BEI FEHLER
73 Q97 = ABS Q41
74 Q41 = Q41 + Q39 ;X-VERSCHIEBUNG BOHRUNG
75 FN 9: IF +Q98 EQU +0 GOTO LBL 8
76 FN 11: IF +0.001 GT +Q97 GOTO LBL 1002
77 LBL 1001 ;FEHLERMARKE HINTERSCHNEIDUNGEN
78 Q98 = FRAC ( ( Q51 + 1 ) / 2 ) * 2
79 FN 10: IF +Q99 NE -1 GOTO LBL 102 ;SPRUNG OHNE FEHLER
80 Q47 = ( Q47 - 2 ) + ( ( Q47 - 2 ) * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 ) ) + 1 + FRAC ( Q51 / 2 ) * 2
81 Q48 = Q48 + Q48 * ( FRAC ( ( Q51 + 1 ) / 2 ) * 2 )
82 FN 9: IF +0 EQU +0 GOTO LBL 102 ;UNBEDINGTER SPRUNG ZU ANFANG SCHLEIFE 90 GRAD
83 LBL 1002
84 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
85 Q65 = Q65 + 1 ;ZAEHLER FEHLERSTELLEN
86 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
87 Q47 = 1
88 Q48 = Q96 ;MERKER
89 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE 1 NACH FEHLER
90 LBL 8
91 FN 9: IF +Q98 EQU +1 GOTO LBL 1001
92 L X+Q41 Y+Q42 Z+Q43 R0 F AUTO
93 FN 11: IF +Q48 GT +Q47 GOTO LBL 102 ;ABFRAGE SCHLEIFE 2
94 Q47 = 0 ;ZAEHLER STUECKELUNG 90 GRAD
95 Q45 = Q45 + 1 ;ZAEHLER VIERTELKREIS FUER GESAMTE SPIRALE
96 FN 11: IF +Q46 GT +Q45 GOTO LBL 101 ;ABFRAGE SCHLEIFE - GESAMTE SPIRALE
97 L X+Q39 Y+Q40 Z+10 R0 FMAX M5 M9 M30
98 END PGM VERRUNDUNG MM
--------------------
Gruß, Nisse.
19.09.2024, 15:26 Uhr
Hallo, wie programmiere ich einen Parameter im Parameter? Bei Fanuc schreibt man das z.B. so:
#[#1]=123 oder #2=#[#1]
Bei Heidenhain könnte das so aussehen Q(Q1)=123 oder Q2=Q(Q1) nur dass ich nicht weiß, wie ich das im Simulator programmieren kann, bzw. ob die TNC-Steuerung das kann?
Ps:
Und während ich auf Antwort wartete, habe ich mein Problem auf andere Art gelöst und obwohl mein kleines Programm anscheinend niemand interessiert stelle ich jetzt noch mal die letzte Version mit verbesserter Oberflächenberechnung vor.
#[#1]=123 oder #2=#[#1]
Bei Heidenhain könnte das so aussehen Q(Q1)=123 oder Q2=Q(Q1) nur dass ich nicht weiß, wie ich das im Simulator programmieren kann, bzw. ob die TNC-Steuerung das kann?
Ps:
Und während ich auf Antwort wartete, habe ich mein Problem auf andere Art gelöst und obwohl mein kleines Programm anscheinend niemand interessiert stelle ich jetzt noch mal die letzte Version mit verbesserter Oberflächenberechnung vor.
Angehängte Datei(en)
--------------------
Gruß, Nisse.
30.09.2024, 06:29 Uhr
Hallo, wie programmiere ich einen Parameter im Parameter? Bei Fanuc schreibt man das z.B. so:
#[#1]=123 oder #2=#[#1]
Bei Heidenhain könnte das so aussehen Q(Q1)=123 oder Q2=Q(Q1) nur dass ich nicht weiß, wie ich das im Simulator programmieren kann, bzw. ob die TNC-Steuerung das kann?
#[#1]=123 oder #2=#[#1]
Bei Heidenhain könnte das so aussehen Q(Q1)=123 oder Q2=Q(Q1) nur dass ich nicht weiß, wie ich das im Simulator programmieren kann, bzw. ob die TNC-Steuerung das kann?
Hallo, gerade habe ich herausgefunden, dass ich das Problem mit Stringparametern lösen kann. Damit hatte ich mich vorher noch nicht beschäftigt.
--------------------
Gruß, Nisse.
01.10.2024, 06:41 Uhr
01.10.2024, 06:52 Uhr
01.10.2024, 14:05 Uhr
01.10.2024, 17:41 Uhr
Hallo,
war hier nur stiller Mitleser, habe Interesse an der Stringparameter-Lösung.
war hier nur stiller Mitleser, habe Interesse an der Stringparameter-Lösung.
Hallo KaiStie und jtm90,
da habe ich mich leider zu früh gefreut. Als ich sah, dass man die Stringparameter nach ein GOTO setzen kann ,was bei meiner Steuerung mit den normalen Q-Parametern nicht geht, konnte ich variabel springen und als sie sich auch noch mit den normalen Q-Parametern kombinieren liessen, dachte ich, dass damit auch meine Frage beantwortet wäre. War aber nicht. Manchmal komme ich durcheinander, wenn ich zu lange programmiere.
sorry
--------------------
Gruß, Nisse.
3 Besucher lesen dieses Thema (Gäste: 3)
0 Mitglieder: