TIA Routing Algorithmus für eine Förderstrecke gesucht

Bavilo

Level-2
Beiträge
60
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich suche nach Ideen um auf einer Förderstrecke anhand eines vorgegebenen Zieles den Weg dort hin zu finden.

Zurzeit setze ich das ganze so um:

Handelt es sich bei dem jeweiligen Förderstrecken Abschnitt um eine gerade Strecke, so gibt es keinen anderen Weg, also fährt die Ladeeinheit dort entlang.
Steht die Ladeeinheit auf einer Kreuzung so wird eine Liste durchsucht die alle in der Anlage möglichen anfahrbaren Ziele enthält. Ist das Ziel gefunden, wird für dieses Ziel auf dieser Kreuzung die nächste Position aus der Liste geladen und die Ladeeinheit fährt dort entlang.

Angekommen auf der nächsten Kreuzung wird wieder eine Liste durchsucht welche die selben Ziele enthält. Auf dieser Kreuzung jedoch gibt es für die Ziele eine andere nächste Position, die Ladeeinheit biegt also dort ab.

So in etwa:

Ladeeinheit steht auf auf Kreuzung 1 und möchte zu Ziel 20. Kreuzung 1 durchsucht die Liste.
  • Ziel - 12, Nächste Position - 5
  • Ziel - 16, Nächste Position - 5
  • Ziel - 18, Nächste Position - 5
  • Ziel - 20, Nächste Position - 7
Ziel 20 gefunden, um dort hin zu gelangen fahre auf Platz 7.

Irgendwann steht die Ladeeinheit auf einer weiteren Kreuzung und durchsucht die Liste.
  • Ziel - 12, Nächste Position - 8
  • Ziel - 16, Nächste Position - 8
  • Ziel - 18, Nächste Position - 8
  • Ziel - 20, Nächste Position - 10
Ziel gefunden, um dort hin zu gelangen fahre auf Platz 10.

So nähert sich die Ladeeinheit immer mehr dem Ziel durch meinen im Prinzip vordefinierten Weg.


Wie man schön erkennen kann müssen ALLE Kreuzungen eine Liste ALLER Ziele durchsuchen und dann entscheiden welcher der nächste Platz ist. Dies funktioniert auch ohne Probleme. Es ist allerdings sehr mühsam diese Listen zu erstellen und die nächsten gültigen Plätze zu vergeben.

Was wäre eine Alternative um das ganze einfacher zu gestalten? Die Fördertechnik soll keinerlei "Logik" haben. Sie soll nicht in der Lage sein selbständig den kürzesten Weg zu finden (wie z.B. bei Dijkstra). Sollte ein Streckenabschnitt gestört sein, so muss der Materialflussrechner rechtzeitig ein neues Ziel vergeben damit die Förderstrecke einen anderen Weg nimmt.


Ich bin über jeden Tipp dankbar!

Grüße
 
Hast du die Möglichkeit der Ladeeinheit die Route direkt mitgeben zu können (z.B. RFID Tag). dann kann man initial die Route auf den Tag ablegen und jede Kreuzung schaut nach seiner Nummer (Wegpunkt) in der Route auf dem Tag und schaltet in die Richtung des nächsten Wegpunktes. In der Weiche müsste man nur die folgenden Wegpunkte eintragen und evtl. alternativ Wegpunkte, um bei Störungen Wegpunkte zu umfahren.
 
Das wäre ja im Prinzip das gleich was ich jetzt mache. Jede Kreuzung sucht nach den nächsten Weg anhand des Zieles. RFID Tags können nicht verwendet werden. Das Konzept sollte für alle Förderanlagen gültig sein.

"dann kann man initial die Route auf den Tag ablegen".
Und woher kommt diese Route? Wie wird sie festgelegt? Jede Ladeeinheit kann ja ein anderes Ziel haben.
 
Wenn du Ladeeinheit schreibst dann meinst du eine Art FTS ? (führerloses Transportsystem)

Ich verstehe jetzt nicht, was an dieser Vorgehensweise so mühsam ist, die (Entscheidungs-)Liste zu erstellen ...
Unter Ladeeinheit verstehe ich eine Palette oder ein Tablar auf einem Förderer.

Mal angenommen ich habe eine Förderanlage die wie ein Loop aufgebaut ist wo Ladeeinheiten Kreiseln könnten. In der Anlage gäbe es ca. 40 Entscheidungspunkte. Alle diese 40 Entscheidungspunkte durchsuchen eine Liste wo wiederum alle Entscheidungspunkte als mögliches Ziel enthalten sind.

Demnach 40 Listen mit je 80 Einträgen (die 40 Entscheidungspunkte und die 40 "nächste Position" um dort hin zu gelangen).
Die 40 "nächsten Positionen" unterscheiden sich natürlich in jeder der 40 Listen.

Es müssen also 1600 "nächste Positionen" festgelegt werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
"dann kann man initial die Route auf den Tag ablegen".
Und woher kommt diese Route? Wie wird sie festgelegt? Jede Ladeeinheit kann ja ein anderes Ziel haben.
Einer muss in der Anlage die Route planen. Sei es ein MES mit passender Funktion oder eine Station, die das Wissen über möglich Routen hat oder diese planen kann.

Eine andere Möglichkeit ist, dass man sich eine Kodierung überlegen kann, die die Anlage in Segmente unterteilt und die Weiche anhand von der Codierung schaltet. Z.B. "10-20-05" [Segment-Modul-Position]. Dann kann die Weiche alle zu einem Segment gehörenden Ziele der Ladeeinheit zu diesem Segment schicken und muss nicht weiter auflösen. Wenn der Förderer bereits im Segment ist, wird auf Modul Ebene entschieden und so weiter.

Wie ist die Anlage denn aufgebaut? Gibt es viele parallele Strecken?
 
Ja es gibt einige parallele Strecken. Ich denke das Haupt Thema ist, dass der Materialflussrechner der Ladeeinheit JEDES anfahrbare Ziel geben kann.

Würde der Materialflussrechner einer Ladeeinheit lediglich das nächste Zwischenziel vergeben, so müsste jeder Platz nur wissen wie er zum nächsten Zwischenziel kommt. Nun muss aber jedes Zwischenziel wissen in welche Richtung es fahren müsste um zu jedem anderen Zwischenziel zu gelangen.

Vielleicht noch eine Wichtige Information:
Jeder Förderer kann von sich aus NUR seine nächste Position anfahren.

Möchte ich eine Palette von Platz 10 zu 13 fahren währe der Ablauf wie folgt.
LE auf Platz 10 (Ziel 13, Nächste Position 11) ->LE auf Platz 11 (Ziel 13, Nächste Position 12) -> LE auf Platz 12 (Ziel 13, Nächste Position 13)

Es würde also nichts bringen die Route vorab schon zu kennen. Denn Platz 10 interessiert sich nicht für die gesamte Route, nur wo er als nächstes hin soll.
 
Mal angenommen ich habe eine Förderanlage die wie ein Loop aufgebaut ist wo Ladeeinheiten Kreiseln könnten. In der Anlage gäbe es ca. 40 Entscheidungspunkte. Alle diese 40 Entscheidungspunkte durchsuchen eine Liste wo wiederum alle Entscheidungspunkte als mögliches Ziel enthalten sind.

Demnach 40 Listen mit je 80 Einträgen (die 40 Entscheidungspunkte und die 40 "nächste Position" um dort hin zu gelangen).
Die 40 "nächsten Positionen" unterscheiden sich natürlich in jeder der 40 Listen.

Es müssen also 1600 "nächste Positionen" festgelegt werden.
Ich weiß nicht ob du das jetzt nicht zu kompliziert siehst (oder ich zu simpel) ...
Was genau ist ein Entscheidungspunkt ? Also wieviele Routen gibt es da ? Wenn du von einer Kreuzung sprichst dann können es ja nur 3 mögliche Routen sein (oder weniger). Aus meiner Sicht :
Dein Träger hat als Endziel die Position 123. Das ist doch vollkommen unabhängig von dem Entscheidungspunkt. An diesem Punkt musst du doch nur sagen "Rechts , Links oder Geradeaus". Das gleiche gilt dann doch für jeden weiteren Punkt ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Entscheidungspunkt wäre z.B. ein Förderer der an mehrere Seiten abgeben kann. Hier muss Entschieden werden welche Richtung die Palette nehmen soll.

Richtig. Von diesem Entscheidungspunkt ausgesehen gibt es nur 3 Wege. Links, Rechts, oder Geradeaus. Mein Ziel ist 123.

Entscheidung 1: Links
Entscheidung 2: Geradeaus
Entscheidung 3: Geradeaus
Entscheidung 4: Rechts
Entscheidung 5: Links
Angekommen.

Neues Ziel...59.
Entscheidung 1: Rechts
Entscheidung 2: Links
Entscheidung 3: Geradeaus
Entscheidung 4: Rechts
Entscheidung 5: Geradeaus
Angekommen.

Wie gesagt, wenn es 40 Entscheidungspunkte gibt, wo die Palette hinfahren kann, muss ich bei jedem Entscheidungspunkt jeden anderen Entscheidungspunkt definieren und dem Platz sagen wie er dort hinkommt (Links, Rechts, Geradeaus). Das 1.600 mal.

Bei 100 Entscheidungspunkten. 10.000 mal. Das ganze ist nicht so einfach skalierbar.
 
Ja es gibt einige parallele Strecken. Ich denke das Haupt Thema ist, dass der Materialflussrechner der Ladeeinheit JEDES anfahrbare Ziel geben kann.

Würde der Materialflussrechner einer Ladeeinheit lediglich das nächste Zwischenziel vergeben, so müsste jeder Platz nur wissen wie er zum nächsten Zwischenziel kommt. Nun muss aber jedes Zwischenziel wissen in welche Richtung es fahren müsste um zu jedem anderen Zwischenziel zu gelangen.

Vielleicht noch eine Wichtige Information:
Jeder Förderer kann von sich aus NUR seine nächste Position anfahren.

Möchte ich eine Palette von Platz 10 zu 13 fahren währe der Ablauf wie folgt.
LE auf Platz 10 (Ziel 13, Nächste Position 11) ->LE auf Platz 11 (Ziel 13, Nächste Position 12) -> LE auf Platz 12 (Ziel 13, Nächste Position 13)

Es würde also nichts bringen die Route vorab schon zu kennen. Denn Platz 10 interessiert sich nicht für die gesamte Route, nur wo er als nächstes hin soll.
Das setzt voraus, dass jeder Förderer eine Kommunikation zum Matrialflussrechner hat und die neue Zwischenzielposition beziehen kann.
Wenn dies der Fall ist, kann der Materialflussrechner für jede Ladeeinheit ein Liste, mit der ID der Ladeeinheit, erstellen, die dann von dem Förderer abgerufen wird und dann die Ladeeinheit an den nächste Förderer schickt, sofern es noch weiter geht. Wenn dann die Ladeeinheit das Ziel erreicht hat, wird die Liste gelöscht.
So müsste der Forderer nur die Ladeeinheit identifizieren. Dann die Informationen mit der ID vom Materialflussrechner abfragen und dann die Ladeeinheit an das nächste Ziel schicken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Fördertechnik an sich hat eine Verbindung zum MFR. Die eingehenden Telegramme werden verarbeitet und an die jeweiligen Förderer adressiert. Um z.B. Ziele zu vergeben.

Es werden keine Änderungen am Materiaflussrechner vorgenommen. Der MFR vergibt nur Zwischenziele er schickt die Palette nicht von Platz zu Platz. Würde der MFR das tun so besteht die Möglichkeit, dass wenn die Palette den nächsten Platz erreicht hat und dies dem MFR meldet und der MFR erst dann den Auftrag schickt zum nächsten Platz zu fahren, dass die Förderstrecke "ruckelt".

Also...Die Ladeeinheit bekommt das Zwischenziel und muss selber raus finden wie es da hin kommt damit die Förderstrecke "flüssig" läuft.
 
Hab das mal bei Google gefunden.

Wenn man sich in dieser Anlage die Kreuzungspunkte ansieht wo eine Palette abbiegen kann und mal angenommen die Strecke wäre ein "Loop". Das heisst die Palette könnte in dieser Anlage Kreiseln. Dann muss doch an jeder Kreuzung herausgefunden werden in welche Richtung die Palette fahren muss um an JEDE andere Kreuzung zu gelangen.

Das ist bei größeren Anlagen mit meiner jetzigen Strategie sehr Aufwendig.

Beispiel.jpg
 
Gehen wir mal nicht nur von einer Palette aus.

Palette 1 bekommt Ziel 10 und muss durch 5 Entscheidungspunkte fahren bevor sie da ist.
Palette 2 bekommt Ziel 5 und muss durch 3 Entscheidungspunkte fahren bevor sie da ist.

Trotzdem müssen doch alle Kreuzungen alle Ziele kenne um jede Palette in die richtige Richtung zu fahren.
 
Egal was für optimierte Verbindungen ausgedacht werden: was passiert bei Gegenverkehr? Da hilft es doch nicht, wenn eine Kreuzung die Nachbarstationen kennt?
 
Gehen wir mal nicht nur von einer Palette aus.

Palette 1 bekommt Ziel 10 und muss durch 5 Entscheidungspunkte fahren bevor sie da ist.
Palette 2 bekommt Ziel 5 und muss durch 3 Entscheidungspunkte fahren bevor sie da ist.

Trotzdem müssen doch alle Kreuzungen alle Ziele kenne um jede Palette in die richtige Richtung zu fahren.
Aber bei jedem Entscheidungspunkt gibt es nur 3 Entscheidungen und ggf. nur einer führt zum Ziel. Vielleicht solltest du deine Entscheidung doch bei jedem Entscheidungspunkt treffen.
 
Bei jedem Entscheidungspunkt gibt es eventuell nur 3 "Richtungen" wo die Palette hin soll. Aber diese Richtung muss ich pro Ziel definieren.

Um beim letzten Entscheidungspunkt anzukommen müssten eventuell alle Entscheidungspunkte die Richtung "Geradeaus" vorgeben. Dennoch muss ich dies definieren.
 
Zurück
Oben