You are on page 1of 14

dr in. Mieczysaw Zaczyk Katedra Automatyki AGH Krakw, al. Mickiewicza 30 e-mail: mza@ia.agh.edu.

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.

I. Opis systemu dSPACE DS1104.


Karta typu DS1104 niemieckiej firmy dSPACE GmbH jest specjalnie zaprojektowana do prototypowania szybkich sterownikw cyfrowych i symulatorw pracujcych w czasie rzeczywistym, majcych zastosowanie w takich dziedzinach techniki jak robotyka, automatyka, przemys lotniczy, elektronika samochodowa, aktywne sterowanie drganiami, peryferia komputerowe i wiele innych. Generalnie znajduje zastosowanie tam, gdzie wykorzystuje si cyfrowe przetwarzanie danych oraz podzia zada. Karta DS1104 bazuje na procesorze PowerPC, ktry stanowi gwn jednostk obliczeniow systemu dSPACE zapewniajc wystarczajc szybko przetwarzania nawet dla wymagajcych aplikacji. Kart wzbogaca kilka peryferyjnych podsystemw, ktre s czsto wykorzystywane w cyfrowym sterowaniu, a s nimi przetworniki analogowo-cyfrowe (A/C) i cyfrowo-analogowe (C/A), cyfrowe ukady wejcia-wyjcia (we/wy) zarzdzane przez staoprzecinkowy mikroprocesor sygnaowy oraz interfejs dla czujnikw przyrostowych (enkodery zliczajce).

Architektur karty DS1104 przedstawia Rys.2.

PC

Slave DSP I/O features

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

Dual Port RAM

AD 4ch. 16 bit 4ch. 12 bit

DAC 8channels 16-bit.

Incr. Encoder 2

Digital I/O 20 bits

DS1104

Master PPC I/O features


Rys.2 Schemat blokowy karty DS1104 Cechy systemu: jednopytowa karta do komputera PC z interfejsem PCI zintegrowany z kart, inteligentny interfejs I/O pena kompatybilno ze rodowiskiem MATLAB/SIMULINK (automatyczna generacja kodu z modeli SIMULINKa) wydajny system do prototypowania sterownikw Gwn jednostk obliczeniow karty jest procesor PowerPC 603e. Procesor umoliwia korzystanie z duej przestrzeni adresowej z rnymi modelami adresowania. Pozwala te na uycie jzykw wysokiego poziomu do tworzenia aplikacji. Oto kilka podstawowych cech tej karty:

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.

II. Programy narzdziowe systemu dSPACE.


Karty z procesorami sygnaowymi firmy dSPACE s dostarczane wraz z oprogramowaniem narzdziowym umoliwiajcym ich atw obsug w czasie przygotowywania i przeprowadzania eksperymentu. Dla rodowiska MATLAB/SIMULINK takimi interfejsami programowymi pozwalajcymi na atwe wykorzystanie kart systemu dSPACE s: modu RTI (Real-Time Interface), ktry umoliwia automatyczn implementacj aplikacji przygotowanych w Simulink-u. Zastosowanie tego oprogramowania polega na przygotowaniu aplikacji za pomoc Simulink-a, z uwzgldnieniem modeli stosowanych kart, skompilowaniu wygenerowanego kodu oraz uruchomieniu na procesorze sygnaowym. adowanie wygenerowanego kodu na kart z procesorem sygnaowym w celu wykonania w czasie rzeczywistym odbywa si automatycznie. Umoliwia z poziomu interfejsu graficznego Simulink-a zmian parametrw symulowanego modelu. Modu ten zawiera bibliotek RTILIB dla Simulink-a zawierajc bloki odpowiadajce poszczeglnym kartom. modu ControlDesk, zapewniajcy graficzny interfejs uytkownika, pozwalajcy w trybie on-line na dostp i zmian zmiennych sterownika lub zmiennych symulowanego obiektu w czasie realizacji procesu na karcie, bez koniecznoci ponownej generacji kodu oraz na monitorowanie i rejestrowanie zmiennych w czasie realizacji procesu Typowy proces tworzenia i testowania aplikacji w systemie dSPACE skada si z nastpujcych krokw: 1. Przy uyciu Matlaba, Simulinka i biblioteki I/O systemu dSPACE dodanej do Simulinka, projektujemy aplikacj i okrelamy sposb podczenia wej i wyj. 2. Przy uyciu RTW generowany jest z aplikacji kod w jzyku C i aktywowany RTI, ktry wykonuje wszystkie niezbdne kroki aby przygotowa aplikacj do testw w czasie rzeczywistym, a nastpnie aduje j do karty procesorowej DS1104. 3. Uywajc programu ControlDesk mona oglda przebieg zmiennych uytych w aplikacji oraz zmienia i monitorowa parametry aplikacji. W procesie tworzenia aplikacji wyej wymienione kroki wykonywane s zazwyczaj wielokrotnie. Na Rys.4 pokazana jest struktura systemu z podziaem na warstwy. Zamieszczone s tam wszystkie narzdzia wykorzystywane w procesie tworzenia aplikacji, oraz wida jak wsppracuj ze sob. Dziki RTI graficzny model aplikacji utworzony w Simulink-u jest automatycznie przenoszony do systemu dSPACE przez co uytkownik nie musi si troszczy o szczegy implementacji.

Rys.4 Proces tworzenia i testowania aplikacji.

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

2. Strona RTW parametry Real Time Workshop.

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

Wygld okna programu ControlDesk przedstawiono na rysunku poniej.

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

You might also like