Strona 3 z 5

Re: Kolejka Tomka

: 15 lut 2019, 16:01
autor: ToTom
Wrzuciłem:
Wersja: 1.75.6982.40686
Nadal nie odczytuje CV.

Funkcjonalności, o których pisałem w tym i w innym wątku:
viewtopic.php?f=47&t=415&start=10
już ogarnąłem. Czyli pociągi zgodnie z założeniami jeżdżą sobie tak jak chciałem. Tzn. na razie na torze testowym, bo zamontowanie kontraktonów w docelowych miejscach trochę mi zajmie...

Dwie sprawy:
1. Przeszukałem co mogłem i nie wiem czy się to da zrobić:
Lokomotywa X:
- po ruszeniu z bloku A włącza się funkcja F2.
- po ruszeniu z bliku B włącza się funkcja F3.
Lokomotywa Y:
- po ruszeniu z bloku A włącza się funkcja F4.
- po ruszeniu z bliku B włącza się funkcja F5.
?
2. W: Rozkłady jazdy/wybieram rozkład/Definicje/i mam tutaj opcję: Restartuj po zakończeniu. Ten ptaszek nie zapisuje się - zawsze po restarcie jest odznaczony. To celowe?

Ja mocno idę w obsługę dotykową - na razie rozkład jazdy uruchamiam po prostu poprzez włączenie urządzenia.

Re: Kolejka Tomka

: 15 lut 2019, 18:15
autor: ToTom
Znalazłem rozwiązanie sprawy nr 1:
viewtopic.php?f=42&t=255&p=3521&hilit=zdarzenie#p3521
Działa :)

Re: Kolejka Tomka

: 15 lut 2019, 22:47
autor: gbbsoft
ToTom pisze: 15 lut 2019, 16:01 2. W: Rozkłady jazdy/wybieram rozkład/Definicje/i mam tutaj opcję: Restartuj po zakończeniu. Ten ptaszek nie zapisuje się - zawsze po restarcie jest odznaczony. To celowe?
To był błąd, poprawiony w aktualnej wersji testowej.

Re: Kolejka Tomka

: 18 lut 2019, 22:21
autor: ToTom
Nie mogę odszukać porady jak zrobić coś takiego: lokomotywa po ruszeniu z bloku, po przejechaniu 50cm ma właczyć f2.
Prawdopodobnie powino być:
this.ActiveBlock.CurrentTrain.DistanceCm == 50

No ale nie działa.
Chciałbym to połączyć z kierunkiem wyjazdu z bloku:
!this.ActiveBlock.CurrentTrainRunningDirection_IsToRightTop && this.ActiveBlock.CurrentTrain.DistanceCm == 50

Re: Kolejka Tomka

: 19 lut 2019, 18:40
autor: gbbsoft
Najlepiej w zdarzeniu zrobić "czekaj x sekund" a potem dopiero "włacz f2".

Re: Kolejka Tomka

: 19 lut 2019, 18:55
autor: ToTom
Tak, takie rozwiązanie zastosowałem jako pierwsze. Jego słabość polega na tym, że zakłada poruszanie się lokomotywy zawsze z tą samą prędkością.
Gdyby natomiast to było powiązane z blokiem (czujką na końcu bloku) i z odległością od niej, to byłoby to zawsze w tym samym miejscu.
Np. "Po opuszczeniu bloku (przejazd przez czujkę) po przejechaniu 50cm zrób coś..."
Wykrycie braku zajętości bloku + odległość to też byłoby jakieś rozwiązanie.
Pozwoliłoby to przy małej liczbie czujek, zrobić sporo automatyzacji. Zapory, baczność przy przejeździe, itp. itd.

Re: Kolejka Tomka

: 20 lut 2019, 13:17
autor: ToTom
Wrzucam plan sytuacyjny.
Zaznaczyłem kontaktrony zamontowane na tym torze (w realu mam już wszystkie).
Lokomotywy jeżdżą z bloku A do B jak należy.
Wciąż szukam, jak je nauczyć, żeby włączały F2 przed przejazdem (po lewej, szary prostokąt).
Opcję z "czekaj X sekund" zostawiam jako ostateczną.

A gdyby stworzyć blok C, przelotowy, bez zatrzymywania, a potem zrobić w nim:
po wjeździe z lewej strony / po przejechaniu X cm / włącz F2?
i
po wjeździe z prawej strony / po przejechaniu Y cm / włącz F2?

Można by jakoś wykorzystać distance_to_ stop i stworzyć distance_to_run ?

Re: Kolejka Tomka

: 20 lut 2019, 15:05
autor: gbbsoft
Pomysł z blokiem, w którym jest przejazd jest chyba bardzo dobry!
Po wjeździe do bloku z dowolnego końca można kazać po prostu uruchomić F2.
Tak go ustaw, aby nie trzeba było myśleć o jakimś "przejechaniu x cm"...

Re: Kolejka Tomka

: 20 lut 2019, 15:19
autor: ToTom
gbbsoft pisze: 20 lut 2019, 15:05 Pomysł z blokiem, w którym jest przejazd jest chyba bardzo dobry!
Po wjeździe do bloku z dowolnego końca można kazać po prostu uruchomić F2.
Tak go ustaw, aby nie trzeba było myśleć o jakimś "przejechaniu x cm"...
No tak, myślałem o tym...
Ale nie napisałem jednej rzeczy. Zapomniałem :)

Otóż ten blok, żeby mógł włączyć F2 w odpowiednim miejscu (Po wjeździe do bloku z dowolnego końca można kazać po prostu uruchomić F2) musiałby mieć dodatkowe 4 kontaktrony (po 2 na tor po jednym z każdego kierunku).
A ja w swej przebiegłości pomyślałem, żeby użyć istniejących kontaktronów (1 i 4) i tylko dodać odległość.
Niestety, potrzebne by było coś podobnego do "DistanceToStop": nowe "DistanceToRun"...

Natomiast (dopisek poza konkursem) jakby faktycznie lokomotywy/urządzenia dało się zaprogramować w powiązaniu z przebytą odległością, to w ten sposób można sterować wszystkim na danym torze (po danej czujce) dla przejazdu każdej lokomotywy...

Re: Kolejka Tomka

: 20 lut 2019, 17:15
autor: gbbsoft
Lepiej na każdy tor zrobić oddzielny blok.

PS. Dopisałem sobie do listy "todo": "czekaj x cm jazdy loka" zamiast "czekaj x sek". Ale to większa rzecz i musze (a) przemyśleć (b) znaleźć na to czas...

PS. Zostaw w spokoju to "DistanceToStop". To jest stała cecha bloku opisująca odległość między miejscem wykrycia loka a miejscem jego zatrzymania, wyrażona w cm, dla każdego kierunku oddzielnie.

Podobnie zostaw "DistanceCm". To jest dynamicznie zmieniana cecha loka, w zasadzie tylko rośnie, która mówi ile cm lok przejechał od wyzerowania tej informacji. Porównanie DistanceCm==50 raczej nie ma sensu, bo prawdopodobieństwo, że będzie prawdziwe jest dość małe.