- Symulator MaSzyna -

Symulator EU07 (i nie tylko) => Na warsztacie => Wątek zaczęty przez: El Mecánico w 03 Stycznia 2014, 16:56:42

Tytuł: Symulator obwodów sterujących - MaSzynaLD
Wiadomość wysłana przez: El Mecánico w 03 Stycznia 2014, 16:56:42
Jakiś czas temu zabrałem się za moduł symulatora obwodów sterujących, zarówno lokomotywowych jak i USRK. Niestety z barku czasu idzie mi to jak krew z nosa;/ Jak na razie mam szkielet obiektowy (całość powstaje w C++, standard ISO C++11), obecnie powstają metody które na tych obiektach mają ładnie i szybko operować.
Założenie koncepcyjne jest, że program z postaci diagramu drabinkowego kompilowany jest na swego rodzaju zestaw map i masek binarnych. Zmiana któregoś z sygnałów wejściowych ma powodować nałożenie na mapę odpowiedniej maski, przez to błyskawicznie dostajemy odpowiedź symulatora. Tam gdzie mają występować naturalne opóźnienia działania (przekaźniki zwłoczne, urządzenia elektropneumatyczne) wystarczy w diagramie użyć elementu zwłocznego i ustawić odpowiedni czas.
Przypomina sprzętowy sterownik PLC? I tak ma być:D Różnica jest tylko taka, że diagramy nie będą przetwarzane w kółko, lecz ewaluacja będzie wyzwalana przez zmiany stanów wejść (akcja użytkownika programu, przejechanie nad rezonatorem, zajęcie/zwolnienie toru, itp) oraz po zliczeniu opóźnienia na timerze elementu zwłocznego.

Jeśli są osoby chętne przyjrzeć się temu kawałeczkowi kodu który już istnieje (trochę słabo skomentowany) i coś do niego dołożyć, to na razie proszę na PW (nie mogę się dostać do repo na symkowym serwerze).

  Dodano: 07 Stycznia 2014, 13:25:52
Tymczasowo postawiłem repo projektu na SourceForge (na serwerze maszynowym ciągle nie ma dojścia). Adres: https://sourceforge.net/projects/maszynald/ (https://sourceforge.net/projects/maszynald/). Dostęp do źródeł również przez git i mercurial.
Tytuł: Odp: Symulator obwodów sterujących - MaSzynaLD
Wiadomość wysłana przez: djuzi w 27 Lutego 2014, 08:33:52
Piszesz program, w którym będzie można układać schematy drabinkowe obwodów dla MaSzyny i eksportować je do formatu odczytywalnego dla EXE? Pytam, bo z tych opisów, które czytałem - w zasadzie konkretnych założeń było niewiele. 
Tytuł: Odp: Symulator obwodów sterujących - MaSzynaLD
Wiadomość wysłana przez: El Mecánico w 04 Marca 2014, 15:06:00
Piszę program (a dokładniej bibliotekę dynamiczną) który będzie wykonywać te diagramy, symulując działanie obwodów elektrycznych sterujących pracą lokomotywy, stacji, szlaku, etc, łącznie z usterkami, takimi jak brak przejścia na styczniku, urwany kabelek, itp itd. Będzie oczywiście możliwość naprawienia przez mechanika (będziemy mieli automatyków USRK?:D) tego co będzie w stanie. Potrzebne będą skany schematów elektrycznych obwodów sterowania.
Co do edytora, zapewne będzie w komplecie, a na razie można używać LDmicro, na którego kodzie źródłowym się opieram, i pewnie zrobię import z niego.

  Dodano: 04 Marca 2014, 17:59:31
Pojawiają się pytania jakie schematy oraz oferty od chętnych, informuję więc, że wszelkie schematy elektryczne obwodów sterujących jakie macie lub wpadną wam w łapki ładujcie na MaSzynowy upload tak jak zdjęcia na tekstury.
Tytuł: Odp: Symulator obwodów sterujących - MaSzynaLD
Wiadomość wysłana przez: Mytnik w 04 Marca 2014, 19:56:46
A schematy USRK też potrzebujesz? Np. Obwody świateł, sygnałowe,nastawcze,blokady itd.
Mógłbym coś podziałać w tym temacie, ale schematy takie raczej mogą służyć jako poglądowe, tutaj trzeba by było projektować całkiem nowe pod daną stację, szlak.
Tytuł: Odp: Symulator obwodów sterujących - MaSzynaLD
Wiadomość wysłana przez: El Mecánico w 05 Marca 2014, 15:25:31
Schematy poglądowe się przydadzą, raczej nie za wiele jest na forum osób które potrafiły by "z marszu" zrobić SRK;]
Przypominam jeszcze raz, diagram drabinkowy stanowi odwzorowanie logiki obwodu, nie uwzględnia on czasu propagacji sygnału w długich liniach transmisyjnych (np stan blokady odcinka między stacjami), impedancji obwodów i cewek, natężenia i napięcia. Można te wartości jednak przekazać do LD i w nim uwzględnić, są bowiem elementy operujące na liczbach, oraz elementy zwłoczne, którymi możemy zasymulować czas propagacji. Jeśli w przyszłości EXE, ew. jakiś serwer ruchu, będzie robił sam propagację, to po prostu czasówkę z LD wystarczy usunąć.
Tytuł: Odp: Symulator obwodów sterujących - MaSzynaLD
Wiadomość wysłana przez: El Mecánico w 01 Marca 2017, 13:58:49
Lekka zmiana podejścia do tematu oraz repo projektu. Tym razem idę trochę na łatwiznę i korzysta z "gotowca" w postaci nagłówka z LDmicro oraz przykładowej aplikacji symulującej wykonywanie LD.
Nowe repo pod adresem: https://sourceforge.net/projects/ld-module-for-maszyna/