Schattenbahnhof mit LUA

Achte bitte darauf, dass Du mit deinem Thema bzw. mit deiner Frage im richtigen Bereich bist.
Die Bereiche sind: Einstellungen im Forum, EEP aktuell ab EEP7 , Splines, Rollmaterialien, Immobilien, Landschaftselemente, Signale und Schaltung, Anlagenvorstellungen, Schnappschüsse Konstrukteure, EEP Treffen , Laberecke, Online - Handbuch EEP Vielen Dank für die Unterstützung das Forum übersichtlich zu halten.
Bilder/Fotos aus dem Internet sind nur als Link gestattet. Eigene Fotos, also Fotos aus dem realen Leben, sind erstens mit Eigenes Bild als Quellenangabe zu kennzeichnen und zweitens nur als Dateianhang im Beitrag zulässig. Bilder ohne Quellenangaben und Bilder dessen Quelle das Internet wie z. B. Google ist, werden gelöscht.
  • Hallo Zusammen,

    ich hatte mir die vorletzte Twitch Sendung von Götz angeschaut mit dem Anlagenverbinder und mir ist eine Idee gekommen. Ich möchte einen Schattenbahnhof mit LUA machen in verschiedenen Größen mit intregrieten Virtuellen Bahnhof, von wo ich die Züge nach Bedarf in den großen Schattenbahnhof per Schalter einlaufen lassen kann.

    Dadurch erspare ich mir das immer wieder neue erstellen des Schattenbahnhofs. Ich mag einfach, wenn die Züge durch den Bahnhof fahren und die Wuselei, die dadurch entsteht.

    Also habe ich einen Schattenbahnhof XXL Large gebaut. Eigentlich sollte er nicht so groß werden, aber da ich lange Züge liebe....

    Dieser Schattenbahnhof lässt sich über die Schalterreihe vorne neben dem Virtuellen Bahnhof schalten. Dieser wird über ein Signal, das ich mit LUA über den Schalter regle, gestartet und schickt einen Zug entsprechend des Bezeichenenden Schalters zu Schattenbahnhof 1 oder 2 geleitet.

    Wenn einem der Zug nicht so zusagt, kann man ihn auch wieder über den Schalter links, wieder ins Depot schicken.

    An den Schattenbahnhöfen sind rechts 2 Schalter, die die Säulensignale komplett auf "Rot" oder "Grün" schalten können.

    Auf "Rot" geschaltet, Stoppt die Züge. Auf " Grün" werden sie nach der Reihe wieder auf die Reise geschickt.

    Zusätzlich gibt es eine Automatiksteuerung. Halb für 1 mal schalten und Voll für unendlich.

    Diese Steurungen laufen noch mit Schaltautos.

    Dies möchte ich gerne auf LUA umstellen, hab aber noch nicht das richtige gefunden. Vielleicht weiss jemand anderes, wie es gehen könnte?

    Die Stabsignale werden in der Schaltung mit dem Schaltauto mit Zeitverzögerung geschaltet. Dadurch, kommt es zu einer anderen Reihenfolge, als, das Letzte Signal zuerst.

    Ich hoffe es wenigstens... :)

    Beim virtuellen Depot ist noch folgendes Erwähnenswert: Wenn ein Zug aus dem Depot ausgefahren ist und in der Nähe des nächsten Signal ist, kann auch durch das schalten von SB1 oder SB2 kein Zug das Depot verlassen, weil ich eine Gleisabfrage mache. Dadurch kommt es nicht zu "Stau" auf dem Gleis.

    Ich wollte auch entsprechende Bilder dazu in die Galerie hochladen, aber bekomme immer eine Fehlermeldung...

    Sehen könnt Ihr die Bilder daher auf meiner Homepage: uwe-schueller.de

    Einmal editiert, zuletzt von micky01_de (12. Februar 2018 um 08:00)

  • Hier noch das LUA Script:

    clearlog()

    print("LUA Schattenbahnhof XXL Large Hauptscript")

    require ("LUAToolBox")

    EEPRegisterSignal(74)

    EEPRegisterSignal(144)

    EEPRegisterSignal(149)

    EEPRegisterSignal(150)

    EEPRegisterSignal(151)

    EEPRegisterSignal(154)

    EEPRegisterSignal(169)

    EEPRegisterSignal(266)

    EEPRegisterSignal(267)

    EEPRegisterSignal(156)

    EEPRegisterSignal(268)

    EEPRegisterRailTrack( 517 )

    EEPRegisterRailTrack( 50 )

    function EEPMain()

    --+++++++++++++Start Virtuelles Depot+++++++++++++++

    if EEPLoadData(65) then EEPSetSignal(65,2) end

    if EEPLoadData(66) then EEPSetSignal(66,2) end

    if EEPLoadData(67) then EEPSetSignal(67,2) end

    --+++++++++++++Einfahrt 3 auf 1 Schattenbahnhof 1+++++++++++++++

    if EEPLoadData(109) then EEPSetSignal(109,2) end

    if EEPLoadData(254) then EEPSetSignal(254,2) end

    if EEPLoadData(255) then EEPSetSignal(255,2) end

    --+++++++++++++Einfahrt Schattenbahnhof 1+++++++++++++++

    if EEPLoadData(75) then EEPSetSignal(75,2) end

    if EEPLoadData(75) then EEPSetSignal(75,3) end

    if EEPLoadData(75) then EEPSetSignal(75,4) end

    if EEPLoadData(75) then EEPSetSignal(75,5) end

    if EEPLoadData(75) then EEPSetSignal(75,6) end

    if EEPLoadData(75) then EEPSetSignal(75,7) end

    if EEPLoadData(75) then EEPSetSignal(75,8) end

    if EEPLoadData(75) then EEPSetSignal(75,9) end

    if EEPLoadData(75) then EEPSetSignal(75,10) end

    if EEPLoadData(75) then EEPSetSignal(75,11) end

    --+++++++++++++Ausfahrt Schattenbahnhof 1+++++++++++++++

    if EEPLoadData(86) then EEPSetSignal(86,2) end

    if EEPLoadData(87) then EEPSetSignal(87,2) end

    if EEPLoadData(88) then EEPSetSignal(88,2) end

    if EEPLoadData(89) then EEPSetSignal(89,2) end

    if EEPLoadData(90) then EEPSetSignal(90,2) end

    if EEPLoadData(91) then EEPSetSignal(91,2) end

    if EEPLoadData(92) then EEPSetSignal(92,2) end

    if EEPLoadData(93) then EEPSetSignal(93,2) end

    if EEPLoadData(94) then EEPSetSignal(94,2) end

    if EEPLoadData(95) then EEPSetSignal(95,2) end

    --+++++++++++++Ausfahrt Schattenbahnhof 1 Wahlschalter+++++++++++++++

    if EEPLoadData(97) then EEPSetSignal(97,2) end

    if EEPLoadData(203) then EEPSetSignal(203,2) end

    --+++++++++++++Wahlschalter Ausfahrt Schattenbahnhof 1+++++++++++++++

    function EEPOnSignal_74(Einf_VB)

    print("Signal 74 auf ", Einf_VB, "gestellt")

    if (Einf_VB == 2) then

    EEPSetSignal(143,1)

    EEPSetSignal(203,2)

    print("Einfahrt Virtueller Bahnhof")

    elseif (Einf_VB == 1) then

    EEPSetSignal(101,1)

    print("Auflösen")

    elseif EEPLoadData(101) then EEPSetSignal(101,2)

    end

    end

    function EEPOnSignal_144(SB1_kurz)

    print("Signal 144 auf ", SB1_kurz, "gestellt")

    if (SB1_kurz == 2) then

    EEPSetSignal(143,1)

    EEPSetSignal(101,2)

    print("Teststrecke kurz")

    elseif (SB1_kurz == 1) then

    EEPSetSignal(101,1)

    print("Auflösen")

    end

    end

    --+++++++++++++Ausfahrt Schattenbahnhof 1 Blocksicherung+++++++++++++++

    if EEPLoadData(200) then EEPSetSignal(200,2) end

    if EEPLoadData(101) then EEPSetSignal(101,2) end

    if EEPLoadData(143) then EEPSetSignal(143,2) end

    --+++++++++++++Ausfahrt Schattenbahnhof 1 zur Anlage+++++++++++++++

    if EEPLoadData(143) then EEPSetSignal(143,2) end

    --+++++++++++++Einfahrt 3 auf 1 Schattenbahnhof 2+++++++++++++++

    if EEPLoadData(102) then EEPSetSignal(102,2) end

    if EEPLoadData(248) then EEPSetSignal(248,2) end

    if EEPLoadData(249) then EEPSetSignal(249,2) end

    --+++++++++++++Einfahrt Schattenbahnhof 2+++++++++++++++

    if EEPLoadData(244) then EEPSetSignal(244,2) end

    if EEPLoadData(244) then EEPSetSignal(244,3) end

    if EEPLoadData(244) then EEPSetSignal(244,4) end

    if EEPLoadData(244) then EEPSetSignal(244,5) end

    if EEPLoadData(244) then EEPSetSignal(244,6) end

    if EEPLoadData(244) then EEPSetSignal(244,7) end

    if EEPLoadData(244) then EEPSetSignal(244,8) end

    if EEPLoadData(244) then EEPSetSignal(244,9) end

    if EEPLoadData(244) then EEPSetSignal(244,10) end

    if EEPLoadData(244) then EEPSetSignal(244,11) end

    --+++++++++++++Ausfahrt Schattenbahnhof 2+++++++++++++++

    if EEPLoadData(223) then EEPSetSignal(223,2) end

    if EEPLoadData(224) then EEPSetSignal(224,2) end

    if EEPLoadData(225) then EEPSetSignal(225,2) end

    if EEPLoadData(226) then EEPSetSignal(226,2) end

    if EEPLoadData(227) then EEPSetSignal(227,2) end

    if EEPLoadData(228) then EEPSetSignal(228,2) end

    if EEPLoadData(229) then EEPSetSignal(229,2) end

    if EEPLoadData(230) then EEPSetSignal(230,2) end

    if EEPLoadData(231) then EEPSetSignal(231,2) end

    if EEPLoadData(232) then EEPSetSignal(232,2) end

    --+++++++++++++Ausfahrt Schattenbahnhof 2 Blocksicherung+++++++++++++++

    if EEPLoadData(213) then EEPSetSignal(213,2) end

    if EEPLoadData(214) then EEPSetSignal(214,2) end

    if EEPLoadData(215) then EEPSetSignal(215,2) end

    --+++++++++++++Wahlschalter Ausfahrt Viritueller Bahnhof+++++++++++++++

    if EEPLoadData(61) then EEPSetSignal(61,2) end

    function EEPOnSignal_149(Ausf_VB)

    print("Signal 149 auf ", Ausf_VB, "gestellt")

    if (Ausf_VB == 2) then

    EEPSaveData(61,true)

    EEPSetSignal(61,2)

    EEPSetSignal(150,1)

    EEPSaveData(152,nil)

    EEPSetSignal(152,1)

    print("Umleitung Virtueller Bahnhof")

    elseif (Ausf_VB == 1) then

    EEPSaveData(61,nil)

    EEPSetSignal(61,1)

    print("Auflösen")

    end

    end

    if EEPLoadData(152) then EEPSetSignal(152,2) end

    function EEPOnSignal_150(Einf_SB1)

    print("Signal 150 auf ", Einf_SB1, "gestellt")

    hResult, Ausf_VB_Gleis = EEPIsRailTrackReserved( 517 )

    hResult, Ausf_VB_Gleis_2 = EEPIsRailTrackReserved( 50 )

    if (Einf_SB1 == 2)and (Ausf_VB_Gleis== false) then

    EEPSaveData(152,true)

    EEPSetSignal(152,2)

    EEPSetSignal(1,2)

    --select(-1,EEPSetTrainRoute ("S-Bhf 1"))

    print("Einfahrt Schattenbahnhof 1")

    elseif (Einf_SB1 == 1) then

    EEPSaveData(152,nil)

    EEPSetSignal(152,1)

    print("Auflösen")

    end

    end

    function EEPOnSignal_151(Einf_SB2)

    print("Signal 151 auf ", Einf_SB2, "gestellt")

    hResult, Ausf_VB_Gleis = EEPIsRailTrackReserved( 517 )

    hResult, Ausf_VB_Gleis_2 = EEPIsRailTrackReserved( 50 )

    if (Einf_SB2 == 2) and (Ausf_VB_Gleis==false) then

    EEPSaveData(152,true)

    EEPSetSignal(152,3)

    EEPSetSignal(1,2)

    print("Einfahrt Schattenbahnhof 2")

    elseif (Einf_SB2 == 1) then

    EEPSaveData(152,nil)

    EEPSetSignal(152,1)

    print("Auflösen")

    end

    end

    --+++++++++++++Einfahrt VB Blocksicherung+++++++++++++++

    if EEPLoadData(260) then EEPSetSignal(260,2) end

    if EEPLoadData(193) then EEPSetSignal(193,2) end

    if EEPLoadData(258) then EEPSetSignal(258,2) end

    if EEPLoadData(259) then EEPSetSignal(259,2) end

    --+++++++++++++Teststrecke Schattenbahnhof 1 Blocksicherung+++++++++++++++

    if EEPLoadData(103) then EEPSetSignal(103,2) end

    if EEPLoadData(105) then EEPSetSignal(105,2) end

    if EEPLoadData(107) then EEPSetSignal(107,2) end

    if EEPLoadData(109) then EEPSetSignal(109,2) end

    return 1

    end

    --+++++++++++++Notaus für SB1+++++++++++++++

    function EEPOnSignal_154(NotAus_SB1)

    print("Signal 154 auf ", NotAus_SB1, "gestellt")

    if (NotAus_SB1 == 2) then

    EEPSetSignal(110,1)

    EEPSetSignal(111,1)

    EEPSetSignal(112,1)

    EEPSetSignal(113,1)

    EEPSetSignal(114,1)

    EEPSetSignal(115,1)

    EEPSetSignal(116,1)

    EEPSetSignal(118,1)

    EEPSetSignal(117,1)

    EEPSetSignal(119,1)

    print("NOTAUS SB1 ausgelöst!")

    EEPSetSignal(154,1)

    end

    end

    --+++++++++++++alle Signale Fahrt SB1+++++++++++++++

    function EEPOnSignal_266(AlleAn_SB1)

    print("Signal 266 auf ", AlleAn_SB1, "gestellt")

    if (AlleAn_SB1 == 2) then

    EEPSetSignal(110,2)

    EEPSetSignal(111,2)

    EEPSetSignal(112,2)

    EEPSetSignal(113,2)

    EEPSetSignal(114,2)

    EEPSetSignal(115,2)

    EEPSetSignal(116,2)

    EEPSetSignal(118,2)

    EEPSetSignal(117,2)

    EEPSetSignal(119,2)

    print("Alle Stabsignale SB1 auf grün")

    EEPSetSignal(266,1)

    end

    end

    --+++++++++++++Notaus für SB2+++++++++++++++

    function EEPOnSignal_169(NotAus_SB2)

    print("Signal 169 auf ", NotAus_SB2, "gestellt")

    if (NotAus_SB2 == 2) then

    EEPSetSignal(180,1)

    EEPSetSignal(181,1)

    EEPSetSignal(182,1)

    EEPSetSignal(183,1)

    EEPSetSignal(184,1)

    EEPSetSignal(185,1)

    EEPSetSignal(186,1)

    EEPSetSignal(187,1)

    EEPSetSignal(188,1)

    EEPSetSignal(189,1)

    print("NOTAUS SB2 ausgelöst!")

    EEPSetSignal(169,1)

    end

    end

    --+++++++++++++alle Signale Fahrt SB2+++++++++++++++

    function EEPOnSignal_267(AlleAn_SB2)

    print("Signal 267 auf ", AlleAn_SB2, "gestellt")

    if (AlleAn_SB2 == 2) then

    EEPSetSignal(180,2)

    EEPSetSignal(181,2)

    EEPSetSignal(182,2)

    EEPSetSignal(183,2)

    EEPSetSignal(184,2)

    EEPSetSignal(185,2)

    EEPSetSignal(186,2)

    EEPSetSignal(187,2)

    EEPSetSignal(188,2)

    EEPSetSignal(189,2)

    print("Alle Stabsignale SB2 auf grün")

    EEPSetSignal(267,1)

    end

    end

    --+++++++++++++alle Fahrstraßen SB1 aus+++++++++++++++

    function EEPOnSignal_268(Alle_FS_aus_SB1)

    print("Signal 268 auf ", Alle_FS_aus_SB1, "gestellt")

    if (Alle_FS_aus_SB1 == 1) then

    EEPSaveData(86,nil)

    EEPSetSignal(86,1)

    EEPSaveData(87,nil)

    EEPSetSignal(87,1)

    EEPSaveData(88,nil)

    EEPSetSignal(88,1)

    EEPSaveData(89,nil)

    EEPSetSignal(89,1)

    EEPSaveData(90,nil)

    EEPSetSignal(90,1)

    EEPSaveData(91,nil)

    EEPSetSignal(91,1)

    EEPSaveData(92,nil)

    EEPSetSignal(92,1)

    EEPSaveData(93,nil)

    EEPSetSignal(93,1)

    EEPSaveData(94,nil)

    EEPSetSignal(94,1)

    EEPSaveData(95,nil)

    EEPSetSignal(95,1)

    print("Alle Fahrstraßen SB1 ausgeschaltet!")

    EEPSetSignal(268,2)

    end

    end

    --+++++++++++++alle Fahrstraßen SB2 aus+++++++++++++++

    function EEPOnSignal_156(Alle_FS_aus_SB2)

    print("Signal 156 auf ", Alle_FS_aus_SB2, "gestellt")

    if (Alle_FS_aus_SB2 == 1) then

    EEPSaveData(223,nil)

    EEPSetSignal(223,1)

    EEPSaveData(224,nil)

    EEPSetSignal(224,1)

    EEPSaveData(225,nil)

    EEPSetSignal(225,1)

    EEPSaveData(226,nil)

    EEPSetSignal(226,1)

    EEPSaveData(227,nil)

    EEPSetSignal(227,1)

    EEPSaveData(228,nil)

    EEPSetSignal(228,1)

    EEPSaveData(229,nil)

    EEPSetSignal(229,1)

    EEPSaveData(230,nil)

    EEPSetSignal(230,1)

    EEPSaveData(231,nil)

    EEPSetSignal(231,1)

    EEPSaveData(232,nil)

    EEPSetSignal(232,1)

    print("Alle Fahrstraßen SB2 ausgeschaltet!")

    EEPSetSignal(156,2)

    end

    end

  • Haste schön gemacht, nur mußt du, wenn du Codes einbindest,

    den Code Bottom nutzen.

    etwa so:

    Uwe mach weiter so, geht wunderbar, so lernt man Lua.

    Gruß Dieter

    1.MSI 17,3" Intel® i7-8750H 16GB SSD + HDD GeForce® GTX 1060 »GV72 8RE-013DE (00179E-013)

    2. PC:Win10/64, i7-7700K, 4.2 GHz, GPU GTX 1070/8 GB, 16 GB RAM(DDR4), SSD 960 Evo 500GB, Ilyama PL2490
    EEP 6.1 - EEP 15 E, HomeNos 15

    Ich wünsche mir eine freizügige Script-Sprache und eine leistungsfähige Grafik Engine für EEP.
    Ein Leben ohne EEP ist möglich, aber sinnlos, so ganz sicher bin ich mir nicht mehr.

    "mal was ganz Einfaches" "rundum sorglos Paket"

    Parrys YouTube Videos
    https://www.twitch.tv/parry_36/

  • Hier noch das LUA Script:

    Das enthält leider einen eklatanten Fehler:

    In der Funktion EEPMain() stehen mehrere Funktionsdefinitionen.

    Zeile 54 - 65

    Zeile 66 - 76

    Zeile 115 - 129

    Zeile 131 - 145

    Zeile 147 - 161

    Die gehören dort auf keinen Fall rein! Denn eine Funktion musst du nur einmal definieren. Dein Code definiert die Funktionen fünfmal je Sekunde, nämlich bei jedem EEPMain() Durchlauf, neu. Das funktioniert zwar, ist aber nicht sinnvoll und zeigt, dass du dich bitte noch etwas eingehender mit Funktionsdefinitionen und Funktionsaufrufen beschäftigen musst.

    Außerdem fragst du in den Zeilen 29 bis 38 (Einfahrt Schattenbahnhof) zehnmal ab, ob EEPLoadData(75) etwas zurück gibt. Weil du nacheinander zehn mögliche Fahrstraßen probieren möchtest. Es genügt eine Abfrage, gefolgt von zehn Schaltbefehlen:

    Und ganz grundsätzlich rate ich dazu, die komplette Steuerung für den Schattenbahnhof in eine eigene Funktion auszulagern und in der EEPMain() nur diese Funktion aufzurufen. Denn irgendwann kommen in der EEPMain() noch andere Dinge hinzu. Und dann blickst du nicht mehr durch, was wozu gehört.

    3 Mal editiert, zuletzt von Goetz (12. Februar 2018 um 07:04)

  • Vielen Dank für die Tipps. Und Götz: Ja, man kann das mit LUA mit Sicherheit anders und besser machen, aber das waren meine ersten "Gehversuche" und da ist alles noch wackelig und nicht ganz nach Norm.... Ich werde aber mich mehr damit beschäftigen, weil ich auch vom EEP Virus im einzelnen und LUA Virus im besonderen anesteckt worden bin....

    Ich hatte die Funktionen "Frei Schnauze" gemacht und nicht an EEP Main gedacht. Das war mir nachher erstmal egal, Hauptsache, der Bahnhof schaltet so, wie ich das will.

    Beim verbinden mit einer weiteren Anlage muss aber, wegen dem LUA Script, was beachten. Sonst hat man Kirmes....

    1. Die Anlage, die man mit dem Schattenbahnhof verbinden möchte, sollte entweder leer sein, oder wenigstens KEIN aktives LUA Script enthalten.

    Wenn man mit einer leeren Anlage verbindet, dann die leere Anlage als erste Anlage in den Anlagenverbinder laden und den Schattenbahnhof als 2tes.

    Anschliessend das GESICHERTE LUA Script mit dem Button unten im LUAScript: " LUA Script speichern" . Am besten in ein extra Verzeichnis.

    Dann nach dem verbinden einfach über LUA Script laden, wieder in die Anlage herreinholen und einfach Lua Script neu laden klicken, fertig.

    2. Sollte es schon eine Anlage geben, dann geht das nur, wenn es in dieser Anlage noch KEIN aktives LUA Script gibt.

    Hier geht man am besten so vor:

    Schattenbahnhof als Anlage 1

    zu verbindene Anlage als Anlage 2.

    Diese Anlage dann oben ansetzten.

    Dadurch liegt der Schattenbahnhof unten an. Wem das natürlich anders besser gefällt, nur zu.

    Wichtig ist nur,man muss nun umgekehrt denken.

    Dann wieder LUA Script neu laden und fertig. Ab dann kann man auch, wenn man möchte, das LUA Script für die Anlage erweitern.

    Hintergrund: Wenn man die Anlage, die man mit dem Schattenbahnhof verbinden möchte, zuerst einträgt und diese vlelleicht schon fertig oder zumindest Weichen und Signal enthält, werden die Weichen und Signale im Schattenbahnhof NEU durchnummeriert und man hat: Kirmes! Es klappt kein LUA.

    Dafür ist dann der Schattenbahnhof von Götz mit dem Schaltauto weit aus besser geeignet.

    Das sind meine ersten Gehversuche undich muss sagen, es macht einen RIESEN Spass. Sicher ist noch vieles zu verbessern, aber das wichtigste ist erstmal... Er funktioniert!

    2 Mal editiert, zuletzt von micky01_de (12. Februar 2018 um 07:22)

  • das waren meine ersten "Gehversuche" (...) "Frei Schnauze"

    Schon klar, Micky.

    Du musst dich für nichts entschuldigen.

    Aber Sinn dieser ersten Versuche ist ja, daraus etwas zu lernen. Und wie soll man lernen wenn einem keiner sagt, wo die Fehler stecken? Und - wichtiger noch - warum es Fehler sind?

    Drum habe ich bei meinen Hinweisen ganz bewusst auf "anders und besser" verzichtet. Weder for ... do Schleifen noch Tabellen eingefügt. Sondern nur aufgeräumt. Denn dein Code funktioniert und das finde ich klasse. Ich will dich nur möglichst früh vor schlechten Angewohnheiten bewahren.

    Einmal editiert, zuletzt von Goetz (12. Februar 2018 um 07:18)

  • Jetzt hab ich den geänderten Code gesehen! Du hast praktisch alles in eine Funktion reingepackt, was ich vorher in EEP Main aufgerufen hatte und rufst da nur diese eine Funktion auf? Das ist Genial!! Danke!!

    Dadurch könnte man ja den Code für den Schattenbahnhof mit requiere auch verschachteln, weil man ihn ja für die Anlage nicht braucht. Das würde ja die Übersicht auch enorm erhöhen.

    Die Tabellen wollte ich mir nochmal genauer anschauen. Du und Georg habt da ja wundervolle Viedos dafür gemacht, die ich mir nochmal genauer ansehen werde.

    Die Idee mit den Stabsignalen ist von Wolle158 aus seiner genialen Bastelstube. Auch dafür meinen Dank.

    Auch alle anderen, die sich mit EEP befassen und die tollen Videos drehen, sei hier dafür gedankt.

    Einmal editiert, zuletzt von micky01_de (12. Februar 2018 um 07:37)

  • Noch ein paar Gedanken zu dem Schattenbahnhof. Es gibt 2 virtuelle Depots. das erste beinhaltet alle Züge, die ich bisher zusammengestellt hatte.

    Das 2te enthält einen Testzug, auf dessen Länge der Schattenbahnhof inklusive Blocksicherung eingestellt wurde. Dies wird dann auch für die Anlage gebraucht.

    Darum habe ich das Depot gelassen, wo es ist.

    Der Zug sucht sich übrigens von alleine den Weg ins richtige Depot. Er ist der einzige, der Zur Zeit eine Route zugewiesen bekommen hat.

    Der Schattenbahnhof ist natürlich, so wie jetzt ist, in der Größe gewaltig. Darum werde ich auch kleinere auf Grundlage von diesem Bahnhof bauen. Dadurch kann ich mir einiges an Arbeit sparen.

  • Du hast praktisch alles in eine Funktion reingepackt, was ich vorher in EEP Main aufgerufen hatte und rufst da nur diese eine Funktion auf?

    Ganz genau.

    Das hat mehrere Vorteile:

    • Du siehst auf einen Blick, was alles über die EEPMain() gesteuert wird.
    • Du weißt, welche Codeteile wozu gehören und bekommst kein Gemisch aus Schattenbahnhof-, Ampel-, Block-, Rangier- und weiteren Steuerungen
    • Du kannst mit zwei Minus-Zeichen (= Kommentar) vor dem Funktionsaufruf in der EEPMain() die ganze Schattenbahnhofssteuerung temporär abschalten.

    Dadurch könnte man ja den Code für den Schattenbahnhof mit require...

    ... einbinden. Ja, auch das funktioniert. Gut erkannt :be_1:

  • Moin :)

    Da sich der Topic ja auch auf Twitch bezieht, mogle ich mal dreist rein...;)

    Gibt es die Twitch-Sendung bereits bei YT/Twitch/sonstiges zu sehen?

    Danke und eine schöne Woche!

    Max

  • Ich habe die Anlage nun komplett mit LUA verschaltet.

    Die Bilder findet Ihr in meinem Album hier im Forum.

    Einfahrt der Züge erfolgt per Handschaltung für SB1 und SB2. Ein Zug gefällt nicht? Dann mit Schalter zurück VB wieder ins Depot schicken.

    Ein Zählwerk zeigt die Anzahl der Züge aus dem Depot an und an derAusfahrt ins Depot, wieviel reingefahren sind.

    Bei der Absicherung mit Fahrstrassen der Schattenbahnhöfe, ist mir aufgefallen, das immer der letzte Zug, der hinnein kommt auch sofort wieder freigeschaltet wird.

    Durch die Säulensignale steuern die Züge selbstständig, das der letzte Zug nicht sofort wieder fahren kann. So kann auch ein anderer Zug raus, der sonst keine Chance hätte.

    Die Säulensignale lassen sich auch per Schalter an und ausschalten. Wenn dies geschieht, löst kein Zug mehr die Signale für auf Grün zuschalten aus. Die Signale bleiben Rot.

    Die Ausfahrt der Schattenbahnhöfe haben Wählschalter, womit die Züge gesteuert werden können.

    Zum Depot

    Zur Teststrecke

    Zur Anlage und damit verbunden eine "Abkürzung" zurück in den Schattenbahnhof.

    Dieser Schalter schaltet automatisch alle anderen Strecken auf aus.

    Die Teststrecke ist zum größten Teil unterirdisch und kann auch als Puffer benutzt werden.

    Die Strecke wird von beiden Schattenbahnhöfen bedient. Da der SB1 immer Vorang hat, hab ich bei der Ausfahrt vom SB2 eine Kontaktschalter für ein Signal

    Ausfahrt SB1 eingebaut. Dadurch können beide Seiten ungefähr gleichviele Züge auf die Strecke schicken.

    Beide Züge bekommen vor Einfahrt in die Teststrecke eine Route zugewiesen, damit es bei Rückfahrt jeder Zug wieder in sein Stammbahnhof einfährt.

    Dabei habe ich noch ein Problem wenn ich nachher wieder auf die Schattenbahnhöfe verteile, das ich die Fahrstrassen besser mit Routenabfrage schalten sollte.

    Da ich aber da noch meine Probleme habe, werde ich mir erst noch die Tutorial vom Georg nochmal anschauen.

    Auf der Anlage gibt es auch Notaussignale. Diese stoppen die Ausfahrt der Bahnhöfe und die Teststrecke. Zusätzlich habe ich noch Signale für die Anlage mit hingestellt, die aber für den

    Schattenbahnhof keine Funktion haben, aber für die Anlage benutzt werden können, damit es auch da ein Nothalt erfolgen kann.

    Insgesamt 3 signale steuern über LUA alle anderen. Eins bei Steuerung für die Einfahrt in die Schattenbahnhöfe und 2 für die verbundene Anlage.

    Die Zählwerke werden über ein unsichtbares Signal neben dem Zählwerk bei der Einfahrt, wieder auf Null gestellt. Dies geschieht auch über LUA.

    Schön wäre es, wenn beim Einfahrt Zählwerk, wenn ein Zug ins Depot fährt, automatisch ein Zug von der anzahl wieder abgezogen würde. Das ist mir aber leider

    bis jetzt nicht gelungen.

    Vielleicht weiss jemand anderes Rat? Den das LUA Script hänge ich an diese Beschreiung an. Es ist noch noch nicht ganz fertig, da die Kommentare noch fehlen...

  • Hier das LUA Script, wegen der Länge in 2 Teilen:

    Teil 1:

    clearlog()

    print("LUA Schattenbahnhof XXL Large Hauptscript")

    require ("LUAToolBox")


    --+++++++++++++Registierung Wahlschalter Ausfahrt SB1+++++++++++++++

    EEPRegisterSignal(74)

    EEPRegisterSignal(144)

    EEPRegisterSignal(265)

    EEPRegisterSignal(270)

    --+++++++++++++Registierung Wahlschalter Ausfahrt SB2+++++++++++++++

    EEPRegisterSignal(157)

    EEPRegisterSignal(158)

    EEPRegisterSignal(264)

    EEPRegisterSignal(274)

    --+++++++++++++Registierung Wahlschalter Ausfahrt VB+++++++++++++++

    EEPRegisterSignal(149)

    EEPRegisterSignal(150)

    EEPRegisterSignal(151)


    --+++++++++++++Registierung Wahlschalter Säulensignale SB2+++++++++++++++

    EEPRegisterSignal(169)

    EEPRegisterSignal(267)

    --+++++++++++++Registierung Wahlschalter Säulensignale SB1+++++++++++++++

    EEPRegisterSignal(154)

    EEPRegisterSignal(266)


    EEPRegisterSignal(95)

    EEPRegisterSignal(268)


    EEPRegisterSignal(156)

    EEPRegisterSignal(124)

    EEPRegisterSignal(130)

    EEPRegisterSignal(135)

    EEPRegisterSignal(136)

    --+++++++++++++Registierung Gleise Ausfahrt VB++++++++++++++++++++

    EEPRegisterRailTrack( 517 )

    EEPRegisterRailTrack( 50 )


    function EEPMain()

    Schattenbahnhof()

    return 1

    end

    function Schattenbahnhof()

    --+++++++++++++Start Virtuelles Depot+++++++++++++++


    if EEPLoadData(65) then EEPSetSignal(65,2) end

    if EEPLoadData(66) then EEPSetSignal(66,2) end

    if EEPLoadData(67) then EEPSetSignal(67,2) end

    --+++++++++++++Einfahrt 3 auf 1 Schattenbahnhof 1+++++++++++++++

    if EEPLoadData(109) then EEPSetSignal(109,2) end

    if EEPLoadData(254) then EEPSetSignal(254,2) end

    if EEPLoadData(255) then EEPSetSignal(255,2) end

    --+++++++++++++Einfahrt Schattenbahnhof 1+++++++++++++++

    if EEPLoadData(75) then EEPSetSignal(75,2) end

    if EEPLoadData(75) then EEPSetSignal(75,3) end

    if EEPLoadData(75) then EEPSetSignal(75,4) end

    if EEPLoadData(75) then EEPSetSignal(75,5) end

    if EEPLoadData(75) then EEPSetSignal(75,6) end

    if EEPLoadData(75) then EEPSetSignal(75,7) end

    if EEPLoadData(75) then EEPSetSignal(75,8) end

    if EEPLoadData(75) then EEPSetSignal(75,9) end

    if EEPLoadData(75) then EEPSetSignal(75,10) end

    if EEPLoadData(75) then EEPSetSignal(75,11) end


    --+++++++++++++Ausfahrt Schattenbahnhof 1+++++++++++++++

    if EEPLoadData(86) then EEPSetSignal(86,2) end

    if EEPLoadData(87) then EEPSetSignal(87,2) end

    if EEPLoadData(88) then EEPSetSignal(88,2) end

    if EEPLoadData(89) then EEPSetSignal(89,2) end

    if EEPLoadData(90) then EEPSetSignal(90,2) end

    if EEPLoadData(91) then EEPSetSignal(91,2) end

    if EEPLoadData(92) then EEPSetSignal(92,2) end

    if EEPLoadData(93) then EEPSetSignal(93,2) end

    if EEPLoadData(94) then EEPSetSignal(94,2) end

    if EEPLoadData(95) then EEPSetSignal(95,2) end

    if EEPLoadData(304) then EEPSetSignal(304,2) end


    --+++++++++++++Ausfahrt Schattenbahnhof 1 Wahlschalter+++++++++++++++

    if EEPLoadData(97) then EEPSetSignal(97,2) end

    if EEPLoadData(203) then EEPSetSignal(203,2) end

    if EEPLoadData(272) then EEPSetSignal(272,2) end

    if EEPLoadData(273) then EEPSetSignal(273,2) end

    --+++++++++++++Ausfahrt Schattenbahnhof 1 Blocksicherung+++++++++++++++

    if EEPLoadData(200) then EEPSetSignal(200,2) end

    if EEPLoadData(101) then EEPSetSignal(101,2) end

    if EEPLoadData(143) then EEPSetSignal(143,2) end


    --+++++++++++++Ausfahrt Schattenbahnhof 1 zur Anlage+++++++++++++++

    if EEPLoadData(143) then EEPSetSignal(143,2) end


    --+++++++++++++Einfahrt 3 auf 1 Schattenbahnhof 2+++++++++++++++

    if EEPLoadData(102) then EEPSetSignal(102,2) end

    if EEPLoadData(248) then EEPSetSignal(248,2) end

    if EEPLoadData(249) then EEPSetSignal(249,2) end


    --+++++++++++++Einfahrt Schattenbahnhof 2+++++++++++++++

    if EEPLoadData(244) then EEPSetSignal(244,2) end

    if EEPLoadData(244) then EEPSetSignal(244,3) end

    if EEPLoadData(244) then EEPSetSignal(244,4) end

    if EEPLoadData(244) then EEPSetSignal(244,5) end

    if EEPLoadData(244) then EEPSetSignal(244,6) end

    if EEPLoadData(244) then EEPSetSignal(244,7) end

    if EEPLoadData(244) then EEPSetSignal(244,8) end

    if EEPLoadData(244) then EEPSetSignal(244,9) end

    if EEPLoadData(244) then EEPSetSignal(244,10) end

    if EEPLoadData(244) then EEPSetSignal(244,11) end


    --+++++++++++++Ausfahrt Schattenbahnhof 2+++++++++++++++

    if EEPLoadData(223) then EEPSetSignal(223,2) end

    if EEPLoadData(224) then EEPSetSignal(224,2) end

    if EEPLoadData(225) then EEPSetSignal(225,2) end

    if EEPLoadData(226) then EEPSetSignal(226,2) end

    if EEPLoadData(227) then EEPSetSignal(227,2) end

    if EEPLoadData(228) then EEPSetSignal(228,2) end

    if EEPLoadData(229) then EEPSetSignal(229,2) end

    if EEPLoadData(230) then EEPSetSignal(230,2) end

    if EEPLoadData(231) then EEPSetSignal(231,2) end

    if EEPLoadData(232) then EEPSetSignal(232,2) end

    --+++++++++++++Ausfahrt Schattenbahnhof 2 Blocksicherung+++++++++++++++

    if EEPLoadData(213) then EEPSetSignal(213,2) end

    if EEPLoadData(214) then EEPSetSignal(214,2) end

    if EEPLoadData(215) then EEPSetSignal(215,2) end

    --+++++++++++++Ausfahrt Schattenbahnhof 2 Wahlschalter+++++++++++++++

    if EEPLoadData(222) then EEPSetSignal(222,2) end

    if EEPLoadData(221) then EEPSetSignal(221,2) end

    if EEPLoadData(271) then EEPSetSignal(271,2) end

    if EEPLoadData(275) then EEPSetSignal(275,2) end

    --+++++++++++++Wahlschalter Ausfahrt Viritueller Bahnhof+++++++++++++++

    if EEPLoadData(61) then EEPSetSignal(61,2) end

    if EEPLoadData(152) then EEPSetSignal(152,2) end

    if EEPLoadData(269) then EEPSetSignal(269,2) end


    --+++++++++++++Einfahrt VB Blocksicherung+++++++++++++++

    if EEPLoadData(260) then EEPSetSignal(260,2) end

    if EEPLoadData(193) then EEPSetSignal(193,2) end

    if EEPLoadData(258) then EEPSetSignal(258,2) end

    if EEPLoadData(259) then EEPSetSignal(259,2) end

    --+++++++++++++Teststrecke Schattenbahnhof 1 Blocksicherung+++++++++++++++

    if EEPLoadData(103) then EEPSetSignal(103,2) end

    if EEPLoadData(105) then EEPSetSignal(105,2) end

    if EEPLoadData(107) then EEPSetSignal(107,2) end

    if EEPLoadData(109) then EEPSetSignal(109,2) end

    if EEPLoadData(195) then EEPSetSignal(195,2) end

    if EEPLoadData(278) then EEPSetSignal(278,2) end

    if EEPLoadData(280) then EEPSetSignal(280,2) end

    if EEPLoadData(282) then EEPSetSignal(282,2) end

    if EEPLoadData(284) then EEPSetSignal(284,2) end

    if EEPLoadData(291) then EEPSetSignal(291,2) end

    if EEPLoadData(293) then EEPSetSignal(293,2) end

    if EEPLoadData(294) then EEPSetSignal(294,2) end

    if EEPLoadData(295) then EEPSetSignal(295,2) end


    end

    --+++++++++++++Wahlschalter Ausfahrt Schattenbahnhof 1+++++++++++++++

    function EEPOnSignal_270(Einf_Anl)

    print("Signal 270 auf ", Einf_Anl, "gestellt")

    if (Einf_Anl == 2) then

    EEPSaveData(97,true)

    EEPSetSignal(97,2)

    print("SB1 Einfahrt Anlage")

    elseif (Einf_Anl == 1) then

    EEPSaveData(97,nil)

    EEPSetSignal(97,1)

    print("Auflösen Einfahrt Anlage")

    end

    end

    function EEPOnSignal_265(Einf_Teststr)

    print("Signal 265 auf ", Einf_Teststr, "gestellt")

    if (Einf_Teststr == 2) then

    EEPSaveData(272,true)

    EEPSetSignal(272,2)

    print("SB1 Einfahrt Teststrecke")

    elseif (Einf_Teststr == 1) then

    EEPSaveData(272,nil)

    EEPSetSignal(272,1)

    print("Auflösen Einfahrt Teststrecke")

    end

    end

    function EEPOnSignal_74(Einf_VB)

    print("Signal 74 auf ", Einf_VB, "gestellt")

    if (Einf_VB == 2) then

    EEPSaveData(203,true)

    EEPSetSignal(203,2)

    print("SB1 Einfahrt Virtuelles Depot")

    elseif (Einf_VB == 1) then

    EEPSaveData(203,nil)

    EEPSetSignal(203,1)

    print("Auflösen Einfahrt Virtuelles Depot")

    end

    end


    function EEPOnSignal_144(SB1_kurz)

    print("Signal 144 auf ", SB1_kurz, "gestellt")

    if (SB1_kurz == 2) then

    EEPSaveData(273,true)

    EEPSetSignal(273,2)

    EEPSetSignal(270,1)

    EEPSaveData(97,nil)

    EEPSetSignal(97,1)

    EEPSetSignal(265,1)

    EEPSaveData(272,nil)

    EEPSetSignal(272,1)

    EEPSetSignal(74,1)

    EEPSaveData(203,nil)

    EEPSetSignal(203,1)

    print("AKZ SB1")

    elseif (SB1_kurz == 1) then

    EEPSaveData(273,nil)

    EEPSetSignal(273,1)

    print("Auflösen AKZ SB1")

    end

    end

    --+++++++++++++Wahlschalter Ausfahrt Schattenbahnhof 2+++++++++++++++

    function EEPOnSignal_157(Einf_Anl_SB2)

    print("Signal 157 auf ", Einf_Anl_SB2, "gestellt")

    if (Einf_Anl_SB2 == 2) then

    EEPSaveData(221,true)

    EEPSetSignal(221,2)

    print("SB2 Einfahrt Anlage")

    elseif (Einf_Anl_SB2 == 1) then

    EEPSaveData(221,nil)

    EEPSetSignal(221,1)

    print("Auflösen Einfahrt Anlage")

    end

    end

    function EEPOnSignal_158(Einf_Teststr_SB2)

    print("Signal 158 auf ", Einf_Teststr_SB2, "gestellt")

    if (Einf_Teststr_SB2 == 2) then

    EEPSaveData(271,true)

    EEPSetSignal(271,2)

    print("SB2 Einfahrt Teststrecke")

    elseif (Einf_Teststr_SB2 == 1) then

    EEPSaveData(271,nil)

    EEPSetSignal(271,1)

    print("Auflösen Einfahrt Teststrecke")

    end

    end

    function EEPOnSignal_264(Einf_VB_SB2)

    print("Signal 264 auf ", Einf_VB_SB2, "gestellt")

    if (Einf_VB_SB2 == 2) then

    EEPSaveData(222,true)

    EEPSetSignal(222,2)

    print("SB2 Einfahrt Virtuelles Depot")

    elseif (Einf_VB_SB2 == 1) then

    EEPSaveData(222,nil)

    EEPSetSignal(222,1)

    print("Auflösen Einfahrt Virtuelles Depot")

    end

    end


    function EEPOnSignal_274(SB2_kurz)

    print("Signal 274 auf ", SB2_kurz, "gestellt")

    if (SB2_kurz == 2) then

    EEPSaveData(275,true)

    EEPSetSignal(275,2)

    EEPSetSignal(157,1)

    EEPSaveData(221,nil)

    EEPSetSignal(221,1)

    EEPSetSignal(158,1)

    EEPSaveData(271,nil)

    EEPSetSignal(271,1)

    EEPSetSignal(264,1)

    EEPSaveData(222,nil)

    EEPSetSignal(222,1)

    print("AKZ SB2")

    elseif (SB2_kurz == 1) then

    EEPSaveData(275,nil)

    EEPSetSignal(275,1)

    print("Auflösen AKZ SB2")

    end

    end

  • Hier nun Teil 2:


    --+++++++++++++Wahlschalter Ausfahrt Viritueller Bahnhof+++++++++++++++


    function EEPOnSignal_149(Ausf_VB)

    print("Signal 149 auf ", Ausf_VB, "gestellt")

    if (Ausf_VB == 2) then

    EEPSaveData(61,true)

    EEPSetSignal(61,2)

    EEPSetSignal(150,1)

    EEPSaveData(152,nil)

    EEPSetSignal(152,1)

    EEPSetSignal(151,1)

    EEPSaveData(269,nil)

    EEPSetSignal(269,1)

    print("Umleitung Virtueller Bahnhof")

    elseif (Ausf_VB == 1) then

    EEPSaveData(61,nil)

    EEPSetSignal(61,1)

    print("Auflösen")

    end

    end


    function EEPOnSignal_150(Einf_SB1)

    print("Signal 150 auf ", Einf_SB1, "gestellt")

    hResult, Ausf_VB_Gleis = EEPIsRailTrackReserved( 517 )

    hResult, Ausf_VB_Gleis_2 = EEPIsRailTrackReserved( 50 )

    if (Einf_SB1 == 2)and (Ausf_VB_Gleis== false) then

    EEPSaveData(152,true)

    EEPSetSignal(152,2)

    EEPSetSignal(1,2)

    print("Einfahrt Schattenbahnhof 1")

    elseif (Einf_SB1 == 1) then

    EEPSaveData(152,nil)

    EEPSetSignal(152,1)

    print("Auflösen")

    end

    end


    function EEPOnSignal_151(Einf_SB2)

    print("Signal 151 auf ", Einf_SB2, "gestellt")

    hResult, Ausf_VB_Gleis = EEPIsRailTrackReserved( 517 )

    hResult, Ausf_VB_Gleis_2 = EEPIsRailTrackReserved( 50 )

    if (Einf_SB2 == 2) and (Ausf_VB_Gleis==false) and (Ausf_VB_Gleis_2==false)then

    EEPSetSignal(1,2)

    EEPSetSignal(269,2)

    EEPSaveData(269,true)

    print("Einfahrt Schattenbahnhof 2")

    elseif (Einf_SB2 == 1) then

    EEPSaveData(269,nil)

    EEPSetSignal(269,1)

    print("Auflösen")

    end

    end

    --+++++++++++++Stabsignal auf Rot oder Grün stellen SB1+++++++++++++++


    function StatusStabsigSB1()

    rot1 = EEPGetSignal(110)

    print(" Status Signal 110: ", rot1)

    end


    --+++++++++++++SB1 füllen+++++++++++++++

    function EEPOnSignal_95(fuellen_SB1)

    print("Signal 95 auf ", fuellen_SB1, "gestellt")

    if (fuellen_SB1 == 2) then

    StabRot_SB1()

    elseif (fuellen_SB1 == 1) then

    StabGruen_SB1()

    StatusStabsigSB1()

    end

    end


    --+++++++++++++Stabsignal auf Rot oder Grün stellen SB2+++++++++++++++


    function StatusStabsigSB2()

    rot1 = EEPGetSignal(180)

    print(" Status Signal 180: ", rot1)

    end


    --+++++++++++++SB2 füllen+++++++++++++++

    function EEPOnSignal_267(fuellen_SB2)

    print("Signal 267 auf ", fuellen_SB2, "gestellt")

    if (fuellen_SB2 == 2) then

    StabRot_SB2()

    elseif (fuellen_SB2 == 1) then

    StabGruen_SB2()

    StatusStabsigSB2()

    end

    end

    --+++++++++++++Notaus Schattenbahnhof und Teststrecke+++++++++++++++

    function EEPOnSignal_124(Notaus_SB)

    print("Signal 124 auf ", Notaus_SB, "gestellt")

    if (Notaus_SB == 1) then

    NotHalt_ein()

    NotHalt_AL_ein()

    elseif (Notaus_SB == 2) then

    NotHalt_aus()

    NotHalt_AL_aus()

    print("Alle Notsignale aus")

    end

    end


    --+++++++++++++Notaus für Anlage Signal 130+++++++++++++++

    function EEPOnSignal_130(Notaus_AL1)

    print("Signal 130 auf ", Notaus_AL1, "gestellt")

    if (Notaus_AL1 == 1) then

    NotHalt_ein()

    NotHalt_AL_ein()

    elseif (Notaus_AL1 == 2) then

    NotHalt_aus()

    NotHalt_AL_aus()

    print("Alle Notsignale aus")

    end

    end

    --+++++++++++++Notaus für Anlage Signal 135+++++++++++++++

    function EEPOnSignal_135(Notaus_AL2)

    print("Signal 135 auf ", Notaus_AL2, "gestellt")

    if (Notaus_AL2 == 1) then

    NotHalt_ein()

    NotHalt_AL_ein()

    elseif (Notaus_AL2 == 2) then

    NotHalt_aus()

    NotHalt_AL_aus()

    print("Alle Notsignale aus")

    end

    end


    --+++++++++++++Zählsignale auf Null schalten+++++++++++++++

    function EEPOnSignal_136(Zaehlsig)

    print("Signal 136 auf ", Zaehlsig, "gestellt")

    if (Zaehlsig == 1) then

    EEPSetSignal(301,1)

    EEPSetSignal(302,1)

    print("Alle Zählsignale auf Null gestellt")

    EEPSetSignal(136,2)

    end

    end


    --+++++++++++++alle Fahrstraßen SB1 aus+++++++++++++++

    function EEPOnSignal_268(Alle_FS_aus_SB1)

    print("Signal 268 auf ", Alle_FS_aus_SB1, "gestellt")

    if (Alle_FS_aus_SB1 == 1) then

    EEPSaveData(86,nil)

    EEPSetSignal(86,1)

    EEPSaveData(87,nil)

    EEPSetSignal(87,1)

    EEPSaveData(88,nil)

    EEPSetSignal(88,1)

    EEPSaveData(89,nil)

    EEPSetSignal(89,1)

    EEPSaveData(90,nil)

    EEPSetSignal(90,1)

    EEPSaveData(91,nil)

    EEPSetSignal(91,1)

    EEPSaveData(92,nil)

    EEPSetSignal(92,1)

    EEPSaveData(93,nil)

    EEPSetSignal(93,1)

    EEPSaveData(94,nil)

    EEPSetSignal(94,1)

    EEPSaveData(95,nil)

    EEPSetSignal(95,1)

    print("Alle Fahrstraßen SB1 ausgeschaltet!")

    EEPSetSignal(268,2)

    end

    end


    --+++++++++++++alle Fahrstraßen SB2 aus+++++++++++++++

    function EEPOnSignal_156(Alle_FS_aus_SB2)

    print("Signal 156 auf ", Alle_FS_aus_SB2, "gestellt")

    if (Alle_FS_aus_SB2 == 1) then

    EEPSaveData(223,nil)

    EEPSetSignal(223,1)

    EEPSaveData(224,nil)

    EEPSetSignal(224,1)

    EEPSaveData(225,nil)

    EEPSetSignal(225,1)

    EEPSaveData(226,nil)

    EEPSetSignal(226,1)

    EEPSaveData(227,nil)

    EEPSetSignal(227,1)

    EEPSaveData(228,nil)

    EEPSetSignal(228,1)

    EEPSaveData(229,nil)

    EEPSetSignal(229,1)

    EEPSaveData(230,nil)

    EEPSetSignal(230,1)

    EEPSaveData(231,nil)

    EEPSetSignal(231,1)

    EEPSaveData(232,nil)

    EEPSetSignal(232,1)

    print("Alle Fahrstraßen SB2 ausgeschaltet!")

    EEPSetSignal(156,2)

    end

    end


    --+++++++++++++Sub Funktionen+++++++++++++++


    --+++++++++++++Stabsignale SB1+++++++++++++++

    function StabGruen_SB1()

    EEPSetSignal(110,2)

    EEPSetSignal(111,2)

    EEPSetSignal(112,2)

    EEPSetSignal(113,2)

    EEPSetSignal(114,2)

    EEPSetSignal(115,2)

    EEPSetSignal(116,2)

    EEPSetSignal(118,2)

    EEPSetSignal(117,2)

    EEPSetSignal(119,2)

    print("Alle Stabsignale SB1 auf Grün")


    end


    function StabRot_SB1()

    EEPSetSignal(110,1)

    EEPSetSignal(111,1)

    EEPSetSignal(112,1)

    EEPSetSignal(113,1)

    EEPSetSignal(114,1)

    EEPSetSignal(115,1)

    EEPSetSignal(116,1)

    EEPSetSignal(118,1)

    EEPSetSignal(117,1)

    EEPSetSignal(119,1)

    print("Alle Stabsignale SB1 auf Rot")

    end


    --+++++++++++++Stabsignale SB2+++++++++++++++

    function StabGruen_SB2()

    EEPSetSignal(180,2)

    EEPSetSignal(181,2)

    EEPSetSignal(182,2)

    EEPSetSignal(183,2)

    EEPSetSignal(184,2)

    EEPSetSignal(185,2)

    EEPSetSignal(186,2)

    EEPSetSignal(187,2)

    EEPSetSignal(188,2)

    EEPSetSignal(189,2)

    print("Alle Stabsignale SB2 auf Grün")


    end


    function StabRot_SB2()

    EEPSetSignal(180,1)

    EEPSetSignal(181,1)

    EEPSetSignal(182,1)

    EEPSetSignal(183,1)

    EEPSetSignal(184,1)

    EEPSetSignal(185,1)

    EEPSetSignal(186,1)

    EEPSetSignal(187,1)

    EEPSetSignal(188,1)

    EEPSetSignal(189,1)

    print("Alle Stabsignale SB2 auf Rot")

    end


    --+++++++++++++Nothaltesignale schalten+++++++++++++++


    function NotHalt_ein()

    EEPSetSignal(122,1)

    EEPSetSignal(71,1)

    EEPSetSignal(123,1)

    EEPSetSignal(124,1)

    EEPSetSignal(121,1)

    EEPSetSignal(125,1)

    EEPSetSignal(126,1)

    EEPSetSignal(127,1)

    end

    --+++++++++++++Nothaltesignale ausschalten+++++++++++++++


    function NotHalt_aus()

    EEPSetSignal(122,2)

    EEPSetSignal(71,2)

    EEPSetSignal(123,2)

    EEPSetSignal(124,2)

    EEPSetSignal(121,2)

    EEPSetSignal(125,2)

    EEPSetSignal(126,2)

    EEPSetSignal(127,2)

    end


    --+++++++++++++Nothaltesignale für Anlage schalten+++++++++++++++


    function NotHalt_AL_ein()

    EEPSetSignal(128,1)

    EEPSetSignal(129,1)

    EEPSetSignal(130,1)

    EEPSetSignal(131,1)

    EEPSetSignal(132,1)

    EEPSetSignal(133,1)

    EEPSetSignal(134,1)

    EEPSetSignal(135,1)

    end

    --+++++++++++++Nothaltesignale für Anlage ausschalten+++++++++++++++


    function NotHalt_AL_aus()

    EEPSetSignal(128,2)

    EEPSetSignal(129,2)

    EEPSetSignal(130,2)

    EEPSetSignal(131,2)

    EEPSetSignal(132,2)

    EEPSetSignal(133,2)

    EEPSetSignal(134,2)

    EEPSetSignal(135,2)

    end