Politechnika Opolska
Wydział Elektrotechniki, Automatyki i Informatyki
Projekt z przedmiotu
Metody komputerowe w technice
Kierunek studiów: Informatyka |
Rok studiów: I |
Dzień i godzina zajęć: Poniedziałek, 14:00 |
Numer projektu: 1 |
Tematyka projektu: Analiza przykładu threeservos. |
Data oddania projektu: |
Grupa realizująca projekt |
Nazwisko i imię |
Cywiński Marek |
Czech Adam |
Kossak Maciej |
Celem ćwiczenia jest badanie wpływu parametrów opisujących system czasu rzeczywistego na działanie systemu sterującego trzema serwomehcanizmami. W ćwiczeniu ma zostać zbadany wpływ na stabilność układu regulacji (parametrów systemu czasu rzeczywistego rozważany na zajęciach laboratoryjnych). Kolejnym etapem ćwiczenia jest porównanie strategii DM (Deadline Monotonic) i EDF (Earliest Deadline First). Obie te strategie odpowiadają za szeregowanie zadń w systemach czasu rzeczywistego.
• Serwomechanizm - zamknięty układ sterowania ze sprzężeniem zwrotnym, w którym sygnałem wyjściowym jest jakaś dana. Takimi danymi może być prędkość, przyśpieszenie, położenie czy przesunięcie. Charakterystyczny dla serwomechanizmów jest całkujący charakter siłownika o dynamice nie utrudniającej regulacji, ale wnoszącej nieliniowość. Całkujący charakter siłownika zapewnia teoretycznie zerowy błąd statyczny. Duże wzmocnienie w torze głównym poprawia nadążanie układu za zmianami wzorca, ale zmniejsza zapas stabilności. Sytuację można poprawić wprowadzając korektor, regulator PD. Wartość wzorcowa porównywana jest z przetworzonym przez przetwornik bieżącym sygnałem wyjściowym i powstały w ten sposób uchył podawany jest na człon korekcyjny, a dalej na wzmacniacz. Sygnał już wzmocniony trafia do siłownika, którego przemieszczenie jest wartością wyjściową układu. Serwomechanizm ma strukturę typowego układu regulacji, nie steruje jednak obiektem technologicznym, lecz siłownikiem w celu usprawnienia działania toru wykonawczego. Serwomechanizmy są powszechnie stosowane w przemyśle do precyzyjnego sterowania obiektem nawet rzędu mikrometrów.
Rysunek 1 Symulacja threeservos (Model).
• Startegia DM (Deadline Monotonic) – Jest to strategia szeregowania zadań w systemie czasu rzeczywistego oparta na systemie priorytetów. Przedzielane one zostaję poszczególnym zadaniom na podstawie względnego ograniczenia czasowego, który jest określany podczas jego definiowania. Deadline Monotonic jest strategią statyczną, a przydzielanie priorytetów odbywa się na zasadzie „mniejsza wartość względnego ograniczenia czasowego, wyższy priorytet”. Oczywiście wykonywane w pierwszej kolejności są zadania z wyższym priorytetem.
Przyjmuje się założenie że:
Warunek wystarczający na istnienie rozwiązania dopuszczalnego wyraża się zależnością:
gdzie:
• Strategia EDF (Earliest Deadline First) - optymalny algorytm szeregowania zadań wykorzystywany w systemach czasu rzeczywistego, wykorzystujący kolejkę priorytetową do przechowywania zadań i przydzielania ich do wolnych procesów. Za każdym razem, kiedy w systemie pojawi się niezajęty proces (np. jeden z procesów ukończy swoje zadanie), z kolejki priorytetowej zostanie pobrane zadanie o najwyższym priorytecie (najbliższe do swojego deadlinu), a następnie przekazane do wykonania dla procesu. Algorytm EDF jest ogólnym algorytmem szeregującym zbiory zadań w oparciu o jeden procesor, przy czym żądany termin wykonania każdego z zadań jest równy jego okresowy, ponadto zadania nie są wywłaszczane.
Zbiór zadań jest szeregowany jeśli spełnione są następujące warunki:
Warunek ten odzwierciedla wymaganie, aby średnie obciążenie procesora w systemie jednoprocesorowym nie przekraczało 100%, warunek ten dotyczy szeregowania zarówno zadań wywłaszczalnych jak i niewywłaszczalnych dowolnym algorytmem szeregującym.
Powyższy warunek jest specyficzny dla algorytmu EDF, zapewnia, że obciążenie procesora w przedziale czasu o długości z zakresu (T1 , Ti ), rozpoczynającym się w chwili wywołania zadania Zi nie przekracza 100%. Aby zbiór zadań był szeregowany algorytmem EDF, muszą zostać spełnione obydwa opisane warunki.
Podczas pierwszego przebiegu zachowana została strategia szeregowania zadań DM oraz domyślne ustawienie parametrów:
W pliku pid_code1.m :
exectime = 0.002;
W pliku threeservos_init.m :
periods = [0.006 0.005 0.004];
Jak można zaobserwować na poniższych wykresach
W drugim przebiegu strategia znów została ta sama, jednakże ustawiliśmy indentyczny okres równy 0,004.
W trzeci przebiegu dla strategii szeregowania DM ustawiliśmy domyślne wartości przebiegu, jednakże zmieniliśmy wartości exectime nadając im wartość 0,003.
W tej części zadania zmieniona została strategia szeregowania zadań, ze statycznej DM, na dynamiczna EDF. Przy pierwszym przebiegu wszystkie ustawienia pozostają domyślne.
Przebieg numer 2 został wykonany ze zmienioną wartością exectime, została jej nadana wartość 0,003. Natomiast okres ustawiony został na wartość domyślną.