logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Komunikacja między sterownikami RS485 na odległość przez internet - Protokół Modbus RTU

Daniel_GSM 29 Lis 2020 19:45 1572 19
  • #1 19078040
    Daniel_GSM
    Poziom 25  
    Posty: 2114
    Pomógł: 12
    Ocena: 137
    Nie wiem czy dobrze zatytułowałem wątek, ale mam temat do realizacji i zastanawiam się jak to ugryźć.

    Potrzebuję "przedłużacz" RS485 wykorzystujący sieć internetową (protokół Modbus RTU)

    Mam dwa sterowniki oddalone od siebie o kilkadziesiąt km i potrzebuję nawiązać komunikację pomiędzy nimi (5 rejestrów 16 bitowych)
    Do tej pory realizowałem taką komunikację przez telemetrię, ale teraz Klient zażyczył sobie komunikacji przez internet.

    Oba sterowniki mają porty RS485.
    Czy jestem w stanie zrealizować komunikację pomiędzy sterownikami protokołem Modbus RTU wykorzystując jakieś gotowe konwertery RS485<->Ethernet?


    Zupełnie nie wiem jak się do tego zabrać.
  • #4 19078326
    sosarek

    Poziom 43  
    Posty: 83875
    Pomógł: 9318
    Ocena: 15478
    Nie miałem przyjemności, niemniej w systemach kontroli dostępu korzystałem z dedykowanych konwerterów RS485-Ethernet i działają, ważne tylko by mieć publiczne IP.
    Konto firmowe:
    Z
    Pka, Poznań, 60-850
    Pomogłem? Kup mi kawę.
  • #5 19078618
    Daniel_GSM
    Poziom 25  
    Posty: 2114
    Pomógł: 12
    Ocena: 137
    sosarek napisał:
    Nie miałem przyjemności, niemniej w systemach kontroli dostępu korzystałem z dedykowanych konwerterów RS485-Ethernet i działają, ważne tylko by mieć publiczne IP.


    Publiczne jest, ale oczywiście po drodze router - pewnie trzeba będzie ustawić jakieś przekierowania TCP/UDP
  • #6 19078743
    sosarek

    Poziom 43  
    Posty: 83875
    Pomógł: 9318
    Ocena: 15478
    Jeśli wpięte do routera to przekierowanie portów komunikacyjnych po obu stronach by mogły się "dogadać", plus taki ze konfigurowane przez WWW więc będziesz wiedział które ;)
    Konto firmowe:
    Z
    Pka, Poznań, 60-850
    Pomogłem? Kup mi kawę.
  • #7 19079078
    Markos80

    Specjalista Automatyk
    Posty: 1858
    Pomógł: 474
    Ocena: 214
    Jako konwertery zazwyczaj wybieram Moxa, Advantech lub własny serwer z S7-1200 i karty CP. Powyższego urządzenia też nie używałem, ale jeśli komunikacja nie będzie się wieszać, to innych problemów nie powinno być. Pod warunkiem, że nie są to tylko serwery portów szeregowych, bo niektóre nie potrafią aktywnie nawiązać połączenia, więc może nie być możliwości zrobienia mostu (wspomniany ma w opisie klient i serwer, więc jest szansa).
    Co do koncepcji, to coś w ten deseń:
    https://sklep.inveo.com.pl/pl/pozostale/13-lan-rs485.html
    Odradzam tylko wystawianie portów do Internetu. Proponuję między routerami zrobić tunel VPN i w nim komunikację.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #8 19121307
    Daniel_GSM
    Poziom 25  
    Posty: 2114
    Pomógł: 12
    Ocena: 137
    sosarek napisał:


    No to tak.
    Urządzenia podesłane przez Ciebie działają PERFEKCYJNIE!

    Kilka uwag/ciekawostek dla innych:

    1. Tylko od strony SLAVE konieczny jest statyczny i publiczny adres IP oraz przekierowanie portów na routerze jeśli takowy jest.
    2. Od strony MASTERA nie jest wymagany statyczny adres IP. PLC, który testowałem jest podłączony do konwertera który to podłączyłem do routera LTE B535 Huawei z jakąś tam kartą PLAY kupioną za 5 zł i wszystko śmiga (nawet żadnych portów nie przekierowywałem). Tak jak wspomniałem wyżej - ważne żeby SLAVE miał statyczne IP bo gdzieś te ramki musimy wysyłać - gdzieś czyli pod konkretny adres IP pod który podłączony jest konwerter.
    3. Żadnych instrukcji obsługi do urządzeń - wszystko trzeba konfigurować "na czuja", ale wiele tych ustawień nie ma - konfiguracja lokalnego IP, UDP/TCP, sever/client, parametry transmisji po RS485 i IP SLAVE i wsio - działa.
    4. Wysyłanie ramek modbusowych z mastera ustawiłem co 1 sekundę (5 rejestrów 16-bitowych) i powiem Wam, że błąd pojawia się co 30-40 ramek a, że dane po stronie slave nie są jakieś mega dynamiczne to w niczym mi to nie przeszkadza.
    5. Lepszy jest konwerter z RS485 i RS232 bo ma dodatkowe wejście zasilacza od 5-30V co w szafach sterowniczych daje nam swobodę zasilania. Ten tylko z portem RS485 wymaga zasilania 5V z dedykowanego zasilacza, ale za to ma mniejszą obudowę
  • #9 19121372
    sosarek

    Poziom 43  
    Posty: 83875
    Pomógł: 9318
    Ocena: 15478
    Daniel_GSM napisał:
    z jakąś tam kartą PLAY kupioną za 5 zł

    W Virgin Mobile za 5zł. masz 100GB do wykorzystania do końca marca 2021 ;)
    Konto firmowe:
    Z
    Pka, Poznań, 60-850
    Pomogłem? Kup mi kawę.
  • #10 19121388
    Daniel_GSM
    Poziom 25  
    Posty: 2114
    Pomógł: 12
    Ocena: 137
    sosarek napisał:
    Daniel_GSM napisał:
    z jakąś tam kartą PLAY kupioną za 5 zł

    W Virgin Mobile za 5zł. masz 100GB do wykorzystania do końca marca 2021 ;)


    To jest wersja testowa chciałem sprawdzić co te cuda oferują.
    Docelowo urządzenia będą podłączone po stacjonarny internet.
  • #11 19121397
    sosarek

    Poziom 43  
    Posty: 83875
    Pomógł: 9318
    Ocena: 15478
    No chyba ze tak, ważne że spełnia wszystkie zakładane funkcje.
    Konto firmowe:
    Z
    Pka, Poznań, 60-850
    Pomogłem? Kup mi kawę.
  • #12 19121639
    Daniel_GSM
    Poziom 25  
    Posty: 2114
    Pomógł: 12
    Ocena: 137
    sosarek napisał:
    No chyba ze tak, ważne że spełnia wszystkie zakładane funkcje.


    Tak działa!
    Protokół UDP opanowałem - jeszcze muszę TCP przetestować
  • #13 19123154
    jestam
    Specjalista Automatyk
    Posty: 1794
    Pomógł: 210
    Ocena: 144
    Tak powstaje industry 4.0 internet of things :-/

    Teraz czekamy aż kolejny robal skanujący internet znajdzie to urządzenie i dopasuje sygnaturę do jakiejś znanej podatności.

    Sugeruję jednak zestawienie VPNa między lokalizacjami, a konwertery skonfigurować na adresach wewnętrznych.
  • #14 19123701
    Daniel_GSM
    Poziom 25  
    Posty: 2114
    Pomógł: 12
    Ocena: 137
    90% modułów telemetrycznych monitorujących i/lub sterujących automatyką przemysłową w branży w której działam pracuje na statycznych i publicznych adresach IP (widoczne w sieci karty SIM m.in. T-Mobile) i od 7 lat nie stwierdziłem żadnego przypadku nieautoryzowanej ingerencji czy próby włamania...
    Urządzenia mają kontrolę IP połączeń przychodzących - to też dodatkowe zabezpieczenie prócz hasła, które zabezpiecza PLC przed nieautoryzowaną konfiguracją.
    Tylko niektórzy Klienci decydują się na prywatny APN.

    Fakt z VPN masz rację i pewnie też nad tym pomyślę - póki co chciałem przetestować funkcjonalność.
  • #15 19124284
    romulus73
    Poziom 28  
    Posty: 1221
    Pomógł: 96
    Ocena: 252
    jestam napisał:
    Tak powstaje industry 4.0 internet of things :-/

    Teraz czekamy aż kolejny robal skanujący internet znajdzie to urządzenie i dopasuje sygnaturę do jakiejś znanej podatności.

    Sugeruję jednak zestawienie VPNa między lokalizacjami, a konwertery skonfigurować na adresach wewnętrznych.

    Od bardzo dawna wystawiam różne konfigurację na statycznych publicznych adresach IP.
    Zaczynając w firmie są to zależnie od sterowników zwykłe przekierowania portów do internetu, są też VPN zaczynając od naj prostszych PTTP czy OPENVPN na 256bitach. W domu wystawiłem serwer SYNOLOGY na prywatnym APN z FTP (jako jeden z niewielu nie wiem co to reklama na poczcie :P) który jest na zwykłym haśle i wiesz co pokazują logi, średnio raz dziennie ktoś próbuje wpisać hasło i login no ale serwer po trzech próbach bonuje IP na 1 godzinę i tak od kilku lat nie zdarzają się nawet te sam IP. No jeszcze nikt nie skopiował nic, chyba że ty umiesz się włamać i jesteś zainteresowany takim malutkim serwerkiem to na próbę podam IP
    Pliki może kasować tylko admin reszta kopiować.
  • #16 19125711
    Daniel_GSM
    Poziom 25  
    Posty: 2114
    Pomógł: 12
    Ocena: 137
    Ja też chętnie udostępnię IP karty telemetrycznej w module GPRS podłączonym do sterownika PLC.
    Publiczne i statyczne IP - dostępne z zewnątrz.

    Tak serio to jedyną rzeczą, która może zaboleć użytkownika tej karty po takim "włamaniu" to zwiększona transmisja danych podczas złośliwego "pingowania" IP...

    A jeśli już udało by Ci się przebić przez zaporę (kontrola przychodzącego adresu IP)) i przez hasło (8 znakowe) to mógłbyś zmienić wartości rejestrów i tu też by było ciężko nabroić.
    Mapa ma około 700 rejestrów 16-bitowych, gdzie 95% to odczyty wartości a tylko 5% to nastawy, które mogłyby zaburzyć procesy...


    A przy okazji zapytam:
    Czy sieć domowa, której router otrzymuje od operatora dynamiczny adres IP jest bezpieczniejsza od takiej gdzie router ma statyczne IP?
  • #17 19132073
    jestam
    Specjalista Automatyk
    Posty: 1794
    Pomógł: 210
    Ocena: 144
    Daniel_GSM napisał:

    1. Tylko od strony SLAVE konieczny jest statyczny i publiczny adres IP oraz przekierowanie portów na routerze jeśli takowy jest.

    Daniel_GSM napisał:

    Docelowo urządzenia będą podłączone po stacjonarny internet.

    W tym urządzeniu
    https://botland.com.pl/pl/konwertery-usb-uart...rs485-ethernet-cortex-m4-waveshare-16530.html
    jest Cortex-M, to nie ma nawet MMU. Jedno przepełnienie bufora załatwia temat. To musi być za firewallem. Filtrowanie po IP to security by obscurity, spoofing IP jest banalny. Zostaje VPN.

    Daniel_GSM napisał:
    Fakt z VPN masz rację i pewnie też nad tym pomyślę - póki co chciałem przetestować funkcjonalność.

    VPN uważam za poprawne rozwiązanie. Choć tez wypadałoby nim zarządzać i aktualizować w razie potrzeby - ale za to klient powinien już płacić jakiś abonament serwisowy, albo mieć swoich ludzi od IT.

    Daniel_GSM napisał:
    mógłbyś zmienić wartości rejestrów i tu też by było ciężko nabroić.
    Mapa ma około 700 rejestrów 16-bitowych, gdzie 95% to odczyty wartości a tylko 5% to nastawy, które mogłyby zaburzyć procesy...

    Co powstrzyma atakującego przed zapisaniem losowych wartości do całej pamięci, która da się zapisać? 700 rejestrów to 6 transmisji rozkazu 0x10 z PDU o maksymalnej długości, co zajmie jakieś 2 sekundy nawet przy 9600bps. Zepsuć nie jest trudno.

    romulus73 napisał:
    Zaczynając w firmie są to zależnie od sterowników zwykłe przekierowania portów do internetu, są też VPN zaczynając od naj prostszych PTTP czy OPENVPN na 256bitach.

    Masz świadomość, że istnieją automaty skanujące sygnatury urządzeń w sieci i serwisy pozwalające to przeglądać i wyszukiwać wg zadanych kryteriów? Są darmowe, są płatne.

    Przekierowanie portów sterowników do internetu to coś pomiędzy zupełną niefrasobliwością a sabotażem. PLC nie są w stanie się same obronić przed zagrożeniami. Wystarczy jedna podatność. Może taka wypłynie jutro, może za rok, a może już wypłynęła? Poważny przemysłowy software już był atakowany i okazywało się że "hasła" i "zabezpieczenia" w marketingu niby są, a rzeczywistość... Przypomnij sobie historę WinCC i Stuxnet.

    romulus73 napisał:
    No jeszcze nikt nie skopiował nic, chyba że ty umiesz się włamać i jesteś zainteresowany takim malutkim serwerkiem to na próbę podam IP

    Daniel_GSM napisał:
    Ja też chętnie udostępnię IP karty telemetrycznej w module GPRS podłączonym do sterownika PLC.

    Co to ma wspólnego z wystawianiem konwertera Eth/RS na świat?
    Macie zabezpieczone swoje sieci? Super. Zabezpieczcie też poprawnie te bezbronne konwertery i sterowniki.
  • #18 19132695
    Markos80

    Specjalista Automatyk
    Posty: 1858
    Pomógł: 474
    Ocena: 214
    Podpisuję się pod powyższym dwoma rękami :) Dlatego sugerowałem zamknięcie komunikacji w tunelu VPN. Zawsze to dodatkowy próg do przejścia.
    W większości przypadków niepowołany dostęp polega nie na łamaniu zabezpieczeń, a na wykorzystaniu jakiejś dziury (exploit). Np.: stary firmware Mikrotika pozwalał na uruchomienie kawałka kodu Python na jakimśtam porcie i w zamian odpowiadał fragmentem pamięci, w którym wszystkie hasła były zapisane otwartym tekstem.
    Jak już taka dziura wycieknie w sieci to pozostałe urządzenia są łamane lawinowo, chociażby dla sprawdzenia czy to faktycznie działa.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #19 19133383
    romulus73
    Poziom 28  
    Posty: 1221
    Pomógł: 96
    Ocena: 252
    jestam Tak mam świadomość na wszystko i tak samo na to, że nie jesteś w stanie tego zrobić mimo że programy są darmowe. Tak samo istnieje niebezpieczeństwo, że zginę na pasach mimo to przez nie przechodzę wcześniej się rozglądając. Jak napisałem korzystam z różnych zabezpieczeń zależnych od potrzeb, nie wszystkie dane w siecią są write chyba o tym zapominałeś. Jak napisałem chcesz się sprawdzić z tymi darmowymi programami? Akurat mam urządzono wystawione na porcie :9900
  • #20 19158901
    szczupx
    Poziom 19  
    Posty: 555
    Pomógł: 29
    Ocena: 94
    Abstrahując od bezpieczeństwa to RTU ma dość ścisłe reżimy czasowe. Jak będzie większa latencja i/lub pojawią się straty pakietów to mogą dziać się cuda. Do tego UDP nie zapewnia kolejności pakietów.
    Wszystko zależy od implementacji na konkretnym urządzeniu. Nie raz spotkałem się z tak beznadziejnym firmwarem że potrafił zawiesić całe urządzenie wskutek zakłócenia w transmisji. U Ciebie może będzie działać idealnie, a może zawiesi się po miesiącu., gwarancji żadnej nie masz.

Podsumowanie tematu

✨ Użytkownik poszukuje rozwiązania do komunikacji między dwoma sterownikami RS485 oddalonymi o kilkadziesiąt kilometrów, wykorzystując protokół Modbus RTU przez internet. Wskazano na możliwość użycia konwerterów RS485-Ethernet, które umożliwiają taką komunikację, pod warunkiem posiadania publicznego adresu IP oraz odpowiednich przekierowań portów na routerze. Uczestnicy dyskusji polecają konwertery od firm Moxa i Advantech oraz sugerują zastosowanie tunelu VPN dla zwiększenia bezpieczeństwa. Wskazano również na potencjalne problemy z latencją i stratami pakietów, które mogą wpłynąć na stabilność komunikacji. Użytkownik potwierdził, że testowane urządzenia działają poprawnie, a komunikacja przez UDP i TCP została pomyślnie skonfigurowana.
Wygenerowane przez model językowy.
REKLAMA