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

Zdeněk Aster zdenek.aster na seznam.cz
Neděle Červenec 9 17:54:58 CEST 2023


1) jednoduse igonruje se hornich 8bit proste ten registr je pro me 8bitovy.
    Vyhoda pro me je, ze adresa modbus mi sedi s adresou pameti.
    Upozornuji ze za to muze Bootloader, kterym tam posilam aplikaci, ve
    standardnim rezimu je mi to celkem asi jedno....
2) Ano prekryvaji se
3) Proc resim byte no protoze mam firmware a ten je jaksi v souboru na PC
organizovan po bytu. A ten potrebuju flashnou pres bootloader, a modbus
do procesoru. Mohl jsem to udelat sto zpusoby na jednu adresu zapsat pozici
v pameti a na druhou zapsat vlastni data. Jenze ja chtel co nejednousi 
adresaci
tak proste bootolader bere adresy modbusu jako adresu flash programu......

Já asi nehledám úplně řešení, jen jsem ťuknul do původního dotazu, že 
prostě mi je
zhruba jasné co chce autor původního dotazu....
Nějak uhladit logiku registrů a všeho aby to mělo hlavu a patu....


Zdeněk Aster

Dne 09.07.2023 v 16:23 Radek Sztwiorok napsal(a):
> Aha to je tak když se nepodívam kdo je původní tazatel.
> Takže pane Aster
> k 1) jak se prosím čte 16bit registr z 8bit místa?
> k 2) tady se vám zase překrývají registry pokud to chápu správně
> k3) tak by to mělo být dle standardu a i dle mého logického předpokladu
> Jen pořád asi nechápu proč plníte registry byte. Pokud si nadefinujete 
> word tak přece neřešíte fyzicky posun (bavím se o možnosti 3, 1 a 2 
> nechápu jak funguje pro MB). S tímto způsobem dosti narazíte při 
> reálných číslech kdy potřebujete 2 registry a jěště popřehazované 
> (dost záleží co za systém čte ze zařízení). Tady je dobré si pak 
> prostudovat jaký systém bude cílový neb ne každé PLC či SCADA umí 
> přečíst jakýkoliv zápis. S oblibou Siemens má svůj způsob čtení a 
> zápisu(samozřejmě nekompatibilní s původním standartem Modiconu) a 
> nedokáže se přizpůsobit čemukoliv jinému. Tam pak nezbývá než vědět co 
> kde je a číst si to po registrech a ovladač si napsat což je dost opruz.
> Vaše zařízení je Master nebo Slave?
> RS
>
> ne 9. 7. 2023 v 16:02 odesílatel Zdeněk Aster <zdenek.aster na seznam.cz> 
> napsal:
>
>     Adresace je moje, spíš jsem přemýšlel co je "dobře"... Ano zalezi
>     to na me
>     Mám paměťový prostor organizovaný po bytech třeba 1kB (to je
>     vlastně jedno jak velký) a mám X možností.
>
>     1) ctu z adresy MODBUS adresa 0 16bit registr = pamet davam z
>     adresy 0   velikost 1  byte
>         ctu z adresy MODBUS adresa 1 16bit registr = pamet davam z
>     adresy  1  velikost 1  byte
>
>     2) ctu z adresy MODBUS adresa 0 16bit registr = pamet davam z
>     adresy 0 a 1   velikost 2  byte
>         ctu z adresy MODBUS adresa 1 16bit registr = pamet davam z
>     adresy  1 a 2  velikost 2  byte
>
>     3) ctu z adresy MODBUS adresa 0 16bit registr = pamet davam z
>     adresy 0 a 1   velikost 2  byte
>         ctu z adresy MODBUS adresa 1 16bit registr = pamet davam z
>     adresy  2 a 3  velikost 2  byte
>
>     2) je rozhodne dost blbost, ale je to taky moznost
>     3) je asi pocitove nejcistci, ale blbe se dela for smycka
>     respektive musim adresu delit dvemi
>         a je to trośku hure citelny ten kod
>     1) mi treba v tomhle pripade vyhovuje nejvic (posilam tam kod
>     aplikace pres bootloader)
>
>     A techto dilemat mam v pripade MODBUSu spoustu tim jsem chtel
>     rict, ze absolutne chapu
>     rozpolozeni tazatele, ale rozhodne nejsem asi ten co by mu dobre
>     poradil....
>
>     Zdenek Aster
>
>     Dne 09.07.2023 v 11:22 Radek Sztwiorok napsal(a):
>>     A ted jsem to už nepochopil vůbec.
>>     Ta adresace co píšete je MB nebo vaše?
>>     Pokud vaše tak si dle vlastního příkladu přepisujete čast
>>     registru. O kolika registrech se vlastně bavíme a jaký jednochip
>>     je cílový?
>>     RS
>>
>>     ne 9. 7. 2023 v 10:37 odesílatel Zdeněk Aster
>>     <zdenek.aster na seznam.cz> napsal:
>>
>>         Já mám třeba u 16bitových registrů problém jak to adresovat....
>>         Mám pamět 8bit a na 1000 je registr 16bit na 1001 je dalsi
>>         ale v pameti se mam posunout o byte nebo o
>>         dva... Nekdy je lepsi o 1 byte a nekdy o 2btye no mam v tom
>>         taky bordel. Ja teda to hlavne resim kvuli tomu,
>>         ze tam mam bootloader tam s tim pak celkem bojuji. V klasice
>>         pak uz mam registry a nejak se s tim moc netrapim,
>>         protoze se to stejne mapuje nekde z periferii, tak tam ta
>>         souvislost s pameti pro me uz neni.....
>>
>>         Zdenek Aster
>>
>>         Dne 09.07.2023 v 8:01 Radek Sztwiorok napsal(a):
>>>         Ja to také trošku nechápu.
>>>         S MB jsem se za život navláčil dost a oni ani sami výrobci
>>>         jednotlivych PLC v tom nemají jasno. Tak nějak si každý ohne
>>>         to rozmístění jinak. I s číslovánim registrů se každý popere
>>>         podle svého. Důležité pro ně je ,aby na daný příkaz
>>>         odpovědělo zařízení správným registrem a typem.
>>>         Nejjednodušeji to má vyrešeno asi co se týká mapy Advantech
>>>         a ICP DAS a spousty jiných taiwanských firem. Mají jeden
>>>         adresní prostor číslovaný od 0 a registry 16bit. Vy si v
>>>         programu určite proměnnou a ta se navenek chova jako coil či
>>>         registr. Nerozlišují jestli je na čtení či i na zápis.(tohle
>>>         si ošetřujete při vytváření programu pro PLC,buď ji
>>>         občerstvujete nebo zní čtete) . Zbytek se řeší na client
>>>         straně nebo na master straně záleží co používáte za název
>>>         pro nadřazený systém. Výhoda i nevýhoda je ten adresní
>>>         prostor ktery vám narůstá o dva bajty i v případě coil
>>>         proměnné. Výhoda je přehlednost a jen jeden prostor a celkem
>>>         jednoduchá implementace do procesoru.
>>>         RS
>>>
>>>         ne 9. 7. 2023 v 3:54 odesílatel Jakub Ladman
>>>         <ladmanj na volny.cz> napsal:
>>>
>>>             To není odpověď kterou jsem očekával.
>>>
>>>             Ta registrová mapa je, podle mě, podle dnešního stavu
>>>             mých vědomostí
>>>             blbá. Potřeboval bych ji optimalizovat, aby bylo možné
>>>             přidat jinou
>>>             funkcionalitu.
>>>
>>>             Kupříkladu jsem udělal chybu v tom, že všechny registry
>>>             které lze
>>>             zapisovat se zrcadlí také do oblasti kde jsou registry
>>>             pouze ke čtení,
>>>             všechny bitové proměnné jsou přístupné jako bitové
>>>             (coily) ale také jako
>>>             bity (šestnáctibitových) registrů a ty jsou opět
>>>             dvakrát, jednou ke
>>>             čtení, jednou pro zápis i čtení.
>>>
>>>             Synchronizace mezi coily a registry, a mezi RO a RW
>>>             oblastmi je tam
>>>             složitá a úplně zbytečná.
>>>
>>>             Funguje to, ale je to obtížně udržovatelné a zbytečné.
>>>
>>>             Psal jsem to podle teoretických popisů MODBUSu a jak
>>>             jsem to začal
>>>             používat ve spojení s PLC, začal jsem teprve zjišťovat,
>>>             že se mi to
>>>             úplně nepovedlo a že jsem to ohromně překomplikoval.
>>>
>>>             Pokud je tu někdo, kdo má zkušenost s tím jak taková
>>>             dobrá registrová
>>>             mapa vypadá, velmi rád mu zaplatím několik tisícikorun
>>>             za praktickou
>>>             konzultaci.
>>>
>>>             Je to věc, kterou jsem alespoň teoreticky schopen udělat
>>>             sám, ale od
>>>             března se nejsem schopen rozhoupat. Mám zkušenost, že
>>>             když se na to
>>>             někdo podívá dalšíma očima, poradí mi několik základních
>>>             věcí a pak už
>>>             se sám chytnu.
>>>
>>>             Mnohdy se sám chytnu už jen při pokládání dotazu.
>>>
>>>             Ale rád bych to udělal kvalitně, hned na první pokus (na
>>>             druhý, počítaje
>>>             to co už mám).
>>>
>>>             Díky
>>>
>>>             JL
>>>             _______________________________________________
>>>             HW-list mailing list  -  sponsored by www.HW.cz
>>>             <http://www.HW.cz>
>>>             Hw-list na list.hw.cz
>>>             http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>>>         _______________________________________________
>>>         HW-list mailing list  -  sponsored bywww.HW.cz  <http://www.HW.cz>
>>>         Hw-list na list.hw.cz
>>>         http://list.hw.cz/mailman/listinfo/hw-list
>>
>>         _______________________________________________
>>         HW-list mailing list  -  sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         Hw-list na list.hw.cz
>>         http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>     _______________________________________________
>>     HW-list mailing list  -  sponsored bywww.HW.cz  <http://www.HW.cz>
>>     Hw-list na list.hw.cz
>>     http://list.hw.cz/mailman/listinfo/hw-list
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230709/aa7011f5/attachment.htm>


Další informace o konferenci Hw-list