4.8.
Usuwanie błędów formalnych oraz weryfikacja modelu jest zwykle najtrud niejszym i bardzo czasochłonnym etapem tworzenia modelu. W trakcie pro cesu tworzenia schematu blokowego, w miarę wprowadzania kolejnych grup układu najczęściej wielokrotnie próbnie uruchamiamy model (tzn. wykonujemy symulację) wydzielonych części układu. Mamy przez to możliwość sprawdzenia poprawności kolejno wprowadzanych uzupełnień, co zmniejszał kłopot znalezienia błędu w dużym złożonym układzie. Pamiętajmy przy tym,| aby zapisać ostatnią wersję modelu na dysk (opcja SAVE).
Uruchamianie jest procesem heurystycznym, można jednak podać kilka praktycznych zaleceń przy szukaniu błędów:
© wprowadzanie „prostego” sygnału wejściowego na wejściu, np. skoku jednostkowego, tak aby można intuicyjnie ocenić poprawność odpowiedzi;
<S> „rozcinanie” układu w charakterystycznych miejscach, np. odłączanie pętli sprzężenia zwrotnego, co może ułatwić lokalizację błędu;
® oglądanie przebiegów sygnałów w kolejnych punktach układu za pomocą „swobodnego” oscyloskopu;
<8> jeśli wybrane fragmenty modelu są zgrupowane, to niektóre bloki wejściowe i wyjściowe (np. “To Workspace”) powinny pozostać poza grupą;
(8> szczegółowa analiza danych początkowych: np. może się zdarzyć, że jeden spośród sygnałów występuje w mianowniku i w momencie startu ma wartość zerową.
Dotyczy Przykładu 11 na rysunku 17: po uruchomieniu symulacji uzyskano odpowiedź jak na rysunku 9. Gdzie jest błąd? To można wydedukować dopiero gdy obejrzy się-przebieg sygnału p(t). Widać, że dla t = 0 ciśnienie p(t) jest ujemne. Dlaczego? Analiza schematu pokazuje (Rys. 20), że trzeba wprowadzić dodatnią wartość początkową G(0) w Integratorze2, a
. .. GRO GR0 . . , „
także ze mianownik wyrażenia p = —:-r = —--- musi byc dla
S,(x + xw) S,x + V0
t = 0 dodatni (element f(u) w dolnej części rysunku 20).
» help debug
IfrSpiowadza podstawowe informacje o poleceniach związanych z wyszu-t unicm błędów - patrz Wykrywanie błędów (Debugging) w punkcie 2.15.
[Niepoprawnie wprowadzone zlecenie powoduje wyprowadzenie komunikatu o błędzie, nie zawsze jednak diagnoza może być łatwa do interpretacji. K i pi/ykład w poniższym poleceniu zamiast znaku równości użytkownik vs pi o wadził znak minusa:
» [t, x,y]-linsim('tłok',1Ó0);
??? Undefined function or variable t. H.iioiniast diagnoza systemu jest niezbyt trafna.