Jump to content

Beschleunigungs-/Bremswert in EV ändern?


 Share

Recommended Posts

Hallo,

ich habe z.B. das Signal 78722089-1B26-4AC5-AA55-91CB56A599BB ...

1603520602_GleiskontaktSignal01.thumb.jpg.0ce21b66a3031ab85e802af062f6a391.jpg

... und würde gerne für den Signalbegriff "2 - Hp2(Langsamfahrt)" die Werte für "Beschleunigen auf" und "Abbremsen auf" in der EV ändern...

in lua gibt es trackContact.autoAccelerationSpeed womit ich z.B. den Beschleunigungswert ändern kann,
nur wie muß ich dies anwenden, damit es für den Signalbegriff 2 geändert wird?

P.S. ... ich kann zwar nur lua... aber gerne auch eine Lösung in der grafischen EV...

Gruß
EASY

Link to comment
Share on other sites

Hallo @EASY,

Anscheinend geht das in der EV nur, wenn der Signalbegriff auch aktuell ist, also z.B. wenn das Signal schaltet. Dann kann man die Werte beeinflussen:

if contact.state == 2 then
  contact.trackContact.autoAcceleration = true
  contact.trackContact.autoDeceleration = true
  contact.trackContact.autoAccelerationSpeed = 20
  contact.trackContact.autoDecelerationSpeed = 20
end

(Ich habe das Ereignis über die grafische Oberfläche erstellt und dann nach Lua "übersetzen" lassen.

Grüße,
 Wolfgang

 

Link to comment
Share on other sites

Hallo,

vor 13 Stunden schrieb prinz:

Anscheinend geht das in der EV nur, wenn der Signalbegriff auch aktuell ist.

Hatte ich mir eigentlich auch gedacht, hat nur bei meinem Versuch nicht geklappt...
943312098_Bild01.thumb.jpg.b42a9a949d0fbcfc4c3990d47133985a.jpg

... wenn die Fahrstraße altiviert wird, sollte dem Gleiskontakt für die Signalstellung 1 ein variabler Beschleunigungswert zugewiesen werden...

if route.active and not deferredCall then
defer (0,5,"v1")
elseif deferredCall=="v1" then
  if route.waypoints[1].state==1 then -- = Signal
    route.waypoints[1].trackContact.autoAccelerationSpeed=math.random(50,90)
  end
end

... ich hatte sogar extra eine kleine Verzögerung mit eingebaut.... aber es ging nicht, was mich zu meiner Anfrage geführt hat.

Nur die Verzögerung war zu kurz. Auf den Beschleunigungswert für die Signalstellung 1 kann erst zugegriffen werden, wenn das Signal "sicher" geschalten hat, also wenn die Animation für den Signalzustand abgelaufen ist.

Ich habe das Ereignis "Fahrstraße wird aktiviert..." versuchshalber umgeschrieben...

if route.active and not deferredCall then
  if $("FSA").state==1 then
    print("FS aktiviert",$("FSA").state,$("FSA").trackContact.autoAccelerationSpeed)
  end
defer (0.5,"v1")
elseif deferredCall=="v1" then
  if $("FSA").state==1 then
    print("FS aktiviert 1*0.5 verz.",$("FSA").state,$("FSA").trackContact.autoAccelerationSpeed)
  end
defer (0.5,"v2")
elseif deferredCall=="v2" then
  if $("FSA").state==1 then
    print("FS aktiviert 2*0.5 verz.",$("FSA").state,$("FSA").trackContact.autoAccelerationSpeed)
  end
end

... und noch ein Ereignis "Signal schaltet"...

if signal.state==1 then
print("Signal schaltet.",$("FSA").state,$("FSA").trackContact.autoAccelerationSpeed)
end

Wird nun die Fahrstraße aktiviert ergibt es folgendes Ereignisprotokoll...
1205944275_Bild02.jpg.cf5791c79e3dca20b5773d608652b347.jpg

Es wird zwar in Zeile 3 sofort der Signalzustand 1 ausgegeben, jedoch entspricht der Beschleunigungswert noch dem Wert von Signalstellung 0 (0).
nach der ersten Verzögerung von 0.5 Sekunden ergibt sich in Zeile 5 das gleiche...
Dann schaltet das Signal...
In Zeile 8 wird der Signalzustand 1 ausgegeben und der Beschleunigungswert von Signalstellung 0 (80).
nach der zweiten Verzögerung von weiteren 0.5 Sekunden stimmt nun auch der Wert beim Auslesen über die Fahrstraße in Zeile 10.

Das Signal schaltet also "sicher" zwischen 0.5 und einer Sekunde (Animation ist abgelaufen).

Da die Lok sehr kurz ist, und das Signal nach dem Aktivieren der Fahrstraße wieder auf 0 geschaltet wird, wenn die Mitte der Lok das Signal erreicht hat (ist nach ca. 3 Sekunden der Fall), bleibt mir ein Zeitfenster von zwischen einer und drei Sekunden um den Beschleunigungswert zu ändern.

Natürlich ist der "sichere" Weg über "Signal schaltet"... aber dies ist ein zusätzliches Ereignis und ich wollte es nur über das Fahrstraßenereignis machen, da hier schon der Bezug zum richtigen Signal über die Wegpunkte der Fahrstraße gegeben ist...

Kleines Fazit: ... ausgelesener Signalzustand ist nicht in jedem Fall der tatsächliche Signalzustand...

Gruß
EASY

 

 

Edited by EASY
Link to comment
Share on other sites

vor einer Stunde schrieb EASY:

Kleines Fazit: ... ausgelesener Signalzustand

Ich denke, schon. Nach dem relevanten Ereignis „Signal schaltet“ stimmen die Werte. 
Schöner wäre es, wenn sich die Einstellungen für die Signalbegriffe einzeln über die Eigenschaften regeln ließen.

Gruß, Wolfgang

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