Czekanie na loka w bloku

andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Czekanie na loka w bloku

Post autor: andrzej-n »

PS. A może trzeba dodać nowy rodzaj wiersza w rozkładach jazdy "poczekaj na pojawienie się pociągu w bloku X"? :-)
To jest kapitalny pomysł. Ja teraz używam pętli "While" by sprawdzać czy lok dojechał do odpowiedniego bloku, tak aby bezpiecznie puścić kolejny rozkład. A to znacznie rozbudowuje ilość zdarzeń.
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2178
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Rozkład Jazdy dla Wmac MakieTTa II

Post autor: gbbsoft »

I w tej pętli While co sprawdzasz?
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Rozkład Jazdy dla Wmac MakieTTa II

Post autor: andrzej-n »

Sprawdzam czy blok jest pusty

Kod: Zaznacz cały

this.IsNull(this.Engine.BlockByName("bx").CurrentTrain)
W momencie wjazdu loka do bloku program wychodzi z pętli i np uruchamia kolejny Rozkład
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2178
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Rozkład Jazdy dla Wmac MakieTTa II

Post autor: gbbsoft »

andrzej-n pisze: 26 maja 2017, 09:16
PS. A może trzeba dodać nowy rodzaj wiersza w rozkładach jazdy "poczekaj na pojawienie się pociągu w bloku X"? :-)
To jest kapitalny pomysł. Ja teraz używam pętli "While" by sprawdzać czy lok dojechał do odpowiedniego bloku, tak aby bezpiecznie puścić kolejny rozkład. A to znacznie rozbudowuje ilość zdarzeń.
Dodałem możliwość dodania w rozkładzie jazdy czekania na loka we wskazanym jednym (lub jednym z wielu) bloku.
Standardowe pytanie: czy działa poprawnie? :-)
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Rozkład Jazdy dla Wmac MakieTTa II

Post autor: andrzej-n »

Zrobiłem tak jak na rysunku poniżej.
rys1.jpg
Pociąg z Rozkładu 1-1> staje w bloku b4 mimo, iż czas postoju dla "Dodanego czekania" wynosi 00:00:00 (zaznaczone na czerwono).
Po ok. 3-5 sekund od zatrzymania (a nie wjazdu) w bloku b4 rusza Rozkład 2-2> i kontynuowany jest Rozkład 1-1>. Mnie chodziło o takie działanie, że w momencie wjazdu do bloku b4 ruszy Rozkład 2-2>, a Rozkład 1-1> będzie dalej realizowany bez zatrzymywania w żadnym z bloków (zgodnie z zadeklarowanymi czasami postoju).
Chciałbym jeszcze potwierdzić swoje rozumowanie: jeśli chcemy, by pociąg czekał w bloku "x", to "Dodanie czekania" powinno być umieszczone w rekordzie poniżej wjazdu do bloku "x" a wybrany blok to blok"x"
Andrzej
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Rozkład Jazdy dla Wmac MakieTTa II

Post autor: andrzej-n »

W uzupełnieniu poprzedniego pytania poeksperymentowałem z ustawieniami "Dodaj czekanie" i otrzymałem dziwne rezultaty.
Dla konfiguracji poniżej, start Rozkładu 2-2> nastąpił dopiero po ok 3 sek od zatrzymania w bloku b1. Gdy zmieniłem blok b1 na b4 (w miejscu zaznaczonym na czerwono) Rozkład 2-2> ruszył po opuszczeniu bloku b4. Gdy zamieniłem na blok b5, Rozkład 2-2> w ogóle nie ruszył.
rys2.jpg
Napisz proszę jakie skutki wywołuje umieszczenie "Dodaj czekanie" w konkretnym wierszu i jak skutkuje wybór danego bloku.
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2178
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Rozkład Jazdy dla Wmac MakieTTa II

Post autor: gbbsoft »

andrzej-n pisze: 06 cze 2017, 11:09 Chciałbym jeszcze potwierdzić swoje rozumowanie: jeśli chcemy, by pociąg czekał w bloku "x", to "Dodanie czekania" powinno być umieszczone w rekordzie poniżej wjazdu do bloku "x" a wybrany blok to blok"x"
Tak.
Awatar użytkownika
gbbsoft
Admin
Posty: 2178
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Rozkład Jazdy dla Wmac MakieTTa II

Post autor: gbbsoft »

andrzej-n pisze: 06 cze 2017, 12:01 Napisz proszę jakie skutki wywołuje umieszczenie "Dodaj czekanie" w konkretnym wierszu i jak skutkuje wybór danego bloku.
Zatrzymanie loka w bloku X powoduje wpisanie czasu przyjazdu w wierszu "czekaj na loka w bloku X" w kolumnie "CzasPrzyjazdu". Od tego momentu jest odliczany czas podany w kolumnie "Czas". Po jego minięciu rozkład jazdy przechodzi do kolejnego wiersza (co jest oznaczone poprzez "<=" w kolumnie "Opis błędu")
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Czekanie na loka w bloku

Post autor: andrzej-n »

Od tego momentu jest odliczany czas podany w kolumnie "Czas". Po jego minięciu rozkład jazdy przechodzi do kolejnego wiersza (co jest oznaczone poprzez "<=" w kolumnie "Opis błędu")
To dlaczego lok się zatrzymał skoro podany czas wynosił 00:00:00?
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2178
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Czekanie na loka w bloku

Post autor: gbbsoft »

Bo czas jest liczony od zatrzymania...
Odwróćmy pytanie: dlaczego miałby się nie zatrzymać?

PS. Myślę o opcji "czekaj na wjazd" zamiast "czakaj na zatrzymanie"... :-)
ODPOWIEDZ