Jump to content

Fahrstraßen mit Wiederholungen abfragen


jloos

Empfohlene Beiträge

Hallo,

ich suche ein Beispiel hier im Forum über Fahrstraßen, wie festgestellt wird ob sie frei ober besetzt sind. Das Beispiel Bremsen.mbp von HaNNoveraNer habe ich gefunden. Doch das ist in Luna. Ich habe alles in meine Anlage kopiert, doch es treten Skriptfehler auf. Außerdem bringt mir das dann auch nichts, ich verstehe es nicht.

Gibt es auch Beispiele mit der grafischen Version der EV6 ?

Danke

Gruß Jürgen

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb jloos:

Doch das ist in Luna Lua.

Weil Lua das bessere Werkzeug für solche Aufgaben ist.
Wenn du gerne solche komplexen Dinge wie das Management von Fahrstraßen programmieren möchtest, dann wäre ein guter Anfang, Lua zu lernen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Minuten schrieb Goetz:

Weil Lua das bessere Werkzeug für solche Aufgaben ist.
Wenn du gerne solche komplexen Dinge wie das Management von Fahrstraßen programmieren möchtest, dann wäre ein guter Anfang, Lua zu lernen.

Hallo Goetz,

gut, dann soll es wohl so sein.
Ich habe Dein Lua Tutorial gefunden und werde mich jetzt erst mal damit beschäftigen. 

Danke Jürgen

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Minuten schrieb jloos:

gut, dann soll es wohl so sein.

Alternative kann ich dir wärmstens empfehlen, die Anlagen von Roter Brummer näher zu studieren.
Die enthalten alle clevere Schaltungen und kommen ohne Lua aus. Sie eignen sich gut, um die Prinzipien der EV besser zu durchschauen.

Und wenn du die EV selbst durchschaust, wenn du beispielsweise weißt, wie Schleifen generell funktionieren, dann findest du auch die Antwort auf deine Eingangsfrage hier.

Man kann solche Schaltungen nicht einfach kopieren, ohne die Werkzeuge der EV zu durchschauen. Weil man dann nicht erkennen kann, welche Abschnitte man wie an die eigene Anlage anpassen muss. 

 

vor 1 Minute schrieb Atrus:

wo finde ich den dieses Tutorial,

Hier, im Forum. Kennst du das "Suchen" Feld oben rechts in der Kopfleiste des Forums?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Minuten schrieb Atrus:

Klingt das blöd?

Sorry - ja.

Es ist eine "blöde" Idee, etwas in einer Schleife immer wieder zu tun.
Nahezu alles kannst du einmal tun, wenn es dafür einen Anlass gibt. Der Zustand einer Fahrstraße ändert sich einmalig dann, wenn ein Zug sie betritt. Wenn er sie verlässt. etc. Der "Besetzt" Zustand ändert sich einmalig, wenn ein Gleis betreten wird. Wenn es verlassen wird. etc.

Das sind Ereignisse, an die du dich dranhängen musst.

Du musst dir überlegen, wo die Schlüsselpunkte für Änderungen sind. Und einmalig reagieren, wenn an diesen Schlüsselstellen etwas passiert.

Gruß
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 22 Minuten schrieb Atrus:

du meinst erst wenn die Fahrstrasse aufgelöst ist kann überhaupt eine neue gebildet werden

Ja - ist doch logisch.

Du versuchst, eine neue zu bilden, weil ein Zug sie anfordert.
Der Versuch scheitert, weil eine aktive Fahrstraße einen Konflikt darstellt.
Wann kann frühestens (!) ein Zustand entstehen, der es ermöglicht die gewünschte Fahrstraße zu schalten?
Wenn der Konflikt, der eben ein Hindernis war, nicht mehr besteht.

vor 25 Minuten schrieb Atrus:

Muss ich erst mal drüber nachdenken

Nimm dir Zeit, Atrus.  ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Michipapa für denTipp. Muss mich nur gerade mal mit Variablen und Schlagwörtern ect. vertraut machen. War da leider etwas faul. Aber macht mir schon richtig Spass!! Der Götz hält mich da ganz schön auf Trab. Ist aber eh gut so. Werde mir aber gerne Rocrail mal ansehen. Vielen Dank!

LG  Atrus 

Bearbeitet von Atrus
Korrektur
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 26 Minuten schrieb Goetz:

Wann kann frühestens (!) ein Zustand entstehen, der es ermöglicht die gewünschte Fahrstraße zu schalten?
Wenn der Konflikt, der eben ein Hindernis war, nicht mehr besteht.

Hallo Götz,
das kann aber sehr komplex werden. Ich bin da mit Timern, die es dann etwas später nochmal versuchen, ganz gut gefahren.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, Brummi, aber die kollidierenden Fahrstraßen müssen irgendwann wieder nachfragen, ob sie noch kollidieren.
Du kannst natürlich auch beim Rücksetzen der Variablen alle Fahrstraßen, die sie beinhalten erneut versuchen zu starten.
Aber ob das einfacher ist...

Gruß
Thomas

Bearbeitet von HaNNoveraNer
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 8 Minuten schrieb HaNNoveraNer:

aber die kollidierenden Fahrstraßen müssen irgendwann wieder nachfragen, ob sie noch kollidieren.

Wie ich oben schon schrieb:
Wenn zwei Fahrstraßen "kollidieren", dann wird eine Fahrstraße abgelehnt, weil eine Bedingung nicht erfüllt wurde. (Ob es noch weitere Bedingungen gab und diese ebenfalls unerfüllt waren, spielt in diesem Augenblick schon keine Rolle mehr.)

Also musst du die Änderung dieser Bedingung als Auslöser benutzen, um diesen Weg erneut zu prüfen. Mehr nicht.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, geh ich voll konform. Wird dann zwar auch nicht einfacher aber ist dafür exakt definiert! Andererseits könnte man dann auch noch Prioritäten (Variable erweitert) setzen und bestimmten Zügen ect. denn Vorzug geben und so weiter. Kann ich mir gut vorstellen.

LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Natürlich, HaNNoveraNer.

Aber jede dieser Ablehnungen ist eine Reaktion auf eine Anfrage, die eine einzelne Fahrstraße betrifft.
Und die Anfragen treffen nacheinander ein, nicht zugleich.

 

Bearbeitet von Goetz
Schreibfehler korrigiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,
wahrscheinlich verstehen wir unter Fahrstraßen grundverschiedene Dinge.
Bei mir ist es ein in einer Tabelle abgelegter Weg, der einen Anfang und ein Ende hat und über eine variable Anzahl von Weichen mit Weichenstellungen definiert wird.
Da ich davon über 100 habe, erscheint es mir relativ bescheuert, auch noch mehrere andere Tabellen zu führen, die festlegen, welche Fahrstraße mit welcher wann kollidieren könnte. Allen Loks wird jeweils eine solche Fahrstraße mit frühester Abfahrzeit zugewiesen. Ein alternativer Weg ist dabei nicht vorgesehen! Beim Check einer Fahrstraße wird geschaut, ob Blöcke noch reserviert sind. Das hat den Nachteil, das z.B. am Ende einer Wendeschleife auf jeden Fall ein Block kommt, den diese Fahrstraße soeben für sich selbst reserviert hat - was jene Konstellation unmöglich macht und damit auch diese Fahrstraße. Mit den relativ eingeschränkten Möglichkeiten der V4 (!) habe ich damals keine schönere Lösung gefunden! Da alles irgendwie umzumodeln wäre eine Höllenarbeit.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich verstehe das so, dass immer alle möglichen Fahrstrassen abgefragt werden und z.B. ob das Zielgleis frei ist oder welche andere Bedingungen, z.B. ein bestimmtes Schlagwort bestehen. Erst dann wird die Fahrstrasse freigegeben. Natürlich ist immer die erste Anfrage die erfolgreiche, so es keine Bedingungen gibt. Kann aber Andy gut verstehen, das er nicht seine ganze EV umschreiben möchte.

LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Atrus,
es geht mir auch nicht darum, da unbedingt recht haben zu wollen. Es ist eine Mischung aus 'brute force', wie es Götz nannte und dem, was damals eben möglich war.
Da gab's auch noch keine Gleiskontakte, Leitwert war also eine globale Fahrtrichtung. Über eine effiziente Lösung für heute müßte ich richtig grübeln! Fakt ist, selbst jene 'einfache' Lösung für das Problem ist schon derart komplex, dass es mir schwerfällt, mich nochmal dranzutrauen. Bei über 100 Fahrstraßen glaube ich nicht an eine einfache Lösung!

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Stunden schrieb Andy:

wahrscheinlich verstehen wir unter Fahrstraßen grundverschiedene Dinge.
Bei mir ist es ein in einer Tabelle abgelegter Weg, der einen Anfang und ein Ende hat und über eine variable Anzahl von Weichen mit Weichenstellungen definiert wird.

Genau das möchte ich machen. Fahrstraßen hört sich so nach automatisch gesuchte freie Strecke an.  Fahrwege ist vielleicht der bessere Ausdruck.

Ich beschreibe mal meine Vorstellungen:

Jede Lock hat eine Kennung, ob sie Schnellzug, Nahverkehr oder Güterzug ist. Die Bahnhofseinfahrt links und rechts wird von einem Signal kontrolliert. Hier wird die Zugkennung abgefragt. Für jede Zugkennung gibt es festgelegte Bahnhofsgleise. Besetzte Gleise sind als Besetzt markiert, ob durch Block oder über besetzte Gleise festgestellt per Wiederholung. Ist das gewünschte Gleis frei, werden die Weichen entsprechend geschaltet und der Zug erhält das Fahrtsignal bis zum Ausfahrtsignal des Bahnsteiges. Die Ausfahrt wird auf die gleiche Weise gesteuert.

Ich habe schon mit Tabellen probiert, bekomme aber bei mehreren Weichen und Signalen nicht das Objekt und die jeweilige Stellung zusammen. Ich möchte nicht ellenlange EV-Ereignisse für jeden Fahrweg erstellen. 

Gruß Jürgen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...