Stabilita Modbus RTU

Odpovědět
Michi
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 10. leden 2023, 12:26
Dostal poděkování: 1 poděkování

Stabilita Modbus RTU

Příspěvek od Michi »

Zdravím,
poradil by mi někdo ohledně stability Modbus RTU? Modbus mám nastavený v Node Redu takto:
Baud rate: 9600
Time out: 300ms
Reconnect timeout 100ms
Někdy to běží v pohodě, ale někdy je nestabilní. Když potřebuju zapsat něco pomocí modbusu neprovede se to.
Nevím jestli tak krátké časy na něj nejsou už moc, případně zatím nemám dané koncové odpory na vodiče, ale vodič má dohromady max metr - plánuju dodělat. Je tady někdo, kdo má s laděním modbusu RTU zkušenosti a poradil by mi? Občas vypisuje warning messages "Modbus Failure On State sending Get More About It By Logging".
Dále jsem se chtěl zeptat jestli je vhodné používat Queue commands a Logging a jak to přesně funguje?
Někdy ještě dostanu chybu "Error: CRC error" a "Error: Data length error, expected 8 got 3" - tyto chyby se vyskytují náhodně.
Díky za jakékoliv tipy.

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Stabilita Modbus RTU

Příspěvek od acerot »

Nepomůžu ti, jen chci sdělit podobnou zkušenost. Chvilku jsem ty timeouty ladil, ale pak jsem se na to vykašlal. Hlásí mi to v podstatě to samý, co tobě. Po pár neúspěšných čteních se mi MODBUS zařízení zase z ničeho nic ozvou, což mi zatím takhle stačí, tedy to dál neřeším. Podle mě je to tak trochu možná vinou všech prvků na trase. Teda alespoň u mě, protože mám všechno (MODBUS elektroměry, MODBUS moduly) z Aliexpresu, čili bych od toho 99,99% dostupnost určitě neočekával :D Někdy musím Nodered/hosta i úplně restartovat, aby se to znovu chytlo. Jindy to fachčí bez chyby týdny. Já jsem k tomu shovívavý, protože HA/Nodered/MQTT/MODBUS a všechny tyhle věcičky na chytrou domácnost mám vědomě převážně jako bastl, takže s občasnými potížemi a prací kolem toho počítám. Jinak, vypnul jsem si hlášení chyb MODBUS nodů, protože to zapráská Debug okno a zapínám to jen když vážně něco ladím. MODBUS sběrnice mám v rozvaděči a v bytě a k přístupu k nim používám USB-RS485 dongly (trochu lepší než nejlevnější z Aliexpresu, prodejce/výrobce Waveshare) zapíchané do samostatně napájeného USB HUBu připojeného k Raspberry. Mám celkem 4 sběrnice - 3 sběrnice v rozvaděči (cca 3 metry každá) a jednu vytaženou do bytu (cca 20 metrů). Rozvaděč by šel udělat jedinou sběrnicí, ale pak by čtecí cyklus trval moc dlouho, než bych oslovil všechna zařízení (mám jich asi 60). Odpor na konec sběrnice jsem dal, ale nepozoruju žádné zlepšení/zhoršení - na tak krátkých sběrnicích to asi nemá vůbec cenu. Kabel sběrnic mám kvalitní, stíněný (v rozvaděči je dost el-šumu).

Michi
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 10. leden 2023, 12:26
Dostal poděkování: 1 poděkování

Re: Stabilita Modbus RTU

Příspěvek od Michi »

Ahoj,
díky že ses ozval. Mno u mě je to docela problém protože mi přes to jedou i vypínače. Je to zatím takové první řešení, které budu postupem času ladit.. Ale potřebuju aby to bylo 100%. Zatím mám nejlevnější dongle (RTU) z aliku - pozoroval si nějakou změnu u toho značkového?

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Stabilita Modbus RTU

Příspěvek od acerot »

Být tebou, na 100% dostupnost/spolehlivost bych necílil, takový systém nejde postavit ;) Nebudeš pak zklamaný. A řekněme 99% tě bude stát o hodně větší peníze než třeba 90%, tak to ještě promysli. Jinak, už je to dlouho, co jsem nejlevnější dongle z Alíka vyměnil za ten od Waveshare, takže si to moc nepamatuju. Ale vybavuje se mi, že tam skutečně u toho levnějšího byly nějaké problémy, ale už si nepamatuju přesně jaké, vymýšlel bych si. Varianta od Waveshare https://www.aliexpress.com/item/4000389456309.html oproti nejlevnějším obsahuje i GND (stínění), má lepší čipy a nějaké ochrany navíc. Od té doby jsem nezaznamenal žádný problém (problém ve smyslu USB-RS485 donglu na sběrnici, ne problémy MODBUSu v Noderedu - ty se tam občas vyskytnou pořád :D ).
Ještě k těm vypínačům - máš na mysli vypínače na zdi na rozsvícení světel doma? To se tak rychle dotazuješ nějakého DI modulu? Jak rychle stihneš zareagovat na stisk vypínače MODBUsem? Můžeš mi popsat trochu víc, jak to máš celý udělaný (celý kolem těch vypínačů)?
Já si totiž rozdělil vstupy na pomalé a rychlé - pomalé jsou třeba otevřené dveře nebo okna, to mi stačí vědět až při dalším cyklu dotazování se MODBUSem, cca jednou za 20 sekund. A pak rychlé vstupy - tlačítka na zdech na světla (mám tlačítka, ne vypínače) nebo impulsní čítače na vodoměrech apod. - o jejichž změně chci vědět v podstatě hned (max do stovek milisekund). Došel jsem k závěru, že na rychlé vstupy MODBUS použít nemůžu, je to client-server technologie, takže zařízení ti samo nemůže dát vědět o změně, musí čekat, až se ho zeptáš, dotazování všech zařízení na jedné sběrnici je sekvenční a jsou tam čekačky na případné timeouty atd. Takže na rychlé vstupy použiju modul, který sám zašle info o změně stavu. Zatím mám v merku 100vstupové Quido od Papoucha, se kterým hodlám komunikovat UDPčkem (Spinel protokol).

Michi
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 10. leden 2023, 12:26
Dostal poděkování: 1 poděkování

Re: Stabilita Modbus RTU

Příspěvek od Michi »

Myslím že bysme si mohli zavolat, nechce se mi to celé vypisovat tady na fóru. Můžeš mi na sebe dát kontakt? Tel/FB? Btw. Vypínačema jsem myslel klasické vypínače na stěně a mám to právě zapojené do 100vstupového Quida od Papoucha tak můžu poreferovat. Vidím že to máš hodně podobné tak by jsme si mohli nasdílet zkušenosti a dovést to k té dokonalosti :D
Aktuálně čekám na druhý Modbus RTU dongle - taky to budu rozďelovat na rychlé (tlačítka) a pomalé (dveře). Možná i dva rychlé jsem uvažoval..
Když tak mi pošli kontakt do soukromé zprávy.

Bubo
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 28. duben 2022, 12:46
Dal poděkování: 2 poděkování

Re: Stabilita Modbus RTU

Příspěvek od Bubo »

Umožňuje Modbus automatické poslání změny vstupů? Nebo je potřeba je vyčítat v nějaké smyčce?
Naposledy upravil(a) Bubo dne 24. říjen 2023, 12:11, celkem upraveno 1 x.

Bubo
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 28. duben 2022, 12:46
Dal poděkování: 2 poděkování

Re: Stabilita Modbus RTU

Příspěvek od Bubo »

Protože jsem ze staré školy, chtěl bych mít co nejvíc vstupů/výstupů mít po drátech. Uvažuju, že bych použil I/O modul Quido od Papoucha a vyčítal stavy přes Modbus a Node-red.

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Stabilita Modbus RTU

Příspěvek od acerot »

MODBUS je model master/slave a zařízení, ze kterého informace čteš, je slave, který nikdy komunikaci sám nemůže iniciovat, vždy se pouze master ptá jednotlivých slavů. Takže ti zbývá buď to číst hodně rychle a přiblížit se tak reálnému okamžiku, kdy změna nastala - anebo třeba použít tebou zmiňované Quido, které dokáže posílat změnu samo v okamžiku, kdy se vyskytne.

Mám Quido USB 100/3, taky po bytě vše po drátech (CAT5e) a komunikuju s ním v Noderedu pomocí jejich nodů https://papouch.com/node-red-4-i-o-modu ... nel-p6985/ jejich protokolem Spinel. Jejich nody Spinel jsou napojeny na běžné Serial nody Noderedu, nasměrované na zapojený USB port Raspberíčka. Fyzicky mám USB port Raspberíčka a Quida propojený USB kabelem. Napřed jsem uvažoval o Ethernet verzi Quida, ale USB mi úplně stačí, mám Quido i Raspi blízko sebe a navíc ušetřím pár tisíc. Na rychlosti to, mám pocit, nemá vliv, protože jsem kdesi četl, že rychlost komunikace Quida je dána jakousi vnitřní jednotkou, co řídí čtení vstupů a jestli to pak jde pryč po Eth nebo USB už je vedlejší - a ta rychlost byla daleko pod maximálními možnostmi jak Eth tak USB.

Aby Quido posílal sám od sebe změny stavů, musíš si to u všech vstupů nastavit (defaultně je to, myslím, vypnutý). Po jejich nodu Spinel Tx můžeš posílat požadavky, které pak čteš z nodu Spinel Rx (to používám, například když čtu jednou za čas čítače vodoměru - u vybraných vstupů Quida si můžeš nastavit, že mají fungovat jako čítače) a pak samozřejmě do nodu Spinel Rx náhodně dostáváš ony automaticky odesílané změny na vstupech. Chvilku mi trvalo tu Papouchovskou logiku Spinelu pochopit a v Noderedu správně načmárat (hodiny čtení manuálu, troubleshootování a řvaní neslušných slov), ale teď už to funguje cca rok a vůbec o tom nevím. Na tlačítka světel po bytě mám v Noderedu node https://flows.nodered.org/node/node-red ... ed-counter, který udělá těžkou práci za mě a rovnou mi řekne kolikaklik jsem za zvolený čas udělal. Aktuálně používám až 4-kliky (víc má ruka nedá, dal jsem tam čas 1 sekunda).

Musím uznat, že Quido je kvalitní kus HW, už od pohledu, ale hlavně funkcí - vůbec s tím nejsou žádné HW problémy.

Nevidím tady, jestli máš Home Assistanta nebo ne, ale pro úplnost, do něj informace z Quida posílám z Noderedu pomocí MQTT.

Bubo
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 28. duben 2022, 12:46
Dal poděkování: 2 poděkování

Re: Stabilita Modbus RTU

Příspěvek od Bubo »

:thx: Díky!
Doma zkouším HA na RPi 4B a většina koncových prvků je zatím přes Zigbee. Automatizace už stejně řeším přes Node-Red.
Takže pokud je možné Quido relativně jednoduše spojit s malinou, je to super zpráva. Stavíme barák a chci elektroinstalaci už udělat tak, aby toho co nejvíc běhalo po drátech a šlo ovládat právě pomocí HA.

Odpovědět

Zpět na „Zařízení“