<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Nevim, jestli to zodpovi nejakou otazku
autora, ale ja si vypracoval takovy system, ze kazdy funkcni blok
registru je obslouzen nejakou funkci (adc, proces, update
firmware, jednotlive HW bloky...) a ta si vyzobe a zdresniho a
funkcniho prostoru to, co ji patri a obslouzi to.</div>
<div class="moz-cite-prefix">Pokud ji to nepatri, jde se dal, jinak
se posle odpoved, pokud to propadne, posle se chybovy kod.</div>
<div class="moz-cite-prefix">Nemusi byt registry jako nejake proste
pole v pameti, ale daji se tim padem ruzne sestavovat z
posbiranych hodnot nebo naopak pri zapisu ruzne rozstrkat.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Jinak uz jsem potkal hodne implementaci
vice ci mene zprasenych, nekde nesly cit nektere sekvence za sebou
umistenych registru, ale tak nejak ruzne, nekdo mel rozstrkane
registry, ktere by bylo vhodne cist hromadne s mezerama, ktere
tomu branily atd... Malo co je dokonale.<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<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>
<p><br>
</p>
</body>
</html>