Przemysłowy IoT (IIoT) i Edge Computing

Zdalny dostęp do maszyn i sterownika PLC - router, MQTT i chmura

Szymon Adamek 13 min czytania

Zdalny dostęp do maszyn to bezpieczne połączenie z biura lub z domu ze sterownikiem PLC, panelem HMI czy falownikiem, które pracują w szafie u klienta, bez wyjazdu na obiekt. W praktyce robi to przemysłowy router z tunelem VPN, a ten sam router może przy okazji zbierać dane z maszyny i wysyłać je do chmury.

W tym artykule pokazujemy, jak na realnym stanowisku spięliśmy router Secomea SiteManager, sterownik Finder OPTA (Modbus TCP), panel IDEC HG2J (MQTT) i chmurę Inuatek z dashboardem OEE i alarmami SMS. Na końcu znajdziesz zasady, dzięki którym taki zdalny dostęp nie staje się furtką do sieci produkcyjnej.

Czym jest zdalny dostęp do maszyny i jak działa?

Wyobraź sobie maszynę u klienta w Niemczech albo w Czechach. Operator dzwoni, że linia stoi. Bez takiej możliwości pakujesz się w samochód i jedziesz nawet 1000 km, żeby zmienić jeden bit w programie. Gdy masz możliwość zdalnego połączenia, łączysz się z maszyną tak, jakbyś stał obok szafy sterowniczej. To dziś podstawowy element serwisu w automatyce przemysłowej i jedna z usług, za które klienci producentów maszyn coraz częściej płacą w ramach umów serwisowych.

Klasyczny schemat wygląda tak:

  • router przemysłowy (bramka) montowany na szynie DIN w szafie maszyny - po jednej stronie ma sieć maszyny (LAN z PLC, HMI, falownikami), po drugiej internet (WAN, LTE albo sieć zakładu),
  • serwer pośredniczący (server) u producenta rozwiązania lub w firmie - zestawia tunele VPN i pilnuje, kto ma prawo połączyć się z którą maszyną,
  • klient na komputerze serwisanta - po zalogowaniu użytkownika (user) daje dostęp do każdego urządzenia za routerem, a oprogramowanie (TIA Portal, CODESYS, edytor HMI) widzi sterownik tak, jakby był w lokalnej sieci.

W ekosystemie Secomea te role pełnią odpowiednio SiteManager (bramka przy maszynie), GateManager (serwer) i LinkManager (aplikacja serwisanta), czyli trzy elementy typu manager. Ważna cecha takich systemów: router zestawia połączenie wychodzące, więc nie trzeba wystawiać sterownika na publiczny adres IP ani przekierowywać portów w routerze zakładu.

Schemat ścieżki danych: panel IDEC HG2J po MQTT i Finder OPTA po Modbus TCP przez Secomea SiteManager do chmury Inuatek
Od maszyny do chmury: dwa urządzenia, dwa protokoły, jeden router

Zdalny dostęp a zdalne dane - dwie różne funkcje

Warto rozdzielić dwa pojęcia. Zdalny dostęp to sesja serwisowa: programowanie PLC, podgląd panelu, diagnostyka. Zdalne dane (IIoT) to stały strumień wartości z maszyny do chmury: liczniki, temperatury, alarmy, wskaźniki OEE. Dobra bramka robi obie rzeczy jednocześnie - i właśnie to pokazujemy na stanowisku. To jeden z filarów koncepcji przemysłu 4.0 - więcej o tle technologicznym przeczytasz we wpisie Przemysłowy Internet Rzeczy (IIoT) - kluczowe technologie.

Nasze stanowisko: dwa urządzenia, dwa protokoły, jeden router

Sprzęt do testu udostępniła firma Comparta. Podstawowy cel: pokazać pełną ścieżkę danych, a nie pojedyncze urządzenie w oderwaniu od reszty. Cały łańcuch danych wygląda tak:

  • Panel operatorski IDEC HG2J - wysyła dane protokołem MQTT (lekki protokół typu publish/subscribe, stworzony do komunikacji urządzeń brzegowych z chmurą),
  • Sterownik Finder OPTA zaprogramowany w CODESYS - działa na nim symulator paletyzatora z licznikami, czasem cyklu, statusami i alarmami; dane wystawia jako serwer (slave) Modbus TCP,
  • Secomea SiteManager 3529 - router na szynie DIN; do portów DEV podpięte są PLC i HMI, do portu WAN internet. Odpytuje PLC, odbiera ruch MQTT z panelu i szyfrowanym kanałem wysyła wszystko do chmury,
  • Inuatek - platforma IIoT duńskiej firmy Inuatek, która według producenta łączy się z Secomea SiteManager bez dodatkowej integracji; dane trafiają na wykresy, wskaźniki, historię i alarmy.
ElementRola w systemieProtokół / połączenie
Finder OPTA (CODESYS)źródło danych procesu: liczniki, cykle, alarmy, OEEModbus TCP, serwer (slave ID 2)
Panel IDEC HG2JHMI operatora, dane pomiarowe (wilgotność, temperatura, moc, alarm)MQTT (publish), SSL/TLS
Secomea SiteManagerbramka OT: zbiera dane, zestawia zdalny dostępLAN: Ethernet; WAN: internet, tunel szyfrowany
Chmura Inuatekhistoria, dashboardy, alarmy, aplikacja mobilnabroker MQTT, połączenie z SiteManagerem

Według producenta bramki Site Manager z serii 15XX/35XX obsługują w module zbierania danych m.in. OPC UA, Modbus TCP, Siemens S7, EtherNet/IP i MQTT, a jedna bramka sprzętowa może obsłużyć do 100 urządzeń. Są też wersje z portami szeregowymi (RS232, przez adaptery także RS485), gdy maszyna nie ma Ethernetu. Szczegóły modeli znajdziesz na stronie secomea.com.

Konfiguracja połączenia: zdalny dostęp do PLC i przesyłanie danych krok po kroku

Poniżej kolejność, w jakiej konfigurowaliśmy stanowisko. Adresację dopasuj do swojej sieci - ważne, żeby urządzenia w sieci maszyny miały statyczny adres IP (IPv4) z jednej podsieci LAN, którą zna router.

Krok 1. Sterownik PLC jako serwer Modbus TCP

W CODESYS na Finder OPTA (sterownik PLC w tym układzie) dodaliśmy moduł Ethernet, ustawiliśmy adres IP i dodaliśmy urządzenie Modbus TCP Server (slave). Z projektu trzeba odczytać ID slave'a - u nas to 2. Wszystkie zmienne symulatora paletyzatora zmapowaliśmy na rejestry jedną linijką w zmiennych globalnych, zamiast klikać każdą osobno. Jeśli ten protokół to dla Ciebie nowość i brakuje Ci wiedzy z podstaw, zacznij od minikursu Modbus RTU i TCP.

Krok 2. Kolektor Modbus TCP w routerze

W platformie Inuatek, w zakładce konfiguracji routera, konfigurujesz kolektor: adres i ID urządzenia, ID slave'a, typ rejestrów (u nas rejestry wejściowe), rejestr startowy, liczbę rejestrów i czas odświeżania. Niżej definiujesz poszczególne zmienne, np. dostępność, wydajność, jakość, OEE, i ich typ: byte, int, float, double. My używamy głównie float i int. Router potrafi też automatycznie generować testową sinusoidę - przydaje się, żeby sprawdzić, czy dane w ogóle dochodzą do chmury.

Krok 3. MQTT w panelu HMI

W oprogramowaniu IDEC (WindO/I-NV4) otwierasz Project, Network, MQTT Settings i zaznaczasz Enable MQTT Client function. Dalej:

  • broker - wybierasz połączenie z brokerem MQTT i podajesz jego adres oraz port (u nas broker demonstracyjny Inuatek),
  • Client ID - unikalna nazwa panelu, u nas ControlByte HMI,
  • SSL/TLS - zaznaczasz połączenie szyfrowane i importujesz certyfikaty (root, klienta i klucz prywatny) wygenerowane w platformie Inuatek,
  • Connection Control i Connection Status - bit LM10 uruchamia połączenie, a rejestr LDR10 pokazuje jego stan; my wyprowadziliśmy przycisk i status na ekran panelu.
Okno MQTT Settings w oprogramowaniu IDEC z połączeniem SSL/TLS i certyfikatami
Konfiguracja klienta MQTT w panelu IDEC HG2J: TLS, certyfikaty, bit i rejestr stanu połączenia

W zakładce Publish definiujesz payload, czyli JSON z wartościami wysyłanymi do brokera (wilgotność, temperatura, alarm, moc), tryb pracy i okres wysyłki - u nas co 10 s. Zakładka Subscribe zostaje pusta, bo z chmury nic nie pobieramy. Gdybyś chciał sterować czymś z dashboardu, np. przyciskiem, skonfigurujesz właśnie subskrypcję. Uwaga na nomenklaturę pól w payloadzie: jeśli nie zachowasz formatu, którego oczekuje platforma, chmura nie odczyta wartości.

Krok 4. Plik konfiguracyjny JSON w chmurze

Po stronie Inuatek konfigurację MQTT można zaimportować z pliku JSON zamiast klikać każdą zmienną:

  • ConfigName i ConfigDescription - etykiety, nie wpływają na dane,
  • Collectors - źródła danych; CollectorName "MQTT" mówi platformie, skąd lecą wartości,
  • SamplePoints - lista zmiennych; każdy obiekt to jeden tag na dashboardzie,
  • SampleName i SampleDataType - nazwa i typ: float dla pomiarów, bool dla statusów i alarmów,
  • CustomNameIndex - klucz mapowania; numer slotu musi się zgadzać z tym, co wysyła urządzenie,
  • RealtimeOnly i ScalingFactor - false oznacza zapis do historii i trendów, a współczynnik skaluje surową liczbę.
Struktura pliku DCM_config.json do konfiguracji MQTT w platformie Inuatek
Plik JSON z konfiguracją MQTT: collectors, sample points i klucz mapowania

Praktyczny trik z filmu: gdy masz listę 20 sygnałów, wklej wzór pliku i listę zmiennych do asystenta AI (Claude, ChatGPT), wygeneruj kompletny JSON i zaimportuj go jednym ruchem. Sprawdź tylko, czy indeksy zgadzają się z payloadem z panelu.

Krok 5. Zdalny podgląd i sterowanie panelem

Gdy dane płyną, nie musisz biegać do maszyny ani prosić o pomoc kogoś na miejscu, żeby sprawdzić komunikację. Z poziomu platformy klikasz Remote Access i przez SiteManager otwierasz stronę serwisową panelu: tryb Monitor (podgląd) albo Control (sterowanie). W teście zmieniliśmy zdalnie wilgotność na 71% i wpisaliśmy 540 do rejestru Modbus, a po chwili ta sama wartość pojawiła się w chmurze. Ta sama ścieżka służy do zdalnego programowania PLC, a w większych instalacjach także do podglądu systemu SCADA.

Zdalny podgląd i sterowanie ekranem panelu HMI przez Secomea
Zdalny podgląd panelu HMI w trybie Control przez SiteManager

Zwróć uwagę na opcje panelu widoczne na zrzucie: blokada sterowania z innych klientów i z ekranu dotykowego oraz automatyczny time-out sesji. To drobiazgi, które w realnym serwisie chronią przed sytuacją, gdy ktoś zdalnie zmienia parametry, a operator w tym samym czasie stoi przy maszynie. O samych panelach operatorskich więcej we wpisie Czym jest panel HMI.

Jak zdalnie monitorować maszyny: dashboard OEE i alarmy

W zakładce Next Gen Dashboards zbudowaliśmy dwa ekrany: prosty z mocą chwilową z panelu i rozbudowany dashboard OEE paletyzatora. Widżety dodajesz bez programowania: wybierasz urządzenie (SiteManager), collector (np. Finder OPTA) i zmienną, np. palety łącznie, dobre i odrzucone. Po zapisaniu zmian ekran można uruchomić w trybie kiosku na monitorze przy linii.

Dashboard OEE w chmurze Inuatek ze wskaźnikami dostępności, wydajności i jakości oraz licznikami palet
Dashboard OEE paletyzatora z danymi ze sterownika Finder OPTA

OEE, czyli ile maszyna naprawdę wyciąga

OEE (Overall Equipment Effectiveness) to jedna liczba, która mówi, jaki procent teoretycznego maksimum maszyna faktycznie osiąga. Składa się z trzech składników:

  • dostępność - czy maszyna w ogóle pracowała (odejmujemy awarie, przezbrojenia, przestoje),
  • wydajność - czy pracowała w zaplanowanym tempie (mikroprzestoje i praca wolniej niż nominalnie),
  • jakość - ile z wyprodukowanych sztuk było dobrych (braki i poprawki).

Mnożysz trzy wartości i dostajesz OEE (przykład użycia z naszego dashboardu), np. 87,5% x 92,0% x 98,5% = 79,3%. Najważniejsze: dane nie są wpisywane ręcznie na koniec zmiany, tylko płyną prosto ze sterownika i panelu przez router do chmury. Widzisz to, co maszyna robi w tej sekundzie, a nie to, co ktoś zaraportował.

Plansza wyjaśniająca OEE jako iloczyn dostępności, wydajności i jakości
OEE = dostępność x wydajność x jakość

Alarmy: e-mail, SMS i aplikacja mobilna

Inuatek ma funkcję Quick Alerts. Dla zmiennej (u nas moc z panelu) ustawiasz warunek logiczny, np. przekroczenie progu, i kanały powiadomień: e-mail, SMS oraz push w aplikacji mobilnej. Skonfigurowaliśmy dwa progi: ostrzeżenie i stan krytyczny. Przy powtarzalnych powiadomieniach ustaw minimalny odstęp, u nas 1 minuta, żeby nie dostać lawiny alertów. W teście po podniesieniu mocy na panelu powyżej progu powiadomienie przyszło na telefon i na skrzynkę e-mail, a w aplikacji był też podgląd całego dashboardu. Kierownik utrzymania ruchu wie o awarii, zanim zadzwoni operator.

Jak bezpiecznie skonfigurować zdalny dostęp do maszyn?

Zdalny dostęp to wejście do sieci OT z zewnątrz, więc każda konfiguracja powinna przejść przez kilka pytań. Poniższe zasady to ogólne dobre praktyki, niezależne od producenta:

  • Żadnego przekierowania portów do PLC. Sterownik czy panel z publicznym adresem IP to zaproszenie dla skanerów z całego internetu. Używaj rozwiązań z połączeniem wychodzącym i tunelem VPN (dedykowany system jak Secomea, SINEMA Remote Connect, Tosibox, IXON albo własny serwer, np. OpenVPN).
  • Segmentacja OT/IT. Router maszyny oddziela sieć maszyny od sieci zakładu i filtruje ruch między nimi. Serwisant po połączeniu powinien widzieć tylko urządzenia tej jednej maszyny, a nie cały network fabryki.
  • Kto ma dostęp. Każdy użytkownik ma własne konto, a administrator nadaje uprawnienia do konkretnych maszyn. Żadnych wspólnych haseł dla całego działu serwisu; tam, gdzie się da, włącz uwierzytelnianie dwuskładnikowe.
  • Zgoda klienta i nadzór. Dostęp nadzorowany oznacza, że ktoś na miejscu akceptuje sesję albo ją widzi; nienadzorowany - że serwisant łączy się sam. Na maszynach produkcyjnych częściej stosuje się dostęp nadzorowany, np. fizyczny przełącznik, którym zakład włącza możliwość zdalnej sesji. SiteManager ma taką opcję sprzętową, a sesję może sygnalizować kolumna świetlna.
  • Logi. Każda sesja powinna zostawić ślad: kto, kiedy, do której maszyny i jak długo. To podstawa przy analizie incydentu i wymóg w audytach.
  • Szyfrowanie i aktualizacje. MQTT tylko po TLS z certyfikatami, aktualne firmware routera, panelu i sterownika.

Secomea deklaruje certyfikację IEC 62443-4-1, ale certyfikat producenta nie zwalnia integratora z poprawnej konfiguracji. Jak zabezpieczyć sam PLC, opisaliśmy we wpisie Cyberbezpieczeństwo OT: jak zabezpieczyć sterownik PLC, a temat wymogów dyrektywy NIS2 rozwijamy w kursie Cyberbezpieczeństwo przemysłowe zgodne z NIS2.

Wybór rozwiązania: VPN, własny server czy system dedykowany?

RozwiązanieZaletyNa co uważać
Przekierowanie portów na routerze zakładuzero dodatkowego sprzętuPLC widoczny z internetu; rozwiązanie niezalecane
Własny serwer VPN (np. OpenVPN, ZeroTier) i router z LTEpełna kontrola, niski koszt sprzętutrzeba samemu utrzymać serwer, użytkowników, certyfikaty i logi
Komputer z pulpitem zdalnym przy maszynieszybkie wdrożeniebrak segmentacji, konta współdzielone, ryzyko przejęcia całego PC
Dedykowany system przemysłowy (Secomea, SINEMA Remote Connect, Tosibox, IXON)tunel wychodzący, uprawnienia per maszyna, logi, często moduł danych do chmurylicencje i zależność od dostawcy platformy

Dla integratora, który serwisuje kilkadziesiąt maszyn w różnych krajach, zwykle wygrywa system dedykowany: konfiguracja routera zajmuje minuty, a zarządzanie dostępami jest w jednym miejscu. Własny VPN ma sens, gdy w firmie jest administrator, który zadba o serwer i aktualizacje. Kontekst MQTT, OPC UA i Node-RED na jednym sterowniku pokazujemy też we wpisie Industry 4.0 na PLCnext.

Zdalny dostęp do maszyn - najczęściej zadawane pytania

Czy do zdalnego dostępu do PLC potrzebny jest publiczny adres IP?

Nie. Przemysłowe routery zdalnego dostępu zestawiają połączenie wychodzące do serwera pośredniczącego, więc działają za NAT-em zakładu i na karcie SIM bez publicznego IP. Publiczny adres i przekierowanie portów to rozwiązanie, którego lepiej unikać.

Czy przez ten sam router można programować sterownik i wysyłać dane do chmury?

Tak, na naszym stanowisku Secomea SiteManager jednocześnie zbiera dane z dwóch protokołów dla chmury Inuatek oraz daje zdalny dostęp do panelu HMI i sterownika. To dwie niezależne funkcje tego samego urządzenia, więc nie potrzebujesz dwóch osobnych usług.

MQTT czy Modbus TCP - co wybrać do wysyłki danych?

Modbus TCP jest prosty i obsługuje go prawie każdy sterownik, ale to odpytywanie rejestrów przez klienta. MQTT działa w modelu publish/subscribe przez broker, jest lekki i zaprojektowany do komunikacji z chmurą. W praktyce często łączy się oba: router czyta Modbus ze sterownika, a do chmury wysyła dane szyfrowanym kanałem.

Jak sprawdzić, kto i kiedy łączył się z maszyną?

W systemach dedykowanych każda sesja jest logowana po stronie serwera: użytkownik, czas, urządzenie. Przy własnym VPN musisz sam włączyć i przechowywać logi. Bez logów nie odtworzysz, kto zmienił program, gdy coś pójdzie nie tak.

Podsumowanie

Zdalny dostęp do maszyn oszczędza dni w delegacji, a to samo urządzenie może od razu wysyłać dane do chmury: OEE, liczniki i alarmy SMS bez ręcznych raportów. Na stanowisku wystarczyły dwa protokoły (Modbus TCP i MQTT), jeden router Secomea SiteManager i platforma Inuatek. Klucz to bezpieczna konfiguracja: VPN zamiast otwartych portów, segmentacja OT/IT, osobne konta, kontrola dostępu i logi.

Jeśli chcesz poukładać komunikację przemysłową od podstaw - Modbus, MQTT, OPC UA, zbieranie i przetwarzanie danych - sprawdź kurs komunikacji i przetwarzania danych w automatyce.

Autor Szymon Adamek

Dyrektor w ControlByte, automatyk. Autor kursu Predykcyjne utrzymanie ruchu i analiza danych w Pythonie. Prowadzi projekty szkoleniowe dla firm i szkół.

Kursy online

Chcesz programować PLC w praktyce?

Kursy Siemens, CODESYS, komunikacji i safety z certyfikatem i wsparciem instruktora. Zacznij od bezpłatnego minikursu.

Zobacz kursy