====== Systemy Czasu Rzeczywistego - tematy ====== ===== Lista tematów ===== ==== - Skrzyżowanie dróg jednopasmowych ==== Program ma symulować działanie systemu fizycznego jak na przedstawionym rysunku. {{:scr:scr:image001.gif?400|}} Po krzyżującej się trasie krążą trzy pojazdy (reprezentowane przez zadania). Przejazd przez skrzyżowanie jest możliwy tylko na wprost. Przed światłami i za skrzyżowaniem umieszczone są czujniki. Projekt ma obejmować: *model pojazdów *model sterownika świateł (z obsługą czujników) 2-3 osoby ==== - Ruch wahadłowy ==== Na zwężeniu drogi dwukierunkowej ustawione są światła (oznaczone grubymi liniami). W odległości ok. kilkudziesięciu metrów. Przed światłami znajdują się czujniki stwierdzające ruch pojazdu w kierunku zwężenia. {{:scr:scr:image003.gif?300|}} Zadaniem systemu jest zapewnienie bezpieczeństwa przejazdu i minimalizacja czasu oczekiwania na przejazd, przy zachowaniu ograniczeń fizycznych: *ruch pojazdu przez strefę wahadłową z maksymalną prędkością 40 km/h; *długość strefy wahadłowej ok. 200m Należy określić średnią prędkość przejazdu, maksymalną liczbę pojazdów w strefie objętą czujnikami, liczbę, dobrać odległość czujników od świateł i przedstawić obliczenia. Projekt powinien obejmować cztery współbieżne elementy: *sterownik świateł *sytuacja w strefie wahadłowej (liczba pojazdów, średnia prędkość) *sytuacja w strefie oczekiwania lewej (liczba pojazdów, maksymalny i minimalny czas oczekiwania) *sytuacja w strefie oczekiwania prawej 2-3 osoby ==== - Zielona fala ==== Główna droga przecina się z kilkoma (czteroma) drogami podrzędnymi. Odległości między skrzyżowaniami wynoszą ok. kilkuset metrów. {{:scr:image004.gif?300|}} System zielonej fali zapewnia bezkolizyjny przejazd (bez oczekiwania) drogą główną. Na każdym skrzyżowaniu konieczne jest sterowanie światłami oraz wyświetlanie zalecanej prędkości Projekt ma obejmować: *sterownik świateł na skrzyżowaniu *model centralnego sterownika, który synchronizuje pracę sterowników na skrzyżowaniach *model pojazdu (odczytywanie wskazań dotyczących prędkości, poruszanie się, zatrzymywanie na światłach, itd) 2-3 osoby ==== - Sterowanie ruchem pociągów ==== Ruch na stacji kolejowej kontrolowany jest manualnie przez operatora. Pociągi mogą wjeżdżać z lewej lub prawej strony torami A, B, C, D. {{:scr:image006.gif?500|}} Operator ma za zadanie zestawić połączenie tak, aby bezkolizyjnie kierować pociągi – np. z toru A na C z lewej strony. Powinien wtedy odpowiednio przestawić zwrotnice. Rysunek pokazuje panel operatora (i przy okazji schemat infrastruktury). Kliknięcie na przycisk (zielone i żółte kółka) informuje gdzie będzie zaczynał się ruch i kończył ruch oraz zmienia położenie zwrotnic. Kliknięcia maja nastąpić w kolejności pokonywania punktów przez pociąg. Zakładamy, że system zawiera czujniki, które informują o nadejściu pociągu oraz obecności /opuszczeniu strefy System ma kontrolować poprawność decyzji operatora – np.: nie dopuścić do krzyżowania torów i automatycznie przestawiać zwrotnice i otwierać semafory. Projekt ma obejmować: *model sterowania *model kontaktu z operatorem 2-3 osoby ==== - Pościg za obiektem w przestrzeni 3D ==== Napisać model symulacji pościgu za obiektem w przestrzeni 3D. Obiekty ścigany i uciekający symulowane są przez zadania/wątki. Obliczanie trajektorii obiektu ściganego następuje z użyciem radaru, który cyklicznie przemiata przestrzeń w ciągu 1-2 s. (W związku z tym położenie obiektu ściganego jest przewidywane – aproksymacja). W momencie zbliżenia – obiekt ścigający uruchamia własny system naprowadzania. Założyć obszar śledzenia typu 200 x 200 km i maksymalnych prędkości obiektów rzędu 1000 km/h. 2-3 osoby ==== - Dyspozytor karetek ==== Jednostka pogotowia dysponuje n karetkami. Karetka ma gwarantowany czas dojazdu (np.: 10 min). Obsługa pacjenta na miejscu trwa 5-15 min, dojazd do szpitala 10 min, postój w szpitalu 10 min, dojazd z powrotem do centrali 10 – 30 min. (Jednostki czasu umowne.) Dyspozytor ma za zadanie przyjmować wezwania, wysyłać karetki do wezwań, komunikować się z karetkami (np.: odbierać informacje o przewidywanym czasie postoju). 2 osoby ==== - Dystrybutor biletów (wydający resztę) ==== Zaprojektować sterowanie dystrybutorem biletów. Użytkownik wybiera numer odpowiadający nazwie stacji. Dystrybutor podaje kwotę i pobiera pieniądze. Po wprowadzeniu całej kwoty (lub większej) wydaje resztę i drukuje bilet. Dystrybutor składa się z działających współbieżnie komponentów: obsługa panelu, drukarka, moduł pobierania i wydawania pieniędzy. 2 osoby ==== - System wbudowany w pralkę ==== Zaprojektować sterowanie pralką. Uwzględnić następujące tryby działania: *nabieranie wody *pobieranie proszku *wypuszczanie wody (odpompowywanie) *grzanie (założyć ogranicznik temperatury) *pranie z obrotami w lewo *pranie z obrotami w prawo *rozkładanie bielizny do wirowania i pomiar skoków bębna (zwykle z wypuszczaniem wody) *wirowanie (zwykle z wypuszczaniem wody); przerywane w przypadku nadmiernych skoków bebna *automatyczne wyłączanie na końcu programu *blokowanie i odblokowywanie drzwiczek (zwłoka czasowa) Założyć, że pralka jest programowana przez wybór jednego z programów, ustalonych na stałe. W każdej chwili praca może zostać przerwana i program zmieniony na inny. (Także możliwe jest przejście do wybranego etapu programu). System powinien składać się z następujących modułów: sterowanie pralką, wirnik, pompa, grzałka, użytkownik. 2-3 osoby ==== - Winda ==== System sterowania windą i drzwiami na piętrach. Winda może zatrzymywać się na N piętrach Na każdym z nich drzwi sterowane są przez analogiczny system (otwieranie, zamykanie, zlecenia, wyświetlanie piętra, na którym winda się znajduje). W środku windy znajduje się panel programatora. Winda odmawia ruchu w przypadku zbyt dużego obciążenia, nie zamkniętych drzwi, itd. Uwzględnić alarmowanie, zatrzymanie i wznowienie ruchu. 3 osoby ==== - Bramka w metrze ==== Zaprojektować system sterowania bramką w metrze. Użytkownik podchodzi do automatu i wprowadza bilet z nadrukowaną ścieżką magnetyczną. Automat wciąga bilet, czyta zapis (także zapisuje informacje o wejściu) i wpuszcza użytkownika (Poprzez kołowrotek). Automat działa dla biletów jednorazowych i wielokrotnego użytku Dopuszczalna jest ingerencja operatora (siedzącego obok w kabinie) powodująca ręczne otwarcie lub zamkniecie bramki. System mechaniczny bramki powinien być symulowany programowo. 1-2 osoby ==== - Kosiarka automatyczna ==== Kosiarka automatyczna porusza się po zamkniętym obszarze (czujnik zbliżenia do przewodu emitującego pole elektromagnetyczne). Ma także czujniki kolizji, pochylenia terenu, czujnik nacisku na koła (włącza alarm w razie próby kradzieży), czujnik blokady noża, czujnik blokady kół, czujnik wysokości trawy, czujnik stanu akumulatora. W przypadku rozładowania wraca do stacji bazowej (na podstawie sygnału emitowanego przez stację bazową). Kosiarka porusza w losowo wybranych kierunkach. W przypadku kolizji zmienia kierunek. W przypadku blokady trwającej określony czas - wyłącza się. Na 10 min przed rozpoczęciem koszenia włącza alarm (należy usunąć przedmioty z trawnika). [Na podstawie opisów dostępnych w Internecie] Wskazana wizualizacja. 2-3 osoby ==== - Sterownik jednostopniowego kotła CO ==== Tematem jest symulator sterownika jednostopniowego kotła CO z regulatorem pogodowym. Kocioł CO może współpracować z zasobnikiem CWU (ciepłej wody użytkowej). Jego zadaniem jest dostarczanie ciepła do instalacji CO oraz utrzymywanie zadanej temperatury wewnątrz zasobnika CWU. Kocioł podgrzewa medium grzewcze (wodę) i poprzez pompę CO kieruje ją do instalacji CO lub poprzez pompę zasobnika kieruje do wymiennika wewnątrz zasobnika. Typowy przebieg pracy kotła to okresowe włączanie i wyłączanie palnika pracującego z pełną mocą oraz rozprowadzanie wytworzonego ciepła przy pomocy pomp. (Kiedy jest zimno załączenia są dłuższe i częstsze.) Sterownik ma zazwyczaj wbudowane zabezpieczenia (przegrzanie, zbyt niska temperatura spalin, brak zapłonu, brak ciągu kominowego–duże stężenie CO[tlenk węgla]). *Wejściami sterownika są czujniki temperatur (zewnętrzna, wewnętrzna, zasilania instalacji CO, powrotu CO, zasobnika, spalin) oraz stężenia CO. *Wyjściami są: zawór elektromagnetyczny gazu, iskrownik, pompa CO, pompa CWU. Można spojrzeć na symulatory (to tylko interfejs): [[http://www.vaillant.pl/linebreak/mod/netmedia_file/data/install_bediensimu.exe]] 2-3 osoby ==== - Sterownik wbudowany wewnątrz centrali alarmowej. ==== Sterownik odczytuje i analizuje informacje/zdarzenia pojawiające się na liniach/portach wejściowych (np. 10–20 liniach). Do linii mogą być podpięte czujniki generujące zdarzenia o pojawieniu się obiektu w nadzorowanej strefie, zdarzenie „napad” wygenerowane z pilota, zdarzenie „przymusowe odkodowanie” wygenerowane przez panel, zdarzenie „sabotaż”, zdarzenie zanik zasilania. Część zdarzeń ma charakter diagnostyczny (brak zasilania, włączenie zasilania, rozładowanie akumulatora, naładowanie akumulatora, awaria czyujnika) Zasadnicze tryby działania to tryb uzbrojonego i rozbrojonego alarmu. Możliwe jest wyłączenie reakcji na sygnały z linii w trybie uzbrojenia, przypisanie czasów opóźnienia pozwalających na rozbrojenie alarmu, określenie jakie akcje mają być podjęte dla zdarzeń (np.: włączenie syreny, powiadomienie centrali monitorowania). Centralka może przekazywać do centrali monitorowania informacje o rozmaitych zdarzeniach (rozbrojenie, uzbrojenie, awarie, alarmy) a także przeprowadzać okresowe testowanie kanałów komunikacji (drogą telefoniczną lub radiową. Uzbroić alarm można jedynie w trybie, kiedy żaden czujnik nie wykazuje aktywności. Przykładowa centralka: [[http://www.rokonet.pl/instrukcje_central.php]] 2-3 osoby ==== - Sterownik parkingu (typu bramki na AGH) ==== System obsługuje pewną liczbę wejściowych i wyjściowych bramek parkingowych oraz stanowisko operatora. Użytkownik podjeżdża do bramki i rejestruje żądanie otwarcia bramki (przystawiając do czytnika wzbudzany indukcyjnie klucz). Bramka nie otworzy się, jeżeli dany kod jest już zarejestrowany w systemie. Po otwarciu bramki rejestrowany jest wjazd lub wyjazd pojazdu. Szlaban automatycznie zamyka się po upływie określonego czasu. Bramka ma wbudowane zabezpieczenie przed uderzeniem szlabanu w pojazd (czujnik obecności pojazdu pod szlabanem – fotokomórka). Zdarzenie żądania otwarcia bramki jest sygnalizowane operatorowi. Operator może także jawnie wymusić otwarcie bramki. 2-3 osoby ==== - Parking wielopoziomowy ==== Parking składa się z trzech poziomów. System monitoruje stan parkingu (liczbę samochodów na każdym poziomie oraz liczbę wpuszczonych samochodów). Na górnym poziomie istnieje droga opuszczenia parkingu bez parkowania. Przed wjazdem na parking znajduje się bramka główna. System nie wpuści samochodów, jeżeli parking jest zapełniony. Na każdym poziomie jest wyświetlacz pokazujący liczbę wolnych miejsc na wszystkich poziomach. Przy wjeździe na parking danego poziomu znajduje się bramka. Tam samochód zatrzymuje się, odbiera bilet i wjeżdża po podniesieniu bramki. (Ale samochód potencjalnie może się także wycofać!). Wjeżdżający samochód jest wykrywany przez czujnik, podobnie samochód wyjeżdżający z danego poziomu. Czujniki wbudowane są także w drogę opuszczenia parkingu na najwyższym poziomie. Przy wyjeździe znajduje się bramka pozwalająca na pobranie przez operatora opłaty. Operator może także manualnie odblokować wybrane bramki bez zachowania procedury pobierania biletu (np.: aby wpuścić karetkę). 2-3 osoby ==== -S terownik szklarni ==== System ma za zadanie sterować temperaturą i wilgotnością powietrza wewnątrz szklarni. Wejścia: *Czujnik temperatury wewnętrznej i zewnętrznej. *Czujnik wilgotności powietrza wewnątrz i na zewnątrz Wyjścia: *Siłowniki okien (system uchyli okna, np.: jeżeli wilgotność wewnątrz jest za duża). Okna mogą być otwarte w pełni lub częściowo (mikrouchył). *Wentylator. Wentylator pompuje powietrze z czerpni podziemnej . Pompowane powietrze ma stabilną temperaturę (od 7o w zimie do 18o w lecie). W modelu symulacyjnym należy założyć racjonalną kubaturę szklarni i wydajność wentylatora. *Dmuchawa ciepłego powietrza. Jeżeli temperatura wewnątrz jest za niska (i na zewnątrz temperatura jest jeszcze niższa) system włączy dmuchawę. Wydajność dmuchawy jest niższa, niż wentylatora. *Otwieranie okien jest energooszczędne i ma priorytet wyższy niż wentylator/dmuchawa. 2-3 osoby ==== - Alarm samochodowy zintegrowany z centralnym zamkiem i blokadą zapłonu ==== Funkcje pilota: uzbrojenie, rozbrojenie, cicha zmiana stanu, poszukiwanie samochodu na parkingu. Wejścia: pilot, czujniki otwarcia drzwi, obecność kluczyka w stacyjce. Wyjścia zamek centralny, siłowniki szyb, zapłon, światła, syrena. Podczas zbrojenia: zamykanie centralnego zamka i szyb sterowanych elektrycznie. Przed uruchomieniem silnika – sprawdzanie kodu kluczyka. Automatyczne zamykanie samochodu, jeżeli po rozbrojeniu nie otwarto drzwi. Ukryty wyłącznik immobilisera (opcja). 2 osoby ==== - Drukarka ==== Drukarka drukuje na papierze „paski” odpowiadające szerokości głowicy. Zakładamy, że dane (mapa bitowa) paska przygotowywane są w komputerze i przesyłane do drukarki po przesłaniu przez nią sygnału gotowości. Wejścia: *Komputer: sygnał początku zadania, początku strony, dane dla paska, koniec strony, koniec dokumentu, anulacja pracy. *Przyciski: wysuw papieru, anulacja wydruku strony *Czujniki (poziom tuszu/tonera), obecność papieru, blokada papieru, otwarta obudowa. Wyjścia: *Siłownik przesuwający papier (bez cofania), ruch głowicy podczas drukowania. *Sygnały do komputera (pasek wydrukowany, strona wydrukowana) 2 osoby ==== -Telefon bezprzewodowy ==== System składa się ze stacji bazowej oraz 1–n słuchawek telefonicznych. Stacja bazowa przesyła do zarejestrowanych słuchawek pakiety danych (komunikaty) zawierające głos lub informacje sterujące. Podobnie – słuchawki przesyłają głos lub komunikaty sterujące. Słuchawka musi zostać zarejestrowana w systemie. Dzieje się tak, jeżeli stacja bazowa zostaje włączona i słuchawka leży na stacji bazowej lub kiedy w stacji bazowej naciśniemy przycisk przywołania i w słuchawce zostanie uaktywniona funkcja rejestracji. Po naciśnięciu przywołania dzwonią wszystkie zarejestrowane słuchawki. *Kiedy stacja bazowa odbierze dzwonek połączenia, dzwonią wszystkie słuchawki. *Odebranie połączenia przez jedną ze słuchawek rozpoczyna wymianę komunikatów (dane zawierają głos), aż do rozłączenia jednej ze stron. *Połączenie nieodebrane jest rejestrowane w stacji bazowej. Informacja o tym jest przesyłana do słuchawek (miga dioda nieodebranych połączeń). *Z słuchawki można zainicjować połączenie zewnętrzne lub wewnętrzne (z jedną z zarejestrowanych słuchawek). Jeżeli podczas połączenia wewnętrznego nadejdzie połączenie zewnętrzne, może być ono odebrane przez dowolną słuchawkę. Połączenie wewnętrzne jest wtedy kończone. *Z słuchawki można konfigurować stację bazową (np.: zmieniać datę i czas) oraz odczytywać dane o nieodebranych połączeniach. *Jeżeli w jednej słuchawce wybierzemy funkcję przesyłania książki telefonicznej, a w drugiej odbioru, nastąpi przesłanie danych w książce telefonicznej. 3 osoby ===== Rejestracja ===== :!: **Uwaga** :!: **Przed zarejestrowaniem tematu sprawdź, czy nie jest zajęty. Dany temat może zostać wybrany tylko przez jedną grupę.** [[http://home.agh.edu.pl/~pszwed/scr/inscr-2014.html|Zarejestruj temat]] \\ [[http://home.agh.edu.pl/~pszwed/inscr/list.cgi?courseid=scr-2014&title=SCR|Lista zarezerwowanych tematów]]\\ Funkcja do rejestracji jest niestety bardzo prymitywna, za co z góry przepraszam. Działanie jej polega na dopisywaniu kolejnych wierszy do pliku tekstowego. Nanosząc ręcznie poprawki najłatwiej jest mi usuwać całe wiersze. *Jeśli 1-2 osobowa grupa chce dodać kolejną osobę - proszę zarejestrować jeszcze raz wpisując wszystkich członków grupy. Wcześniejszy wpis zostanie usunięty *Jeżeli grupa chce zmienić temat - proszę zarejestrować jeszcze raz grupę i nowy temat.