Jump to content

Ereignis: „Eigenschaft wird gesetzt“ (für Doppeltraktionen)


hj-suhr

Empfohlene Beiträge

Die Möglichkeit durch das Setzen einer Eigenschaft (hier z.B. Zielgeschwindigkeit) ein Ereignis auszulösen hatte ich bis zur V5 kaum vermisst. Die Ansteuerung der Loks erfolgte über Gleise. Zur Ansteuerung einer Doppeltraktion musste nur das Gleis etwas länger sein. Mit V5 kamen die Kontakte und Alles wurde herrlich besser... Nein! Fast Alles.

Der Aufwand zur Doppeltraktionssteuerung wurde extrem groß. Zuvor mussten lediglich beide Loks die gleichen Objektvariablen beinhalten. Die Objektnamen wurden nicht benutzt.

Beim Betreten eines Kontaktes wird die Lok als Auslöser angesprochen, die zweite namentlich aus einer Objektvariablen der ersten. Dann ist z.B. die Soll-Geschwindigkeit an die zweite zu übergeben. Somit sind in der Regel pro Signal drei zusätzliche Aktionen (beim Bremsen, Anhalten und Beschleunigen) erforderlich. Steht der Zug vor einem Signal das nun auf Fahrt geschaltet wird, fehlt das Auslöseereignis und damit der Name der Lok. Der müsste folgerichtig zuvor z.B. an einem Kontakt ausgelesen und als Variable gespeichert werden. Somit ist pro Signal weiterhin eine Variable sowie ein Ereignis bzw. nur eine zusätzliche Aktion erforderlich.

Bei meinen Anlagen liegt die Zahl der Signale oft im dreistelligen Bereich. Gäbe es die Möglichkeit mit dem Setzen einer Eigenschaft Zielgeschwindigkeit ein Ereignis auszulösen, wäre lediglich ein Ereignis mit einer Aktion pro Doppeltraktion für die gesamte Anlage erforderlich.

Mein Wunsch ist daher die Ergänzung der wählbaren Ereignisse: „Eigenschaft wird gesetzt“ idealerweise für alle vier Lok-Eigenschaften

Sollte ich allerdings durch ein größeres Holzstück vor meiner Stirn beeinträchtigt sein und andere Möglichkeiten nicht gesehen haben, bitte ich um Einleitung von Maßnahmen zum Entfernen des Holzes. Auch ein entsprechender Hinweis oder Tip könnte hilfreich sein

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @hj-suhr,

hast Du es schon mal mit gemeinsamen Ereignissen für verschiedene Auslöser versucht. Wenn Du z.B. einen Satz Ereignisse für ein Signal geschtieben hast (Anhalte-Ereignis über Gleiskontakt am Signal, Zwischenspeicher der auslösenden Lok in einer Objektvariable des Signals, Start der Lok bei sich öffnendem Signal über die gespeicherte Objektvariable), kannst Du diese Ereignisdefinitionen dann, wenn Du die entsprechenden Objekte (Lok, Signal, Zwischenvariable) alle immer von einem "Auslöser" ausgehend über Verknüpfungen aufrufst, für alle anderen gleichartig zu behandelnde Signale ebenfalls nutzen, ohne sie jeweils noch einmal neu schreiben zu müssen.

Schaue Dir bitte einmal diese Beispielanlage ("Demo-Anlage Glesibelegung V5", Content-ID = 3041EF03-5EAF-4C01-BD5B-30BBD9BCF741) aus dem Online-Katalog an. Die hier realisierte relativ komplexe Steuerung besteht gerade mal aus insgesamt 10 Ereignisdefinitionen, die von unsgesamt 55 auslösenden Objekten angestoßen werden.

Wenn Du eine 3-stellige Zahl von Signalen steuern möchtest, die alle auf dieselbe Art bearbeitet werden müssen, bietet sich das in dieser Anlage demonstrierte Verfahren für Dich geradezu an.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo BahnLand,

habe deinen Hinweis und die Demo-Anlage genauer betrachtet. Leider habe ich eine Lösung für die Problemstellung nicht gefunden. Das liegt hauptsächlich an der Tatsache, dass bei meiner aktuellen Anlage die Zugsteuerung vor bzw. an den Signalen fast ausnahmslos unterschiedlich ist. Weiterhin gibt es an einem Signal bis zu 6 verschiedene Ereignisse, die allein die Abfahrt des Zuges steuern. Die Steuerung der Signale ist dabei unproblematisch.

Neben einem minimalen Steuerungsaufwand für den Doppeltraktionsbetrieb bei der Erstellung einer neuen Anlage wäre der Aufwand beim nachträglichen Einbringen der gleiche.
Bei der derzeitigen Anlage, die bezüglich Zugsteuerung nahezu fertig ist, ist der Aufwand für ein nachträgliches Einbringen mit den mir z.Zt. bekannten Möglichkeiten so groß, dass ich erstmal darauf verzichten werde.

Dein Ansatz mit den gemeinsamen Ereignissen für verschiedene Auslöser und auch die Demo-Anlage haben mir aber an anderer Stelle weitergeholfen bzw. für neue Ideen gesorgt.

Viele Dank für die Bemühungen und Hinweise!

Viele Grüße
Jürgen

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Jürgen,

Ereignisse für Eigenschaftsänderungen sind aktuell nicht geplant, weil das schnell ausarten kann (auf großen Anlagen werden hunderte Eigenschaften pro Frame geändert). Das Ereignis "Variable wurde gesetzt" ist ein Relikt aus alten Versionen und würde ich heute so nicht mehr verwenden.

vor 14 Stunden schrieb hj-suhr:

Das liegt hauptsächlich an der Tatsache, dass bei meiner aktuellen Anlage die Zugsteuerung vor bzw. an den Signalen fast ausnahmslos unterschiedlich ist.

Bei einer dreistelligen Anzahl von Signalen fällt es mir schwer zu glauben, dass es hier nicht doch eine große Anzahl von Gemeinsamkeiten gibt. Wenn jede Signal/Lok-Kombination neue Sets von Ereignissen benötigt, hast du vermutlich ein falsches Konzept gewählt. Hast du dich schon ausgiebig mit den benutzerdefinierten Ereignissen auseinander gesetzt? Diese ermöglichen das Zusammenlegen gleicher Funktionen. Auch die Verwendung von Listen und Wiederholungen können eine enorme Erleichterung sein.

Beispiel: Ein Zug fährt an ein Signal heran. Beim Auslösen eines Kontakts werden alle Loks des Zugs in einer Liste des Signals gespeichert. Soll der Zug später wieder losfahren, kennst du automatisch alle Loks, und kannst diesen die gleiche Zielgeschwindigkeit zuteilen, egal ob der Zug aus einer oder mehreren Loks besteht. Diese Logik ist sehr generisch und passt gut in ein Set benutzerdefinierter, paramatrisierter Ereignisse, die du überall wiederverwenden kann.

Es kann sein, dass die ein oder andere Logik noch Lua benötigt, aber für Zugriffe auf alle Fahrzeuge eines Zugs z.B. sind bereits für V6 neue Wiederholungen für die grafische EV geplant.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Hallo erstmal!

Ich habe die Tips und Hinweise von Bahnland und Neo zum Anlaß genommen, um alteingefahrene Steuerungsmethoden über den Haufen zu werfen. Den Wunsch, Bestandsanlagen nachträglich für Doppeltraktionen einzurichten, habe ich dabei als erstes beerdigt. Eine bereits begonnene neue Anlage (da noch ohne EV) sollte komplett ohne Steuerung über Gleise eingerichtet werden. Auch die Möglichkeit mehrere Auslöser für ein Ereignis, benutzerdefinierte Ereignisse, Variablenlisten und -Tabellen sollten zum Einsatz kommen. Doch wollte ich hier zu viel im ersten Anlauf?

Die ersten Versuche waren etwas ernüchternd. Also mußte erstmal eine kleine Testanlage her. Hier wurde das Ergebnis dann schon verstörend. Zu dem kleinen Oval gibt es einen Schalter, mit dem zwischen Einzel- und Doppeltraktion umgeschaltet werden kann. Bei Einzeltraktion funktioniert alles einwandfrei. In Doppeltraktion auch ... manchmal. Die Steuerung erscheint als Zufallsgenerator.

Habe dann noch den Versuch in der neuen Anlage gemacht und die Steuerung für den ersten Block erstellt. Nach ausführlichen Testen konnte ich die einwandfreie Funktion feststellen. Da soweit irgend möglich benutzerdefinierte Ereignisse Anwendung fanden, lag die Hauptaufgabe für weitere 3 Blöcke beim Einrichten der Kontakte.

Beim nun folgenden Testschritt schien zunächst alles in Ordnung bis dann auch bereits zuvor getestetes nicht mehr funktionierte und wenn doch, dann scheinbar zufällig.
Beim Öffnen eines Ereignisses in der EV wurde dieses als aktiv angezeigt. Das war auch nach einer viertel Stunde immer noch so. Habe dann eine zusätzliche Aktion (Ansteuern einer Kontrollleuchte) vom Ende ausgehend immer weiter nach vorne eingeschoben. Als erstes wird ein Signal gestellt (funktioniert auch). Die danach eingefügte Kontrolllampe wird angesteuert. Danach folgt eine Zeitverzögerung von 4s. Die danach eingefügte Kontrolllampe wird nicht mehr angesteuert.

Die Situation erinnert mich sehr an die kleine Testanlage. Diese habe ich angehängt.
Die Steuerung beinhaltet 1 Bremskontakt, 1 Haltekontakt, 1 Signal und ein Beschleunigungskontakt.

Vielleicht hat ja jemand Muße, da mal einen Blick hineinzuwerfen, denn manchmal liegt das Problem ja zwischen den Ohren.

Test Traktion.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @hjs-henn,

bitte beachte, dass der Auslöser "Fahrzeug" nur dann ein eindeutiges Ergebnis liefert, wenn im kompletten Zugverband nur ein Fahrzeug "angetrieben" ist (also eine Geschwindigkeit <> 0 besitzt). Haben gleichzeitig mehrere Fahrzeuge im Zugverband eine Geschwindigkeit zugewiesen, ist das Fahrzeug, das im Ausalöser "Fahrzeug" zurückgegeben wird, "zufällig" eines der angetriebenen Fahrzeuge. Daher ist das gleichzeitige Zuweisen einer Geschwindigkeit an mehrere Fahrzeuge (z.B. bei Doppeltraktion) mit Vorsicht zu genießen.

Um beispielsweise zwei Dampfloks in Doppeltraktion mit sichtbarem Dampf fahren zu lassen, empiehlt es sich daher, nur einer Lok die Geschwindigkeit zuzuweisen und mit der anderen Lok eine Partikeleffekt "Rauch" zu verknüpfen, der dann bei der Zuweisung der Geschwindigkeit an die eine Lok mit aktiviert und beim Anhalten entsprechend deaktiviert wird.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo BahnLand,

vielen Dank für deinen Hinweis. Nun wird alles klar und macht Sinn. Auch auf der neuen Anlage gibt es Fortschritte. Die haben allerdings nicht nur mit der Doppeltraktion zu tun, sondern auch mit den Ohren und dem Raum dazwischen.
Das Doppeltraktionsproblem ist auch mit deinem Vorschlag noch nicht ganz gelöst: Es gibt ja auch noch E-Loks im Katalog, dessen Phantographen nicht animiert sind. Hierbei ist dann jedoch zu überlegen ob der Aufwand gerechtfertigt ist. Wenn ich das Projekt weiter verfolge und zu einem guten Ergebnis komme, kann ich mich ja an dieser Stelle wieder melden.

Viele Grüße
Jürgen

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...