Autor Thema: LGE 4 und Open Rails  (Gelesen 323 mal)

Offline mhvg220

  • Mitglied
LGE 4 und Open Rails
« am: 12.01.2019, 14:38:26 »
Hallo zusammen,

beim Fahren der TGV-Strecke Paris-Basel ist mir aufgefallen, dass die Signale dort sich teilweise nicht so verhalten wie im MSTS. Um auf den beiden LGV nicht, trotz freier Strecke, an einigen Stellen geringere Signalgeschwindigke iten angezeigt zu bekommen, mussten einige Zahlen bei signalNumClearAhead erhöht werden. Das größere Problem betrifft jedoch die Altstrecken-Abschnitte, vor allem Montbard-Dijon. Jedes Mal, wenn vor einem Signal eine Weiche liegt, wird man auf 60, im Bahnhof Montbard sogar auf 30 km/h heruntersignalisier t. So ist der Fahrplan natürlich nicht einzuhalten.

Leider kenne ich mich mit dem französischen Signalsystem nicht aus, weiß daher auch nicht, worin die Ursache liegt und wie man sie beheben kann. Ein paar Informationen kann ich trotzdem geben: Betroffen sind sämtliche Signale des Typs CSRR, z.B. CSRR30AVL, CSRR60AVL. Beim Vorliegen von Weichen wird mit Verknüpfungen gearbeitet. Im MSTS funktioniert alles ohne Probleme, für geradeaus bekommt man Vmax, für den abzweigenden Weg 60 km/h. In Open Rails zeigt das Signal an der gleichen Stelle grundsätzlich 60 km/h, egal wie die Weiche eingestellt ist. Die Konfigurationsdatei en sind angehängt.

Vielen Dank für jede Hilfe und Gruß,
mhvg220

Offline Richie57

  • Administrator
  • *****
  • Let the good times roll!
Re: LGE 4 und Open Rails
« Antwort #1 am: 12.01.2019, 17:23:42 »
Hallo,

beim ersten kurzen Drüberblicken ist mir aufgefallen, dass bei den Signalen >SignalFnType ( NORMAL )< der Eintrag >SignalNumClearAhead< nicht immer mit der höchsten Einstellung versehen ist.
Es muss bei allen Signalen dieses Typs der höchstmögliche vorhandene Wert eingetragen sein. Ich habe auf die Schnelle den Eintrag >SignalNumClearAhead ( 5 )< gefunden; dementsprechend sollten alle Signale mit diesem Wert versehen werden. Evtl. nochmal nach höheren Werten suchen und diese dann einsetzen.
Diese Veränderung hilft bei den meisten Signalproblemen in OR!

Viele Grüße
Richie
"... Menschlichkeit und Politik schließen sich im Grunde immer aus. Beide sind nötig, aber beiden zugleich dienen, ist kaum möglich.
Politik fordert Partei, Menschlichkeit verbietet Partei."

Hermann Hesse

Offline mhvg220

  • Mitglied
Re: LGE 4 und Open Rails
« Antwort #2 am: 13.01.2019, 15:10:20 »
Hallo Richie,

danke für die Erläuterungen. Ich habe den SignalNumClearAhead Wert auf 12 oder 25 gesetzt. Verwende ich die Ursprungsversion, die im ersten Beitrag auch angehängt ist, funktionieren die Signale auf der Altstrecke so wie im MSTS. Als Kommentar steht in den Konfigurationsdatei en auch drin, dass das ganze für Open Rails angepasst wurde. Dafür hat man wieder das Problem auf der LGV, dass man trotz freier Strecke 2-3 mal schrittweise auf 170 oder sogar 80 km/h heruntersignalisier t wird. Kurz bevor man da rüberfährt, springt es auf einmal wieder auf 300 bzw. 320 km/h um. Ich werde mal bei den betroffenen Signaltypen (TVM) mit den Werten experimentieren und lasse es euch wissen, wenn ich erfolgreich war.

Gruß,
Markus

Offline EugenR

  • Mitglied
Re: LGE 4 und Open Rails
« Antwort #3 am: 13.01.2019, 18:24:51 »
Hallo,
Es scheint, dass das Signal den letzten else-Block mit CLEAR_1 drin nicht erreicht. Das wäre die Fahrt ohne Beschränkung in der sigcfg.dat. Das wäre der Fall, wenn Route_set auf false stehen würde.

Hier vermute ich aber, dass der OR über die Codierung ohne die { } Klammern um die else, else if Blöcke stolpert, die hier haufenweise gespart wurden.
Soweit ich informiert bin, müsste um jeden dieser Blöcke eine { } gesetzt sein.
Siehe Unten als Beispiel die roten Klammern.

SCRIPT CSRR60AVL_TESCS
   extern float   block_state ();
   extern float   route_set  ();
   extern float   next_sig_lr ();
   extern float   def_draw_state ();
   extern float   state;
   extern float   draw_state;
   extern float   enabled;

   float      next_state;

   next_state = next_sig_lr (SIGFN_NORMAL);
   if (!enabled ||   block_state() !=# BLOCK_CLEAR || next_state ==# SIGASP_STOP )
   {   
      if ( route_set() && (block_state() !=# BLOCK_CLEAR || next_state ==# SIGASP_STOP_AND_PRO CEED ))
         state = SIGASP_STOP;
      else if (block_state() ==# BLOCK_JN_OBSTRUCTED )
         state = SIGASP_STOP;
      else
         state = SIGASP_STOP_AND_PRO CEED;
   }
   else if (!route_set () )
   {
      if (next_state <=# SIGASP_STOP_AND_PRO CEED  )
                {
         state = SIGASP_RESTRICTING;
                }
      else
              {
         state = SIGASP_CLEAR_2;
                }
   }
   else
   {
      state = SIGASP_CLEAR_1;
   }
// Get draw state
   draw_state = def_draw_state (state);


Schaue im Logfile nach ob da so eine ähnliche Warnung steht:
Warning: sigscr-file line 109 : Unexpected number of = in string : ELSE IF (THIS_STATE = SIGASP_APPROACH_1)STATE = SIGASP_APPROACH_1
Warning: sigscr-file line 109 : Unmatching brackets in : ELSE IF (THIS_STATE