Jump to content

Strassen-Abzweigung


 Share

Recommended Posts

Hallo, kutscher kommt nicht weiter.

Lage: Soll Bus 02 soll an HS 30 an der Abzweigung 01 geradeaus -Weichenstellung 0 fahren.

                 Bus 02a                30                                       rechts                                    1

                 Bus 02                  29                                       links                                       2  

                 Bus 01                  29                                       rechts                                    1     usw.

Aber die Weiche macht das nicht. Ich weiß nicht weiter.

Gruß aus Bux

kutscher

kutscher 03.mbp

Link to comment
Share on other sites

Hallo Kutscher,

ich habe mal kurz über Deine Anlage drübergeschaut und dabei folgende "Ungereimtheiten" entdeckt:

  1. Der Bus mit der Beschriftung "2 Bus" heißt in Wirklichkeit "02a Bus", genauso wie der Bus mit der Beschriftung "2a". Wenn Du also in der EV den Bus "02a Bus" adressierst, weißt Du nicht, welcher der beiden Busse tatsächlich angesprochen wird. Benenne daher bitte den Bus mit der Dachbeschriftung  "2 Bus" in "02 Bus" (ohna "a") um.
     
  2. Durch die Umbenennung des Busses "02a Bus" mit der Beschriftung "2 Bus" in "02 Bus" werden in den beiden Ereignisdefinitionen "HS30-2" und "HS30-2a" (beides Ereignisse "Ampel schaltet auf Grün") die Referenzen auf den Bus ebenfalls verändert (in beiden Ereignisdefinitionen wird nämlich der Bus mit der Dachbeschriftung "2 Bus" adressiert).

    Für die Definition "HS30-2" ist diese Änderung korrekt, da ja gerade Bus 2 an der Verzweigung geradeaus fahren soll. Für die Definition "HS30-2a" ist diese durch Punkt 1 herbeigeführte Änderung falsch. Sie muss daher wieder zurückgesetzt werden, indem in der Ereignisdefinition "HS30-2a" in der Aktion "Fahrzeuggeschwindigkeit setzen" der nun referenzierte Bus "02 Bus" wieder in "02a Bus" geändert wird (dieser soll ja an der Verzweigung rechts abbiegen).
     
  3. Die Ereignisdefinitionen "HS30-2" und "HS30-2a" werden beide durch das Umschalten der "Ampel 01-2" auf Grün ausgelöst. Die in beiden Definitionen vorhandene Bedingung "Ampel 01-2 steht auf Grün" ist jeweils sinnlos, weil die Ereignisse ja durch die Umschaltung auf Grün ausgelöst werden, und daher die Bedingung "Diese Ampel steht auf Grün" immer erfüllt ist.

    Da sich die beiden Ereignisse nicht unterscheiden, werden immer die Aktionen beider Ereignisdefinitionen ausgeführt. Da zuerst die Aktionen der Definition "HS30-2" (also insbesondere die Schaltung der Verzweigung auf "Geradeaus") und unmittelbar danach die Aktionen der Definition "HS30-2" (also insbesondere die Schaltung der Verzweigung auf "Abbiegen nach rechts") ausgeführt werden, biegt auch der Bus 2, der eigentlich geradeaus fahren sollte, gezwungenermaßen nach rechts ab (das zweite Aktionenpaket "überschreibt" das erste Aktionenpaket).

    Man kann das Problem dadurch lösen, dass man in beiden Ereignisdefinitionen die Bedingung "Fahrzeug steht auf Gleis/Straße" hinzufügt, dort jeweils das Straßenstück "HS 30" adressiert, und als Fahrzeug einmal den Bus "02 Bus" (in Definition "HS30-2") und bei der anderen Definition ("HS30-2a") den Bus "02a Bus" einträgt. Hierdurch wird sichergestellt, dass von den beiden Ereignisdefinitionen, die beim Umschalten der "Ampel 01-2" ausgelöst werden, immer nur jene Aktionen ausgeführt werden, die zum jeweiligen Bus "passen". Dann fährt auch Bus "02 Bus" an dieser Verzweigung geradeaus.

    Die Aktion "Ampel 01-2 auf Grün stellen" in Definition "HS30-2a" ist übrigens ebenfalls überflüssig, das die Ampel ja bereits diesen Zustand besitzt (die Umschaltung auf diesen Zustand war schließlich der Auslöser für diese Ereignisdefinition).
     
  4. Bitte beachte, dass dann, wenn die "Ampel 01-2" bereits den Zustand "Grün" besitzt, wenn der Bus an Straßenstück "HS 30" eintrifft, und der Bus deshalb nicht angehalten wird, sondern durchfährt, die Umschaltung der Fahrtrichtung an der Verzweigung nicht durchgeführt wird. Denn dann wird das Ereignis "Ampel 01-2 schaltet auf Grün" ja nicht ausgelöst.

    Es wäre daher besser, die Umschaltung des Fahrwegs an der Verzweigung nicht an die Umschaltung der Ampel auf "Grün", sondern beispielsweise an das Ereignis "Fahrzeug betritt Gleis/Straße" zu knüpfen. Verwende dazu ein zusätzliches kurzes (einspuriges) Straßenstück, das Du zwischen das Straßenstück "HS 30" und die "Abzweigung 1" einfügst. Du kannst es ja beispielsweise "HS 30F" (F = Fahrwegschaltung) nennen.

    Damit wäre einerseits sichergestellt, dass die Fahrwegschaltung erst dann erfolgt, wenn der Bus die grüne Ampel passiert hat. Und die Umschaltung des Fahrwegs würde andererseits immer erfolgen  - unabhängig davon, ob die Ampel für den Bus explizit auf grün geschaltet wurde oder bereits grün war. 

    Beachte bitte auch, dass generell die Aktion zum Herstellen eines bestimmten Zustands eines Objekts nicht zu einer Ereignisauslösung führt, wenn der Zustand schon vorher eingestellt war. Auf die Ampel bezogen bedeutet dies, dass dann wenn die Ampel bereits grün ist, eine explizit angestoßene Umschaltung der Ampel auf grün nicht bewirkt, da ja dieser Zustand bereits existiert. Und da nichts bewirkt wird, wird auch das Eregnis "Ampel schaltet auf grün" nicht ausgelöst (sie wurde ja tatsächlich nicht umgeschaltet).
     
  5. Dann ist mir noch aufgefallen, dass Du ziemlich viele "Leichen" herumliegen hast (sprich Ereignisdefinitionen, denen keine Objekte zugeordnet sind, z.B. beide Ereignisdefinitionen "HS 03-2a"). Da solltest Du ein wenig "aufräumen". Denn solche Definitionen blähen die Ereignissteuerung auf, ohne eine Aufgabe zu erfüllen, und machen das Ganze nur unübersichtlich.

So - nun hoffe ich, dass Du mit diesen Zeilen Deine Anlage wunschgemäß zum Laufen bekommst.

Viele Grüße
BahnLand

 

Edited by BahnLand
Link to comment
Share on other sites

Hallo Kutscher,

noch eine Ergänzung zu Punkt 4 des obigen Beitrags:

Du kannst auf das zusätzliche Straßenstück verzichten, wenn Du stattdessen neben den vorhandenen (korrigierten) Ereignisdefinition(en) "HS30-2" und "HS30-2a" noch zwei Ereignisdefinitionen "Fahrzeug betritt Gleis/Straße" mit der Bedingung "Ampel ist nicht rot" für die beiden Busse "02 Bus" und "02a Bus" hinzufügst. Trage dort die gleichen Fahrweg-Umschalt-Aktionen wie bei den Definitionen "HS30-2" und "HS30-2a" ein, und Du hast die Umschalt-Entscheidung sowohl für die auf Grün umschaltende als auch für die bereits grün anzeigende Ampel.

Viele Grüße
BahnLand

Link to comment
Share on other sites

Hallo Kutscher,

Du kannst jede Bedingung unterhalb der Bedingeungs-Eingaben mit einem Kreuzchen negieren.
Damit kannst Du beispielsweise Ampel auf "nicht rot" abfragen, indem Du die Bedingung "Ampel ist rot" formulierst und dann das "Negieren-Kreuzchen" setzt.

Viele Grüße
BahnLand

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...