Industrial Ethernet Fault Diagnosis: Wireshark Deep Dive for Modbus TCP and OPC UA in DCS Networks

P: Dlaczego analiza na poziomie pakietów jest ważna w sieciach DCS?

Przemysłowy Ethernet przenosi kluczowe dane sterowania procesem. Modbus TCP i OPC UA to dwa najczęściej stosowane protokoły — gdy komunikacja zawodzi, produkcja zatrzymuje się. Systemy DCS Yokogawa CENTUM VP opierają się na Vnet/IP do komunikacji wewnętrznej, ale wiele urządzeń polowych nadal korzysta z Modbus TCP na porcie 502. Karta interfejsu Yokogawa VI701 Vnet/IP zapewnia szybkie połączenie szkieletowe Vnet/IP dla węzłów FCS CENTUM VP, natomiast Przemysłowy przełącznik zarządzany Schneider TCSESM083F23F0 oferuje funkcję portu SPAN do lustrzanego odbicia ruchu potrzebną do przechwytywania pakietów Wireshark w sieciach DCS. Brama Prosoft PLX32-EIP-MBTCP EtherNet/IP do Modbus TCP to popularny most protokołów między systemami DCS EtherNet/IP a urządzeniami polowymi Modbus TCP — częste źródło błędów timeout, które omawia ten przewodnik.

P: Jaka jest struktura ramki Modbus TCP, którą muszę znać?

Modbus TCP opakowuje dane w 7-bajtowy nagłówek MBAP oraz PDU. Nagłówek zawiera identyfikator transakcji, identyfikator protokołu (zawsze 0x0000), pole długości oraz identyfikator jednostki. Typowe żądanie odczytu FC 03 w formacie hex: 00 01 00 00 00 06 01 03 00 00 00 0A. Popularne kody funkcji: 0x03 odczytuje rejestry holding, 0x06 zapisuje pojedynczy rejestr, 0x10 zapisuje wiele rejestrów.

Gdy slave zwraca odpowiedź wyjątkową, kod funkcji ma ustawiony bit 7 (np. 0x83 = błąd dla FC 03). Kod wyjątku 01 = nielegalna funkcja, 02 = nielegalny adres danych, 03 = nielegalna wartość danych. Te kody to pierwsza wskazówka diagnostyczna w Wireshark.

P: Jak działa protokół binarny OPC UA w analizie Wireshark?

OPC UA domyślnie używa portu 4840. Klient wysyła wiadomość Hello, serwer odpowiada Acknowledge, następnie klient otwiera bezpieczny kanał, tworzy sesję i ją aktywuje. W środowiskach Yokogawa serwery OPC UA często działają za zaporami sieciowymi — należy zweryfikować, czy port 4840 jest otwarty i dostępny. Dla sesji szyfrowanych załaduj prywatny klucz serwera w formacie PEM w Edycja → Preferencje → Protokoły → OPC UA, aby umożliwić odszyfrowanie w czasie rzeczywistym błędów uwierzytelniania i timeoutów sesji.

P: Jak skonfigurować lustrzane odbicie portu i przechwytywanie Wireshark?

  • Krok 1: Zaloguj się do CLI lub interfejsu webowego przemysłowego przełącznika (Hirschmann, Moxa lub Cisco IE). Zidentyfikuj port źródłowy podłączony do sterownika PLC lub DCS.
  • Krok 2: Skonfiguruj lustrzane odbicie SPAN: ustaw port źródłowy na port Ethernet PLC, a port docelowy na laptop diagnostyczny. Włącz dwukierunkowe lustrzane odbicie ruchu.
  • Krok 3: Otwórz Wireshark, wybierz interfejs lustrzany i ustaw filtr przechwytywania: tcp port 502 or tcp port 4840. Rozpocznij przechwytywanie.
  • Krok 4: Odwzoruj warunek błędu. Pozwól na przepływ ruchu przez co najmniej 30 sekund.
  • Krok 5: Zatrzymaj przechwytywanie i zapisz plik jako .pcapng. Zastosuj filtry wyświetlania: użyj modbus lub opcua jako filtrów startowych, następnie tcp.analysis.retransmission do izolowania anomalii.

P: Studium przypadku — timeout Modbus TCP w Yokogawa CENTUM VP?

W zakładzie petrochemicznym zgłoszono sporadyczne utraty danych na łączach Modbus TCP. DCS CENTUM VP odpytywał 24 nadajniki polowe co 500 ms, z okazjonalnym pominięciem trzech lub czterech nadajników z listy skanowania. Po skonfigurowaniu lustrzanego odbicia portu na przełączniku Hirschmann i przechwyceniu dwugodzinnego ruchu, filtrowanie pod kątem tcp.analysis.retransmission i odpowiedzi wyjątkowych Modbus ujawniło wielokrotne retransmisje TCP do konkretnych adresów slave.

Przyczyna: brama RS-485 do Ethernet z błędem firmware, która traciła pakiety przy dużym obciążeniu, gdy więcej niż 16 slave’ów odpowiadało jednocześnie. Naprawa: aktualizacja firmware bramy i zmniejszenie wielkości grupy odpytywanej do 12 urządzeń na bramę.

P: Studium przypadku — błąd uwierzytelniania OPC UA w Schneider Modicon M580?

Klient SCADA w oczyszczalni wody nie mógł nawiązać sesji OPC UA po odnowieniu certyfikatu. Wireshark pokazał odpowiedzi OpenSecureChannel ze statusem BadCertificateInvalid. W magazynie zaufania klienta brakowało certyfikatu pośredniego CA. Po dodaniu certyfikatu pośredniego i restarcie klienta OPC UA sesje zostały pomyślnie aktywowane.

Pojawił się drugi problem: żądania Publish OPC UA nie miały odpowiedzi nawet do 10 sekund. Filtrowanie opcua.service == Publish ujawniło powiadomienia TCP zero-window — CPU kontrolera Modicon pracowało na 95% obciążenia. Przeniesienie logiki na kontroler zapasowy obniżyło opóźnienia subskrypcji poniżej 200 ms.

Jakie są kluczowe wskazówki?

  • Nigdy nie lustrz odbicia ruchu na port, który przenosi ruch produkcyjny — powoduje to pętlę broadcastową.
  • Zawsze ustaw filtr przechwytywania przed rozpoczęciem. Nieprzefiltrowane przechwytywania w ruchliwej sieci DCS zapełniają bufor 1 GB w mniej niż 60 sekund.
  • Używaj funkcji Follow TCP Stream, aby odtworzyć pełną rozmowę klient-serwer.
  • Eksportuj anomalne ramki jako zrzuty hex dla wsparcia technicznego producenta. Dołączaj znaczniki czasu i informacje o interfejsie.
  • Archiwizuj pliki .pcapng z opisowymi nazwami (data, model sterownika, opis błędu) do analizy trendów.

Autor: Zhang Minghui jest inżynierem automatyki przemysłowej z ponad 10-letnim doświadczeniem w PLC, DCS i systemach sterowania.

Pokaż wszystko
Posty na blogu
Pokaż wszystko
Yokogawa and Emerson Loops: Mastering 4-20 mA Voltage Drop and HART Headroom

Pętle Yokogawa i Emerson: opanowanie spadku napięcia 4-20 mA i marginesu HART

Praktyczna metoda budżetu napięcia dla pętli Yokogawa i Emerson 4–20 mA: oblicz spadki napięcia szeregowego przy wysokim prądzie, sprawdź impedancję HART i bezpiecznie zmierz zapas napięcia przetwornika.
Triconex and HIMA Bypass Discipline: Force Versus Override in Safety Systems

Dyscyplina obchodzenia zabezpieczeń w systemach Triconex i HIMA: wymuszenie a nadpisanie w systemach bezpieczeństwa

Wymuszenie i nadpisanie to różne sposoby na obejście sygnałów SIS. Dowiedz się, jak oceniać wpływ na bezpieczeństwo, zatwierdzać prace, weryfikować widoczność dla operatora i przywracać ochronę w systemach Triconex i HIMA.
Migrate or Upgrade a PLC? A Decision Guide for Allen-Bradley and Schneider

Migrować czy modernizować sterownik PLC? Przewodnik po decyzjach dotyczących systemów Allen-Bradley i Schneider

Porównaj modernizacje i migracje sterowników PLC pod kątem wsparcia w całym cyklu życia, zgodności modułów wejść/wyjść, nakładu pracy związanego z przeprogramowaniem, ryzyka przełączenia, przestoju oraz planowania wycofania zmian w systemach Allen-Bradley i Schneider.