Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Umwandlung BIN in DEC

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Umwandlung BIN in DEC

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 3 Kommentatoren 418 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S stefancammans

    Umwandlung BIN in DEC

    Hallo Zusammen,

    wie kann ich mehrere Binäre Datenpunkte zusammenfassen( DEC) und per MODBUS
    übertragen ?

    MfG

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #3

    @stefancammans sagte:

    mehrere Binäre Datenpunkte zusammenfassen

    Binäre (0/1) oder boolsche (false/true) Datenpunkte ?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    S 1 Antwort Letzte Antwort
    0
    • F fastfoot

      @stefancammans sagte in Umwandlung BIN in DEC:

      Umwandlung BIN in DEC

      Hallo Zusammen,

      wie kann ich mehrere Binäre Datenpunkte zusammenfassen( DEC) und per MODBUS
      übertragen ?

      MfG

      meinst Du so etwas?

      let a = '100';
      let b = '001';
      let c = parseInt(a | b,2);
      log(c);
      
      S Offline
      S Offline
      stefancammans
      schrieb am zuletzt editiert von
      #4

      @fastfoot

      so ähnlich...

      ich möchte mehrere Bool-VAR in ein MODBUS-Register übergeben,
      um die Variabel in der Wago-SPS als Tast-befehle zu nutzen.

      So sähe das in Codesys aus :
      Beispiel BIT TO WORD.PNG
      Beispiel BIT TO WORD 2.PNG

      1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @stefancammans sagte:

        mehrere Binäre Datenpunkte zusammenfassen

        Binäre (0/1) oder boolsche (false/true) Datenpunkte ?

        S Offline
        S Offline
        stefancammans
        schrieb am zuletzt editiert von
        #5

        @paul53

        ist mir eingenlich egal.
        Der Tasterbefehl kommt aus der VISU vom iobroker.
        Aber 0 & 1 ist denke ich einfacher.

        MfG

        paul53P 1 Antwort Letzte Antwort
        0
        • S stefancammans

          @paul53

          ist mir eingenlich egal.
          Der Tasterbefehl kommt aus der VISU vom iobroker.
          Aber 0 & 1 ist denke ich einfacher.

          MfG

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #6

          @stefancammans sagte:

          0 & 1 ist denke ich einfacher.

          Das muss man nicht in eine Zahl wandeln. Im folgenden Beispiel enthält der Variablenname die Bitposition.

          let dec = a0 | a1 << 1 | a2 << 2 | a3 << 3
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          S 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @stefancammans sagte:

            0 & 1 ist denke ich einfacher.

            Das muss man nicht in eine Zahl wandeln. Im folgenden Beispiel enthält der Variablenname die Bitposition.

            let dec = a0 | a1 << 1 | a2 << 2 | a3 << 3
            
            S Offline
            S Offline
            stefancammans
            schrieb am zuletzt editiert von
            #7

            @paul53

            let modbus_Helper = a0 | 'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2' << 1 |
            'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3' << 2 |
            'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4' << 3 ;

            setState('modbus.0.holdingRegisters.12310' ,modbus_Helper )

            irgendwie bekomme ich das nicht hin....

            paul53P 1 Antwort Letzte Antwort
            0
            • S stefancammans

              @paul53

              let modbus_Helper = a0 | 'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2' << 1 |
              'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3' << 2 |
              'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4' << 3 ;

              setState('modbus.0.holdingRegisters.12310' ,modbus_Helper )

              irgendwie bekomme ich das nicht hin....

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #8

              @stefancammans
              Datenpunkt-IDs sind keine binären Werte sondern Strings.

              let a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
              let a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
              let a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
              let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
              setState('modbus.0.holdingRegisters.12310', modbus_Helper);
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              S 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @stefancammans
                Datenpunkt-IDs sind keine binären Werte sondern Strings.

                let a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
                let a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
                let a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
                let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
                setState('modbus.0.holdingRegisters.12310', modbus_Helper);
                
                S Offline
                S Offline
                stefancammans
                schrieb am zuletzt editiert von
                #9

                @paul53

                Das funktioniert schon mal super.

                aber wie sorge ich jetzt dafür das es bei Wertänderung ausgeführt wird?

                paul53P 1 Antwort Letzte Antwort
                0
                • S stefancammans

                  @paul53

                  Das funktioniert schon mal super.

                  aber wie sorge ich jetzt dafür das es bei Wertänderung ausgeführt wird?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #10

                  @stefancammans sagte:

                  bei Wertänderung ausgeführt wird?

                  var a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
                  var a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
                  var a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
                  
                  function bin2dec() {
                     let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
                     setState('modbus.0.holdingRegisters.12310', modbus_Helper);
                  }
                  
                  bin2dec(); // Script start
                  
                  on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2', function(dp) {
                    a2 = dp.state.val;
                    bin2dec();
                  });
                  on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3', function(dp) {
                    a3 = dp.state.val;
                    bin2dec();
                  });
                  on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4', function(dp) {
                    a4 = dp.state.val;
                    bin2dec();
                  });
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  S 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @stefancammans sagte:

                    bei Wertänderung ausgeführt wird?

                    var a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
                    var a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
                    var a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
                    
                    function bin2dec() {
                       let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
                       setState('modbus.0.holdingRegisters.12310', modbus_Helper);
                    }
                    
                    bin2dec(); // Script start
                    
                    on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2', function(dp) {
                      a2 = dp.state.val;
                      bin2dec();
                    });
                    on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3', function(dp) {
                      a3 = dp.state.val;
                      bin2dec();
                    });
                    on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4', function(dp) {
                      a4 = dp.state.val;
                      bin2dec();
                    });
                    
                    S Offline
                    S Offline
                    stefancammans
                    schrieb am zuletzt editiert von
                    #11

                    @paul53

                    Super vielen Dank !!!
                    Da wäre ich nie drauf gekommen.

                    Es geht genau so wie ich es mir vorgestellt habe.
                    Danke !!

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • S stefancammans

                      @paul53

                      Super vielen Dank !!!
                      Da wäre ich nie drauf gekommen.

                      Es geht genau so wie ich es mir vorgestellt habe.
                      Danke !!

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #12

                      @stefancammans sagte:

                      genau so wie ich es mir vorgestellt habe.

                      Dann markiere bitte das Thema in der Überschrift des ersten Beitrags als [gelöst].

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      822

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe