Zdarzenia
Re: Zdarzenia
Acha czyli program nie wie kiedy lok zmienił kierunek tylko wie kiedy wydam polecenie zmiany kierunku loka w programie. Czyli defacto sprawdza program a nie dekoder. No dobrze. To idąc tym tropem można stworzyć zdążenie które zareaguje na nastawy prędkości. Czyli: gdy ustawie prędkość loka w programie np na 50km to wykonaj dana operacje. Można tak to robić. Byłoby to zbliżone z wartością rzeczywista pomijając opóźnienia hamowania i przyspieszania czyli cv3 u cv3. Może by Pan testowo dodał ze trzy nastawy. Np na 30, 50 oraz 80 km i sprawdzę czy to by działało. Tylko że zdążenie musiało by być np że gdy nastawa na 30 lub więcej to wykonaj costam. Itp bo idealnie się czasem nie nastawi prędkości że względu na 28 kroków i nie trafi się w warunek dokładnie.
Re: Zdarzenia
To samo by się przydało dla. Gdy ustawiona prędkość mniejsza lub równa od 30, 50, 80 km/h.... Wykonaj operacje wg zdarzenie
Re: Zdarzenia
Jest zdarzenie "Po zmianie prędkości". Proponuje je spróbować użyć. Można użyć bloku "Jeżeli" aby wprowadzić warunek testowania aktualnej (wg programu) prędkości lokomotywy.
this.ActiveTrain.Speed_Km() <=30
PS. Funkcja podaje prędkość w km/h, o ile lokomotywa jest sprofilowana. W przeciwny razie trzeba użyć: this.ActiveTrain.Speed <= 14. Speed podaje prędkość w krokach.
PS2. To już było omawiane m.in. na 5 stronie tego wątku
this.ActiveTrain.Speed_Km() <=30
PS. Funkcja podaje prędkość w km/h, o ile lokomotywa jest sprofilowana. W przeciwny razie trzeba użyć: this.ActiveTrain.Speed <= 14. Speed podaje prędkość w krokach.
PS2. To już było omawiane m.in. na 5 stronie tego wątku
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Re: Zdarzenia
Tyle że ja nie posiadam informacji zwrotnej. Stąd pomysł o wstawienie tej funkcji w zdażeniach lokomotywy. Więc nie mam bloków zrobionych.
Re: Zdarzenia
Czy w takim wypadku gdy nie mam bloków bo nie mam informacji zwrotnej można wrzucić takie zdarzenia do zdarzeń lokomotyw?
Re: Zdarzenia
Ależ one są na poziomie lokomotywy. :-)
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Re: Zdarzenia
Hmm. Ok. Sprawdzę dlaczego to przeoczyłem.
Re: Zdarzenia
Faktycznie jest.. i działa.
Mam tylko pytanie jak często program sprawdza stan lokomotywy (w programie)? Pytam, ponieważ jak dam więcej niż jedno polecenie w zdarzeniu "po zmienia prędkości" to są one wykonywane z dość dużym opóźnieniem, pomiędzy 5-8 sekund. Pierwszy spełniony warunek jest wykonywany błyskawicznie a kolejny już z opóźnieniem sporym.
I drugie pytanie, czy jest wyrażenie sprawdzające prędkość lokomotywy w danym przedziale np pomiędzy 20 a 40 km/h. Coś na wzór:
this.ActiveTrain.Speed_Km() ><20:40 istnieje coś podobnego?
Mam tylko pytanie jak często program sprawdza stan lokomotywy (w programie)? Pytam, ponieważ jak dam więcej niż jedno polecenie w zdarzeniu "po zmienia prędkości" to są one wykonywane z dość dużym opóźnieniem, pomiędzy 5-8 sekund. Pierwszy spełniony warunek jest wykonywany błyskawicznie a kolejny już z opóźnieniem sporym.
I drugie pytanie, czy jest wyrażenie sprawdzające prędkość lokomotywy w danym przedziale np pomiędzy 20 a 40 km/h. Coś na wzór:
this.ActiveTrain.Speed_Km() ><20:40 istnieje coś podobnego?
Re: Zdarzenia
Teoretycznie powinien wykonywać jedno po drugim. Zakończenie pierwszego wywołuje rozpoczęcie wykonywania drugiego.
Jeżeli nie program zmienia prędkości, to sprawdza (nie częściej niż) co 0.5s stan lokomotywy w centralce. Może tu jest problem.
Tam się pisze albo w VB albo w C#, czyli raczej tak:
this.ActiveTrain.Speed_Km()>20 && this.ActiveTrain.Speed_Km()<40
Jeżeli nie program zmienia prędkości, to sprawdza (nie częściej niż) co 0.5s stan lokomotywy w centralce. Może tu jest problem.
Tam się pisze albo w VB albo w C#, czyli raczej tak:
this.ActiveTrain.Speed_Km()>20 && this.ActiveTrain.Speed_Km()<40
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Re: Zdarzenia
Trenuje bez połączenia z DCC, więc raczej nie sprawdza dekoderów. Poprostu to wygląda jakby była jakaś pauza pomiędzy zdarzeniami. Jeszcze sprawdzę wpisując wszystko w pętli w jednym zdarzeniu bo teraz mam po kilka zdarzeń pod jednym "po zmianie prędkości". Może to powoduje opóźnienia.
Czyli w danym warunku mam wpisać this.ActiveTrain.Speed_Km()>20 && this.ActiveTrain.Speed_Km()<40 jednym ciągiem?
Czyli w danym warunku mam wpisać this.ActiveTrain.Speed_Km()>20 && this.ActiveTrain.Speed_Km()<40 jednym ciągiem?