Re: Je tu někdo zběhlý v protokolu MODBUS, ochotný poskytnout konzultaci?

Petr Labaj labaj na volny.cz
Neděle Červenec 9 17:48:08 CEST 2023


Kdybych to měl dělat tak bych:

- Rozdělení na R/O a R/W bych udělal jen v případě, že by byl
zaveden nějaký hierarchický systém kompetencí. Tedy nějaký
"user" by měl přístup je R/O, nějaký "admin" pak R/W.
Pokud by kompetence nebyly a nebyly ani uvažovány do budoucna,
tak na R/O bych se vykašlal.

- Bitové přístupy bych zachoval v případě, kdy je vhodný atomický
přístup k nějakým prvkům.

- Všechny parametry "datového" typu bych udělal jako 16-bit.
I když v nich bude hodnota jen 8-bit. Bude-li větší, tak pak ve
formě data_L a data_H.

- Číslování registrů bych udělal po skupinách podobných parametrů,
s mezerami mezi nimi. Aby při pozdějším přidání dalšího příbuzného
parametru tento mohl být zařazen na konec své skupiny a ne někam
nesmyslně na konec celého seznamu.

- Dobře bych zdokumentoval co který parametr znamená.
Dokonce bych začal podrobným popisem ještě předtím, než bych
začal programovat.

- Na nějaké pevné adrese někde hned na začátku by byla verze
a subverze protokolu. Aby při případné pozdější změně (ke které
ale doufejme nedojde) bylo možné měnit chování protistrany.

- Zamyslet se nad principem CANopen. Ten zavedl "slovník", tedy
na pevné adrese dostupný seznam proměnných včetně jejich typů.
Zamyslet se, jestli by něco podobného nemohlo být přínosné
i zde.

- Nedělat si s tím těžkou hlavu. I protokoly renomovaných firem
jsou často doprasené. Nakonec i logika Modbusu vypadá, jako
by to navrhoval někdo pořádně sjetý nebo ožralý.

PL


Další informace o konferenci Hw-list