Mein neuartiges LUA-Steuerkonzept

!!! Please ensure, that your contribution or question is placed into the relevant section !!!
Questions about rolling stock, for example, do not belong in "Questions about the Forum". Following is perhaps the right area where your question will be better looked after:
General questions to EEP , Splines, rolling stock, Structures in EEP, landscape elements, Signalling system and controlling, designers, Europe-wide EEP meetings , Gossip
Your cooperation to keep the forum clear is appreciated.
  • Wie vielleicht bekannt, strebe ich an, meine Anlage voll zu automatisieren, um als Zuschauer einen abwechslungsreichen und dem Vorbild entsprechenden Bahnbetrieb zu beobachten.


    In der üblichen Herangehensweise lösen Kontaktpunkte die einzelnen Funktionen aus, die durch ein LUA-Skript definiert werden. Das führt dazu, dass in gewissen Bereichen geradezu flächendeckende Matratzen von Kontaktpunkten notwendig werden, die nicht mehr wirklich zu beherrschen sind. Auch die Zusammenfassung in Summenkontakte vermindert zwar die Dichte auf dem Gleis, aber wirkliche Übersicht bringt das auch nicht.


    Ich jedenfalls bin davon überfordert, wie verschiedene frühere Versuche gezeigt haben.


    Daher habe ich mir ein völlig neues Konzept überlegt, dass ich jetzt auf meiner Anlage „Worms“ umsetzen will, und über das ich hier, sofern von Interesse, von Zeit zu Zeit berichten möchte.


    Die Grundidee ist, dass einem Zug ein Fahrauftrag zugeordnet wird, in dem festgelegt ist, was an welcher Stelle passieren soll. Der Kontakt selbst teilt dann dem Zug lediglich mit, wo er sich gerade befindet, woraufhin die Funktionen aufgerufen werden, die für diesen Zug laut Fahrauftrag an dieser Stelle abgearbeitet werden sollen. Das legt die Vielfalt der Funktionen von den Kontakten weg in das LUA-Skript gelegt wird, aber dies ist aus meiner Sicht wesentlich einfacher zu überblicken und zu pflegen. Nachteilig ist, dass das Skript wohl recht lang wird und man auch viele Daten definieren muss - aber für mich ist das besser zustrukturieren und zu überblicken als ein Tohuwabohu von Dutzenden von Kontakten mit entsprechend vielen Einzelfunktionen.


    An vorgegeben Kontakten nutze ich nur noch die Funktionen,. die vollkommen unabhängig von Fahraufträgen sind, etwa das Auflösen von Fahrstraßen oder das Rückstellen von Signalen auf „Halt“.


    Konkret sieht das so aus:


    In meinem Steuerungskonzept gibt es im Wesentlichen drei gedankliche Gebilde, die ich „Fahrdiensleiter“, „Lokführer“ und „Stellwerk“ nenne. Der Aufgabenzuschnitt ist zwar durchaus anders als in der Realität, aber dieses Modell hilft mir bei der Strukturierung:


    Die Funktion „Fahrdienstleiter“ startet die Züge entsprechend dem Fahrplan aus dem Schattenbahnhof bzw. aus den Abstellgruppen und ordnet ihnen den vordefinierten Fahrbefehl zu, in dem festgelegt ist, was bei welchem Kontakt zu geschehen hat.


    Wenn ein Kontakt ausgelöst wird, veranlasst der „Lokführer“, dass die im Fahrauftrag für diesen Kontakt festgelegten Funktionen aufgerufen werden. Dies geschieht, indem in entsprechenden Tabellen Steuerparameter gesetzt werden, die in der Schleife „EEPMain“ abgearbeitet werden. In der Tabelle wird etwa für eine benötigte Fahrstraße die Nummer eingetragen.


    Das „Stellwerk“ arbeitet die von den verschiedenen Zügen eingehenden Aufträge ab, stellt also beispielsweise Fahrstraßen und Signale. Wenn zum Beispiel für ein Fahrstraßensignal ein von 1 verschiedener Sollwert in der Tabelle steht, dann wird die zugehörige FS geschaltet.


    Ich hoffe, das ist einigermaßen verständlich geworden.


    Stand:


    Bislang habe ich dieses System in den Grundelementen aufgebaut und Fahrbefehle für durchgehende Züge erstellt. Diese können jedem Zug zugeordnet werden können, der diesen Kurs befahren soll, egal ob Durchgangsgüterzug oder Schnellzug, Postzug oder einzeln fahrende Lok.


    Das funktioniert. Bisher.

    Der nächste Schritt sind Fahraufträge für Züge, die am Bahnsteig halten und eventuell Kopf machen.


    Zur Illustration: So sehen die Fahrbefehle für Züge aus, die Worms ohne Halt durchfahren:


    Worms_Fahrbefehle.lua

    EEP 16.3, Plugins 1 + 2, EEP 13, HomeNostruktor 13
    PC: HP Pavilion, Prozessor: Intel Core i7-8750H @ 2,2 Ghz, 64 bit, 16 GB RAM,

    Grafikkarte: NVIDIA GeForce GTX 1050 Ti, 4GB, 1493 - 1620 MHz

    System: Windows 10 Home

    "Der Optimist glaubt, dass wir in der besten aller möglichen Welten leben. Der Pessimist befürchtet, dass das stimmt."

  • Hallo Joachim,


    danke für den Tipp. Liest sich sehr interessant.


    Ich hatte auch ähnlich herumexperimentiert, also die Züge haben einen Tag, der die Route angibt und entsprechend die Fahrstraßen schaltet - ich bekam aber immer noch eine Matratze von Kontakten. Insbesondere, wenn Bahnsteiggleise in beiden Richtungen benutzt werden sollen. Auch bei mir wird es eine ziemliche Menge von gescripteten Funktionen geben müssen, allerdings habe ich den Ehrgeiz, dass mein System für andere Anlagen adaptierbar sein soll, wenn sie nach einem ähnlichem Schema aufgebaut sind.


    Viele Grüße

    Norbert

    EEP 16.3, Plugins 1 + 2, EEP 13, HomeNostruktor 13
    PC: HP Pavilion, Prozessor: Intel Core i7-8750H @ 2,2 Ghz, 64 bit, 16 GB RAM,

    Grafikkarte: NVIDIA GeForce GTX 1050 Ti, 4GB, 1493 - 1620 MHz

    System: Windows 10 Home

    "Der Optimist glaubt, dass wir in der besten aller möglichen Welten leben. Der Pessimist befürchtet, dass das stimmt."