Professional Documents
Culture Documents
pl
Szybkie prototypowanie z wykorzystaniem sterownika dSPACE DS1104 oraz oprogramowania RTI i ControlDesk
Wiele zalet pakietu MATLAB-SIMULINK sprawia, e prototypowanie sterownikw jak i kade inne modelowanie systemw statycznych i dynamicznych jest duo atwiejsze dla uytkownika. Nale do nich: prostota obsugi pakietu poczona z moliwoci przejrzystej graficznej reprezentacji symulowanych procesw bezporednia interakcja z uytkownikiem realizowana poprzez wybr opcji z menu lub specjalizowany jzyk polece integracja oprogramowania numerycznego, graficznego i systemowego szeroka biblioteka procedur i funkcji pozwalajca projektantowi koncentrowa uwag na istocie modelowanego systemu a nie na metodach numerycznych, ktrych dokadne poznanie wymaga dodatkowego nakadu czasu i pracy obiektowa technologia pakietu. Bardzo istotnym elementem pakietu jest kilka rozszerze SIMULINK'a zorientowanych na zastosowaniu w projektowaniu systemw sterowania w czasie rzeczywistym. Bardzo przydatnym elementem nalecym do rozszerze SIMULINK'a jest C-code Generator, za porednictwem ktrego dokonywana jest automatyczna translacja S-funkcji SIMULINK'a na rwnowane konstrukcje jzyka C. Poprzez C-code Generator moliwe jest wykorzystanie prototypw (utworzonych w trybie off-line) w oprogramowaniu bezporednio sprzonym (za pomoc interfejsu pomiarowosterujcego) ze sterowanym procesem. Podczas prototypowania sterownikw, obiekt poczony jest za pomoc urzdze I/O z komputerem. W komputerze tym jest symulowane i testowane zachowanie sterownika oraz sprawdzana jest poprawno dziaajcych algorytmw (Rys.1).
STEROWNIK
SIMULINK + RTWT+ I/O lub DSP+ I/O
Obiekt sterowany
Rys.1 Obrazowy schemat sterownika prototypowanego w systemie dSPACE. Model systemu utworzony w SIMULINK'u mona przetworzy na odpowiadajcy mu kod rdowy C. Nastpnie jak kady inny kod programu w jzyku C mona go skompilowa 1
i zlinkowa wraz z doczonymi przez uytkownika moduami (np. sterownikami kart pomiarowych) w postaci S-funkcji oraz wykona w czasie rzeczywistym z zadeklarowanym czasem prbkowania. Istnieje rwnie inna metoda prototypowania sterownikw wykorzystujca rodowisko MATLAB-SIMULINK. Polega ona na zastosowaniu specjalistycznych kart wykorzystujcych procesory sygnaowe DSP, PowerPC i inne oraz kart ukadw wejcia/ wyjcia. Zarwno dla prototypowania poprzez RTWT (Real-Time Windows Target) jak i poprzez DSP proces projektowania i testowania ukadu sterowania jest podobny: utworzenie schematu obiektu w SIMULINKU generacja kodu rdowego w C, przy wykorzystaniu RTW kompilacja i linkowanie oraz utworzenie kodu wynikowego na wybrany procesor. Rnica pomidzy tymi dwoma sposobami polega na innym rodowisku sprztowym, w ktrym wykonywany jest wygenerowany w oparciu o schemat blokowy SIMULINK'a program. Dla RTWT i kart pomiarowych program wykonywany jest w samym komputerze, dla specjalizowanych kart natomiast caa aplikacja jest adowana i wykonywana na karcie procesora, co daje istotne zwikszenie moliwoci systemu. Ponadto zdecydowanie zmniejsza to obcienie procesora w PC, co z kolei umoliwia generowanie lepszej reprezentacji graficznej procesu. W tym przypadku komputer jest jedynie platform do komunikacji z uytkownikiem, komunikacji pomidzy interfejsami. Nie peni za roli komputera, na ktrym realizowane jest sterowanie . Proces testowania wykonywany jest w caoci poprzez kart procesorow. W prototypowaniu sterownikw karta procesora, poczona za pomoc ukadw wejcia/ wyjcia ze sterowanym obiektem, wykorzystywana jest do symulowania zachowania si sterownika w celu sprawdzenia koncepcji algorytmu sterowania lub doboru nastaw sterownika. Karty firmy dSPACE mog by poczone z komputerem poprzez zcze Ethernet lub te montowane bezporednio na magistrale AT-bus lub PCI. Zarwno magistrala jak i Ethernet su do zaadowania programu na kart oraz do komunikacji midzy komputerem a kart procesora. Wszystkie karty komunikuj si rwnie pomidzy sob poprzez wspln pami. Do kart z procesorami jest doczane oprogramowanie narzdziowe umoliwiajce ich atw obsug w czasie prototypowania i w czasie testowania. Dla rodowiska MATLAB-SIMULINK takimi interfejsami programowymi pozwalajcymi na atwe wykorzystanie kart systemu dSPACE s: modu RTI (Real Time Interface). RTI umoliwia automatyczn implementacj w dSPACE aplikacji przygotowanych w SIMULINKu; Model SIMULINKOWy, z doczonymi blokami obsugujcymi wykorzystywane karty pomiarowe (z biblioteki RTILIB) jest kompilowany a nastpnie poprzez RTI przeadowywany i uruchamiany na karcie procesora. RTI umoliwia dokonywanie zmian w symulowanym modelu z poziomu interfejsu graficznego poprzez automatyczne adowanie wygenerowanego kodu na kart z procesorem sygnaowym. Umoliwia to dokonywanie zmian nastaw w czasie rzeczywistym. modu ControlDesk, pozwalajcy na tworzenie pulpitu operatorskiego umoliwiajcego dostp i zmian zmiennych sterownika lub zmiennych symulowanego obiektu w czasie 2
realizacji procesu bez koniecznoci ponownej generacji kodu oraz monitorowanie i rejestrowanie zmiennych modelu w czasie realizacji procesu. Graficzna prezentacja procesu umoliwia lepsze poznanie jego dynamiki poprzez moliwo obserwacji i modyfikacji online.
PC
PCI Interface
Interrupt Controller 32 MB SDRAM TMS32OF240 DSP PMW 1x 3 Phase 4x 1 Phase 4 Capture Inputs Serial Peripheral Interface Digital I/O 14 bits Serial Interface RS232/RS485 RS 422
Timers
Memory Controller
8 MB flash memory
PowerPC 603e
24-bit I/O Bus
Incr. Encoder 2
DS1104
1. MASTER DSP Procesor: - procesor MPC8240 (oparty na rdzeniu PowerPC 603e) - taktowanie zegarem 250MHz - 32 kB wewntrznej pamici cache (16kB pamici danych oraz 16kB pamici programowej) - kontroler przerwa - synchroniczny kontroler pamici DRAM Pami: - 32 MB pamici DRAM (SDRAM) przeznaczone na aplikacje oraz dane - 8 MB pamici flash (w tym 1,5 MB przeznaczone na start karty) Timery: - Timer prbkujcy - licznik oparty na timerze - 4 timery oglnego przeznaczenia Interfejs komunikacyjny: - umoliwia komunikacj midzy kart a komputerem PC (ustawianie parametrw pracy karty, wgrywanie programu oraz komunikacj w czasie wykonywania programu). Wejcia analogowe: - 4 multipleksowane, 16-to bitowe wejcia A/D - wejcie napiciowe +/- 10V - 4 , 12-to bitowe kanay A/D Wyjcia analogowe: - wyjcie napiciowe +/- 10 V - 8, 16-to bitowych kanaw Wejcia/wyjcia I/O - 20 kanaw - kierunek transmisji ustalany oddzielnie dla kadego kanau Wejcia enkoderw: - 2 kanay wejciowe dla enkoderw przyrostowych - 24 bitowa rozdzielczo Obsuga tego typu urzdzenia zostaa zrealizowana na drodze programowej. Rys.3 pokazuje schemat blokowy interfejsu dla czujnikw przyrostowych. Karta DS1104 zawiera 2 gniazda, ktre umoliwiaj podczenie enkoderw uywanych do okrelania pozycji. Kady tor enkoderowy zawiera cyfrowy filtr na wejciu, ktry eliminuje niepodane piki sygnaw fazy. Nastpnie dekoder (dyskryminator) fazy, ktry zamienia sygna fazy na impulsy, przesya je w zalenoci od kierunku obrotu enkodera na wyjcie dodajce lub odejmujce licznika rewersyjnego. Zawarto tego licznika zwiksza si lub zmniejsza o liczb impulsw generowanych przez czujnik. Maksymalna czstotliwo licznika 6.6 MHz. Sygna impulsu krtszy ni 80 ns jest eliminowany przez cyfrowy filtr. Wyjcie do zasilania czujnikw jest zabezpieczone bezpiecznikiem przed zwarciem. Jest to wyjcie o parametrach 5V/200mA. 5
Rys.3 Schemat blokowy interfejsu dla czujnikw przyrostowych. Interfejs szeregowy: uniwersalny asynchroniczny odbiornik i nadajnik (UART) do komunikacji z urzdzeniami zewntrznymi 2. SLAVE DSP: Procesor TMS320F240 DSP firmy Texas Instruments: - taktowany zegarem 20 MHz - podwjny port pamici (DPMEM) uywany do komunikacji z MASTER PPC Wejcie/wyjcie bitowe: - 14 bitowy port I/O - kierunek transmisji ustalany oddzielnie dla kadego kanau Timer: - moe by uywany do generacji oraz pomiaru sygnau PWM oraz innych sygnaw prostoktnych Serial Peripheral Interface (SPI): - zapewnia szybk, synchroniczn komunikacj z urzdzeniami zewntrznymi poczonymi z kart DS-1104, takimi jak np. przetwornik analogowo cyfrowy
Razem z implementacj kart firmy dSPACE i narzdziami generujcymi kod, uytkownik systemu otrzymuje pakiet, ktrego waciwoci przyspieszaj proces tworzenia i uruchamiania nowych aplikacji. Program uytkownika moe by zaadowany, monitorowany lub zmieniany w dowolnym momencie podczas pracy karty systemu dSPACE.
1. Real-Time Interface (RTI). Interface czasu rzeczywistego (RTI) czy pakiety Matlab, Simulink i Real Time WorkShop (RTW) z systemem czasu rzeczywistego dSPACE, tworzc zintegrowane i gotowe do uycia rodowisko przeznaczone do tworzenia aplikacji pracujcych w czasie rzeczywistym. Przeprowadza take automatyczn i jednolit implementacj graficznego modelu sterownika w Simulinku na procesorze karty systemu dSPACE. Ponadto, RTI dodaje do Simulinka bibliotek RTILIB zawierajc bloki sterownikw do kart pomiarowych I/O. Sterowniki te, tak jak wszystkie bloki w Simulinku, maj posta ikon czonych z innymi blokami za pomoc myszy. Na Rys.5 przedstawiono wygld ekranu z otwart bibliotek RTI1104 oraz z podbibliotek zawierajc bloki ze sterownikami dla DS1104 Master PPC systemu dSPACE.
Rys.5 Biblioteka rti1104. Bloki te realizuj poszczeglne operacje I/O dostpne dla karty DS1104 (DAC, ADC, DI/O, enkodery). Po wstawieniu w Simulinku bloku reprezentujcego wybrany typ operacji naley ustawi ich parametry w polu dialogowym. Aby graficzny model stworzony w Simulinku zosta zaadowany do karty DS1104, naley otworzy okno dialogowe RTW Options z menu Tools (Rys.6), ktre umoliwia wprowadzanie parametrw niezbdnych do utworzenia wykonywalnego programu. Ukae si okno dialogowe skadajce si ze stron opisanych poniej.
Rys.6 Okno dialogowe RTW Options strona Solver. 1. Strona Solver (Rys.6). Strona ta zawiera opcje wyboru dotyczce czasu symulacji, metody cakowania i kroku cakowania. Pole Simulation Time umoliwia wprowadzenie czasu rozpoczcia symulacji okno Start Time (czas ten odnosi si tylko do symulacji w trybie off line) jak i czas zatrzymania symulacji okno Stop Time. W polu Solver options wybra mona zmienny lub stay krok cakowania oraz metod cakowania numerycznego w oknie Type. W polu Fixed Step Size podaje si krok cakowania . Naley pamita, aby dla aplikacji pracujcych w czasie rzeczywistym wszystkie metody cakowania pracoway ze staym krokiem. Rozwizanie takie gwarantuje ukoczenie wykonywania kadego kroku w ustalonym przedziale czasu.
10
Rys.7 Okno dialogowe RTW Options strona RTW. Pole System target file (plik rti1104.tlc) okrela docelowe rodowisko dla ktrego wykonywana jest generacja kodu (w przypadku systemu dSPACE jest to karta DS1104). W polu Template Makefile wystpuje nazwa wzorcowego pliku RTI - rti1104.tmf, wedug ktrego model zakodowany w jzyku C jest automatycznie implementowany w systemie dSPACE (nadzoruje proces kompilacji i linkowania programu). Pole Make Command zawiera wywoanie Matlabowskiego programu make_rti sprawujcego cakowit kontrol nad procesem budowania i adowania programu. Proces budowania i adowania programu inicjowany jest przez nacinicie przycisku Build na stronie RTW okna RTW Options i przebiega nastpujco: 1. dla graficznego modelu stworzonego w Simulinku, Real-Time WorkShop generuje kod w jzyku C w postaci plikw model.c i model.h 2. wykonywany jest program make_rti, ktry bazujc na wzorcowym pliku RTI tworzy plik roboczy aplikacji zawierajcy wszystkie komendy niezbdne do zbudowania i zaadowania programu. 3. wykonywany jest plik roboczy aplikacji, ktry wywouje kolejno: - preprocesor RTI, ktry modyfikuje kod C oraz generuje wywoania funkcji I/O dla implementacji w systemie dSPACE. - kompilator/Linker dla procesora PowerPC, ktry kompiluje model i rodowisko czasu rzeczywistego dSPACE, a nastpnie czy pliki obiektowe i biblioteki w program wykonywalny. 11
program adujcy dSPACE, ktry aduje program do karty procesora i rozpoczyna jego wykonywanie program kontrolny, ktry sprawdza czy aplikacja pracuje poprawnie.
2. ControlDesk Oprogramowanie ControlDesk umoliwia zmiany i monitorowanie parametrw dziki tworzeniu wirtualnych paneli sterowniczych. Moliwa jest take rejestracja przebiegw zmiennych. Panele mog skada si z rnorodnych instrumentw wywietlanych na ekranie monitora komputera, imitujcych swym wygldem tradycyjne instrumenty. S to rnego rodzaju przyciski, wywietlacze, wskaniki, pola wczytowe, pola komunikatw, pola tekstowe, kontrolki, suwaki, edytor zmiennych tablicowych (macierzowych). Przebieg zmian parametrw i zmiennych modelu mona obserwowa dziki ploterom, przedstawiajcym przebieg w czasie lub w zalenoci od innej zmiennej. Dostpny jest rwnie analizator stanw logicznych. Zmienne obserwowane na ploterach mona rejestrowa w postaci plikw danych MATLABa .mat. W celu ograniczenia iloci danych rejestrowa mona prbki co pewn zadan ilo okresw prbkowania. Rejestracja moe by uruchamiana przez uytkownika bd wyzwalana poprzez warto wybranego sygnau wystpujcego w aplikacji. Tworzenie pulpitu polega na wybraniu odpowiedniego instrumentu poprzez kliknicie na ikonie symbolizujcej dany instrument i zaznaczeniu na tworzonym pulpicie obszaru, ktre powinien zajmowa. Utworzony w ten sposb instrument posiada standardowe waciwoci, ktre mona zmienia poprzez wywoanie okienka waciwoci dwukrotnym klikniciem myszk w obszarze elementu. Okno to zawiera informacje zalene od rodzaju instrumentu. Standardowo s to informacje o wygldzie (opisy, to, ramki) oraz wartociach zmiennych odpowiadajcych poszczeglnym stanom elementu (np. przycisk wcinity) lub dopuszczalnych zakresach zmiennych (np. dla pl wczytowych). Inne s waciwoci dla ploterw (np. rodzaj linii) czy kontrolek (przypisanie kolorw wartociom sygnau). Moliwe jest utworzenie kilku pulpitw odpowiadajcych np. rnym trybom pracy sterownika. Kilka pulpitw mona uywa tworzc tzw. eksperyment czcy graficzny interfejs oraz przypisan mu aplikacj. Wwczas aktywny jest tylko jeden pulpit co ogranicza ilo instrumentw, ktrych stan jest ledzony przez operatora. Uatwia to prac operatora i zmniejsza ryzyko pomyki (np. nacinicia nieodpowiedniego przycisku). Po utworzeniu pulpitu sterujcego naley wczyta plik zawierajcy informacje o zmiennych i parametrach wystpujcych w modelu. S one zawarte w pliku nazwa_aplikacji.sdf wygenerowanym podczas tworzenia aplikacji. Nazwy zmiennych i parametrw s widoczne w odpowiedniej zakadce okienka narzdzi programu ControlDesk (pogrupowane wedug podsystemw tworzonych w SIMULINKu), skd stosujc technik przecigania moemy je przypisywa odpowiednim instrumentom pulpitu. Istnieje podzia na zmienne bdce parametrami blokw SIMULINKa i zmienne reprezentujce wartoci sygnau na wyjciu bloku. Parametry blokw posiadaj nazwy rozpoczynajce si od P: natomiast sygnay wyjciowe blokw oznaczone s jako Out:. Po zakoczeniu tworzenia pulpitu mona zaadowa aplikacj do karty procesora DSP i przej do trybu pracy aplikacji w celu przetestowania dziaania aplikacji i pulpitu sterujcego. Dostpna jest opcja zatrzymywania i uruchamiania aplikacji na karcie procesorowej. Podczas pracy aplikacji mona przej w tryb edycji w celu dokonania korekt w dziaaniu pulpitu.
12
Bardzo przydatnym uzupenieniem interfejsu programowego dla systemu dSPACE s oferowane przez firm moduy MLIB i MTRACE. Modu MLIB (MATLAB-DSP Interface Library) umoliwia bezporedni dostp z poziomu Matlab-a do pamici karty procesorowej, a tym samym pozwala zmienia parametry jak rwnie wpywa na operacje wykonywane przez kart. Daje on uytkownikowi moliwo automatyzacji procesu prototypowania. Poprzez napisany M-file uytkownik moe przesya do karty np.sekwencje testw dla okrelonych odcinkw czasu, odczytywa dane, przetwarza je, oblicza nowe parametry sterownika (wykorzystujc dostpne procedury) i ponownie przesya do karty. Jest wic bardzo pomocny w procesie automatycznego strojenia parametrw sterownika. Modu MTRACE (MATLAB -TRACE), stanowicy alternatyw lub uzupenienie dla programu , jest narzdziem do zbierania danych w czasie rzeczywistym i ich graficznego przedstawiania. Podobnie do MLIB-a pozwala na automatyzacj procesu zbierania danych bezporednio z poziomu Matlab-a. Poprzez napisany M-file mona zaprogramowa jakie 13
zmienne rejestrowa, jak czsto, w jakim odcinku czasu itp. Jest on szczeglnie przydatny przy zbieraniu danych z procesu prototypowania na dugim odcinku czasu. Oba moduy uzupeniaj si. ControlDesk jest gotowym, atwym do uycia interfejsem graficznym, natomiast MTRACE jest bardziej uniwersalnym w procesie automatyzacji eksperymentu, ale wymaga napisania m-fila. Krakw 2007
14