Komunikacja przemysłowa
Niezawodna łączność
Połącz swoje sterowniki PLC ze światem. Od szybkiej komunikacji S7 po uniwersalny Modbus TCP, opanuj protokoły napędzające nowoczesną inteligentną fabrykę.
Podstawy sieci PLC
Komunikacja jest kręgosłupem zintegrowanej automatyzacji. TIA Portal oferuje szeroką gamę instrukcji do wymiany danych między sterownikami PLC firmy Siemens, urządzeniami innych producentów i systemami IT poprzez zintegrowany interfejs PROFINET/Ethernet.
Niezależnie od tego, czy potrzebujesz prostoty PUT/GET, czy elastyczności Open User Communication (OUC), wybór odpowiedniego protokołu ma kluczowe znaczenie dla wydajności, bezpieczeństwa i skalowalności systemu.
Open User Communication
Natywne TCP/UDP i ISO-on-TCP
TSEND_C / TRCV_C — Kompaktowa komunikacja
TSEND_C / TRCV_COpis działania
Kompaktowe instrukcje łączące zarządzanie połączeniem i transfer danych w jednym bloku. Obsługują protokoły TCP, UDP i ISO-on-TCP.
Zastosowanie
Standardowy wybór dla nowoczesnej komunikacji Ethernet między procesorami S7-1200/1500 lub podczas komunikacji z aplikacjami PC za pośrednictwem gniazd.
Wskazówki eksperta
Użyj systemowego typu danych 'TCON_IP_v4', aby zdefiniować parametry połączenia, takie jak adres IP i port w interfejsie bloku.
Ustaw 'CONT = TRUE', aby utrzymać połączenie otwarte na stałe, co zmniejsza narzut przy częstej wymianie danych.
Monitoruj wyjście 'STATUS' pod kątem kodu szesnastkowego 16#7004, który wskazuje, że połączenie zostało nawiązane i jest bezczynne.
TCON / TDISCON — Ręczne sterowanie
TCON / TDISCONOpis działania
Dedykowane instrukcje do nawiązywania i kończenia połączeń komunikacyjnych niezależnie od bloków transferu danych.
Zastosowanie
Używane w złożonych architekturach, w których trzeba zarządzać wieloma połączeniami lub dynamicznie zmieniać docelowe adresy IP w czasie pracy.
Wskazówki eksperta
Zawsze wywołuj TDISCON przed zmianą parametrów połączenia, aby upewnić się, że gniazdo zostało poprawnie zwolnione przez system operacyjny.
Użyj TCON z 'active established' na jednym PLC i 'passive' na partnerze, aby zdefiniować relację klient/serwer.
Sprawdź dostępność lokalnego portu; standardowe porty użytkownika powinny mieścić się w zakresie od 2000 do 5000.
Komunikacja S7
Zastrzeżona wymiana danych Siemens
PUT / GET — Prosty zdalny dostęp
PUT / GETOpis działania
Pozwala jednemu PLC na odczyt (GET) lub zapis (PUT) danych bezpośrednio do pamięci partnera PLC bez konieczności pisania kodu po stronie partnera.
Zastosowanie
Szybka wymiana danych ze starszymi systemami S7-300/400 lub gdy nie można modyfikować oprogramowania sterownika partnera.
Wskazówki eksperta
Aby to działało, MUSISZ włączyć opcję 'Zezwalaj na dostęp poprzez komunikację PUT/GET' w ustawieniach ochrony i bezpieczeństwa procesora.
Bloki DB partnera NIE mogą być zoptymalizowane; wymagany jest standardowy dostęp do bloków dla adresowania bezwzględnego (P#DB1.DBX0.0 BYTE 10).
Ogranicz użycie dla danych krytycznych pod względem bezpieczeństwa, ponieważ sterownik partnera nie ma kontroli nad tym, kiedy jego dane są modyfikowane.
BSEND / BRCV — Transfer dużych bloków
BSEND / BRCVOpis działania
Protokoł segmentowanego transferu danych do wysyłania dużych ilości danych (do 64 KB) przez połączenia S7 z gwarancją dostarczenia.
Zastosowanie
Przesyłanie plików receptur, długich ciągów znaków lub buforów diagnostycznych między procesorami Siemens, gdzie integralność danych jest najważniejsza.
Wskazówki eksperta
Oba procesory muszą wywoływać odpowiednie bloki (BSEND u nadawcy, BRCV u odbiorcy) z pasującymi parametrami R_ID.
Użyj bitów 'DONE' i 'NDR', aby zsynchronizować logikę z końcem transferu.
Sprawdź parametr 'LEN' po stronie odbiorcy, aby zweryfikować dokładną liczbę odebranych bajtów.
Modbus TCP
Uniwersalny standard przemysłowy
MB_CLIENT / MB_SERVER — Protokół TCP
Modbus TCPOpis działania
Implementacja protokołu Modbus TCP przez Ethernet. MB_CLIENT inicjuje żądania, podczas gdy MB_SERVER na nie odpowiada.
Zastosowanie
Komunikacja z urządzeniami innych producentów, takimi jak falowniki (VFD), liczniki energii lub systemy SCADA różnych producentów.
Wskazówki eksperta
Mapowanie adresów Modbus zaczyna się od 40001 dla rejestrów trzymających; w TIA Portal użyj wskaźnika 'MB_HOLD_REG'.
Użyj różnych parametrów 'ID', jeśli uruchamiasz wielu klientów Modbus do różnych serwerów jednocześnie.
Ustaw bit Disconnect, jeśli urządzenie partnera często przechodzi w tryb offline, aby uniknąć zapełnienia bufora komunikacyjnego PLC.
MB_COMM_LOAD — Konfiguracja szeregowa
MB_COMM_LOADOpis działania
Konfiguruje moduł komunikacyjny (RS485/RS232) do pracy w trybie Modbus RTU, definiując prędkość transmisji, parzystość i kontrolę przepływu.
Kiedy używać
Wymagane jako pierwszy krok przed wywołaniem MB_MASTER lub MB_SLAVE przy użyciu szeregowych modułów komunikacyjnych.
Wskazówki eksperta
Wywołuj tę instrukcję tylko raz podczas uruchamiania sterownika PLC (używając bitu FirstScan) lub gdy parametry wymagają zmiany.
Upewnij się, że parametr 'PORT' odpowiada identyfikatorowi sprzętowemu modułu CM/CB ze stałych systemowych.
Zweryfikuj, czy okablowanie (rezystory terminujące) odpowiada wymaganiom warstwy fizycznej RS485.
OUC vs PUT/GET
Wybór najbardziej niezawodnej metody komunikacji
| Cecha | Open User (TSEND_C) | S7 Comm (PUT/GET) |
|---|---|---|
| Konfiguracja partnera | Wymaga kodu po obu stronach | Brak kodu u partnera |
| Bezpieczeństwo danych | Wysokie (Zarządzana wymiana) | Niskie (Bezpośredni dostęp do pamięci) |
| Zoptymalizowane bloki DB | Obsługiwane | Nieobsługiwane (Tylko standardowe) |
| Kompatybilność | Uniwersalna (PC, PLC, IoT) | Tylko Siemens |
| Wydajność | Wysoka (Niski narzut) | Średnia (Narzut protokołu) |
| Łatwość konfiguracji | Umiarkowana (ID i konfiguracja) | Bardzo łatwa (Prosty wskaźnik) |
Często zadawane pytania
Dlaczego TSEND_C zwraca błąd 80C4 (Tymczasowy brak zasobów)?
Dzieje się tak zazwyczaj, gdy wyzwalasz żądania zbyt szybko lub masz zbyt wiele aktywnych połączeń. Upewnij się, że sprawdzasz bit 'BUSY' przed zainicjowaniem nowego transferu i że pula połączeń jest odpowiednio zwymiarowana we właściwościach procesora.
Jaki jest maksymalny rozmiar danych, który mogę wysłać za pomocą Modbus TCP?
Pojedyncze żądanie Modbus jest ograniczone do 125 rejestrów (250 bajtów) dla rejestrów trzymających. Jeśli chcesz wysłać więcej danych, musisz sekwencyjnie wywoływać wiele MB_CLIENT z różnymi przesunięciami.
Czy komunikacja S7 działa w różnych podsieciach?
Tak, ale musisz upewnić się, że 'S7 Routing' jest skonfigurowany w widoku sieci oraz że bramy/routery są poprawnie zdefiniowane w konfiguracji sprzętowej procesora.
Co to jest 'Keep-Alive' i czy powinienem go używać?
Keep-Alive wysyła małe pakiety w okresach bezczynności, aby zapobiec zamykaniu nieaktywnego połączenia przez routery pośredniczące. Jest to wysoce zalecane dla długotrwałych połączeń OUC.