Jump to content

Fahrstraße ergänzt mit eigener Kondition


Empfohlene Beiträge

Hallo,

kann ich in eine Fahrstraße eine eigene Kondition (z.bsp: "Bahnübergang ist geschlossen") so einbauen,

daß die Fahrstraße erst freigegeben wird wenn diese Kondition erfüllt ist ?

Grüße vom Liftboy

Bearbeitet von liftboy
deutsch !
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 56 Minuten schrieb liftboy:

kann ich in eine Fahrstraße eine eigene Kondition (z.bsp: "Bahnübergang ist geschlossen") so einbauen, daß die Fahrstraße erst freigegeben wird wenn diese Kondition erfüllt ist ?

Die Kondition musst du dort einbauen, wo du die Fahrstraße aktivierst.
Nicht in die Fahrstraße selbst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vielleicht brauchbar: "Fahrstrasse soll erst freigegeben werden , wenn die Bahnschranke geschlossen ist"

Idee: Fahrstrasse wird nicht freigegeben wenn ein Fahrzeug auf ihr steht.

Implementierung: ich stelle ein Fahrzeug auf das [Gleis] und lifte es, wenn die Schranke geschlossen ist - damit wird die Fahrstrasse freigegeben

Ein Kontakt öffnet die Schranke, die wiederum das Fahrzeug absenkt

(das Fahrzeug ist natürlich unsichtbar)

Grüße vom Liftboy

_open.jpg

_close.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @streit_ross,

Danke für deine Antwort, aber :

Ein Fhrzg auf der Fahrstrasse ist die einzige, von mir beeinflussbare Methode, die Freigabe einer schon angeforderten Fahrstrasse zu verzögern. Timer sind nach meiner  Auffassung nicht geeignet Konditionen abzusichern.

Außerdem ist das Liften, bzw Senken nur eine Lua Anweisung

Grüße vom Liftboy

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 38 Minuten schrieb liftboy:

Timer sind nach meiner  Auffassung nicht geeignet Konditionen abzusichern.

Da stimme ich dir zu.
Aber du kannst beim Absenken der Schranken ein Ereignis aktivieren, welches durch das Stoppen der Animation angestoßen wird.
Jetzt weißt du, dass die Schranken geschlossen sind, wenn die Animation stoppt.
Das Ereignis deaktiviert sich selbst, damit es beim Öffnen der Schranke nicht angestoßen wird.
Dieses Ereignis "Animation wurde gestoppt" benutzt du, um eine Boolean Variable auf "wahr" zu setzen.
Diese Variable dient dir als Bedingung dafür, dass die Fahrstraße aktiviert werden darf. Oder gleich als Auslöser für die Aktivierung der Fahrstraße. Je nach Bedarf.

Viele Grüße
Götz 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann nimm doch einen Countdown. Wenn du dem auch nicht traust, dann bist du für mich nicht in der Lage, eine gewünschte Aktion ohne dieses lua-Gedöns praktisch umzusetzen. Wie glaubst du wohl, schaffen wir es als Nutzer von V4 oder V5, das ein Zug ohne Fahrstraßen von A nach und zurück fährt ?

Gruß

streit_ross

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb streit_ross:

Dann nimm doch einen Countdown. Wenn du dem auch nicht traust ...

Ich glaube, da verstehst du Liftboy falsch, Streitross.
Er traut den Timern. Und er weiß sie auch einzusetzen.
Aber ein abgelaufener Timer ist kein Indiz dafür, dass die Schranke geschlossen ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 8 Stunden schrieb Goetz:

Das Ereignis deaktiviert sich selbst, damit es beim Öffnen der Schranke nicht angestoßen wird.

... als Ergänzung: Beim Ereignis "Animation gestartet/gestoppt" kann man  (zumindest theoretisch) unterscheiden, ob die Schranke geschlossen oder geöffnet wurde.

if not running then -- Animation gestoppt?
print(entity.animations[name].position) -- 0=Anfangsposition; 1=Endposition
end

Anmerkung: Ist bei den Schranken eine kleine Herausforderung, da es sehr unterschiedliche Arten der Animationssteuerung gibt...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Geschrieben (bearbeitet)

Alle Beiträge sind richtig!

Ich nehme die "Animation gestartet/gestoppt" in Verbindung mit einem eigenem Status an der Schranke, als Auslöser für die Hebeaktion.

Mit allem Gedöns kann ich halt die Fahrstrasse "blind" starten.

Übrigens ist das Gedöns keine 10 Zeilen Lua lang !

Mein Ziel ist ein vollautomatischen Betrieb, gesteuert mit individuellen  Fahrplänen an Board der Loco's, und der basiert nur auf Fahrstrassen.

Danke für alle Kommentare werde alles noch mal überdenken, melde mich bei Fortschritten wieder

 

Grüße vom Liftboy

Bearbeitet von liftboy
deutsch
Link zu diesem Kommentar
Auf anderen Seiten teilen

Geschrieben (bearbeitet)


Hallo
ich muß nochmals nachhaken.

Mein Ziel ist das Modellieren der Wirklichkeit.
Eine Fahrstrasse sichert mir zu, dass der Fahrweg gesichert ist, zu einem Zeitpunkt, den wiederum mein Fahrplan fordert.
Leider ist der Bahnübergang noch nicht geschlossen (abgesichert), die Fahrstrasse öffnet aber schon das AbfahrtSignal.
Das passt natürlich nicht ! Also muß ich verhindern dass das Signal geöffnet wird - oder der Zug bei geöffnetem Signal nicht abfährt.
Warte ich andererseits mit der Anforderung der Fahrstrasse bis die Schranke geschlossen ist, "schnappt" mir ein anderer Zug,
mit einer anderen Fahrstrasse möglicherweise meine Fahrstrasse weg.

Jetzt gibt es meiner Meinung nach nur drei Lösungen

1. ich akzeptiere das geöffnete Signal, gebe aber der Lok keinen Saft, solange bis die Schranke geschlossen ist
2. ich implementiere (meine Lösung): die Fahrstrasse ist zwar für mich reserviert,
    aber wird nicht freigegeben, solange die Schranke nicht geschlossen ist,
    was dann mein Fhrzg anhebt und dadurch die Fahrstrasse freigibt
3. ich fordere von @Neo (ha,ha) eine externe Kondition für die Fahrstrasse (true/false) für die Freigabe (nicht für die Reservierung!)

mein Fazit: das Hauptziel muß sein - die Reservierung der Fahrstrasse, aber ohne Freigabe
und das erreiche ich nur mit 2.) solange 3.) nicht implementiert ist

oder aber, ich habe ein Brett vorm Kopf, das bitte jemand wegnimmt (vielleicht @EASY?)

Grüße vom Liftboy

 

Bearbeitet von liftboy
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 34 Minuten schrieb liftboy:

eine externe Kondition für die Fahrstrasse (true/false) für die Freigabe (nicht für die Reservierung!)

wäre eine gute Erweiterung! 
Hier eine Notlösung, ähnlich deinem unsichtbaren Waggon:

Du kannst in den Bahnübergang eine Weiche einbauen, die keinen sichtbaren Abzweig hat.
Eine Weiche kannst du sperren. Und eine Weiche, die "falsch" steht und gesperrt ist, verhindert die Aktivierung einer angeforderten Fahrstraße.

Nimm das Gleisstück, welches im BÜ von der Straße gekreuzt wird. Gib ihm zwei Weichenstellungen.
Nur eine der beiden Stellungen aktiviert eine Fahrspur. Die andere nicht.

Viele Grüße
Götz 

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 42 Minuten schrieb liftboy:

1. ich akzeptiere das geöffnete Signal, gebe aber der Lok keinen Saft, solange bis die Schranke geschlossen ist

Du kannst auch für das Eingangssignal bei der Definition der FS angeben, daß keine Aktion dafür stattfinden soll, wenn die FS aktiviert wird. Die FS ist dann zwar nicht reserviert sondern aktiviert aber Du kannst das Signal dann in Abhängigkeit vom Zustand der Bahnschranke (und natürlich der FS) auf "Fahrt" stellen und den Zug (indirekt) erst dann über das Signal starten, wenn die Schranke ganz geschlossen ist. So steht der Zug (im Gegensatz zu Deiner Lösung) nicht vor einem geöffneten Signal. Auch würde ein ankommender Zug (trotz aktiver FS) am Signal anhalten, solange die Schranke nicht geschlossen ist... (ich hoffe es verständlich ausgedrückt zu haben...)

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit Brummis MiniMax Modulen habe ich eine kleine Beispielanlage für dich gebaut, Liftboy
Und in der Zeit habe ich leider weder deine Antwort noch die von EASY gesehen.

Ich glaube persönlich, dass es näher an der Realität ist wenn eine FS bei offenem BÜ nicht aktiviert werden kann.

Beispielanlage: Bahnübergang mit Sicherung für FS.mbp 

 (jetzt mit Bü - Überwachungssignal und Kommentaren)

BmitSicherungfrFS.thumb.jpg.154c014e1f91c9878ecb7884c0daee27.jpg

 

EASYs Lösung ist einfacher umzusetzen. Deshalb ist seine Lösung die praktikablere.
Mein Beispiel war eher eine Fingerübung, weil ich für mich probieren wollte ob meine Vorstellung stimmte.

Wenn eine Animation der Schranke 1 gestartet oder gestoppt wird, löst das die folgenden Aktionen aus:

--[[
    BÜ Gleis wird gesperrt, wenn das Öffnen des BÜ beginnt
    und entsperrt, wenn das Schließen des BÜ beendet ist.
    Im ersten Fall beginnt die Animation bei 0,
    im zweiten Fall endet sie dort.
    Das Bü Überwachungssignal zeigt den Zustand der Sperre
    weißes Blinklich = BÜ gesichert
]]--

if name == "Schranke Oeffnen/Schliessen" and entity.animations[name].position < 1 then
  $("Gleis BÜ").locked = running -- wenn die Animation bei 0 begann, ist running wahr
  $("Bü - Überwachungssignal").state = running and 0 or 1
end

Viele Grüße
Götz

Nachtrag: Und nun hat sich mein Posting mit dem von EGGU zeitlich überschnitten  :D

Bearbeitet von Goetz
Anlage getauscht
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb liftboy:

Mein Ziel ist das Modellieren der Wirklichkeit.

Dann stelle BÜ-Überwachungssignale vor den Bahnübergang und schalte diese nicht über die Fahrstraße ("nichts unternehmen"), sondern ausschließlich über die Steuerung des Bahnübergangs.

vor 3 Stunden schrieb liftboy:

Eine Fahrstrasse sichert mir zu, dass der Fahrweg gesichert ist

Gesichert gegen Zugkollisionen, ja. Gesichert gegen Kollisionen mit Straßenfahrzeugen aber nicht. Bahnübergänge werden unabhängig von allem anderen gesichert, heute einschließlich einer Gefahrenraum-Freimeldeanlage.

Beste Grüße

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

@Goetz... genial ausgedacht!

Hat etwas gedauert, bis ich dahintergekommen bin, wie es funktioniert (die "Weiche" hatte mich etwas irritiert)...
Ein kleines Problem habe ich noch mit der Logik (ist schon sehr lange her)...

running and 0 or 1

... macht bei mit noch nicht so richtig klick im Gehirn warum es bei running=true 0 ergibt und bei running=false 1...

Gruß
EASY
 

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