Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19002660 Modbus TCP Master Write

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

    #16
    wolfib

    Ich würde mit dem Baustein gerne meinen SMA WR ansteuern.

    SMA benötigt diese Formate (aus der Doku 19001586 kopiert) saegefisch hat die Formate in seinem Modbus Read Baustein mit drin.

    Code:
    <b>int16</b> : -32.768..32.767 (0x8000..0x7FFF)                            (SMA-Pendant: S16)
    <b>unit16</b>: 0..65535 (0x0..0xFFFF)                                    (SMA-Pendant: U16)
    <b>int32</b> : -2.147.483.648..2.147.483.647 (0x80000000..0x7FFFFFFF)    (SMA-Pendant: S32)
    <b>uint32</b>: 0..4.294.967.295 (0x0..0xFFFFFFFF)                        (SMA-Pendant: U32)
    <b>int64</b> : -9.223.372.036.854.775.808..9.223.372.036.854.775.807     (SMA-Pendant: S64)
    <b>uint64</b>: PHP-Fehler (PHP supports only up to 63-bit signed integers) -> stattdessen int64 nutzen! (SMA-Pendant: U64)
    <b>string_xx</b>: z.B. "<b>string_32</b>" (SMA-Pendant: STR32)​
    Ist es möglich diese Formate auch in deinen Baustein mit einzufügen?

    Kommentar


      #17
      Hallo,
      die verwendete phpmodbus Bibliothek unterstützt beim Schreiben nur folgende Datentypen:
      • INT (Integer, 16 Bit)
      • DINT (Double Integer, 32 Bit)
      • REAL (Floating Point Type REAL, 32 Bit)
      Andere Datentypen können übertragen werden indem die Werte vorher entsprechend aufbereitet werden. Z.B. 64bit Wert in zwei 32bit Werte aufteilen.
      LG

      Kommentar


        #18
        Hallo,

        ab der neuen Version 0.21 wird statt Function Code 06 der Function Code 16 verwendet. Bitte um Rückmeldung falls es dadurch zu Problemen kommt.

        LG Wolfgang

        Kommentar


          #19
          Servus Michael85, hast du es geschaft den SMA WR anzusteuern? Steh grade vor der gleichen Herausforderung.

          Edit: funktioniert jetzt, keine Hilfe mehr notwendig.
          Zuletzt geändert von Sonnengruesser; 13.06.2025, 23:04.

          Kommentar


            #20
            Moin,

            entschuldige die späte Rückmeldung.

            Ich habe mich da nicht weiter mit beschäftigt, da ich meinen Funktionsumfang über EVCC (Software zum smarten E-Auto laden) lösen konnte.

            Hast du die Änderung in dem Baustein gemacht? Oder auch über Umwege?

            Gruß Michael

            Kommentar


              #21
              Hab ihn letzte Woche zum Laufen gebracht mit 2 kleinen Modifikationen:
              Little/Big Endian wird jetzt berücksichtigt (braucht man für SMA) und Wechsel auf FC16 (write multiple registers).

              Kommentar


                #22
                Wenn du mir die Änderungen übermittelst dann nehme ich sie in meinen LBS auf.

                Kommentar


                  #23
                  das ist nicht viel:
                  die Zeile mit endianness ergänzt:
                  Code:
                      $modbus = new ModbusMaster ......
                      $modbus -> endianness = $E[7]['value'];​
                  und ein paar Zeilen darunter die Kommentare bei FC6 und FC16 geändert

                  Kommentar

                  Lädt...
                  X