Komputerowe systemy sterowania

Podobne dokumenty
Organizacja oprogramowania

SYLABUS/KARTA PRZEDMIOTU

Wprowadzenie do programowania współbieżnego

Informatyka 1. Przetwarzanie tekstów

Programowanie systemów czasu rzeczywistego laboratorium. Ćwiczenie 2. Temat zajęć: pakiety, zadania, synchronizacja czasowa, mechanizm spotkań

Wstęp do programowania. Różne różności

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

synchronizacji procesów

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

Język programowania PASCAL

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.

synchronizacji procesów

Pascal - wprowadzenie

Podstawy programowania

Programowanie RAD Delphi

Synchronizacja procesów

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Jerzy Nawrocki, Wprowadzenie do informatyki

Mechanizmy komunikacji. spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix)

LibreOffice Calc VBA

Jerzy Nawrocki, Wprowadzenie do informatyki

Podstawy programowania III WYKŁAD 4

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Jerzy Nawrocki, Wprowadzenie do informatyki

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial

Bloki anonimowe w PL/SQL

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach.

Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd

Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów

Programowanie w Turbo Pascal

Systemy operacyjne. Zajęcia 11. Monitory

Planowanie eksperymentu 2 (k p) w 2 r blokach. Stanisław Jaworski, Wojciech Zieliński

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Kiedy i czy konieczne?

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

Algorytmy od problemu do wyniku

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

Ada-95. Dariusz Wawrzyniak

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wstęp do programowania

Uniwersytet Łódzki dla dzieci

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

ForPascal Interpreter języka Pascal

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Systemy czasu rzeczywistego wstęp

Semafory. // G - globalna dla wszystkich. // Wada - aktywne oczekiwanie Test_and_Set(Li); exit when Li = 0; end loop sekcja_krytyczna(i); G := 0;

Specyfika projektowania Mariusz Rawski

Instrukcje cykliczne (pętle) WHILE...END WHILE

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Definicja: Algorytmami sortowania zewnętrznego nazywamy takie algorytmy, które sortują dane umieszczone w pamięci zewnętrznej.

Systemy ekspertowe. Wnioskowanie w systemach regułowych. Część piąta. Autor Roman Simiński.

Ada95 przetwarzanie rozproszone

Ada95 przetwarzanie rozproszone

Visual Basic for Application (VBA)

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Ilość cyfr liczby naturalnej

Właściwości i metody obiektu Comment Właściwości

Podstawy programowania

Konstrukcja alternatywy

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Podstawy Programowania semestr drugi. Wykład czternasty

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

Inżynieria Oprogramowania:

Visual Basic for Application (VBA)

Modelowanie złożonych układów cyfrowych (1)

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Programowanie obiektowe

1. Szeregowanie w systemach czasu rzeczywistego

Instrukcja warunkowa i wyboru

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Zagadnienia zaawansowane. Lech Kruś,

Metody Programowania

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

Materiały do laboratorium MS ACCESS BASIC

Algorytmika i Programowanie VBA 1 - podstawy

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

Zasady Programowania Strukturalnego

Programowanie Delphi obliczenia, schematy blokowe

Transkrypt:

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)