<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>