-
Gesamte Inhalte
1571 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von HaNNoveraNer
-
Hi Ich muß in Lua den Inhalt einer Liste (variable in einem Signal) Namens "Liste1" mit 2 Texteinträgen "T1" und "T2" in einem Objekt auswerten, aber nur wenn sie existiert, ansonsten nehme ich immer "T3" Wie mache ich das? Ich laufe da immer auf einen error. Danke und Gruß Thomas
-
Das meinte ich. Z.B: bei PKW: Fenster, Chrom, Karosserie, Licht, Blinker u.s.w.
-
Wieso max. 3 Materialien?
-
Bahnschranken richtig ansteuern
HaNNoveraNer antwortete auf norbert-grubes Thema in Fragen zur Steuerung
Na dann wird ja alles gut -
Bahnschranken richtig ansteuern
HaNNoveraNer antwortete auf norbert-grubes Thema in Fragen zur Steuerung
Hallo Bahnland Ich bin auch gerade am Grübeln, wie man Autos an beliebigen Stellen so anhält, daß der Hintermann nicht auffährt. Das sollte möglichst irgendwie ohne abruptes Abbremsen, Losfahren und ohne einzelne kurze Straßenstücke erfolgen. Nachdem das erste Auto über einen Gleiskontakt zum Stehen gebracht wird, müssten die folgenden Autos jeweils mit Abstand anhalten. Schöner wäre es natürlich, wenn das Hauptprogramm selber die currentspeed entsprechend zum Vordermann anpassen würde/könnte, da uns eigentlich die "Sensoren" fehlen. Momentan fällt mir leider nur die Lösung mit kurzen Gleisen ein, wo man die targetspeed des aktuellen Gleises der currentspeed das Fahrzeugs auf dem Gleis dahinter anpasst. Da man aber nicht weiß , wie viele Fahrzeuge kommen, müßte man für die ganze Anlage das Straßennetz mit kurzen Gleisstücken bauen. -
Und ein fliegender Teppich für den unsichtbaren Spline!
-
Die Beispielanlage findest Du hier im Forum :-) Letzte Version ganz unten auf der Seite Das mit dem Timer mache ich auch in einem anderen System schon so. Dort läuft das Lua selber in einer 200ms Schleife praktisch als Timer. Grob beschrieben gibt es 3 Listen, die ich dazu brauche: 1. Angeforderte Fahrstaßen 2. Aktive Fahrstraßen 3. Timeout (Ausweichroute, wenn Fahrstraße nicht geschaltet werden kann) Jedesmal wenn ein Zug eine Fahrstraße befahren will, schreibt er eine Anforderung in Tabelle1. Der Endlostimer fragt diese Tabelle im 200ms Intervall ab. Findet er eine Anforderung, versucht er, die Fahrstraße zu aktivieren. Dazu prüft er alle enthaltenen Gleise auf besetzt, oder ob die Gleis schon in einer anderen aktiven FS in Tabelle2 enthalten sind. Klappt das Aktivieren, löscht er die Anforderung und schreibt sie in Tabelle2. Timeout habe ich hier noch nicht realisiert. Also versucht er es so lange, bis die Fahrstraße frei wird. Am Auflösekontakt hat er ja die Fahrstraße besetzt und löscht den Eintrag aus der Tabelle2! Die möglichen Ziele (Fahrstraßen) werden am Signal eingetragen. Man benötigt nur das Startsignal mit den Bremsparametern und 2 Kontakte, denen man eindeutige Nummern gibt, für jeden neuen Block. Das ist ratzfatz parametriert. Alles andere übernimmt das Lua Programm automatisch. Mal so ganz grob ohne Details.
-
Anleitung zum Bau von Modulen - Diskussion
HaNNoveraNer antwortete auf Roter Brummers Thema in Fragen zur Planung
Hallo RB Wie sieht denn Dein Bahndamm bei 90 Grad Kurven aus inkl. der Schottertextur? -
Sehr schön, was Du da baust. Das wirkt alles sehr plastisch und natürlich und gut texturiert. Einige Modelle sind doch sehr grell, bunt und knallig, die ich im Katalog finde. Womit baust Du denn? Blender? Gruß Thomas
-
Ist mir viel zu aufwändig, die ganzen Ausfahrten zu überwachen, besonders, wenn es noch Ausweichgleise oder alternative Möglichkeiten gibt, wo der Zug hinfahren könnte. Zugrichtungsänderungen, Rangieren u.s.w. müssen dann auch berücksichtigt werden. Und bei eingleisiger Strecke muß dann auch noch der Gegenverkehr berücksichtigt werden. Und ich setze gerne mal Züge von Hand ein. Auch das muß dann die Abfrage auslösen. Dem Timer ist das alles egal. Damit kann ich auch mal eine ganze Zugfahrt mit mehreren Fahrstraßen/Blöcken reservieren bei Gegenverkehr vor, hinter und im Bahnhof u.s.w. So ein Timer sollte das System auch nicht wirklich belasten. Vielleicht mache ich mal einen Test mit 100 aktiven Fahrstraßen mit je 20 Gleisen. Kann man im MBS die Zeit in ms messen?
-
Nee, signal hieß früher o_signal. Hab den ganzen Kontakt vergessen umzubenennen :-( Hier nochmal mit 2 Loks: (Könnte ich stundenlang zugucken... ) Bremsen.mbp
-
Danke Martin Habs korrigiert. Da hab ich den einen Kontakt vergessen. Ich hab mir hinterher überlegt, alle Schlagwörter groß zu schreiben. Da gibt es auch ein Problem beim Umbenennen im MBS. Man kann groß/klein nicht umbenennen. Gruß Thomas
-
Ist ja nur EIN Timer für alle Fahrstraßen bei mir. Der arbeitet nur, wenn eine Fahrstraße angefordert ist, sonst läuft er ins Leere, damit ihm nicht langweilig wird. Siehe meine Beispielanlage im anderen Thread. So funktioniert es auch, wenn man das Fahrzeug von Hand entfernt.
-
Objekte selektieren, die in Tabelle stehen?
HaNNoveraNer antwortete auf HaNNoveraNers Thema in Fragen zur Steuerung
Super, das habe ich gesucht! Danke. -
Ich habe jetzt dazu passend ein Fahrstraßenmodul gebaut. Neue Fahrstraßen erzeugt man durch kopieren der betroffenen Gleise in globale Listen: FS1, FS2, FS3 u.s.w. für alle Fahrstraßen. Wichtig ist, die Startsignale alle korrekt zu benennen: FSSig0001 bis FSSig9999. Das steuert den ganzen Ablauf! Nur ein Anforderungskontakt und ein Aufhebungskontakt werden benötigt. Die möglichen Fahrstraßen stehen im Signal. Aktivierte Fahrstraßen verriegeln sich gegenseitig. Ich werde das noch um unterschiedliche Routen für unterschiedliche Züge und um eine autom. Weichenschaltung erweitern. Hier die Testanlage: (Wenn Du den Wagen wegnimmst, fährt der Zug weiter. Natürlich vorher die Anlage starten!) (Bitte ein Gleis besetzen BEVOR der Zug den Anforderungskontakt überfahren hat, dann hält er wieder an) Bremsen.mbp
-
Hi Ich habe in einem Modul eine Tabelle als Variable angelegt. Darin habe ich mehrere Gleise gespeichert. Jetzt möchte ich gerne sehen, welche Gleise das waren. Daher möchte ich sie wieder alle auf einmal selektieren lassen. Wie ist das möglich? Wenn man in Lua Schlagwörter zuweisen könnte, dann könnte ich alle Gleise beim Programmstart mit dem Tabellennamen versehen. Damit wären sie zu filtern für die Selektion. Geht aber wohl nicht.
-
Du könntest abfragen, ob beim Zug das Schlagwort vehicle.variables["Güterzug"] existiert. ~=nil Oder eben alle anderen Schlagwörter. Ich programmiere auch gerade so eine Logik. Gehe aber etwas anders vor, so daß der Zug am Einfahrsignal eine oder mehrere Fahrstraßen über einen Endlostimer "anfordert" bis sie frei ist. Der weiß genau wer er ist und wohin er will/darf.
-
Gleis besetzt Status abfragen?
HaNNoveraNer antwortete auf HaNNoveraNers Thema in Fragen zur Steuerung
Für weitere Funktionen in dem Fahrstrassenmodul, daß ich gerade baue, benötige ich folgendes: s="FSSig0001" local s2=$(s).variables["fahrstrassen"] Das gibt aber einen Fehler. Wie kann ich eine Variable im Objekt ansprechen, wenn ich den Objektnamen nur als string habe? P.S. Habs gerade gefunden: local signal=layout:getEntityByName(s) local s2=signal.variables["fahrstrassen"] -
Objekte in andere Anlagen übernehmen?
HaNNoveraNer antwortete auf HaNNoveraNers Thema in Fragen zur Planung
Perfekt, dann brauch ich das Objekt ja nur verdoppeln, um es speichern zu können. Dann könnte man es doch gleich mit sich selbst gruppieren, wenn ihr das aktiviert -
Hi Gibt es eine Möglichkeit Objekte mit ihren Schlagwörtern und Variablen in andere Anlagen zu übernehmen? Zum Beispiel einen Gleiskontakt mit 12 Schlagwörtern und 44 Variablen :-) Exportieren als .mbe funktioniert mit dem nicht. Das man andere Anlagen komplett importieren kann, hab ich ausprobiert. Aber auch einzelne Objekte, Ereignisse oder Lua Scripts? Grund: Ich habe mehrere Dinge in kleinen Beispielanlagen entwickelt und möchte diese nun in vorhandene andere Anlagen übernehmen.
-
Anleitung zum Bau von Modulen - Diskussion
HaNNoveraNer antwortete auf Roter Brummers Thema in Fragen zur Planung
Warum nicht auch vorne Module ohne Hintergrund anbauen? 300 ist nicht viel. -
Gleis besetzt Status abfragen?
HaNNoveraNer antwortete auf HaNNoveraNers Thema in Fragen zur Steuerung
Jaja, aber Du hast die Objekte MANUELL umbenannt: ("Gleis 1"), $("Gleis 2"), $("Gleis 3") Normal heißen die Gleise nach dem Einsetzen alle gleich. Dann würde das stehen ("5201","5201","5201"). Das wäre unübersichtlich. Meine Frage bezog sich aber auf die direkte Abfrage EINES Gleises, ohne umbenennen mit dem Lua Befehl. -
Gleis besetzt Status abfragen?
HaNNoveraNer antwortete auf HaNNoveraNers Thema in Fragen zur Steuerung
getVehiclesOnTrack(Gleis) Dabei ist Gleis doch der Name des Gleisobjekts und nicht die ID? Wenn ich nun ein Gleis abfragen möchte, was genau den gleichen Namen hat wie 5 andere? -
Hallo Ich suche eine Möglichkeit, ein unter EREIGNISSE stehendes Script EINMALIG auszuführen, ohne es einem Ereignis zuzufügen. Es geht nur um das einmalige initialisieren bestimmter Objekte der Anlage. Wie würde man das realisieren? Wozu sind diese Scripte? Wann werden sie ausgeführt? Gruß Thomas
-
Gleis besetzt Status abfragen?
HaNNoveraNer antwortete auf HaNNoveraNers Thema in Fragen zur Steuerung
Ich habe das mit den Gleisen noch nicht ganz kapiert. Die haben ja alle den gleichen Namen "1610" (Bezeichnug des Herstellers) oder so. Wie kann man die denn unterscheiden? Und kann man auch erkennen, ob ein Gleis eine Weiche ist? Und kann man die Weiche irgendwie flankenschützen/sperren? Achja: Kann ich eine Aktion in einer Endlosschleife aufrufen, bis ein bestimmtes Ereignis eintritt? Gibt es da programmintern einen Scheduler, der die Prozessorzeiten für die Aktionen verwaltet? Wenn ich mit Fragen zu viel nerve, einfach sagen! ;-)