6.4. prototypowanie systemów na sprzęcie specjalistycznym
Transkrypt
6.4. prototypowanie systemów na sprzęcie specjalistycznym
122 Mrozek Z, Komputerowo wspomagane projektowanie systemów mechatronicznych, ZN PK, Kraków 2002 6.4. PROTOTYPOWANIE SYSTEMÓW NA SPRZĘCIE SPECJALISTYCZNYM Sprzęt do prototypowania używany do badań i pomiarów w skali laboratoryjnej jest kosztowny i wymaga specjalistycznej obsługi. Nie jest on przeznaczony do stałego użytkowania w warunkach przemysłowych. Wzmocnione zestawy do prototypowania (np. zamontowane do obudowy AutoBox z dSPACE) są odporne na wibracje i zanieczyszczenia. Mogą one być używane do badań w warunkach polowych, w samochodach podczas jazdy i w przemyśle. Po zakończeniu etapu prototypowania i testowania wykonuje się system docelowy w wybranej technologii i przenosi się do niego przetestowane podczas prototypowania algorytmy. Elementami systemu docelowego będą podsystemy sterowania, pomiaru i urządzenia wykonawcze, na przykład napędy. W zależności od potrzeb i przewidywanej skali produkcji, część mikroprocesorowa i elektronika mogą mieć postać: • standardowego komputera przemysłowego i specjalistycznych kart interfejsów. Można też użyć systemu PLC lub podobnego; • sprzętu specjalistycznego, zbudowanego z użyciem elementów dyskretnych i gotowych modułów. Może to być sterownik zaprojektowany dla danego systemu, z mikroprocesorem (embeded computer) i specjalistyczne interfejsy; • sprzętu specjalistycznego wykonanego w technologii ASIC (application specific integrated circuit), a zwłaszcza w łatwo dostępnych i dość tanich czipów FPGA (field programmable gate array); • systemu sterowania przygotowany techniką prototypowania na sprzęcie docelowym (rozdziały 6.5.1 i 7.4.8.1). 6.4.1. Modelowanie sterowników wirtualnych w pamięci karty dSPACE Do realizacji etapu szybkiego prototypowania oferowane są specjalistyczne karty firmy dSPACE [34]. Są one wyposażone we własną pamięć i własny szybki procesor (sygnałowy DSP lub inny) oraz analogowe i cyfrowe układy wejściawyjścia sprzęgające kartę z czujnikami oraz układami wykonawczymi. Karty te mogą być instalowane w komputerach PC (ISA i PCI), w komputerach przemysłowych z szyną VME oraz w obudowach zwanych ‘autobox’, dołączanych do szyny ISA, PCI, VME lub poprzez sieci: CAN, Ethernet i inne. Karty dSPACE umożliwiają realizację różnych układów sterowania. Przy korzystaniu z kart prototypowych komputer PC lub inny jest używany głównie jako interfejs użytkownika. Program symulacyjny czasu rzeczywistego i obsługa interfejsów są realizowane przez oprogramowanie załadowane do karty prototypowej. Używana przez autora karta prototypowa typu DS1102, produkcji dSPACE GmbH, ma następujące interfejsy: Mrozek Z, Komputerowo wspomagane projektowanie systemów mechatronicznych, ZN PK, Kraków 2002 - 123 dwa analogowe, 16-bitowe porty wejściowe, dwa analogowe, 12-bitowe porty wejściowe, dwa analogowe porty wyjściowe z przetwornikiem 12-bitowym, jeden 16-bitowy programowalny port cyfrowy wejściowo/wyjściowy, dwa porty wejściowe dla enkodera, dwa liczniki/timery. Nowsze karty są oznaczane DS1104. Do budowy bardziej złożonych systemów stosuje się karty modułowe, co pozwala na zwiększenie liczby interfejsów oraz daje inne możliwości. Zmiana algorytmu sterowania odbywa się na zasadzie wymiany programu sterującego kartą. Program sterujący przygotowywany jest automatycznie w środowisku systemu MATLAB/SIMULINK lub innym na podstawie graficznych schematów blokowych. Współpraca środowiska MATLAB/SIMULINK z omawianymi kartami realizowana jest za pomocą następujących programów : • • • • Real Time Workshop (RTW) przetwarza schemat blokowy SIMULINKA na kod w języku C; Real Time Interface – biblioteka sterowników (drajwerów) w bostaci biblioteki bloków SIMULINKA. Dostosowuje wygenerowany przez RTW kod do aktualnej konfiguracji (adresy i przerwania) użytej w systemie karty prototypowej dSPACE. Biblioteka RTI oraz oprogramowanie ControlDesk i MLIB/MTRACE są dołączane do kart prototypowych dSPACE; oprogramowanie ControlDesk (rozdział 7.4.8.2) to zintegrowane narzędzie do sterowania i monitoringu. Umożliwia wizualizację stanu pracy badanego urządzenia oraz zmianę parametrów układu podczas jego pracy (on-line). Obsługa eksperymentu jest znacznie ułatwiona dzięki możliwości zbudowania panelu sterującego w postaci konsoli operatora, z użyciem wirtualnych instrumentów, jak oscyloskopy, woltomierze, obrotomierze, nastawniki, przyciski itp.; oprogramowanie MLIB/MTRACE: MTRACE to biblioteka umożliwiająca zautomatyzowanie przekazywania i rejestracji danych z pamięci karty prototypowej dSPACE do środowiska programu MATLAB. MLIB pozwala na przygotowanie skryptów do automatycznego sterowania realizacją serii zaplanowanych eksperymentów. 6.4.2. Karty pomiarowe z przetwornikami ADDA jako interfejs do procesu W odróżnieniu od karty prototypowej, karta pomiarowa nie może być wykorzystana jako wirtualny sterownik, gdyż nie można do niej załadować programu wykonywalnego, tworzonego podczas szybkiego prototypowania. Zadaniem karty pomiarowej jest pobieranie do komputera wartości zmierzonych przez czujniki i urządzenia pomiarowe oraz wysyłanie sygnałów sterujących z komputera do 124 Mrozek Z, Komputerowo wspomagane projektowanie systemów mechatronicznych, ZN PK, Kraków 2002 urządzeń wykonawczych. Sygnały sterujące wyjściami tej karty są wypracowywane przez komputer, w którym tę kartę umieszczono. Przykładem nowoczesnej, wielofunkcyjnej karty pomiarowej jest RT-DAC4/PCI. Jest to karta pomiarowa z portami analogowymi i cyfrowymi, przeznaczona do pracy w środowisku Windows 95/98/NT/2000. Karta może współpracować z oprogramowaniem MATLAB/SIMULINK, LabView oraz z przemysłowymi systemami SCADA, jak iFIX, inTouch. Zawiera ona reprogramowalny układ scalony Xilinx, co umożliwia programową zmianę przeznaczenia portów cyfrowych bez potrzeby jakichkolwiek przeróbek sprzętowych karty. Układ scalony SPARTAN-II z Xilinx pracuje z zegarem 40 MHz. Prócz pełnej obsługi portów cyfrowych, enkoderów i generatora PWM, realizuje on logikę dla przetworników A/D i D/A i logikę współpracy z magistralą komputera PC. Standardowo karta umożliwia generację funkcji dla 4 portów PWM oraz bezpośrednie podłączenie czterech enkoderów. Wykrywanie fazy sygnałów z enkodera pozwala na czterokrotne zwiększenie jego rozdzielczości. Wbudowane liczniki/timery pozwalają na generowanie przerwań zależnych od czasu. Podstawowe dane techniczne karty to: - 16 analogowych, multipleksowanych 12-bitowych portów wejściowych, - cztery analogowe, 12-bitowe porty wyjściowe, - cztery porty cyfrowe 8-bitowe wejściowo/wyjściowy, programowalne, - cztery porty wejściowe dla enkodera z 16-bitowymi licznikami, - cztery porty wyjściowe PWM, - 42-bitowy, 40 MHz licznik/timer. Karta RTDAC-4/PCI jest produkowana w kraju i z uwagi na użycie układu FPGA przewyższa nowoczesnością rozwiązań droższe wyroby oferowane przez renomowane firmy, jak np. Advantech. W odróżnieniu od innych kart można w niej zaprogramować niewykorzystaną część układu FPGA. Umożliwia to sprzętową, a więc bardzo szybką, realizację niewielkich algorytmów przetwarzania mierzonych informacji lub algorytmów sterowania wyjściami tej karty. Karta może być używana do pracy w czasie rzeczywistym bez wprowadzania istotnych opóźnień związanych z taktowaniem systemu Windows. Wymaga jednak zainstalowania jądra czasu rzeczywistego, opisanego w rozdziale 6.6.3. Można tu wykorzystać oprogramowanie RT-CON toolbox (tego samego producenta) względnie oprogramowanie RT Windows Target lub xPC Target, oferowane przez producenta MATLABA. Systemy czasu rzeczywistego opisano w dalszej części pracy, w rozdziale 6.6. Mrozek Z, Komputerowo wspomagane projektowanie systemów mechatronicznych, ZN PK, Kraków 2002 125 6.5. PROTOTYPOWANIE SYSTEMÓW NA SPRZĘCIE DOCELOWYM W chwili obecnej szybkie prototypowanie może być najłatwiej zrealizowane na specjalistycznym sprzęcie komputerowym (np. karty prototypowe dSPACE lub inne, zawierającym procesory DSP lub RISC). Producenci tego sprzętu oferują narzędzia i metodykę wspierającą tę fazę projektowania. Jest to jednak rozwiązanie kosztowne i wymaga dodatkowego etapu implementacji uzyskanych rozwiązań w docelowej technologii. Rozwijane obecnie przez wiele firm środowisko do szybkiego prototypowania na sprzęcie docelowym daje możliwość dalszego skrócenia czasu realizacji projektu. Główna idea to zastosowanie takiego samego sprzętu na etapie prototypowania oraz w urządzeniu docelowym, czyli w sterowniku przeznaczonym do pracy w warunkach przemysłowych. W związku z tym nie ponosi się żadnych dodatkowych kosztów związanych z zakupem sprzętu do prototypowania. Nie ma także problemów związanych z przenoszeniem otrzymanego rozwiązania (oprogramowania) ze sprzętu, na którym realizuje się prototypowanie na sprzęt docelowy. Oznacza to możliwość dalszego zmniejszenia kosztów i czasu realizacji projektu – w porównaniu z prototypowaniem na sprzęcie specjalistycznym, opisanym w rozdziale 6.4.1. Obecnie dostępne są następujące technologie prototypowania na sprzęcie docelowym: - wykorzystanie sterownika PLC do prototypowania i jako sterownika docelowego, - wykorzystanie zestawu uruchomieniowego z mikrosterownikiem np. dSPACE TargetLink, do prototypowania i jako sterownika docelowego, - wykorzystanie programowalnego układu scalonego FPGA do prototypowania i jako sterownika docelowego np. rozwiązania Yokogawa i Xilinx, - wykorzystanie standardowego komputera PC lub komputera przemysłowego z szyną ISA, PCI lub VME . Podczas prototypowaniu na sprzęcie docelowym projektanci mają zazwyczaj słabsze wsparcie środowiska do projektowania, szczególnie w zakresie budowy wirtualnych paneli z interfejsami użytkownika i wizualizacji wyników symulacji. Ponadto decyzja o wyborze technologii musi być podjęta przed rozpoczęciem prototypowania, a uzyskane wyniki nie mogą być łatwo przeniesione do urządzeń wykonywanych w innej technologii. 126 Mrozek Z, Komputerowo wspomagane projektowanie systemów mechatronicznych, ZN PK, Kraków 2002 6.5.1. Mikrosterowniki i oprogramowanie dSPACE TargetLink Oprogramowanie TargetLink 1.3 umożliwia automatyczną konwersję bloków SIMULINKA i STATEFLOW na bloki TargetLink, po czym możliwa jest stało i zmiennoprzecinkowa symulacja i generowanie kodu na docelowy procesor. Korzystając z dSPACE TargetLink, nie używa się RTW (generator kodu języka C do schematów SIMULINKA). Przyspiesza to pracę projektantów i obniża koszty. W celu wygenerowania kodów binarnych na docelowy mikrosterownik (lub standardowy zestaw uruchomieniowy wybranego mikrosterownika) należy, prócz oprogramowania dSPACE TargetLink, mieć odpowiedni kompilator. Przykładowo, aby użyć mikrosterownik Motorola M683xx z zestawem uruchomieniowym potrzebny jest Microtec Research Inc. 68k C Compiler i Diab-SDS 68k/CPU32 Family C Compiler. TargetLink obsługuje następujące mikrosterowniki: - Motorola M683xx (CPU32), - Motorola MPC5xx, - Motorola MC68HC12, - Infineon C16x, - Infineon TriCore, - Hitachi H8S26xx, - Hitachi SH2, - Mitsubishi M32R, - Texas Instruments TMS470R1x. 6.5.2. Zestawy uruchomieniowe ASIC/FPGA Altera i Xilinx i inni producenci układów FPGA, oferują zestawy do prototypowania, składające się z płytki drukowanej z układem FPGA, z interfejsem do programowania, układami wejścia i wyjścia cyfrowego oraz z gniazdami do podłączenia innych urządzeń. Wolne nóżki układu FPGA są wyprowadzone na zewnątrz i mogą być dowolnie zastosowane. Często przekodowania układu FPGA można dokonać bez przerywania ich pracy (in the fly). Zestawy uruchomieniowe są przeznaczone do potrzeb edukacyjnych i zazwyczaj nie mają wejść ani wyjść analogowych, potrzebnych do budowy systemów mechatronicznych. Tą część należy oddzielnie zaprojektować i wykonać stosując elementy dyskretne. W rozdziale 7.5.1.2 opisano wykorzystanie zestawu uruchomieniowego Altera do aktywnego tłumienia drgań ramienia elastycznego.