HappySteffi
Level-1
- Beiträge
- 4
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo,
ich bin Steffi aus Dortmund und studiere Automatisierungstechnik.
Ich bin nicht sicher, ob mein Thema hier bei IEC61131 genau richtig ist, da es sowohl Mathe enthält, als auch IEC61131.
Aber ich versuche meine Aufgabe auf zwei Teile aufzuteilen. Wobei der erste und wichtigste Teil eher der mathematische Teil ist.
Erstmal worum geht es? Es geht um einen Bohrautomaten wie sie z.b. in der Holzindistrie benutzt werden. Ich habe dazu mal ein Bild hochgeladen.
Der Automat hat vier s.g. Supporte, das sind Träger die an einem Motor (Achse) hängen und positiv oder negativ positionieren können. In unserem Beispiel fahren sie auf der X-Achse.
Die Supporte sind mit X1, X2, X3 und X4 benamt.
Auf jedem Support sitzen jeweils zwei Bohraggregate die sich jeweils in Richtung der Y-Achse bewegen können. Auch diese Aggregate habe ich benamt. Es gibt natürlich normalerweise auch eine Z-Richtung, Z- wäre genau nach unten in die Tischplatte. Aber um es einfacher zu machen, lassen wir die Z-Richtung weg.
Jedes Bohraggregat hat 4 Bohrer, welche im Abstand von 32mm zueinander stehen, also Bohrermitte zu Bohrermitte. Diese Bohrer sind auch benamt (auch wenn man es im Bild nicht sieht).
T1, T2, T3 und T4. Sagen wir T1 ist immer jeweilige Bohrer unten links im Aggregat und stellt den Bezugspunkt dar. D.h. wenn T1 von Aggregat Y1 auf der Tischplatte auf Position X=0 und Y=0 steht, so ist die Position von Y1 tatsächlich X=0 und Y=0. Steht dagegen Bohrer T2 auf der linken und unteren Ecke des Tisches (Tischnullpunkt), so wäre die Position X=-32 und Y=0.
Sagen wir mal die meisten Bohrdurchmesser sind unterschiedlich, aber manche wiederholen sich auch. und um es zu vereinfachen, sagen wir mal, dass alle Löcher gleich tief sein müssen und alle Bohrer gleich lang sind.
Nun mal ein einfaches Beispiel:
In die Tischplatte sollen 10, 8mm Löcher gebohrt werden und zwar alle im Abstand von 32mm.
Stellen wir uns vor, dass wir auf Bohraggregat Y2 genau 2 Bohrer haben die auch im 32mm Abstand liegen, aber auf keinem anderen Aggregat befindet sich ein 8mm Bohrer. Darüber hinaus kann Aggregat Y2 auch alle Löcher erreichen und kein anderer Support und kein anderes Aggregat begrenzt seinen Weg zu den Löchern(Beziehungsweise Bohrpositionen, es sind ja noch keine Löcher ).
Es wäre nun natürlich das beste Ergebnis, wenn wir 5 Bohrtakte brauchen und jedes mal mit beiden Bohrern gleichzeitig 2 Löcher bohren. Schlecht wäre es wenn wir 10 Takte brauchen und jedes Loch einzeln bohren.
Darüber hinaus sollten wir von Bohrloch zu Bohrloch immer in X-Richtung auf oder absteigend takten und nicht hin und her.
Ich hoffe dieses simple Beispiel veranschaulicht gut, was hier Optimierung bedeutet. Das Ziel sollte es sein so wenig Bohrtakte wie möglich zu haben und so wenig Verfahrweg.
Nun stellen wir uns das Ganze zig mal komplexer vor. Die Tischplatte hat mindestens 100 Löcher (tschuldigung: Bohrpositionen), viele unterschiedliche Durchmesser und nicht alle haben einen 32mm Abstand oder ein vielfaches davon. Darüber hinaus muss die Bohreranzahl pro Aggregat nicht nur bei 4 liegen. In der Realität hat ein Aggregat angeblich oft locker 20 Bohrer oder mehr.
Es fällt mir schwer einen Algorithmus zu finden, um das beste Bohrergebnis zu errechnen.
Vielleicht muss ich noch sagen, dass wir auch darauf achten sollen einen schnellen Algorithmus zu finden.
Deshalb glaube ich, dass folgender Ansatz von mir schlecht wäre:
Ich teile die Länge und Breite des Tisches bzw. die Verfahrwege der Achsen auf 1/10 mm auf und lasse Positionierschleifen so durchlaufen, dass ich irgendwann jede erdenkliche Position mit allen Supporten und Achsen angefahren habe und jedes mal rechne, welche Löcher ich nun bohren könnte.
Mein Gefühl sagt mir, dass die Berechnung in der SPS oder auch woanders viele Sekunden dauern würde. Aber es soll in ca. 1-5 Sekunden ein gut brauchbares Ergebnis vorliegen.
Mir fehlt ein guter Ansatz.
Die nächste Frage, wäre die Umsetzung der Idee in der SPS, aber ich hoffe dass ich das selbst hinbekomme und deshalb lassen wir hier die Frage besser erstmal weg.
Ich bin schon glücklich, wenn überhaupt jemand bis zum Ende gelesen hat .
Also, ich erwarte nicht, dass man mir hier alles schön vorrechnet, das muss ich ja selbst können und lernen.
Aber eine gute Erklärung der jeweiligen Idee oder des Ansatzes einer Idee wäre bestimmt schon hilfreich und bringt mich einfach auf neue Möglichkeiten.
Irgendwie denke ich grad zu eingeschränkt.
Schonmal vielen Dank
HappySteffi
ich bin Steffi aus Dortmund und studiere Automatisierungstechnik.
Ich bin nicht sicher, ob mein Thema hier bei IEC61131 genau richtig ist, da es sowohl Mathe enthält, als auch IEC61131.
Aber ich versuche meine Aufgabe auf zwei Teile aufzuteilen. Wobei der erste und wichtigste Teil eher der mathematische Teil ist.
Erstmal worum geht es? Es geht um einen Bohrautomaten wie sie z.b. in der Holzindistrie benutzt werden. Ich habe dazu mal ein Bild hochgeladen.
Der Automat hat vier s.g. Supporte, das sind Träger die an einem Motor (Achse) hängen und positiv oder negativ positionieren können. In unserem Beispiel fahren sie auf der X-Achse.
Die Supporte sind mit X1, X2, X3 und X4 benamt.
Auf jedem Support sitzen jeweils zwei Bohraggregate die sich jeweils in Richtung der Y-Achse bewegen können. Auch diese Aggregate habe ich benamt. Es gibt natürlich normalerweise auch eine Z-Richtung, Z- wäre genau nach unten in die Tischplatte. Aber um es einfacher zu machen, lassen wir die Z-Richtung weg.
Jedes Bohraggregat hat 4 Bohrer, welche im Abstand von 32mm zueinander stehen, also Bohrermitte zu Bohrermitte. Diese Bohrer sind auch benamt (auch wenn man es im Bild nicht sieht).
T1, T2, T3 und T4. Sagen wir T1 ist immer jeweilige Bohrer unten links im Aggregat und stellt den Bezugspunkt dar. D.h. wenn T1 von Aggregat Y1 auf der Tischplatte auf Position X=0 und Y=0 steht, so ist die Position von Y1 tatsächlich X=0 und Y=0. Steht dagegen Bohrer T2 auf der linken und unteren Ecke des Tisches (Tischnullpunkt), so wäre die Position X=-32 und Y=0.
Sagen wir mal die meisten Bohrdurchmesser sind unterschiedlich, aber manche wiederholen sich auch. und um es zu vereinfachen, sagen wir mal, dass alle Löcher gleich tief sein müssen und alle Bohrer gleich lang sind.
Nun mal ein einfaches Beispiel:
In die Tischplatte sollen 10, 8mm Löcher gebohrt werden und zwar alle im Abstand von 32mm.
Stellen wir uns vor, dass wir auf Bohraggregat Y2 genau 2 Bohrer haben die auch im 32mm Abstand liegen, aber auf keinem anderen Aggregat befindet sich ein 8mm Bohrer. Darüber hinaus kann Aggregat Y2 auch alle Löcher erreichen und kein anderer Support und kein anderes Aggregat begrenzt seinen Weg zu den Löchern(Beziehungsweise Bohrpositionen, es sind ja noch keine Löcher ).
Es wäre nun natürlich das beste Ergebnis, wenn wir 5 Bohrtakte brauchen und jedes mal mit beiden Bohrern gleichzeitig 2 Löcher bohren. Schlecht wäre es wenn wir 10 Takte brauchen und jedes Loch einzeln bohren.
Darüber hinaus sollten wir von Bohrloch zu Bohrloch immer in X-Richtung auf oder absteigend takten und nicht hin und her.
Ich hoffe dieses simple Beispiel veranschaulicht gut, was hier Optimierung bedeutet. Das Ziel sollte es sein so wenig Bohrtakte wie möglich zu haben und so wenig Verfahrweg.
Nun stellen wir uns das Ganze zig mal komplexer vor. Die Tischplatte hat mindestens 100 Löcher (tschuldigung: Bohrpositionen), viele unterschiedliche Durchmesser und nicht alle haben einen 32mm Abstand oder ein vielfaches davon. Darüber hinaus muss die Bohreranzahl pro Aggregat nicht nur bei 4 liegen. In der Realität hat ein Aggregat angeblich oft locker 20 Bohrer oder mehr.
Es fällt mir schwer einen Algorithmus zu finden, um das beste Bohrergebnis zu errechnen.
Vielleicht muss ich noch sagen, dass wir auch darauf achten sollen einen schnellen Algorithmus zu finden.
Deshalb glaube ich, dass folgender Ansatz von mir schlecht wäre:
Ich teile die Länge und Breite des Tisches bzw. die Verfahrwege der Achsen auf 1/10 mm auf und lasse Positionierschleifen so durchlaufen, dass ich irgendwann jede erdenkliche Position mit allen Supporten und Achsen angefahren habe und jedes mal rechne, welche Löcher ich nun bohren könnte.
Mein Gefühl sagt mir, dass die Berechnung in der SPS oder auch woanders viele Sekunden dauern würde. Aber es soll in ca. 1-5 Sekunden ein gut brauchbares Ergebnis vorliegen.
Mir fehlt ein guter Ansatz.
Die nächste Frage, wäre die Umsetzung der Idee in der SPS, aber ich hoffe dass ich das selbst hinbekomme und deshalb lassen wir hier die Frage besser erstmal weg.
Ich bin schon glücklich, wenn überhaupt jemand bis zum Ende gelesen hat .
Also, ich erwarte nicht, dass man mir hier alles schön vorrechnet, das muss ich ja selbst können und lernen.
Aber eine gute Erklärung der jeweiligen Idee oder des Ansatzes einer Idee wäre bestimmt schon hilfreich und bringt mich einfach auf neue Möglichkeiten.
Irgendwie denke ich grad zu eingeschränkt.
Schonmal vielen Dank
HappySteffi