BahnLand Geschrieben 30. August 2019 Geschrieben 30. August 2019 Hall @Neo, ich habe gerade beim Testen ein komisches Phänomen bei der Abarbeitung von durch das gleiche Ereignis ausgelösten Ereignisdefinitionen entdeckt. Hier zunächst die Konfiguration: In der Konfiguration gibt es in einem Bahnhofsgleis 2 Gleiskontakte "BE1_Haltekontakt_vorne" und "BE1_Haltekontakt_hinten", über die "lange" Züge "vorne" am Signal und "kurze" Züge "hinten" mittig am Bahnsteig angehalten werden sollen. Da für beide Gleiskontakte unterschiedliche Ereignis-Auslöser verwendet werden sollen (Gleiskontakt wird beim "Betreten" oder "Passieren der Zugmitte" ausgelöst), werden hierfür 2 Ereignisdefinitionen benötigt, die entsprechend mit zwei Schlagwörtern "Haltekontakt vorne" und "Haltekontakt hinten" zur Ausführung gelangen sollen. Es soll aber auch möglich sein, einmalig eine Initialisierung für die passierenden Lokomotiven zu durchlaufen, die bei beiden Haltekontakt-Varianten ausgelöst werden soll. Hierfür gibt es zusätzlich das Schlagwort "Haltekontakt". Entsprechend ist für die Auslösung des "regelmäßigen" Haltekontakts in der Ereignisdefiniton das Schlagwort "Haltenkontakt vorne "(oder ... hinten) spezifiziert, ... ... während für die Auslösung der Initialisierung das Schlagwort "Haltekontakt" verwendet wird. Verblüffenderweise wird bei dieser Konstellation beim Betreten des "BE1_Haltekontakt_vorne" die Ereignisdefinition "Haltekontakt vorne ..." zeitlich vor der "Initialisierung" abgearbeitet, obwohl die Reihenfolge in der Eereignisverwaltung genau umgekehrt ist. Dadurch kommt es zu einem Fehler, wenn die Initialisierung nicht schon einmal durchlaufen worden war. Wenn ich aber statt dem Schlagwort "Haltekontalt" für die "Initinalisierung" ebenfalls das Schlagwort "Haltekontakt vorne" verwende, Wird die Abarbeitungs-Reihenfolge korrekt eingehaten, wodurch die Ursache für den Fehler bei der ursprünglichen Konfiguration behoben ist. Frage: Ist das in Deinen Augen ein "normales" Verhalten, oder handelt es sich hier um einen Fehler in der Ablaufsteuerung? Ich hätte eigentlich erwartet, dass verschiedene Ereignisdefinitionen, die durch dasselbe Ereignis ausgelöst werden, in jener Reihenfokge abgearbeitet werden, in der sie in der Ereignsverwaltung hinterlegt sind. Viele Grüße BahnLand
Neo Geschrieben 30. August 2019 Geschrieben 30. August 2019 Hallo BahnLand, vor 1 Stunde schrieb BahnLand: Ich hätte eigentlich erwartet, dass verschiedene Ereignisdefinitionen, die durch dasselbe Ereignis ausgelöst werden, in jener Reihenfokge abgearbeitet werden, in der sie in der Ereignsverwaltung hinterlegt sind. das ist korrekt, in deinem Fall liegt das Problem aber woanders. Wird ein Gleiskontakt betreten, dann wird für jedes definierte Schlagwort ein Ereignis ausgelöst. Hat ein Gleiskontakt mehrere Schlagwörter, ist die Reihenfolge aktuell noch nicht spezifiziert, d.h. auch wenn die Schlagwörter bei dir alphabetisch sortiert angezeigt werden, ist nicht garantiert, dass diese Sortierung auch bei der Auslösung von Ereignissen berücksichtigt wird (Schlagwörter werden aus Effizienzgründen intern nicht sortiert gespeichert). Ich kann das gern für das nächste Update berücksichtigen, dass Schlagwörter in alphabetischer Reihenfolge "auslösen". Viele Grüße, Neo
BahnLand Geschrieben 30. August 2019 Autor Geschrieben 30. August 2019 Hallo @Neo, Danke für die schnelle Antwort und die interessante Information. Liege ich mit folgender Deutung richtig? Einem Objekt, welches ein Ereignis auslöst, seien beispielsweise die Schlagwörter "A" und "B" zugewiesen. Für das ausgelöste Ereignis gebe es mehrere Ereignisdefinitionen (Aktionsketten), die entweder auf das Schlagwort "A" oder auf das Schalgwort "B" bezogen angestoßen werden. Sei nun (zufälligerweise) das Schlagwort "B" "höherprior", werden beim AUftreten des Ereignisses zunächst alle auf das Schlagwort "B" bezogenen Ereignisdefinitonen abgearbeitet, und erst anschließend alle auf das Schlagwort "A" bezogenen Ereignisdefinitionen. In meinem oben beschriebenen Problemfall hatte dann offenbar das Schlagwort "Haltekontakt" eine niedrigere Priorität als das Schlagwort "Haltekontakt vorne". Ich hätte da aber gerade die umgekehrte Priorisierung benötigt. Dein Vorschlag einer alphabetischen Priorisierung wäre auf jeden Fall eine Lösung, mit der man das von mir geschilderte Problem in den Griff bekommen könnte. Viele Grüße BahnLand
Neo Geschrieben 30. August 2019 Geschrieben 30. August 2019 Hallo, vor 2 Minuten schrieb BahnLand: Liege ich mit folgender Deutung richtig? ja, genau so ist es, es werden erst alle Ereignisse mit Schlagwort A abgearbeitet und dann die Ereignisse mit Schlagwort B. Viele Grüße, Neo
Timba Geschrieben 31. August 2019 Geschrieben 31. August 2019 Wäre es denn nicht möglich, dass das Programm die Schlagwörter einfach in der vom Nutzer vorgegebenen Reihenfolge abarbeitet (aus Effizienzgründen) statt sie zuvor alphabetisch zu sortieren? Spart doch Rechenzeit. Dadurch hätte der Nutzer auch noch die Möglichkeit, auf die Reihenfolge Einfluss zu nehmen. Das geht zwar auch bei alphabetischer Sortierung, indem man die Schlagwörter sorgfältig entsprechend wählt, man wäre aber freier in der Wahl der Ausdrücke. Keine Ahnung, was technisch leichter umsetzbar ist. So oder so, man kann mit allem leben.
Andy Geschrieben 31. August 2019 Geschrieben 31. August 2019 vor 1 Stunde schrieb Timba: man kann mit allem leben Ja, aber es ist nicht schön, wenn man sich das Detailwissen erkämpfen muß.
Timba Geschrieben 31. August 2019 Geschrieben 31. August 2019 vor 42 Minuten schrieb Andy: Ja, aber es ist nicht schön, wenn man sich das Detailwissen erkämpfen muß. Dem stimme ich vorbehaltlos zu. Ich hätte mich verständlicher ausdrücken sollen. Gemeint war, man kann mit jeder Methode leben, solange man weiß, wie es ist.
Andy Geschrieben 31. August 2019 Geschrieben 31. August 2019 Du hast Dich verständlich genug ausgedrückt. Bei mir ist es gelegentlich etwas verschlüsselt. Die Spitze ging woanders hin
Neo Geschrieben 1. September 2019 Geschrieben 1. September 2019 Hallo Timba, Am 31.8.2019 um 10:11 schrieb Timba: Wäre es denn nicht möglich, dass das Programm die Schlagwörter einfach in der vom Nutzer vorgegebenen Reihenfolge abarbeitet (aus Effizienzgründen) statt sie zuvor alphabetisch zu sortieren? Spart doch Rechenzeit. eine manuelle Sortierung würde ich nicht anbieten wollen, nicht wenn der einzige Zweck die explizite Reihenfolgesteuerung bei der Ereignisauslösung wäre, denn dafür bräuchte man wirklich ein Erklärung im Wiki. Die alphabetische Sortierung benötigt keine nennenswerte Rechenzeit, ich denke, wenn die Ereignisauslösung ebenfalls diese Reihenfolge verwendet, ist das intuitiv genug. Viele Grüße, Neo
Timba Geschrieben 1. September 2019 Geschrieben 1. September 2019 Ja, das leuchtet mir ein. Ist auch kein Ding, denn wie ich schon sagte, wer eine bestimmte Reihenfolge benötigt, wählt seine Schlagwörter halt nach dem Alphabet, z.B. "Affe", "Bulle", "Chamäleon", und schon läuft's wie gewünscht.
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