-
Gesamte Inhalte
7870 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von BahnLand
-
Hallo @EASY, da lässt sich leider bisher nichts machen, da es für die Justierung von Fahrzeugteilen auf "Gleismitte" bisher nur die 2 Definitionen "_WheelSet0" und "_WheelSet1" gibt. Ich meine mich zu erinnern, dass @Neo noch gar nicht lange her eine Erweiterung der Drehgestell-Definitionen für die nächste MBS-Version in Aussicht gestellt hat. Ich könnte mir vorstellen, dass man dann auch bei einer Lok mit 3 Drehgestellen (z.B. SBB Re 6/6) in der Kurve das mittlere relativ zum Lok-Kasten seitlich ausscheren lassen und entsprechend dann auch die mittlere Achse des obigen 3-Achsers als "seitlich verschiebbar" deklarieren kann. Ein anderes Beispiels wären dann auch Vor- und Nachlaufachsen bei Dampfloks oder auch beim "Krokodil", die man dann im Bogen besser auf das Gleis zwingen könnte. Viele Grüße BahnLand
-
Hallo Reinhard, da ich aufgrund der durch Dich übermittelte Nachricht davon ausgehe, dass Reiner momentan nicht ins Forum schauen kann, möchte ich Dich bitten, ihm auszurichten, dass auch ich ihm alles Gute wünsche, und dass er schnell wieder gesund wird! Viele Grüße BahnLand
-
Hallo @geobini, Du verwendest offensichtlich noch die alte V200 von @seehund (im Bild links hinten), welche die Scheinwerfer-Kegel besitzt. Inzwischen (in der aktuellen MBS-Version) gibt es eine neue V200 von @maxwei (im Bild rechts vorne), bei welcher diese nicht mehr auftreten. Du kannst aber auch in den alten MBS-Versionen bei den damit ausgerüsteten Loks die Scheinwerfer-Kegel abschalten, indem Du zuerst unten in der Mitte auf die Uhrzeit doppelt klickst und dann in dem sich öffnenden Konfigurationsfenster das Häkchen bei "Scheinwerfer aktivieren" entfernst. Allerdings wirst Du dann bei den alten Loks mit den Scheinwerfer-Kegeln in den meisten Fällen überhaupt keine leuchtenden Scheinwerfer mehr vorfinden, weil diese eben "Nur" die Kegel als Beleuchtung haben. Dafür gibt es aber im Online-Katalog in der Kategorie "Infrastruktur\Bahnverkehr\Signale\Zugsignale" eine "Lichtscheibe für Loklampen", die man an die betroffenen Loks ankleben" (mit der Lok "verknüpfen") und dann wie Signale schalten kann (weiß an/aus, rot an/aus). Soweit möglich, solltest Du daher - wenn in der von Dir verwendeten Version des Modellbahn-Studios vorhanden - immer die neueren Lokomotiv-Modelle verwenden, die meistens über Animationen explizit schaltbare Scheinwerfer besitzen und daher keine Lichtkegel mehr benötigen. Viele Grüße BahnLand
-
Hallo @geobini, auch von mir ganz großen Applaus für diese beide gelungen Anlagen und die Videos dazu. Da sind Dir wirklich zwei ganz große Würfe gelungen! Ich möchte mir gar nicht ausmalen, wie viel Arbeit in diesen beiden Anlagen steckt. Natürlich bin auch ich dafür, dass Du die Anlagen unbedingt veröffentlichst - auch wenn Du deshalb möglicherweise Texturen weglassen musst. Denn da steckt auch sehr viel Knowhow in der Ereignisverwaltung, wo möglicherweise der eine oder andere auch für seine Anlagen etwas davon gebrauchen kann. Inwieweit Du von den einzelnen Textur-Motiven einige in den Texturen-Katalog hochladen kannst, damit sie bei der Anlagen-Veröffentlichung erhalten bleiben, solltest Du auf jeden Fall mit @Neo klären. Viele Grüße BahnLand
-
Hallo @Neo, das beruhigt mich außerordentlich. Viele Grüße BahnLand
-
Hallo @Neo, Bedeutet dies, dass Objektvariablen, die dem angetriebenen Fahrzeug des Zuges zugeordnet sind (z.B. "Sollgeschwindigkeit"), mit dem Verschwinden des Zuges im Depot verloren gehen und damit nach dem "Herausfahren" des Zuges aus dem Depot nicht mehr vorhanden sind? Das wäre für mich ein Grund, auf die (von mir bisher noch nicht genutzten) Depots zu verzichten, da individuelle Zuggeschwindigkeiten, die z.B. beim Anfahren eines Zuges zugewiesen werden sollen, meines Erachtens Eigenschaften des einzelnen Zuges sind und damit dort hinterlegt werden können (z.B. als Objektvariable im angetriebenen Fahrzeug) und damit auch über die Verweilzeit des Zuges im Depot hinaus erhalten bleiben sollten. Viele Grüße BahnLand
-
Hallo @EASY, probier's mal mit der: (oben de Originalschrift, unten mt dem Attribut "fett"). Die Schrift kannst Du im Internet kostenfrei herunterladen. Viele Grüße BahnLand
-
Problem mit Texturen beim Import von Sketchup Modellen
BahnLand antwortete auf Matzels Thema in Modellbau mit externen Programmen
Hallo @Matzel, die Fehlermeldung besagt, dass die betroffene Textur andere Kantenlängen besitzt als 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 oder 4096. Das sind die besagten Zweierpotenzen, von denen in der Fehlermeldung die Rede ist. Wenn die Kantenlängen der Textur (Höhe und Breite in Pixeln) nicht diesen Zahlen entsprechen, musst Du die Textur in ein Grafik-Programm laden und dort durch "Dehnen und Stauchen" auf diese Kantenlängen bringen. Speichere die so "verformte" Textur anschließend unter demselben Dateinamen (im selben Verzeichnis) ab. Wenn Du alle betroffenen Texturen auf diese Weise angepasst hast und anschließend Dein Modell (die x-Datei) erneut in das Modellbahn-Studio hochlädst, tritt dieser Fehler nicht mehr auf. Wenn das Hochladen erfolgreich war, wird/werden die Textur(en) auf Deinem Modell im Modellbahn-Studio korrekt platziert dargestellt. Dass dies so ist, liegt daran, dass die Texturkoordinaten in der x-Datei auf die Textur bezogene relative Koordinaten sind. Eine "Verzerrung" der Textur in der Höhe und/oder Breite ändert daher nichts an den relativen Koordinatenpositionen in der Textur. Wenn Du dagegen an die Textur eine Fläche hinzufügst oder etwas abschneidest, um auf Zweierpotenzen bei den Kantenlängen zu gelangen, hat sich das Texturbild relativ zur neuen Texturgröße verändert. Die an die neue Texturgröße angepassten Texturkoordinaten zeigen dann auf andere Bereiche des nicht an die neue Größe angepassten Bildmotivs, wodurch dann die Texturen auf Deinem Modell verschoben sind. Wenn Du also Dein Modell nach der Anpassung der Kantenlängen nicht völlig neu texturieren möchtest, darfst Du die Textur nur insgesamt dehnen oder stauchen, aber nicht durch Hinzufügen neuer Teilflächen oder Abschneiden auf die zugelassenen Kantenlängen bringen. Jetzt hat mich @Goetz überholt. Viele Grüße BahnLand -
Hallo @Neo, ich habe bei den Signalen mit integriertem Gleiskontakt ein in meinen Augen etwas ungewöhnliches Verhalten entdeckt, von dem ich nicht weiß, ob das von Dir wirklich so gewollt ist. Hier eine kurze Beschreibung: Signalkontakt-Test.mbp Die hier beigefügte Testanlage besteht aus einem Oval mit einem Hauptsignal. Durch die integrierten Verzögerungs- und Beschleunigungswerte für den Gleiskontakt des Signals ("Signalkontakt") wird der Zug am geschlossenen Signal automatisch angehalten, und beschleunigt auch automatisch auf die eingestellten 60 km/h, wenn das Signal geöffnet wird. Wenn ich nun versuche, mit dem Ereignis "Gleiskontakt wird ausgelöst" den Zug anzuhalten, sobald seine Mitte den Signalkontakt passiert, funktioniert das bei geöffnetem Signal nicht. Der Zug wird unmittelbar, nachdem die Geschwindigkeitszuordnung "0 km/h" zugewiesen, wurde, automatisch wieder auf die beim Signalkontakt hinterlegte Sollgeschwindigkeit beschleunigt. Man kann das allerdings nur beobachten, wenn man den Zug auch setzen des Häkchens bei der Istgeschwindigkeit abrupt stoppt (andernfalls fährt der Zug einfach durch). Wenn ich versuche, den Zug nicht am Signalkontakt, sondern an einem etwas hinter dem Signal angebrachten Gleiskontakt zu stoppen, bekomme ich dasselbe Ergebnis, wenn der Zug beim Auslösen des Gleiskontakt-Ereignisses das Signal noch nicht vollständig passiert hat. Nur wenn das Signal geschlossen ist, wird das Abbremsen sowohl am Signalkontakt als auch am Gleiskontakt tatsächlich ausgeführt. Ich habe nun im obigen Testbeispiel versucht, nach dem Passieren des Signalkontakts durch die Zugmitte zuerst das Signal zu schließen und erst danach den Zug anzuhalten. Dabei habe ich festgestellt, dass ich zwischen dem Schließen des Signals und dem Anhalten des Zuges einige Zeit verstreichen lassen muss, damit der Zug auch tatsächlich angehalten wird. Über das linke Beschriftungsfeld in obiger Anlage lässt sich nun die Zeitspanne eintragen, welche als Wartezeit zwischen dem Schließen des Signals und dem Anhalten des Zuges eingefügt werden soll. Diese wird automatisch übernommen, wenn das Signal durch Drücken des Buttons geöffnet wird. Beim Schließen des Signals über die EV wird der Button automatisch zurückgesetzt. In die Ereignisdefinition für das Schließen des Signals und das Anhalten des Zuges nach Ablauf der Wartezeit habe ich einige Trace-Einträge (benutzerdefinierte Ereignisse) eingefügt, um das Zeitverhalten nachvollziehen zu können. Nachfolgend die Ergebnisse bei unterschiedlichen Wartezeiten: Eine Wartezeit von bis zu 0,94 Sekunden ist zu kurz, um die Bremsung nach dem Schließen des Signals wirksam werden zu lassen. Das Trace-Protokoll zeigt das Schließen des Signals, gefolgt von 0,94 Sekunden Wartezeit. Danach wird die Zuweisung der Zielgeschwindigkeit "0" an die angetriebenen Fahrzeuge des Zugverbands ausgewiesen. Das Ereignisprotokoll der Signalumschaltung folgt erst im Anschluss, woraus geschlossen werden könnte, dass zum Zeitpunkt der Geschwindigkeitszuweisung "0" das Signal tatsächlich noch geöffnet war. Deshalb hat das Modellbahn-Studio die Zielgschwindigkeit "0" für das Anhalten sogleich wieder mit der Sollgeschwindigkeit 60 km/h des geöffneten Signals überschrieben (hier 1 Sekunde später protokolliert). Das zweite Protokoll zeigt das Verhalten bei einer Wartezeit von 0,96 Sekunden. Nun scheint zwar das Signal zum Zeitpunkt der Geschwindigkeitszuweisung bereits als geschlossen erkannt worden zu sein, da man eine Sekunde später die bereits reduzierte Geschwindigkeit des bremsenden Zuges erkennen kann. Trotzdem wird das Protokoll für das Schließen des Signals erst nach der Protokollierung der Geschwindigkeitszuweisung "0" angezeigt, was mich etwas verwundert. Dieses Verhalten zeigt sich bis zu einer Wartezeit von 0,98 Sekunden. Der Grenzbereich zwischen dem Verhalten in den beiden obigen Traces scheint bei 0,95 Sekunden zu liegen. Denn bei diesem Wert für die Wartezeit konnte ich beide Verhaltens-Varianten feststellen. Erhöht man die Wartezeit schließlich auf 0,99 Sekunden, erscheint das Protokoll für das Schließen des Signals zeitlich vor den Trace-Einträgen der Geschwindigkeitszuweisungen - was dem tatsächlichen zeitlichen Ablauf entspricht. Nach dem erfolgreichen Anhalten des Zuges in der im obigen Bild gezeigten Position, bei welcher der Zug das Signal noch nicht vollständig passiert hat, genügt das erneute Öffnen des Signals, um den Zug automatisch auf die am Signalkontakt eingestellte Sollgeschwindigkeit zu beschleunigen, unabhängig davon, ob ein angetriebenes oder ein nicht angetriebenes Fahrzeug (hier der nicht angetriebene Mittelwagen neben dem Signal) auf dem Signalkontakt steht. In letzter Konsequenz bedeutet dies, dass dann, wenn der Zug - aus welchem Grund auch immer - angehalten werden soll, bevor er den letzten Signalkontakt verlassen hat, das Signal vorher geschlossen sein muss. Bleibt das Signal geöffnet, bis der komplette Zug passiert ist, kann er erst im Anschluss daran wieder angehalten werden. Ist dieses Verhalten so gewollt? Viele Grüße BahnLand
-
Hallo, ja, genau diese Verknüpfung zwischen Signal und integriertem Gleiskontakt habe ich gesucht. Vielen Dank für diesen Tipp. Ich wäre nicht auf die Idee gekommen, den Gleiskontakt über die Eigenschaft "Verbindung" des Signals anzusprechen. ... weil nicht jedes Signal mit einem Kontakt ausgestattet ist. Das ist korrekt. Die schweizerischen Signale besitzen beispielsweise keinen integrierten Gleiskontakt. Wenn ich aber zu einem solchen Signal einen (gewöhnlichen) Gleiskontakt hinzufüge und diesen mit dem Signal verbinde (siehe im obigen Bild in der Mitte und rechts unten in den Eigenschaften, entspricht die Signal-Gleiskontakt-Konfiguration ziemlich genau dem Signal mit integriertem Gleiskontakt (im obigen Bild rechts). In der EV finde ich dann auch die Eigenschaft "Verbindung" für das Signal - leider mit dem Effekt, dass hier dann die Verbindung nicht nur "nicht vorhanden" ist, sondern der Zugriff über die"Existenz"-Bedingung bereits zu einem Fehler führt. Man kann dies im Ereignisprotokoll genau nachverfolgen, wenn man in die Ereignissteuerung entsprechende "Trace"-Einträge einstreut: Das obige Protokoll enthält 3 fehlerfreie Umschalt-Protokolle des Hautsignals hinten rechts mit integriertem Gleiskontakt, wobei dieser zunächst frei ist und sich dann zuerst die Lok und danach der Wagen auf dem Gleiskontakt befindet. Das zuletzt protokollierte Umschaltereignis für das schweizerische Signal in Bildmitte mit verbundenem (gewöhnlichem) Gleiskontakt steigt genau bei der Prüfung, ob die Eigenschaft "Verbindung" existiert, mit Fehler aus. @Neo: Hier würde ich mir wünschen, dass man mit der hier auf Fehler gelaufenen "Existenz"-Bedingung (im vorletzten Bild rot eingerahmt) abchecken kann, ob mit dem Signal ein Gleiskontakt verbunden ist, und wenn ja, dass man dann auch auf diesen Gleiskontakt über die Eigenschaft "Verbindung" zugreifen kann. Dann wäre es nämlich möglich, die im obigen Ereignisprotokoll dargestellten Abläufe der im beigefügten Anlagenbeipiel Gleiskontakt-Signal-Verbindung.mbp hinterlegten Ereignisdefinition genau so auf Signale ohne integrierten Gleiskontakt, an die ein separater Gleiskontakt angebunden wurde, anzuwenden. Gleiskontakt-Signal-Verbindung erweitert.mbp Im zweiten Beispiel habe ich beim Signal ohne integrieren Gleiskontakt den hinzugefügten Gleiskontakt als Objektvariable hinterlegt. Wenn ich nun im Umschalt-Ereignis zuerst abfrage, ob diese Variable existiert, und dann die Fahrzeug-Belegungs-Abfrage über diese Objektvariable vornehme, und die bisherige Bearbeitung über die Eigenschaft "Verbindung" nur für Signale ohne diese Objektvariable anwende, kann ich den Fehler aus dem ersten Anwendungsbeispiel vermeiden. Insofern benötige ich diesen Ansatz in Lua nicht mehr. Trotzdem vielen Dank, @Goetz. Insgesamt, @Neo, wäre es trotzdem schön, wenn man beide Signal-Varianten bezüglich des Gleiskontakts - soweit vorhanden - gleichermaßen behandeln könnte. Viele Grüße BahnLand
-
Vorschläge zur Bedienung der Ereignisverwaltung (EV)
BahnLand antwortete auf Hawkeyes Thema in Feature-Wünsche
Hallo zusammen, Ich habe hier einmal ein paar Möglichkeiten zusammengestellt, wie man die Print()-Funktion (oder auch stattdessen "nur" ein benutzerdefiniertes Ereignis) in das Ereignisprotokoll einbauen kann. Hierzu gibt es auch eine kleine Beispiel-Anwendung: Print-Ausgaben im Ereignisprotokoll.mbp Die hier gezeigten Schalter erzeugen jeweils beim Umschalten eine oder mehrere Protokollzeilen im Ereignisprotokoll. Die einfachste Möglichkeit ist die Eingabe der Print()-Anweisung direkt in Lua, die man aber auch in die Aktion "Script ausführen" einschalen kann. Die Ausgabe ist dann die besagte "grüne Zeile". Packt man diesen Lua-Print()-Aufruf in ein benutzerdefiniertes Ereignis (hier die Ereignisdefinition Print 0"), ... ... wird diese zusätzlich protokolliert. Bei beiden Varianten ist jedoch der Text fest einprogrammiert und kann nicht variiert werden. Das benutzerdefinierte Ereignis bietet jedoch die Möglichkeit, Parameter zu spezifizieren, ... ... über die man dann beim Aufruf verschiedene - insbesondere auch automatisch bestimmte - Werte übergeben kann. Beim Protokoll stört aber meiner Ansicht nach die doppelte Ausgabe durch die Auflistung des Aufrufs (in blau) und der tatsächlich erfolgten Print-Ausgabe (in grün). Ich habe deshalb auch eine Variante gebastelt, bei der das benutzerdefinierte Ereignis zwar Parameter für die Eingabe der zu protokollierenden Werte anbietet, aber keinen ausführbaren Inhalt - also insbesondere keine Print-Anweisung - besitzt. Der Aufruf dieses Ereignisses unterscheidet sich (bis auf die Anzahl der Parameter) nicht von dem Beispiel davor. Im Protokoll erscheinen nun aber nur noch die in blau protokollierten Aufrufe, welche dieselbe Information enthalten, die im vorausgehenden Beispiel nochmals in grün ausgegeben wurde. Trotz der fehlenden "hervorhebenden" grünen Farbe ziehe ich persönlich diese Variante vor, weil das Protokoll hierdurch zumindest auf mich übersichtlicher wirkt. Viele Grüße BahnLand -
Hallo @Neo, ich wollte in der Ereignissteuerung als Folge einer Signal-Umschaltng auf die Bedingung "Zug steht auf einem Gleiskontakt" reagieren und dabei als Gleiskontakt den "Auslöser" (den Signalkontakt) angeben. Der wird mir aber in diesem Zusammenhang nicht angeboten: Viele Grüße BahnLand
-
Hallo @Goetz, Danke für die Beispiel-Anlage! Viele Grüße BahnLand
-
Hallo @Goetz, herzlichen Dank! Ich werde mir Deine Beispiele etwas genauer anschauen. Viele Grüße BahnLand
-
Einige Fragen zum Modellbau
BahnLand antwortete auf Klartexters Thema in Modellbau mit externen Programmen
Hallo Walter, Du hattest doch schon einmal ein ähnliches Problem bei den Sitzen. Kann es sein, dass Du hier wieder eine Gruppe gespiegelt hast? Dann löse die Gruppe auf und füge sie anschließend - falls notwendig - wieder zusammen. Dass hatte zumindest bei Deinen Sitzen geholfen. Viele Grüße BahnLand -
Hallo @Goetz, Ja, gerne. Danke! Viele Grüße BahnLand
-
Hallo @Goetz, @Henry und alle anderen, bei mehreren vorhandenen Fahrzeugen "mit Antrieb" im Zugverband lässt sich dieses Problem auch heute schon lösen, indem man den Antrieb nur bei einem Fahrzeug einschaltet und bei allen anderen "angetriebenen" Fahrzeugen ausgeschaltet lässt. Spricht man das angetriebene Fahrzeug bei den Ereignissen Zug betritt/verlässt Gleis/Gleiskontakt immer über den Auslöser "Fahrzeug" an, spielt es keine Rolle, an welcher Stelle sich das angetriebene Fahrzeug im Zugverband befindet. Es wird immer richtig adressiert, auch wenn es sich selbst nicht auf dem betroffenen Gleis der Gleiskontakt befindet. Viele Grüße BahnLand
-
Hallo @Neo, der erste vordefinierte Bahnhofsbaustein mit konfigurierten Fahrstraßen ist zwar noch nicht ganz fertig, aber zumindest schon einmal funktionsfähig. Hierbei sind mir noch folgende Punkte aufgefallen: 1. Modifikation von Fahrstraßen Während die Fahrstraßen vom jeweiligen Einfahrsignal in den Bahnhof hinein vollständig innerhalb des Bahnhofsbausteins liegen, werden die Fahrstraßen aus dem Bahnhof heraus nur teilweise dargestellt, indem sie anstatt am nächsten Signal auf der Strecke bereits kurz hinter der Bahnhofsausfahrt an einem "Platzhalter"-Gleiskontakt enden (grüner Pfeil im obigen Bild). Um nach dem Hinzufügen der Strecke (in dieser Testkonfiguration ist die Einfahrt des "nächsten" Bahnhofs die der Ausfahrt gegenüber liegende Einfahrt des Ausgangsbahnhofs) diese Fahrstraße in ihrer korrekten Länge einzurichten, muss der Anwender entweder den Platzhalter-Gleiskontakt bis zum nächsten Signal hin verschieben (grüner Pfeil, hierdurch wird die Fahrstraße automatisch ungültig und muss durch eine erneute "Übernahme" der Wegpunkte wiederhergestellt werden) oder das Signal am Ende der vorgesehenen Fahrstraße hinzufügen (violetter Pfeil). Beim Hinzufügen bleibt der Gleiskontakt an der ursprünglichen Position (grüner Pfeil) als Wegpunkt bestehen, was offenbar zumindest in dieser Konfiguration nicht schadet. Trotzdem würde ich es für besser erachten, wenn man diesen eigentlich überflüssigen Wegpunkt einzeln löschen könnte. Dies ist momentan nicht möglich, da mit dem vorhandenen "Löschen"-Link immer alle Wegpunkte entfernt werden, sodass anschließend die Fahrstraße komplett neu aufgebaut werden muss. 2. Dynamisches Erzeugen neuer bzw. temporärer Fahrstraßen Dieser Punkt wurde, wenn ich mich recht erinnere, hier im Forum schon einmal angesprochen. Da er aber hier direkt zum Thema passt, möchte ich ihn hier noch einmal ansprechen. Wäre es möglich, die Fahrstraße auch über die Ereignisverwaltung dynamisch erzeugen zu lassen? Hierzu müsste man den Anfangs- und Endpunkt der Fahrstraße spezifizieren und eine geeignete Bezeichnung für die Fahrstraße angeben. Dann müsste man aber genauso die Fahrstraße auch wieder löschen können. 3. Ein- und ausklappbare Fahrstraßen-Listen Je größer ein Bahnhof ist und je mehr Bahnhöfe auf eine Anlage vorhanden sind, desto mehr Fahrstraßen sind auf der Anlage vorhanden. Dies gilt insbesondere dann, wenn die Fahrstraßen Teil eines fertigen Bahnhofsbausteins sind, von dem auf der Anlage mehrere Kopien eingesetzt werden. Die Liste der im Programmfenster angezeigten Fahrstraßen nimmt hierbei sehr schnell überhand, und man ist nur noch mit Betätigen des Schiebereglers beschäftigt, um bestimmte Fahrstraßen zu bearbeiten. Hierbei kommt erschwerend dazu, dass die Fahrstraßen-Übersicht nach dem Bearbeiten einer Fahrstraße immer auf den Anfang zurück gescrollt wird. Hier würde ich es begrüßen, wenn man Fahrstraßen-Gruppen auf- und zuklappen könnte, um schnell zu jenen Fahrstraßen-Gruppen zu gelangen, die man gerade bearbeiten möchte. 4. Umgekehrte Abarbeitung einer Liste Beim Bahnhofsmodul verwende ich Listen, um einerseits bei der Ausfahrt die angeschlossenen Zielbahnhöfe und andererseits bei der Einfahrt die Bahnhofsgleise im Zielbahnhof selbst auf freie Kapazitäten abzufragen und entsprechend für den dort hinfahrenden Zug auszuwählen. Bei der Listen-Verarbeitung wird diese immer von vorne nach hinten abgearbeitet. Das bedeutet, dass bei den oben beschriebenen Listen immer der erste ferne Zielbahnhof in der Liste bzw. das erste Bahnhofsgleis bevorzugt ausgewählt wird. Ich würde hier die Fahrziele lieber etwas "ausgewogener" auswählen, soweit dies von den jeweils aktuell vorliegenden freien Kapazitäten her möglich ist. Deshalb würde ich die Liste auch gerne rückwärts abarbeiten wollen. Wäre es möglich, die Wiederholung für Listen mit einem zusätzlichen "Häkchen" (roter Pfeil) auch in umgekehrter Reihenfolge bearbeiten zu lassen? 5. Zusätzlicher Filter beim Ereignisprotokoll Das Ereignisprotokoll kann man zwar nach bestimmten Ereignis-Typen filtern. Aber es werden dann trotzdem auch solche in den Filter passende Ereignisse protokolliert, bei denen überhaupt keine Ereignisbearbeitung stattfindet. Das bläht meiner Ansicht nach das Ereignisprotokoll zu sehr auf und macht es dadurch unübersichtlich. Wäre es eventuell möglich, den Filter um eine zusätzliche Eigenschaft zu erweitern, bei der aus der bisher möglichen Auswahl auch all jene Ereignisse ausgefiltert werden, für die es keine Ereignisdefinition gibt? Viele Grüße BahnLand
-
Hallo @streit_ross, leider kann ich im Forum nicht erkennen, ob Du diesen Beitrag heute Nacht noch vor oder erst nach 24:00 Uhr geschrieben hast. Deshalb gratuliere ich Dir heute zu Deinem 71. Geburtstag ganz herzlich und wünsche Dir alles Gute. Falls Du den Beitrag erst nach Mitternacht geschrieben haben solltest, musst Du diese Nachricht eben morgen nochmal lesen! Viele Grüße BahnLand
-
Hallo Frank (@Little), ich habe so etwas in V5 (Content-ID BF1E3582-32E9-4074-AE25-5F55DED16C28) an meinem Ablaufberg realisiert. Auch hier musste ich die Wagen am Scheitelpunkt des Ablaufbergs voneinander trennen. Leider funktioniert diese Anlage seit V6 nicht mehr, da einige in V5 verwendete Eigenschaften des Modellbahn-Studios ab V6 nicht mehr vorhanden sind. Und bisher bin ich nicht dazu gekommen, die Anlage entsprechend anzupassen (es sind einfach zu viele Anlagen von mir, die "aufgefrischt" werden müssen). Heute könnte man alle Wagen des kompletten Zugs auf einmal entkuppeln und dann die Wagen hinter dem Scheitelpunkt einfach durch ihre Schwerkraft abrollen lassen. Wenn Du aber, wie in den beiden letzten Beiträgen beschrieben, den Zug immer nur bis zur nächsten Kupplung an eine bestimmte Position vorrücken lassen möchtest, wird dir wohl nichts anderes übrig bleiben, als weiterhin sämtliche Wagen des Zuges zu erfassen und in einer periodischen Schleife abzufragen ob sich der Wagen, der sich (beispielsweise) über einem an der besagten Stelle platzierten Gleiskontakt befindet, geändert hat. Damit könntest Du erreichen, dass der Zug mit den Kupplungen zwischen den Wagen immer (zumindest näherungsweise) an derselben Stelle angehalten wird. Einen Algorithmus hierzu findest Du in der Ereignisdefinition der oben referenzierten V5-Anlaufberg-Anlage. Viele Grüße BahnLand
-
Hallo, und mit "ie" am Ende. So heißt meine Nichte. Viele Grüße BahnLand
-
Hallo @Hawkeye, hast Du schon mal probiert, einfach eine Lok an den Anfang der blockierenden Fahrstraße zu setzen und diese mit der Lok einfach abzufahren? Danach müssten doch alle Weichen entsperrt sein. Oder sehe ich das falsch? Das wäre zwar nicht der "saubere" Weg. Aber es würde zumindest das aktuelle blockierende Problem lösen. Viele Grüße BahnLand
-
Hallo @Modellbahnspass, Du hast vergessen, das Tivoli mit auf die Anlage zu packen. Hätte eigentlich noch drauf gepasst. Viele Grüße BahnLand
-
Korrespondierende Listen und Tabellen in der Ereignisverwaltung
BahnLand antwortete auf BahnLands Thema in Fragen zur Steuerung
Hallo @Atrus, ein "Selbstblock" im engeren Sinne ist es nicht. Denn das von mir beschriebene Verfahren muss auch angewendet werden, wenn die Züge beispielsweise über ein Gleisbildstellpult von Hand gestartet werden. Auch da darf ein Zug aus einem Bahnhof nur dann ausfahren, wenn sichergestellt ist, dass die beiden von mir formulierten Freigleis-Bedingungen beide erfüllt sind. Man kann dies natürlich via "Augenschein" machen. Aber sicherer ist es jedenfalls, wenn man diese Prüfung und Freigabe durch die Ereignissteuerung erledigen lässt. Allerdings kann man hiermit auch eine Vollautomatik realisieren, indem man auch die zusätzlichen Bedingungen, die für die einzelnen Züge gelten sollen (z.B. geplante Durchfahrt ohne Zughalt oder automatischer Start nach Ablauf einer bestimmten Haltezeit) durch die Ereignisverwaltung abarbeiten lässt. Wenn ich den hier geplanten Bahnhofsbaustein fertig habe, plane ich, eine entsprechende Anlage mit mehreren Bahnhöfen (auch Verzweigungsbahnhöfen) zu planen, zwischen welchen vollautomatischer Zugverkehr abläuft. Das wird allerdings noch ein bisschen dauern. Auch meine Gotthard-Anlage soll hiervon profitieren. Viele Grüße BahnLand -
Korrespondierende Listen und Tabellen in der Ereignisverwaltung
BahnLand antwortete auf BahnLands Thema in Fragen zur Steuerung
Hallo @Henry, Das muss man nicht. Das habe ich hier einfach so gemacht, um irgendein Objekt zu bekommen, welches den Einfahr- und Ausfahrbereich auf dieser Seite repräsentiert. Denn ich benötige sowohl für den Bahnhof selbst als auch für die Ein-und Ausfahrbereiche auf beiden Seiten ein Objekt, dem ich Objektvariablen zuordnen kann, welche sich auf den Bahnhof insgesamt oder auf die jeweilige Ein- und Ausfahrt an jedem Bahnhofsende beziehen. Und die Liste aller Zielbahnhöfe, die von der jeweiligen Bahnhofsausfahrt aus erreicht werden, repräsentiert durch die entsprechenden Fahrzieltasten auf dem Gleisbildstellpult, wird durch eine solche Objektvariable referenziert, die genau dieser Bahnhofsausfahrt zugeordnet ist. Im obigen Beispiel habe ich hierzu die Gleise des Weichenfelds gruppiert und diese Gruppe als Objekt für die Objektvariable "Fahrziele" ausgewählt, was vielleicht etwas ungeschickt war. Ich hätte stattdessen auch das Einfahrsignal A (Einfahrt in den fernen Bahnhof A - aber nicht auch Einfahrsignal B) oder auch ein Stellwerk-Modell auf dieser Seite des Bahnhofs als "Besitzer" dieser Objektvariable hernehmen können. Die Fahrstraßen, welche aus jedem Bahnhofsgleis heraus andere sind, sind daher jeweils einem Objekt aus dem zugehörigen Bahnhofsgleis zugeordnet, und da diese Fahrstraßen auch für jede Fahrtrichtung aus dem Bahnhof heraus andere sind, können sie nicht dem Bahnhofsgleis selbst zugeordnet werden. Ich habe daher hier als "Besitzer" der referenzierenden Objektvariable "Fahrstraßen", welche die Liste aller Fahrstraßen aus diesem Bahnhofsgleis in Richtung der jeweiligen Fahrziele enthält, Die Ausfahrtasten hergenommen. Ein weiterer Grund, warum ich Objekte benötige, welche den Bahnhof (im obigen Bild Bahnhof A) und die beiden Ein-/Ausfahrten in Ost- und Westrichtung (Einfahrt Ao und Aw) repräsentieren, sind die Freigleiszähler, mit denen ich sicherstellen möchte, dass ein Zug der von einem anderen Bahnhof aus (hier die Bahnhöfe B-E) in Richtung Bahnhof A ausfahren möchte, in letzterem auch tatsächlich einfahren kann (wenn auch nicht sofort, dass doch zumindest nach einer gewissen Wartezeit am Einfahrsignal). Deshalb wird die Anzahl freier Gleise in einem Objekt "Bahnhof" als Objektvariable abgelegt. Möchte nun ein Zug aus einem der Nachbarbahnhöfe zum Zielbahnhof A in der Mitte des obigen Bildes ausfahren, darf er das nur tun, wenn im Zielbahnhof noch ein freies Gleis vorhanden ist, dies wird dann auch gleich von dem Kontingent freier Gleise im Bahnhof abgezogen, damit es nicht noch einmal "vergeben" werden kann. Die Zuweisung eines konkreten Bahnhofsgleises ist damit nicht verbunden. Welches der freie Bahnhofsgleise tatsächlich zugewiesen wird, wird erst dann entschieden, wenn sich der Zug bereits in Annäherung befindet. Dies reicht aber nicht aus, um gegenseitige Blockaden zu verhindern. Angenommen, im 3-gleisigen Bahnhof A stehen 3 Züge, die alle in Richtung der Bahnhöfe B und C ausfahren wollen, gleichzeitig sollen in den Bahnhöfen B und C jeweils 2 Züge stehen, deren Fahrziel der Bahnhof A ist. Dann ist alles blockiert, weil keiner der Züge sein Bahnhofsgleis frei machen kann, um dieses für einen Zug aus einem Bahnhof "am anderen Ende der Strecke" freigeben zu können. Deshalb wird das Kontingent der Züge, welche aus einer bestimmten Richtung in einen Bahnhof einfahren können, gegenüber der Anzahl der Bahnhofsgleise um 1 reduziert. Wenn nun ein Zug aus den Bahnhöfen B und C zum Bahnhof A hinausfahren möchte, muss neben der oben beschriebenen Prüfung, ob im Bahnhof A selbst überhaupt noch ein Gleis frei ist, auch geprüft werden, ob auch das Kontingent der Züge, die aus dieser Richtung in den Bahnhof einfahren dürfen, noch nicht erschöpft ist. Dann wird auch hier das freie Kontingent um 1 reduziert, und der Zug kann zum Bahnhof A hin aufbrechen. Da dieses Kontingent bei leerem Bahnhof (alle Gleise frei) um 1 niedriger als die Gesamtzahl der freien Gleise im Bahnhof angesetzt wird, ist gewährleistet, dass im Bahnhof nie alle Gleise gleichzeitig von Zügen mit derselben Fahrtrichtung belegt sein können. So kann jeder Zug, der in einem Bahnhof ein Gleis belegt, spätestens dann seinen Bahnhof in Richtung seines nächsten Zielbahnhofs verlassen, wenn dort ein in diwselbe Richtung fahrender Zug sein Gleis freigemacht hat. Diese Richtungs-spezifischen Freigleiszähler müssen ebenfalls als Objektvariablen an einem entsprechenden Objekt hinterlegt sein, welches die jeweilige Einfahrt eines Bahnhofs repräsentiert. In Summe werden also ein Objekt "Bahnhof" für den "globalen" Freigleiszähler sowie für jede Einfahr-Richtung in den Bahnhof ein Objekt "Einfahrt" (also im obigen Bild "Einfahrt Ost (Ao)" und "Einfahrt West (Aw)") für den Freigleiszähler der jeweiligen Einfahrt benötigt, welches dann auch gleichzeitig die Fahrziel-Liste vom jeweiligen Ende des Bahnhofs als Objektvariable aufnehmen kann. Man kann hier entweder eigenständige Objekte "Bahnhof" und "Einfahrt Ost/West" anlegen (z.B. das Bahnhofs-Hauptgebäude und vorgelagerte Stellwerke an beiden Bahnhofs-Enden), oder diese Funktionalität auch an bestimmte andere Objekte übertragen (z.B. Sonderstatus von Bahnhofsgleis 1 (Bahnhof) und Sonderstatus der Einfahrsignale aus den Strecken aus Richtung Bahnhof B und D (Einfahrt Ost (Ao) und Einfahrt West (Aw))). Genau letztere Aufgabe hat die Gruppe "Weichenbereich" in dem Anlagenbeispiel "Korrespondierende Listen 2.mbp" aus diesem Beitrag erfüllt. Viele Grüße BahnLand