Państwowa Wyższa SzkołaZawodowa im. Witelona w Legnicy
Wydział Nauk Technicznych i Ekonomicznych
Kierunek: ZIP
Specjalność: Logistyka
Studia: stacjonarne
Ewa Jabłońska
Rok studiów: trzeci
Semestr: 5
Grupa: 1(1)
Rok akademicki: 2015/2016
Sprawozdanie nr 1
Automatyzacja i robotyzacja procesów produkcyjnych
Zastosowanie MATLABa SIMULINK w technice
Legnica 2015
MATLAB - pakiet obliczeniowy firmy MathWorks jest przeznaczony do wykonywania różnorodnych obliczeń numerycznych. Serce pakietu stanowi interpreter języka umożliwiający implementację algorytmów numerycznych oraz biblioteki podstawowych działań na macierzach (odwracanie, dodawanie/odejmowanie, wartości własne itp.).
SIMULINK jest rozszerzeniem pakietu MATLAB, przy pomocy graficznego środowiska pozwala konstruować diagramy czasowe, reprezentujące określone procesy dynamiczne. W języku symulacyjnym SIMULINK najczęściej wykorzystuje się pliki MATLABa (typu .m) do rozwiązywania układów równań różniczkowych, liniowych
i nieliniowych.
• Podstawowym typem danych jest macierz, stąd nazwa MATrix LABoratory.
• Pakiet posiada obszerne biblioteki dodatkowych procedur umożliwiające
rozwiązywanie typowych problemów obliczeniowych.
• Prosta budowa okienkowa ułatwia korzystanie z programu.
• Łatwa i estetyczna jest wizualizacja wyników w postaci dwu- i trójwymiarowych
wykresów.• DodatkowĄ zalet ą pakietu MATLAB jest możliwość przeprowadzenia obliczeń
symbolicznych (na wzorach).
Praca w środowisku języka MATLAB polega na wydawaniu poleceń, które po zatwierdzeniu wykonywane są przez interpreter. Większą liczbę instrukcji można zapisać w zbiorze tekstowym zwanym skryptem (pliki z rozszerzeniem .m).
Program działa na macierzach i tablicach. Polega na programowaniu, podobnie jak Pascal, czy c++, które poznaliśmy już wcześniej. Pracuje na tzw. Pętlach, czyli instrukcjach sterujących.
Pętla FOR („dla”):
for zmienna_iterowana = macierz_wartości
ciąg_instrukcji
end
Działanie pętli polega na wykonaniu ciągu_instrukcji dla kolejnych wartości zmiennej_iterowanej. Wartościami tymi są kolejne wektory kolumnowe pobrane
z macierzy_wartości (jeżeli jest to wektor, to kolejno zostaną wykonane instrukcje dla danych elementów tego wektora).
Pętla WHILE („dopóki”):
while wyrażenie_warunkowe
ciąg_instrukcji
end
Działanie pętli polega na wykonaniu ciągu_instrukcji dopóki wyrażenie_warunkowe jest spełnione.
Instrukcja warunkowa IF („jeżeli”):
if wyrażenie_warunkowe1
ciąg_instrukcji1
elseif wyrażenie_warunkowe2
ciąg_instrukcji2
else
ciąg_instrukcji3
end
Działanie instrukcji jest następujące: Jeżeli wyrażenie_warunkowe1 jest spełnione, to wykonywany jest ciąg_instrukcji1, w przeciwnym razie sprawdzane jest wyrażenie_warunkowe2, jeżeli jest ono spełnione wykonywany jest ciąg_instrukcji2, jeżeli nie, wykonywany jest ciąg_instrukcji3. Instrukcjęwarunkową IF można rozbudować dla większej liczby wyrażeń_warunkowych i odpowiadających im ciągów_instrukcji.
GRAFIKA DWUWYMIAROWA:
Najczęściej spotykanym sposobem graficznej prezentacji danych w języku MATLAB jest wykres funkcji jednej zmiennej. Służy do tego funkcja plot(x,y), gdzie y=f(x);
Okno graficzne można wyczyścićwywołując funkcję clf. Zamknicie okna graficznego odbywa siępoprzez wywołanie funkcji
close. Dodatkowe okna można otworzyć przy pomocy funkcji figure.
Otworzyćjak i zamknąć można dowolne okno podając jego numer jako argument.
W celu uzyskania kilku wykresów w jednym oknie należy wykorzystać funkcję subplot(m,n,p)
gdzie:
m - liczba wykresów w pionie;
n - liczba wykresów w poziomie;
p - kolejny numer wykresu.
Skala wykresu dobierana jest automatycznie. Chcąc ją zmienić, trzeba wywołaćfunkcję axis([xmin xmax ymin ymax]) i jako argument podaćwektor określający nowe parametry osi.
Wykres można opisać podając nazwy zmiennych, tytuł, itp.
title(‘tekst’) - tytuł rysunku;
xlabel(‘tekst’) - opis osi x;
ylabel(‘tekst’) - opis osi y;
text(x,y,‘tekst’) - umieszcza ‘tekst’ w dowolnym punkcie o współrzędnych (x,y);
grid - włącza lub wyłącza siatkę.
RYSOWANIE:
Istnieją funkcje pozwalające na tworzenie dowolnych rysunków z linii i wielokątów.
line(x,y) - rysuje linię łamaną łącząc wierzchołki punktów wyznaczonych przez elementy wektorów x i y;
fill(x,y,’c’) - rysuje wielokąt o wierzchołkach w punktach wyznaczonych przez elementy wektorów x i y wypełniony kolorem określonym przez argument c według poniższego opisu kolorów:
y - żółty
m - fioletowy
c - turkusowy
r - czerwony
g - zielony
b - niebieski
w - biały
k – czarny
GRAFIKA TRÓJWYMIAROWA:
Większość funkcji języka MATLAB generujących rysunki trójwymiarowe służy do kreślenia powierzchni. W praktyce definiując powierzchnię trzeba się ograniczyć do skończonego zbioru punktów należących do obszaru.
[x,y]=meshgrid(X,Y) - tworzy macierze x i y opisujące położenie węzłów
prostokątnej siatki pobierając wartości z wektorów X i Y.
mesh(x,y,z) - rysuje siatkę powierzchni opisanej przez macierze x, y i z.
surf(x,y,z) - rysuje kolorową powierzchnię opisaną przez macierze x, y i z.
surfl(x,y,z)- rysuje kolorową powierzchnię opisaną przez macierze x, y i z uwzględniając na niej odbicie światła.
plot3(x,y,z) - rysuje krzywą w przestrzeni opisaną przez wektory x, y i z.
Zamiast pisać kod MATLABa w SIMULINK opisujemy procesy w postaci połączonych bloków, wykorzystując odpowiednie ikony, reprezentujące dane wejściowe (input), części układu i dane wyjściowe (output)
NARZĘDZIE (TOOLBOX) MATLABa UMOŻLIWIA:
Modelowanie,
Symulacje,
Analize układów dynamicznych.
PRZYKŁADY PROSTYCH MODELI:
Model Prawa Newtona
* Równanie:
* Diagram modelu:
* Wyniki symulacji:
Termoregulacja
* Założenia:
Model instalacji cieplnej domu
- termostat ustawiony na 70 stopni Farenheita jest narażony na
zewnętrzne dzienne wahania temperatury
- wahania temperatury modelowane przy pomocy funkcji
sinusoidalnych
* Podukłady modelowe
W modelu zastosowano podukłady modelowe w celu
- uproszczenia analizy całości
- uzyskania samodzielnych modułów do ponownego wykorzystywania
Zastosowane podukłady
- termostat
- dom
- konwertery temperatury
* Model całościowy