Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Dezimal nach Binär wandeln

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Dezimal nach Binär wandeln

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Roelli last edited by

      Kurze Fassung:
      Wie wandelt man Dezimal nach Binär um und schreibt alle Binärwerte in jeweils einen Datenpunkt? (die ersten 16 Bits)

      Lange Fassung:
      Ich habe da so eine USV mit Netzwerkschnittstelle. Die liefert die Daten nur als dezimalen Wert. (modbus)
      Ich würde daraus gerne "true/false Datenpunkte" machen.

      Bin aber nicht schlau genug. 😞

      Das hier bekomme ich z.B. als Wert geliefert:
      128733632

      Mit diesem Konverter kann ich's umwandeln:
      https://www.binaryhexconverter.com/decimal-to-binary-converter?fbclid=IwAR3koViEI4HrK-_bqrx6nChQuelp6IFqb3ZAfMr-bDt0e_A3VbwF1Bd0aCk

      Das kommt dabei heraus:
      0111101011000101000111000000

      (wobei ich nicht genau weis wo da vorne ist...)
      Wenn die erste Stelle dann "Test läuft" ist, dann könnten das die richtigen Werte sein.

      So sieht die Tabelle von der USV aus:
      modbus1.jpg

      Aber wie geht's mit Blockly?
      Kompliziert! 🙂

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Roelli last edited by mickym

        @roelli Nachdem ich das zufällig schon mal gemacht habe hier:

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="Ybteeq@t7}f3]](%G~9n">dec</variable>
          </variables>
          <block type="procedures_defcustomreturn" id="hi*WC8]:f}~Xb1{U!{~V" x="138" y="-12">
            <mutation statements="false">
              <arg name="dec" varid="Ybteeq@t7}f3]](%G~9n"></arg>
            </mutation>
            <field name="NAME">dec2bin</field>
            <field name="SCRIPT">cmV0dXJuIHBhcnNlSW50KGRlYywxMCkudG9TdHJpbmcoMikucGFkU3RhcnQoOCwwKTs=</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          </block>
          <block type="debug" id="RO0SC~#+7MY[;CV4x=$-" x="138" y="63">
            <field name="Severity">log</field>
            <value name="TEXT">
              <shadow type="text" id="BqZ%gpG@#tm|uArS2qoO">
                <field name="TEXT">test</field>
              </shadow>
              <block type="procedures_callcustomreturn" id="sdMH}cT2YwN!-dcAaact">
                <mutation name="dec2bin">
                  <arg name="dec"></arg>
                </mutation>
                <value name="ARG0">
                  <block type="text" id="_nnoLyakdS3^Zxt@^wT0">
                    <field name="TEXT">56</field>
                  </block>
                </value>
              </block>
            </value>
          </block>
        </xml>
        

        69aebace-005f-4106-a353-8a3bd0536de5-image.png

        Funktioniert auch mit Zahlen:

        593b51bd-5417-4f57-b4bd-0cfb7bae1d5a-image.png

        Wenn Du 32Bit als Ausgabe brauchst - dann änderst Du halt das padding von 8 auf 32. Also einfach die Funktion in:

        return parseInt(dec,10).toString(2).padStart(32,0);
        

        ändern, dann kommt das raus:

        cd938f8b-5430-4b1a-89cd-a160e35ab30d-image.png

        Aber ansonsten helfen Dir sicher die Blockly Gurus weiter - ich gehöre ja der anderen Fangemeinde an. 😉

        1 Reply Last reply Reply Quote 1
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        769
        Online

        32.0k
        Users

        80.5k
        Topics

        1.3m
        Posts

        2
        2
        198
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo