Komputer przemysłowy jest takim rozwinięciem komputera, jak sterownik PLC jest rozwinięciem mikrokontrolera. Nie musi on mieć wygórowanych parametrów, ale musi działać zawsze. Jako że ostatnio uzyskaliśmy dostęp do takiego sprzętu, wypadałoby go uruchomić, pobawić się i przy okazji sprawdzić możliwości.
IoT2050 pozwala na instalację systemów opartych na linuxie i przez to jego obsługa odbywa się za pomocą konsoli. Przynajmniej na początku. Dostęp do zawartości odbywa się na dwa sposoby: zdalny (z użyciem np. PuTTy, przewodu Ethernetowego i komputera z gniazdem Ethernet) i lokalny (wymagający przewodu DisplayPort, kompatybilnego monitora i klawiatury). Lokalne połączenie jest o tyle proste, że nie wymaga żadnej dodatkowej konfiguracji i pozwala na bezpośredni podgląd komputera. Problem pojawia się, jeśli żaden system operacyjny nie jest zainstalowany albo nie mamy dostępu do monitora z gniazdem DisplayPort. W pierwszym przypadku potrzebujemy drugiego komputera do stworzenia pliku uruchomieniowego systemu. W drugim przypadku potrzebujemy drugi komputer do komunikacji zdalnej. Dodatkowo chcąc wykorzystać programy napisane w C/C++ lub innym języku programowania, również potrzebujemy komputera pozwalającego wgrać program.
Dzisiaj zajmiemy się przypadkiem nabycia IoT bez zainstalowanego systemu operacyjnego, dostosujemy IP i zaktualizujemy oprogramowanie.
Potrzebujemy następujących rzeczy:
Simatic IoT2050 Basic lub Advanced (posiadamy wersję Advanced),
karta Micro-SD 8 do 32GB na system operacyjny, który chcemy uruchomić, Uwaga! karta po zainstalowaniu na niej systemu, przestaje być widoczna dla systemu Windows! ,
komputer wykorzystany do wstępnej konfiguracji, nazywany stacją, musi posiadać obsługę kart SD/ Micro-SD oraz port Ethernet do komunikacji z komputerem przemysłowym,
przewód Ethernet,
dostęp do internetu dla IoT, router z możliwością podłączenia przewodu Ethernetowego,
ewentualny switch pozwalający na podłączenie wielu urządzeń,
źródło napięcia 12-24V DC, bez niego nic nie zrobimy, używam zasilacza Wago 787-1712 24V DC.
system operacyjny, który chcemy wgrać, Siemens udostępnia za darmo: https://support.industry.siemens.com/cs/document/109780231/simatic-iot2050-sd-card-example-image?dti=0&lc=en-WW , wybieramy, na razie IOT2050_Example_Image,
oprogramowanie pozwalające na komunikację między komputerami, wybrałem PuTTy, bo jest darmowe i skuteczne: https://www.putty.org/ ,
oprogramowanie pozwalające na stworzenie ‘dysku systemowego’ z karty SD, Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/files/latest/download .
Jeśli chcemy się bezpośrednio połączyć z IoT, to potrzebujemy dodatkowo:
klawiatura USB,
przewód DisplayPort i monitor z takim portem, (Jest to przydatne, gdy chcemy widzieć, co się dzieje na IoT), kombinacje z przejściówkami pasywnymi NIE DZIAŁAJĄ, wiem, bo próbowałem. Przejściówka musiałaby być aktywnego typu.
Przygotowanie systemu
Sprzęt kompletujemy, oprogramowanie instalujemy i przechodzimy do pracy.
Uruchamiamy stację, Win32 Disk Imager i klikamy ikonę folderu. Otworzy nam się okno, w którym szukamy pliku systemu operacyjnego. Uwaga: Plik jest pobierany w formacie zip (archiwum) i trzeba go najpierw rozpakować.
Następnie wybieramy dysk docelowy, na który chcemy system wgrać. Wybieramy więc kartę micro-SD.
Klikamy zapisz, potwierdzamy ostrzeżenia i czekamy na zgranie systemu. Program Win32 Disk Imager możemy już wyłączyć.
BEZPIECZNIE wyjmujemy kartę micro-SD tzn. przy pomocy opcji Wysuń urządzenie.
Uruchamianie systemu na IoT
Umieszczamy kartę w komputerze przemysłowym.
Podłączamy zasilanie, patrząc na opisy wejść. Podłączamy też klawiaturę i monitor.
Komputer posiada dwa porty Ethernet. LAN – P2 ma ustawiony statyczny adres IP, natomiast P1 - X1 ma adres dynamiczny. Gdybyśmy chcieli wykorzystać P1 - X1, musielibyśmy być podłączeni przez router, który nadał by adres IP naszemu IoT. Podłączamy się przez LAN - P2, ponieważ znamy statyczny IP.
Uwaga: Statyczny adres IP IoT2050 to 192.168.200.1, trzeba więc ustawić adres stacji , tak aby znajdował się w tej samej podsieci tzn. 192.168.200.X, gdzie X to wartość inna niż 1. Ustawiłem adres 192.168.200.100.
Pierwsze uruchomienie trwa około 2 minuty, więc się nie śpieszymy. Uruchamiamy PuTTy i konfigurujemy połączenie. Podajemy adres IP IoT2050 192.168.200.1, Connection type SSH, port zostawiamy domyślny 22, w oknie Saved Sessions podajemy nazwę konfiguracji np. IoT2050 i klikamy przycisk Save.
Konfiguracja została zapisana. Otwieramy połączenie przyciskiem Open.
Przy pierwszym połączeniu wyświetli się ostrzeżenie. Wiemy co robimy, więc je zatwierdzamy klikając Tak. Jeśli będziemy zwlekać z potwierdzeniem, może wyskoczyć komunikat o zerwaniu połączenia. Resetujemy wtedy PuTTy i łączymy się ponownie.
Zostaniemy poproszeni o zalogowanie się. Podajemy Login i hasło. Uwaga: Podczas podawania hasła znaki nie są wyświetlane. Przy pierwszym logowaniu jest to root i hasło root. Zostaniemy wtedy poproszeni o zmianę hasła. W moim przypadku hasło było wcześniej zmieniane.
Nawigacja odbywa się tak jak systemach opartych na Linuxie, tzn. wpisujemy komendy. Ważna jest wielkość liter i odstępy. Przykład: cd/ nie zadziała, a cd / zadziała. Warto znać też skrót klawiszowy Ctrl + C, który zatrzymuje dowolny proces.
Zmiana adresu IP
Domyślny adres to 192.168.200.1 i do połączenia konfiguracyjnego ze stacją wystarczy. Jednak nie każda sieć ma adres 192.168.200.X, przez co dla innych urządzeń, IoT może być niewidoczne. Musimy wówczas skonfigurować adres IP zgodnie z wymaganiami. Wykorzystujemy narzędzie wywoływane komendą: nmtui
Otworzy się nam poniższe okno, w którym nawigujemy strzałkami i zatwierdzamy Enterem.
Przechodzimy do Edit a connection. Pokaże się nam lista z profilami połączeń. Zajmiemy się edycją połączenia obecnie wykorzystywanego, czyli eth0-default (gniazdo P1 - LAN). Zaznaczamy je i wybieramy <Edit…>.
Możemy tu zmodyfikować połączenie. Chcemy zmienić adres IP, więc interesuje nas IPv4 CONFIGURATION. Jeśli widzimy samą nazwę bez opcji, to znaczy, że musimy rozwinąć listę opcją <Show> z prawej strony przy nazwie. Chcemy, ze względów praktycznych, ustawić statyczny IP, więc IPv4 CONFIGURATION powinno być ustawione jako <Manual>. W oknie Adresses podajemy nowy adres IP. Maskę podsieci ustawiamy jako standardową 255.255.255.0. Nie możemy jej wpisać bezpośrednio, dlatego posłużymy się zapisem polegającym na dodaniu po adresie IP /24. Chcąc skorzystać z innej maski, musimy znaleźć adekwatny numer, który dodamy po adresie.
Jeśli nie chcemy łączyć się z Internetem to pomijamy ten akapit. Jeśli jesteśmy podłączeni do routera i chcemy połączyć się z Internetem, to musimy mieć na uwadze jeszcze dwie rzeczy. Do pola Gateway wpisujemy adres routera (przeważnie 192.168.1.1). Dodatkowo, musimy podać adres serwera DNS, który będzie zamieniać nam zapisy tekstowe np. www.google.com na konkretne adresy IP, z którymi IoT będzie się łączyć (np. 8.8.8.8).
Tak skonfigurowane połączenie zapisujemy. Na dole okna jest przycisk <OK>. Następnie wychodzimy z narzędzia. Adres IP możemy sprawdzić komendą:
hostname -I , I jak Irena.
Jeżeli adres się nie zmienił, wystarczy zrestartować IoT np. komendą: reboot now. Uwaga! Jeśli korzystamy z połączenia przez PuTTy, połączenie zostanie zerwane i trzeba będzie je ponowić wykorzystując już nowy adres IP. Dodatkowo, trzeba pamiętać o tym, żeby stacja miała adres pozwalający na połączenie z IoT.
Dostęp do Internetu
Dostęp do Internetu pozwala na instalacje odpowiednich bibliotek, aktualizacje oprogramowania, wymianę danych z serwerem i wiele więcej.
Jeśli korzystamy z Putty:
Jesteśmy podłączeni do komputera, wykorzystując port P1 - LAN. Najprostszym sposobem jest podłączenie routera do portu X1 - P2 naszego IoT. Router ustawi automatycznie adres IP i skonfiguruje połączenie z siecią. Możemy też wykorzystać switcha, do którego podłączamy IoT (P1 - LAN), router i komputer. Wówczas albo zmieniamy adresy IP na komputerze i IoT, tak aby były kompatybilne z IP routera, albo w ustawieniach IoT dodajemy drugi adres, który będzie kompatybilny z adresem routera. Pamiętamy o konfiguracji bramki i DNS!
Jeśli nie korzystamy z Putty:
Mamy dwa wolne porty ethernetowe. Możemy skonfigurować port P1 - LAN, nadając mu kompatybilny z routerem IP wraz z bramką i DNS. A następnie podłączyć router do tego portu. Możemy pominąć ręczną konfigurację i wykorzystać komendę, która sama skonfiguruje nowe połączenie (bez wpływu na istniejące), a po restarcie IoT je zamknie:
sudo /etc/init.d/networking restart && sudo dhclient (1)
Możemy podłączyć router do portu X1 - P2. Możemy wykorzystać switcha, tak jak opisałem dla przypadku z Putty.
Jak widać, możliwości jest wiele. Ja wykorzystałem połączenie z PuTTy z wykorzystaniem jednego portu Ethernetowego, a więc ze switchem i komendą:
sudo /etc/init.d/networking restart && sudo dhclient
(dopisek ‘sudo’ dajemy, gdy chcemy wykonać operację, do której wymagane są dodatkowe uprawnienia, jest to coś podobnego do uruchomienia jako administrator. Znaki && służą sklejaniu dwu lub więcej komend, żeby wykonały się jedna po drugiej.)
Niezależnie od wybranego sposobu, połączymy się z Internetem, a samo połączanie możemy sprawdzić np. wysyłając zapytanie do google:
ping www.google.com .
Aktualizacja oprogramowania
Chcąc mieć bezpieczniejsze oprogramowanie i zmniejszyć szansę napotkania błędów, wykonujemy aktualizacje systemowe. Można je wykonać na wiele sposobów, ja pokażę najprostszy. Najpierw łączymy się z siecią, tak jak jest to opisane powyżej, a następnie wpisujemy komendę:
sudo apt-get update && sudo apt-get dist-upgrade
Pierwsza część odpowiada za pobranie informacji o aktualizacjach, tzn. porównanie wersji naszych zainstalowanych programów z wersjami programów w sieci. Druga część, na podstawie danych z sieci, wykonuje aktualizację naszych bibliotek.
Wnioski
Konfiguracja zajmuję trochę czasu, ale jest wykonywana jednorazowo. Wiemy już, jak możemy zmieniać podstawowe parametry IoT. Wiemy jak połączyć się z Internetem i wiemy jak zaktualizować oprogramowanie. Cały artykuł można śmiało uznać za wstęp, który jest konieczny do dalszej pracy z IoT.
Opmerkingen