<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">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">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">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">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">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">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">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">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">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">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">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">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>