Forum

Forum

Notifications
Clear all

LOXONE - MODBUS

426 Posts
46 Users
39 Likes
56.3 K Views
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

Vymazal jsem Modbus Arduino a začal manuálně spouštět UDP výstup - v Arduinu konečně vidím Loxone jako UDP a už i nabíhají u ethernetu byty, ale stále na monitoru UDP v Loxonu nevidím nic. Aktualizoval jsem na ten poslední firmware, tak doufám, že ty šašci v tom nebaj nějakej šotek. 


   
ReplyQuote
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

Zkusil jsem pro jistotu přes vrátného, zda mi jede UDP monitor a normálně to šlape....


   
ReplyQuote
(@budulinek)
Reputable Member
Joined: 7 years ago
Posts: 355
 

Super, tak to je posun.

V Loxone si podle mě musíš nejdřív nadefinovat Virtuální UDP vstup (se správnou IP a portem), teprve pak Loxone začne na daném portu poslouchat a zobrazovat příchozí zprávy v monitoru.

Modbus brána vždycky posílá odpovědi na ten samý port, ze kterého přišel požadavek. To znamená, že UDP port u virtuálního vstupu i výstupu musí být stejný.


   
ReplyQuote
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

@budulinek Po ranním restartu PC a Loxone config se z čista jasna UDP monitor probudil. 

U toho prvního dotazu mi to funguje, ale chtěl jsem vyzkoušet vyslat jinej dotaz, ale asi ho zatím špatně vytvářím, mohl bys mi prosím ještě zkontrolovat tento, jestli to dobře chápu? Protože když to dám do Loxonu, tak UDP monitor nic neregistruje (funguje jen na ten první):

Zkušební výpočet

Zadávám \xOO\xOO\xOO\xOO\xOO\xO6\xO1\xO3\xOO\x28\xOO\xO2

Když to zkusím přes Packet Sender a zadám \OO\OO\OO\OO\OO\O6\O1\O3\OO\28\O2 (opět místo O dávám nuly), tak po odentrování mi to v ASHII přeskočí na toto a arduino mi normálně odpoví.  Když to dělá přes Packet Sender, tak vidím jak nabíhají RX u RS485 a i u Ethernetu, když posílám přes Loxone, tak ethernet přibývá, ale na RS485 to stojí

kw

   
ReplyQuote
kobra23
(@kobra23)
Member
Joined: 7 years ago
Posts: 2205
 

Kolik se ušetřilo na HW vůči originálnímu Loxone Modbus Extension? 

Protože to co ty asi tvoříš hodiny, je normálně hotové za 10 minut.

Naposledy jsem přidával Eniku elektroměr před měsícem, takže to mám v živé paměti a vyčítaní 9 důležitých parametrů byla otázka chvilky. 


   
ReplyQuote
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

@kobra23

4500 úspora je pro mne poměrně veliká motivace, zvláště když vím, že investovaný čas do bastlení bych stejně nedokázal proměnit v prachy na extension. Buď mám na výběr to vybastlit a ušetřit, nebo koupit modbus extension, na který mi teď úplně nezbývá a nebo se na všechno vy.... a sedět na gauči, protože počasí a vláda nedovolí nic jinýho 😀 


   
ReplyQuote
(@smotek7)
Member
Joined: 7 years ago
Posts: 1896
 

Ja sa tiez cudujem preco takto. Ved USR prevodnik stoji 25$ a uz je aj na DIN.


   
ReplyQuote
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

@smotek7 ten už mám objednaný z Ali, hned potom co se to tady řešilo, ale někde to visí a ne a ne přijít, takže jsem nevydržel a řeším jinou cestu.


   
ReplyQuote
(@budulinek)
Reputable Member
Joined: 7 years ago
Posts: 355
 
Posted by: @kobra23

Naposledy jsem přidával Eniku elektroměr před měsícem, takže to mám v živé paměti a vyčítaní 9 důležitých parametrů byla otázka chvilky. 

Z toho co píšeš usuzuju, že to nebylo tvoje první Modbus zařízení. V tom je asi ten důvod, proč to Jimovi trvalo několik hodin a tobě chvilku.....

Pokud se Arduino (nebo jakákoliv jiná Modbus brána, třeba ten USR) připojí jako modbusserver (tj. Modbus TCP), tak je nastavování Modbus zařízení v Loxone Config naprosto identické jako u Loxone Modbus Extension. Srovnej:

Loxone Modbus Extension za nějakých 5000 CZK:

https://www.loxone.com/cscz/kb/komunikace-s-modbus/

Jakákoliv Modbus brána (Arduino za 15 USD nebo USR za 25 USD):

https://www.loxone.com/cscz/kb/komunikace-pres-modbus-tcp/

Takže kupování Modbus Extension je opravdu zbytečné. Jediná otázka je, jestli Arduino brána nebo USR brána. Obě zařízení dělají totéž, možná Arduino trochu víc protože umí navíc i Modbus UDP (připomínám, že použití UDP je možnost navíc, nikoliv nutnost). EDIT: Jo a Arduino má i skener RS485 linky (hodí se pro ověření připojení a hlavně pro hledání zařízení s neznámou / zapomenutou adresou).

@smotek7

Proč takto (tj. proč Modbus UDP a vstupy/výstupy) a ne standardně jako modbusserver? Jenom kvůli možnosti monitorovat zprávy v UDP monitoru. Pokud vím, na monitoring modbusu v Loxonu žádný nástroj není (kdyžtak mě opravte).

@jimyjims

Myslím,  že máš někde chybu v syntaxi těch modbus požadavků, co posíláš. Máš ověřeno, že elektroměr a brána fungují, možná by nebylo od věci přejít v tuto chvíli ke klasickému "klikacímu" řešení abys nemusel modbus zprávy skládat ručně. Tj. modbusserver (tj. Modbus TCP) a přidávání Modbus zařízení, aktorů a senzorů.


   
ReplyQuote
(@smotek7)
Member
Joined: 7 years ago
Posts: 1896
 

Ano ten monitor je vyhoda.


   
ReplyQuote
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

@budulinek Když to programuju přes TCP a přidávám senzory, tak mi to jednou za čas hodí, že elektroměr nevrací žádné hodnoty. Měl bych nastavit delší timeout? Teď mám 500 ms


   
ReplyQuote
(@budulinek)
Reputable Member
Joined: 7 years ago
Posts: 355
 

@jimyjims

Můžeš zkusit delší timeout na straně Loxonu a případně i na RS485 lince v Arduinu. S tím už si budeš muset pohrát sám. Taky zavři prohlížeč s web rozhraním Arduina (na diagnostické stráne je auto refresh, který může zatěžovat ethernet shield)


   
ReplyQuote
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

@budulinek Super díky moc!

Mám snad poslední dotaz: Když půjdu programovat před UDP a vygeneruju impuls na více požadavků v jeden okamžik, tak mi to nerozliší jaká odpověď se má k čemu přiřadit. Je to určitě problém v identifikaci, ale nevím jak to mám víc rozlišit a k oběma vstupům se načte stejná hodnota. 

Výstřižek

Na V L1-N posílám požadavek \xOO\xOO\xOO\xOO\xOO\xO6\xO1\xO4\xOO\xOO\xOO\xO2

Vrací mi to 00,00,00,00,00,07,01,04,04,09,46,00,00

identifikuji \.\.\.\.\.\.\.\.\.\2\1


Na V L2-N posílám požadavek \xOO\xOO\xOO\xOO\xOO\xO6\xO1\xO4\xOO\xO2\xOO\xO2

Vrací mi to 00,00,00,00,00,07,01,04,04,09,4E,00,00

identifikuji \.\.\.\.\.\.\.\.\.\2\1

 


   
ReplyQuote
(@budulinek)
Reputable Member
Joined: 7 years ago
Posts: 355
 

@jimyjims

Tak přesně k tomuto (párování požadavků a odpovědí) slouží v Modbus TCP/UDP první dva bajty zprávy. Každý požadavek by měl mít první dva bajty unikátní. Volba je zcela na tobě, ale třeba:

Na V L2-N posílám požadavek \xOO\xO2\xOO\xOO\xOO\xO6\xO1\xO4\xOO\xO2\xOO\xO2

Vrací mi to 00,02,00,00,00,07,01,04,04,09,4E,00,00

identifikuji \xOO\xO2\.\.\.\.\.\.\.\2\1

Pokud bys použil "klikačku" Modbusserver (tj. Modbus TCP), tak tam se o tyhle dva bajty postará Loxone. U Modbus UDP se o to musíš postarat sám.

Jo a ještě jeden fígl: u modbus požadavků nepotřebuješ generátor impulsů. Periodu požadavků si nastavíš v "Interval opakování". Samozřejmě může být jakkoliv krátký, nejsi omezen 5 sekundami jako u Modbusserveru :-). Dál musíš mít zaškrtnuto "Použít jako digitální výstup".

x01

a potom stačí samotný výstup, myší kliknout na začátek "VQ" aby se ti udělalo prázdné kolečko. To znamená, že  výstup bude furt aktivní a bude posílat požadavky v definované periodě.

x02

   
ReplyQuote
jimyjims
(@jimyjims)
Trusted Member
Joined: 4 years ago
Posts: 97
 

@budulinek Vším jsem se díky Tvé pomoci dokázal prokousat, určitě bych to nedal jen podle toho návodu, protože když je člověk modbusem nepolíben, tak prostě neví o čem je řeč.

Když to vidím teď zpětně a spojil jsem si snad většinu detailů, tak chápu, co psal @kobra, že měl nastavený elektroměr během chvilky. Zkoušel jsem obě varianty, jít cestou TCP a UDP. Cesta TCP mě štvala s intervaly mezi dotazy 5 sekund a občas se stalo, že mi nepřišla odpověď a stále mi na app chodila chybová hláška, že se nehlásí. Nakonec jsem vše udělal přes UDP požadavky a rozeznání odpovědí, mohu se dotazovat v kratších intervalech, než 5 sekund a neregistruju zatím žádné výpadky - samozřejmě se vše potvrdí časem. 

Ještě jednou díky a teď hurá do propojení solničky a Loxone 😀  


   
ReplyQuote
Page 12 / 29
Share: