Zdalny dostęp do robota Universal Robots przez sieć komórkową

21.05.2018 How to / Komunikacja przemysłowa
Zdalny dostęp do robota
Wizerunek autora
Piotr Gocłowski Były pracownik Elmark Automatyka S.A.
Producent: MOXA, Universal Robots
  • Zakłady przemysłowe

Uruchomienie linii produkcyjnej z robotem, i przygotowanie go do pracy to czasochłonne i skomplikowane wyzwania. Gdy już w końcu skrypt sterujący spełnia wszystkie wymagania mogłoby się wydawać że cała praca jest już wykonana i można przejść do kolejnego projektu, jednak często się zdarza że po jakimś czasie temat wraca, ponieważ ktoś nie przewidział wszystkich scenariuszy, albo coś innego poszło nie tak. Jak wiadomo ponowne odwiedzanie klienta generuje dodatkowe koszty,  wymaga także więcej czasu niż pierwotnie zakładał projekt. Ale to nie koniec kosztów, ponieważ po stronie klienta najprawdopodobniej przestój w procesie również generuje znaczne straty. To wszystko może negatywnie odbić się na relacji klient – integrator, i wpłynąć na przyszłe relacje biznesowe. W najlepszym interesie każdej strony jest jak najszybsze znalezienie problemu i go rozwiązaniu. W zdecydowanej większości przypadków już zdalny dostęp do robota może pomóc w rozwiązaniu problemu co znacząco może skrócić czas i koszty całej operacji. Jednak jak zapewnić bezpieczny zdalny dostęp za pośrednictwem sieci komórkowej?

Universal Robots to firma która od 2005 roku produkuje innowacyjne roboty współpracujące, której Elmark Automatyka jest dystrybutorem. Obecnie seria UR składa się z trzech modeli: UR3, UR5 i UR10. Są to roboty przemysłowe przeznaczone do współpracy z ludźmi. Roboty te mają dosyć duże możliwości komunikacyjne, i można łatwo się z nimi łączyć w sieci lokalnej min. za pomocą konsoli SSH, za pośrednictwem protokołu Modbus TCP czy protokołu Ethernet/IP. Jednak jaką wybrać metodę zdalnego dostępu? Najważniejsze aby takie połączenie było niezawodne i bezpieczne z punktu widzenia cyberbezpieczeństwa. Jedną z możliwości jest użycie VPNu a konkretniej OpenVPN, czyli pakietu otwartego oprogramowania do tworzenia bezpiecznych (zaszyfrowanych) połączeń punkt-punkt, i właśnie taką konfigurację przedstawię w dalszej części wpisu.

Konfiguracja robota

Konfigurację robota należy zacząć od ustawieniu adresu IP z naszej podsieci, lub włączeniu DHCP, tak aby robot był osiągalny dla naszego komputera z którego przeprowadzamy konfigurację. Do insalacji potrzebny też będzie dostęp do Internetu z poziomu robota, dlatego przy ręcznym podaniu adresu IP trzeba pamiętać też o wpisaniu „Gateway” oraz DNSów.

Następnie za pomocą programu z obsługą konsoli SSH należy połączyć się z robotem. Najpopularniejszym klientem SSH jest Putty.

Konfiguracja Putty

Po udanym połączeniu zostaniemy poproszeni o podanie loginu i hasła. Po poprawnym zalogowaniu się powinniśmy zobaczyć taki oto ciąg znaków:

2018-05-16 13_29_26-192.168.3.224 - PuTTY

Na początku należy edytować plik /etc/apt/sources.list, najlepiej za pomocą edytora nano. Taka komenda wygląda następująco:

2018-05-16 13_29_56-192.168.3.224 - PuTTYW pliku wystarczy usunąć znak „#” przed ciągami  „deb […]”. Poniżej zrzut ekranu jak powinien wyglądać ten plik po edycji.

2018-05-16 13_30_19-192.168.3.224 - PuTTYNastępnym krokiem jest instalacja serwera VNC za pomocą apt-get. Tak powinna wyglądać ta komenda:

2018-05-16 13_31_24-192.168.3.224 - PuTTY

Jednak do tego celu potrzebne jest, aby robot miał na czas instalacji połączenie z Internetem. Po udanej instalacji, która może trwać od 1 do kilku minut, w zależności od szybkości połączenia, powinniśmy zobaczyć taki oto widok:

2018-05-16 13_31_59-192.168.3.224 - PuTTY

Następnie należy zapisać hasło do połączenia z serwerem VNC, czyli z robotem, za pomocą poniższej komendy:

2018-05-16 13_33_21-192.168.3.224 - PuTTYNastępnie należy zmodyfikować plik ~/xsession edytorem nano.
Należy dodać poniższą linijkę za linią zawierającą „#!/bin/bash”:

„/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -forever -auth root -bg -o /var/log/x11vnc.log"

Tak powinien wyglądać ten plik po edycji:

2018-05-16 13_35_32-192.168.3.224 - PuTTY

Następnie pobieramy i instalujemy klienta VNC, np.  Ultra VNC ze strony http://www.uvnc.com/. Po uruchomieniu aplikacji Wystarczy wpisać adres IP, domyślnym portem jest 5900 dla VNC, ale można go zmienić w konfiguracji właśnie w pliku ~/xsession, a każda zmiana będzie widoczna po restarcie robota.

2018-05-16 13_41_47-UltraVNC Viewer - 1.2.1.7Wpisujemy ustawione wcześniej hasło…

2018-05-16 13_41_53-VNC Authentication 192.168.3.224_5900

…i już możemy cieszyć się widokiem graficznego interfejsu robota:

2018-05-16 13_42_15-ur-2017333474_0

W statystykach Ultra VNC możemy zobaczyć szczegóły połączenia takie jak: status, szybkość transmisji oraz ilość przesłanych danych.

2018-05-16 13_43_14-VNC Viewer Status for 192.168.3.224Jako klienta można też użyć innej aplikacji, ważne jest aby wspierała protokół RFB.

Zdalny dostęp do robota za pośrednictwem OnCell G3150A-LTE

Schemat połączenia zdalnego

W ten sposób uzyskaliśmy dostęp interfejsu graficznego robota UR, ale w sieci lokalnej. Największą korzyścią dla integratora jest jednak zdalny dostęp, ale również spoza sieci lokalnej. Rozwiązaniem jest użycie technologii OpenVPN, która pozwala na łączenie sieci lokalnych przez Internet, i nie tylko. Oferuje ona prostotę oraz szyfrowanie, dzięki czemu przechwycenie danych jest niezwykle trudne. OnCell G3150A-LTE to brama komórkowa firmy Moxa, która ma zaimplementowany OpenVPN, dzięki czemu bardzo dobrze nadaje się do realizacji zdalnego dostępu do maszyn. Jedynym wymaganiem, aby utworzyć takie połączenie jest posiadanie karty SIM ze stałym publicznym adresem IP. Cały proces konfiguracji opisywałem już na naszym blogu jakiś czas temu:

http://moxa.elmark.com.pl/2017/09/29/zdalny-dostep-do-urzadzen-i-maszyn-za-posrednictwem-sieci-komorkowej-2-openvpn/

Po poprawnej konfiguracji wystarczy wyeksportować plik konfiguracyjny .ovpn z bramki Moxy i wpisać w nim publiczny adres IP OnCella przy parametrze „remote”, oraz port, na którym uruchomiony jest serwer VPN. Poniżej przykładowy plik konfiguracyjny OpenVPN:

2018-05-16 14_51_17-C__Users_PiotrG_OpenVPN_config_ovpnclientUR_ovpnclientUR.ovpn - Notepad++

Należy zainstalować darmowego klienta OpenVPN, ze strony tego projektu. Po zainstalowaniu i uruchomieniu OpenVPN GUI wystarczy w pasku narzędzi kliknąć PPM na ikonce tej aplikacji i wybrać z rozwijanego menu „Import file…”, i wczytać z dysku wcześniej zmodyfikowaną konfigurację .ovpn. Następnie należy wybrać tą zaimportowaną konfigurację i wybrać „Connect”. Jeśli wszystko poszło prawidłowo, od teraz powinniśmy mieć dostęp do sieci LAN, do której podłączony jest OnCell, więc także do wcześniej skonfigurowanego Robota.

2018-05-16 14_49_31- Aby dostęp był możliwy, zawsze trzeba pamiętać, aby w ustawieniach sieciowych robota parametr Gateway wskazywał na lokalny adres IP OnCella.

Poniżej wideo prezentujące zdalne połączenie za pośrednictwem VPNu do interfejsu robota:

Podsumowanie

Jak widać konfiguracja zdalnego połączenia do robota firmy Universal Robots jest stosunkowo prosta, a jego korzyści wymierne. Czas potencjalnego przestoju może być znacznie krótszy dzięki szybkiej interwencji wsparcia technicznego, co zwyczajnie pozwoli uniknąć większych strat. Zdalny dostęp umożliwia też modyfikację konfiguracji robota, np. w celach przezbrojenia produkcji, czy chociażby pozwala monitorować jego status.

Dziękuję za przeczytanie artykułu, i zapraszam do dalszej lektury naszego bloga.

Linki:

Strona projektu x11vnc:

http://www.karlrunge.com/x11vnc/

Wpis o zdalnym dostępie na naszym blogu:

http://moxa.elmark.com.pl/2017/09/29/zdalny-dostep-do-urzadzen-i-maszyn-za-posrednictwem-sieci-komorkowej-2-openvpn/

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!