Komputerowe systemy sterowania Jerzy Nawrocki www.cs.put.poznan.pl/jnawrocki/wdi Start promu kosmicznego Discovery
Systemy sterowania (2) Sterowanie w oparciu o gwiazdy
Systemy sterowania (3) Sterowanie w oparciu o kompas
Systemy sterowania (4) Sterowanie w oparciu o GPS
Systemy sterowania (5) Komputerowe systemy sterowania Loty kosmiczne Szybka kolej Elektrownie atomowe Roboty przemysłowe
Systemy sterowania (6) Systemy transformacyjne i reaktywne Dane wejściowe System transformacyjny output= f(input) Dane wyjściowe 6 3 1 5 2 4 1 2 3 4 5 6 Komputer
Systemy sterowania (7) Systemy transformacyjne i reaktywne Dane wejściowe System transformacyjny output= f(input) Dane wyjściowe Zdarzenie Zdarzenie System reaktywny Odpowiedź Odpowiedź
Systemy sterowania (8) System reaktywny Układ pomiarowy Sterowany obiekt Układ wykonawczy Układ pomiarowy Układ wykonawczy System sterowania
Systemy sterowania (9) System reaktywny Układ pomiarowy Grzejnik Układ wykonawczy
Systemy sterowania (10) System czasu rzeczywistego system informatyczny, który nadąża za zmianami zachodzącymi w jego otoczeniu.
Systemy sterowania (11) Systemy typu soft real-time
Systemy sterowania (12) Systemy typu hard real-time
Systemy sterowania (13) Model kaskadowy rozwoju sys. czasu rzeczywistego Specyfikacja wymagań Projektowanie Kodowanie i testowanie Szacowanie maksymalnego czasu wykonania Szeregowanie zadań
Plan wykładu Projektowanie metodą HRT HOOD Maksymalny czas wykonania Szeregowanie zadań Systemy sterowania (14)
Metoda HRT-HOOD HOOD= Hierarchical Object-Oriented Design HRT-HOOD= Hard Real-Time HOOD Europejska Agencja ds. Przestrzeni Lata 1990-1995 A. Burns, A. Wellings, University of York Konkurencja: Real-Time UML Systemy sterowania (15)
Systemy sterowania (16) Metoda HRT-HOOD Rodzaj Pr Bufor Nazwa obiektu Insert Get Operacje
Systemy sterowania (17) Metoda HRT-HOOD Insert Get Pr Bufor Dana
Systemy sterowania (18) Metoda HRT-HOOD Pr Rodzaj Rodzaje obiektów: cykliczne - C sporadyczne - S pasywne - Pa chronione - Pr aktywne - A
Systemy sterowania (19) Metoda HRT-HOOD Obiekt cykliczny - C okres Procedura aktywowana zegarem
Systemy sterowania (20) Metoda HRT-HOOD Obiekt sporadyczny - S maksymalna częstotliwość Procedura aktywowana zdarzeniem
Systemy sterowania (21) Metoda HRT-HOOD Obiekt sporadyczny - S maksymalna częstotliwość Procedura aktywowana zdarzeniem
Systemy sterowania (22) Metoda HRT-HOOD Joe! Przynieś.. Obiekt pasywny - P Procedura wywoływana przez inną procedurę
Systemy sterowania (23) Metoda HRT-HOOD Joe! Przynieś.. Obiekt chroniony - Pr Joe! Zanieś.. Procedura wywoływana przez inne + ochrona
Metoda HRT-HOOD Schematy współpracy między usługodawcą a usługobiorcą: Asynchroniczny - ASER Słabo zsynchronizowany - LSER Silnie zsynchronizowany - HSER Systemy sterowania (24)
Systemy sterowania (25) Metoda HRT-HOOD A ObsługaHotelu ASER HSER LSER HSER ZostawienieKlucza *PobranieKlucza ZgłoszenieUsterki ZapłataIPokwitowanie
Systemy sterowania (26) Producent-Konsument Producent Produkuj_elem Wstaw_elem Konsument Pobierz_elem Konsumuj_elem Magazyn
Systemy sterowania (27) Metoda HRT-HOOD C Producent C Konsument Period= 1s Period= 1s
Systemy sterowania (28) Metoda HRT-HOOD C Producent C Konsument Period= 1s Period= 1s InElem OutElem Pr Magazyn HSER HSER *WstawElem *PobierzElem
Plan wykładu Projektowanie metodą HRT HOOD Maksymalny czas wykonania Szeregowanie zadań Systemy sterowania (29)
Systemy sterowania (30) Maksymalny czas wykonania function Pierw (L: integer): Boolean; var i: integer; Podz: Boolean; begin if L mod 2 = 0 then Podz:= true else Podz:= false; if L=2 then Podz:= false; i:= 3; while i < L/2 do begin if L mod i = 0 then Podz:= true; i:= i + 2 end; Pierw:= not Podz end;
Systemy sterowania (31) Maksymalny czas wykonania function Pierw (L: integer): Boolean; {MaxL: integer} var i: integer; Podz: Boolean; begin if L mod 2 = 0 then Podz:= true else Podz:= false; if L=2 then Podz:= false; i:= 3; while i < L/2 do begin { :loop: } {$ if MaxL<8 then 0 else MaxL/4-1 $} if L mod i = 0 then Podz:= true; i:= i + 2 end; Pierw:= not Podz end;
Maksymalny czas wykonania Podz:= false Nie L mod 2=0 Tak Podz:= true L = 2 Nie Tak Podz:= false Nie Pierw:= not Podz i:= 3 i < L/2 Tak L mod i=0 Nie Tak Podz:= true Koniec i:= i + 2 Systemy sterowania (32)
Maksymalny czas wykonania Podz:= false Nie L mod 2=0 Tak Podz:= true T_Pierw Nie Pierw:= not Podz Koniec L = 2 Nie i:= 3 i < L/2 i:= i + 2 Tak Podz:= false Tak Tak L mod i=0 Podz:= true Nie Systemy sterowania (33)
Maksymalny czas wykonania Podz:= false Nie L mod 2=0 Tak Podz:= true T_loop Nie Pierw:= not Podz Koniec L = 2 Nie i:= 3 i < L/2 i:= i + 2 Tak Podz:= false Tak Tak L mod i=0 Podz:= true Nie Systemy sterowania (34)
Maksymalny czas wykonania function MaxT_Pierw (MaxL: integer) begin MaxT_Pierw:= T_Pierw + T_loop * (if MaxL<8 then 0 else MaxL/4-1) end; Systemy sterowania (35)
Plan wykładu Projektowanie metodą HRT HOOD Maksymalny czas wykonania Szeregowanie zadań Systemy sterowania (36)
Systemy sterowania (37) Szeregowanie zadań Metoda HRT HOOD Obiekty cykliczne Obiekty sporadyczne Są transformowane do cyklicznych Obiekty chronione Obiekty cykliczne zadania niepodzielne
Systemy sterowania (38) Szeregowanie zadań Problem podstawowy Jak szeregować niepodzielne zadania cykliczne?
Szeregowanie statyczne Opisy zadań: cykl max. czas wyk. Plan Aktywacji Godz. Zadanie 0:00 T 1 0:05 T 2 0:10 T 1 Plan Aktywacji Godz. Zadanie 0:00 T 1 0:05 T 2 0:10 T 1 T 2 start! 0 : 05 Systemy sterowania (39)
Systemy sterowania (40) Szeregowanie dynamiczne EDF (Earliest Deadline First): Najwcześniejszy termin zakończenia najpierw D=5 D=12 D=20 D4=40 D=49
Systemy sterowania (41) Anomalie Szybciej czyli później
Podsumowanie Wreszcie! Projektowanie metodą HRT HOOD Maksymalny czas wykonania Szeregowanie zadań Systemy sterowania (42)
Ocena wykładu 1. Wrażenie ogólne? (1-6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak? Systemy sterowania (43)