Maszyny wirtualne i wirtualizacja procesów – nowy element systemów sterowania

W celu uzyskania determinizmu czasowego i wielozadaniowości, w aplikacjach numerycznego sterowania maszyn zwykle równocześnie są uruchamiane procedury systemowe wymagające pracy w czasie rzeczywistym oraz platformy systemów operacyjnych klasy MS Windows.

Firma Cleveland Motion Controls dostarcza swoje sterowniki Burny XL w dwóch wersjach: sterownik ze zintegrowanym panelem operatorskim oraz z panelem przenośnym – zdalnym

Przemysłowe systemy sterowania można z grubsza podzielić na dwie kategorie: ogólnego przeznaczenia, zalecane do większości popularnych aplikacji przemysłowych, z możliwością pełnego programowania i rekonfiguracji przez użytkownika, oraz specjalizowane, do ściśle określonych zastosowań w zwykle bardzo wymagających aplikacjach, jak np. precyzyjne frezarki czy wtryskarki.

Pierwsza ze wspomnianych kategorii to najczęściej popularne sterowniki PLC i komputery przemysłowe. Kategoria druga to z reguły dedykowane do konkretnych typów aplikacji sterowniki, niejednokrotnie z wbudowanymi specjalnymi funkcjami i algorytmami, np. do sterowania układami napędów elektrycznych z zamkniętymi pętlami sprzężenia zwrotnego.

Urządzenia automatyki z obu tych grup korzystają już powszechnie z możliwości równoczesnej realizacji kilku lub nawet kilkunastu zadań, przy czym w odniesieniu do grupy drugiej – urządzeń specjalizowanych – częściej muszą być zachowane ściślejsze rygory dotyczące synchronizacji tych zadań w czasie. Ma to szczególne znaczenie w aplikacjach napędowych wieloosiowych, gdzie konieczna jest dokładna synchronizacja i współpraca kilku napędów. W takich wypadkach system sterowania i automatyki musi zapewnić tę synchronizację, w odpowiednim czasie obsługując sygnały z czujników, przetworników, układów monitorujących i kontrolnych.

Popularne systemy operacyjne, bazujące na platformie MS Windows, nie są w takich aplikacjach najlepszym rozwiązaniem, ponieważ dostępne w nich procedury są optymalizowane do obsługi popularnych zadań i funkcjonalności, jak współpraca z interfejsami HMI, bazami danych, interfejsami sieciowymi itp. Optymalizacja ta sprawia, że wspomniane systemy operacyjne nie gwarantują zachowania determinizmu czasowego związanego z obsługą sygnałów zewnętrznych, ich przetwarzania itd. Dlatego też w specjalizowanych urządzeniach automatyki często pojawiają się systemy tzw. czasu rzeczywistego, które co prawda są w stanie zachować pełną współbieżność w czasie z obsługiwanymi, nawet bardzo szybkozmiennymi aplikacjami, nie są jednak pozbawione wad i ograniczeń. Systemy operacyjne klasy MS Windows bowiem są zazwyczaj wyposażone w wiele dodatkowych narzędzi i funkcji, ułatwiających np. implementację grafik dla interfejsów HMI, dostęp do baz danych, komunikację z interfejsami sieciowymi. Dlatego w praktyce systemy tego typu zdominowały rynek interfejsów HMI, paneli operatorskich i monitoringu. Bardzo rozwinięta jest również oferta oprogramowania, uaktualnień i dodatkowych narzędzi programowych dla platform systemowych komputerów popularnych PC. Dzięki efektownemu i zwykle prostemu interfejsowi graficznemu ułatwiają one programowanie sterowników PLC, modułów we/wy, systemów monitoringu parametrów procesowych, obsługę kamer przemysłowych itp. Widać więc wyraźnie, że obie platformy systemowe mają swoje zalety i wady. Czy istnieje zatem możliwość połączenia ich, zastosowania obu platform w jednej aplikacji przemysłowej i wykorzystania tylko ich zalet?

Konfigurowalne sterowniki CNC

Jedną z prób takiej integracji podjęła amerykańska kompania Cleveland Motion Controls (CMC), specjalizująca się w produkcji różnego typu wycinarek laserowych, plazmowych, wodnych oraz automatycznych frezarek i grawerek. W maszynach tych wykorzystuje się automatyzowane układy napędów wieloosiowych. Firma CMC wdrożyła do nich w ostatnim czasie nowy sterownik przeznaczony do sterowania numerycznego – Burny XL, korzystający z platformy przemysłowego komputera PC z procesorem Intel Mobile. Zbudowany w oparciu o ten sterownik system automatyki zapewnia bardzo precyzyjne  sterowanie, powtarzalność prowadzonych operacji wieloosiowych układów napędowych w czasie rzeczywistym, przy łatwej, intuicyjnej obsłudze dzięki zaawansowanym interfejsom paneli operatorskich. System zaprojektowano jako platformę w pełni konfigurowalną, tak by producenci różnych maszyn sterowanych numerycznie mogli dopasować go do swoich potrzeb. Może on pracować w bardzo trudnych warunkach środowiskowych (zapylenie, brud), a oferowany jest w dwóch wersjach – jako zintegrowany sterownik z panelem HMI oraz z panelem przenośnym.

Dzięki zastosowaniu w systemie unikalnego oprogramowania wirtualizacyjnego, opracowanego przez firmę TenAsys Corp., sterownik Burny XL ma możliwość jednoczesnego uruchomienia wbudowanego systemu operacyjnego klasy Microsoft XP oraz systemu czasu rzeczywistego INtime. Możliwość ta zapewnia sterownikowi wielozadaniowość, pozwalającą na sprawną realizację wielu procesów sterowania, zadań dodatkowych, przy ciągłym, bieżącym zachowaniu realizacji głównego programu sterowania i monitoringu. W tym przejawia się główny element przewagi sterownika Burny XL nad innymi podobnymi sterownikami do maszyn numerycznych, umożliwiający skrócenie czasu przerw pomiędzy kolejnymi zadaniami. Istotnym elementem jest realizacja wszystkich zadań przy zachowaniu pełnego determinizmu czasowego i synchronizacji, niezależnie od tego, jaki rodzaj technologii wycinania jest stosowany w konkretnej maszynie (laserowe, wodne, plazmowe). Po dostosowaniu parametrycznym sterownika do konkretnej maszyny integratorzy systemu sterowania, korzystając z panelu dotykowego i specjalnego oprogramowania zgodnego ze standardem IEC 61131 (norma języków programowania sterowników przemysłowych), mogą zaprogramować aplikację dla sterownika np. w schemacie drabinkowym i zinterpretować ją w standardzie M lub G kodów do maszyn sterowanych numerycznie. Na podstawie wprowadzonych danych i algorytmów oprogramowanie zadaje odpowiednie nastawy do systemu czasu rzeczywistego i zarządza pozostałymi operacjami, niewymagającymi zachowania determinizmu czasowego. Współdzielona pamięć i interfejs stworzonej w ten sposób maszyny wirtualnej systemów operacyjnych Windows i INtime pozwala na wymianę informacji pomiędzy wirtualnym obrazem sterownika PLC a oprogramowaniem czasu rzeczywistego dla deterministycznych układów napędowych, pracującymi równolegle w systemie operacyjnym czasu rzeczywistego INtime (patrz: rysunek architektury oprogramowania). Korzystanie ze współdzielonej pamięci to tylko jeden z elementów wirtualizacji systemu operacyjnego wspierany przez środowisko systemu INtime firmy TenAsys. Kieruje ono również sprzętowymi przerwaniami z przyłączonych modułów we/wy, tak by zagwarantować, że zdarzenia o mniejszym znaczeniu pod względem determinizmu czasowego (np. przyciśnięcie przycisku przez operatora na panelu dotykowym) nie będą zakłócały procesów krytycznych dla aplikacji, jak np. precyzyjne sterowanie głowicą wycinarki numerycznej. Dzięki temu zarówno system Windows, jak i INtime mogą pracować bez zakłóceń.

Siemens Simatic WinAC RTX F – sterownik programowy pracujący pod kontrolą systemu operacyjnego Windows XP

Zależnie od sprzętu zaimplementowanego w obsługiwanym urządzeniu mechanicznym ze sterowaniem numerycznym, system czasu rzeczywistego INtime może obsłużyć jedną lub dwie pętle sprzężenia zwrotnego układów napędowych. Może to być pojedyncza, milisekundowa pętla sprzężenia dla klasycznych napędów analogowych (gdzie prędkość obrotowa obliczana jest na podstawie informacji o pozycji wału) lub też dwie milisekundowe pętle dla układów SERCOS (interfejs cyfrowy układów sterowania wysokiego poziomu). Jak już wspomniano wcześniej, system INtime obsługuje również z powodzeniem wiele pomocniczych modułów we/wy – wyłączniki, czujniki itp. Dzięki wirtualizacji systemowej aplikacje czasu rzeczywistego systemu INtime oraz systemu niedeterministycznego Windows są uruchamiane w trzeciej warstwie (ringu) architektury procesorów INTEL – User Mode, zamiast, jak w większości innych rozwiązań systemów czasu rzeczywistego, w warstwie zerowej – Supervisor Mode. Jeżeli w tym trybie jakiś proces się zawiesi lub będzie wykonywany zbyt wolno, może być w każdej chwili wyłączony bez konieczności zatrzymywania całego systemu operacyjnego. Tak zorganizowany system operacyjny jest zatem bardzo bezpieczny i umożliwia łatwą identyfikację oraz wyodrębnienie procesów powodujących nieprawidłowości w działaniu całej aplikacji sterowania.

Jeszcze jedną korzyścią, jaką odniosła firma CMC w wyniku zastosowania w swoich sterownikach systemów czasu rzeczywistego INtime z wirtualizacją procesów obsługiwanych w platformie Windows, jest fakt, że aplikacje czasu rzeczywistego są opracowywane i uruchamiane bezpośrednio we wbudowanym środowisku Microsoft Visual Studio, jak to ma miejsce w przypadku tradycyjnych systemów, bazujących na klasycznej architekturze sprzętowej komputerów PC.

Jednolite środowisko – oszczędność czasu

Zastosowanie jednego środowiska systemu operacyjnego obsługującego operacje zarówno czasu rzeczywistego, jak i niewymagające ścisłego determinizmu czasowego, przyczynia się do skrócenia czasu przetwarzania informacji w systemie sterowania i monitoringu. Maszyny i urządzenia sterowane w czasie rzeczywistym szybciej podejmują współpracę z maszynami, sterownikami itp., pracującymi poza tym reżimem. Tak ścisła integracja platformy systemu czasu rzeczywistego INtime z systemem Windows zapewnia firmie CMC możliwość łatwego i szybkiego wdrażania nowych funkcjonalności. Obecnie oferowane przez nią sterowniki Burny XL korzystają z jednordzeniowych procesorów Intel, jednak firma już planuje przejście na platformy wielordzeniowe, gdzie każda z platform systemowych – INtime i Windows, będzie obsługiwana przez osobny rdzeń procesora.

Artykuł pod redakcją dr. inż. Andrzeja Ożadowicza, AGH Kraków

Autor: Kim Hartman