Bezpieczny system sterowania oparty na Internecie

Klient, który testował wyroby dla przemysłu motoryzacyjnego, zwrócił się do mnie z prośbą o zaprojektowanie systemu sterowania dla elektro-hydraulicznego serwomechanizmu o dużej prędkości. Dostałem wolną rękę, jeśli chodzi o wybór systemu sterującego, który byłby w stanie sprostać zadaniu. Zadanie polega na wykonywaniu zamkniętej pętli regulacyjnej dla częstotliwości 10 000 aktualizacji na sekundę, przy równoczesnym umożliwieniu eksperymentowania z algorytmem regulacyjnym oraz szybkim generowaniu modeli graficznych na interfejsach użytkownika.

System prototypowy stosuje wielofunkcyjną płytę akwizycji danych National Instruments jako analogowy interfejs do systemu hydraulicznego.

 

Na początku zdecydowałem się zaadoptować desktopową wersję systemu LabView firmy National Instruments, pracującą na szybkim systemie operacyjnym Windows XP firmy Microsoft. Jeśli wszystko poszłoby dobrze, wyobrażałem sobie przejście na droższy, bardziej wiarygodny LabView RT (jest to zestaw składający się z systemu LabView uzupełniony: modułem LabView Real-Time oraz dedykowanym osprzętem obliczeniowym, zapewniającym deterministyczne zachowanie).

Rysunek (powyżej) prototypu systemu pokazuje zestaw podstawowy z użyciem wielofunkcyjnej tablicy zbierania, przetwarzania i wizualizacji danych firmy National Instruments, jako analogowego interfejsu do urządzeń hydraulicznych.

Pierwszym etapem projektowania systemu było podzielenie całości na segment regulacyjny, działający w bezpośrednim sprzężeniu z obiektem, oraz segment grupujący pozostałe elementy. Segment regulacyjny miał być oparty na komputerze podłączonym do pakietu hydraulicznego i miał komunikować się przez Internet z drugim komputerem, pracującym w czasie wirtualnym. System LabView ma mechanizm o nazwie „wirtualny serwer”, który umożliwia wszystkim wirtualnym przyrządom tego systemu na zdalne komunikowanie się ze sobą poprzez sieć.

Wykorzystując funkcje wirtualnego serwera, podzieliłem zbudowany system na dwie części, jak na etapie projektowania: część regulacyjną oraz interfejs użytkownika. Część regulacyjna autonomicznie uzyskuje dane od czujników, wykonuje algorytm regulacyjny, generuje sygnały sterujące do serwozaworów i aktualizuje te sygnały według potrzeby, optymalizując parametry sterowanych urządzeń hydraulicznych. Z kolei interfejs użytkownika zbiera i przetwarza sygnały we/wy, wizualizuje dane i rezultaty przetwarzania danych oraz wypracowuje parametry do optymalizacji sterowania. Komunikacja pomiędzy obiema częściami odbywa się niezależnie, dzięki czemu część regulacyjna nie wpływaswoimi zadaniami na komunikację, zaś powolność czy też nierytmiczność pracy Internetu nie zakłóca czynności regulacyjnych systemu.

Po osiągnięciu poprawnej pracy systemu w sieci kolejnym zadaniem było zabezpieczenie go przed nieuprawnionym dostępem. Wbudowany w system schemat zabezpieczania hasłem nie zapewniał wystarczającego bezpieczeństwa. Zaproponowałem więc zastosowanie rozwiązania znanego pod nazwą prywatna wirtualna sieć (virtual private network – VPN) pomiędzy moim biurem a zakładem klienta. Klient zgodził się na to rozwiązanie, ponieważ jego zastosowanie pozwoliłoby również innym pracownikom firmy, znajdującym się poza zakładem, na bezpieczne uzyskanie dostępu do zasobów obliczeniowych firmy. Zakupiliśmy dwa urządzenia trasujące (rutery) VPN firmy LinkSys, co względnie ułatwiło instalację połączenia pomiędzy dwoma oddalonymi lokalizacjami.

Sukces tego prototypu dowodzi, że przy zastosowaniu gotowego sprzętu i względnie niedrogiej wersji systemu LabView mogliśmy szybko opracować prototyp oprogramowania sterującego dla systemu elektro-hydraulicznego o wysokiej wydajności. Funkcjonalność wirtualnego serwera pozwoliła na zdalne opracowanie oprogramowania (w moim domu), a technika VPN zapewniła niezbędne bezpieczeństwo w łączności, za pomocą sieci.

National Instruments http://www.ni.com/poland

LinkSys http://www.linksys.com


Hugh Shane jest konsultantem, inżynierem elektrykiem, który posiada doświadczenie w pracy z wbudowanym oprogramowaniem działającym w trybie „czasu rzeczywistego”, systemami cyfrowymi, przetwarzaniem danych i sygnałów oraz sterowaniem.