Witam
Jakiś czas temu zabrałem się za tworzenie programu, który mógłby służyć do sterowania ruchem w EU07. Program ma dosyć duże możliwości, jest prosty jeżeli chodzi o "programowanie scenerii" i uwzględnia podstawowe zasady prowadznia ruchu, ale z braku zainteresowania zarówno użytkowników jak i developerów, moich ograniczeń sprzętowych (które praktycznie wykluczają zabawę w EU07), poważnych ograniczeń możliwości sterowania w EU07 oraz pracy nad własnym symulatorem zawiesiłem prace nad nim. Tak więc wychodzi na to że powstał bardziej jako eksperyment i dla własnej satysfakcji, niż jako praktyczne zastosowanie. W razie czego mogę jednak do niego wrócić.
Idea jest taka, że mamy zewnętrzny program który wysyła nazwy eventów do odpalenia w EU07 (przestaw zwrotnicę, wyświetl sygnał), natomiast EU07 odsyła do programu meldunki o stanie urządzeń w scenerii (odpalono event przestawiania zwrotnicy, wyświetlono sygnał, wjechano na odcinek). Interfejs programu wygląda tak jak typowy komputerowy system SRK. Układ torów, urządzeń i ich parametry edytowane są graficznie i jednocześnie pełnią funkcję zależnościową - program sam wyszukuje i nastawia przebiegi według podanych punktów początkowych i końcowych. Jednocześnie program śledzi ruch poszczególnych pociągów, co pozwoliło by na pewną automatyzację prowadzenia ruchu (nastawianie przebiegów według informacji o położeniu pociągów i rozkładzie jazdy).
Program powstał raczej jako próba rozwiązania problemu sterowania ruchem w EU07, a nie robienia "multi" - jak wiadomo eventy są rozwiązaniem kłopotliwym i mają bardzo ograniczone możliwości, więc program miał by być uruchamiany "w tle" razem z symulatorem i przejąć funkcję eventów, zostawiając je jedynie w roli "warstwy wykonawczej". Nie mniej jednak myślę że dało by się go wykorzystać do tzw. "multi", łącząc się przez sieć z kilkoma symulatorami jednocześnie, wysyłając polecenia do wszystkich i odpowiednio analizując przysyłane zgłoszenia.
Poważnym problemem jest wykrywanie zajętości w EU07, a właściwie jej brak - rozwiązane to zostało poprzez rozmieszczenie w poszczególnych miejscach krótkich odcinków torów, które wysyłają zdarzenia zajęcia i zwolnienia, na podstawie czego program zaznacza zajętości między tymi odcinkami (np. tor stacyjny, tor szlakowy, tor między semaforem wjazdowym a głowicą rozjazdową, głowica rozjazdowa), ale jest to metoda zawodna i nieodporna na wjazd i cofnięcie z odcinka (łatwo można doprowadzić do sytuacji polegającej na stwierdzeniu zwolnienia niezajętości, mimo że tor faktycznie jest zajęty, bądź na odwrót) - żeby to w miarę działało, potrzebne było by dodanie nowych eventów dla toru (zajęcie w kierunku 1/2, zwolnienie w kierunku 1/2), a i tak będzie problem przy łączeniu i rozłączaniu (każda taka operacja będzie wymagała poprawienia informacji o zajętości toru, inaczej znowu może powstać fałszywa niezajętość). Problem może być jeszcze z właściwą interpretacją sygnałów przez AI - tu nie ma ustalonych misji i dokładnie przetestowanego ruchu pociągów kierowanych przez program, jeździmy dowolnie, tak jak pozwala układ torowy. Błąd AI rozwali całą zabawę.
Poniżej screen z programu - widoczne nastawione przebiegi a także wspomniane odcinki służące do śledzenia ruchu (małe trójkąty). Oczywiście program nie współpracuje z EU07 - zrobione jest jedynie "symulowanie" wykonywania eventów i odsyłania meldunków.