HEIDENHAIN
HEIDENHAIN

Steuerungen, Messgeräte & Positionsanzeigen

Nut in Radiusform abzeilen

Beitrag 13.05.2014, 19:48 Uhr
workaholicer
Level 1 = Community-Lehrling
*
Hallo CNC-Freunde!
Ich suche ein Parameter-Programm, wo ich eine Nut in Radiusform abzeilen kann.
Es darf nur ein Kugelfräser D12 (R6) verwendet werden. Der Radius R80, die Breite
von der Nut (50) und der Mittelpunkt von R80 (50) ändert sich bei anderen Teilen immer
wieder. Nullpunkt ist Mitte D200 und Oben (siehe Zeichnung im Anhang).
Die Steuerung ist eine Heidenhain iTNC 530.
Ich hoffe ihr könnt mir helfen....

Viele Grüße und vielen Dank, workaholicer smile.gif
Angehängte Datei(en)
Angehängte Datei  IMG.pdf ( 476.52KB ) Anzahl der Downloads: 298
 
   
Beitrag 13.05.2014, 20:01 Uhr
schwindl
Level 7 = Community-Professor
*******
Hallo workaholiker,

Herzlich willkommen in der CNC-Arena. Auf einen regen Austausch.
Dann fangen wir doch gleich mal mit Deinem Programm an:

1. Schritt
Programmiere die Nut mit festen Werten (siehe Deine Zeichnung)
Das Programm sollte strukturiert sein.

2. Schritt
Definiere Deine gewünschten Ladeparameter:
Radius
Breite
Mittelpunkt
etc.
Überlege Dir Berechnungen, um mit den Ladeparametern Dein Programm mit den festen Werten variabel zu machen.

3. Schritt
Ausführliche Tests des Programmes mit unterschiedlichen Ladeparametern

4. Schritt:
Dokumentation des Programmes

Wenn Du die 4 Schritte selbst, natürlich mit Hilfe hier im Forum, programmierst, hast Du sehr viel gelernt und auch die Parameterprogrammierung verstanden.

Also dann workaholic ran an den Programmierplatz und Schritt 1 angehen.

Viel Spaß


--------------------
Gruß
Schwindl
   
Beitrag 13.05.2014, 21:16 Uhr
Eike
Level 3 = Community-Techniker
***
Ich habe hier mal ein Beispiel zum Kanten runden als Denkanstoß. Wurde beim Aufbaukurs von uns Teilnehmern entworfen und auch abgespant.

0 BEGIN PGM 6_33_E MM
1 ;Kantenrunden bei Quadratischen Bauteilen
2 ;
3 ;Nullpunkt Mitte Werkstueck und Oberkante
4 ;
5 ;
6 FN 0: Q26 =+59.2 ;Kantenlaenge in X
7 FN 0: Q27 =+59.2 ;Kantenlaenge in Y
8 FN 0: Q22 =+0.05 ;Zustellung in Y
9 FN 0: Q24 =+11 ;Rundungsradius
10 FN 0: Q33 =+50 ;Werkstueckdicke
11 FN 0: Q34 =+35 ;Werkzeugplatz-Nummer
12 FN 0: Q35 =+4000 ;Vorschub Fraesen
13 FN 0: Q36 =+6000 ;Drehzahl
14 FN 0: Q37 =+2 ;Sicherheitsabstand in Z
15 ;
16 ;
17 ;
18 ;
19 ;
20 TOOL CALL Q34 Z SQ36
21 ;Werkzeugaufruf
22 ;
23 FN 4: Q24 =+Q24 DIV +2 ;Q24 Neu
24 Q25 = Q27 / ( Q22 * 2 ) + Q108 ;Berechnung der Wiederholungen
25 FN 1: Q23 =+Q108 + +Q24 ;Start in X
26 Q28 = Q27 / 2 + Q108 ;Start in Y
27 Q29 = Q26 / 2 - Q24 ;Mittelpunkt in X fuer Rundung
28 Q30 = Q26 / 2 + Q108 + 1 ;Vorpositionieren in X
29 FN 4: Q31 =+Q26 DIV +2 ;BLK in X
30 FN 4: Q32 =+Q27 DIV +2 ;BLK in Y
31 FN 1: Q34 =+Q24 + +Q108
32 ;
33 BLK FORM 0.1 Z X-Q31 Y-Q32 Z-Q33
34 BLK FORM 0.2 X+Q31 Y+Q32 Z+0
35 ;
36 L Z+100 R0 FMAX M3
37 LBL 101
38 CALL LBL 100
39 CYCL DEF 10.0 DREHUNG
40 CYCL DEF 10.1 IROT-90
41 CALL LBL 101 REP3
42 L Z+200 R0 FMAX
43 L X-150 Y+150 R0 FMAX
44 L M30
45 ;
46 LBL 100
47 CC X+0 Y-Q28
48 LP PR+Q30 PA+180 R0 FMAX
49 L Z+Q37 R0 FMAX
50 L Z-Q24 R0 FQ35
51 LBL 1
52 CC X-Q29 Z-Q34
53 LP PR-Q23 PA+180
54 CP IPA-90 DR-
55 L IY+Q22
56 CP IPA+90 DR+
57 L IY+Q22
58 CALL LBL 1 REPQ25
59 LBL 0
60 END PGM 6_33_E MM

Der Beitrag wurde von Eike bearbeitet: 13.05.2014, 21:16 Uhr
   
Beitrag 13.05.2014, 21:41 Uhr
schwindl
Level 7 = Community-Professor
*******
Hallo Eike,

ganz schön heavy fur den Anfang, aber schönes Programm.


--------------------
Gruß
Schwindl
   
Beitrag 13.05.2014, 22:04 Uhr
Eike
Level 3 = Community-Techniker
***
Das würde ich auch so aus dem Stand gerade nicht erneut schreiben können. Das meiste auf unserer Hermle B300 ist eh nur bohren und dazu kommt noch, dass ich nur alle halbe Jahr die Urlaubsvertretung übernehme. Drehe sonst und die Kurse liegen schon 1,5 Jahre zurück.
War ja auch der zweite Kurs. Erste Woche Grundkurs und zweite dann Aufbaukurs. Den Schwenkkurs habe ich mir dann nicht mehr gegeben smile.gif Dennoch cool zu wissen was mit Parametern machbar ist.

Der Beitrag wurde von Eike bearbeitet: 13.05.2014, 22:07 Uhr
   
Beitrag 14.05.2014, 13:14 Uhr
workaholicer
Level 1 = Community-Lehrling
*
Hallo schwindl und Eike!
Vielen Dank für Eure Mühe. Habe die Parameterprogrammierung noch nicht ganz verstanden.
FN0=Zuweisung (Schritt 2), FN1=Addition, FN4=Division
Ich müsste dann von dem Beispiel-Programm bei Eike in Satz-Nr.6 = 50, Satz-Nr.7 =124.9, und Satz-Nr.9 =80 eingeben, oder?
Wieso braucht man da keine Radiuskorrektur (DL und DR) ?
Die Block-Form, Satz.Nr.33 und 34 wird doch am Anfang abgefragt, oder geht das mit den Parametern nur so?
Echt heavy smile.gif
Viele Grüße
   
Beitrag 14.05.2014, 14:02 Uhr
schwindl
Level 7 = Community-Professor
*******
Hallo workaholicer,

fang nicht gleich mit dem Parameterprogramm an, dass ist zu viel.
Programmiere Deine runde Nut als festes Programm, ohne Parameter.
Dann kannst Du es variabel machen.

FN 0: Q1 = 15 --> Dem Paramter Q1 wird der Wert 15 zugewiesen (altes Format, abwärtskompatibel bis TNC155)
Q1 = 15 --> Dem Paramter Q1 wird der Wert 15 zugewiesen (neues Format (Formel), abwärtskompatibel bis TNC426/430)

Fang langsam an, sonst überrollen Dich die Parameter.


--------------------
Gruß
Schwindl
   
Beitrag 14.05.2014, 15:11 Uhr
Eike
Level 3 = Community-Techniker
***
Das Beispiel von mir arbeitet an die Kanten von einem Werkstück konvexe Radien an. Für deine Anwendung ist das nichts. Es sollte nur als Denkanstoß dienen smile.gif

Der Beitrag wurde von Eike bearbeitet: 14.05.2014, 15:12 Uhr
   
Beitrag 14.05.2014, 19:46 Uhr
homerq
Level 5 = Community-Ingenieur
*****
QUOTE (workaholicer @ 13.05.2014, 19:48 Uhr) *
Hallo CNC-Freunde!
Ich suche ein Parameter-Programm, wo ich eine Nut in Radiusform abzeilen kann.
Es darf nur ein Kugelfräser D12 (R6) verwendet werden. Der Radius R80, die Breite
von der Nut (50) und der Mittelpunkt von R80 (50) ändert sich bei anderen Teilen immer
wieder. Nullpunkt ist Mitte D200 und Oben (siehe Zeichnung im Anhang).
Die Steuerung ist eine Heidenhain iTNC 530.
Ich hoffe ihr könnt mir helfen....

Viele Grüße und vielen Dank, workaholicer smile.gif

Hallo!
Hier meine Herangehensweise an solche Universalprogramme:
Zuerst überleg ich mir eine Strategie, wie der Fräsablauf aussehen soll.
Hier könnte man mit dem Kugelfräser in XZ radial pendelnd von Z-50 bis auf Z-80 eintauchen und dann zeilenweise in Y versetzen, vorausgesetzt der Kugelfräser hat eine so lange Schneide.
Jetzt schaue ich, welche programmtechnischen Mittel bietet Heidenhain, diese Verfahrbewegung umzusetzen, hier wären polare Radien (CP) angebracht in XZ.
Jetzt definiere ich alle variablen Parameter beginne mit Q50 so gibt es keine Komplikationen mit schon fest belegeten.
Das Programm mit den Berechnungen und der Ausführung speichere ich gesondert ab, so brauchst du den Teil nicht jedesmal in`s Hauptprogramm kopieren, sondern rufst es als Programm auf, die variablen Parameter müssen natürlich im Hauptprogramm stehen.
Jetzt kann getüftelt, probiert, verworfen, verbessert und endgültig abgespeichert werden. Programm noch schützen, daß keiner versehentlich drin rumschreibt!
Dies wäre meine Vorgehensweise, aber das muß nicht die beste sein.
Wenn du weißt, wie du vorgehen möchtest, kann ich dir bei der Umsetzung helfen.
Gruß Jens
   
Beitrag 15.05.2014, 17:46 Uhr
workaholicer
Level 1 = Community-Lehrling
*
0 BEGIN PGM NUT IN RADIUSFORM ABZEILEN MM
1 BLK FORM 0.1 Z X-100 Y-100 Z-60
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 L Z+0 R0 FMAX M91
4 L X+0 Y-500 R0 FMAX M91
5 PLANE RESET TURN FMAX
6 CYCL DEF 7.0 NULLPUNKT
7 CYCL DEF 7.1 X+0
8 CYCL DEF 7.2 Y+0
9 CYCL DEF 7.3 Z+0
10 ......EINGABE..........
11 Q1 = 0 ; ANFANGSWINKEL
12 Q2 = 0.2 ; ZUSTELLUNG
13 Q3 = 180 ; ENDWINKEL
14 Q4 = 50 ; RADIUS ANFANG
15 Q5 = 80 ; RADIUS ENDE
16 Q5 = 50 ; BREITE NUT
17 .......................
18 TOOL CALL "KUGELFR.12" Z S2600 F4000 DL+0 DR+0
19 L X+0 Y+0 Z+100 R0 FMAX M3
20 CC Z+50 Y+0
21 LBL 1
22 LP PR+Q4 PA+Q1 FMAX
23 CP PA+Q3 DR+ FAUTO
24 L Z+50 R0 FMAX
25 LBL 0
26 PLANE RESET TURN FMAX
27 M30
28 END PGM NUT IN RADIUSFORM ABZEILEN MM

Hallo schwindl und Jens!
Hab's mal versucht zu programmieren. Komm nur mit den Wiederholungen und dem Radius nicht klar.
Jens, der Kugelfräser hat so ne lange Schneide... so wie Du es beschrieben hast, stell
ich mir die ganze Sache vor.
Viele Grüße an EUCH
   
Beitrag 15.05.2014, 19:10 Uhr
schwindl
Level 7 = Community-Professor
*******
Hallo,

schaut ja schon gut aus.
Zum Ablauf:
Du vermisst Deinen Kugelfräser auf Kugelmitte.
Für die Programmierung musst Du dann von Deinem Radius den Werkzeugradius abziehen 80 - WZR (wird im Parameter Q108 hinterlegt)
Angehängte Datei  PGM_Screen.jpg ( 75.69KB ) Anzahl der Downloads: 122
Angehängte Datei  PGM10.H ( 799Byte ) Anzahl der Downloads: 48


Für die Programmteilwiederholung:
Du startest die Nut bei X+0 + (Taschenbreite / 2) - Werkzeugradius (Q108)
Im LBL 1 fährst Du einmal den Kreis, dann versetzt Du in X inkremental um -1mm und fährst mit dem Kreis wieder zurück.
Dann stellst DU inkremental wieder -1mm in X zu.
Das wiederholst Du dann mit CALL LBL 1 Rep18
Angehängte Datei(en)
Angehängte Datei  Erkl__rung.jpg ( 32.37KB ) Anzahl der Downloads: 78
 


--------------------
Gruß
Schwindl
   
Beitrag 15.05.2014, 19:27 Uhr
schwindl
Level 7 = Community-Professor
*******
QUOTE (schwindl @ 15.05.2014, 19:10 Uhr) *
Hallo,

schaut ja schon gut aus.
Zum Ablauf:
Du vermisst Deinen Kugelfräser auf Kugelmitte.
Für die Programmierung musst Du dann von Deinem Radius den Werkzeugradius abziehen 80 - WZR (wird im Parameter Q108 hinterlegt)
Angehängte Datei  PGM_Screen.jpg ( 75.69KB ) Anzahl der Downloads: 122
Angehängte Datei  PGM10.H ( 799Byte ) Anzahl der Downloads: 48


Für die Programmteilwiederholung:
Du startest die Nut bei X+0 + (Taschenbreite / 2) - Werkzeugradius (Q108)
Im LBL 1 fährst Du einmal den Kreis, dann versetzt Du in X inkremental um -1mm und fährst mit dem Kreis wieder zurück.
Dann stellst DU inkremental wieder -1mm in X zu.
Das wiederholst Du dann mit CALL LBL 1 Rep18

Angehängte Datei  Erkl__rung.jpg ( 32.37KB ) Anzahl der Downloads: 35


--------------------
Gruß
Schwindl
   
Beitrag 15.05.2014, 19:48 Uhr
homerq
Level 5 = Community-Ingenieur
*****
QUOTE (workaholicer @ 15.05.2014, 17:46 Uhr) *
0 BEGIN PGM NUT IN RADIUSFORM ABZEILEN MM
1 BLK FORM 0.1 Z X-100 Y-100 Z-60
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 L Z+0 R0 FMAX M91
4 L X+0 Y-500 R0 FMAX M91
5 PLANE RESET TURN FMAX
6 CYCL DEF 7.0 NULLPUNKT
7 CYCL DEF 7.1 X+0
8 CYCL DEF 7.2 Y+0
9 CYCL DEF 7.3 Z+0
10 ......EINGABE..........
11 Q1 = 0 ; ANFANGSWINKEL
12 Q2 = 0.2 ; ZUSTELLUNG
13 Q3 = 180 ; ENDWINKEL
14 Q4 = 50 ; RADIUS ANFANG
15 Q5 = 80 ; RADIUS ENDE
16 Q5 = 50 ; BREITE NUT
17 .......................
18 TOOL CALL "KUGELFR.12" Z S2600 F4000 DL+0 DR+0
19 L X+0 Y+0 Z+100 R0 FMAX M3
20 CC Z+50 Y+0
21 LBL 1
22 LP PR+Q4 PA+Q1 FMAX
23 CP PA+Q3 DR+ FAUTO
24 L Z+50 R0 FMAX
25 LBL 0
26 PLANE RESET TURN FMAX
27 M30
28 END PGM NUT IN RADIUSFORM ABZEILEN MM

Hallo schwindl und Jens!
Hab's mal versucht zu programmieren. Komm nur mit den Wiederholungen und dem Radius nicht klar.
Jens, der Kugelfräser hat so ne lange Schneide... so wie Du es beschrieben hast, stell
ich mir die ganze Sache vor.
Viele Grüße an EUCH

Hallo!
Hier meine Änderungsvorschläge für dein Programm:
10 Q1 = 0 ; ANFANGSWINKEL
11 Q2 = 0.2 ; ZUSTELLUNG
12 Q3 = 180 ; ENDWINKEL
13 Q4 = 50 ; RADIUS ANFANG
14 Q5 = 80 ; RADIUS ENDE
15 Q6 = 50 ; BREITE NUT
16 Q50 = Q6 / 2 - Q108 ;1. X-WERT (NUTBREITE /2 - FRAESERRADIUS)
17 Q51 = Q5 - Q108 ;PROGRAMMIERRADIUS (BEARBEITUNGS - FRAESERRADIUS)
18 Q52 = ( Q6 - Q108 * 2 ) / Q2 ;ANZAHL DER WIEDERHOLUNGEN
19 TOOL CALL 6 Z S2600 F4000 DL-6 DR+0
20 L X+Q50 Y+0 Z+100 R0 FMAX M3
21 CC Z+50 Y+0
22 LBL 1
23 LP PR+Q5 PA+Q1 FMAX
24 CP PA+Q3 DR- F AUTO
25 L Z+50 R0 FMAX
26 L IX-Q2
27 LBL 0
28 CALL LBL 1 REPQ52
Ich vermesse meine Werkzeuge immer an der Spitze, daher der Unterschied zu Schwindels Variante beim Polarradius (ich hoffe, das stimmt so)
Du hattest Q5 zwei mal belegt, "Breite der Nut ist jetzt" Q6.
Q108 ist immer der aktive Fraeserradius!
Diese Variante berücksichtigt deinen Startradius 50 noch nicht, also Eintauchen volle Tiefe, kann man mit Zustelltiefen lösen.
Das mit den X-Zustellung funktioniert so auch nur, wenn die Zustellung in x ein Vielfaches der Gesamtbreite ist, auch dafür gibt es mindestens eine Lösung.
Anfangs und Endwinkel sind weit außerhalb vom Teil, auch das kann man verbessern
Dazu können wir später noch kommen.
Kannst du das Ganze nachvollziehen?
Dann könnten wir einen Schritt weiter gehen.
Gruß Jens
   
Beitrag 15.05.2014, 20:00 Uhr
homerq
Level 5 = Community-Ingenieur
*****
QUOTE (homerq @ 15.05.2014, 19:48 Uhr) *
Hallo!
Hier meine Änderungsvorschläge für dein Programm:
10 Q1 = 0 ; ANFANGSWINKEL
11 Q2 = 0.2 ; ZUSTELLUNG
12 Q3 = 180 ; ENDWINKEL
13 Q4 = 50 ; RADIUS ANFANG
14 Q5 = 80 ; RADIUS ENDE
15 Q6 = 50 ; BREITE NUT
16 Q50 = Q6 / 2 - Q108 ;1. X-WERT (NUTBREITE /2 - FRAESERRADIUS)
17 Q51 = Q5 - Q108 ;PROGRAMMIERRADIUS (BEARBEITUNGS - FRAESERRADIUS)
18 Q52 = ( Q6 - Q108 * 2 ) / Q2 ;ANZAHL DER WIEDERHOLUNGEN
19 TOOL CALL 6 Z S2600 F4000 DL-6 DR+0
20 L X+Q50 Y+0 Z+100 R0 FMAX M3
21 CC Z+50 Y+0
22 LBL 1
23 LP PR+Q5 PA+Q1 FMAX
24 CP PA+Q3 DR- F AUTO
25 L Z+50 R0 FMAX
26 L IX-Q2
27 LBL 0
28 CALL LBL 1 REPQ52
Ich vermesse meine Werkzeuge immer an der Spitze, daher der Unterschied zu Schwindels Variante beim Polarradius (ich hoffe, das stimmt so)
Du hattest Q5 zwei mal belegt, "Breite der Nut ist jetzt" Q6.
Q108 ist immer der aktive Fraeserradius!
Diese Variante berücksichtigt deinen Startradius 50 noch nicht, also Eintauchen volle Tiefe, kann man mit Zustelltiefen lösen.
Das mit den X-Zustellung funktioniert so auch nur, wenn die Zustellung in x ein Vielfaches der Gesamtbreite ist, auch dafür gibt es mindestens eine Lösung.
Anfangs und Endwinkel sind weit außerhalb vom Teil, auch das kann man verbessern
Dazu können wir später noch kommen.
Kannst du das Ganze nachvollziehen?
Dann könnten wir einen Schritt weiter gehen.
Gruß Jens

Hallo!
Berichtigung der Wiederholungen:
18 Q52 = ( Q6 - Q108 * 2 ) / Q2 -1;ANZAHL DER WIEDERHOLUNGEN
Aber damit schlage ich mich normalerweise nicht rum, ich löse sowas immer mit if/then.
Ich hoffe das lassen wir mal als Ausrede gelten;-)
Gruß Jens
   
Beitrag 16.05.2014, 18:57 Uhr
workaholicer
Level 1 = Community-Lehrling
*
Guten Abend schwindl und Jens!
Danke für Eure tollen Beispiele und Zeichnungen smile.gif Kann so das ganze gut nachvollziehen.
Gibt es noch eine Möglichkeit ohne das volle eintauchen in die Tiefe bzw. des Anfangs und Endwinkels?
Probier die beiden Beispiele am Montag sofort aus.
Wünsch Euch ein schönes Wochenende smile.gif
   
Beitrag 16.05.2014, 19:24 Uhr
schwindl
Level 7 = Community-Professor
*******
QUOTE (workaholicer @ 16.05.2014, 18:57 Uhr) *
Guten Abend schwindl und Jens!
Danke für Eure tollen Beispiele und Zeichnungen smile.gif Kann so das ganze gut nachvollziehen.
Gibt es noch eine Möglichkeit ohne das volle eintauchen in die Tiefe bzw. des Anfangs und Endwinkels?
Probier die beiden Beispiele am Montag sofort aus.
Wünsch Euch ein schönes Wochenende smile.gif

Hallo workaholicer,

Du kannst Deinen Radius schrittweise erhöhen um eine Zustelltiefe, z. B. R55, R60, R65, R70, R75; R80.
Bei jedem Radius machst Du Deine seitlichen Zustellungen.
Du beginnst Deine Fräsbahn bei 0° und endest bei 180°, das sind bei Radius 80 ca. 120° zuviel. Den Startwinkel kannst Du berechnen:
(90° - cos Startwinkel) = 50 mm (CC Z) / Radius 80 mm
Der Endwinkel
180° - Ergebnis von oben.

Schwindl


--------------------
Gruß
Schwindl
   
Beitrag 16.05.2014, 19:48 Uhr
homerq
Level 5 = Community-Ingenieur
*****
QUOTE (workaholicer @ 16.05.2014, 18:57 Uhr) *
Guten Abend schwindl und Jens!
Danke für Eure tollen Beispiele und Zeichnungen smile.gif Kann so das ganze gut nachvollziehen.
Gibt es noch eine Möglichkeit ohne das volle eintauchen in die Tiefe bzw. des Anfangs und Endwinkels?
Probier die beiden Beispiele am Montag sofort aus.
Wünsch Euch ein schönes Wochenende smile.gif

Hallo!
Start und Endwinkel können errechnet werden und ein pendelndes Eintauchen ist ebenfalls möglich. Es ist auch möglich, die gesamte Nut in mehreren Z-Zustellungen zu durchfahren. Du kannst dabei immer dein Grundprogramm verwenden, es wird nur immer mehr erweitert. Ich würde sagen, daß wir das Errechenen von Anfangs und Endwinkel als nächstes integrieren, so hast du 2 Eingabeparameter weniger.
Ich werde morgen mal die nötigen Erweiterungen hier reinstellen.
Es ist mir wichtig. daß du dem Ganzen auch gedanklich folgen kannst, schließlich sollst du damit arbeiten und mögliche Schwächen einmal selbst ausbügeln konnen.
Gruß Jens
   
Beitrag 17.05.2014, 11:51 Uhr
homerq
Level 5 = Community-Ingenieur
*****
Hallo!
Hier einige Änderungen (fett) und die Berechnung von Anfangs und Endwinkel:

1 BLK FORM 0.1 Z X-100 Y-100 Z-60
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 L Z+0 R0 FMAX M91
4 L X+0 Y-500 R0 FMAX M91
5 PLANE RESET TURN FMAX
6 CYCL DEF 7.0 NULLPUNKT
7 CYCL DEF 7.1 X+0
8 CYCL DEF 7.2 Y+0
9 CYCL DEF 7.3 Z+0
---> Q1 entfernt
10 Q2 = 0.2 ; ZUSTELLUNG
---> Q3 entfernt
11 Q4 = 50 ; MITTELPUNKT IN Z ---> Parameter beschreibt den Mittelpunkt in Z
12 Q5 = 80 ; FERTIGUNGSRADIUS ---> Ist der zu fertigende Radius (nur Namensänderung)
13 Q6 = 50 ; BREITE NUT
14 Q7 = 2 ;SICHERHEITSABSTAND ---> Abstand zur Oberfläche, wrd mit Eilgang angefahren!
15 TOOL CALL 6 Z S2600 F4000 DL-6 DR+0 ---> Wkz.-aufruf muß hier erfolgen, um Q108 einen Wert zu übergeben
16 Q50 = Q6 / 2 - Q108 ;1. X-WERT (NUTBREITE /2 - FRAESERRADIUS)
17 Q51 = Q5 - Q108 ;PROGRAMMIERRADIUS (BEARBEITUNGS - FRAESERRADIUS)
18 Q52 = ( Q6 - Q108 * 2 ) / Q2 ;ANZAHL DER WIEDERHOLUNGEN
19 L X+Q50 Y+0 Z+100 R0 FMAX M3
20 CC Z+Q4 Y+0 ---> Pol aus Parameter Mittelpunkt Z
21 LBL 1
22 Q53 = - 90 + ACOS ( ( Q4 - Q7 - Q108 ) / Q51 ) ;STARTWINKEL
23 Q54 = - 90 - ACOS ( ( Q4 - Q7 - Q108 ) / Q51 ) ;ENDWINKEL

24 LP PR+Q51 PA+Q53 FMAX
25 CP PA+Q54 DR- F AUTO
26 L Z+50 R0 FMAX
27 L IX-Q2
28 LBL 0
29 CALL LBL 1 REPQ52
30 PLANE RESET TURN FMAX
31 M30
   
Beitrag 18.05.2014, 10:39 Uhr
homerq
Level 5 = Community-Ingenieur
*****
Hallo!
Hier kommt der nächste Schritt:
Das Problem liegt noch bei den Wiederholungen, nimm z.B. seitl. Zustellung 1.1, dann wird dein Teil Ausschuß, weil eine Zustellung zuviel ausgeführt wird!
Dies umgehe ich immer mit bedingten Sprüngen.

10 Q2 = 1.1 ; ZUSTELLUNG
11 Q4 = 50 ; MITTELPUNKT IN Z
12 Q5 = 80 ; FERTIGUNGSRADIUS
13 Q6 = 50 ; BREITE NUT
14 Q7 = 2 ;SICHERHEITSABSTAND
15 Q8 = 100 ;SICHERE HOEHE ---> neuer Parameter
16 TOOL CALL 6 Z S2600 F4000 DL-Q108 DR+0 ---> DL- Wert aus WKZ.Tabelle Radius übernommen
17 Q50 = Q6 / 2 - Q108 + Q2 ;1. X-WERT (NUTBREITE /2 - FRAESERRADIUS +~
ZUSTELLUNG)
18 Q51 = Q5 - Q108 ;PROGRAMMIERRADIUS (BEARBEITUNGS - FRAESERRADIUS)
19 Q52 = ( Q6 - Q108 * 2 ) / Q2 ;ANZAHL DER WIEDERHOLUNGEN
20 Q55 = - Q50 ---> Parameter für letzte Zustellung in X
21 L X+Q50 Y+0 Z+Q8 R0 FMAX M3 ---> Einsatz neuer Parameter
22 CC Z+Q4 Y+0
23 LBL 1 ---> Sprungziel von Satz34
24 Q50 = Q50 - Q2 ---> Errechnung aktuellen X-Wert
25 FN 10: IF +Q55 NE +Q50 GOTO LBL 2 ---> wenn letzte Zustellung in X kleiner aktueller X-Wert Sprung zu lbl2
26 Q50 = Q55 ---> aktuellen X-Wert auf letzte Zustellung in X setzen
27 LBL 2
---> Sprungziel von Satz 25
28 L X+Q50 R0 FMAX ---> anfahren aktuellen X-Wert
29 Q53 = - 90 + ACOS ( ( Q4 - Q7 - Q108 ) / Q51 ) ;STARTWINKEL
30 Q54 = - 90 - ACOS ( ( Q4 - Q7 - Q108 ) / Q51 ) ;ENDWINKEL
31 LP PR+Q51 PA+Q53 FMAX
32 CP PA+Q54 DR- F AUTO
33 L Z+Q8 R0 FMAX ---> Einsatz neuer Parameter
34 FN 12: IF +Q55 LT +Q50 GOTO LBL 1 ---> wenn letzte Zustellung in X kleiner aktueller X-Wert Sprung zu lbl1

Die letzte Zustellung wird so eventuell kleiner , das kann man aber auch gewinnbringend als Schlichtzustellung nutzen.
Ich hoffe die Erklärung ist halbwegs verständlich!
Als nächstes programmieren wir das pendelnde Eintauchen am Anfang.

Gruß Jens
   
Beitrag 18.05.2014, 19:50 Uhr
schwindl
Level 7 = Community-Professor
*******
Hallo Jens,

ich verwende nach der Rechnung immer den Sprung, und prüfe ob zu groß/gleich:

LBL1
Q50 = Q50-Q2
If ... LT ... GOTO LBL 2
If ... EQU ... GOTO LBL 2
Fräse CP
IF 0 EQU 0 GOTO LBL1
L X Lezte Zustellung
Fräse CP

So stimmt das gewollte Maß immer.

Der Beitrag wurde von schwindl bearbeitet: 18.05.2014, 19:50 Uhr


--------------------
Gruß
Schwindl
   
Beitrag 18.05.2014, 21:27 Uhr
motico
Level 1 = Community-Lehrling
*
Gibt es eine information zurm programmierung mit Q-funktion??

gruss motico
   
Beitrag 18.05.2014, 21:53 Uhr
Dragon45
Level 3 = Community-Techniker
***
TNC Handbücher

Dort kannst du die Handbücher für die jeweilige Baureihe inklusiver vorhandenem Softwarestand runterladen. In den ist die Parameterprogrammierung mMn schön beschrieben inklusive Beispielen.

Viel Spass allen beim Tüffteln

Bei der von mir verlinkten Seite ist im PDF ab Seite 317 ("9 Programmierung: Q Parameter") alles vorhanden was das Herz begehrt.
Ab Seite 374 kommen Beispiele...

Der Beitrag wurde von Dragon45 bearbeitet: 18.05.2014, 22:01 Uhr
   
Beitrag 19.05.2014, 06:15 Uhr
homerq
Level 5 = Community-Ingenieur
*****
QUOTE (schwindl @ 18.05.2014, 19:50 Uhr) *
Hallo Jens,

ich verwende nach der Rechnung immer den Sprung, und prüfe ob zu groß/gleich:

LBL1
Q50 = Q50-Q2
If ... LT ... GOTO LBL 2
If ... EQU ... GOTO LBL 2
Fräse CP
IF 0 EQU 0 GOTO LBL1
L X Lezte Zustellung
Fräse CP

So stimmt das gewollte Maß immer.

Hallo!
So geht`s auch, ich nehme an lbl 2 soll vor der letzten Zustellung stehen.
Der Nachteil hierbei ist, daß du die Bearbeitung ansich 2 mal schreiben mußt, aber es gibt viele Wege nach Rom.
Als nächste steht das Eintauchen an, oder?
Gruß Jens
   
Beitrag 19.05.2014, 07:53 Uhr
CNCTango
Level 4 = Community-Meister
****
QUOTE (schwindl @ 18.05.2014, 20:50 Uhr) *
Hallo Jens,

ich verwende nach der Rechnung immer den Sprung, und prüfe ob zu groß/gleich:

LBL1
Q50 = Q50-Q2
If ... LT ... GOTO LBL 2
If ... EQU ... GOTO LBL 2
Fräse CP
IF 0 EQU 0 GOTO LBL1
L X Lezte Zustellung
Fräse CP

So stimmt das gewollte Maß immer.


Also ich habe hier ein Verständnisproblem, vielleicht kannst Du mir bitte erklären wann Deine LBL 1 zu Ende ist, bzw. sein soll?
LBL1; Anfang LBL 1
Q50 = Q50-Q2
If ... LT ... GOTO LBL 2
If ... EQU ... GOTO LBL 2
Fräse CP
IF 0 EQU 0 GOTO LBL1; solange 0 = 0 gehe nach LBL 1

wann wird den 0 nicht 0 sein?
Man könnte natürlich noch eine weitere Abfrage machen:
IF ... EQU .... GOTO LBL 3; absprung
IF 0 EQU 0 GOTO LBL1; solange 0 = 0 gehe nach LBL 1
LBL 3

Aber irgendwie verstehe ich es nicht....
   
Beitrag 19.05.2014, 09:04 Uhr
homerq
Level 5 = Community-Ingenieur
*****
QUOTE (CNCTango @ 19.05.2014, 07:53 Uhr) *
Also ich habe hier ein Verständnisproblem, vielleicht kannst Du mir bitte erklären wann Deine LBL 1 zu Ende ist, bzw. sein soll?
LBL1; Anfang LBL 1
Q50 = Q50-Q2
If ... LT ... GOTO LBL 2
If ... EQU ... GOTO LBL 2
Fräse CP
IF 0 EQU 0 GOTO LBL1; solange 0 = 0 gehe nach LBL 1

wann wird den 0 nicht 0 sein?
Man könnte natürlich noch eine weitere Abfrage machen:
IF ... EQU .... GOTO LBL 3; absprung
IF 0 EQU 0 GOTO LBL1; solange 0 = 0 gehe nach LBL 1
LBL 3

Aber irgendwie verstehe ich es nicht....

Hallo!
Ich bin mal so frei hier ungefragt zu antworten.
0=0 ergibt einen unbedingten Sprung.
Leider gibt heidenhain hier viel zu wenige Möglichkeiten so etwas vernünftig, wie in der PC-Umgebung zu programmieren.
Wenn man hier mit Sprüngen arbeitet wird kein Rücksprung erwartet, der beim Setzen von LBL0 passiert.
Das LBL1 ist sozusagen nur eine Sprungmarke.
Ich hoffe das richtig und im Sinne des Verfassers erklärt zu haben.
Gruß Jens
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: