Jump to content

Zufall mit Variablen steuern


Recommended Posts

Hallo Modellbauer- und Modellbahnfreunde

@Hallo BahnLand

Habe dieser Hauptordner markiert mit der Bezeichnung        -----> Probleme

Bedingungen sind erfüllt  und  Bedingungen sind NICHT erfüllt    sind Einträge gemacht .

Wollte den Vorgang von Quackster in meinen Projekt verwenden , doch ich schafft es NICHT , verlor den Überblick und Konzentration .

Das Random 1-14      nur verwendet , da das Weichenbereich W15 noch bei gerade offen ist , also wird nicht geschaltet .

Da ich noch nicht weiß wieviele Anschlüsse ich noch ergänzen muss !!! 

Einfach die EV anschauen , hab es ein zweites Mal versucht , auch wieder ohne Erfolg .

Habe die zwei Einträge stehen lassen bei den Weichen ansteuern , damit man sieht wie ich vorging .

 

Bitte hier um Hilfestellung ! Bedanke mich im Voraus für Unterstützung .                     Zufall mit Variablen steuern.mbp

 

Viele Grüße

H:xnS

Screenshot_97.jpg

Link to comment
Share on other sites

Hallo Lutz 

Hallo Modellbauer- und Modellbahnfreunde

 

Bei deiner Übersicht wundere ich mich , wie ich doppelte Einträge erzeugt habe , das ist nicht gewollt .

Hast du diese Auswertung selbst hergestellt , oder gibt es dafür ein Prüfprogramm , denn dann wäre ich sehr interessiert .

So wie Du hier zeigst als Bild findet man schnell meines erachten die Fehler besser .

Jetzt stehe ich da , verstehe nicht ganz , wie der Wert nicht vorhanden sein soll - mmh

oder muss ich noch zusätzlich Einträge machen ?Screenshot_98.thumb.jpg.2238f5ea810f75e8683a95be10e2ff13.jpg

Hier grübel ich noch nach - da blockiert ich 

 

 

Bemerkung :

Wie ich es auf meiner Testanlage schon beschrieben hatte , wollte ich aus der Sicht des missverständlichen Spielautomaten , von den Walzendrehtechnik ( Rotation ) abtreten.

Die Walzendrehtechnik ( Rotation ) kann vertikal oder auch waagerecht verwendet werden .

Da ich es auf eine andere Art versucht habe , was eine drehende Walzen (rotieren) machen würde , so auf diese Gleisverlauf führte .

Hier kommt man auf die gleiche Art auch auf das Ergebnis ohne Missverständnis .

Werde aber trotzdem beide Variante ausführen , die dann zur Auswahl stehen kann / oder könnte - Versuch ist es Wert .

 

Ich Danke Dir für deinen Hinweis !!(y)

 

Viele Grüße 

H:xnS

Link to comment
Share on other sites

Hans,

in der Zeile:

      Bedingung: Variable besitzt den Wert        Name='GLEISZUFALL_1'  Wert='$W01_Einfahrt_1'  Negieren='0' 

soll dieVariable "GLEISZUFALL_1" den Wert der Variable "W01_Einfahrt_1" haben;
die Variable "W01_Einfahrt_1" existiert aber nicht, somit wird die Bedingung nie erfüllt.

Gruß ~ Lutz

Link to comment
Share on other sites

Hallo Lutz

Du hattest mal das Context vorgestellt , das hab ich installiert und auf Deutsch umgestellt .

Wie bekomme ich denn , die EV sichtbar oder besser gesagt lesbar - ich hab nur wirrwarr Screenshot_99.thumb.jpg.bde72a5302e7b876a4286a065b599af2.jpg

Sicher hab ich das wieder mal falsch angefangen !!    :o

Habe gemacht neue Datei und Datei öffnen Namen xxxx  .

 

Könntest Du sonst mir Bilder zeigen wie ich vorgehen müsste - das wär sehr nett .

Gruß

            H:xnS

Hallo Modellbauer- und Modellbahnfreunde

Durch den Hinweis von Lutz das ein Wert nicht exitiert kann die Bedingung NICHT erfolgen , habe ich mir mit Ruhe den Vorgang nochmals angesehen .

Durch eine Änderung habe ich , so denke ich , den Ablauf verstanden - aber , jetzt das ABER . Ich muss anders vorgehen , denn ich muss die jeweilige  AUFFAHRTen ansprechen und dann das freigegebene Gleis umschalten . Da hab ich auch ein Gedankenfehler erkannt . 

Möglich wäre vielleicht auch durch Variablen ein Zufall der Fahrwege umzuschalten , aber auch nur die halt NICHT belegt sind . Dies müsste ich durch eine Abfrage realisieren , daß hab ich noch nicht gemacht - sollte eigentlich auch gehen . 

Ich gehe schon gedanklich Schritt für Schritt den Ablauf nach , nur fehlen mir die Erfahrungen - Fertige Abläufe sind viele gegeben , aber man kommt manchmal nicht an das Ziel .

Werde diese Vorgänge mal durchgehen , ob ich damit vielleicht Erfolg habe - mal sehen .

 

Viele Grüße

:x nS

Link to comment
Share on other sites

Hans,

zuerst brauchts mal den EV-Auswerter (ich glaub, von BahnLand); dann die Komplette EV als XML-Datei abspeichern.
EV-Auswerter starten, XML-Datei einlesen, umwandeln und abspeichern (wird automatisch als txt-Datei mit dem Namen der XML gemacht).

Bei ConTEXT brauchts die von mir erstellte Highlighter-Datei,  von hier  . Da ist auch die Installation beschrieben.
Ich hänge mal den EV-Auswerter dran, ich hoffe BahnLand hat da nichts dagegen ;) .

Dann die txt-Datei auf das ICON von ConTEXT ziehen, der sollte dann automatisch die Hervorhebungen aktivieren- wenn nicht, dann

context1.thumb.jpg.14e03661d764bb9a9e343af4600a005e.jpg

Gruß ~ Lutz

MBS-EV-Auswerter.zip

Link to comment
Share on other sites

Hallo Hans,

jetzt hat's zwar ein bisschen gedauert, dafür kann ich Dir aber ein "lauffähiges" Muster abliefern:

Zufallsauswahl_mod1.mbp

Ich habe in der EV diverse Modifikationen gemacht, von denen ich die wichtigsten hier kurz beschreiben möchte:


01 Eine Lok zu viel

Die Lok BR111 ist "ein Zug zu viel" auf der Anlage. Sie kann beim Ausfahren kein freies Gleis in der Gleisharfe finden, weil alle Gleise durch andere Züge besetzt sind. Ich habe daher die Lok vom Gleis genommen.

5920a60f5c126_01BR111weg.thumb.jpg.120f8474e54e17dc72705eee56ccb8a5.jpg


02 Ausfahrt-Stop-Gleise "umgedreht".

Du hast die "Sperrgleise" ("Ausfahrt-Stop-Gleise") mit der "Weichenspitze" vom Zug weg zeigend eingesetzt. Das ist falsch. Denn dann kann der Zug, wenn für die Lok die Eigenschaft "Weichen freischalten" gesetzt ist, die Weiche "aufschlitzen". Wenn Du das Sperrgleis anders herum einsetzt (die Weiche wird von der Spitze her befahren, bitte die andere Kurven-Ausrichtung beachten!), wird der Zug beim Sperr-Zustand auch dann angehalten, wenn er Weichen freischalten kann.

5920a62368465_02Ausfahrt-Stop-Gleiseumgedreht.thumb.jpg.1e84b54aba1e433a5931e0aa9ecc60e6.jpg

Du hast zwar bei Deinen Loks das "freischalten" unterbunden, weshalb die Loks auch beim "falschen" Einbau der Sperrgleise gestoppt werden. Dafür musst Du aber alle Weichen im Fahrweg jeweils explizit korrekt einstellen, damit der Zug nicht "ungewollt" stehen bleibt. Dies kannst Du Dir sparen, wenn Du das Freischalten der Weichen zulässt.


03 Geschwindigkeitszuweisung als Ist-Geschwindigkeit

Ist es von Dir Absicht, dass die Geschwindigkeitszuweisung an die Züge immer "abrupt" erfolgt? Nimmst Du bei der Geschwindigkeitszuweisung das Häkchen bei "Ist-Geschwindigkeit setzen" weg, werden die Züge "weich" beschleunigt und abgebremst.


04 Verknüpfung der Signal-Duplikate

Wenn Du das Haupt- und das Vorsignal der großen Anzeige-Variante mit dem jeweiligen "Gegenstück in klein" verbindest, brauchst Du die großen Signale in der Ereignisverwaltung nicht mehr zu berücksichtigen. Sie werden dann automatisch mir dem jeweils verbundenen keinen Signal zusammen umgeschaltet.

5920a6352dafa_04Signal-Dublikateverknpft.thumb.jpg.ea8cb265bda086a81e80394e46531396.jpg


05 Schalter- und Hauptsignal-Steuerung

Das "Haupt"-Signal wird über den Startschalter nur noch geöffnet, aber nicht mehr geschlossen. Das Schließen erfolgt durch das Verlassen des Sperrgleises "Halt1". Sobald der Zug nach dem Passieren dieses Signals in ein Harfengleis eingefahren ist, wird das Signal automatisch geöffnet - wenn der Startschalter auf "an" steht. Sonst bleibt das Signal geschlossen, und der Gesamtablauf kommt zum Stillstand. Die Funktionalität der Signalschaltung ist unverändert.

5920a6444fe09_05Schalter-undHauptsignal-Steuerung.thumb.jpg.af52870e95bd33e1915dc86bd5011c21.jpg


06 Zufallszahl-Bestimmung und Auswertung

In der ursprünglichen Anlage war das die Bestimmung der Zufallszahl auslösende Gleis im Tunnel rechts vorne platziert. Weil es gleichzeitig eine Umschaltung der Ausfahr-Weichen auslöste, kam es bei der Ausfahrt des Zuges aus Harfengleis 1 zu einer Zugtrennung zwischen Lok und Wagengruppe.

5920a64d0df25_06aZufallszahl-Beszimmungverlagert.thumb.jpg.d40dd413855c88a962053c2e4b7c600b.jpg

Bei der neuen Lösung wurde die "aktive" Schaltung der Ausfahrweichen entfernt und durch das implizite "Aufschlitzen" durch den Zug ersetzt (Lok-Eigenschaft "Weichen freischalten", siehe auch oben Abschnitt 02). Damit kann es nicht mehr vorkommen, dass eine Ausfahrweiche unter dem passierenden Zug umgeschaltet wird.

Die Zufalls-Variable wird nun beim Passieren des Hautsignals bestimmt. Damit das Setzen der Zufalls-Variable immer ein Ereignis erzeigt, wird vor dem "Random"-Aufruf eine "0" eingetragen. So ist sichergestellt, dass der Eintrag der Zufallszahl immer eine Variablen-Änderung darstellt, die für das Erzeugen des Ereignisses "Variable wird gesetzt" notwendig ist.

5920a65bc29d6_06bZufallssteuerung.thumb.jpg.35f2f059b5ac1330e0a7de8089e6c74e.jpg

Auf dieses Ereignis wird von jedem Ausfahrgleis "gehorcht". Jede Ausfahrgleis-spezifische Ereignisdefinition reagiert genau auf jenen Wert der Zufalls-Variable, welcher der Nummer des Harfengleises entspricht. Da der Zufallswert auch ein Gleis "treffen" kann, das gerade nicht belegt ist, muss die Belegung als Zusatzbedingung einbezogen werden, da nur dann der Start eines Zuges von diesem Gleis aus erfolgreich ist. Andernfalls (wenn die Bedingung nicht erfüllt ist) muss stattdessen die Zufalls-Variable neu gesetzt und damit das zugehörige Ereignis erneut - nun mit großer Wahrscheinlichkeit für ein anderes Harfengleis - ausgelöst werden.

Durch diesen Mechanismus ist gewährleistet, dass immer - wenn auch nicht unbedingt gleich beim ersten Versuch - ein durch einen Zug belegtes Harfengleis den "Zuschlag" für einen Zugstart bekommt.


07 Zielgleis-Auswahl

Die Weichensteuerung für das Zielgleis bei der Einfahrt in die Gleisharfe wie von der Ausfahrt aus diesem Gleis entkoppelt.
Vorteil: Es kennen Züge in die Gleisharfe einfahren, während andere Züge die Gleisharfe verlassen, ohne dass hierdurch die Gefahr besteht, dass ein ausfahrender Zug unter einem einfahrenden Zug eine Weiche umstellt.

Vor der Einfahrt in die Gleisharfe stößt der sich nähernde Zug eine dynamische Fahrweg-Berechnung an, auf die zu jedem Harfengleis, das "frei" ist, eine Reaktion erfolgt. Diese besteht darin, die vollständige Fahrstraße in dieses Harfengleis zu schalten. Sind mehrere Harfengleise frei, erfolgt diese Fahrwegberechnung für jedes Harfengleis. Die in der Ereignisverwaltung hintereinander abgelegten Fahrweg-Definitionen werden auch hintereinander abgearbeitet, sodass sie sich nicht gegenseitig "in die Quere kommen". Die zeitlich letzte Fahrwegberechnung ist schließlich der "Sieger", indem letztendlich der Fahrweg zu dem zu dieser Ereignisdefinition gehörenden Gleis geschaltet ist.

5920a66a01bcb_07Zielgleis-Auswahl.thumb.jpg.9a0bd4ea1151d7bec7106540e53f57f9.jpg

Bei der Einfahrt eines Zuges in ein Harfengleis wird die zugehörige Fahrweg-Definition deaktiviert. Erst wenn der Zug das Harfengleis wieder verlässt, wird die Fahrwegdefinition wieder aktiviert. So ist gewährleistet, dass nur Fahrwegberechnungen für freie Harfengleise durchgeführt werden. Es kann also zumindest bei dieser Anlagen-Konstellation nicht passieren, dass ein einfahrender Zug auf einen in einem Harfengleis stehenden Zug auffährt (mindestens das ehemalige Harfengleis des einfahrenden Zuges ist frei).

Sollte in einer anderen Anlagen-Konfiguration die Möglichkeit bestehen, dass für den einfahrenden Zug kein freies Gleis zur Verfügung steht, muss der Zug so lange angehalten werden, bis ein Harfengleis frei wird (ein entsprechender Algorithmus wurde beispielsweise bei den Abstellbahnhöfen der Gotthard-Anlage realisiert).
Um zu zeigen, dass nicht jeder Zug zwangsweise immer in dasselbe Harfengleis einfahren muss, habe ich in einer Variante der obigen Beispiel-Anlage alle "Anhänger" der betrachteten Züge entfernt. Hierdurch steigt die Wahrscheinlichkeit, dass eine zweite Lok die Gleisharfe bereits verlassen hat, bevor für die erste Lok die Fahrwegberechnung beginnt. Dann kann es passieren, dass die einfahrende Lok ein anderes Gleis ansteuert, als das, aus welchem sie ursprünglich ausgefahren ist. Also auch hier nutzt der Algorithmus verschiedene Auswahl-Möglichkeiten, wenn es die Anzahl der freien Gleise in der Harfe zulässt.

Zufallsauswahl_mod2.mbp

Nun hoffe ich, dass ich das Vorgehen bei der "zufälligen" Gleisauswahl verständlich rüberbringen konnte.


Viele Grüße
BahnLand

 

 

 

 

Link to comment
Share on other sites

Hallo Modellbauer- und Modellbahnfreunde  :D

                                          # Hallo BahnLand  :D

Zu Punkt 01 :

Ja richtig , durch mein nicht weiter kommen habe ich diese eingesetzt um die Schaltpunkte zu prüfen - die ich dann vergessen habe vom Gleis zu nehmen / Danke !

Zu Punkt 02 :

Dieser Hinweis ist sehr WICHTIG , das hab ich viel später erkannt , bei einen anderen TEST . Hierbei versuchte ich deine Art der SPERR-  bzw STOP-Weiche Art angenommen , sie fand ich sehr interessant und geeignet für diesen Zweck . Ich hab schon vieles mit Gleisen ausprobiert , auf diese Möglichkeit wär ich NIE darauf gekommen . Diese Art werde ich auch besonders Betonen , da es eine sehr expliziert Eigenschaft vorlegt - Denke das man das auch EXPLIZIT nennen kann - Sonst bitte mich hier korrigieren .  Wenn Du es beim gebogende Gleis ( Weiche ) bemerkt hast , auch bei gerade Gleis ( Weiche ) eingesetzt habe , vielleicht jetzt nicht hier aber bei anderen Anwendungen . 

Auch hier bedanke ich mich bei Dir , gerade die Richtung ist hier sehr WICHTIG !!   (y)(y)

 

Zu Punkt 03 : Teils gewollt im hinteren Bereich , aber im vorderen Bereich nicht . ( Im Sinne des Spielautomaten ist der hintere Bereich nicht sichtbar , der durch die Bergkulisse mit Tunneln verdeckt sei ) . Aber das könnte man auch besser lassen , ohne das harte an- und abfahren der Stelle .

 

Zu Punkt 04 :

Das hab ich nicht mehr gewusst , somit hatte ich dann diese Lösung angewandt . So kam das mit dem Duplikat , das zum Testen als Kontrollzweck dient , so musste ich nicht immer heran Zoomen . Wird auch wieder entfernt , somit auch das in der EV Eingeträge - mit dem Duplikat . 

 

Zu punkt 05:

Hier habe ich vieles verändert , das ich das nicht mehr bemerkt habe , das einiges aufgehoben war .  :(

 

Zu Punkt 06 und 07

Habe hier was neues gelernt - Danke !   :x(y)

Hier war für mich das größte Problem es zu lösen , meine Erklärung war auch sehr mager . Du hast sehr gut erkannt , was mein Ziel war und was ich erreichen wollte .

 

Unter dem Strich     Ganz recht herzlichen Dank für die Zeit , einige Dinge brauchen Zeit , die man sich nehmen muss zumal ich viel wirrwarr erbracht hatte .

Es ist nicht schlimm , wenn ich etwas warten muss - habe ja auch andere Dinge ausgeführt , so bemerkt man NICHT das WARTEN .

Ich bin immer dankbar , wenn jemand sich die Zeit nimmt um zu Helfen .

 

Allen die mir hier halfen Danke ich auch herzlich .  (y)

Viele Grüße

H:xnS 

 

Link to comment
Share on other sites

  • 2 weeks later...

Hallo Lutz

Hallo Modellbauer- und Modellbahnfreunde

Leider hab ich noch nicht bestätigt an Lutz mit dem Programm Auswerter und dem ConText .(y)(y)(y)

Was ich hiermit jetzt machen will an Lutz - Herzlichen Dank !!

Habe leider nicht diesen Hinweis context1.thumb.jpg.14e03661d764bb9a9e343af4600a005e.jpg

bei auswählen  " txt 3DStudio " gefunden , hab ich da was falsch gemacht oder muss ich noch was ergänzen .

Ich bin IMMER dankbar für Eure Hilfe , nun muss ich doch mal Fragen , warum es nicht bei mir so ist .

Die Farblichen Wortmarkierungen kommen die automatisch oder muss man sie selbst ausführen .

Dank deiner Info mit dem Auswerter von BahnLand ist es eine sehr erleichterte Arbeit - Danke an Euch beiden !!

 

Viele Grüße 

H:xnS

Link to comment
Share on other sites

Hallo Kutscher,

... meinst Du das Programm "ConText" mit deutscher Oberfläche?
ConText01.jpg.977ede3c160272d90a2bae0da2c935f7.jpg

ConText02.jpg.a1644a2b6aafa7824d729c898cebdda8.jpg

... dann erscheint noch eine Meldung auf englisch, daß beim nächsten Programmstart die Änderung der Sprache ausgeführt wird...

Gruß
EASY

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...