Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19000163: Betriebsstatus auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS19000163: Betriebsstatus auslesen

    Hallo zusammen,

    ich richte gerade den LBS19000163, die Schnittstelle zur ISG, ein. Ich habe eine LWZ 504 Trend, daher fiel die Auswahl auf diesen LBS. Vielen Dank an benji für die viele Arbeit an dem LBS!

    Soweit funktioniert alles super und ich habe schon einige Werte erfolgreich abfragen können.

    Ich scheitere allerdings gerade daran, den Betriebsstatus auszulesen und in einzelne Bits aufzutrennen. Ich habe bereits den LBS1901114 Doppel-Status-Byte-Auswerter ausprobiert. Das Ergebnis sieht so aus:
    image.png
    Wie ihr seht, werden alle Bits als 1 angezeigt. Das stimmt aber leider nicht. Was mache ich falsch?

    Aus der ISG Modbus-Doku habe ich herausgelesen, dass es 15 Bits gibt:
    image.png​Allerdings hat der eingehende Wert nur 11 Bits. Hab ich mich da irgendwie vertan?

    Vielen Dank schon im Voraus für eure Hilfe!
    Zuletzt geändert von Schnapsdrossel; 11.12.2023, 23:49.

    #2
    Wenn ich mir den LBS 19001114 anschaue, dann gibt er an den Ausgängen A1 bis A16 nur 0 oder 1 aus.
    Am Ausgang A16 findest Du die von Dir erhoffte String-Ausgabe; allerdings als Stringkette, die Du dann noch weiterverarbeiten musst.

    Kommentar


      #3
      Danke für die Rückmeldung!

      Ich will ja die Ausgabe als 0 oder 1 und nicht als String. Und wie man sieht sind alle Bits 1 obwohl der Eingang auch einige 0 enthält...

      Kommentar


        #4
        Zitat von Schnapsdrossel Beitrag anzeigen
        Und wie man sieht sind alle Bits 1 obwohl der Eingang auch einige 0 enthält...
        Ich denke an E1 wird ein Doppelbyte in Form eines Dezimalwertes (0-65535) erwartet. In deinem Fall wäre das 1029 statt 10000000101.

        Kommentar


          #5
          Der LBS1900163 gibt halt Binary aus:
          $ret=PhpType::bytes2signedInt($recData, $endianness);
          setLogicLinkAusgang($id, 69, decbin($ret));​
          Wenn Du den Ausdruck
          decbin()
          löschst, dann sollte es (bis zum nächsten Update des LBS) funktionieren.

          Oder Du packst den LBS19001127 dazwischen.

          ​Ich habe gerade noch einen gnaz simplen WORD-to-Bit-Konverter LBS19002382 online gestellt. Den benutze ich zusammen mit dem Patch des LBS1900163 seit zwei Jahren problemlos.
          Zuletzt geändert von McJameson; 13.12.2023, 19:12.

          Kommentar


            #6
            McJameson: Vielen Dank für die schnelle und einfache Lösung! Hab das decbin entfernt und siehe da es läuft

            Kommentar

            Lädt...
            X