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