Jump to content

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo zusammen,

vor 8 Stunden schrieb Neo:

Durch die direkte Angabe des Signals im Ereignis müssen für jedes Signal die Ereignisse neu importiert werden, obwohl der Ablauf dann immer gleich ist.

stimmt, Neo. Ich habe das Signal umgebaut.

Blocksignal universal 2.mbp

Jetzt muss man es nur einmal als Anlage in die eigene Anlage importieren. Die nächsten Blocksignale werden dann mit copy and paste eingefügt und sollten umbenannt werden. Bei allen Blocksignalen muss dann nur noch die Variable "zurückliegendes Signal" befüllt werden. Bei drei Signalen dauert das keine Minute!

vor 8 Stunden schrieb HaNNoveraNer:

Sieht so aus, als wenn er zuerst die Geschwindigkeit der Vorgängerlok setzt und dann erst den neuen Loknamen übernimmt, wenn eine Lok zum
Bremsen ansetzt.

Wenn der Zug auf ein geschlossenes Signal zufährt, bremst er ab. So ist das in der Realität auch. Wenn das Signal während des Bremsvorgangs wieder auf frei schaltet, wird ab dem Signal wieder auf Streckengeschwindigkeit beschleunigt. In der Realität muss der Lokführer eine genau festgelegte Bremskurve einhalten und darf erst dann wieder beschleunigen, wenn er die Indusi quittiert und das Signal passiert hat.

Blocksignal universal 2 Anlage.mbp

HG
Brummi

Bearbeitet von Roter Brummer
Geschrieben
vor 2 Stunden schrieb Roter Brummer:

In der Realität muss der Lokführer eine genau festgelegte Bremskurve einhalten und darf erst dann wieder beschleunigen, wenn er die Indusi quittiert und das Signal passiert hat.

Stimmt, ansonsten sagt eine nette Damen stimme: "SiFa! SiFa! SiFa Zwangsbremsung.":P Und der Zug steht.:(

Geschrieben

Hello Thomas,

I just looked at your "block signal universal 2", very elegant solution !
As you can think i'm specially interested in generic all purpose signals. 
Kind regards, Herman

Geschrieben
vor 35 Minuten schrieb HaNNoveraNer:

Hier nochmal ein Beispiel zu dem Fehler mit der Geschwindigkeit:
Die sollte zwischen den Signalen konstant sein bis zum Bremspunkt (falls gebremst wird), oder?

Du hast beim Blocksignal 1 eine Streckengeschwindigkeit von 200! km/h Stunde eingegeben! Das ist für diese kleine Anlage viel zu schnell! Am Blocksignal 3 hast du 40 km/h eingegeben, diese versucht die Lok schon in der hinteren Kurve zu erreichen.

Das Ganze zeigt aber auch, dass bei vollkommen unrealistischen Eingaben die Sache trotzdem funktioniert.

HG
Brummi

Geschrieben

Nachtrag:

Ich bin schon ein bisschen stinkig, dass hier von einem "Fehler" berichtet wird.

  1. Die Fahrzeuge haben Beschleunigungs- und Bremswerte wie eine Weltraumrakete.
  2. Die unterschiedlichen Streckengeschwindigkeiten sind so extrem gewählt, dass sie noch nicht einmal von einem Schienenzeppelin mit fünf Bremsfallschirmen eingehalten werden könnten.

Eigentlich war das ganze für eine Modellbahnsimulation gedacht.

Mit etwas genervten Grüßen
Brummi

Geschrieben (bearbeitet)

Hallo Brummi
Nicht falsch verstehen.
Ich möchte nur versuchen zu verstehen, wieso die Lok mitten in der Fahrt die Sollgeschwindigkeit abrupt wechselt.
Das hat nichts mit Deiner Anlage zu tun.
Wodurch wird das ausgelöst?
Wie genau ist zu erklären, daß die Lok von zum Testen eingestellten 200km/h abrupt auf 40 km/h abbremst und das weit entfernt vom 40km/h Signal?
Du hast schon richtig erkannt, daß das mit MoBa Simulation nichts zu tun hat, denn es ist eine TESTANLAGE, um den Effekt deutlich zu demonstrieren.
Mag sein, daß das kein Fehler in der EV ist, aber es ist schon merkwürdig und für mich nicht erklärbar.
Vielleicht kann @Neo hier aufklären, was genau da passiert?

Obwohl die BR78 den Kontakt noch nicht erreicht hat, gibt der Signalkontakt die Geschwindigkeit weiter.
Als Lok ist aber noch in der Variablen die rote Lok eingetragen.
Erst wenn die BR 78 den Kontakt erreicht, wird ihr Lokname dort eingetragen.
Das scheint ein Timingproblem (Fehler?) verursacht durch die neue Bremskontaktfunktion? zu sein.
Zuerst wird die Bedingung ausgeführt und dann erst wird die Variable gesetzt.
Signal1=rechts, 2=unten, 3=oben

aaa.thumb.jpg.d458b1fc6e96f647aba8cd746f253cba.jpg

Gruß
Thomas

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

ich ziehe mein Büßergewand an und trete den Gang nach Kanossa an. Die Variable "Lokname" muss tatsächlich gelöscht werden, wenn der Zugmittelpunkt das zugehörige Signal verlassen hat, weil sonst der andere Zug eben diesen mit beeinflusst.

Deshalb habe ich in diesem Beitrag

den Dateianhang mit dem Blocksignal solo abgeändert.

Bitte ausprobieren, ob es jetzt so funktioniert. Ich war etwas konfus wegen der extremen Geschwindigkeitsänderungen und bin erst bei moderateren Differenzen auf den Trichter gekommen.

Ich bitte nochmals um Entschuldigung wegen meiner Kritik. Schaun mer mal, was der Papst sagt :D.

HG
Brummi

Geschrieben (bearbeitet)

Hi Brummi

Ich bin jetzt aber richtig stinkig, daß Du es erst so spät gesehen hast. ;)
Aber das Problem besteht glaube ich trotzdem und der Lokname müßte nicht gelöscht werden.
Deine EV war schon ok so.
Das hatte ich auch zuerst gedacht, den Loknamen zu löschen. Das macht das Problem aber nur unsichtbar. :-)
Mal sehen, was Neo sagt...

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

im Moment fehlt mir leider die Zeit, um andere Anlagen zu analysieren, aber ich kann auf die Schnelle auch kein Problem sehen, die Dampflok beschleunigt bei mir nur auf 100 km/h, nicht wie bei dir auf dem Bild auf 200.

Viele Grüße,

Neo

Geschrieben (bearbeitet)
vor 10 Stunden schrieb Neo:

Hallo Thomas,

im Moment fehlt mir leider die Zeit, um andere Anlagen zu analysieren, aber ich kann auf die Schnelle auch kein Problem sehen, die Dampflok beschleunigt bei mir nur auf 100 km/h, nicht wie bei dir auf dem Bild auf 200.

Viele Grüße,

Neo

Hallo @Neo
Auf dem Bild beschleunigt keine Lok gerade auf 200.
Es geht auch nicht darum, eine Anlage zu analysieren.
Es geht einfach darum, eine  Erklärung dafür zu finden, warum an einem Signalkontakt die Reihenfolge der Aktionen in der EV vom MBS nicht eingehalten werden?
Zuerst soll das auslösende Fahrzeug bei betreten des Signalkontakts eine Variable im Signal setzen.
Danach wird eine Bedingung aufgerufen, ob das Signal auf Fahrt steht. Wenn ja, dann wird die Lok in der Signalvariablen auf eine beliebige Geschwindigkeit gesetzt.
Was aber passiert: Die Aktionen werden vertauscht aufgerufen. Zuerst wird die Geschwindigkeit der Vorgängerlok gesetzt, die noch in der Variablen steht und dann erst wird die Auslöserlok in die Variable eingetragen.
Das Ereignis siehst Du in meinem letzten Bild etwas weiter oben.
Meine zuletzt hier gepostete Anlage TEMP.MBP demonstriert das Verhalten.
Es geht also nur um die Frage: WARUM ist das im MBS so vertauscht programmiert?

Gruß
Thomas
 

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

ich kann weiterhin nicht erkennen, dass das Studio Aktionen vertauscht. Wenn eine Lok Blocksignal 1 verlässt, wird Blocksignal 2 auf Fahrt gesetzt, und weil dort noch die Lok von Block 1 hinterlegt ist, wird sie von diesem Blocksignal 2 wieder auf 40 km/h herunter gebremst. Es ist wie Brummi schon richtig erkannt hat, der Zug muss aus dem Block gelöscht werden, wenn er einen Block verlässt.

Viele Grüße,

Neo

Geschrieben (bearbeitet)

Hallo Brummi
Das habe ich verstanden. Damit funktioniert die Anlage.
Ist ja auch egal, wir müssen das nicht klären, warum mitten zwischen den Signalen, ohne daß ein Kontakt verlassen wird, die Geschwindigkeit umschaltet.
Das ist der Moment, wo die schwarze Lok von 200km/h auf 40km/h runterbremst. Und da verläßt keine Lok einen Kontakt, um die Geschwindigkeit einzustellen. Aber da BETRITT eine Lok den Bremsbereich von Signal 2.

aaa.thumb.jpg.1d5cafabba9b3d2806a6658a001c27d4.jpg


Hauptsache die Lösung funktioniert jetzt.
Vielleicht kann Neo diese ganzen Posts verschieben oder löschen.

Gruß
Thomas

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

vor 4 Minuten schrieb HaNNoveraNer:

warum mitten zwischen den Signalen, ohne daß ein Kontakt verlassen wird, die Geschwindigkeit umschaltet.

bitte schau dir deine Anlage noch einmal genau an, es werden keine Geschwindigkeiten zwischen den Signalen umgeschaltet, sondern beim Betreten und Verlassen von Signalkontakten. Zum besseren Verständnis hilft das schrittweise Animieren der Anlage im Zusammenhang mit dem Ereignisprotokoll.

Viele Grüße,

Neo

Geschrieben (bearbeitet)

Genau das hab ich getan, Neo. Siehe Beitrag oben.
Dort BETRITT die rote Lok den Gleiskontakt und schaltet die schwarze Lok um.
Und genau beim BETRETEN wird die Lok-Variable aber VORHER/ZUERST aktualisiert und dann erst die Geschwindigkeit zugewiesen :-)
Siehe Code beim Betreten eines Signalkontakts.

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

könntest du bitte deine Anlage dahingehend neu einstellen, wobei du sie an genau die Stelle bringst, bevor mit dem nächsten Schritt dein beschriebenes Verhalten auftritt? Es ist wichtig, dass wir über exakt das gleiche Verhalten sprechen.

Viele Grüße,

Neo

Geschrieben

Na klar.
Schalte die Eigenschaft der schwarzen Lok an.
Die steht jetzt auf 200 km/h.
Dann starte das Programm.
Stoppe das Programm sofort wieder, wenn die schwarze Lok auf 40 km/h umschaltet.
Schau Dir den Code bei Betreten des Gleiskontakts von Blocksignal 2 an unter "Lokadresse melden".

test.mbp

Geschrieben (bearbeitet)

Ok, ihr habt recht.
Ich hab jetzt endlch meinen Denkfehler gefunden.
Die Geschwindigkeit wird erst gesetzt, wenn die Animation vom Signal 2 abgelaufen ist
und nicht in dem Moment, wo der Schaltbefehl kommt.
Daher hatte ich dieses nie im Verdacht, da die schwarze Lok dann schon weit weg ist von ihrem Startsignal.
Zufällig fuhr immer die rote Lok in den Bereich von Signal 2. So dachte ich, daß deren Betreten Aktion die Geschwindigkeit verstellt.

Ich krieche jetzt mit Brummi zusammen auf dem Kreuzweg :-(

Gruß
Thomas

Bearbeitet von HaNNoveraNer

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