W tej części kursu na przykładzie bardzo prostego modelu nauczymy się zmieniać parametry bloków przy współpracy z workspace'm Matlaba i nie tylko. Elementy zawarte w tej lekcji były już omawiane w części 6 kursu, ale zgodnie z maksymą repetitio est mater studiorum nie zaszkodzi powtórzyć :)
Na początek zbudujmy model, który będzie dodawał i mnożył stałe, dla przykładu niech będą to cztery liczby tak jak na schemacie poniżej:
Zadaniem
modelu jest dodanie i pomnożenie liczb w odpowiedniej kolejności
i wyświetlenie wyniku w bloku Display według
poniższego równania:
W przypadku gdyby zaszła potrzeba kilkukrotnego uruchamiania symulacji z innym wartościami poszczególnych bloków, to zmiana za każdym razem wartości parametrów mogłaby się stać uciążliwa. Dlatego też lepszym rozwiązaniem jest skorzystanie ze zmiennych zdefiniowanych w workspace Matlaba. Aby to uczynić wpisujemy po prostu zamiast wartości liczbowej w polu Constant value nazwe zmiennej z workspacce'u Matlaba tak jak na ilustracji poniżej:
Możemy
wtedy nasze równanie zapisać jako:
Przed uruchomieniem takiej symulacji należy się upewnić czy wywoływane przez model zmienne rzeczywiści są zdefiniowane, ponieważ brak którejkolwiek z nich spowoduje pojawienie się błędu podobnego do tego poniżej:
Przypiszmy
zatem zmiennym A, B, C i
D jakieś wartości:
Po
uruchomieniu takiego modelu otrzymamy wynik jak poniżej:
Istnieje
oczywiście wiele innych możliwości zmiany wartości
używanych parametrów. Jednym z pomysłów może
być użycie suwaka (Slider Gain), który
pozwala na zmianę wartości danego parametru za pomocą
myszki:
Stworzony
przez nas model możemy także uruchamiać za pomocą
skryptu napisanego w matlabie, bądź bezpośrednio z
linii poleceń. W poniższym przykładzie w pierwszym
korku sprawdzam, czy potrzebne zmienne znajdują się już
w workspace, a następnie poprzez wpisanie nazwy modelu otwieram
go. Ostatnim krokiem jest wystartowanie symulacji na pomocą
polecenia sim:
Taki
sposób pozwala nam na przykład na wczytywanie potrzebnych
wartości parametrów plików zapisanych na dysku,
czy użycie wyników jakiś obliczeń.
Kolejnym sposobem na łatwiejszą zmianę wartości kilku bloków jest utworzenie własnego systemu (więcej o tworzeniu podsystemów w lekcji 6):
Który
następnie maskujemy za pomocą wyboru następującej
opcji z meny kontekstowego:
Po
takim wyborze możemy w oknie Mask Editor : Subsystem w
zakładce Initialization wpisać ciąg komend,
które zainicializują wartości potrzebnych zmiennych:
Jak widać Simulink daje nam wiele możliwości na ustawianie parametrów bloków i to użytkownik może zadecydować w jaki sposób może to się odbywać.
2010
– Grzegorz Knor