535.203 aktive Mitglieder*
2.845 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
HEIDENHAIN Forum

Mess- und Steuerungstechnik

erweiterte Kreistaschenanordnung mit Q-Parametern, maximale Anzahl definierter Kreise symmetrisch in einem Rechteck

Beitrag 14.12.2017, 19:11 Uhr
Merkwuerden
Merkwuerden
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 17.09.2015
Beiträge: 2

Hallo.

Ich tüftle gern und habe eine knifflige Aufgabe zu lösen. Ich arbeite an einem Vertikalbearbeitungszentrum mit iTNC530 Steuerung.

Wie im Titel und der Themenbeschreibung schon angedeutet möchte ich Kreistaschen in einem definierten Rechteck symmetrisch zu diesem anordnen. Gleichzeitig soll immer die maximal mögliche Anzahl der Taschen unter Berücksichtigung eines gleichbleibenden Abstandes untereinander erreicht werden. Sämtliche Eingaben, wie z.B. Kreistaschendurchmesser, Rechteckabmaße und Vorschübe werden mit Q-Parametern deklariert.
Wie ich die einzelnen Kreismittelpunkte ausrechnen lasse und diese vorpositioniere, habe ich bereits hinbekommen.
Nun komme ich zu meinem Problem: Die Symmetrie der Kreistaschen zum Rechteck. Mein Ansatz ist die Definition der Mitte dieses Rechteckes. Von diesem Punkt aus soll der maximal mögliche Startmittelpunkt der Kreistaschen in -X und -Y berechnet werden. Dazu muss ich wissen, wieviel Kreistaschen sich sowohl in X-, als auch in Y-Richtung vom Mittelpunkt aus maximal bearbeiten lassen.
Wenn Euch der Text zu unübersichtlich ist, kann ich vielleicht noch ein paar Skizzen anheften.

MfG, Merkwürden.

TOP    
Beitrag 14.12.2017, 19:41 Uhr
cgTNC
cgTNC
Level 7 = IndustryArena-Professor
*******
Gruppe: Mitglied
Mitglied seit: 21.11.2010
Beiträge: 1.330

Das was Du suchst ist vermutlich die INT-Funktion, diese schneidet die Nachkommastellen ab:

Q1 = 100 ; Taschenbreite
Q2 = 30 ; Durchmesser
Q3 = INT (Q1 / Q2) ; Anzahl der Kreistaschen

Gruß
cgTNC
TOP    
Beitrag 15.12.2017, 08:15 Uhr
eckitsch
eckitsch
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 09.08.2007
Beiträge: 310

Hallo,

Taschenlänge und Breite sind klar. Was sind denn die anderen gegebenen Größen?
Bohrungsdurchmesser oder Wandungsdicke (Abstand zw. den Bohrungen)?

Ansonsten lautet die neutrale Formel für gleiche Abstände/Wandungsdicken:
Taschenlänge = Anzahl_Kreistaschen * DM_Kreistaschen + (Anzahl_Kreistaschen + 1) * Wandungsdicke
TOP    
Beitrag 16.12.2017, 13:04 Uhr
Merkwuerden
Merkwuerden
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 17.09.2015
Beiträge: 2

Die gegebenen Größen sind:

- Start- & Endpunkte des Rechteckes
- Zwischenraum zwischen den Kreistaschen
- Kreistaschenzyklus

Ich habe das Programm soweit fertig. Zur Info, um die maximale Anzahl der kreistaschen zu erreichen, müssen sie versetzt übereinander angeordnet werden. Ich habe also zur Berechnung der Maximalhöhe die Formel zur Berechnung der Höhe eines Gleichseitigen Dreieckes benutzt (0,5 * Seitenlänge * √3). Alternativ müsste auch eine Sinusfunktion mit 60° klappen.
Meine Zähler:
Q81=0
LBL op_X
Q81=Q81+1
Q75= Endpunkt_X - Startpunkt_X / (((KreistaschenØ + Zwischenraum) * Q81) - Zwischenraum)
IF Q75 GT 1 goto LBL op_X
IF Q75 LT 1 goto LBL Y

LBL Y
Q82=0
LBL op_Y
Q82=Q82+1
Q76= Endpunkt_Y - Startpunkt_Y / (((KreistaschenHÖHE + ZwischenraumHÖHE) *Q82) - ZwischenraumHÖHE)
IF Q76 GT 1 goto LBL op_Y
IF Q76 LT 1 goto LBL Startpunkt

Ich schreibe das gerade aus der Erinnerung, daher können auch Fehler enthalten sein.
Als Nächstes wird eine Nullpunktverschiebung auf den Startpunkt vorgenommen und die erste Kreistasche bearbeitet. Danach kommt eine Abfrage über Sprünge, die über ein Label mit dem (X-Zähler -1) wiederholt wird. Danach kommt der erste "Y-Sprung" und eine in negertiver X-Richtung gestartete Abfrage Mit dem (X-Zähler -2). Die Y-Maximalhöhe wird nach jedem Y-Sprung abgefragt und bei erfüllung zum Labelende Gesprungen.

Wie schon beschrieben funktioniert das Programm schon im Groben. Die symmetrische Anordnung zum Rechteck passt aber noch nicht ganz.
Da werde ich wohl noch einen Schreib- oder Verständnisfehler drin haben.

Der Beitrag wurde von Merkwuerden bearbeitet: 16.12.2017, 13:07 Uhr
TOP    
Beitrag 16.12.2017, 18:06 Uhr
cgTNC
cgTNC
Level 7 = IndustryArena-Professor
*******
Gruppe: Mitglied
Mitglied seit: 21.11.2010
Beiträge: 1.330

ZITAT(Merkwuerden @ 16.12.2017, 13:04 Uhr) *
Zur Info, um die maximale Anzahl der kreistaschen zu erreichen, müssen sie versetzt übereinander angeordnet werden. Ich habe also zur Berechnung der Maximalhöhe die Formel zur Berechnung der Höhe eines Gleichseitigen Dreieckes benutzt (0,5 * Seitenlänge * √3). Alternativ müsste auch eine Sinusfunktion mit 60° klappen.

Mit einem gleichseitigen Dreieck wird die maximale Packungsdichte der Kreise erreicht, wobei der Bohrungsabstand überall gleich ist.

Wenn ich das richtig verstanden habe ist die Aufgabe die Kreise in einem Rechteck möglichst dicht anzuordnen.
Als Beispiel:
Taschenbreite: 100
Taschenhöhe: 135
Kreisdurchmesser: 30

Das ergibt im ersten Schritt die Aufteilung in der Breite:
Anzahl der Kreise: INT (100 / 30) = 3
Abstand: (100 - (30 * 3)) / (3 - 1) = 5

Im zweiten Schritt kann jetzt der Reihenabstand mit den versetzten Kriesen ausgerechnet werden.
Der minimale Abstand in der Diagonalen ist wie gehabt der Kreisdurchmesser: 30
Der Versatz in der Breite ist: (Durchmesser 30 + Abstand 5) / 2 = 17.5
Der minimale Reihenabstand mit Pytagoras: Wurzel aus (30 * 30 - 17.5 * 17.5) = 24.367

Anzahl der Kreisreihen in der Höhe: INT ((Taschenhöhe 135 - Durchmesser 30) / Reihenabstand 24.367) + 1 = 5
Gleichmässig aufgeteilter Reihenabstand: (Taschenhöhe 135 - Durchmesser 30) / (Anzahl 5 - 1) = 26.25

Falls benötigt, kann abschliessend noch der diagonale Kreisabstand mit Pytagoras berechnet werden:
Wurzel aus (17.5 * 17.5 + 26.25 * 26.25) - 30 = 1.549

Gruß
cgTNC

Der Beitrag wurde von cgTNC bearbeitet: 16.12.2017, 18:20 Uhr
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: