Materiały pomocnicze do przedmiotu Systemy Czasu Rzeczywistego Wprowadzenie do Real-Time Windows Target Toolbox Matlab/Simulink Zawartość Czym jest Real-Time Windows Target (RTWT)?... 2 Bloki wejśd i wyjśd sygnałów... 2 Konfiguracja modelu w RTWT... 6 Uruchomienie modelu w systemie RTWT... 8 Zatrzymanie modelu w systemie RTWT... 9 RTWT jako generator sygnałów... 9 Konwersja sygnałów logicznych na sygnały fizyczne i odwrotnie... 9 M-pliki i S-funkcje... 9 Opracowanie: dr inż. Jarosław Tarnawski dr inż. Tomasz Rutkowski na podstawie: Getting Started with Real-Time Windows Target, Mathworks, Inc. 1
Czym jest Real-Time Windows Target (RTWT)? RTWG jest toolboxem Matlaba/Simulinka umożliwiającym symulację modeli Simulinka w czasie rzeczywistym w środowisku Windows. Czas rzeczywisty oznacza tu realne odwzorowania czasowe w wykonywanym modelu (uwzględniając pewne ograniczenia). Oznacza to, że osadzając w modelu np. generator sinusoidy o częstotliwości 1Hz, RTWT w odróżnieniu od standardowego trybu pracy Simulinka nie wykona symulacji tak szybko jak to możliwe, tylko dokładnie, zgodnie z życzeniem użytkownika odwzoruje sygnał sinusoidy w czasie. Symulacja całego modelu będzie trwała dokładnie tyle ile zażąda użytkownik. RTWG jest toolboxem szczególnie użytecznym w połączeniu z wyposażeniem komputera z karty akwizycji danych pomiarowych, gdyż umożliwia wykorzystanie komputera PC z systemem Windows jako generatora sygnałów, symulator obiektu, bądź regulatora. Zastosowanie RTWT umożliwia tzw. szybkie prototypowanie i elastyczne formy testowania modeli obiektów, regulatorów czy też całych systemów sterowania. Posiadając fizyczny obiekt możemy z poziomu Matlaba/Simulinka zaprojektowad regulator i przetestowad tan regulator podłączając go bezpośrednio do obiektu. RTWT może pełnid rolę wirtualnego obiektu dokładnie odwzorowując jego dynamikę. RTWT doskonale uzupełnia możliwości Matlaba/Simulinka. RTWT do prawidłowego działania wymaga zainstalowania toolboxa Real-Time Workshop. W niniejszym opracowaniu pominięto zagadnienia instalacji RTWT i kart akwizycji danych. Ograniczono się do podania niezbędnych ustawieo dla uruchomienia symulacji modelu w czasie rzeczywistym. Bloki wejść i wyjść sygnałów Przygotuj nowy pusty model Simulinka. W celu osadzenia w modelu bloków wejśd i wyjśd w bibliotece bloków Simulinka odnajdź toolbox RTWT. 2
Następnie osadź w modelu blok Analog Input i Analog Output 3
W celu połączenia bloków wejśd i wyjśd modelu z fizycznymi wejściami i wyjściami karty akwizycji danych naciśnij dwukrotnie na blokach Analog Input Naciśnij Install New board i wybierz z listy producenta i model karty, którą posiadasz. Karta powinna pojawid się na liście kart i za pomocą przycisku Board setup można dokonad jej konfiguracji. 4
W tym samym oknie należy wybrad poziom sygnałów które będzie generowała karta. Poziom i charakter sygnałów zależy od możliwości karty, standardowo są to sygnały napięciowe w zakresie - 10-+10V, 0-10V. Poziom sygnału należy oczywiście dopasowad do urządzenia do którego będzie podłączona nasza karta. W ten sposób należy skonfigurowad wszystkie wejścia i wyjścia zarówno analogowe jak i dyskretne, które będą wykorzystywane w modelu. Następnie pomiędzy wejściami i wyjściami należy wprowadzid model obiektu/regulatora/urządzenia wykonawczego lub pomiarowego, które ma byd symulowane w RTWT. Dla przejrzystości przykładu zastosowano blok inercji pierwszego rzędu. 5
Konfiguracja modelu w RTWT W celu skonfigurowania modelu do wykonania w RTWT wywołaj z menu Simulation opcję Configuration Parameters. W zakładce Solver należy ustawid następujące parametry. Typ solvera ze stałym czasem całkowania: Fixed-step. Rekomendowany typ solvera to Ode1 (Euler). Fixed-sted size czyli krok całkowania nie może pozostad na auto, należy wprowadzid wartośd liczbową. Opcja tasking mode musi byd ustawiona na Single Tasking. Wartośd kooca czasu symulacji może byd dowolna, często korzysta się z symulacji nieskooczonej wprowadzając w pole Stop time słowo inf (od ang. infinity nieskooczonośd). 6
Przechodzimy do konfiguracji Real-Time Workshop. Wybieramy docelową platformę kompilacji kodu naciskając przycisk Browse i wybierając rtwin.tlc (Real-Time Windows Target) 7
Zapisujemy konfigurację modelu. Uruchomienie modelu w systemie RTWT Po skonfigurowaniu modelu i parametrów symulacji, zapisaniu całego modelu wybierz z menu Tools opcję Build model lub naciśnij (ctrl+b). W oknie Command Window powinny pojawiad się wyniki kompilacji modelu Simulinka przeznaczonej dla RTWT. Po uzyskaniu zapewnienia, iż kompilacja przebiegła poprawnie i model został załadowany do jądra RTWT wybierz opcję wykonania modelu w trybie zewnętrznym Simulinka (External) i opcję Connect to Target w celu rozpoczęcia symulacji. 8
Zatrzymanie modelu w systemie RTWT Aby zakooczyd wykonywanie modelu wybierz opcję Disconect from target. Po zmianie jakichkolwiek ustawieo w modelu musisz przed ponownym uruchomieniem modelu dokonad ponownej kompilacji Tools/Build model lub (ctrl+b). RTWT jako generator sygnałów Zamiast modelu obiektu lub regulatora system RTWT wraz z kartą akwizycji danych pomiarowych może służyd jako generator sygnałów. Do wyjśd fizycznych karty w modelu Simulinka można bezpośrednio podłączyd generatory. Takie połączenie umożliwia również przetestowanie możliwości systemu i karty akwizycji danych pomiarowych. Zwiększając częstotliwośd sygnału podawanego na wyjścia można uzyskad oszacowanie dotyczące możliwości systemu. Konwersja sygnałów logicznych na sygnały fizyczne i odwrotnie Sygnały logiczne po stronie Simulinka podawane na wyjścia powinny należed do przedziału (-1,1). Są one zamieniane a przetwornikach C/A karty akwizycji danych na sygnały fizyczne zgodnie z konfiguracją podaną przez użytkownika w bloku wyjścia. Analogicznie sygnał fizyczny podany na wejście karty zamieniany jest z postaci analogowej na cyfrową i zgodnie z konfiguracją bloku wejścia zostanie przeskalowany (dopasowany) do zakresu (-1,1) w modelu Simulinka. M-pliki i S-funkcje W modelach Simulinka, przeznaczonych do wykonywania w systemie RTWT nie można korzystad z M- plików. Możliwe jest natomiast wykorzystywanie S-funkcji. 9