-
Gesamte Inhalte
5774 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Goetz
-
Auf welches Manual beziehst du dich? Und darf ich dir sagen, dass die Entwickler die Schreibweise Lua wünschen? Weil der Name keine Abkürzung ist.
-
Aber eben nur in Lua. Und Lua ist nicht Herr im Hause MBS. Du irrst, wenn du glaubst dass breite Teile des MBS auf Lua basieren würden. Lua läuft nur als Gast mit, hat aber Zugang zu breiten Teilen des MBS Außerdem kann auch Lua nicht über eine Lücke hinweg iterieren. Schau mal, welche Größe du zurück bekommst, wenn deine Liste eine Lücke enthält: Test = {"Eins", "Zwei", "Drei", "Vier"} Test[7] = "Sieben" AnzahlElemente = #Test print("Die Liste enthält "..AnzahlElemente.." Elemente") print(Test[7]) Dabei unterscheidet Lua auch noch, ob der Abstand nur 1 beträgt oder mehr. Wenn du zusätzlich eine Zelle 6 einsetzt, dann wird die fehlende fünfte Zelle mitgezählt.
-
Hallo Andy, ist grundsätzlich der falsche Ansatz, wenn es um Rechtsfragen geht! Dein "Bauchgefühl" ebenfalls. Gruß Götz
-
ist ein Irrtum, Wüstenfuchs. Es gibt sie und sie wurden überall dort aufgestellt, wo nur HP2 sinnvoll ist. Also an sehr vielen Stellen. Man nennt es ein "gekoppeltes zweiflügliges Signal", weil die beiden Signalflügel am Signal selbst mechanisch miteinander gekoppelt sind. Es steht beispielsweise an Ausfahrten, die über eine abzweigende Weiche führen. Dort wird man nie HP1 signalisieren. Gruß Götz
-
EV-Schleife zum Abfrage einer Weichenstraße
Goetz antwortete auf AndreasWBs Thema in Fragen zur Steuerung
Ne, mit dem "Zeilen-Konstrukt" verrennst du dich gedanklich, Andreas. Was du da siehst, ist eine durchnummerierte Liste. Und in der Liste stecken wiederum Tabellen. Unterschied zwischen Liste und Tabelle: die Liste hat nummerierte Plätze die Tabelle hat Plätze mit Bezeichnern. Ich hätte ebenso gut in der Liste weitere Listen (anstelle von Tabellen) anlegen können. Aber mit Bezeichnern fand ich das Konstrukt lesbarer. Letztlich ist es eine mehrdimensionale Tabelle. Äh, Liste ... Das ist vielleicht etwas verwirrend, weil die Bezeichnungen durcheinander geraten, wenn man mehrere Programmiersprachen mischt. Lua kennt nämlich nur Tabellen, unterscheidet aber trotzdem klar zwischen nummerierten Plätzen und solchen mit Bezeichnern. Du kannst nur über den lückenlos durchnummerierten Teil einer Tabelle iterieren. Vielleicht noch wichtiger ist aber, dass die Objektvariablen zunächst nichts mit Lua zu tun haben. Lua läuft nur nebenher und gewährt mir Zugriff auf diese Dinge. Deshalb werden im MBS Listen und Tabellen unterschieden. Gruß Götz -
Aber das MBS ist nicht in Lua programmiert. Die Signalsteuerung muss auch anderen (älteren) Gesetzen gehorchen, die mit Lua nichts zu tun haben. Außerdem kann auch Lua nicht über eine Lücke hinweg iterieren. Eine lückenlose Aufzählung der Stellungen ist daher wünschenswert.
-
Da hast du etwas missverstanden, Wüstenfuchs. Bei dem Test kann man nicht "durchfallen".
-
@Markus Meier Darf ich dich mal fragen, wie alt du bist? Und kennst du diesen Test und seine Bedeutung?
-
In Zeile 13 bildest du einen String. Ein String ist keine Variable und du kannst ihn auch nicht einfach anstelle eines Variablennamens einsetzen. Aber ein String kann ein Tabellenindex sein. Index sagt man wohl eigentlich nur bei Zahlen. Also schreibe ich lieber: Der Bezeichner eines Tabellenplatzes kann ein String sein. Wären deine Listen alle Untertabellen einer übergeordneten Tabelle, dann wären ihre Namen Bezeichner: -- Deklaration local tblFahrzTypen = $("Ereignisse").variables["FahrzeugTypen"] local ListenSammlung = { BahnListe = {}, StrassenListe = {}, LuftListe = {}, WasserListe = {} } -- Tabelle auslesen for index, Art in pairs(tblFahrzTypen) do print(index) for Typ, TypText in pairs(Art) do ListenName = (index.."Liste") print(ListenName) table.insert(ListenSammlung[ListenName], Typ.." - "..TypText) end end Lua verwaltet sämtliche Variablen, Tabellen, Funktionen etc. in einer einzigen Tabelle namens _ENV Damit kannst du das, was ich mittels übergeordneter Tabelle erledigt habe, auch direkt mithilfe von _ENV machen. Aber das obige Beispiel ist für das Verständnis die bessere Wahl. in deinem tblFahrzTypen [index] in Zeile 11 steht übrigens genau das was du zuvor in Zeile 8 an die Variable Art übergibst. Die Hilfsvariable tblTmp ist also überflüssig. Nimm stattdessen einfach Art (siehe Zeile 8 in meinem Beispiel) Gruß Götz P.S.: Zeilennummern haben in einem Lua Skript nichts verloren. Bitte nicht mit kopieren.
-
Hallo Andreas, das hab ich gerade ausprobiert. Ich habe das Signal S4 per Stellpult umgeschaltet. Das Signal ging auf Fahrt (obwohl der rote Knopf am Pult runtergedrückt wurde) und der Personenzug mit der BR 01 an der Spitze raste rückwärts vom Signal weg. Die Weiche hinter dem Signal S4 stand zu diesem Zeitpunkt für die Ausfahrt falsch (= auf Abzweig) Gruß Götz
-
EV-Schleife zum Abfrage einer Weichenstraße
Goetz antwortete auf AndreasWBs Thema in Fragen zur Steuerung
Den habe ich ersatzweise für Wdh gewählt, um deutlicher zu machen, was hier übergeben wird. Wdh ist nur der default Name für die lokale Variable. Du kannst da jeden beliebigen Namen reinschreiben. Es passiert folgendes: Das GBS Signal hat eine Variable für das zugehörige Hauptsignal. Im Hauptsignal steht die Liste mit den Weichen und ihren Sollstellungen. (Diese Liste kann theoretisch überall stehen) Das Hauptsignal hat eine Variable für das zugehörige GBS Signal. (beide kennen also ihren "buddy") Interessant ist für dich in der EV nur "Signal schaltet (2)" (bitte entschuldige, dass ich vergessen habe das besser zu bezeichnen) Wenn ein GBS Signal schaltet, dann holt die EV aus dem zugehörigen Signal die Liste mit den Weichenstellungen zu diesem Signal. Die Weichenstellungen werden geprüft. Stimmen sie überein, wird das Hauptsignal geschaltet. Andernfalls geht das GBS Signal zurück auf "Halt". -
EV-Schleife zum Abfrage einer Weichenstraße
Goetz antwortete auf AndreasWBs Thema in Fragen zur Steuerung
Leider nein. Das ist der Zelleninhalt. Den Index (oder Schlüssel, bei einer Tabelle) bekommst du in der grafischen EV leider nicht zu fassen. Da wirst du auf Lua umschwenken müssen. Lua liefert dir mit in ipairs() die Wertepaare key, value (Index, Wert) zu jeder Zelle. Bitte beachten: es gibt in pairs() und in ipairs() Aber eine Liste sollte reichen, wenn du in dieser Liste Wertepaare ablegst. Dann geht es auch grafisch. Dann kannst du Wdh.Weiche.Stellung mit Wdh.Sollstellung vergleichen Gruß Götz Hier ist eine Beispielanlage, die ich eben aus einer früheren Demo für dich gebaut habe.. Die GBS Signale lassen sich in dieser Version nur dann auf Fahrt schalten, wenn die Weichen korrekt für die Ausfahrt gestellt sind. Weichenstrasse pruefen.mbp -
Das weiß ich doch, Wüstenfuchs. Und Andreas weiß es ebenfalls. Ihm (und mir) geht es explizit um Formsignale.
-
Oh, es weihnachtet wieder. Da darf man überall in die Stuben schauen und an Familienzwistigkeiten teilnehmen. Das nennt sich dann "die besinnliche Zeit". Ich liebe es.
-
Ah, okay Andreas. Wenn du diese Konstellation auch real gesehen hast, dann muss ich mein Urteil natürlich revidieren. Ich dachte, dass man diese Kombination - eigentlich Vorsignalwiederholer - so nur bei den Lichtsignalen findet. Dass sie bei Formsignalen speziellen Situationen wie der Bahnhofseinfahrt vorbehalten wären. Aber ich bin Bahn-Laie. Ich greife nur auf das Wissen zurück, was ich über die Jahre im Umgang mit Programmen wie dem MBS von Fachleuten aufgeschnappt habe. Das ist sicher unvollständig. Und meine Rückschlüsse sind nicht fehlerfrei. Danke für die Aufklärung. Gruß Götz
-
... ist aber heute derselbe Aufwand wie eine "richtige" V6 Schaltung für das Vorsignal. Da würde ich persönlich die "technisch saubere" Lösung vorziehen. Nicht zuletzt deshalb, weil dann auch die Animation stimmt.
-
Nicht wirklich. Realistisch ist solch eine Kombination von Vorsignal und Hauptsignal bei den Formsignalen nur an Bahnhofseinfahrten. Damit ein Lokführer bei einer eventuellen Durchfahrt schon am "Eingang" sehen kann, ob der "Ausgang" frei ist. Also spiegelt dieses Vorsignal dasjenige Ausfahrsignal, zu dem die aktuellen Weichenstellungen führen. Es geht also in jedem Fall um eine komplexe Situation, die du per EV verwalten möchtest. Ob du dann in dem Zusammenhang das Vorsignal koppelst oder umstellst, ist für den Aufwand egal. Einmal ist es ein Befehl "Koppel Signal mit" und einmal ist es ein Befehl "Stell Signal auf", den du innerhalb der EV einsetzt. Der Rest ist gleich. In Blockabschnitten wirst du solch eine Konstellation wie bei dir nicht finden. Vorsignale stehen dort, wo der Lokführer im Falle "Halt" den Bremsvorgang einleiten muss. Weil die Bremswege länger sind als die Entfernung, über die man ein Hauptsignal zweifelsfrei erkennen kann. Hauptsignale stehen aber nicht so dicht hintereinander, dass das Vorsignal des folgenden Signals am selben Platz steht wie das Hauptsignal. Ich weiß, dass es dir persönlich nur bedingt um die Nachbildung der Realität geht. Trotzdem ist sie aber der richtige Maßstab dafür, was sinnvoll ist. Denn die Bahn steht bei der Regelung des Zugverkehrs letztlich vor denselben Problemen wir wir mit dem MBS auch. Und sie hat dafür gute Lösungen entwickelt, die sich über einen langen Zeitraum bewährt haben. Es ist deshalb klug, sich bei der realen Bahn abzugucken, wie man das organisieren kann. Gruß Götz
-
Nein, das ist dasselbe wie die Verknüpfung per Kettensymbol in den Eigenschaften. Und das ist wiederum identisch mit der Verknüpfung, die beim automatischen Andocken ans Gleis entsteht. Die (Schalt)verbindung kannst du meines Wissens nicht per EV zuweisen. Da musst du stattdessen mit dem Ereignis "Signal schaltet" und passenden Bedingungen (vermutlich Weichenstellungen) arbeiten und das Vorsignal so über die EV schalten. Genau so ist die Ereignsiverwaltung gedacht: Du kannst eintretende Ereignisse nutzen, um in erweiterter Form Aktionen auszulösen, die du gerne mit dem Ereignis in Verbindung bringen möchtest.
-
Ich finde die Holzeisenbahn ebenfalls klasse. Und auch das Lego Sortiment. Genauso freue ich mich aber über das Facelifting für die BR 89.0
-
Das ist schon klar, Kutscher. Aber du schreibst, dass du ein Bild schickst. Davon ist nichts zu sehen. Stattdessen hast du zwei Anlagen angehängt, die auch noch beide identisch sind. Und niemand von uns kann wissen, was wir jetzt damit tun sollen, um dir zu helfen. Du hattest die Tage erst Hilfe von @Dad3353. Er hatte dafür gesorgt, dass Signale auf deiner Anlage funktionieren. Das hat offenbar nicht dazu geführt, dass du jetzt besser verstehst, wie das funktioniert und worauf du achten musst? Obwohl er es dir erklärt hatte? Du machst es einem unmöglich, dir zu helfen. Weil du noch nicht einmal in der Lage bist, brauchbare Fragen zu stellen. Ich will dir das nicht zum Vorwurf machen, weil ich nicht wissen kann, warum du es nicht besser kannst. Ich will dich nur um Verständnis dafür bitten, dass niemand hier in der Lage ist dir zu helfen. Du brauchst jemanden, der sich neben dich setzt und mit dir gemeinsam diese Dinge durchgeht. Weil der sehen kann, worauf man bei dir möglicherweise Rücksicht nehmen muss. Viele Grüße Götz
-
Eine sehr schöne Anlage, Hermann. Ganz große klasse! Ich habe dein komplettes Posting im Zitat wiederholt, weil durch mein Lob eine neue Seite begonnen wurde und deine Bilder nicht mehr auf Anhieb zu sehen waren.
-
Passt nicht, denn die Paprika stammt aus Mittel- und Südamerika, ihr Name wurde aus dem Serbischen entliehen siehe Wikipedia Erstaunt? Ja, war ich auch ...
-
Auf dem rechten Screenshot hast du die falsche "Play-Taste" gedrückt. Du musst die Animation vorwärts abspielen (oder den Wert 1 eingeben) um das Pult zu öffnen. Ich kann dem Screenshot natürlich nicht ansehen, ob du auch die Richtung "vorwärts" probiert hast.
-
dann ist nichts mehr übrig, was wir dir raten könnten.