Protokol Modbus Rtu pro SUN1000G a port RS232

Hybridní elektrárny připojené do rozvodné sítě pro rodinné domy a bytové zástavby s možností plynulého řízení toku energie, popis, technické detaily, celkový výkon, fotografie.
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

Koupil jsem si vloni ,,modráska¨ SUN1000G od GWL Power a používám ho doma ve své minifotovoltaice .. má konektor s označením Remote a jak jsem se dopátral, jedná se o port RS232 ..

Měl jsem zájem připojit měnič k mému PC a tak jsem sáhodlouze pátral na webu i tady na MyPower po něčem použitelném ..

Na webu jsem se dopátral, že se k němu dá připojit wi-fi datalogger, ale už jsem se nedopátral, co s ním dál, snad jen že se dá připojit na nějaké webové stránky v Číně, což mne nijak neoslovilo .. i když se dal koupit i u nás, tak tam mne neoslovila jeho cena bez uvedení nějakých podkladů, co s ním dál ..

Na MyPower jsem objevil zmínku o tom, že existuje protokol pro Modbus Rtu od Ningbo Deye Eybond a posléze jsem přímo od firmy Ningbo Deye dostal e-mailem protokol pro Modbus Rtu , verzi V117, a jak jsem již podle čísla verze pochopil, že pro SUN1000G by nejspíše odpovídalo číslo protokolu V100 ..

Nicméně jako základ pro mé pátrání po protokolu V100 mi to určitě jakž takž posloužilo.

Měl jsem k tomu doma ještě podobný black box s názvem PS3KVA (inverter/charger podle údaju od dodavatel od firmy Sorotec ) a tak jsem začal se studiem Modbusů a pátral v obou případech po protokolech pro tyto dva přístroje.

Nějakou story z mých pátrání po SUN1000G a PS3KVA tady na MyPower a nebo na Github jistě najdete sami ..

K čemu jsem dospěl nebo nedospěl :

Pro PS3KVA se mi podařilo dát dohromady funkční program v Delphi pro Windowsy 32 bit, aktuální verse má název Modbus30 (Ansi reader+controller) a nabízím jí tady na MyPower k otestování jako shareware.

Pro SUN1000G se mi (přes a dík zkušenosti s wattmetříkem SDM120M se známým a funkčním Modbus Rtu protokolem přes USB-RS485) podařilo dát dohromady obdobný program jako pro PS3KVA s názvem aktuální verse Modbus28 (Rtu zatím jen reader).

Zatímco z SDM120M čtu a pracuji s daty, o kterých vím, co jsou zač, tak z ,,modráska'' SUN1000G vím jen jistě, že čtu jeho typ, sériové číslo a dvě hodnoty, z nichž jedna je síťové napětí a druhá napětí z FV panelů, tak to je bohužel zatím všechno.

Jinými slovy můj protokol V100 pro Modbus Rtu RS232 a SUN1000G je stále velmi chudý.
To mne přimělo k tomu, abych tu na MyPower založil k tomuto protokolu nové vlákno, s nadějí, že se od místních uživatelů dozvím k tomu V100 a nebo případně k tomu wi-fi dataloggeru nějaké nové podrobnosti ...
Přílohy
Modbus28-readme.txt
(4.75 KiB) Staženo 89 x
glottis
Příspěvky: 2070
Registrován: stř úno 02, 2022 10:30 am
Lokalita: okolí Mělníka
Systémové napětí: 48V
Výkon panelů [Wp]: 13000
Kapacita baterie [kWh]: 15

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od glottis »

A tohle jsi cetl? Jsem ti tam poslal zdrojaky co mi funguji

https://forum.mypower.cz/viewtopic.php? ... 20#p207519
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

Ještě jednou dík, už jsem si to přečetl .. je to asi tak, jak píšeš, moc se z toho SUN-1000G asi vydolovat nedá ..
Teď jsem se sem vrátíl, abych opravil typ na SUN-1000G .. raději jsem ještě kouknul na štítek ..
Pokud máš z toho Cpp exáč, tak by se sem snad dal přidat v zipu .. já už jsem sem jeden takový zip přidal a prošlo mi to.
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

Správná název toho přístroje je SUN-1000G, to jsem tu napsal špatně a zatím to nezvládám jinak opravit než takhle ..
Přílohy
IMG_20221220_105032-GF-SUN-Inverter-štítek-v2.jpg
glottis
Příspěvky: 2070
Registrován: stř úno 02, 2022 10:30 am
Lokalita: okolí Mělníka
Systémové napětí: 48V
Výkon panelů [Wp]: 13000
Kapacita baterie [kWh]: 15

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od glottis »

cpp ne poslouzim. Mam to naprane do esphome.

Vychazel jsme z tohoto ... tady je spustitelne demo
https://github.com/BlackSmith/GFSunInve ... 0_demo.cpp

a moje esphome "komponenta" je pak tohle

Kód: Vybrat vše

#include "esphome.h"
#include <map>
#define LOCAL_LOG_LEVEL LOG_LEVEL_VERBOSE
#include "GfSun2000.h"

GfSun2000 GF = GfSun2000();




/*
typedef void (*Gtil2Sensor);
typedef void (*GfSun2000OnError) (int errorId, char* errorMessage);
*/
class Gtil2Sensor : public PollingComponent {
public:

  Sensor *ac_voltage_sensor = new Sensor();
  Sensor *dc_voltage_sensor = new Sensor();
  Sensor *avg_power_sensor = new Sensor();
  Sensor *total_energy_sensor = new Sensor();

  GfSun2000 GF;

  Gtil2Sensor() : PollingComponent(10000) {
    GF = GfSun2000();
  }

  static void dataHandler(GfSun2000Data data, void *p) {
    ESP_LOGD("Gtil2Sensor", "Data handler");
    ESP_LOGD("Gtil2Sensor", "AC Voltage   : %.1f\tV", data.ACVoltage);
    ESP_LOGD("Gtil2Sensor", "DC Voltage   : %.1f\tV", data.DCVoltage);
    ESP_LOGD("Gtil2Sensor", "Output Power : %.1f\tW", data.averagePower);
    ESP_LOGD("Gtil2Sensor", "Total Energy : %.1f\tkW/h", data.totalEnergyCounter);

    ((Gtil2Sensor*)p)->ac_voltage_sensor->publish_state(data.ACVoltage);
    ((Gtil2Sensor*)p)->dc_voltage_sensor->publish_state(data.DCVoltage);
    ((Gtil2Sensor*)p)->avg_power_sensor->publish_state(data.averagePower);
    ((Gtil2Sensor*)p)->total_energy_sensor->publish_state(data.totalEnergyCounter);

  }

  static void errorHandler(int errorId, char* errorMessage) {
    ESP_LOGD("Gtil2Sensor", "Error response: %02X - %s\n", errorId, errorMessage);
 }

  void setup() override {
    ESP_LOGD("Gtil2Sensor", "Setup");

    GF.setup(Serial2);
    GF.setDataHandler(&Gtil2Sensor::dataHandler);
    GF.setErrorHandler(&Gtil2Sensor::errorHandler);
    GF.setParent(this);
    
  }

  void setDH(GfSun2000OnData handler) {
    GF.setDataHandler(handler);
  }

  void update() override {
    ESP_LOGD("Gtil2Sensor", "Req data ...");
    GF.readData();
  }





};
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

našel jsem to, co jsem hledal .. ty naše ,,protokoly'' jsem porovnal .. já je mám v hexa číslech, tak jsem to přepočítal .. je to v příloze .. asi máš lepší verzi (2000 ?), která Ti ho pošle víc ..
Přílohy
SUN-1(2)000G-porovnání protokolů.txt
(1.22 KiB) Staženo 85 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

.. k tomu odkazu .. já Céčko překladač nemám, tak já z toho exáč určitě nevykouzlím ..
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

K tomu protokolu : mezi lomítky je předpis, jak se mají přečtené byty interpretovat, první číslo je formát, druhé je pořadí bytů.

Přidávám ukázku z programu Modbus28 Rtu Reader z funkce Test Rtu, kde je vidět co a jak se čte a zatím v tom nemám úplně jasno a musím si to ještě zrevidovat.
Přílohy
SUN1000G-test-2023-07-10-95857.txt
(2.41 KiB) Staženo 56 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

Pokračoval jsem v bádání nad protokolem a už se možná blíží jeho definitivní podoba.
Dávám sem dalších pár souborů, z kterých už se to rýsuje.
Provizorně jsem tomu protokolu dal název X100 .
Přílohy
SUN1000G-test-2023-07-13-142714.txt
(2.46 KiB) Staženo 52 x
SUN1000G-Protocol-2023-02-19-115011-X100-basic.txt
(1.45 KiB) Staženo 66 x
SUN-1(2)000G-protokoly-2023-07-12.txt
(1.51 KiB) Staženo 85 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

Pokračoval jsem i v odlaďování chyb v programu Modbus28 Rtu. Je už v takovém stavu, že ho sem mohu přidat jako demo. Demo verze slouží pouze na ověření základní funkčnosti programu a je v ni zablokována komunikace přes porty.
Přidávám i pár obrázků z programu.
Přílohy
SUN1000G-graph-2023-07-14-143119.jpg
SUN1000G-data-2023-07-13-143124.txt
(6.27 KiB) Staženo 52 x
Modbus28-Display.jpg
Modbus28-home.jpg
Modbus28-home.jpg (104.78 KiB) Zobrazeno 741 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

Vypadalo to, že to demo neprojde, ale asi prošlo .. poněkud jsem ten zip ,,nafoukl'' protože jsem tam i nechal nějaké soubory v pdf a grafy v bmp .. což jsem si uvědomil, ale už je asi pozdě a smáznout to tady neumím .. přidávám tedy zkusmo ještě zkrácenou verzi Modbus28 v zipu pod 1 MB a soubor readme ..

Admin edit: Máš to odmáznuté
Přílohy
Modbus28-demo.zip
(954.88 KiB) Staženo 80 x
Modbus28-readme.txt
(4.92 KiB) Staženo 75 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

.. i v tom demu i v plné versi jsou chybky, tak sem dávám inovaci alespoň v readme, chybky budu postupně odstraňovat a možná ta připude i nějaké vylepšení v další verzi .
Přílohy
Modbus28-readme-2023-07-18.txt
(5.67 KiB) Staženo 55 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

Opravil jsem v programu Modbus28 Rtu Reader chybičky a problémky a dávám jej sem zabalený v zipu s parametry a ukázkou dat, tabulek a grafů jako shareware verzi, ve které je pouze omezen počet zaznamenávaných dat na 50 .
Přílohy
Modbus28-share.zip
(1.75 MiB) Staženo 47 x
Modbus28-readme.txt
(5.43 KiB) Staženo 66 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

V programu Modbus28 Rtu shareware jsem omylem nepovolil v okně Display zobrazování 9 výstupů, což nebylo mým záměrem ale stalo se .. v plné verzi už je to opraveno ..
Přílohy
Modbus28-readme-2023-07-30.txt
(5.59 KiB) Staženo 60 x
Measuring wirh SDM120 of SUN-1000G-display.jpg
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

- v programu Modbus28 Rtu Reader jsem ještě provedl drobné úpravy, které se projeví až v plné verzi .. protože SDM120M co by elektroměr mi dává záporné hodnoty pro reactive power (VA r), původně jsem v programu tyto záporné hodnoty rovnou měnil na kladné, aby nebyl problém s grafem, ale pak byly kladné i v datech a tabulkách .. nyní jsem dal do grafů checkboxy, které umožňují po zaškrtnutí zobrazovat záporné hodnoty jako kladné ..

- v testovacím okně jsem vylepšil možnost odhadu kalibračního faktoru ..

- v protokolu-driveru jsem pro SDN120M doplnil o čtení z regitrů, kde jsou uloženy kWh a kVAh atd, včetně importu a exportu ..

- a export mám zatím nulový .. -:)
Přílohy
Modbus28-SDM120M-Com-RS485-9600.rtu.txt
(1.2 KiB) Staženo 49 x
Modbus28-history-2023-08-06.txt
(7.49 KiB) Staženo 49 x
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

.. dostal jsem dotaz, jestli by ten můj program mohl číst i z dalšíc zařízení, co mají implementovaný Modbus Rtu , konkrétně šlo o wattmetr/elektroměr SDM630 .. dival jsem se na stránky Eastroneurope,com a na data pro ten SDM630 .. nemají ho tam s M jako u SDM120M , to M je u jiného typu, ale mají tam protokol pro Modbus, ten už mám stažený, takže číst z SDM630 to určitě bude možné i s tím mým programem, ale zatím jen číst, do dalších úprav už mi ale chybí motivace, čtení mi zatím bohatě stačilo .. jinak to většinou z výroby mají naprogramované na adresu 01 a rychlost 9600 baudů .. něco se dá určitě vyzkoušet i s tou mojí shareware verzí programu, kdo by měl zájem, tak si to vyzkoušejte, zkuste a uvidíte .. ale je možné, že by Eastroni mohli mít i nějaký prográmek na čtení z těch jejich přístroju a nebo že by se vysloveně k nim dal nějaký program sehnat .. po tom jsem zatím nepátral .. já jsem si ten program dělal hlavně kvůli modráskovi a na tom SDM120M jsem se učil, jak se s tím Modbusem Rtu pracuje a čte no a i modrásek mi na to naštěstí zabral ..
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

- zjistil jsem v programu Modbus28 Rtu chybu v převodu čtených bytu na float, ta se vyskytuje i v té již publikované verzi shareware, pracuji na jejím odstranění a v plné versi již nebude. Projevuje se to v případě zařízení, jako je to SDM120M, pokud jde o četní dat ze SUN-1000G, tam to není na závadu, protože tento invertor data ve float nepoužívá.
ca266054
Příspěvky: 304
Registrován: ned led 08, 2023 12:43 pm
Lokalita: Jablonec n.N.
Výkon panelů [Wp]: cca 500 W
Kapacita baterie [kWh]: cca 240 Ah
Bydliště: cca Železný Brod u Jablonce a Turnova atd.

Re: Protokol Modbus Rtu pro SUN1000G a port RS232

Příspěvek od ca266054 »

V příloze je v zipu můj program pro W7-W10 Modbus28share.exe i s potřebnými parametry. Je to plným názvem Modbus Rtu Reader, který jsem původně psal pro můj modrásek SUN-1000G .. to mi moc nešlo, tak jsem si dokoupil Tiny elektroměr SDM120M o kterém se psalo, že ten Modbus by měl zvládat .. nakonec se mi podařilo oboje, že jsem přes Modbus něco vyčetl z modráska a všechno, co jsem potřeboval i z toho SDM .. pak se tu objevil zájem o čtení i z SDM630MCT-2T .. k tomu sem dávám ten můj program jako shareware, je tam pouze omezení na počet registrovaných dat na 100, jinak by měl být plně funkční a o mnoho vylepšený proti té původní shareware verzi, kterou jsem dal před časem na moje vlákno o Protokolu pro SUN-1000G a tam dám i tuhle opravu .. kdo tady umíte mazat, tak prosím tu starou versi opět klidně smažte.
Přílohy
Modbus28share.zip
(943.57 KiB) Staženo 73 x

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek