Systemy czasu rzeczywistego
Wykład #7 i #8
16.04.2009
Opracował dr inż. Jarosław Tarnawski
Plan wykładu
Å›ð Definicje CAD, CAE, CAM, prototyp
Å›ð Idea szybkiego prototypowania algorytmów
sterowania (ang. Rapid prototyping)
Å›ð Systemy wbudowane (ang. Embedded systems)
Å›ð Idea sprzÄ™towej pÄ™tli sterowania (ang. Hardware In
the Loop - HIL)
Å›ð PrzykÅ‚ady HIL
Å›ð Zastosowania HIL
Å›ð Dlaczego warto siÄ™ zajmować SCRz w
Matlab/Simulink?
Å›ð Generowanie niezależnego (ang. stand-alone),
osadzonego (ang. embedded) oraz (ang. target)
docelowego kodu za pomocą narzędzia RealTime
Workshop
Plan wykładu cd.
Å›ð Programowe Å›rodowiska czasu
rzeczywistego
ð Real Time Windows Target
ð xPC
Å›ð SprzÄ™towe Å›rodowiska czasu
rzeczywistego
ð dSpace
Å›ð SkÅ‚adowe systemów HIL
ð Przetworniki A/D, D/A, generatory, zadajniki,
oscyloskopy, rejestratory
Å›ð Alternatywne Å›rodowiska
ð NI LabView
Definicje
Å›ð CAD - Computer-Aided Design
Projektowanie wspomagane komputerowo
Å›ð CAE - Computer-Aided Engineering
Inżynieria wspomagana komputerowo
Å›ð CAM - Computer-Aided Manufacturing
Wytwarzanie wspomagane komputerowo
Cykl powstawania produktu
etapy biznesowe np.
badania rynku
Å›ð CAD i CAE powstaÅ‚y w
celu skrócenia procesu
Rozwój koncepcji CAD
produkcyjnego.
Projekt CAD
Zastosowanie
Kalkulacja
komputerów i
Prototyp CAE
specjalizowanego
Testowanie CAE
oprogramowania uczyniło
ten etap bardziej
elastycznym
Produkcja
Wyrób
Prototyp
Å›ð Prototyp - pierwowzór; pierwszy,
próbny, doświadczalny egzemplarz
maszyny nowego typu; wzorzec.
Å›ð Zatem prototypowanie to ogół czynnoÅ›ci
zmierzajÄ…cych do opracowania
próbnego, doświadczalnego
egzemplarza maszyny, obiektu,
regulatora itd.
Szybkie prototypowanie (ang.
Rapid prototyping)
Å›ð PojÄ™cie znane w różnych dziedzinach
inżynierii
ð Mechanice i architekturze-
CAD/CAM/CNC/Drukarki3D
ð Informatyce - Å›rodowiska RAD (ang. Rapid
Application Development) zawierajÄ…ce wizualne
komponenty wspomagajÄ…ce programowanie
(np. środowiska Visual C++ czy C++ Builder
CodeGear dawniej Borland)
ð Elektronice zintegrowane Å›rodowiska do
projektowania układów elektronicznych np.
OrCAD, Protel zintegrowane z systemami
trawienia płytek drukowanych i lutowaniem
elementów
Szybkie prototypowanie w
automatyce
Å›ð W automatyce szybkie prototypowanie
oznacza ogół czynności zmierzających do
zbudowania prototypu układu sterowania
umożliwiającego wszechstronne
przetestowanie badanego aspektu
najczęściej jakości działania regulatora, ale
także urządzenia pomiarowego,
wykonawczego, optymalizatora,
estymatora, filtru, systemu wspomagania
decyzji itd.
Szybkie prototypowanie w
automatyce
Å›ð Zmierza do stworzenia takich warunków
w jakich przyjdzie pracować badanemu
urzÄ…dzeniu
Å›ð Nie chodzi tu już o czystÄ…: symulacjÄ™
komputerową, tylko działanie in situ
w miejscu, w warunkach jakich będzie
pracowało dane urządzenie.
Å›ð UrzÄ…dzenie implementujÄ…ce badany
element przeważnie posiada większe
możliwości niż docelowe
Szybkie prototypowanie w
automatyce
Å›ð Systemy przeznaczone do szybkiego
prototypowania cechują się dużą
elastycznością tj. możliwościami
realizacji różnych zadań i włączania w
różne miejsca pętli sterowania,
możliwościami analizy i oceny jakości
pracy prototypu.
Å›ð Przeważnie nie sÄ… przeznaczone jako
docelowe, przemysłowe urządzenia.
Systemy wbudowane (osadzone)
(ang. Embedded Systems)
Å›ð Najogólniej sÄ… to - w odróżnieniu od
komputerów i maszyn cyfrowych ogólnego
przeznaczenia - specjalizowane systemy,
układy, komputery realizujące konkretne
przeznaczone dla nich zadania.
Å›ð SÄ… one wbudowane (osadzone) poÅ›ród
innych elementów urządzenia/systemu np.
chip sterujący pomiędzy mechanicznymi
elementami wykonawczymi.
Systemy wbudowane
Å›ð Przez to, że systemy wbudowane
realizujÄ… konkretne zadanie nie muszÄ…
posiadać znamion ogólności, mogą być
optymalizowane i ściśle dopasowane do
konkretnego zadania.
Å›ð DziÄ™ki temu uzyskuje siÄ™ najlepszÄ…
możliwą jakość działania, niższy koszt
produkcji, Å‚atwiejszÄ… instalacjÄ™ i
diagnostykÄ™.
Przykłady systemów
wbudowanych
Å›ð Można podawać w wielu dziedzinach
ð specjalizowane chipy do sterowania
wyświetlaczami, moduły GPS, dekodery
sygnału TV,
ð moduÅ‚y analizy pakietów do routerów,
koncentratorów
ð PrzemysÅ‚ samochodowy: systemy ABS,
trakcji jazdy
ð Systemy sterowania napÄ™dami
ð Regulatory cyfrowe itd..
Symulacja w pętli sprzętowej
(ang. Hardware In the Loop - HIL)
Å›ð HIL to technika symulacji
wykorzystywana przy projektowaniu i
weryfikowaniu poprawności pracy
systemów wbudowanych.
Å›ð HIL z zaÅ‚ożenia uwzglÄ™dnia caÅ‚Ä…
złożoność testowanego systemu
uwzględniając dynamikę wszystkich
urządzeń systemu np. pomiarowych i
wykonawczych.
HIL
Å›ð Symulacja HIL przewiduje wÅ‚Ä…czenie
systemu wbudowanego w tak
zamodelowane i zasymulowane
otoczenie w jakim ma pracować.
Å›ð Symulacja odbywa siÄ™ w czasie
rzeczywistym i w różnych warunkach
pracy w jakich przyjdzie pracować
testowanemu systemowi
wbudowanemu. Warunki te mogą być
wprowadzone w modelu otoczenia.
HIL
HIL
Å›ð Ile sprzÄ™tu w HIL
HIL
Å›ð Mieszane symulowane i rzeczywiste
elementy w HIL
HIL
Cel stosowania HIL
Å›ð Celem jest testowanie wbudowanego
systemu w możliwie najbardziej
odpowiadającym rzeczywistości warunkom.
Å›ð Nie wszystko da siÄ™ zamodelować i
przetestować drogą czysto programową
Å›ð Aspekty komunikacji, dynamika i
ograniczenia urządzeń pomiarowych,
wykonawczych, zakłócenia itd. to elementy,
które trudno uwzględnić w modelach
programowych, a można zaobserwować i
uwzględnić w symulacjach HIL
Cel stosowania HIL zamiast
czystej symulacji programowej
Å›ð Operowanie na fizycznych sygnaÅ‚ach i
fizycznych urzÄ…dzeniach
Å›ð Praca w czasie rzeczywistym
Å›ð Realizacja testowanego systemu w
fizycznym urzÄ…dzeniu
Dlaczego warto się zajmować
SCRz w Matlab/Simulink?
Å›ð Jest to obecnie najpopularniejsze
środowisko symulacyjne zarówno w
przemyśle jak i środowisku naukowym.
Å›ð Oferuje szerokie możliwoÅ›ci symulacji
programowej i bogatÄ… bibliotekÄ™ funkcji,
procedur, przyborników
Å›ð Wykorzystanie możliwoÅ›ci Å›rodowiska
Matlab/Simulink nie musi ograniczać się
do symulacji programowej
Dlaczego warto się zajmować
SCRz w Matlab/Simulink?
Å›ð Wykorzystanie narzÄ™dzi Real-Time
Workshop umożliwia implementację
systemów wbudowanych na wielu
różnych platformach (mikrokontrolery,
PCty, DSP, RTOSy)
Å›ð Wykorzystanie przyborników Real-Time
Windows Target oraz xPC wraz z
kartami akwizycji danych pomiarowych
umożliwia uzyskanie symulacji HIL
Dlaczego warto się zajmować
SCRz w Matlab/Simulink?
Å›ð Otrzymujemy zatem niezwykle
elastyczne środowisko symulacyjne i
zarazem środowisko szybkiego
prototypowania i weryfikacji
systemów wbudowanych.
Å›ð Jest to nowoczesny, funkcjonalny i
elastyczny sposób pracy inżyniera
automatyka
Real-Time Workshop
Å›ð RTW jest rozszerzeniem możliwoÅ›ci
Matlaba i Simulinka umożliwiającym
automatyczne generowanie,
porzÄ…dkowanie i kompilacjÄ™ kodu
zródłowego z modeli w postaci
Simulinka w celu wykorzystania w
aplikacjach czasu rzeczywistego
różnego typu.
Cechy RTW
Å›ð RTW stanowi narzÄ™dzie generowania
kodu zródłowego dedykowanego dla
danego środowiska uruchomieniowego
umożliwiając tzw. szybkie
prototypowanie i wdrażanie.
RTW
Å›ð Wraz z innymi narzÄ™dziami i komponentami
Matlaba i Simulinka RTW cechuje:
Å›ð Automatyczne generowanie kodu
dostosowane do różnych platform docelowych
Å›ð Szybka i prosta Å›cieżka od projektu systemu
do jego implementacji
Å›ð Integracja z Matlabem i Simulinkiem
Å›ð Prosty, graficzny interfejs użytkownika
Å›ð Otwarta architektura i rozszerzalny proces
budowy aplikacji
RTW
Å›ð Poniższy diagram
prezentuje proces
generowania kodu
zródłowego z Simulinka
za pomocÄ… RTW
Główne składniki RTW
Å›ð Generator kodu Simulinka (ang. Simulink Code Generator)
Automatycznie generuje kod w języku C z modelu Simulinka
Å›ð Proces tworzenia aplikacji (ang. Make Process) Proces tworzenia
aplikacji w RTW rozszerzalny przez użytkownika umożliwia
skonfigurowanie procesów kompilacji i linkowania kodu generowanego
dla potrzeb użytkownika lub dla celów szybkiego prototypowania
Å›ð Tryb zewnÄ™trzny Simulinka (ang. Simulink External Mode) Tryb
zewnętrzny umożliwia komunikację pomiędzy Simulinkiem i modelem
wykonywanym w środowisku czasu rzeczywistego lub w innym procesie
na tym samym komputerze. Tryb zewnętrzny umożliwia strojenie
parametrów, zapisywanie danych oraz wizualizację stanu procesu w
trakcie wykonywania modelu.
Główne składniki RTW
Å›ð Wsparcie docelowoÅ›ci (ang. Targetting support) WykorzystujÄ…c
docelowości załączone w RTW można budować systemy czasu
rzeczywistego i środowiska prototypowania. Zarówno podstawowe
jak i dodatkowe docelowości czasu rzeczywistego dostarczają
struktury dla budowy konfigurowalnego szybkiego prototypowania
lub budowy środowisk docelowych. Dodatkowo opcjonalne
środowiska Real-Time Windows Target oraz xPC Target
umożliwiają wykorzystanie niemal dowolnego PCta w system
docelowy lub system szybkiego prototypowania. W celu
uwzględnienia możliwości poszczególnych mikroprocesorów
opcjonalny toolbox Real-Time Embbeded Coder umożliwia
uruchamiania kodu RTW w różnych środowiskach
mikroprocesorowych.
Å›ð odwzorowane w RTW i umożliwia generowanie kodu w sposób
przyrostowy dla hierarchii niezależnych składników modeli
Główne składniki RTW
Å›ð Szybkie symulowanie (ang. Rapid Simulations)
WykorzystujÄ…c tryb szybkiego symulowania, w S-funkcji
lub szybkim symulowaniu można przyspieszyć
wykonywanie symulacji średnio od 5 do 20 razy. Pliki
wykonywalne w tych systemach omijajÄ… normalny tryb
interpretatora Simulinka. Kod generowany przez Szybkie
symulowanie, docelowÄ… S-funkcjÄ™ i docelowe szybkie
symulowanie jest wysoko optymalizowany do
wykonywania wyłącznie algorytmów zawartych w modelu
użytkownika. Dodatkowo generator kodu stosuje wiele
technik optymalizujÄ…cych takich jak likwidowanie zer
i jedynek w obliczeniach dla bloków filtrów
Å›ð Modelowanie wielkiej skali (ang. Large-scale modeling)
Wsparcie dla modelowania wielopoziomowego z
Simulinka jest
Budowa aplikacji z RTW
Å›ð OkreÅ›lenie wymogów aplikacji
Å›ð Konfiguracja ustawieÅ„ generowania kodu
Å›ð Uruchomienie narzÄ™dzia wspomagajÄ…cego (ang. Model Advisor
Tool)
Å›ð Ewentualna korekta ustawieÅ„ konfiguracyjnych z
wykorzystaniem raportu z narzędzia wspomagającego
Å›ð Generowanie kodu z modelu Simulinka
Å›ð Ewentualne powtórzenie operacji 2-5
Å›ð Zbudowanie obrazu programu wykonywalnego
Å›ð Weryfikacja wyników generowanych przez program
wykonywalny w porównaniu do wyników oryginalnego modelu
Simulinka
Å›ð Zachowanie konfiguracji dla której dokonano generowania kodu
Å›ð Wykorzystanie narzÄ™dzia generowania raportu (ang. Report
Generator) do automatycznego udokumentowania projektu
Budowa aplikacji z RTW
Przykład RTW
Å›ð Model ukÅ‚adu sterowania
Przykład RTW
Å›ð Parametry symulacji
Przykład RTW
Å›ð System docelowy (ang. Target system)
Przykład RTW
Å›ð ObsÅ‚ugiwane systemy docelowe przez
RTW
Å›ð Po skompilowaniu otrzymujemy
Å›ð i możemy uruchomić skompilowany plik
Å›ð W celu uruchomienia modelu w tzw. trybie
zewnętrznym Simulinka ustawiamy w opcji
Interface tryb External mode
Å›ð Z menu Tools wybieramy opcjÄ™ External Mode
Control Panel i wybieramy opcjÄ™ Signal&Triggering
Å›ð NastÄ™pnie wydajemy polecenie !PID tf inf w & w oknie External Mode
Control Panel wybieramy komendę Connect, a pózniej Start Real-Time
Code. Otwierając okna oscyloskopów można obserwować przebiegi
zmiennych. Ewnentualne zmiany parametrów w trakcie symulacji muszą
być przesłane do modelu za pomocą opcji z menu Edit/Update Diagram.
Å›ð Aby zakoÅ„czyć symulacjÄ™ wybierz opcjÄ™ Stop Real-Time Code z External
Mode Control Panel.
Real-Time Windows Target
(RTWT)
Å›ð RTWT jest rozwiÄ…zaniem dla komputerów PC umożliwiajÄ…cym
prototypowanie i testowanie systemów czasu rzeczywistego. Jest
środowiskiem, w którym pojedynczy komputer jest pracuje w roli
projektowania (host computer) i wykonywania (target computer)
aplikacji czasu rzeczywistego.
Å›ð Można użyć komputera klasy desktop lub laptop z oprogramowaniem
Å›ð MATLAB®, Simulink® i Stateflow® (opcja) w celu opracowania modeli
Simulinka i schematów Stateflow
Å›ð Po przetestowaniu modeli Simulinka w zwykÅ‚ym trybie (programowej
symulacji) można wygenerować kod wykonywalny Real-Time
Workshop®, Stateflow Coder (opcja), i Open Watcom C/C++ compiler.
Å›ð NastÄ™pnie można wykonać symulacjÄ™ w czasie rzeczywistym z
wykorzystaniem trybu zewnętrznego Simulinka.
Å›ð Integracja pomiÄ™dzy trybem zewnÄ™trznym Simulinka i RTWT umożliwia
stosowanie graficznego interfejsu użytkownika w celu:
ð wizualizowania sygnałów podczas symulacji używa siÄ™ tych samych bloków co
podczas zwykłej programowej symulacji
ð Zmiany parametrów w trakcie symulacji
Typowe zastosowania RTWT
Å›ð Symulacje w czasie rzeczywistym opracowywanie
prototypów urządzeń wbudowanych np. peryferiów
komputerowych, elementów układów sterowania
Å›ð Symulacje typu hardware-in-the-loop w czasie
rzeczywistym opracowywania sterowników,
regulatorów podłączonych do fizycznych obiektów
Å›ð Edukacja zobrazowanie procesu projektowania ,
testowania, podejścia iteracyjnego, budowy
prototypów
Działanie RTWT
Å›ð Real-Time Windows Target wykorzystuje maÅ‚e jÄ…dro czasu
rzeczywistego w celu zapewnienia wykonania modelu w czasie
rzeczywistym.
Å›ð JÄ…dro to wykorzystuje wbudowany w PC zegar jako
podstawowe zródło czasu.
Å›ð JÄ…dro przejmuje przerwania z zegara komputera przez
otrzymaniem ich przez system Windows.
Å›ð NastÄ™pnie jÄ…dro używa przerwaÅ„ do wyzwalania wykonania
skompilowanego modelu. W wyniku takiego podejścia jądro jest
w stanie nadać aplikacji czasu rzeczywistego najwyższy
możliwy priorytet.
Å›ð W celu uzyskania dokÅ‚adnego próbkowania jÄ…dro przeÅ‚Ä…cza
zegar Pcta na wyższą częstotliwość. Ponieważ jest to również
zródło czasu dla systemu operacyjnego, jądro wysyła do OSu
przerwania z oryginalną częstotliwością.
Środowisko sprzętowe
Å›ð Dowolny PC z Windows NT4.0, 2000,
XP
Å›ð Karty akwizycji danych dla PCtów
wskazane przez Mathworks. W wykazie
znajduje się duża liczba producentów i
(ponad 200) konkretnych kart
wykorzystujących różne interfejsy: ISA,
PCI, PCMCIA
Å›ð Karty posiadajÄ… AI, DI, AO, DO, wejÅ›cia
enkoderów
Korzystanie z RTWT
RTWT konfigurowanie we/wy
Konfiguracja RTWT
Kompilowanie modelu
Konwersja sygnałów logicznych
na sygnały fizyczne i odwrotnie
Å›ð SygnaÅ‚y logiczne po stronie Simulinka
podawane na wyjścia powinny należeć 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.
xPC
Å›ð System xPC jest systemem czasu
rzeczywistego, w którym
wykorzystywane sÄ… dwa oddzielne
komputery do projektowania (host
computer) i wykonywania modelu czasu
rzeczywistego (target computer)
Å›ð PolÄ…czenie: RS232 lub TCP/IP
xPC wymagania
Å›ð Microsoft Visual C/C++ compiler
(version 5.0 or 6.0) lub Watcom C/C++
compiler (version 10.6 or 11.0)
Å›ð Matlab/Simulink
Å›ð Real-Time Workshop
Å›ð Karta I/O wspierana przez xPC
xPC
Å›ð Komputer host jest wyposażony w
Matlab/Simulink, RTW, xPC
Å›ð Komputer target nie potrzebuje systemu
operacyjnego DOS, Linux czy Windows.
Komputer uruchamia siÄ™ z dyskietki,
która zawiera wysoko zoptymalizowane
jÄ…dro czasu rzeczywistego xPC
xPC
Å›ð Komputer target po zaÅ‚adowaniu BIOSu
dSpace
Å›ð Jest to sprzÄ™towo-programowy system czasu
rzeczywistego oparty o środowisko
Matlab/Simulink
Å›ð Modelowanie (host computer) realizowane jest
klasycznie w Matlabie/Simulinku natomiast
wykonywanie modelu (target computer)
wykonywane jest na platformie sprzętowej z
procesorem/procesorami sygnałowymi DSP.
Dzięki temu uzyskuje się dużą rozdzielczość
czasowÄ….
Å›ð Rozwija firma dSpace GMBH.
Å›ð Znajduje szerokie zastosowanie w przemyÅ›le
samochodowym i lotniczym
Alternatywne systemy HIL
Å›ð NajwiÄ™kszym konkurentem Matlaba w
zakresie symulacji HIL i prototypowania
jest LabView firmy National Instruments. W
ostatnim czasie umożliwia ono
wykonywanie m-plików Matlaba co
znacznie zbliża oba środowiska
Å›ð LabView posiada koncepcjÄ™ VI Virtual
Instruments umożliwiających budowę
modeli symulacyjnych czasu rzeczywistego
oraz szerokÄ… gamÄ™ kart I/O
Bibliografia
Å›ð Getting started with Real-Time
Workshop 6, The Mathworks, 2007
Å›ð Real-Time Windows Target, User s
Guide, The Mathworks, 2007
Å›ð xPC Taget, Getting started guide, The
Mathworks 2001
Å›ð www.Embedded.com
Å›ð http://www.konstrukcjeinzynierskie.pl/pro
totypowanie_I.htm
Wyszukiwarka
Podobne podstrony:
w08 PodstPrzy roznorrx unthinkable scrSGE s3 II nst w08W07 08 WYKLADY TIORB 2007 MECHANIZACJA CALOSC z rysunkamiw08Tyrystor SCR i IGBTw08 20708z sk zlm w07scr?createFund w07Gazownictwo w07ti w07W08 Fizyka HaranTPL 3 W08 v1 1więcej podobnych podstron