Forum Główne > Urządzenia srk
Symulator małej stacji z mechanicznymi USRK
Paweł:
--- Cytat: marcinw w 26 Maj 2015, 12:50:50 ---Kto wysyła te meldunki?
--- Koniec cytatu ---
Ten, kto symuluje ruch po scenerii i działanie urządzeń wykonawczych (przestawianie zwrotnic, wykolejnic, sygnalizatorów).
Napisałem o generowaniu meldunków przez nastawnię - chodzi o to, że jeżeli symulator jazdy nie będzie przesyłał meldunków położenia zwrotnic/stanu sygnałów, a jedynie potwierdzi odebranie komunikatu z rozkazem, to symulator nastawni będzie musiał generować meldunki sam sobie - np. wysyła rozkaz przestawienia zwrotnicy, i jeżeli nie ma żadnego błędu, to po 3 sekundach generuje meldunek zajęcia położenia końcowego (meldunki takie są wymagane dla urządzeń stacyjnych, dla których położenie zwrotnicy jest sygnałem z zewnątrz, a nie bezpośrednim wynikiem sterowania).
marcinw:
U siebie przyjmuję takie założenia:
1. Zawsze nastawnia symuluje działanie swoich urządzeń, więc i meldunki sama sobie wewnętrznie organizuje.
2. Każdy symulator prowadzenia pociągu symuluje fizykę swojego składu i po prostu rozsyła pozycje wszystkich 'swoich' pojazdów do reszty.
Wydaje mi się to najprostsze. Nawet, jak będzie kilka nastawni i kilka składów to będzie jasny podział, kto co obsługuje, no i reszta klientów nie musi się martwić o to, jak działają urządzenia wykonawcze. Nie mniej jeśli widzisz tu jakieś potencjalne problemy to daj znać, założenia udoskonalimy albo zmienimy całkowicie :)
Punkt 2 trochę komplikuje współpracę pomiędzy kilkoma składami (jak sobie odłączymy wagony i ktoś inny będzie się chciał pod nie podłączyć, to nasz klient będzie musiał mu je niejako 'przekazać na własność'), ale wydaje mi się, że jest to nieuniknione przy grach sieciowych.
Alternatywą jest posiadanie jednego wielkiego serwera, który będzie symulował działanie wszystkiego (czyli wszystkich urządzeń wykonawczych oraz fizyki wszystkich pojazdów) na scenerii, ale to znowu byłoby bardzo upierdliwe, bo nie dość, że taki serwer trzeba by gdzieś mieć, to jeszcze prowadzenie składu za jego pośrednictwem byłoby bardzo toporne przy dużych lagach w internecie.
Paweł:
W ISDR rozwiązane jest to w dużym uproszczeniu w następujący sposób:
symulacja urządzeń stacyjnych (wewnętrznych - pulpity nastawcze, system zależności)
|
symulacja ruchu i urządzeń wykonawczych (zewnętrznych - napędy zwrotnicowe/Wk, sygnalizatory, obwody torowe)
W celu integracji z symulatorem jazdy czy innym środowiskiem, w którym działać ma nastawnia, zastępujemy symulację ruchu i urządzeń wykonawczych zewnętrzną aplikacją. Urządzenia wykonawcze srk są generalnie elementami układu torowego, odwzorowanego w module, który będzie symulował ruch pojazdów po tym układzie.
Nie do końca wiem jaką zakładasz architekturę symulacji sieciowej, dotąd zakładałem, że będzie jakiś serwer który to wszystko koordynuje i na nim będą odwzorowane urządzenia wykonawcze, on by się zajmował również przesuwaniem pojazdów po układzie torowym na podstawie własnej symulacji (AI) lub wyliczeń od klientów-maszynistów, oraz detekcją kolizji.
Można założyć, że działanie urządzeń wykonawczych symulowane będzie po stronie symulatora nastawni, a symulator ruchu jedynie będzie otrzymywał informacje o zmianach stanu tych urządzeń. W takiej sytuacji nastawnia w zasadzie nie steruje i kontroluje urządzeń zewnętrznych, a jedynie nimi steruje, zakładając, że one po drugiej stronie są i działają jak należy. Moduł symulacji urządzeń stacyjnych w zasadzie nadal opiera się na meldunkach kontroli, z tym, że nie są one przysyłane z symulatora ruchu, a sztucznie generowane przez moduł interfejsu po stronie nastawni.
Jest to nie do końca zgodne z ideą działania systemów srk, ale na upartego można tak to rozwiązać. Wykluczamy wtedy niektóre sytuacje awaryjne urządzeń wykonawczych, np. tabor stoi na zwrotnicy i zwrotnica nie może się przełożyć - dla symulatora nastawni zawsze się przełoży. Ale tak czy inaczej symulator ruchu będzie musiał wysyłać meldunki zmiany położenia zwrotnic przy ich rozpruciu przez tabor, czy też gdy ktoś je zacznie w terenie korbować, o ile zakładamy taką możliwość.
marcinw:
--- Cytat: Paweł w 27 Maj 2015, 10:08:56 ---Jest to nie do końca zgodne z ideą działania systemów srk, ale na upartego można tak to rozwiązać. Wykluczamy wtedy niektóre sytuacje awaryjne urządzeń wykonawczych, np. tabor stoi na zwrotnicy i zwrotnica nie może się przełożyć - dla symulatora nastawni zawsze się przełoży.
--- Koniec cytatu ---
Nie trzeba wykluczać, bo nastawnia wie, gdzie są wszystkie pojazdy na stacji i zanim coś przestawi to może sprawdzić, czy tor nie jest zajęty. Wydaje mi się, że różnica u nas w architekturze jest generalnie taka, że Ty zakładasz osobny centralny serwer ruchu, kiedy ja mam architekturę bardziej rozproszoną, gdzie nastawnie są niejako lokalnymi 'pseudo serwerami'.
Zresztą do końca tygodnia powinienem dać radę przygotować wszystko na bardziej publiczny test, wiec zobaczymy, jak się to wstępnie sprawdzi w praktyce w normalnym działaniu :)
--- Cytat: Paweł w 27 Maj 2015, 10:08:56 ---Ale tak czy inaczej symulator ruchu będzie musiał wysyłać meldunki zmiany położenia zwrotnic przy ich rozpruciu przez tabor, czy też gdy ktoś je zacznie w terenie korbować, o ile zakładamy taką możliwość.
--- Koniec cytatu ---
Zgadza się. I z tej strony wg mnie powinno to działać tak, jak to opisałeś wcześniej, że korbujący wysyła info do właściciela zwrotnicy (czyli lokalnej nastawni), że korbuje, a ona już rozsyła to info do wszystkich klientów, że zwrotnica się przestawiła, bo ktoś ją przestawił ręcznie.
Paweł:
Jako moduł nastawni mam na myśli zewnętrzny moduł, którego zadaniem jest odwzorowanie działania urządzeń wewnętrznych srk (pulpity, systemy zależności). Wymiana danych między nastawnią a modułami symulującymi ruch i pojazdy odbywa się pojedynczym torem komunikacyjnym i obejmuje takie informacje, jakie podałem na początku. Rzeczy takie jak położenia osi na układzie torowym nastawnię nie interesują - to się dzieje w terenie, do nastawni dochodzą jedynie meldunki zajęcia obwodu torowego i położeń zwrotnicy.
Przy takim rozwiązaniu jakie proponujesz, trzeba by przewidzieć między nastawnią a symulatorami dodatkowo serwer nastawni, który opiera się na programie symulatora ruchu i komunikuje się ze wszystkimi klientami, także z modułem symulującym nastawnię, a ponadto może mieć dokładny obraz sytuacji ruchowej i pełnić funkcję wizualizacji sytuacji ruchowej 3D.
Nawigacja
[#] Następna strona
Idź do wersji pełnej