Czy Linux stoi u wrót fabryki?

Rozwiązania otwarte reprezentują coraz bardziej zdecydowany kierunek rozwoju przemysłowych systemów sterujących. Nie dziwi więc, że coś tak ważnego jak główny regulator” w komputerze — system operacyjny — przyciąga entuzjastycznie nastawionych zwolenników takich otwartych systemów operacyjnych, jak Linux.

Opracowany i opatentowanyprzez Linusa Torvaldsa w roku 1990 Linux naprawdę zamieszał w świecie automatyki biurowej, telekomunikacji oraz aplikacji serwerowych. Przyjęły go nawet agencje rządowe różnych szczebli, szczególnie w Europie. Nawet wspieranie Linuksa przez główne firmy technologiczne, takie jak IBM czy Hewlett-Packard, nie zaszkodziło jego wizerunkowi. Powody dla tak szerokiego grona zwolenników są proste i oczywiste: system operacyjny Linux ma dużo do zaoferowania. Otwarty kod źródłowy, skalowalną architekturę, duże środowisko wspierające, wielu programistów przyczyniających się do jego rozwoju oraz darmowy dostęp do kodu źródłowego. Te wszystkie elementy można zaliczyć do pozytywnych aspektów systemu. A jest ich więcej.

    Linux w akcji

 

    Firma CAMotion Inc. (www.camotion.com), dostawca robotów służących do montażu oraz przenoszenia materiałów, zastosowała ostatnio szybkie urządzenie pakujące tace w Newnan, w stanie Georgia, w fabryce firmy Excel, będącej własnością firmy Cargill. Automatyczna maszyna przenosząca umieszcza zważone i opatrzone cenami tace z mięsem w skrzyniach, w których produkty są gotowe do natychmiastowego wysłania do supermarketów. Prędkości pakowania dochodzą do 60 tac/min (6-funtowych paczek).

 

    Fot. Robot pakujący firmy CA Motion pracujący pod nadzorem Linuxa i Excela jest na tyle elastyczny, że podczas jednego taktu maszyny może wykonać kilka różnych metod pakowania.

 

Wbudowany PC z systemem Linuksa Red Hat steruje ruchem robota – maszyny. – Wymagane pozycje i podawanie realizują co jedną milisekundę cztery opatentowane karty sterujące ruchem – mówi Steve Dickerson, dyrektor zarządzający firmy CAMotion. – Pozwala to na wdrożenie zaawansowanych profili ruchu i algorytmów sterujących, takich jak tłumienie wibracji, wyuczone podawanie do przodu oraz szacowanie aktualnego stanu. W rezultacie otrzymujemy szybki, precyzyjny, pełen gracji ruch.

 

    – Motywacją do zastosowania systemu Linux na PC była redukcja kosztów, a jednocześnie elastyczność umożliwiająca pisanie oprogramowania o całkowicie otwartym kodzie źródłowym – wyjaśnia Dickerson. – Stosując wcześniej aplikacje z rozszerzeniami czasu rzeczywistego do systemu operacyjnego [Microsoft] Windows, firma CAMotion zauważyła, że trudniej było stworzyć aplikację, co wraz z kosztami licencyjnymi doprowadziło do zainteresowania Linuksem. – System przekroczył nasze oczekiwania – dodaje Jason Prince, menedżer projektu w firmie Excel.

 

 

    Zwinny robot odchyla się do tyłu
    Nazywany najbardziej kompaktowym robotem w swojej klasie, IRB 6600 firmy ABB jest wyposażony w nowoczesne, elastyczne ramię wyginające się do tyłu, co pozwala mu wykonywać wiele zadań w czasie rzeczywistym. Zadania te obejmują wyciąganie ramienia i rozmaite ruchy nadgarstka opracowane do najdrobniejszych szczegółów, twierdzi producent. Robot doskonale sobie radzi z czynnościami takimi, jak: trudne zgrzewanie punktowe, przenoszenie materiałów oraz obsługiwanie maszyn.

 

Fot. Zdolność sięgania do tyłu sprawia, że robot przemysłowy IRB 6600 firmy ABB jest zręczniejszy i mniejszy (bardziej „kompaktowy”). Robot pracuje pod nadzorem systemu operacyjnego VxWorks.

 

    Firma Wind River dostarczyła ABB (www.abb.com/robotics) system operacyjny czasu rzeczywistego oraz oprogramowanie sieciowe, dzięki któremu udało się przyspieszyć zaprojektowanie i zbudowanie robota przemysłowego IRB 6600. Zastosowanie techniki sieciowej firmy Wind River umożliwiło ABB wbudowanie w robota Systemu Informacji Serwisowych (Service Information System – SIS). System ten pozwala klientom na zdalne monitorowanie ruchów i obciążenia robota za pośrednictwem połączenia ethernetowego do urządzenia podręcznego lub PC. Ponadto SIS przewiduje z wyprzedzeniem potrzeby serwisowe, upraszczając planowanie obsługi: napraw czy konserwowania jednego lub kilku robotów. Według ABB system operacyjny czasu rzeczywistego firmy VxWorks jest dobrze dostosowany do aplikacji obejmujących roboty.

Linux w zasadzie nie jest systemem czasu rzeczywistego. Chociaż definicja terminu czas rzeczywisty (real-time RT) w dużym stopniu zależy od aplikacji, dla użytkowników działających w przemyśle zdolność systemu operacyjnego do funkcjonowania w czasie rzeczywistym jest niezwykle ważna. Na skutek tego, podobnie jak w przypadku innych systemów operacyjnych, opracowano wersje (rozszerzenia) Linuksa do pracy w czasie rzeczywistym. Rozszerzenia te zapewniają niezbędne rozdzielenie zadań czasu rzeczywistego aplikacji od tych, które nie są wykonywane w czasie rzeczywistym, łącznie z innymi funkcjami (patrz schemat: „Architektura”). Praca w czasie rzeczywistym zmienia prostą koncepcję oryginalnego systemu operacyjnego Linux. Na przykład może zajść potrzeba skorzystania z oferty strony trzeciej oraz uwzględnienia kosztu pakietów serwisowych, opatentowanych narzędzi i konserwacji. Posługiwanie się Linuksem niekoniecznie jest darmowe.

Jednak ten uniksowy system operacyjny zaczyna pojawiać się na halach fabrycznych. Obecnie jest stosowany głównie w interfejsach operatora (HMI) oraz spełnia zadania wymagające zbierania danych. Ze wzrostem liczby dostępnych narzędzi do programowania i łączenia w sieć można się jednak spodziewać szerszego zastosowania Linuksa w przemysłowych aplikacjach sterujących.

Fot. W opartej na Linuksie architekturze czasu rzeczywistego system operacyjny i zadania czasu rzeczywistego (RT tasks) działają na poziomie najwyższego uprzywilejowania 0, odseparowane w ten sposób od innych zadań o niższym priorytecie. (www.intellimetrix-us).

 

Przeszkoda

William Weinberg, dyrektor ds. marketingu strategicznego w firmie MontaVista Software, uważa otwartość Linuksa za przeszkodę zagrażającą prawnym kwestiom własności będących integralną częścią systemów sterujących. Dostrzega jednak zalety, jakie Linux wnosi na hale produkcyjne, takie jak:

  • solidną, niezawodną architekture, wyposażoną w ochrone pamieci;
  • dobrą wydajność z wieloma opcjami reakcji w czasie rzeczywistym;
  • wykrywanie i obsugę błędów, co ogranicza występowanie błędów krytycznych do pojedynczych procesów (które można osobno uruchomić);
  • dostępność protokołów komunikacyjnych, narzędzi oraz programów do obsługi urządzeń;
  • wsparcie dla kluczowych architektur procesorów (CPU);
  • duże, międzynarodowe środowisko programistów, oferujące programy o wysokiej jakości.

Oprócz atrybutów technicznych Weinberg wymienia zalety komercyjne, przydatne dla użytkowników Linuksa, takie jak: „wolne od opłat” rozwijanie (systemu) oraz niższy całkowity koszt własności; różne opcje komercyjne oraz opcje i narzędzia typu „zrób to sam”; otwarty kod źródłowy; standardowe interfejsy do programów użytkowych ([a2]API) rozszerzające zakres używalności programów oraz większy wybór dostawców, co minimalizuje dezaktualizowanie się produktu.

– Z drugiej strony systemy operacyjne Microsoftu oferują programistom znaną i bardzo bogatą funkcjonalność oprogramowania – mówi Weinberg. – Wychodzą z typową ofertą gwarantującą jakość, bezpieczeństwo [jeden dostawca], gotowy produkt oraz koszt.

Greg Holt, rzecznik firmy TimeSys Corp. oferującej programy do systemów wbudowanych, stwierdza: – Linux na hali produkcyjnej oferuje dużo korzyści, które są natychmiast widoczne, takich jak liczne protokoły sieciowe i usługi. Holt podaje jako przykład Ethernet, TCP/IP, HTTP, DHCP (do konfiguracji komputera głównego) oraz sieciowy serwer plików. – Narzędzia te wprowadzają hale produkcyjne w zintegrowaną przestrzeń, umożliwiając gładką integrację danych z systemami ogólnozakładowymi.

Linux firmy TimeSys to system operacyjny wzbogacony o możliwości pracy w czasie rzeczywistym, przeznaczony dla programistów i oryginalnych producentów sprzętu (OEM) zajmujących się aplikacjami sterującymi nastawionymi na wydajność. Holt podkreśla, że zalety programowania w systemach operacyjnych czasu rzeczywistego (RTOS) obejmują: wsparcie dla zegarów i regulatorów czasu o wysokiej rozdzielczości, interfejsy programów użytkowych (API) o okresowych wątkach oraz więcej poziomów zgodności POSIX.

Modularność, możliwość skalowania i konfigurowania do różnych platform – te właśnie zalety systemu operacyjnego Linux wymienia Marc Serughetti, dyrektor do spraw marketingu w firmie Wind River Systems. – Inną zaletą istotną dla produkcji jest długoterminowa dostępność kodu źródłowego Linuksa, połączona z dostępnością gotowych produktów – wyjaśnia. – Potencjalni użytkownicy muszą obserwować, gdzie dzisiaj znajduje się Linux i w jakiego rodzaju urządzeniach przemysłowych jest używany. Sprzęt fabryczny jest bardzo różny: od robionego na zamówienie sprzętu komputerowego przeznaczonego do obsługi precyzyjnych operacji zachodzących w czasie rzeczywistym – z uwzględnieniem kwestii bezpieczeństwa – do mniej nastawionych na sterowanie interfejsów operatorskich, czujników oraz produktów sieciowych, aż do sprzętu na nieco wyższym poziomie, takiego jak systemy SCADA.

 – System operacyjny Linux jest najwłaściwszym wyborem dla środowisk produkcyjnych, w których sprzęt i oprogramowanie są nieco mniej sprzężone ze sobą – mówi Serughetti. – Stosuje się go tam, gdzie reagowanie nie jest krytyczne, na przykład na gotowych płytach komercyjnych [COTS – commercial off-the-shelf boards] oraz w interfejsach człowiek-maszyna (HMI). Dodaje również, że spotyka wiele aplikacji Microsoft Windows, które zawierają pewne konceptualne dziedzictwo tego systemu operacyjnego.

W linuksowej architekturze czasu rzeczywistego system operacyjny i zadania czasu rzeczywistego wykonują się na poziomie najwyższego uprzywilejowania 0, oddzielone od zadań o niższym priorytecie (www.intellimetrix.us).

Dla aplikacji czasu rzeczywistego potrzebny jest wyższy poziom Linuksa, wersja RT. Jest to obszar rozpoznawany przez firmę Wind River. Obejmuje on podjętą ostatnio współpracę z firmą Red Hat, mającą na celu wspólne opracowanie wbudowanych produktów i narzędzi wykonawczych Linuksa. Główną ofertą firmy Wind River jest VxWorks, opatentowany system operacyjny czasu rzeczywistego, teraz w wersji 6.0, przeznaczony dla wbudowanych aplikacji o wysokiej wydajności. Przedsięwzięcie – Enterprise Linux – stanowi główny trzon oferty firmy Red Hat.

 

Kwestie kosztów

Nie każdy się zgodzi, że całkowity koszt praw własności Linuksa jest niższy. Serughetti uważa, że troska o obsługę systemu operacyjnego może przeważyć koszty podstawowe. – Kiedy użytkownicy wybierają system operacyjny, uwzględniają również możliwości dostawców; scentralizowana organizacja zapewnia jedynie ograniczony wkład – mówi. – A jeśli chodzi o systemy operacyjne typu „zrób to sam”, to akurat jest zaleta zależna od zdolności użytkownika – wątpliwa na arenie przemysłowych systemów sterujących, gdzie wewnętrzni eksperci są na wymarciu. Koszty obsługi serwisowej systemu mogą więc szybko wzrastać.

Paul Shelton, zajmujący się marketingiem HMI w firmie Siemens Energy & Automation, patrzy na to z perspektywy swojego sektora przemysłu. – Stabilność, bezpieczeństwo, niezawodność, możliwość łączenia systemu operacyjnego itd… to terminy ważne dla klienta bardziej niż to, jaka technika leży u ich podstaw – wyjaśnia. Shelton porównuje Linuksa z MS Windows, przedstawiając oba systemy – jeden jako inwestycję, za którą płaci się od razu, a drugi, przy którym koszty pojawiają się później, po drodze. Uważa, że koszt całkowity jest wyższy w przypadku produkcyjnych rozwiązań HMI opartych na Linuksie, chyba że duża liczba stanowisk amortyzuje inwestycję.

W późnych latach 90. Siemens przeszedł na system Windows CE, stosując go w produktach – panelach HMI. – Zastosowanie stabilnego, bogatego w opcje systemu operacyjnego pozwoliło nam skupić się na kwestiach kluczowych, które obejmowały projektowanie urządzeń i opracowanie oprogramowania użytkowego – mówi Shelton. Dzisiaj wiele cech HMI jest dostępnych poprzez elastyczne oprogramowanie użytkowe firmy Siemens, takie jak ProTool czy WinCC. Przeglądarka, terminal klient-serwer oraz wsparcie dla aplikacji dodatkowych należą do nieodłącznych elementów systemu operacyjnego. – Rezultatem są stabilne, elastyczne rozwiązania o niskich kosztach, niezwykle dobrze przyjmowane przez naszych klientów.

 

Licencje i kwestie prawne

Zarówno zwolennicy, jak i przeciwnicy Linuksa zgłaszają pewne zastrzeżenia dotyczące wymogów udostępniania udoskonaleń wprowadzanych do programów otwartych. Reprezentujący firmę MontaVista Weinberg uważa, że te zastrzeżenia są nieco przesadzone, a wynikają z działań podejmowanych przez dostawców opatentowanych systemów operacyjnych czasu rzeczywistego, którzy czują się zagrożeni metodami stosowanymi przez środowiska otwartego źródła.

– Jest kilka ograniczeń dotyczących modyfikowania i zakresu używalności kodu źródłowego Linuksa, a użytkownicy nie mają obowiązku ujawniania skrzętnie przechowywanego IP ani na poziomie aplikacji, ani modułów sterujących – wyjaśnia Weinberg. W przypadku samego jądra Linuksa są dwa poziomy licencjonowania. Tak zwana ogólna licencja publiczna (GNU/General Public License – GPL) oraz mniej ograniczona licencja bibliotek lub LGPL. GPL precyzuje, że użytkownicy, którzy kopiują, modyfikują lub pobierają kod GPL, muszą podać kod źródłowy oraz kod binarny klientowi, ale nie muszą go udostępniać szerszej społeczności. Taka sama zasada udostępniania dotyczy powiązań z biblioteką GPL, ale w zasadzie wszystkie biblioteki wykonawcze Linuksa używają LGPL – jak podaje firma MontaVista, której nie obowiązują żadne klauzule ujawniania.

– W praktyce mały zestaw wymagań GPL jest znacznie mniej uciążliwy niż warunki i obostrzenia, które dotyczą wielu umów licencyjnych oprogramowania prawnie zastrzeżonego (SLA) – mówi Weinberg. – SLA mogą obejmować pełne prawa do ujawniania szczegółów opatentowanych projektów programistycznych, ograniczenia dotyczące zakresu używalności i wprowadzania modyfikacji do oryginalnego kodu źródłowego [i więcej]. Jako przykład podaje porównawcze długości dokumentów licencyjnych: GPL – 7 stron, narzędzia Microsoft EULA – 12 stron oraz SLA dla opatentowanego RTOS – zazwyczaj 15–25 stron.

Jednakże Weinberg uczula programistów tworzących lub rozwijających linuksowe programy licencyjne GNU na zrozumienie implikacji wynikających z łączenia programów objętych licencjami GPL oraz LGPL z licencjami innego rodzaju.

Reprezentujący firmę Wind River Serughetti zgadza się, że niektórzy potencjalni użytkownicy Linuksa mają zastrzeżenia do wymogów ujawniania szczegółów. – Kod zmodyfikowany na potrzeby aplikacji użytkownika musi zostać ujawniony, ale to nie tam znajduje się własność intelektualna firmy.

Linux również zahaczył o kwestie prawne, co bynajmniej nie jest nietypowe dla czegoś, co stanowi wyzwanie dla istniejących rozwiązań. W niniejszym artykule nie ma miejsca, ani nie jest jego celem szczegółowe omawianie ciągnącego się procesu wytoczonego przez grupę SCO (Santa Cruz Operation) przeciwko IBM (i innym). Należy jednak zauważyć, że może to utrudnić życie obecnym i potencjalnym użytkownikom Linuksa. SCO twierdzi, że Linux jest nieautoryzowaną pochodną Uniksa.

Być może istotne rozwiązanie problemu nadejdzie z Europy, gdzie obecnie na szczeblu Europejskiej Konwencji Patentowej omawiana jest interpretacja artykułu 52, dotyczącego wynalazków opatentowanych. W artykule zastrzeżono, że wynalazki (opracowania), które mogą być zastosowane w przemyśle muszą być opatentowane, co jest przeciwne do założeń Linuksa. Wyjątki od tej dyrektywy mogą jednak doprowadzić do rozwiązania problemu.

Ogólnie rzecz biorąc, perspektywy systemu operacyjnego Linux wyglądają dobrze. Niektóre firmy zajmujące się badaniem rynku przewidują w najbliższej przyszłości ożywiony rozwój wbudowanych aplikacji Linuksa. Niektóre z tych aplikacji są przeznaczone do zastosowań w fabrykach. Tam wersje Linuksa pracujące w czasie rzeczywistym zmierzą się ze swoimi rywalami – systemami operacyjnymi Microsoft oraz innymi opatentowanymi systemami operacyjnymi.

CAMotion – www.camotion.com
Microsoft – www.microsoft.com/poland
MontaVista – www.montavista.com
Red Hat – www.redhat.com
Przedstawicielstwo w Polsce Red Hat
Altkom – www.altkom.com.pl
Siemens E&A – www.siemens.pl
TimeSys – www.timesys.com