Jump to content

Empfohlene Beiträge

Geschrieben

Hallo,

habe ein Problem mit der Blocksteuerung. Die Steuergleise sind: Bremsgleis-Stoppgleis-Beschleunigungsgleis. Dazu ein Signal und Vorsignal. Zeigt das Signal grün, fährt der Zug mit unveränderliche Geschwindigkeit über die 3 Gleise. Richtig. Zeigt das Signal rot, erfolgt die Bremsung. Der Zug hält. Springt das Signal um, fährt der Zug weiter und beschleunigt. Alles wie es sein soll. Jetzt das Problem. Zug hat Bremsgleis betreten. Signal steht auf rot. Bremsung beginnt. Zug hat Stoppgleis noch nicht erreicht und das Signal geht auf grün. Zug beendet Vorgabe Bremsgleis und fährt mit dieser Geschwindigkeit weiter. Die Vorgabe am Beschleunigungsgleis wird ignoriert. Wo liegt die Ursache und wie kann ich sie beheben? Hier die Blocksteuerung Beschleunigung:

Zug betritt Gleis. Bedingungen: Variable besitzt den Wert <100

Und ich glaube, das hier der Fehler liegt. Der Zug ist langsamer als 100, aber wie hoch ist der wahre Wert der Variablen? Er wird in der Ereignisverwaltung mit 400 angezeigt, obwohl durch das Abbremsen der Wert kleiner sein muss. Oder?

Bin gespannt auf die Lösung.

Udo

Geschrieben

Hallo Udo,

warum hast Du bei "Zug betritt Gleis" für das Beschleunigungsgleis die Zusatzbedingung "Wert < 100" mit drin?
Kannst Du auf diese nicht verzichten?
Dann hättest Du vermutlich das Problem nicht mehr.

Viele Grüße
BahnLand

Geschrieben

Hallo Udo,

Zitat

Zug betritt Gleis. Bedingungen: Variable besitzt den Wert <100

... welche Variable? Soll das die Lokgeschwindigkeit (._CurrentSpeed) darstellen?

Zitat

Der Zug ist langsamer als 100, aber wie hoch ist der wahre Wert der Variablen? Er wird in der Ereignisverwaltung mit 400 angezeigt, obwohl durch das Abbremsen der Wert kleiner sein muss.

... und was ist das für eine Variable, die in der EV mit "400" angezeigt wird?... ._CurrentSpeed wird in der EV nicht angezeigt....

Gruß
EASY

Geschrieben

Hallo Udo,

ich vermute mal, dass die Geschwindigkeit, auf die beschleunigt werden soll, wenn sie "<100" ist, mit der Einfahrgeschwindigkeit vor dem Abbremsen übereinstimmt. Wenn das Signal bei der Einfahrt "grün" zeigt, also der Zug nicht abgebremst wird, wäre die "Beschleunigung" an dieser Stelle eine "leere Anweisung", weil der Zug die Geschwindigkeit ja schon besitzt. Dass sie dann ohne die Zusatzbedingung "<100" trotzdem ausgeführt wird, ist in diesem Fall zwar überflüssig, schadet aber auch nicht. Die Ereignisverwaltung muss diese Anweisung so oder so abarbeiten, wenn der Zug das Beschleunigungsgleis "betritt". Denn die Entscheidung, ob nun "beschleunigt" werden soll oder nicht, kann ja erst getroffen werden, nachdem die Zusatzbedingung ausgewertet ist. Der zeitliche "Zusatzaufwand", der für die "überflüssige " Beschleunigung zu erbringen ist, wenn der Zug diese Geschwindigkeit schon besitzt, wird durch die Einsparung der Abfrage und Auswertung nach der Eintrittsgeschwindigkeit in das Beschleunigungsgleis mehr als kompensiert, das letztere "immer" eingespart werden kann, während die Beschleunigung "nicht immer" überflüssig ist.

Viele Grüße
BahnLand 

P.S.: Warum wird der Zug ohne die "<100"-Abfrage auch bei geöffnetem Signal abgebremst?

Geschrieben

Hallo Udo,

vielleicht hilft Dir dieses vorgeschlagene Szenario weiter:

  1. Zug betritt Bremsgleis:
    a) Hinterlege Zuggeschwindigkeit in Variable (unabhängig von der Signalstellung)
    b) Falls Signal rot: Bremse Zug auf "langsam" ab
  2. Zug betritt Haltegleis:
    Falls Signal rot: Halte Zug an (Zug befindet sich nun auf Haltegleis)
  3. Signal wird grün:
    Zug auf Haltegleis vorerst einmal auf langsame Geschwindigkeit (oder gleich auf Endgeschwindigkeit aus Variable) beschleunigen.
    Wenn der Zug (die Lok) sich nicht auf dem Haltegleis befindet, ist diese Anweisung unwirksam. Dann steht der Zug aber auch nicht .
  4. Zug betritt Beschleunigungsgleis:
    Zug auf Endgeschwindigkeit aus Variable beschleunigen (unabhängig von seiner Eintrittsgeschwindigkeit)

So sollte es eigentlich funktionieren!

Viele Grüße
BahnLand

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