Możliwość komunikacji z naszą instalacją fotowoltaiczną: z falownikami, z licznikiem inteligentnym lub z zestawem baterii otwiera zupełnie nowe możliwości. jeśli chodzi o monitorowanie i sterowanie w czasie rzeczywistym. Jednym z najbardziej powszechnych protokołów jest standard Modbus, który można wykorzystać zarówno przy połączeniu fizycznym skrętką RS-485 (Modbus RTU) lub poprzez łącza komputerowe LAN/WiFi (Modbus TCP).
Wszystkie falowniki Fronius, które mają na wyposażeniu kartę Datamanager 2.0, lub są do tej karty podłączone przez DATCOM (RS-422) mogą być zarówno monitorowane, jak i sterowane, używając standardowego zestawu rejestrów wyspecyfikowanego przez organizację SunSpec Alliance.
Co będzie nam potrzebne
Nasze pierwsze próby rozpoczniemy w standardzie Modbus TCP, ponieważ nie wymaga to żadnych inwestycji sprzętowych. Komunikacja via Modbus RTU działa identycznie, wymaga jednak albo dedykowanego sterownika (np. firmy WAGO) lub konwertera sygnałów np. z USB do standardu RS-485.
Do testów będzie nam potrzebne:
- dowolny falownik Fronius wyposażony w kartę Datamanager 2.0 (także Datamanager 1.0, jeśli pozostaniemy przy Modbus TCP)
- lokalna sieć komputerowa z routerem
- komputer z przeglądarką
- dokumentacja interfejsu Modbus pobrana z oficjalnej strony Fronius, pod tym linkiem.
- oprogramowanie do testowania urządzeń Modbus RTU/TCP np. Radzio! Modbus Master Simulator (o tym, gdzie można pobrać to oprogramowanie pisaliśmy w artykule “10 narzędzi przydatnych instalatorom PV“)
Krok 1 – konfiguracja Datamanagera
Zakładamy, że karta Datamanager’a jest poprawnie skonfigurowana i podłączona do lokalnej sieci komputerowe: przewodowo poprzez Ethernet lub bezprzewodowo: przez WiFi. Jak poprawnie wykonać tę czynność można dowiedzieć się z naszego Webinarium #01.
Podpowiedź: zaleca się, aby adres IP Datamanager’a był ustawiony “na sztywno”, czyli jako statyczny. W przeciwnym wypadku, tj. przy ustawieniu dynamicznym DHCP, po restarcie routera (np. w wyniku awarii zasilania), może mu zostać nadany zupełnie nowy adres IP.
Przyjmijmy, że nasza lokalna sieć komputerowa wygląda następująco:
- router pod adresem IP:
192.168.1.1
- Datamanager pod statycznym adresem IP:
192.168.1.3
- nasz komputer znajdujący się w tej samej podsieci, np. pod adresem IP:
192.168.1.26
Taka przykładowa konfiguracja została pokazana na rysunku poniżej:
W przeglądarce internetowej na komputerze w sieci lokalnej otwieramy stronę Datamanagera (jego Webserver), pod adresem: http://192.168.1.3
, przechodzimy do menuUstawienia(1) i wybieramy zakładkę MODBUS(2):
W zakładce MODBUS, ustawiamy (3) następujące pola:
“wysyłanie danych przed Modbus” | zaznaczamy “tcp” |
Port Modbus | domyślną wartością jest “502” – najlepiej zostawić |
String Control Adress-Offest | dotyczy urządzeń Fronius String Control; zostawiamy jak jest |
Sunspec Model Type | w zależności od wyboru typu: “float” lub “int+SF” zmienią się adresy rejestrów. Więcej szczegółów w oficjalnej dokumentacji. Wybieramy “int+SF” |
Tryb Demo | przydatny przy sprawdzaniu poprawności połączeń między Datamanagerem, a urządzeniem odpytującym dane. W trybie “demo”zawsze odczytamy jakieś dane… |
Sterowanie falownikiem przez Modbus | Jeżeli chcemy nie tylko odczytywać dane, ale również zapisywać do odpowiednich rejestrów – czyli sterować np. mocą falownika |
Ogranicz sterowanie | Ze względów bezpieczeństwa możemy ograniczyć możliwość sterowania do urządzeń z konkretnymi adresami IP. Przykładowo, wpisując 192.18.1.26 (czyli numer komputera w naszym przykładzie) wyłączymy możliwość sterowania z innych komputerów. |
WAŻNE!Na koniec koniecznie należy zatwierdzić wszystkie zmiany przyciskiem√ (4)
Krok 2 – konfiguracja falownika / falowników
Do karty Datamanager mamy podłączone 2 falowniki, np. Fronius Galvo 1.5-1oraz Fronius Symo3.0-3-M. Należy sprawdzić, jaki jest numer każdego falownika w menu: Ustawienia --> DATCOM --> numer falownika
. Przyjmijmy, że dla Galvo jest to wartość 01
(domyślna), a dla Symo: 02
. Aby sieć DATCOM działała poprawnie, numery te muszą być różne!
Podpowiedź: do karty Datamanager’a może być podłączonych nawet 100 dowolnych falowników Fronius, 10 kart Fronius Sensor Card, urządzenia takie jak String Control, itp. Każde z tych urządzeń może być odczytywane / sterowane poprzez Modbus RTU/TCP, pod warunkiem, że znamy jego numer. Najczęściej do karty Datamanagera będziemy mieli podłączony tylko 1 falownik, ale nawet w tym szczególnym wypadku bardzo ważna jest znajomość jego numeru.
Krok 3 – uruchamiamy program monitorowania Modbus
Po pobraniu i uruchomieniu oprogramowania Radzio! Modbus Master Simulator musimy przejść przez dwa ekrany ustawień:
Krok 3.A – Ustawienia komunikacji
W menu programu Radzio! wybieramy Connection --> Settings
i dokonujemy następujących ustawień:
Protocol | Modbus TCP |
Modbus TCP –> IP address: | wstawiamy adres IP karty Datamanager’a, w naszym przypadku 192.168.1.3 |
Modbus TCP –> TCP port: | wstawiamy numer portu, który wybraliśmy w ustawieniach karty Datamanager’a w naszym przypadku: 502 (domyślny) |
General –> Timeout (ms) | zaleca się, aby na początek ustawić tę wartość na minimum 3000 ms.Jeśli komunikacja będzie działać poprawnie można ją (metodą prób i błędów) zmniejszać. Uwaga: wartość ta silnie zależy od ilości falowników na magistrali DATCOM. |
Następnie w menu Connection
klikamy w Connect
, co powinno ustanowić połączenie z naszą kartą Datamanager’a.
WAŻNE! W przypadku problemów z ustawieniem komunikacji, należy upewnić się, że na naszym lokalnym komputerze *nie* są blokowane porty przez oprogramowanie Firewall!
Krok 3.B – Ustawienia rejestrów
Spróbujmy na początek odczytać jakiś prosty rejestr, np. typ falownika. Zgodnie z dokumentacją firmy Fronius, adresy rejestrów wg specyfikacji SunSpec Alliance wyglądają następująco:
Przykładowo, pod adresem 40005 można odczytać nazwę producenta (np. “Fronius”), a pod adresem 40021: typ falownika. Spróbujmy:
Device Settings –> Device ID | Tu podajemy numer falownika na magistrali DATCOM. Jeżeli chcemy odczytać dane z falownika Galvo, podajemy nr 1 (domyślny numer falownika). Kolejne falowniki na magistrali możemy odczytać podającich numery, czyli dla naszego przykładu falownik Symo będzie miał numer 2 |
Device Settings –> [________] | mamy takie opcje jak: “Coil status”, “Input status”, “Holding registers” oraz “Input registers”. Wybieramy: “ Holding registers “. |
Device Settings –> Address | podajemy numer rejestru, który chcemy odczytać, pomniejszony o 1 (wyjaśnienie poniżej), czyli: 40020 (typ falownika) |
Device Settings –> Length | ilość rejestrów, które chcemy jednorazowo odczytać, np.:10 |
ASCII Display –> Enable | jeśli chcemy odczytać zawartość rejestrów tekstowych, dla ułatwienia można zażyczyć sobie równolegle wyświetlenia w formacie tekstu ASCII |
ASCII Display –> 2 char/reg sw | przy tym zaznaczeniu tekst jest najbardziej czytelny 🙂 |
WAŻNE: Zawsze należy podać poprawny identyfikator urządzenia (Device ID), nawet jeśli urządzenie Fronius Datamanager jest podłączone tylko do jednego falownika!
Z ważnych informacji:
- Adresy rejestrów nie są stałe.
- Rzeczywiste adresy rejestrów zależą od składu dynamicznej listy rejestru SunSpec.
Prawidłowa procedura powinna zatem wyglądać następująco:
- Wyszukaj model, wysyłając żądanie (ustal adres początkowy)
- Następnie pracuj z offsetami
Aby odczytać rejestr, adres startowy rejestru musi zostać określony w żądaniu Modbus.
Podstawowy rejestr Fronius: 212
Podstawowy rejestr SunSpec: 40001
Rejestry zaczynają się od 1 i nie reprezentują kodu funkcji.
Nie należy mylić rejestrów ze schematem adresów Modicon: w schemacie adresu Modicon, 40001 jest wyświetlane jako 4×40001. Aby odczytać rejestr 40001, należy użyć adresu: 40000 (0x9C40).
UWAGA! Dlatego adres rejestru, który jest wprowadzany w programie, ma zawsze numer o 1 mniejszy niż rzeczywisty numer rejestru.
Stąd odczytując rejestr 40021 wpisaliśmy do programu Radzio!:40020
.
Gotowe! Na ekranie programu Radzio! możemy odczytać od góry do dołu: “Galvo 1.5-1
” oraz wartość “00
” oznaczającą koniec tekstu.
Co dalej?
Po bardziej zaawansowane funkcje, konfigurację Modbus RTU, adresy rejestrów, różnice między “float” a “Int + SF” odsyłamy na oficjalną stronę Fronius pod następującym linkiem:http://www.fronius.com/pl-pl/poland/energia-sloneczna/produkty-i-rozwizania/wszystkie-produkty/monitorowanie-instalacji/otwarte-z%C5%82%C4%85cza/modbus-tcp, gdzie dostępna jest do pobrania pełna dokumentacja, m.in.: “Instrukcja obsługi Fronius Datamanager – Modbus TCP & RTU DE, EN”
Zachęcamy do własnych prób. Powodzenia!
DatamanagerkomunikacjaModbus
Maciej Piliński
Od 2024 jest Dyrektorem Jednostki Biznesowej Fronius Polska. Od stycznia 2016 roku pracuje na stanowisku Sales Manager jednostki biznesowej Solar Energy.Już ponad 9 lat zdobywa doświadczenia na rynku fotowoltaiki w Polsce, gdzie czynnie uczestniczy w projektach oraz realizacjach różnorodnych instalacji o mocy od 3kWp do 1MWp. Jest członkiem Polskiego Towarzystwa Fotowoltaiki, niezależnym ekspertem wielu stowarzyszeń, autorem licznych publikacji i prezentacji.Prywatnie i hobbistycznie jest miłośnikiem wszelkich rozwiązań z zakresu automatyki budynkowej, inteligentnych budynków i Internetu Rzeczy (IoT).