Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS: 19001030: Modbus TCP Master Read

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

    #16
    wenn ich an den inhalt der 4 Bytes kommen würde....
    das Komische ist wenn ich die modbus.php aufrufe (also das beispiel was du geschickt hast) und die var $recdata anzeigen lasse zeigt er auch nichts an erst nach dem konvertieren

    Kommentar


      #17
      Versuch mal in dem modbus.php die letzte echo Zeile durch das hier zu ersetzten:
      PHP-Code:
       print_r($recData); 
      Gruß
      Michael

      Kommentar


        #18
        PHP-Code:
        Array
        (
            [
        0] => 67
            
        [1] => 103
            
        [2] => 11
            
        [3] => 228

        ist die Antwort
        der ungefähre wert der rauskommen sollte wäre "231.04644775391"
        Ist die aktuelle netzspannung

        Kommentar


          #19
          Ist mir jetzt zu anstrengend alles durch zu lesen. Float hat bei mir so funktioniert:

          Code:
          $modbus = new ModbusMaster("192.168.2.45", "TCP");
          try {
          // FC 3 2x16-bit float
          $recData = $modbus->readMultipleRegisters(0, $v1, $v2);
          }
          catch (Exception $e) {
          exit;
          }
          $raw = (($recData[0] & 0xFF)<<24) | (($recData[1] & 0xFF)<<16) | (($recData[2] & 0xFF)<<8) | (($recData[3] & 0xFF));
          $ulong = pack('L*', $raw);
          $float = unpack('f*', $ulong);
          
          setLogicLinkAusgang($id,1,$float[1]);
          >>Smelly One<<
          >> BURLI <<
          Grüße Armin

          Kommentar


            #20
            Ok, neue Version 0.3 ist online. Das Umpacken hatte noch gefehlt... hatte ich glatt in PHPType übersehen.
            Danke Wago
            Gruß
            Michael

            Kommentar


              #21
              Check!
              Funktioniert

              Kommentar


                #22
                Sehr gut
                Dann mach ich es jetzt offiziell.

                Btw, rein interessehalber, was machst du eigendlich mit diesem Messgerät?
                Gruß
                Michael

                Kommentar


                  #23
                  Stromnetz Überwachen
                  nein nicht ganz also früher liefen verschieden locale webadressen eine auf der mir die Staten der USV angezeigt werden und noch eine auf der die werte von der Siemens gelaufen sind

                  und jetzt mit edomi ist das natürlich praktisch das man eine visu hat die man von überall einsehen kann mit allen werten
                  Heizung,USV,Stromnetz später folgt noch Status des Notstromaggregats (bin Elektroniker aus Leidenschaft ohne Strom und Spannung fühle ich mich einsam )
                  und dann soll irgendwann auch noch der automatische Lastabwurf bei Notstrom und der Automatische Monatliche Testlauf vom Notstromaggregat rein. Dafür muss ich aber noch etwas das Stromaggregat neuverkabeln.

                  Hier noch ein kleines Bild aber bei weitem noch nicht fertig.
                  edomivisu.jpg

                  Die Grenzen hab ich schonmal so gesetzt das es für das Notstromaggregat passt Grün okay Orangen Achtung und Rot Außerhalb des Gewünschten Bereichs

                  Kommentar


                    #24
                    Ok... hat ein bischen was von Reaktorschaltraum
                    Aber nicht schlecht, Visu basteln ist mir noch ein greul... bin eher der Programmierer als der Designer
                    Gruß
                    Michael

                    Kommentar


                      #25
                      Mit dem Designer hab ichs auch so nicht ich verkabel lieber die Aktoren und Programmiere die Aktoren
                      Die Visu ist eigt. nur das was eh mitgeliefert wird + die Icons ausm Forum die ich ein wenig bearbeitet hab um den Unterschied zwischen 1/0 kenntlich zu machen
                      heizung.jpg
                      so als kleines Beispiel links aus Rechts an

                      Und ja Reaktorschaltraum gefällt mir aber ziemlich gut.
                      Hab aber noch viel arbeit vor mir. aber trau dich ruhig dran wenn man angefangen hat machts süchtig

                      Kommentar


                        #26
                        Hallo Zusammen,

                        hat schon Jemand versucht die Daten von einen SMA Wechselrichter mit Speedwire/Webconnect so zu lesen?

                        Ich habe einen Sunnyboy 5000TL-21 der von Haus aus nur Bluetooth hat. Ich suche jetzt eine einfache und kostengünstige Lösung die aktuelle Erzeugung in Edomi zu bekommen. Das Nachrüstmodul gibts sehr günstig auf ebay und soweit ich die Doku überflogen habe wird Modbus umfänglich unterstützt.

                        Kommentar


                          #27
                          Hi, wenn es Modbus TCP also über IP Netzwerk ist dann sollte es gehen, da das ja ein Standard ist.
                          Der schwierige Teil dürfte sein die passenden Addressen / Registerdefinitionen zu bekommen.

                          Einfach mal ausprobieren, kaputt machen kann man mit dem Reader eigendlich nichts (wenn deren Software nicht komplett Müll ist )
                          Gruß
                          Michael

                          Kommentar


                            #28
                            Zitat von gulp2k Beitrag anzeigen
                            ...
                            Der schwierige Teil dürfte sein die passenden Addressen / Registerdefinitionen zu bekommen.

                            Einfach mal ausprobieren, kaputt machen kann man mit dem Reader eigendlich nichts (wenn deren Software nicht komplett Müll ist )
                            Die Modbus Register Adressen der SMA Wechselrichter sind dokumentiert und können im Downloadbereich von SMA frei herunter geladen werden.

                            Kommentar


                              #29
                              Danke euch.
                              Ich werde den Versuch wagen

                              Kommentar


                                #30
                                Hallo Zusammen, hab das Modul für meinen SMA 5000TL-21 jetzt drin und das Webportal läuft bereits. Modbus habe ich TCP und UPD aktiviert aber irgendwie will da noch nichts in Edomi ankommen, deshalb brauche ich jetzt Hilfe von den Profis.

                                Das sagt das Fehlerlog:
                                Code:
                                {EDOMI,CUSTOMLOG_ModBusMaster_Read-LBS19001030.htm,22.04.2017,21:42:01,580117,1866}
                                Zeitstempel    ms    PID    LogLevel    Meldung
                                2017-04-22 21:42:01    580034    1866    notice    EXE19001030 [v0.4]:    START ModbusMaster Daemon
                                2017-04-22 21:42:06    098120    1866    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:42:06    098253    1866    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:42:06    098349    1866    notice    EXE19001030 [v0.4]:    {"host":"192.168.178.65","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: a6c800000006000378370001\nSend\nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \n","timeout_sec":5,"endianness":0,"socket_protocol":"UDP"}
                                2017-04-22 21:42:06    098417    1866    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:42:06    098798    1866    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:42:06    098865    1866    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:42:06    098918    1866    notice    EXE19001030 [v0.4]:    {}
                                2017-04-22 21:42:06    098964    1866    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:42:07    101404    1866    notice    EXE19001030 [v0.4]:    STOP ModbusMaster Daemon
                                2017-04-22 21:48:23    840509    2117    notice    EXE19001030 [v0.4]:    START ModbusMaster Daemon
                                2017-04-22 21:48:23    909689    2117    notice    EXE19001030 [v0.4]:    File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 180 | Uninitialized string offset: 8
                                2017-04-22 21:48:23    910037    2117    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:48:23    910082    2117    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:48:23    910120    2117    notice    EXE19001030 [v0.4]:    {"host":"192.168.178.65","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: 77a600000006000378370001\nSend\nWait data ... \nData received\nPacket: 77a6000000030083\n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"}
                                2017-04-22 21:48:23    910151    2117    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:48:23    910332    2117    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:48:23    910372    2117    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:48:23    910398    2117    notice    EXE19001030 [v0.4]:    {}
                                2017-04-22 21:48:23    910420    2117    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:48:24    915303    2117    notice    EXE19001030 [v0.4]:    STOP ModbusMaster Daemon
                                2017-04-22 21:49:01    605565    2139    notice    EXE19001030 [v0.4]:    START ModbusMaster Daemon
                                2017-04-22 21:49:01    712215    2139    notice    EXE19001030 [v0.4]:    File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 180 | Uninitialized string offset: 8
                                2017-04-22 21:49:01    713217    2139    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:49:01    713346    2139    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:49:01    713535    2139    notice    EXE19001030 [v0.4]:    {"host":"192.168.178.65","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: 0b2300000006000375310001\nSend\nWait data ... \nData received\nPacket: 0b23000000030083\n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"}
                                2017-04-22 21:49:01    713658    2139    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:49:01    714313    2139    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:49:01    714500    2139    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:49:01    714587    2139    notice    EXE19001030 [v0.4]:    {}
                                2017-04-22 21:49:01    714675    2139    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:49:02    724334    2139    notice    EXE19001030 [v0.4]:    STOP ModbusMaster Daemon
                                2017-04-22 21:49:42    198071    2171    notice    EXE19001030 [v0.4]:    START ModbusMaster Daemon
                                2017-04-22 21:49:42    363910    2171    notice    EXE19001030 [v0.4]:    File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 180 | Uninitialized string offset: 8
                                2017-04-22 21:49:42    364681    2171    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:49:42    365263    2171    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:49:42    365390    2171    notice    EXE19001030 [v0.4]:    {"host":"192.168.178.65","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: bb1300000006000375310001\nSend\nWait data ... \nData received\nPacket: bb13000000030083\n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"}
                                2017-04-22 21:49:42    365490    2171    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:49:42    366177    2171    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:49:42    366305    2171    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:49:42    366393    2171    notice    EXE19001030 [v0.4]:    {}
                                2017-04-22 21:49:42    366466    2171    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:49:43    382899    2171    notice    EXE19001030 [v0.4]:    STOP ModbusMaster Daemon
                                2017-04-22 21:49:45    953526    2179    notice    EXE19001030 [v0.4]:    START ModbusMaster Daemon
                                2017-04-22 21:49:46    114619    2179    notice    EXE19001030 [v0.4]:    File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 180 | Uninitialized string offset: 8
                                2017-04-22 21:49:46    115739    2179    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:49:46    115902    2179    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:49:46    116033    2179    notice    EXE19001030 [v0.4]:    {"host":"192.168.178.65","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: c0f800000006000375310001\nSend\nWait data ... \nData received\nPacket: c0f8000000030083\n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"}
                                2017-04-22 21:49:46    116199    2179    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:49:46    116965    2179    notice    EXE19001030 [v0.4]:    Modbus Error:
                                2017-04-22 21:49:46    117135    2179    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT START ================
                                2017-04-22 21:49:46    117244    2179    notice    EXE19001030 [v0.4]:    {}
                                2017-04-22 21:49:46    117324    2179    notice    EXE19001030 [v0.4]:    ================ ARRAY/OBJECT END ================
                                2017-04-22 21:49:47    120372    2179    notice    EXE19001030 [v0.4]:    STOP ModbusMaster Daemon
                                Screenshot:
                                2017-04-22 22_07_29-.png

                                Ich bin mir nicht sicher ob die Angaben in E10 und E11 stimmen. Die Doku des Herstellers ist hier (Pdf ab S. 13).

                                Die modbus.php habe ich auch mal versucht, mit folgendem Ergebnis:
                                Code:
                                [root@EDOMI php]# php -n modbus.php
                                <pre>readMultipleRegisters: START
                                Connected
                                Packet: d56e00000006000375310001
                                Send
                                Wait data ...
                                Data received
                                Packet: d56e000000030083
                                </pre>exception 'Exception' with message 'Modbus response error code: 0 (UNDEFINED FAILURE CODE)' in /usr/local/edomi/main/include/php/ModbusMaster.php:199
                                Stack trace:
                                #0 /usr/local/edomi/main/include/php/ModbusMaster.php(503): ModbusMaster->responseCode('?n??????')
                                #1 /usr/local/edomi/main/include/php/ModbusMaster.php(439): ModbusMaster->readMultipleRegistersParser('?n??????')
                                #2 /usr/local/edomi/main/include/php/modbus.php(11): ModbusMaster->readMultipleRegisters(0, 30001, 1)
                                Ich weiß grad nicht wo ich anfangen soll zu suchen?

                                Kommentar

                                Lädt...
                                X