SIMULINK 6
Więcej o podsystemach
W tym paragrafie powiemy kilka słów więcej o podsystemach, które można tworzyć w Simulinku. Zacznijmy od prostego modelu złożonego ze źródła sinusoidalnego, stałej, bloku mnożącego i bloku rysującego połączonych w następujący sposób:
Rysunek 1: Model wyjściowy
Zanim utworzymy nasz podsystem zmieńmy właściwości bloku Sine Wave i Constant w następujący sposób:
Rysunek 2: Ustawianie parametrów bloków
I nie robiąc nic więcej uruchommy symulacje. Zakończy się to następującym błędem:
Rysunek 3: Błąd informujący o braku używanych zmiennych
Simulink ostrzega nas, że zmienna B jest nie zdefiniowana w żadnym miejscu, podobnie użyte przez nas zmienne A i f. Dodatkowo blok, którego dotyczy wybrany błąd zmienia kolo aby można było go łatwiej odnaleźć:
Rysunek 4: Dodatkowo Simulink podświetla blok odpowiedzialny za błąd
Pojawia się pytanie gdzie mamy zdefiniować te zmienne? Odpowiedzią jest przestrzeń robocza Matlaba, ponieważ Simulink w pierwszej kolejności przeszukuje aktualny workspace aby odnaleźć wywoływane przez nas zmienne. Zdefiniujmy zatem A, B i f w command window:
Rysunek 5: Definiowanie zmiennych w workspace Matlaba
… i uruchommy nasz model. W wyniku dostaniemy sinusoidę o wybranych parametrach:
Rysunek 6: Wynik symulacji dla powyżej ustawionych parametrów
Utwórzmy teraz system, który nie będzie miał żadnego wejścia, ale będzie posiadał jedno wyjście i będzie on wykonywał operację mnożenia sinusoidy przez stałą, da to nam bardzo prosty w wyglądzie model:
Rysunek 7: Utworzenie podsystemu
Teraz za pomocą menu kontekstowego wybierzmy opcję Mask Subsystem:
Rysunek 8: MAskowanie podsystemu
Wywoła to następujące okno, w którym możemy zmieniać właściwości naszego systemu, takie jak ikona, liczba portów, parametry, czy dodać dokumentację:
Rysunek 9: Maskowanie podsytsemu - okno preferencji
Składa się ono z następujących zakładek:
· Icon & Ports – możemy tu ustawić dowolną ikonę naszego subsystemu za pomocą funkcji rysujących lub wczytać obraz
· Parameters – tu możemy ustawić parametry bloku. Gdy włączymy maskowanie, nasz subsystem zachowuje się jak funkcja w matlabie i posiada własny workspace, zatem musimy ustawić parametry A, B I f
· Initialization – tu możemy dodać dowolne komendy wywoływane w momencie startu bloku
· Documentation – jeśli nasz model zaczyna być skomplikowany powinniśmy zacząć do niego dokumentację, ta zakładka pozwala na proste jej tworzenie
Przykładowe wartości dla naszego modelu mogą wyglądać tak jak poniżej:
Rysunek 10: Zakładki okna maskowania podsystemu i przykładowe wartości
Należy pamiętać aby nie stosować polskich znaków, ponieważ może to spowodować pojawienie się błedu tego rodzaju:
Rysunek 11: Błąd spowodowany wystąpieniem polskiego znaku
W oknie Mask help możemy wpisać adresu pliku *.htm z pomocą. Np. Plik o kodzie źródłowym:
<html>
<head>
<meta http-equiv=Content-Type
content="text/html; charset=windows-1250">
</head>
<body lang=PL
style='tab-interval:35.4pt'>
<div class=Section1>
<h1><span
class=SpellE>Subsystem</span> mnożący - pomoc</h1>
<p class=MsoNormal>Tu może się
znajdować informacja opisująca dokładne
działanie naszego podsystemu.</p>
</div>
</body>
</html>
Wyświetli w pomocy do programu następującą informację:
Rysunek
12: Pomoc do podsystemu stowrzona przez Użytkownika
Po wybraniu wszytskich opcji i zatwierdzeniu nasz model z nowym susbsystemem jest gotowy do użycia, wystarczy jeszcze tylko zmienić domyślne wartości parametrów poprzez dwukrotne kliknięcie w blok:
Rysunek
13: Wybór parametrów podsystemu
… i uruchomić symulację :)
2010
– Grzegorz Knor