<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
1) jednoduse igonruje se hornich 8bit proste ten registr je pro me
8bitovy.<br>
Vyhoda pro me je, ze adresa modbus mi sedi s adresou pameti.<br>
Upozornuji ze za to muze Bootloader, kterym tam posilam aplikaci,
ve<br>
standardnim rezimu je mi to celkem asi jedno....<br>
2) Ano prekryvaji se<br>
3) Proc resim byte no protoze mam firmware a ten je jaksi v souboru
na PC<br>
organizovan po bytu. A ten potrebuju flashnou pres bootloader, a
modbus<br>
do procesoru. Mohl jsem to udelat sto zpusoby na jednu adresu zapsat
pozici<br>
v pameti a na druhou zapsat vlastni data. Jenze ja chtel co
nejednousi adresaci<br>
tak proste bootolader bere adresy modbusu jako adresu flash
programu......<br>
<br>
Já asi nehledám úplně řešení, jen jsem ťuknul do původního dotazu,
že prostě mi je<br>
zhruba jasné co chce autor původního dotazu....<br>
Nějak uhladit logiku registrů a všeho aby to mělo hlavu a patu....<br>
<br>
<br>
Zdeněk Aster<br>
<br>
<div class="moz-cite-prefix">Dne 09.07.2023 v 16:23 Radek Sztwiorok
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:CAHJpJifqAbhhb0WsO1NHM72SMHrdxw2RQWJKMODK0z0uLX=5LA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Aha to je tak když se nepodívam kdo je původní tazatel.</div>
<div>Takže pane Aster</div>
<div>k 1) jak se prosím čte 16bit registr z 8bit místa?</div>
<div>k 2) tady se vám zase překrývají registry pokud to chápu
správně <br>
</div>
<div>k3) tak by to mělo být dle standardu a i dle mého logického
předpokladu <br>
</div>
<div>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.</div>
<div>Vaše zařízení je Master nebo Slave?</div>
<div>RS<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">ne 9. 7. 2023 v 16:02
odesílatel Zdeněk Aster <<a
href="mailto:zdenek.aster@seznam.cz" moz-do-not-send="true"
class="moz-txt-link-freetext">zdenek.aster@seznam.cz</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> Adresace je moje, spíš jsem přemýšlel co je "dobře"...
Ano zalezi to na me<br>
Mám paměťový prostor organizovaný po bytech třeba 1kB (to je
vlastně jedno jak velký) a mám X možností.<br>
<br>
1) ctu z adresy MODBUS adresa 0 16bit registr = pamet davam
z adresy 0 velikost 1 byte<br>
ctu z adresy MODBUS adresa 1 16bit registr = pamet davam
z adresy 1 velikost 1 byte<br>
<br>
2) ctu z adresy MODBUS adresa 0 16bit registr = pamet davam
z adresy 0 a 1 velikost 2 byte<br>
ctu z adresy MODBUS adresa 1 16bit registr = pamet davam
z adresy 1 a 2 velikost 2 byte<br>
<br>
3) ctu z adresy MODBUS adresa 0 16bit registr = pamet davam
z adresy 0 a 1 velikost 2 byte<br>
ctu z adresy MODBUS adresa 1 16bit registr = pamet davam
z adresy 2 a 3 velikost 2 byte<br>
<div><br>
2) je rozhodne dost blbost, ale je to taky moznost<br>
3) je asi pocitove nejcistci, ale blbe se dela for smycka
respektive musim adresu delit dvemi<br>
a je to trośku hure citelny ten kod<br>
1) mi treba v tomhle pripade vyhovuje nejvic (posilam tam
kod aplikace pres bootloader)<br>
<br>
A techto dilemat mam v pripade MODBUSu spoustu tim jsem
chtel rict, ze absolutne chapu <br>
rozpolozeni tazatele, ale rozhodne nejsem asi ten co by mu
dobre poradil....<br>
<br>
Zdenek Aster<br>
<br>
Dne 09.07.2023 v 11:22 Radek Sztwiorok napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>A ted jsem to už nepochopil vůbec. <br>
</div>
<div>Ta adresace co píšete je MB nebo vaše?</div>
<div>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ý?</div>
<div>RS<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">ne 9. 7. 2023 v 10:37
odesílatel Zdeněk Aster <<a
href="mailto:zdenek.aster@seznam.cz" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">zdenek.aster@seznam.cz</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px
0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div> Já mám třeba u 16bitových registrů problém jak
to adresovat....<br>
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<br>
dva... Nekdy je lepsi o 1 byte a nekdy o 2btye no
mam v tom taky bordel. Ja teda to hlavne resim kvuli
tomu,<br>
ze tam mam bootloader tam s tim pak celkem bojuji.
V klasice pak uz mam registry a nejak se s tim moc
netrapim,<br>
protoze se to stejne mapuje nekde z periferii, tak
tam ta souvislost s pameti pro me uz neni.....<br>
<br>
Zdenek Aster<br>
<br>
<div>Dne 09.07.2023 v 8:01 Radek Sztwiorok
napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Ja to také trošku nechápu.</div>
<div>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.</div>
<div>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.<br>
</div>
<div>RS <br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">ne 9. 7. 2023
v 3:54 odesílatel Jakub Ladman <<a
href="mailto:ladmanj@volny.cz"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">ladmanj@volny.cz</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">To není
odpověď kterou jsem očekával.<br>
<br>
Ta registrová mapa je, podle mě, podle
dnešního stavu mých vědomostí <br>
blbá. Potřeboval bych ji optimalizovat, aby
bylo možné přidat jinou <br>
funkcionalitu.<br>
<br>
Kupříkladu jsem udělal chybu v tom, že všechny
registry které lze <br>
zapisovat se zrcadlí také do oblasti kde jsou
registry pouze ke čtení, <br>
všechny bitové proměnné jsou přístupné jako
bitové (coily) ale také jako <br>
bity (šestnáctibitových) registrů a ty jsou
opět dvakrát, jednou ke <br>
čtení, jednou pro zápis i čtení.<br>
<br>
Synchronizace mezi coily a registry, a mezi RO
a RW oblastmi je tam <br>
složitá a úplně zbytečná.<br>
<br>
Funguje to, ale je to obtížně udržovatelné a
zbytečné.<br>
<br>
Psal jsem to podle teoretických popisů MODBUSu
a jak jsem to začal <br>
používat ve spojení s PLC, začal jsem teprve
zjišťovat, že se mi to <br>
úplně nepovedlo a že jsem to ohromně
překomplikoval.<br>
<br>
Pokud je tu někdo, kdo má zkušenost s tím jak
taková dobrá registrová <br>
mapa vypadá, velmi rád mu zaplatím několik
tisícikorun za praktickou <br>
konzultaci.<br>
<br>
Je to věc, kterou jsem alespoň teoreticky
schopen udělat sám, ale od <br>
března se nejsem schopen rozhoupat. Mám
zkušenost, že když se na to <br>
někdo podívá dalšíma očima, poradí mi několik
základních věcí a pak už <br>
se sám chytnu.<br>
<br>
Mnohdy se sám chytnu už jen při pokládání
dotazu.<br>
<br>
Ale rád bych to udělal kvalitně, hned na první
pokus (na druhý, počítaje <br>
to co už mám).<br>
<br>
Díky<br>
<br>
JL<br>
_______________________________________________<br>
HW-list mailing list - sponsored by <a
href="http://www.HW.cz" rel="noreferrer"
target="_blank" moz-do-not-send="true">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">Hw-list@list.hw.cz</a><br>
<a
href="http://list.hw.cz/mailman/listinfo/hw-list"
rel="noreferrer" target="_blank"
moz-do-not-send="true"
class="moz-txt-link-freetext">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank" moz-do-not-send="true">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a
href="http://www.HW.cz" rel="noreferrer"
target="_blank" moz-do-not-send="true">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list"
rel="noreferrer" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank" moz-do-not-send="true">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a
href="http://www.HW.cz" rel="noreferrer" target="_blank"
moz-do-not-send="true">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list - sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<br>
</body>
</html>