Falownik i sterownik PLC przez Modbus RTU – jak skonfigurować komunikację krok po kroku

Sterowanie falownikiem za pomocą analogowych sygnałów 0–10 V lub wejść cyfrowych to rozwiązanie najprostsze, ale w rozbudowanych układach automatyki szybko przestaje wystarczać. Gdy w jednym systemie pracuje kilka lub kilkanaście napędów, a sterownik PLC musi monitorować ich stan, reagować na alarmy i zmieniać nastawy w locie, konieczne staje się zastosowanie komunikacji cyfrowej. Protokół Modbus RTU przez interfejs RS485 jest tu rozwiązaniem pierwszego wyboru – obsługuje go praktycznie każdy przemiennik częstotliwości dostępny na rynku.

W tym artykule wyjaśniamy, jak krok po kroku zbudować i skonfigurować połączenie między falownikiem a sterownikiem PLC z wykorzystaniem Modbus RTU. Omówimy okablowanie, ustawienia parametrów, mapę rejestrów oraz najczęstsze błędy i sposoby ich usunięcia.

Czym jest Modbus RTU i dlaczego stosuje się go z falownikami?

Czym jest Modbus RTU i dlaczego stosuje się go z falownikami?

Modbus to otwarty protokół komunikacyjny opracowany w 1979 roku, który mimo swojego wieku pozostaje jednym z najszerzej stosowanych standardów w automatyce przemysłowej. Wersja RTU (Remote Terminal Unit) korzysta z fizycznej warstwy RS485, czyli dwuprzewodowej magistrali różnicowej, odpornej na zakłócenia elektromagnetyczne występujące w środowisku przemysłowym.

W układzie Modbus RTU jeden urządzenie pełni rolę mastera (inicjuje komunikację) – jest nim zazwyczaj sterownik PLC lub komputer SCADA. Pozostałe urządzenia, w tym falowniki, są slave’ami – odpowiadają na zapytania mastera. Komunikacja jest zawsze inicjowana przez master, slave nigdy nie wysyła danych samodzielnie.

Popularność Modbus RTU w połączeniach PLC–falownik wynika z kilku czynników. Protokół jest bezpłatny i ogólnodostępny, obsługuje go praktycznie każdy producent przemienników częstotliwości – EURA, LG/LS, Mitsubishi, Delta, Schneider, Danfoss i inni. Przez jedno złącze RS485 można prowadzić magistralę do 32 urządzeń (lub więcej przy zastosowaniu wzmacniaczy), co eliminuje konieczność prowadzenia dziesiątek kabli analogowych i cyfrowych. Dodatkowym atutem jest możliwość odczytu szczegółowych danych diagnostycznych bezpośrednio z falownika: prądu, napięcia, częstotliwości wyjściowej, kodów alarmów.

Okablowanie RS485 – jak zbudować magistralę?

Okablowanie RS485 – jak zbudować magistralę?

Poprawne wykonanie okablowania to fundament niezawodnej komunikacji. Błędy na tym etapie są najczęstszą przyczyną niestabilnej lub całkowicie niemożliwej komunikacji, nawet gdy konfiguracja parametrów jest prawidłowa.

Topologia magistrali

RS485 wymaga topologii liniowej (magistrali). Urządzenia należy łączyć w linię: PLC → falownik 1 → falownik 2 → … → falownik N. Niedopuszczalne jest stosowanie gwiazdkowego okablowania (odejść od jednego punktu) – powoduje ono refleksy sygnału i błędy transmisji.

  • Kabel: skrętka ekranowana 2×0,5 mm² lub dedykowany kabel Belden 9841 / Alpha Wire 5476.
  • Ekran kabla należy uziemić jednostronnie (po stronie PLC), aby nie tworzyć pętli uziemienia.
  • Maksymalna długość magistrali: 1200 m przy prędkości 9600 bps; przy 115 200 bps – ok. 100 m.
  • Oznaczenia zacisków: producenci stosują różne oznaczenia – najczęściej A/B lub D+/D–, rzadziej P/N.

Uwaga: Zacisk A (D+) po stronie PLC musi być podłączony do zacisku A (D+) po stronie falownika. Zamiana przewodów A i B skutkuje brakiem komunikacji.

Rezystory terminujące

Na obu końcach magistrali RS485 należy zainstalować rezystory terminujące o wartości 120 Ω. Rezystor umieszcza się między zaciskami A i B. Wiele sterowników PLC i falowników ma wbudowane przełączniki aktywujące rezystor terminujący – wystarczy go włączyć na urządzeniach będących na końcach magistrali. Brak terminacji lub podwójna terminacja w środku magistrali powoduje refleksy i utratę spójności danych.

Rezystory polaryzujące (bias)

W niektórych instalacjach, gdy magistrala jest w stanie bezczynności (idle), linia A i B może „pływać” między stanem wysokim a niskim, co generuje fałszywe bajty. Aby temu zapobiec, stosuje się rezystory polaryzujące (typowo 560 Ω–1 kΩ) podciągające linie do napięcia zasilającego i masy. Wiele sterowników PLC ma tę funkcję wbudowaną i aktywowaną z poziomu konfiguracji portu.

Parametryzacja falownika – ustawienia Modbus RTU

Parametryzacja falownika – ustawienia Modbus RTU

Każdy falownik posiada zestaw parametrów odpowiedzialnych za konfigurację portu RS485 i protokołu Modbus. Mimo że numery parametrów różnią się między producentami, zakres ustawień jest zawsze zbliżony. Poniżej omawiamy kluczowe parametry, które należy skonfigurować.

Podstawowe parametry komunikacji

ParametrOpisTypowe wartości
Adres slave (Station ID)Unikalny identyfikator falownika w sieci. Każdy slave musi mieć inny adres.1–247 (0 = broadcast)
Prędkość transmisji (Baud Rate)Musi być identyczna na masterze i wszystkich slave’ach.9600 / 19200 / 38400 / 115200 bps
Bity danychZawsze 8 bitów w Modbus RTU.8
Parzystość (Parity)Musi być zgodna z ustawieniami mastera.None, Even, Odd (najczęściej: 8N1 lub 8E1)
Bity stopu (Stop Bits)Zależny od wybranej parzystości.1 lub 2
Źródło sterowaniaMusi być przestawione na komunikację szeregową.Modbus / RS485 / COM
Źródło zadawania częstotliwościMusi wskazywać na komunikację szeregową.Modbus / RS485 / COM

Ważne: Po zmianie parametrów komunikacji w falowniku konieczne jest zazwyczaj wykonanie resetu (wyłączenie i ponowne włączenie zasilania falownika). Niektóre modele wymagają potwierdzenia zapisu do EEPROM – sprawdź instrukcję obsługi swojego urządzenia.

Rejestry Modbus w falowniku – co można odczytać i zapisać?

Rejestry Modbus w falowniku – co można odczytać i zapisać?

Komunikacja Modbus RTU opiera się na operacjach odczytu i zapisu rejestrów. Rejestry holding (Function Code 03 – odczyt, FC 06 – zapis jednego rejestru, FC 16 – zapis wielu rejestrów) są najczęściej stosowane w połączeniach PLC–falownik. Mapa rejestrów różni się między producentami, jednak poniżej prezentujemy typową strukturę spotykana w większości przemienników częstotliwości.

Adres rejestru (hex)FunkcjaTyp dostępuFormat / Uwagi
0x2000Słowo sterujące (Command Word)Zapis0x0001 = URUCHOM; 0x0002 = STOP; 0x0004 = RESET alarmu
0x2001Zadana częstotliwośćZapisWartość w 0,01 Hz (np. 5000 = 50,00 Hz)
0x3000Słowo statusu (Status Word)OdczytBit 0 = praca, Bit 1 = stop, Bit 2 = alarm
0x3001Częstotliwość wyjściowaOdczytWartość w 0,01 Hz
0x3002Prąd wyjściowyOdczytWartość w 0,01 A
0x3003Napięcie magistrali DCOdczytWartość w V
0x3004Temperatura radiatoraOdczytWartość w 0,1 °C
0x3005Kod aktywnego alarmuOdczytSprawdź tabelę kodów w instrukcji falownika

Uwaga: Adresy rejestrów podane powyżej są przykładowe i mają charakter poglądowy. Rzeczywista mapa rejestrów zawsze musi być pobrana z instrukcji obsługi konkretnego modelu falownika. Stosowanie błędnych adresów może spowodować nieprzewidywane zachowanie napędu.

Konfiguracja po stronie sterownika PLC

Konfiguracja po stronie sterownika PLC

Po stronie sterownika PLC konieczna jest konfiguracja portu komunikacyjnego RS485 oraz napisanie programu obsługującego wymianę danych Modbus. Niezależnie od producenta sterownika (Siemens, Mitsubishi, Delta, Unitronics, Fatek i inni) zakres wymaganych ustawień jest taki sam.

Ustawienia portu RS485 w PLC

  • Tryb komunikacji: Modbus RTU Master
  • Prędkość transmisji: identyczna jak w falowniku (np. 9600 bps)
  • Format ramki: 8N1 lub 8E1 – jak ustawiono w falowniku
  • Timeout: czas oczekiwania na odpowiedź slave’a – typowo 200–500 ms
  • Liczba powtórzeń: liczba ponownych prób przy braku odpowiedzi – typowo 2–3

Cykl komunikacji w programie PLC

Program PLC realizujący komunikację Modbus RTU z falownikiem powinien być zbudowany według następującej logiki. W każdym cyklu master wysyła do slave’a zapytanie zawierające: adres slave’a, kod funkcji (FC), adres pierwszego rejestru i liczbę rejestrów do odczytania lub zapisania oraz sumę kontrolną CRC16. Slave odsyła odpowiedź z żądanymi danymi lub kodem błędu.

Dla optymalnej wydajności zaleca się grupowanie rejestrów i odczytywanie ich w jednej ramce – zamiast wysyłać 5 oddzielnych zapytań o 5 rejestrów, lepiej odczytać blok 5 rejestrów za pomocą jednego zapytania. Zmniejsza to liczbę transakcji na magistrali i skraca czas cyklu komunikacji.

Praktyczna wskazówka: Przy obsłudze wielu falowników na jednej magistrali zaplanuj cykl komunikacji tak, aby czas odpytania jednego urządzenia nie blokował dostępu do pozostałych. Przy 10 falownikach i czasie cyklu 100 ms na urządzenie jeden pełny cykl odpytania sieci trwa 1 sekundę – uwzględnij to w projekcie systemu sterowania.

Najczęstsze błędy komunikacji i sposoby ich usunięcia

Najczęstsze błędy komunikacji i sposoby ich usunięcia

Problemy z komunikacją Modbus RTU dotykają nawet doświadczonych automatyków. Poniżej zebraliśmy najczęstsze przyczyny błędów wraz z metodami diagnostyki.

ObjawMożliwa przyczynaSposób usunięcia
Brak odpowiedzi od falownika (timeout)Zamienione przewody A/B; błędny adres slave; falownik nie ma włączonego trybu RS485Sprawdź polaryzację kabla; zweryfikuj adres slave i parametr źródła sterowania w falowniku
Sporadyczne błędy CRCBrak rezystora terminującego; zbyt długi kabel; zakłócenia EMCDodaj rezystor 120 Ω na końcach magistrali; sprawdź trasę kabla (z dala od kabli zasilających)
Komunikacja działa, ale falownik nie startujeŹródło sterowania w falowniku nie jest ustawione na ModbusZmień parametr źródła sterowania na RS485/COM i zrestartuj falownik
Częstotliwość wyjściowa nie odpowiada nastawieŹródło częstotliwości nie jest ustawione na Modbus; błędne skalowanie wartościZmień parametr źródła częstotliwości na COM; sprawdź format wartości w dokumentacji (np. 0,01 Hz)
Komunikacja niestabilna przy wielu slave’achZbyt krótki timeout; gwiazdkowa topologia magistrali; brak polaryzacji biasWydłuż timeout; przerób okablowanie na topologię liniową; włącz rezystory bias
Konflikt adresów slaveDwa falowniki mają przypisany ten sam adresSprawdź i zmień adresy – każdy slave musi mieć unikalny numer

Korzyści z komunikacji Modbus RTU w układach z falownikami

Korzyści z komunikacji Modbus RTU w układach z falownikami

Wdrożenie komunikacji Modbus RTU w systemie napędowym daje wymierne korzyści operacyjne i ekonomiczne. Przede wszystkim eliminuje konieczność prowadzenia oddzielnych kabli analogowych i cyfrowych do każdego falownika – wystarczy jedna para przewodów dla całej magistrali. W typowej instalacji z 10 falownikami pozwala to zaoszczędzić dziesiątki metrów okablowania i znacząco uprościć szafę sterowniczą.

Komunikacja cyfrowa umożliwia też precyzyjne zadawanie częstotliwości bez błędów wynikających z zakłóceń na sygnale analogowym 0–10 V. Falownik przez Modbus zwraca do sterownika PLC bieżące wartości prądu, napięcia, temperatury i kody alarmów, co tworzy podstawę dla systemów predykcyjnego utrzymania ruchu. Sterownik może automatycznie reagować na zbliżanie się wartości do limitów – zredukować obciążenie napędu, powiadomić operatora lub zlecić przegląd serwisowy zanim dojdzie do nieplanowanego przestoju.

Modbus RTU współpracuje bez komplikacji z popularnymi sterownikami z wbudowanym portem RS485, takimi jak Siemens S7-1200/S7-200 z kartą CB1241, Mitsubishi FX5U, Delta DVP, Unitronics V350/V700 czy sterownikami FATEK. Łatwo go też zintegrować ze sterownikami HMI i panelami operatorskimi, które często obsługują komunikację Modbus w trybie mastera.

FAQ – często zadawane pytania

FAQ – często zadawane pytania

Ile falowników mogę podłączyć do jednej magistrali RS485?

Standard RS485 dopuszcza do 32 urządzeń w jednym segmencie bez wzmacniacza. Modbus RTU pozwala adresować do 247 urządzeń (adresy 1–247), ale przy większej liczbie slave’ów konieczne są repeatery RS485 dzielące sieć na segmenty.

Czy Modbus RTU i Modbus ASCII to to samo?

Nie. Obydwa protokoły korzystają z tej samej logiki Modbus, ale Modbus RTU przesyła dane binarnie i jest szybszy oraz bardziej efektywny. Modbus ASCII wysyła dane jako znaki szesnastkowe ASCII – jest łatwiejszy do debugowania na oscyloskopie lub analizatorze, ale znacznie wolniejszy. W systemach z falownikami stosuje się prawie wyłącznie Modbus RTU.

Czy przez Modbus mogę zmieniać parametry falownika zdalnie?

Tak, pod warunkiem że falownik udostępnia rejestry parametrów konfiguracyjnych przez Modbus. Większość nowoczesnych przemienników pozwala przez Modbus odczytać i zapisać parametry, jednak zapis do pamięci EEPROM jest zazwyczaj ograniczony liczbowo (np. max. 100 000 cykli) – należy to uwzględnić projektując system.

Czym różni się Modbus RTU od Profibus DP?

Profibus DP to protokół zamknięty (Siemens), szybszy i bardziej deterministyczny niż Modbus RTU, stosowany głównie w dużych instalacjach z urządzeniami Siemens. Modbus RTU jest otwarty, tańszy we wdrożeniu i obsługiwany przez znacznie szersze spektrum producentów – dlatego jest preferowanym wyborem w aplikacjach z falownikami różnych marek.

Co to jest funkcja FC 03 i FC 06 w Modbus?

FC 03 (Function Code 03) to polecenie odczytu rejestrów holding – używane do pobierania danych z falownika (status, prąd, częstotliwość). FC 06 to zapis pojedynczego rejestru – używane np. do wysłania częstotliwości zadanej lub polecenia Start/Stop. FC 16 pozwala na zapis wielu rejestrów jedną ramką, co jest przydatne, gdy jednocześnie chcemy zmienić kilka parametrów napędu.

Powiązane artykuły na czujnikifalowniki.com.pl:
Jak zautomatyzować pracę wentylatora, pompy lub przenośnika?
Monitoring pracy falownika z wykorzystaniem sygnałów cyfrowych i analogowych
Diagnostyka i ochrona napędów elektrycznych z wykorzystaniem czujników i falowników

Komunikacja Modbus RTU między falownikiem a sterownikiem PLC to inwestycja, która zwraca się szybko – w postaci uproszczonego okablowania, bogatszej diagnostyki i możliwości budowania zaawansowanych algorytmów sterowania bez konieczności stosowania dodatkowych modułów wejść/wyjść. Dla każdego inżyniera automatyki, który pracuje z napędami elektrycznymi, jest to umiejętność fundamentalna.