Piszę dzisiaj doktorat z przypisywania pojazdowi rozkładu jazdy i jakoś nie mogę dojść do porozumienia z tym bajerem. Historia wygląda następująco: przyjeżdża sobie wesoły pociąg na ostatnią stację swojego poprzedniego rozkładu i ponieważ ma w nim zawarty znak "@" lokomotywa grzecznie się odpina. Następnie równie grzecznie oblatuje skład, odbijając się dwa razy od W5, po czym do niego wraca. Przed składem ma podawany event Shunt -3 -3, bo sama się nie podepnie (choć z dokumentacji exe 291 wynika, że powinna, bo dałem jej "@" w rozkładzie). Po podpięciu przechodzi w tryb pociągowy i czeka. W międzyczasie wykonywany jest taki oberek:
node -1 0 jan_osob_rozklad_tor11 memcell -18811.873 -20.2 -53919.930 Timetable:slimson\calkowo_v2\test02 10 0 none endmemcell
event jan_osob_nadajrozklad_tor11 multiple 120.0 none jan_osob_nadajrozklad_tor11a jan_osob_nadajrozklad_tor11b jan_osob_nadajrozklad_tor11c jan_osob_nadajrozklad_tor11d endevent
event jan_osob_nadajrozklad_tor11a copyvalues 0.0 jan_osob_tor11a_mem jan_osob_rozklad_tor11 endevent
event jan_osob_nadajrozklad_tor11b copyvalues 0.0 jan_osob_tor11b_mem jan_osob_rozklad_tor11 endevent
event jan_osob_nadajrozklad_tor11c copyvalues 0.0 jan_osob_tor11c_mem jan_osob_rozklad_tor11 endevent
event jan_osob_nadajrozklad_tor11d copyvalues 0.0 jan_osob_tor11d_mem jan_osob_rozklad_tor11 endevent
node -1 0 jan_osob_tor11a_mem memcell -18861.873 -20.2 -53919.930 Wait_for_orders 0 0 jan_osob_tor11a endmemcell
node -1 0 jan_osob_tor11b_mem memcell -18911.873 -20.2 -53919.930 Wait_for_orders 0 0 jan_osob_tor11b endmemcell
node -1 0 jan_osob_tor11c_mem memcell -18961.873 -20.2 -53919.930 Wait_for_orders 0 0 jan_osob_tor11c endmemcell
node -1 0 jan_osob_tor11d_mem memcell -19011.873 -20.2 -53919.930 Wait_for_orders 0 0 jan_osob_tor11d endmemcell
Dziwaczna konstrukcja z czterema eventami w multiplu wynika z wysyłania tej samej informacji do czterech torów - po to, abym miał pewność, że jak pociąg będzie dłuższy to mi i tak ta konstrukcja zadziała.
Niestety powyższy mechanizm nie działa - eventy są wykonywane, ale informacja o wpisaniu komendy z rozkładem do komórki przypisanej do toru, na którym stoi pociąg, nie dociera do niego. W efekcie pociąg sobie grzecznie stoi i czeka. W związku z tym pytanie, co tu się powinno zrobić, aby ten bajer zadziałał? Patrzyłem, że w Quarku są jeszcze tajemnicze eventy addvalues, które podobno wysyłają coś do toru, a przynajmniej tak wynika z komentarzy w kodzie:
//rozkłady jazdy kopiowane do pociągów
node -1 0 kon_osobowy_WKD memcell 0 0 0 Timetable:quark\roj1102 0.1 0 none endmemcell //dołem
event kon_osobowy_WKD! copyvalues 2 kon_t5_com kon_osobowy_WKD endevent //przesłanie do pociągu
event kon_osobowy_WKD! addvalues 2 kon_t5_com * 0 0 endevent //bo copyvalues nie wysyła do toru
event kon_osobowy_WKD++ addvalues 300 kon_osobowy_WKD * * 30 endevent //takt dla jazdy dołem
Wygląda na to, że to jest ten element, który jest mi potrzebny, bo zgodnie z komentarzem "copyvaules nie wysyła do toru". Niemniej jednak kłóci mi się to z tym, co Ra napisał
tutaj:
4. Event AddValues z wartościami * 0 0 jest formalnie bez sensu, bo nie modyfikuje komórki z rozkładem.
Podsumowując:
- czy event addvalues jest potrzebny, aby pociąg zorientował sie, że w komórce przypisanej do toru, na którym stoi, coś się zmieniło?
- czy w powyższych eventach jest coś nie tak?
- czemu komendy Timetable:costam nie można po prostu podać jako putvalues?