jloos Geschrieben 16. Mai 2021 Geschrieben 16. Mai 2021 (bearbeitet) Hallo, ich habe schon die verschiedensten Artikel über Wiederholungen gelesen, bin aber nicht daraus schlau geworden. Ich habe eine Liste Fahrstraßen angelegt, darin wieder eine Liste mit den Fahrstraßen 1 bis 4, darunter denn eine Tabelle mit den Weichen und deren Stellung. Aber wie lege ich nun in der EV die Aktion an, dass die Weichen entsprechend der angegebenen Stellung in einer Wiederholung eingestellt wird. Die zu stellende Fahrstraße steht in einer Variablen im Fahrzeug Danke für Eure Hilfe Jürgen Bearbeitet 16. Mai 2021 von jloos
Goetz Geschrieben 17. Mai 2021 Geschrieben 17. Mai 2021 (bearbeitet) Hallo Jürgen, die Liste, welche du abarbeiten möchtest, ist selber ein Element der Liste Fahrstraßen. Deshalb musst du für die Wiederholung angeben, dass du ein Element einer Liste verwenden möchtest: Jetzt hast du zwei Felder. Die Variable (für den Listennamen) und den Index (für die Untertabelle, welche du verwenden möchtest:) Damit werden in der Wiederholung nacheinander alle Elemente dieser Untertabelle abgearbeitet. Und diese Elemente sind wiederum kleine Tabellen, die je eine Weiche und ihre Stellung enthalten. Also gibst du bei "Weiche schalten" innerhalb der Wiederholung ebenfalls an, dass sowohl die Weiche als auch ihre Stellung in einer Tabelle zu finden sind: Für die Weiche ist die Variable jetzt das Element der Wiederholung und der Index heißt Weiche (weil das so in deiner Tabelle eingetragen ist.) Und genauso heißt bei der Stellung die Variable wieder "Wdh" und der Index "Weichenstellung" Hier hast du noch einmal alles in einem Bild vereint: Ich hoffe, das hilft dir weiter? Sonst versuche ich gerne, es in einem kurzen Video vorzuführen. Götz Bearbeitet 17. Mai 2021 von Goetz Bild hinzugefügt
jloos Geschrieben 17. Mai 2021 Autor Geschrieben 17. Mai 2021 Vielen Dank Goetz, jetzt habe ich es begriffen. Es funktioniert mit 4 Fahrstraßen. Jetzt kommen noch 11 weitere dazu. (übermütig) Deine Erklärung kommt jetzt ins Archiv als Lehrstück. Gruß Jürgen
EmKo Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Hallo, Ich häng mich mal hier dran. So wie es hier ist, Liste in einer Liste abarbeiten funktioniert wunderbar. Jetzt habe ich mal was anderes aufgebaut und häng da aber fest. In einem Signal sind zwei separate Listen. Liste 1 fünf Weichen als Opjekt Liste 2 fünf Weichenstellungen als Zahl Mein Problem ist wie bekomme ich den Wert der Weichenstellung in die EV: Ich habe die EV wie folgt erstellt, aber so funktioniert es nicht. Als Lua-Text sieht es so aus: local t = signal.variables["Weichen"] for i, Weichen in ipairs(t) do Weichen.state = signal.variables["Weichenstellung"][Weichen] end Wenn ich den Lua-Text ändere und [Weichen] ändere in den Zähler [i]: local t = signal.variables["Weichen"] for i, Weichen in ipairs(t) do Weichen.state = signal.variables["Weichenstellung"][i] end dann funktioniert es. Ich würde es aber gerne nur mit der EV darstellen können und da häng ich irgendwie fest. Vielleicht kann ja jemand meinen Knoten im Kopf lösen. Gruß Michael
Old Grey Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Hallo Michael, wenn Du das so in der EV machen willst, brauchst Du noch ein dritte Tabelle mit den Weichennummern (in dem Fall 1-5). Diese nimmst Du dann für die Wiederholung. Den Wert in der Wiederholung nimmst Du dann als Index für die Listen Weichen und Stellung. Als Schleife im Script würde ich es wie folgt erledigen (keine korrekte Lua-Syntax sondern nur als Skizze): for i = 1 to AnzahlWeichen WeicheStellen (ListeWeiche(i), ListeStellung(i)) next Die Variable AnzahlWeichen muß im Signal hinterlegt werden. Gruß Old Grey
Atrus Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Hallo EmKo, ich kann es dir leider nur in der graphischen Ebene zeigen, weil ich noch kein Lua kann. Vielleicht kannst du das ja irgendwie in ein Lua Script umwandeln. LG Atrus
Atrus Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 So sieht das dann aus, falls ich nichts falsch gemacht habe! LG Atrus
EmKo Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Hallo Atrus, ich möchte es ja auch in der grafischen Darstellung machen. Und so wie Du es zeigst ( Liste in einer Liste) funktioniert es ha auch. Das hat Goetz ja oben auch super erklärt. Ich habe aber zwei einzelne Listen. Mit der ersten in der die 5 Weichen stehen starte ich die Wiederholung. Beim ersten durchlauf möchte ich jetzt den ersten Wert aus der zweiten Liste haben. Beim zweiten Durchlauf den zweiten Wert usw. In Lua bekomme ich das auch hin, nur in der grafischen Darstellung nicht. Gruß Michael
Atrus Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Ja da muss ich erst einmal nachdenken, um deine Frage zu verstehen. Also bei mir wird jede Fahrstraße in einer eigenen Wiederholung mit den dazu gehörenden Listen ausgeführt die in dem jeweils betroffenen Signal hinterlegt sind. Da ich ja auch gleich die Reservierungen, Gleisbesetztmeldungen und die GBS Bausteine mit schalte. Nachdem ich weit über 100 Fahrstraßen benötige wäre mir das viel zu kompliziert, alles in einem Programm zu schreiben. Darf ich dich fragen was du damit genau bezweckst? LG Atrus
Atrus Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Vielleicht hat es auch mit dem Namen "Element" in einer Liste bzw. bei Weiche schalten "Variable Liste/Tabelle" zu tun, wie du auf meinem Foto sehen kannst. Bei mir ist der Auslöser ja auch ein Signal aber eben anders formuliert. LG Atrus
EmKo Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 In meiner letzten Anlage https://community.3d-modellbahn.de/forums/topic/6406-kleine-anlage-aus-maerklin-magazin-012019/ habe ich die Fahrstrassen über ganz viele Bedingungen gestellt (wenn Weiche vorhanden dann stelle Weiche in Weichenstellung ... usw) Das ganze wollte ich jetzt etwas optimieren da sich ganz Teile in der EV wiederholen und da bin ich auf diesen Beitrag hier gestossen. Natürlich ist es sinnvoll die Weiche mit der Weichenstellung in eine Liste zu schreiben da das ja zusammengehört. Ich hatte nun aber einfach den Gedanken es mit zwei einzelnen Listen zu versuchen. Ist nur eine Spielerei und funktioniert ja vielleicht auch in der grafischen Darstellung gar nicht. Versuche es gerade mal mit dem Vorschlag von @modellbahn-old-grey mit einer Dritten (Zählerliste). Mach Dir wegen mir da keine Kopfzerbrechen. Gruß Michael
Old Grey Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Ich habe meine Ausführungen von oben mal in der EV nachgestellt: Als Script sieht es dann so aus:
Atrus Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Also einmal bin ich noch da. Meine EV sieht ja mittlerweile ganz anders aus. Hatte ich ganz vergessen. Bin gerade ganz woanders auf der Anlage, sorry! Ich habe die Blockstrecken inzwischen in den Fahrstraßen integriert, um die Ereignisse in den Signalen zu verringern und das Ganze etwas übersichtlicher zu gestalten! LG Atrus
Atrus Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Natürlich kannst du zwei Listen anlegen und die dann unabhängig von einander abfragen/abarbeiten. Aber dann würdest du ja einmal fragen ob es die Weichen überhaupt gibt und dann erst die Weichenstellungen ausführen, aber du wirst ja kaum Weichenstellungen abfragen wollen die es gar nicht gibt? Wenn ich dich da jetzt nicht komplett falsch verstanden habe. LG Atrus
EmKo Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Hallo @modellbahn-old-grey, genau das ist es mit der dritten Tabelle, dann geht es auch in der grafischen Darstellung. Einträge im Signal: Einträge in der EV: Gruß Michael
EmKo Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 @Atrus Zitat Aber dann würdest du ja einmal fragen ob es die Weichen überhaupt gibt und dann erst die Weichenstellungen ausführen Hahaha, genauso kompliziert habe ich es aber angestellt. Und da geht es jetzt mit Gewalt dran das zu ändern. Gruß Michael
Atrus Geschrieben 26. Mai 2021 Geschrieben 26. Mai 2021 Sehr erstaunlich, aber alle Wege führen eben nach Rom. Sempre! Tja, also alles was ich zu diesem Thema weiß habe ich dir jetzt gesagt/gezeigt. Viellicht hilft es dir. Viel Glück und LG Atrus
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden