Jump to content

benötige ein Ereignis "Zug/Fahrzeug betritt Fahrstraße"


Empfohlene Beiträge

Hallo,

es gibt auf der Anlage Situationen, bei denen z. B. die Aktivierung von Folgefahrstraßen erst dann erfolgen soll, wenn die bereits aktive Fahrstraße auch wirklich erst benutzt wird.
Aktion also erst dann, wenn Fahrstraße aktiv und durch Fahrzeug belegt.

Es gab wohl mal einen entsprechenden Status, dieser läßt sich aber in keiner EV abfragen. Aus der EV heraus wird nur 0 (nicht aktiv, egal ob mit oder ohne Belegung) und 3 (aktiv) erkannt.

Gruß

Andreas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @AndreasWB,

Du betrittst eine Fahrstraße, indem du den Kontakt überfährst der den Beginn der Fahrstraße markiert.
Kannst du das für deine Zwecke nutzen?
Eventuell Betreten(Fahrzeugmitte), um die Fälle auszuschließen, in denen der Zug auf dem Kontakt anhält?

Viele Grüße
Götz

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

momentan habe ich keine Kontakte im Einsatz (mal abgesehen von den automatisch generierten Kontakten der Signale).
Aber mal angenommen, eben diesen zu nutzen: An diesem Startpunkt starten beliebig viele Fahrstraßen (soviele, wie der Bahnhof dahinter Gleise hat). Welcher Fahrstraße ist dieser Start-Kontakt dann zugeordnet?

Das Problem hatte ich anders versucht zu lösen. Aus einer der Einfahrt vorgelagerten Fahrstraße soll im Bahnhof angefragt werden, welche der Bahnhofs-Fahrstraßen frei ist. Normalerweise funktioniert die Abfrage "Fahrstraße ist nicht aktiv und kann aktiviert werden". Einfach alle Bahnhofs-Fahrstraßen in einer Schleife (Liste) abfragen. Erst-besten Treffer aktivieren und gut ist.

Dummerweise fährt aber gerade während dieser Voraus-Abfrage ein vorheriger Zug in den Bahnhof ein. Damit genügt keine der anderen freien Bahnhofs-Fahrstraßen der obigen Bedingung.

Daher muß es doch möglich sein, mit einer EV den Status 1 (blockiert) abfragbar zu haben. Jedoch zeigen die Fahrstraßen immer nur 0 oder 3.

Gruß

Andreas

P.S.
Bei der angehängten Anlage einfach die Fahrstraße A1 aktivieren und schauen was passiert.

FS-Auswahl-Test.mbp

Bearbeitet von AndreasWB
Testanlage angehängt
Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke @Hawkeye,

das ist jedoch sehr umständlich. Man muß Dein Skript jetzt auch noch für alle Fahrstraßen ind er Bahnhofsliste laufen lassen. Den von mir erwähnten Status gibt es ja (ältere Beschreibung irgendwo hier im Forum nach Erscheinen der V7). Warum kann man den per EV nicht abfragen?
Wobei noch zu klären wäre, was "blockiert" wirklich heißt.

Gruß

Andreas

Bearbeitet von AndreasWB
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Stunden schrieb AndreasWB:

Das Problem hatte ich anders versucht zu lösen. Aus einer der Einfahrt vorgelagerten Fahrstraße soll im Bahnhof angefragt werden, welche der Bahnhofs-Fahrstraßen frei ist. Normalerweise funktioniert die Abfrage "Fahrstraße ist nicht aktiv und kann aktiviert werden". Einfach alle Bahnhofs-Fahrstraßen in einer Schleife (Liste) abfragen. Erst-besten Treffer aktivieren und gut ist.

Hallo Andreas, 

genau, das geht doch auch. Bei dir nicht? 

vor 13 Stunden schrieb AndreasWB:

Dummerweise fährt aber gerade während dieser Voraus-Abfrage ein vorheriger Zug in den Bahnhof ein. Damit genügt keine der anderen freien Bahnhofs-Fahrstraßen der obigen Bedingung.

Wenn eine der obigen Fahrstraßen auch sofort aktiviert wurde, kann das nicht passieren.

Beispiel: 

Alle Fahrstraßen vom selben Signal aus in den Bahnhof erhalten das gleiche Schlagwort. 

Screenshot2023-03-21070132.thumb.jpg.91e80194b7cb0120fc11b6d1f75b841f.jpg

 Eine kleine Abfrage in der Schleife reicht.

Screenshot2023-03-21070248.jpg.f082226cb29451ffe07c4c174b1c0b00.jpg

Es kann nur eine Fahrstraße geben, die aktiviert wird. Alle anderen sind dann automatisch "blockiert". Sind diese Fahrstraßen durch andere Fahrstraßen blockiert, dann wird eben auch keine aktiviert. Diese Abfrage wird ständig wiederholt, bis eine Fahrstraße mit dem entsprechenden Schlagwort frei ist. Einfacher geht es nicht.

VG, Hawkeye

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Hawkeye,

es ist ja gerade diese Überschneidung der zwei Vorgänge, die die Komplikation ist.

vor 45 Minuten schrieb Hawkeye:

Wenn eine der obigen Fahrstraßen auch sofort aktiviert wurde, kann das nicht passieren

Während der Vorab-Anfrage fährt gerade ein vorheriger Zug in den Bahnhof ein und blockiert somit die Einfahrtsweiche. Damit kann auch keine andere Fahrstraße aktiviert werden. Damit versagt eben, wie vorher schon mal geschrieben, auch die Abfrage "Fahrstraße ist nicht aktiv und kann aktiviert werden". :(

vor 47 Minuten schrieb Hawkeye:

Es kann nur eine Fahrstraße geben, die aktiviert wird. Alle anderen sind dann automatisch "blockiert". Sind diese Fahrstraßen durch andere Fahrstraßen blockiert, dann wird eben auch keine aktiviert. Diese Abfrage wird ständig wiederholt, bis eine Fahrstraße mit dem entsprechenden Schlagwort frei ist. Einfacher geht es nicht.

Die ständige Wiederholung behindert aber die Performance des Programms. Andere EVs können dann auch nicht laufen. Für dieses kleine Beispiel kein Problem, aber bei größeren Anlagen ... ?

Es ist doch traurig, daß wir hier über diverse workarounds sprechen müssen, nur weil der Zustand "inaktiv, aber belegt" nicht direkt abfragbar ist.

Gruß

Andreas

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 53 Minuten schrieb AndreasWB:

Während der Vorab-Anfrage fährt gerade ein vorheriger Zug in den Bahnhof ein und blockiert somit die Einfahrtsweiche. Damit kann auch keine andere Fahrstraße aktiviert werden.

Hallo Andreas, 

genau das doch der Grundgedanke des Fahrstraßensystems! 
Ist eine Fahrstraße frei, kann sie aktiviert werden. Ist sie nicht frei, wird sie blockiert. Oder erst gar nicht aktiviert.

Dein Gedankenfehler ist, das du diese Prüfung nur einmal zu einem bestimmten Zeitpunkt „Zug betritt Fahrstraße“ durchführen möchtest.

Wenn die Fahrstraße zu genau diesem Ereignis blockiert ist, mußt du die Prüfung also zu einem anderen Zeitpunkt auch wiederholen. 
Siehe oben.

vor 53 Minuten schrieb AndreasWB:

Die ständige Wiederholung behindert aber die Performance des Programms.

Ich denke, das Rechenaufgaben keinen Einfluss auf die Performance haben, auch nicht bei größeren Anlagen. Da macht die Grafikberechnung der vielen Polygone eher Probleme.

VG, Hawkeye

Bearbeitet von Hawkeye
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb AndreasWB:

Es ist doch traurig, daß wir hier über diverse workarounds sprechen müssen

Aber nur, weil du dir mit deiner Taktik selbst ein Bein stellst.

 

vor 2 Stunden schrieb AndreasWB:

Während der Vorab-Anfrage fährt gerade ein vorheriger Zug in den Bahnhof ein und blockiert somit die Einfahrtsweiche.

Warum kann der Zug in diesem Moment überhaupt in den Bahnhof einfahren?
Wenn er eine Fahrstraße hat, dann wird die Vorab-Anfrage für die Gegenrichtung ein negatives Ergebnis haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

vor 6 Minuten schrieb Goetz:

Aber nur, weil du dir mit deiner Taktik selbst ein Bein stellst.

OK, wo ist mein Gedankenfehler?

vor 6 Minuten schrieb Goetz:

Warum kann der Zug in diesem Moment überhaupt in den Bahnhof einfahren?

Wenn er eine Fahrstraße hat, dann wird die Vorab-Anfrage für die Gegenrichtung ein negatives Ergebnis haben.

nicht Gegenrichtung, sondern zwei Züge im "Blockabstand" hintereinander.
Die Abfrage sollte "so rechtzeitig" erfolgen, daß schon vor Einfahrt in den letzten Block vor dem Bahnhof bei freier Einfahrtmöglichkeit das Vorsignal auf "Einfahrt frei ... erwarten" stehen kann.

Wenn ich etwas mehr Zeit habe, zeige ich die Konstellationen gerne bildhaft.

Die "Vorab-Anfrage" soll zumindest eine Reservierung (Vormerkung) einer alternativen nicht besetzten Fahrstraße auslösen. Ich habe aber keine adäquate Möglichkeit (Ereignis) für die Rückmeldung einer alternativen dann auswählbaren Fahrstraße gefunden.

Gruß

Andreas

Bearbeitet von AndreasWB
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Andreas,
 

vor 16 Minuten schrieb AndreasWB:

Die "Vorab-Anfrage" soll zumindest eine Reservierung (Vormerkung) einer alternativen nicht besetzten Fahrstraße auslösen. Ich habe aber keine adäquate Möglichkeit (Ereignis) für die Rückmeldung einer alternativen dann auswählbaren Fahrstraße gefunden.

So wie ich das jetzt verstehe, befahren zwei Züge hintereinander die gleiche Blockstrecke und sollen im Bahnhof auf zwei verschiedenen Gleisen halten. Obwohl der vordere Zug die Blockstrecke noch befährt soll das Vorsignal bzw. das Signal für den hinteren Zug schon auf „Fahrt“ stehen, weil er ja ab der Einfahrweiche eine andere Fahrstrecke nehmen soll. 

vor 25 Minuten schrieb AndreasWB:

sondern zwei Züge im "Blockabstand" hintereinander.
Die Abfrage sollte "so rechtzeitig" erfolgen, daß schon vor Einfahrt in den letzten Block vor dem Bahnhof bei freier Einfahrtmöglichkeit das Vorsignal auf "Einfahrt frei ... erwarten" stehen kann.

Das Vorsignal soll also die letzte Blockstrecke vor der Einfahrt in den Bf bereits freigeben, bevor sie auch tatsächlich frei ist, weil der nachfolgende Zug ja woanders hinfahren soll? Ist es das?

vor 32 Minuten schrieb AndreasWB:

wo ist mein Gedankenfehler?

s.o.
VG, Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 39 Minuten schrieb AndreasWB:

Die Abfrage sollte "so rechtzeitig" erfolgen, daß schon vor Einfahrt in den letzten Block vor dem Bahnhof bei freier Einfahrtmöglichkeit das Vorsignal auf "Einfahrt frei ... erwarten" stehen kann.

Hallo,

ich denke, dass hier, ohne die konkrete Situation zu kennen, der gedankliche Fehler liegt.

  1. Fahren im Blockabstand bedeutet, dass der vor dem Zug liegende Block komplett frei sein muss.
  2. Das Vorsignal kann erst dann auf frei schalten, wenn das nachfolgende, also zum  Vorsignal gehörende Hauptsignal ebenfalls auf frei geschaltet werden kann.
  3. Da das nächste Hauptsignal diesen Zustand wiederum nur dann annehmen kann, wenn der dahinter liegende Block ebenfalls komplett frei ist, kann eine Vorab-Anfrage gar nicht stattfinden. Das Vorsignal zeigt nur die momentane Stellung des Hauptsignals an und nicht das, was demnächst irgendwann passieren wird oder könnte.

Genau dieses Prinzip aus dem Großbetrieb spiegeln die Fahrstraßen im MBS exakt wider.

HG
Brummi

Bearbeitet von Roter Brummer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Roter Brummer,

vor einer Stunde schrieb Roter Brummer:

Genau dieses Prinzip aus dem Großbetrieb spiegeln die Fahrstraßen im MBS exakt wider.

ja, vollkommene Zustimmung.

Wenn allerdings ein oder mehrere freie Blöcke zwischen den Zügen liegen, tritt die von mir genannte mögliche Situation ein. Es können je nach Situation schon mehrere Blöcke im Voraus reserviert und freigegeben werden. So ist es auch beim großen Vorbild der Fall (sofern es nicht mal wieder Stau auf der Strecke gibt).

Mein Problem war die Auswahl des passenden Ereignisses, bei dem automatisch der nächste Block (Fahrstraße) reserviert/aktiviert wird. Da hatte ich ohne weitere zusätzliche Gleiskontakte nur die Möglichkeit, wie sie in der Anlage in der EV "Fahrstrasse aktiviert Folgefahrstrassen" ausgeführt ist.

Vielleicht ist mein "Fehler" ja auch, daß ich versuche "zu weit" im Voraus zu reservieren.
Wenn ich in eine Strecke von A nach B eingefahren bin, kann ja kein anderer Zug mehr ebenfalls einfahren; es kann auch niemand einfach "von der Seite" auf diese Strecke springen. Somit kann ich also die Blöcke soweit im Voraus aktivieren, wie sie von vorausfahrenden Zügen frei sind.
Zusätzlich sollen aber weiter im Voraus mögliche freie Ziele reserviert werden. Und da scheitere ich mit der Abfrage wegen des fehlenden Status. Ich kann nicht unterscheiden, ob eine inaktive Fahrstraße (Block) wirklich frei oder durch ein Fahrzeug belegt ist. Das eben nur durch bestimmte workarounds.

Denn: bin ich erst einmal am Einfahrtsignal des Ziels angekommen, habe ich kein Ereignis mehr, mit dem die Abfrage auf freie Bahnhofsgleise gestartet werden könnte.

Gruß

Andreas

Bearbeitet von AndreasWB
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 15 Minuten schrieb AndreasWB:

Wenn allerdings ein oder mehrere freie Blöcke zwischen den Zügen liegen, tritt die von mir genannte mögliche Situation ein. Es können je nach Situation schon mehrere Blöcke im Voraus reserviert und freigegeben werden.

Hallo Andreas, 

auf einer Blockstrecke kann doch der Zug den Abschnitt, den er gerade verlassen hat, auch wieder freigeben. (aktivieren)
Der nachfolgende Zug bekommt dann den vor ihm liegenden Abschnitt vom vorausfahrenden Zug freigeschaltet.

Das können dann je nach Abstand zwischen den beiden Zügen auch mehrere Streckenabschnitte auf einmal sein.

VG, Hawkeye

Bearbeitet von Hawkeye
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Hawkeye,

ja klar, kann man machen. Im vorliegenden Fall geht es aber um die Einfahrt in den Bahnhof. Die wird aber nur dann feigeschaltet, wenn auch wirklich ein Zug einfahren soll.
So habe ich die EV auch ursprünglich gestaltet, daß sie nur dann freigeschaltet wird, wenn vor der Einfahrt einer wartet (dann war wohl vorher der Bahnhof voll).

Kommt aber ein Zug, wenn noch mehrere Gleise frei sind, soll rechtzeitig vorher die Einfahrt zumindest reserviert werden.

@Roter Brummer,

ich wollte hier keine Grundsatz-Diskussion vom Zaun brechen, sondern nur die Möglichkeit haben, per EV einen Fahrstraßen-Zustand abzufragen, den MBS sowieso schon kennt: Wählt man manuell eine inaktive, aber besetzte Fahrstraße an, kommt das Symbol "blockiert" im Display.

Dies ist für die Lösung verschiedenster Automatisierungs-Aufgabe sehr nützlich.
Sonst muß man eine Reihe von anderen Variablen in Signalen oder Fahrstraßen setzen, diese mit Gleiskontakten und deren EVs mit entsprechenden Informationen versorgen, um sie dann mit workaround-EVs abzufragen.

Gruß

Andreas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Andreas, 

vor 23 Stunden schrieb AndreasWB:

P.S.
Bei der angehängten Anlage einfach die Fahrstraße A1 aktivieren und schauen was passiert.

habe ich gemacht. Der Zug bleibt vor der Einfahrt stehen.  Aber was soll den passieren? Ich vermute er soll auf das freie Gleis im Bahnhof fahren.

vor 1 Stunde schrieb AndreasWB:

Kommt aber ein Zug, wenn noch mehrere Gleise frei sind, soll rechtzeitig vorher die Einfahrt zumindest reserviert werden.

Na gut. Reserviert heißt aber, das die Fahrstraße auch aktiviert werden muss.   

Hier mal ein Vorschlag für deine obige Testanlage. 

Alternative.mbp

Screenshot2023-03-21154859.thumb.jpg.09ffef0fdbc38ba2df9d05cbd7e554a0.jpg

Es sind 3 Varianten für die Schaltung von Fahrstraßen enthalten:

1. Ausfahrt aus dem Bahnhof:    -> Ereignis: "Zug betritt einen GK mit Schlagwort "Bahnhof" 

   Laut deiner Testanlage sollen die Züge nach einem Halt von 20 s wieder losfahren. -> Die Züge aktivieren ihre Fahrstraße also selbst und fahren los wenn der Fahrweg frei ist. 

2. Einfahrt in den Bahnhof:        -> Ereignis: "Fahrstraße wird aktiviert/deaktiviert" 

   Es wird nur dann eine Fahrstraße freigeschaltet, wenn sie auch frei ist.  Die Prüfung findet jedes Mal statt, wenn irgendeine beliebige Fahrstraße aktiviert/ deaktiviert wird. 

3. Strecke (habe noch ein Signal hinzugefügt) -> Ereignis: "Signal schaltet" 

   Die Fahrstraße des gerade befahren Abschnittes schaltet sich selbst wieder frei, wenn der Zug den Abschnitt verlassen hat. 

Ist das in etwa das, was du beabsichtigst? 

VG, Hawkeye

 

Bearbeitet von Hawkeye
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb AndreasWB:

Es können je nach Situation schon mehrere Blöcke im Voraus reserviert und freigegeben werden.

Und das ist das Problem. Wenn deine Fahrstraßenanforderung mehrere Blöcke umfasst, kann diese Fahrstraße erst dann freigegeben werden, wenn alle Blöcke frei sind, da sich ja sonst noch Fahrzeuge auf dem Weg vom Start zum Ziel befinden. Dieser Weg wird komplett geprüft.

vor 4 Stunden schrieb AndreasWB:

So ist es auch beim großen Vorbild der Fall

Nein, das ist absolut nicht der Fall. Es kann immer nur das angefordert werden, was zweifelsfrei unbelegt ist. Eine Vorab-Reservierung ist bei der Bahn nicht möglich.

Was soll denn bitte mit einem Zug passieren, der sich auf deiner Strecke befindet, wenn plötzlich ein vor ihm liegender Blockabschnitt vom nachfolgenden Zug reserviert wird? Eben mal rechts ranfahren, um den Hintermann vorbei zu lassen?:D Ich habe irgendwo mal gelesen, dass Züge auf Schienen fahren.;)

Ich glaube, die komplette dahinter steckende Logik ist dir nicht klar.

Bearbeitet von Roter Brummer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Andreas,

schaue Dir doch bitte einmal die Anlage Bahnhofsmodul-Anlage 20211026 mit der Content-ID 8DE83A85-E844-482C-AD3C-E2C18633EFCA an.

Diese besitzt 3 Bahnhöfe, die alle beidseitig über eingleisige Strecken mit den anderen Bahnhöfen verbunden sind. An Fahrstraßen gibt des die "Einfahrstraßen", die jeweils die Einfahrt von der freien Strecke in ein Bahnhofsgleis freigeben. Diese beginnen am Einfahrsignal und enden am Ausfahrsignal des jeweiligen Bahnhofsgleises. Dann gibt es noch die Ausfahrstraßen, welche jeweils die Ausfahrt in ein bestimmtes Streckengleis freigeben. Diese beginnen am Ausfahrsignal des jeweiligen Bahnhofsgleises und enden am Einfahrsignal der Strecke in den Zielbahnhof.

Für jeden Bahnhof gibt es eine Kontingentverwaltung für alle freien Gleise und alle Gleise, die jeweils für die Einfahrt aus einer Richtung zur Verfügung stehen. Ist der Bahnhof leer, entspricht das zur Verfügung stehende Gesamt-Kontingent der Anzahl den Bahnhofsgleise. Bei den beiden Richtungs-Kontingenten ist deren Größe um 1 reduziert. Hiermit wird verhindert, dass alle Bahnhofsgleise aus einer Richtung reserviert werden und daher, wenn gleichzeitig aus allen Strecken ein Gegenzug einfahren möchte, eine Deadlock-Situation (gegenseitige Blockade) entsteht, die nicht mehr aufgelöst werden kann.

Wenn nun ein Zug in dem Bahnhof, in dem er sich gerade befindet, abfahrbereit (oder durchfahrbereit) ist (dies geschieht entweder automatisch oder kann mit den Ausfahrtasten auf dem Gleisbildstellpult gesteuert werden), wird zunächst quasi zufällig (tatsächlich über eine Liste) nach einem freien Gleis in einem der möglichen Zielbahnhöfe gesucht. Sind in einem Zielbahnhof sowohl das globale als auch das Richtungskontingent aus der Einfahrrichtung beide nicht erschöpft, kann ein Bahnhofsgleis "reserviert" werden, indem beide Kontingente um 1 abgesenkt werden. Damit ist aber nicht dire Auswahl eines bestimmten Gleises im Zielbahnhof verbunden. Dieses wird erst bei der Anforderung der Einfahrt konkret zugeteilt. Diese Reservierung erfolgt noch gänzlich ohne die Anforderung einer Fahrstraße.

Erst wenn die Zuweisung aus dem Kontingent des Zielbahnhofs erfolgreich ist, wird die Ausfahrstraße aus dem Startbahnhof heraus auf die Strecke bis zum Einfahrsignal in den Zielbahnhof angefordert. Die Freischaltung der Fahrstraße erfolgt dann automatisch wenn (oder sobald) die Strecke zum Zielbahnhof frei ist. Erst auf der Fahrt in Richtung Zielbahnhof (wo genau auf der Strecke kann man über einen Gleiskontakt festlegen) findet dann die Anforderung für die Einfahrt in den Zielbahnhof statt. Deren Freigabe hängt hierbei nur noch von der aktuellen Belegung des Weichenfelds vor dem Zielbahnhof ab. Denn da bereits ein Bahnhofsgleis für den ankommenden Zug aus dem Kontingent vorgemerkt ist, muss es auch als nicht belegtes Gleis im Bahnhof vorhanden sein und damit dem ankommenden Zug konkret zugeteilt werden können. Es genügt also  bei der Annäherung des Zuges an das Einfahrsignal, nur noch die Einfahrstraße in das zugewiesene Bahnhofsgleis anzufordern, welche dann automatisch freigeschaltet wird, wenn (oder sobald) das Weichenfeld in der Bahnhofszufahrt frei ist.

Das hier beschriebene Szenario wird im Wesentlichen in den Ereignisdefinitionen Benutzerdefiniert: Ausfahr-Anforderung und Benutzerdefiniert: Einfahr-Anforderung realisiert. Alle anderen Ereignisdefinitionen lösen Detail-Aufgaben - insbesondere im Zusammenhang mit den Gleisbildstellpulten. Alle Ereignisdefinitionen gibt es nur einmal und sind für alle Bahnhöfe gleichermaßen gültig. Die Adressierung der jeweiligen Bahnhöfe und Gleise erfolgt über "verkettete" Objektvariablen (die für die Steuerung relevanten Objekte sind alle über Objektvariablen miteinander verlinkt).

Zum Betrieb der Anlage im Vollautomatik-Modus sind einmalig die 3 roten Buttons in den Gleisbildstellpulten links oben anzuklicken (dies bedeutet, dass der jeweilige Bahnhof in den anderen Bahnhöfen als Zielbahnhof ausgewählt werden kann). Anschließend kann man sich zurücklehnen und dem Treiben zuschauen. Mit den blauen Buttons jeweils rechts oben kann man den Automatik-Modus und andere Einstellungen - jeweils für diesen Bahnhof gültig - ändern. Im Handbetrieb werden die Züge über die grauen (aktiviert weiß leuchtenden) Start-Buttons neben den Signalen gesteuert. Drückt man vor einem Start-Button einen Ziel-Button auf der anderen Seite des Weichenfeldes (vor dem Start-Button), legt man damit fest, in welches Gleis der Zug ein- oder ausfahren soll. Im Handbetrieb kann auch ein Fahrtrichtungswechsel durchgeführt werden.

Das ist sicher mehr, als Du für Deine Ereignissteuerung benötigst, aber vielleicht kannst Du trotzdem einige Ideen davon gebrauchen,

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen,

ergänzend zur hervorragenden Beispielanlage und Beschreibung von @BahnLand hier noch ein wesentlich schmaleres Beispiel von mir.

Die Blocksteuerung wurde einfach aus diesem Mini-Experiment

entnommen und angepasst.

Durch Betätigung des Schalters wird eine Zahl zwischen 1 und 4 ausgewürfelt und in einer Variablen innerhalb des Schalters gespeichert. Jedes Ergebnis spricht eine andere der vier möglichen Ausfahrten an. Die zugehörige Fahrstraße wird aber erst dann aktiviert, wenn auch wirklich ein Zug am entsprechenden Signal steht. Sonst geht die Würfelei von vorne los und das so lange, bis ein passendes Ergebnis gefunden wurde. So etwas kann ein Computer so schnell, dass keine merkbare Wartezeit auftritt.

Sobald die Zugspitze am Blocksignal 2 vorbei ist, wird auf gleiche Weise eine der vier möglichen Einfahrten ausgewürfelt. Das Setzen und Überprüfen auf Freisein der ausgewürfelten Einfahrstraße erfolgt hier über ein benutzerdefiniertes Ereignis, denn dieses kann sich selber erneut auslösen, wenn die Bedingungen nicht erfüllt sind. Das alles darf eben erst dann passieren, wenn garantiert kein anderer Zug mehr vor dem Einfahrsignal unterwegs ist. Eine Voranmeldung findet also nicht statt.

Beispielanlage:

Fahrstraße reservieren.mbp

HG
Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 20.3.2023 um 17:36 schrieb AndreasWB:

Daher muß es doch möglich sein, mit einer EV den Status 1 (blockiert) abfragbar zu haben. Jedoch zeigen die Fahrstraßen immer nur 0 oder 3.

Jetzt sehe ich deine kleine Beispielanlage und den Denkfehler darin. (Sorry für die Wartezeit)

"blockiert" hat bei der Abfrage den Wert 1, wie du richtig schreibst

Aber du prüfst den Zustand in deiner EV nur dann, wenn die FS aktiviert oder aufgelöst wurde. Weil du das als Auslöser benutzt.
Deshalb bekommst du nie den Wert 1 zurück. 

Prüf bitte den Wert, bevor du die FS aktivierst. Nicht als Reaktion auf eine Zustandsänderung. 

Viele Grüße
Götz

Bearbeitet von Goetz
Schreibfehler korrigiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

Am 22.3.2023 um 18:36 schrieb Goetz:

Prüf bitte den Wert, bevor du die FS aktivierst. Nicht als Reaktion auf eine Zustandsänderung.

hm, ja, gerne.
Entspricht denn der Status "blockiert" (1) dem Zustand "nicht aktiv aber belegt"? Denn "blockiert" ist sie ja auch, wenn noch eine "kreuzende" FS aktiv ist.
Gibt es in der EV eine Aktion, die ausgeführt werden kann, wenn sich der Zustand einer Fahrstraße ändert (außer "aktiviert/deaktiviert")?

Klar - man kann aktiv nachfragen. Aber manchmal wäre es auch hilfreich, wenn der bloße Zustandswechsel eine Aktion auslösen könnte. Eigenschaft ändert sich, aber keine Auswahl bezogen auf Fahrstraßen gefunden.

Gruß

Andreas

Bearbeitet von AndreasWB
Schreibfehler
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Hawkeye,

sorry für die späte Antwort.

Am 21.3.2023 um 16:22 schrieb Hawkeye:

3. Strecke (habe noch ein Signal hinzugefügt) -> Ereignis: "Signal schaltet" 

   Die Fahrstraße des gerade befahren Abschnittes schaltet sich selbst wieder frei, wenn der Zug den Abschnitt verlassen hat. 

Ist das in etwa das, was du beabsichtigst?

ich glaube, Deine Lösung 3 nennt man "Selbstblock". So etwas gibt es in der Realität auch.
Aber in meinem Fall soll eine freie Fahrstraße nur dann neu reserviert werden, wenn sich ein Zug annähert, der sie benötigt. So habe ich es zumindest an den meisten Strecken der DB beobachten können. Dieses Anfordern natürlich so rechtzeitig, daß er nicht unnötig (wg. Vr0) abbremsen muß. ;) Also mehr als einen Block-Abstand vorher. Gleiches, wenn möglich, auch für die Einfahrt in den nächsten Bahnhof.

Gruß

Andreas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Andreas,

vor 1 Stunde schrieb AndreasWB:

Entspricht denn der Status "blockiert" (1) dem Zustand "nicht aktiv aber belegt"?

blockiert (1) bedeutet: das Pausensymbol ist an.   blockiert(1).jpg.380abd66633e9fca1ea4debcb25c1c8f.jpg
Es heißt, dass die Fahrstraße schon vorgemerkt ist, aber noch nicht aktiviert werden konnte.

"nicht aktiv, aber belegt" bekommst du über den negativen Bescheid zur Bedingung "kann aktiviert werden"

vor 1 Stunde schrieb AndreasWB:

Gibt es in der EV eine Aktion, die ausgeführt werden kann, wenn sich der Zustand einer Fahrstraße ändert (außer "aktiviert/deaktiviert")?

Nein. Der einzige Zustand einer Fahrstraße, der ein Ereignis bewirkt, ist "aktiv/inaktiv" Andere Zustände gibt es nicht.
Fahrstraßen melden nicht automatisch, dass sie jetzt frei wären. Weil "frei" kein Zustand ist, sondern das Ergebnis einer Überprüfung aller Faktoren.
Diese Faktoren alle permanent zu überwachen, wäre eine massive Verschwendung an Ressourcen.

Sie werden dann geprüft, wenn du eine Prüfung anstößt.

Viele Grüße
Götz

Bearbeitet von Goetz
Schreibfehler korrigiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb AndreasWB:

Gibt es in der EV eine Aktion, die ausgeführt werden kann, wenn sich der Zustand einer Fahrstraße ändert (außer "aktiviert/deaktiviert")?

Diese Frage hat Götz ja eigentlich schon beantwortet. 

vor 9 Minuten schrieb Goetz:

Nein. Der einzige Zustand einer Fahrstraße, der ein Ereignis bewirkt, ist "aktiv/inaktiv" Andere Zustände gibt es nicht.

Fahrstraße werden bei dem Ereignis "Fahrstraße wird aktiviert/deaktiviert" nur dann geprüft, wenn dieses Ereignis auch stattfindet. 

Bei wenigen oder langen Fahrstraßen auf einer Anlage, kann die Ausführung dieses Ereignisse aber sehr lange dauern.    

Zur Prüfung des Zustandes deiner Fahrstraßen, kannst du aber auch eine Timer verwenden. 

Screenshot2023-03-25145231.thumb.jpg.66e549485d780e595810d9cf19b62807.jpg

Und über das Ereignis "Timer läuft ab" deine Fahrstraße überprüfen. 

Screenshot2023-03-25145215.thumb.jpg.81a7bede932b2fb00dfed53ee9ad67a8.jpg

Dann findet die Prüfung häufiger und in deinem selbst gewählten zeitliche Intervall statt. 

VG,

Hawkeye

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