Swen44 Geschrieben Sonntag um 10:42 Uhr Geschrieben Sonntag um 10:42 Uhr (bearbeitet) Hallo Modelltüftler, zum Einen frage ich mich, wie das mit Wendeschleifen funktioniert? Ich habe mir eine Testanlage (Spur N) zum Anlernen der Ereignissteurung virtuell gebaut. Das Programm erlaubt mir, einfach Wendeshleifen zu bauen. Siehe dazu Bild ganz oben. Auf einer analogen Anlage würde ich damit aber einen elektrischen Kurzschluss mit den Gleisen erzeugen. Warum darf ich das hier so kreieren? Oder funktionieren digitale Anlagen anders (z.B. Wechselstrom oder so)? Jedenfalls funktioniert mit der Steuerung so eine Wendeschleife ohne Probleme. Zum Zweiten habe ich ein Steuerungproblem. Im Bild oben habe ich die zu betrachtende Strecke gelb markiert. Es geht vom Hbf (Mitte) zum Abstellgleis (links oben). Dort hält die Lok, wartet, ändert die Fahrtrichtung und fährt wieder los (Steuerung: Bild Mitte). Wenn die Lok jetzt wieder im Hbf einfährt, funktioniert die Routine (Steuerung: Bild unten) auch bis zum Halten wie gewollt. Wenn damnn die Lok aber wieder losfährt, soll sie diese Richtung beibehalten. Im Normalverkehr, selbst über die Wendeschleifen funktioniert das auch. Aber im Fall mit den Abstellgleisen fährt die Lok vom Hbf wieder in die entgegen gesetzte Richtung, obwohl ich im Hbf keinen Fahrtrichtungswechsel anweise. Im Hbf habe ich eine Steuerung kreiert, wo ich die Fahrtrichtug ermittle, ohne die Lok abzufragen, so dass von jedem beliebig einfahrenden Fahrzeug die Richtung ermittelt wird. Dazu ist jedes Bahrsteigleis mittig zweigeteilt (bezeichnet habe ich sie mit UZ für das Gleis in Fahrtrichtung Uhrzeigersinn und mit EZ für die Gegenrichtung. Die Signale haben hier nur Anzeigecharakter! Es wird alles über das Betreten und Verlassen der beiden Gleise UZ und EZ gesteuert!! Prinzip: Kommt ein Zug in Richtung UZ rein, dann betritt der Zug zu erst EZ und hat UZ noch nicht berührt. Beide haben eine Variable 0 (0=nicht betreten) und 1= betreten). Beim Betreten von EZ wird abgefragt , ob UZ betreten wurde. Das dies bei Fahrrichtung in UZ nicht der Fall sein kann, also die Variable UZ = 0 ist, soll auf EZ auch nicht gestoppt werden. Aber die Variable EZ wird auf 1 gesetzt. Ziel ist ja, dass der Zug auf Höhe von UZ hält, wenn er in diese Richtung fährt. Nun betritt der Zug das Gleis UZ. Wieder erfolgt die Abfrage zum Gegengleis (in dem Fall EZ), hätte die Variable EZ = 0, dann wäre das ein Zug für die Gegenrichtung EZ. Da die Variable EZ aber 1 ist, denn der Zug hatte ja EZ berührt (und gesetzt), soll er nun auch auf Gleis UZ stoppen. Dieses komplette Prinzip zeigt die Routine im unteren Bild. Relefant sind nur die mit den gelben Pfeilen markierten Anweisungen fürs Prinzip. Rest ist nur Weichenschaltung und Ampeldarstelung zur Anzeigezwecken. (Die Variablen für das UZ- und EZ-Gleis werden beim Verlassen nach einigen Sekunden wieder auf 0 gesetzt.) Gerne erläutere ich dieses Prinzip später etwas genauer. Ich verstehe nicht, warum der Zug im Hbf die Zugrichtung ändert, wenn er von einem der Abastellgleise kommt, wo ja die Fahrrichtung bewusst geändert wurde. Der Zug hält aber wie gewollt (in dem Fall) auf dem EZ-Gleis. Wenn der Zug nach der nicht gewollten Richtungänderung vom Hbf wieder in die Kreise und Schleifen fährt, verhält sich der Zug beim wieder Eintreffen im Hbf ganz normal, also ändert nicht mehr die Richtung. Ich verstehe es nicht. Es muss an dem Fahrrichtungwechsel auf dem Abstellgleis liegen.(?) .... Bearbeitet Sonntag um 10:43 Uhr von Swen44
EASY Geschrieben Sonntag um 12:01 Uhr Geschrieben Sonntag um 12:01 Uhr (bearbeitet) Hallo @Swen44, in Fall solcher Anfragen ist es immer besser die Versuchsanlage zu exportieren und die .mbp Datei hier im Forum mit anzuhängen. So kann man Deine Anlage auch laufen lassen und besser nachvollziehen wo der Fehler liegen könnte. Mir ist es z.B. nicht ganz klar, warum sich die letzte Aktion "Fahrtrichtung setzen" im mittleren Bild nur auf einen einzelnen Zug "SBahn 1" bezieht... Gruß EASY Bearbeitet Sonntag um 12:01 Uhr von EASY
Phrontistes Geschrieben Sonntag um 12:10 Uhr Geschrieben Sonntag um 12:10 Uhr vor einer Stunde schrieb Swen44: Oder funktionieren digitale Anlagen anders (z.B. Wechselstrom oder so)? Völlig anders. Alles was Du siehst, wird pixelweise auf dem Bildschirm gemalt. Da fließt kein Strom durch die gemalten Schienen. Du kannst auch eine Betonwand quer auf die Schienen stellen, der Zug wird einfach durchfahren. Spätestens wenn es mal aus dem Berg raucht, weil Du den Dampf nicht abgestellt hast, wirst Du sehen, was ich meine.
Swen44 Geschrieben Sonntag um 15:33 Uhr Autor Geschrieben Sonntag um 15:33 Uhr Das ist schon klar Phrontistes. Ich dachte nur, weil das Programm ansonsten in solchen Dingen sehr durchdacht ist. Also würde so eine Wendeschleife in der Realität ohne Trenngleise und aufwendiger Hardware nicht gehen. Aber egal, es sind eh nur Simulationsbeispiele zum Ausprobieren bestimmter Steuerroutinen. Ich habe die Anlage mal hochgeladen, EASY. Im Moment habe ich nur die eine SBahn 1 aktiv auf der Anlage laufen. Die Anderen stehen nur rum. Es sind auch nur drei Abstellgleise mit der Steuerung versehen (jeweils das 2. oben links und oben rechts und das oberste Linke in der Mitte). Mehr Züge würden sich gerade ins Gehege kommen. Ich habe noch Probleme mit Schlagwörtern. Die sind zwar angelegt und sollten als nächstes Problem ran. Die Knöpfe am Steuerpult sind nur rudimentär belegt. Mit dem Lila-S-Knopf wird der eine Zug gestartet werden; sonst manuell starten mit 80 kmh. SBahn-1.mbp
Swen44 Geschrieben Dienstag um 17:20 Uhr Autor Geschrieben Dienstag um 17:20 Uhr Ich habe das Problem gelöst. (Ich war noch zu viel Anfänger.) Ursache meines Problems war, dass ich nicht die Richtung der Fahrgeschwindigkeit beim Einfahren in den Bahnhof berücksichtigt hatte, sondern nur die physische Fahrrichtung der Lok. Mein Ziel ist ja, dass die einzelnen Bahnhöfe völlig autonom laufen, mit der Vorgabe, 3 Sekunden zu halten, und dann weiter zu fahren, bzw. an den Kopfbahnhöfen, nach dem Halt jeweils die Fahrtrichtung ändern. Dabei sollen die Loks natürlich immer am Kopf des Bahnsteiges halten. Da ich mit Schlagwörtern irgendwie Probleme habe, habe ich die Universalität der Fahrzeuge mit Variablen gelöst, wobei beim Betreten des Gleise der Name des Fahrzeuges ausgelesen und weiter verwendet wird. Ich stelle die Anlage rein, falls wer Interesse hat. Bei Bedarf erkläre ich auch mehr. Da der Gleisplan recht komplex ist, habe ich keinen wirklichen Startknopf. Bitte die Lok auf den großen Runden und eventuell die eine Lock zwischen den Prellblöcken manuell starten (80 kmh). Weichen beliebig manuell stellen. Auf dem Hauptbahnhof wird das Doppelgleis nach Zufall selbst umgestellt. SBahn-1.mbp
Swen44 Geschrieben Mittwoch um 11:20 Uhr Autor Geschrieben Mittwoch um 11:20 Uhr Optimierung: Ich hatte noch Probleme mit der Geschwindigkeit gehabt, da ich dort eine zentrale Variable nutzte. Es kam vor, dass die andere Lok plötzlich die Geschwindigkeit und Richtung der auslösenden Lok angenommen hat. Das ist jetzt beseitigt. Und damit ist auch das Ziel erreicht, dass jede Lok völlig eigenständig agiert und die Bahnhöfe ebenfalls autonom mit Halt bzw. Richtungswechsel als Vorgabe arbeiten. - Prinzip: bei Einfahrt in den Bhf wird der Zugname ermittelt, die Geschwindigkeit und deren Richtung. An Hand des zu erst betretenen Gleises (UZ oder EZ) wird die physische Richtung ermittel, womit der Haltepunkt am Kopf des Bahnsteiges gewährleistet wird. Die aufgenomenen Daten werden in Bhf-interne Variablen zwischengespeichert und wieder am Bhf auf die Loks übernommen. (Die Variablenbezeichner erklären sich durch die Beschriftungen auf der Platte. UZ=Uhrzeigersinn / EZ=entgegen Uhrzeigersinn / Zahlen immer von oben nach unten.) Man kann die Geschwindigkeiten in die Textfelder eingeben und ins Programm übernehmen lassen. Auch neu sind die beiden weißen Knöpfe für Kamera-Fahrten der jeweiligen Loks immer 30 Sekunden lang (ist aber eher eine Spielerei). (Vielleicht geht das alles hier auch einfacher. Aber so würde ich es als ehemaliger Programmierer machen, wenn ich in Hochsprache programmiere, wie es die Ereignissteurung ist.) SBahn-1.mbp
Phrontistes Geschrieben Mittwoch um 11:50 Uhr Geschrieben Mittwoch um 11:50 Uhr vor 19 Minuten schrieb Swen44: ehemaliger Programmierer Das merkt man. Auf die Idee, (1) Geschwindigkeiten von einem Label abzugreifen und in eine (2) Variable der Bodenplatte zu transferieren bisher noch keiner gekommen - jedenfalls sehe ich beides zu ersten mal. Aber ich habe noch einen Tipp für Dich: Es ist meist besser und übersichtlicher, mit (punktförmigen) Kontakten zu arbeiten statt mit Gleisen. Also "betritt/verlässt Kontakt" und nicht "betritt/verlässt Gleis". Und wenn Du dann mal richtige Signale (statt nur der GBS-Bausteine) aufstellst, dann bekommst Du einen (Signal-)Kontakt sowieso gratis dazu.
Swen44 Geschrieben Mittwoch um 12:32 Uhr Autor Geschrieben Mittwoch um 12:32 Uhr Danke fürs Kompliment, Phrontistes. Du hast die nicht optimierte Variante betrachtet. Genau diese zentrale Variable ist ein Problem. Auf der neuen Anlage hat jedes Bahnhofsgleis eine eigene Speed-Variable. Das musste ich alles so kompliziert machen, weil ich ja zwei Wendeschleifen drin habe, wo die Züge ihre Richtung wechseln, obwohl sie elektrisch keine Fahrtrichtung gewechselt haben (z.B. -80 kmh). Dadurch kam es auch alles durcheinander. Signale habe ich bewusst rausgelassen, weil mein Ziel ein autonomes Shuttle-System auf Schienen werden soll. Da gäbe es keine Lokführer und somit Signale hinfällig. Hier auf der Anlage dienen sie mir nur als Anzeige, was gerade wo passiert. Deswegen benutze ich sie bewusst nicht als Steuerfunktion. Dieses Programm hier ist perfekt für so ein Vorhaben. Auf die Kontaktpunkte habe ich bisher verzichtet, weil ich das Programm noch nicht gekauft habe und somit auf die 150 Objekte beschränkt bin. Aber das Programm gefällt mir so gut, dass ich es wohl zeitnah erwerben werde. Der letzte Download SBahn-1.mbp ist auch die aktuelle und optimierte Anlage.
Phrontistes Geschrieben Mittwoch um 13:28 Uhr Geschrieben Mittwoch um 13:28 Uhr vor 45 Minuten schrieb Swen44: autonomes Shuttle-System ... Signale hinfällig. Aber dafür braucht es ja erst recht punktförmige (Rückmelde-)Kontakte. Dafür bietet sich der "klassische" Kontakt (E2A3CA8B-50A7-4247-9C02-4DC0306E1ED6) an oder der "Schaltkontakt" (A75D206F-AACD-4969-B575-458C9C8B8145). Letzterer ist MBS-technisch ein Signal ohne dass es ein sichtbares Signal gibt. Als Programmierer solltest Du Dich unbedingt noch mit dem benutzerdefinierten "Ereignis" befassen mit dem Du Funktionen schreiben kannst für Dinge, die sich wiederholen.
Swen44 Geschrieben Mittwoch um 15:08 Uhr Autor Geschrieben Mittwoch um 15:08 Uhr Okay, danke. Ich muss eh noch viel lernen an dieser Steuerung. Ich bekomme ja auch das mit den Schlagwörtern nicht wirklich in den Griff. Dann hätte ich mir nämlich das Auslesen der Lok-Namen ersparen können und statt dessen die Schlagwörter benutzt. Auch das mit dem Wiederholen scheint gut zu sein, verstehe ich aber noch nicht ganz. - Ich habe Zeit
Goetz Geschrieben Mittwoch um 15:51 Uhr Geschrieben Mittwoch um 15:51 Uhr vor 32 Minuten schrieb Swen44: Ich bekomme ja auch das mit den Schlagwörtern nicht wirklich in den Griff. Hallo Swen, wenn du deine Schwierigkeit näher erläutern könntest, wären wir sicher in der Lage dir zu einem besseren Verständnis zu verhelfen. Grundsätzlich sind Schlagwörter dafür gedacht, Modelle zusammenzufassen. Für die individuelle Unterscheidung eignen sich Variablen besser. Beispiel Du kannst allen Hauptsignalen dasselbe Schlagwort geben. Dann genügt ein Eintrag in der EV um zu definieren: Für alle Signale mit diesem Schlagwort gilt jene Aktionsliste. Du kannst allen Triebwagen eine Variable mit demselben Namen geben und in dieser Variablen individuell speichern, welche Strecke das Fahrzeug fahren soll. Viele Grüße Götz
Phrontistes Geschrieben Mittwoch um 16:11 Uhr Geschrieben Mittwoch um 16:11 Uhr vor 55 Minuten schrieb Swen44: Schlagwörter vor 58 Minuten schrieb Swen44: Wiederholen Einfaches Beispiel: Signale mit dem Schlagwort "Signal fall back by EM" sollen vier Sekunden nach dem Verlassen des Zuges auf '"rot" zurückfallen: Und hier eine Kombi von Schlagwort und "Wiederholung": Alle Fahrzeuge mit dem Schlagwort Auto sollen sich in Bewegung setzen: Autos bleiben bisweilen hängen, mit dieser Anweisung schubse ich sie alle an. Eine "Wiederholung" ist eine Schleife, was Du dem Lua-Code sofort ansiehst: local t = layout:getEntitiesByKeyword("Auto") for i, Iter in ipairs(t) do local v = Iter if v:hasEngine() then v.engine.active = true v.targetSpeed = 40 end end Du kannst Dir jederzeit mit dem "<>" anschauen, wie die Anweisungen aus der graphischen EV in Lua übersetzt werden.
Swen44 Geschrieben Donnerstag um 09:53 Uhr Autor Geschrieben Donnerstag um 09:53 Uhr Danke für eure Ratschläge und die angebotene Hilfe. Ich habe konkret für diese Themen ein neues Thema aufgemacht, da es vielen Neulingen, wie mir gehen wird. So können sie es besser finden. >> ".....zu Schlagwörter und Benutzerdefinierte Anweisungen etc."
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