
Wprowadzenie
Modbus RTU to jeden z najpopularniejszych protokołów komunikacyjnych stosowanych w automatyce przemysłowej, głównie dzięki swojej prostocie, niezawodności oraz szerokiemu wsparciu przez różne urządzenia. W tym artykule przedstawimy krok po kroku, jak połączyć sterownik Finder OPTA programowany w środowisku Codesys z falownikiem Siemens Sinamics V20 dzięki protokołu Modbus RTU wykorzystując magistralę szeregową RS485.

Opisujemy podłączenie fizyczne urządzeń, konfigurację projektu Codesys, prosty przykładowy program sterujący oraz wskazujemy najczęstsze błędy i praktyczne wskazówki dotyczące uruchamiania komunikacji.
1. Podłączenie fizyczne przewodów RS485
Jednym z kluczowych kroków w uruchomieniu komunikacji między sterownikiem PLC Finder OPTA a falownikiem Sinamics V20 jest poprawne podłączenie magistrali RS-485.
Zarówno Finder OPTA, jak i Sinamics V20 wspierają komunikację szeregową poprzez ten standard, ale wymagają odpowiedniego połączenia przewodów oraz konfiguracji.
1.1. Przykładowy schemat
Poniższy fragment schematu pokazuje pełne połączenie:


Na podstawie schematu widzimy, że:
- W sterowniku Finder OPTA linie RS485 są dostępne na złączu oznaczonym jako:
- A(-) – linia A
- B(+) – linia B
- W falowniku Siemens Sinamics V20 linie RS485 oznaczone są jako:
- P+ – linia dodatnia
- N- – linia ujemna
Zalecane połączenie:
A(-) | P+ (pin 6) |
B(+) | N- (pin 7) |
Dodatkowo na schemacie możemy zauważyć, iż oba urządzenia mają wspólną masę 0V – ważne jest, aby również masa zasilania była wspólna dla zapewnienia poprawnej referencji napięć.
1.2. Przewody i zalecenia transmisyjne
Do połączenia wykorzystaj:
- Skrętkę dwużyłową ekranowaną (np. LiYCY 2×0,5 mm²) – skrętka minimalizuje wpływ zakłóceń,
- Długość przewodu: do 1000 m w standardzie RS-485 (zalecane: do 100 m bez rezystora terminującego),
- Brak skrzyżowania przewodów A/B – A(-) zawsze do P+, B(+) do N-.
Wskazówka:
Jeśli magistrala ma tylko dwa urządzenia (1 master + 1 slave), rezystory terminujące nie są obowiązkowe, ale mogą poprawić stabilność. Zalecana wartość: 120 Ω między A i B na obu końcach linii.
1.3. Ustawienia parametrów transmisji
Aby komunikacja zadziałała, zarówno sterownik, jak i falownik muszą mieć takie same ustawienia portu RS-485.
W sterowniku Finder OPTA (w Codesys):
- COM Port: COM2 (zależnie od wersji urządzenia)
- Prędkość: 9600
- Parzystość: None
- Długość słowa: 8 bitów
- Bity stopu: 1
W falowniku Siemens V20:
Ustaw z poziomu panelu falownika następujące parametry:
P2010 | 9600 | Baud rate |
P2011 | 8 | Długość słowa |
P2012 | 1 | Bity stopu |
P2013 | 0 | Parzystość: brak |
P2014 | 0 | Timeout watchdog – wyłączony na czas testów |
P2021 | 1 | Adres slave (1 domyślnie) |
P2023 | 1 | Tryb Modbus RTU |
1.4. Przełączenie falownika w tryb zdalnego sterowania
Domyślnie Sinamics V20 może być ustawiony na sterowanie z zacisków wejściowych (np. DI1, DI2…). Aby przejść na tryb komunikacji Modbus, należy zmienić dwa najważniejsze parametry:
- P0700 = 5 → sterowanie poprzez RS485 (źródło poleceń),
- P1000 = 5 → zadawanie częstotliwości poprzez RS485 (źródło setpointu).
Można to też gwałtownie wykonać wybierając z poziomu panelu jedno z gotowych makr:
- Cn011 – Modbus RTU – ustawia wszystkie potrzebne parametry automatycznie.
Po zapisaniu parametrów i restarcie falownik będzie gotowy do przyjęcia komend z poziomu sterownika przez Modbus.
2. Konfiguracja komunikacji Modbus RTU w Codesys
Po wykonaniu połączenia fizycznego konfigurujemy środowisko Codesys. Oto prosty proces:
Krok 1: Dodanie portu Modbus RTU (COM)
W drzewie projektu kliknij prawym na Device i wybierz Add Device. Dodaj urządzenie typu Modbus Serial COM.


Następnie skonfiguruj:
- COM port: np. COM2 (zależnie od wersji Finder OPTA)
- Baudrate: 9600
- Data bits: 8
- Parity: None
- Stop bits: 1

Krok 2: Dodanie urządzenia Master i Slave (Client i Server)
Kliknij prawym na Modbus Serial COM, wybierz Add Device i dodaj Modbus Serial Client (jest to Master w terminologii Modbus). Następnie kliknij na Modbus Client, ponownie Add Device i dodaj Modbus Server (urządzenie slave – czyli falownik).
Dla Modbus Server ustaw Station address na wartość 1 (domyślny adres falownika Sinamics V20).

Krok 3: Dodanie kanałów (Channel) do komunikacji
Dodajemy kanały do zapisu oraz odczytu rejestrów w falowniku. Dla przykładu:
- Zapis do rejestrów STW (słowo sterujące, offset 99) oraz HSW (częstotliwość zadana, offset 100):
- Funkcja: 16 – Write Multiple Registers
- Offset: 99
- Ilość rejestrów: 2
- Odczyt rejestru statusowego ZSW (offset 109):
- Funkcja: 03 – Read Holding Registers
- Offset: 109
- Ilość rejestrów: 1


Te rejestry pozwalają na sterowanie falownikiem (start, stop, zmiana prędkości, zmiana kierunku) oraz monitorowanie jego statusu.
3. Przykład programu sterującego w języku ST (Structured Text)
Poniżej prezentujemy kompletny przykład programu w języku ST, który pozwala na sterowanie falownikiem Siemens Sinamics V20 z poziomu sterownika Finder OPTA poprzez Modbus RTU. Program działa zarówno w trybie automatycznym (zadana częstotliwość) jak i manualnym dzięki przycisków +/-).
Główne funkcje programu:
- Wysyłanie słowa sterującego wSTW_V20 oraz zadanej częstotliwości wHSW_V20 do falownika,
- Odczyt słowa statusowego wZSW_V20 oraz parametrów pracy silnika (częstotliwość, prędkość, prąd),
- Obsługa przycisków Start, Stop, Reverse, Reset,
- Tryb ręczny MOP (Manual Operation Panel) do zwiększania i zmniejszania częstotliwości.
Zmienne wejściowe i wyjściowe
Zmienne z mapowania I/O Modbus:
- wSTW_V20 – słowo sterujące (adres 40100),
- wHSW_V20 – słowo częstotliwości (adres 40101),
- wZSW_V20 – słowo statusowe (adres 40110),
- aMotorData – tablica odczytów: częstotliwość, prędkość, prąd (adresy kolejno 23, 24, 25).
Zmienne lokalne:
- xStart, xStop, xReverse – przyciski,
- xManual_Mode – aktywacja trybu MOP,
- xMOP_Higher, xMOP_Lower – przyciski „+” i „−”,
- wMOP_Frequency – aktualna częstotliwość w trybie MOP,
- wTest, wFreq – zmienne pomocnicze dla wyjść,
- rFrequency, rSpeed, rCurrent – wartości skalowane rzeczywiste.
Tryb manualny
Jeśli aktywny jest tryb ręczny (xManual_Mode), użytkownik może zwiększać lub zmniejszać częstotliwość falownika przyciskami xMOP_Higher i xMOP_Lower. Program wykrywa zbocza narastające tych przycisków:
- Jeżeli przycisk „+” jest wciśnięty i wcześniej nie był, częstotliwość zwiększa się o wMOP_Step.
- Jeżeli przycisk „−” jest wciśnięty i wcześniej nie był, częstotliwość zmniejsza się o wMOP_Step.
Wartość ta jest ograniczana przez zakres wMOP_Min – wMOP_Max (np. od 0 do 5000, co odpowiada 0–50 Hz).
Wysyłanie słowa sterującego (STW)
W zależności od trybu i stanu przycisków, do falownika wysyłane są odpowiednie komendy:
- 1278 – standby/reset,
- 1151 – start do przodu,
- 3199 – start do tyłu,
- 1134 – stop,
- 36863 – manual mode bez zmiany częstotliwości,
- 45055 – manual mode + zwiększanie częstotliwości,
- 53247 – manual mode + zmniejszanie częstotliwości.
Dzięki temu możliwe jest pełne sterowanie napędem zarówno w trybie automatycznym, jak i ręcznym.
Skalowanie odczytów z falownika
Falownik Sinamics V20 udostępnia rejestry zawierające dane o rzeczywistej częstotliwości, prędkości i prądzie. Są one w formacie WORD, ale często ze znakiem i w specyficznej skali. Program przelicza te dane:
- Częstotliwość (adres 23) – zakres: -327.68 do +327.67 Hz, skala: 0.01 Hz/jednostkę,
- Prędkość (adres 24) – zakres: -16250 do +16250 RPM, skala: 1:1,
- Prąd (adres 25) – zakres bez znaku, skala: 0.01 A/jednostkę.
W programie zastosowano konwersję WORD→DINT z interpretacją znaku i skalowanie do zmiennych typu REAL. Dodatkowo program oblicza wartość bezwzględną rFrequency_Abs oraz rSpeed_Abs, przydatne np. do logiki porównawczej czy wizualizacji.
Gotowy program do pobrania w Codesys
Pobierz gotowy projekt w LAD i ST tutaj:
Sprawdź pełny materiał wideo gdzie pokazujemy również program w języku Ladder oraz szczegółowo omawiamy program.