fbpx
Solar Energy Blog
0
Datamanager Komunikacja i wizualizacja

Jak połączyć się z falownikiem Fronius przez Modbus?

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:

  1. dowolny falownik Fronius wyposażony w kartę Datamanager 2.0 (także Datamanager 1.0, jeśli pozostaniemy przy Modbus TCP)
  2. lokalna sieć komputerowa z routerem
  3. komputer z przeglądarką
  4. dokumentacja interfejsu Modbus pobrana z oficjalnej strony Fronius, pod tym linkiem.
  5. 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 menu Ustawienia (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-1 oraz Fronius Symo 3.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ąc
ich 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!

Może Ci się też spodobać

5 komentarzy

  • Odpowiedź
    NiktNowy
    24 stycznia 2020 at 19:34

    Jak można odczytać dane za pomocą powyższego narzędzia z licznika Smart Meter poprzez konwerter RS232 -> RS485 ? Próbuję odczytać rejestr 40004, czyli nazwę producenta i niestety nic nie jest zwracane.

    • Maciej Piliński
      Maciej Piliński
      26 stycznia 2020 at 16:01

      Witam,

      po pierwsze, opublikowana lista rejestrów dotyczy Datamanagera i podłączonego do niego falownika. Rejestr 40004 (zgodny z Sunspec) dotyczy producenta falownika, nie licznika inteligentnego.

      Po drugie, do tego krótkiego tekstu rodzi się wiele pytań:

      • co to za konwerter?
      • jakie urządzenie (komputer?) podłączone jest po stronie RS-232?
      • czy konwerter RS232/RS485 działał w przypadku innych urządzeń Modbus?
      • jak wygląda układ połączeń? Czy Fronius Smart Meter podłączony jest tylko do konwertera?
      • czy pytający ma jakiekolwiek doświadczenia z Modbus?
      • itd. itp.

      Pozdrawiam,
      Maciej Piliński

  • Zbigniew Baska
    Odpowiedź
    Zbigniew Baska
    9 lutego 2020 at 18:42

    Witam,

    Chcę użyć do transmisji sygnału Modbus Data Transceiver firmy EBYTE model E32-DTU(433L20). Odległość na jaką chcę transmitować sygnał to około 11 metrów w budynku.

    Urządzenie posiada port RS232 i RS485. Wysyłanie danych po RS232 i RS485 pomiędzy urządzeniami działa poprawnie – przetestowane. Po podłączeniu do Datamanagera i podsłuchaniu komunikacji na drugim urządzeniu otrzymuję tylko cyklicznie rozgłaszany blok komunikatów: 01 03 03 00 00 01 84 4E | 01 03 03 00 00 01 84 4E | 01 03 03 00 00 01 84 4E | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 C3 50 00 02 F8 5E | 01 03 9C 40 00 02 EB 8F | 01 03 00 00 00 02 C4 0B i tak w kółko co chyba minutę.

    Zakładam, iż oprogramowanie Datamanagera szuka zdefiniowanego licznika, ale nie otrzymuje odpowiedzi od niego.

    Jak próbowałem narzędziami do Modbus odczytać rejestr 40005 w liczniku to dostawałem odpowiedź o nieprawidłowym zapytaniu.

    Próbowałem odczytać rejestry zgodnie z specyfikacją z Państwa strony (np. na podstawie pliku: Meter_Register_Map_Int&SF_v1.0.xlsx) i dla licznika wartość opisująca producenta jest przechowywana w adresach: od 40005 do 40020 i powinna być tam wartość: Fronius.

    Przyznam, że nie mam doświadczeń z Modbus, ale to co do tej pory wykonywałem działało od ręki ale nie dotyczyło Państwa urządzeń.

    Pozdrawiam

  • Maciej Michałowski
    Odpowiedź
    Maciej Michałowski
    14 stycznia 2021 at 14:34

    Serdecznie dziękuję za ten artykuł. Od kilku dni przeszukuję forum w sprawie listy rejestrów dla modbusa TCP – w końcu mam chyba wszystko !

  • Maciej Michałowski
    Odpowiedź
    Maciej Michałowski
    14 stycznia 2021 at 14:37

    Podany wyżej link do pełnej listy rejestrów jest chyba niepoprawny, bo otwiera się strona do konfiguracji modbusa TCP. Czy mogę prosić właściwy link ?

Napisz komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.