Stránka 1 z 1

Fronius Symo a komunikace modbus

Napsal: stř srp 07, 2024 9:22 am
od Raww
Zdravíčko!
Prosím o pomoc. Potřeboval bych poradit/nakopnout co dělám špatně při nastavení komunikace s Froniusem protokolem modbus TCP.
Sestava je následující 4x Fronius Symo Advanced (2x 10kW, 2x5kW), každý osazený Datamanagerem 2.0. V konfiguraci povolen modbus TCP. Správně v síti ethernet s pevnými IP adresami.
Problém mám "pouze" s komunikaci modbus TCP. Pro standardní komunikaci používám respektive bych rád používal, svůj prográmek běžící na pozadí jako služba, který by periodicky četl data a ta ukládal do databáze. Spojení se naváže, ale bohužel mě to vrací hlášení kódu 0x02 illegal data address :(
Pro rychlejší otestování používám ještě freeware CAS Modbus Scanner, který se chová úplně stejně: naváže spojení, ale je vráceno hlášení 0x02 illegal data address.
Vyzkoušel jsem samozřejmě číst o adresu/adresy vedle či různý počet dat, ale vždy to skončí špatně.

Ještě jsem vyzkoušel číst data přímo pomocí skriptu v PHP. A ten mi to vyčítá správně. Je mu úplně "jedno" na které adrese (z platného rozsahu) začnu číst a je mu i jedno jestli čtu 1 byte, 2 nebo jakýkoli jiný rozumný počet.

Stejné chování je u všech čtyř datamanagerů.

Prostě skript v PHP mi jede čtení i zápis bez problémů. Aplikace (CAS Modbus Scanner) vždy vrací 0x02 illegal data address.

Měl byste někdo nápad, kde může být chyba :?:

Re: Fronius Symo a komunikace modbus

Napsal: stř srp 07, 2024 9:54 am
od kamils
Čtou oba programy a PHP se stejným Function codem?

Re: Fronius Symo a komunikace modbus

Napsal: stř srp 07, 2024 11:28 am
od Raww
Ano, oba čtou FC 03 - read holding registers tj. adresy 40001 -> dle manuálu Froniusu a jeho mapy registrů

Re: Fronius Symo a komunikace modbus

Napsal: stř srp 07, 2024 12:51 pm
od kamils
Tak jediné co mě napadá je použit analyzátor protokolů (Wireshark, ...).
Nebo ještě zkusit rozjet někde v sítí nějaký modbus slave simulátor a porovnat příchozí pakety.interpretac
Edit:
ještě jedna myšlenka, nemůže být problém v interpretaci adresy (hex, dec).

Re: Fronius Symo a komunikace modbus

Napsal: stř srp 07, 2024 1:31 pm
od Mex
To PHP to čte ze stejné IP adresy? Tj. běží na stejném PC?
Jde o to, jestli tam není nějaký filtr na IP adresy. Třeba že by po resetu měnič odpovídal jen na první IP adresu, která se k němu přihlásila.
Pokud to na stejném PC neběží, tak bych zkusil to PHP na jiném PC, případně nějaký ten testovací Modbus klient na tom PC, kde teď jede PHP.

Jinak je to snadný úkol, nalogovat komunikaci na Ethernetu (nejznámější SW je Wireshark, jak psal už kamils, ale jsou i jiné) a porovnat odlišnosti.
Obecně problémy kdy to někde jede a někde ne jsou ty snažší, protože se dá porovnat rozdíl.

Re: Fronius Symo a komunikace modbus

Napsal: čtv srp 08, 2024 11:50 pm
od Raww
Čtení běží z jednoho PC/jedné IP. Port 502 blokovaný není, protože by to jinak ani nenavázalo spojení. To zařízení na požadavek do programu CAS pošle kód chyby, ale do PHP to pošle data.
Interpretaci adres mám v desítkové soustavě v obou prográmcích.
Prográmek Wireshark neznám, možná to stojí za úvahu, ale stejně mi to asi nevyřeší problém protože CAS je "hotovej", takže stejně problém asi neobejdu...

Re: Fronius Symo a komunikace modbus

Napsal: pát srp 09, 2024 3:07 pm
od Mex
Tak když to nejde tak to nejde.
Jak říkávaly babičky - když se nechce, je to horší, než kdyby se nemohlo.

Když je to na jednom PC a tedy tedy nehrozí nějaké problémy typu komunikace jen s jednou IP, tak to odlogovat a najít rozdíl je snadné a rychlé řešení.
Ale musí se chtít.

Re: Fronius Symo a komunikace modbus

Napsal: pát dub 04, 2025 10:06 pm
od Raww
Mex píše: pát srp 09, 2024 3:07 pm Tak když to nejde tak to nejde.
Jak říkávaly babičky - když se nechce, je to horší, než kdyby se nemohlo.

Když je to na jednom PC a tedy tedy nehrozí nějaké problémy typu komunikace jen s jednou IP, tak to odlogovat a najít rozdíl je snadné a rychlé řešení.
Ale musí se chtít.
Jen pro doplnění, které jsem sem nedal - problém byl v tom, že je potřeba používat HEX addressing. Chytákem je, že v manuálu/v mapě registrů jsou adresy uvedeny v decimální soustavě, takže se musí přepočítat.

Re: Fronius Symo a komunikace modbus

Napsal: sob dub 05, 2025 5:22 am
od Mex
Raww píše: pát dub 04, 2025 10:06 pm Jen pro doplnění, které jsem sem nedal - problém byl v tom, že je potřeba používat HEX addressing. Chytákem je, že v manuálu/v mapě registrů jsou adresy uvedeny v decimální soustavě, takže se musí přepočítat.
Hmmm, tady je něco divně.
Psal jsi, že je to Tvůj prográmek. Takže snad víš, v jakém formátu se mají zadávat adresy registrů, když jsi to sám tvořil.
Stejně tak ten CAS Scanner podle manuálu umí používat běžná dekadicky zadaná čísla registrů.

Obecně v prostředí Modbus je zvykem spíš používat dekadické adresy, ne hexadecimální.
I když vlastnímu Modbusu je to samozřejmě fuk, po sítí to běží v binární podobě a navíc v network-order, tj. pořadí byte ve wordech je opačně než v PC.

Re: Fronius Symo a komunikace modbus

Napsal: sob dub 05, 2025 5:59 pm
od Raww
Neposoudím, co je s Froniusem divně nebo ne.
Pouze konstatuji závěr z bádání, že pokud adresu v prográmku zadám decimálně, tak to vrací hlášení o chybě. Stejně tak CAS Scanner, kde se dají zadat adresy pouze decimálně, není schopen s Froniusem komunikovat.

V PLC mám možnost přepnout jak adresuji zda DEC či HEX - desítkově nechodí, v režimu HEX addr. to chodí. Obdobně v operátorském panelu mám možnost DEC nebo HEX addressing - chování stejné. Ve SCADA chování stejné.

Re: Fronius Symo a komunikace modbus

Napsal: sob dub 05, 2025 10:14 pm
od Mex
Sorry jako. Sice jsem občas důvěřivá naivka, ale tomuhle fakt věřit nemůžu.
Pokud to správně spočítáš a správně zadáš (a program ví, v jaké soustavě je to zadáno), tak prostě výsledek musí být stejný když to zadáš jakkoli.
Prostě platí, že 40001=0x9c41.

Re: Fronius Symo a komunikace modbus

Napsal: ned dub 06, 2025 7:42 pm
od Raww
Na tvé víře nezáleží, konstatuji skutečnost.
No, kdyby to bylo jedno, jak zadám adresu, těžko by se výrobci PLC či operátorských panelů zabývali tím, aby do svých vývojových prostředí dávali volbu adresování DEC či HEX.

Re: Fronius Symo a komunikace modbus

Napsal: ned dub 06, 2025 9:10 pm
od Mex
Ta je tam pro pohodli obsluhy.