Kannst du mal bitte den Log level auf 8 setzten und das Ergebniss posten?
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS: 19001030: Modbus TCP Master Read
Einklappen
X
-
Zitat von gulp2k Beitrag anzeigenKannst du mal bitte den Log level auf 8 setzten und das Ergebniss posten?
Code:[TABLE="border: 0, cellpadding: 0, cellspacing: 0"] [TR] [TD="colspan: 5"]{EDOMI,CUSTOMLOG_ModBusMaster_Read-LBS19001030.htm,22.04.2017,23:31:20,453602,5885}[/TD] [/TR] [TR] [TD]Zeitstempel[/TD] [TD]ms[/TD] [TD]PID[/TD] [TD]LogLevel[/TD] [TD]Meldung[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]453485[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: START ModbusMaster Daemon[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]455828[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: v3:9[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]456358[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: inputs:[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]456410[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: ================ ARRAY/OBJECT START ================[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]456448[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: ["9"][/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]456474[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: ================ ARRAY/OBJECT END ================[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]457043[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: i:0[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]457578[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: input:9[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]457967[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: address:30001[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495371[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 180 | Uninitialized string offset: 8[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495628[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: Modbus Error:[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495666[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: ================ ARRAY/OBJECT START ================[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495702[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: {"host":"192.168.178.65","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: a01000000006000375310001\nSend\nWait data ... \nData received\nPacket: a010000000030083\n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"}[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495734[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: ================ ARRAY/OBJECT END ================[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495912[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: Modbus Error:[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495943[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: ================ ARRAY/OBJECT START ================[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495968[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: {}[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]495990[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: ================ ARRAY/OBJECT END ================[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]496161[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: Retries:0[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]496385[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: Looping:false[/TD] [/TR] [TR] [TD]2017-04-22 23:31:20[/TD] [TD]496963[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: Delay:1000[/TD] [/TR] [TR] [TD]2017-04-22 23:31:21[/TD] [TD]498644[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: end of delay[/TD] [/TR] [TR] [TD]2017-04-22 23:31:21[/TD] [TD]500137[/TD] [TD]5885[/TD] [TD]debug[/TD] [TD]EXE19001030 [v0.4]: STOP ModbusMaster Daemon[/TD] [/TR] [/TABLE]
Kommentar
-
Also so bekomme ich über den QModbusMaster meine aktuelle Energieproduktion:
2017-04-23 11_19_47-Modbus Master.png
Ich weis nur noch nicht ganz welche Werte ich nun in E10 und E11 angeben muss damit aus dem LBS Werte bekomme...
Kommentar
-
http://en.radzio.dxp.pl/modbus-master-simulator/
Probier mal die software aus da kann mans genauer einstellen um die werte rauszubekommen
Kommentar
-
gulp2k
Funtkioniert der Modbus-Adapter! Danke!
Ein Problem hab ich jedoch:
Mein Fronius Wechselrichter benutzt teilweise uint64 (http://www.fronius.com/Applikationen...aspx?id=361552) z.B. Adresse 510.
Damit scheint er noch nicht zurecht zu kommen?! Der LBS bleibt einfach stehen.
Hast du da ne Idee?
Gruß,
Christian
Kommentar
-
Zitat von Peterich Beitrag anzeigenhttp://en.radzio.dxp.pl/modbus-master-simulator/
Probier mal die software aus da kann mans genauer einstellen um die werte rauszubekommen
Zitat von gulp2k Beitrag anzeigenbin grad nicht vor dem PC, aber versuchs mal mit der SlaveID 3. zumindest scheint es so in dem Screenshot von dir zu sein.
Code:{EDOMI,CUSTOMLOG_ModBusMaster_Read-LBS19001030.htm,24.04.2017,11:03:22,908931,9096} Zeitstempel ms PID LogLevel Meldung 2017-04-24 11:03:22 908843 9096 debug EXE19001030 [v0.4]: START ModbusMaster Daemon 2017-04-24 11:03:22 910933 9096 debug EXE19001030 [v0.4]: v3:9 2017-04-24 11:03:22 911884 9096 debug EXE19001030 [v0.4]: inputs: 2017-04-24 11:03:22 911946 9096 debug EXE19001030 [v0.4]: ================ ARRAY/OBJECT START ================ 2017-04-24 11:03:22 911982 9096 debug EXE19001030 [v0.4]: ["9"] 2017-04-24 11:03:22 912056 9096 debug EXE19001030 [v0.4]: ================ ARRAY/OBJECT END ================ 2017-04-24 11:03:22 913311 9096 debug EXE19001030 [v0.4]: i:0 2017-04-24 11:03:22 913903 9096 debug EXE19001030 [v0.4]: input:9 2017-04-24 11:03:22 914660 9096 debug EXE19001030 [v0.4]: address:30775 2017-04-24 11:03:23 068598 9096 debug EXE19001030 [v0.4]: File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 506 | Uninitialized string offset: 12 2017-04-24 11:03:23 069168 9096 debug EXE19001030 [v0.4]: Status:<pre>readMultipleRegisters: START[LF]Connected[LF]Packet: 5e7000000006030378370002[LF]Send[LF]Wait data ... [LF]Data received[LF]Packet: 5e700000000703030400000b[LF]Modbus response error code: NOERROR[LF]Disconnected[LF]readMultipleRegisters: DONE[LF]</pre> 2017-04-24 11:03:23 069433 9096 debug EXE19001030 [v0.4]: Type:0 2017-04-24 11:03:23 069650 9096 debug EXE19001030 [v0.4]: Data:184549376 2017-04-24 11:03:23 070117 9096 debug EXE19001030 [v0.4]: Looping:false 2017-04-24 11:03:23 070895 9096 debug EXE19001030 [v0.4]: Delay:1000 2017-04-24 11:03:24 075366 9096 debug EXE19001030 [v0.4]: end of delay 2017-04-24 11:03:24 077449 9096 debug EXE19001030 [v0.4]: STOP ModbusMaster Daemon
2017-04-24 11_05_46-LBS_ 19001030_ Modbus TCP Master Read - KNX-User-Forum.png
2017-04-24 11_06_35-Bus Monitor.png
In der Herstellerdoku steht das es ein Vorzeichenbehaftetes Doppelwort (S32) sein soll, also Typ Int (E11 = 0), richtig?
Und entspricht E10 (the length of data) den "Number of Registers"?
Ich habe bemerkt das wenn ich bei "Number of Registers" nur 1 angebe ein Fehler kommt, wenn ich aber mit Adresse 30776 starte und die 1 lasse wird 65535 ausgegeben (erwartet hätte ich wieder die 2814).
Kommentar
-
Hi, ich bin grad am Umbauen des Bausteins weil er bei mir manchmaletwas zickt. Hängt aber anscheinend eher mit der Gegenstelle zusammen als mit dem LBS selbst.
Ich bin leider kein ModBus Experte aber ein paar Sachen sind mir bei meinen eigenen Experimenten aufgefallen:
1. Die Start Addresse ist ist nicht immer die die in der Doku steht. Mal mit Addresse +-1 Experimentieren...
Das hängt mit der Zählweise zusammen das Low Level eigendlich bei 0 angefangen wird und das oft nicht korrekt in der Firmware umgesetzt wurde. Bei mir hat es meistens mit Addresse -1 funktioniert.
2. Je nach System ist auch die Bytereihnfolge wichtig (Endianess). Wenn als Ergebniss immer riesige Zahlen kommen das mal umdrehen.
hx5 Was mir auch gerade auffällt ist das du Funktion 3 - Read Holding Register nutzt, ich hab aber bis jetzt nur Read Multiple Registers implementiert. Bin mir nicht sicher ob das das gleiche ist...Gruß
Michael
Kommentar
-
Zitat von crushervx Beitrag anzeigengulp2k
Funtkioniert der Modbus-Adapter! Danke!
Ein Problem hab ich jedoch:
Mein Fronius Wechselrichter benutzt teilweise uint64 (http://www.fronius.com/Applikationen...aspx?id=361552) z.B. Adresse 510.
Damit scheint er noch nicht zurecht zu kommen?! Der LBS bleibt einfach stehen.
Hast du da ne Idee?
Gruß,
Christian
Bist du sicher das du so große Werte überhaupt zurück erwartest? Fall nicht kannst du mal versuchen die Address +2 und Length =2 dann bekommst du halt nur einen uinit32 aber vielleicht reichts ja...Gruß
Michael
Kommentar
-
Zitat von gulp2k Beitrag anzeigen2. Je nach System ist auch die Bytereihnfolge wichtig (Endianess). Wenn als Ergebniss immer riesige Zahlen kommen das mal umdrehen.
..
Hat das evtl. was mit der Bytereihenfolge zu tun?
Habe dafür noch zu wenig Verständnis.
Kommentar
-
Hab die neuste Version des LBS hochgeladen. Mal mit dieser testen und bei Loglevel 8 eingeben.
Aber nicht als Loop laufen lassen sonst wächst das log gaaanz schnell
hx5 Du kannst im Code V4 auf 1 setzten und mal schauen was passiert.
Bis jetzt hab ich die Endianess Option nicht als Eingang konfiguriert...Gruß
Michael
Kommentar
-
Zitat von gulp2k Beitrag anzeigenhx5 Du kannst im Code V4 auf 1 setzten ...
Bei der neuen Version lässt sich bei mir das looping nicht deaktivieren / es läuft ständig ein Timer:
2017-04-24 16_52_31-EDOMI · Administration.png
Kommentar
-
gerne:
Code:{EDOMI,CUSTOMLOG_ModBusMaster_Read-LBS19001030.htm,24.04.2017,21:30:36,157264,11128} Zeitstempel ms PID LogLevel Meldung 2017-04-24 21:30:36 157150 11128 debug EXE19001030 [v0.5]: START ModbusMaster Exec 2017-04-24 21:30:36 159585 11128 debug EXE19001030 [v0.5]: v3:9;13;17 2017-04-24 21:30:36 160168 11128 debug EXE19001030 [v0.5]: inputs: 2017-04-24 21:30:36 160218 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================ 2017-04-24 21:30:36 160263 11128 debug EXE19001030 [v0.5]: ["9","13","17"] 2017-04-24 21:30:36 160348 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================ 2017-04-24 21:30:36 161021 11128 debug EXE19001030 [v0.5]: Memory before New ModBusMaster: 2016544 2017-04-24 21:30:36 161633 11128 debug EXE19001030 [v0.5]: Memory after New ModBusMaster: 2017952 2017-04-24 21:30:36 162074 11128 debug EXE19001030 [v0.5]: i:0; input:9; address:30775; length:2; type:0 2017-04-24 21:30:36 327810 11128 debug EXE19001030 [v0.5]: File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 506 | Uninitialized string offset: 12 2017-04-24 21:30:36 328165 11128 debug EXE19001030 [v0.5]: Memory after Read: 2019848 2017-04-24 21:30:36 328394 11128 debug EXE19001030 [v0.5]: Status:<pre>readMultipleRegisters: START[LF]Connected[LF]Packet: bb0700000006030378370002[LF]Send[LF]Wait data ... [LF]Data received[LF]Packet: bb0700000007030304800000[LF]Modbus response error code: NOERROR[LF]Disconnected[LF]readMultipleRegisters: DONE[LF]</pre> 2017-04-24 21:30:36 328591 11128 debug EXE19001030 [v0.5]: Type:0Raw Data: 2017-04-24 21:30:36 328625 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================ 2017-04-24 21:30:36 328654 11128 debug EXE19001030 [v0.5]: [128,0,0,0] 2017-04-24 21:30:36 328717 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================ 2017-04-24 21:30:36 328917 11128 debug EXE19001030 [v0.5]: Data:32768 2017-04-24 21:30:36 329359 11128 debug EXE19001030 [v0.5]: i:1; input:13; address:30533; length:1; type:0 2017-04-24 21:30:36 477611 11128 debug EXE19001030 [v0.5]: File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 8 | Line: 180 | Uninitialized string offset: 8 2017-04-24 21:30:36 477957 11128 debug EXE19001030 [v0.5]: Modbus Error: 2017-04-24 21:30:36 478004 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================ 2017-04-24 21:30:36 478049 11128 debug EXE19001030 [v0.5]: {"host":"192.168.178.65","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: 591300000006030377450001\nSend\nWait data ... \nData received\nPacket: 5913000000030383\n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"} 2017-04-24 21:30:36 478080 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================ 2017-04-24 21:30:36 478327 11128 debug EXE19001030 [v0.5]: Modbus Error: 2017-04-24 21:30:36 478363 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================ 2017-04-24 21:30:36 478389 11128 debug EXE19001030 [v0.5]: {} 2017-04-24 21:30:36 478411 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================ 2017-04-24 21:30:36 478585 11128 debug EXE19001030 [v0.5]: Retries:0 2017-04-24 21:30:36 478761 11128 debug EXE19001030 [v0.5]: Memory in error: 2027184 2017-04-24 21:30:36 478790 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================ 2017-04-24 21:30:36 478815 11128 debug EXE19001030 [v0.5]: 4 2017-04-24 21:30:36 478835 11128 debug EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================ 2017-04-24 21:30:36 479602 11128 debug EXE19001030 [v0.5]: end of delay 2017-04-24 21:30:36 480431 11128 debug EXE19001030 [v0.5]: Memory at End: 2025376 2017-04-24 21:30:36 480632 11128 debug EXE19001030 [v0.5]: STOP ModbusMaster EXEC 2017-04-24 21:30:41 150088 11162 debug EXE19001030 [v0.5]: START ModbusMaster Exec
Kommentar
-
Hm, das mit dem Loop ist tatsächlich ein Bug vom Refactoring, da ich nur Loop nutze ist mir das gar nicht aufgefallen.
Einfach mal folgende Zeile durch ersetzten dann sollte es gehen:
PHP-Code:logic_setState($id,1,$delay);
PHP-Code:if ($loop=1){
logic_setState($id,1,$delay);
}
1. Die Fehler die aus ModbusMaster.php kommen, das sollte eigendlich nicht passieren.
2. Es sieht so aus als ob du 3 Eingänge konfiguriert hast aber nur bein ersten kommt was zurück, der 2. Läuft in einen Fehler und der 3. wird gar nicht richtig angezogen...
Falls die anderen Eingänge nicht genutzt werden, dann mal bitte E13 und E17 zurücksetzten.
Es währe noch hilfreich wenn du mal Zeitgleich den "richtigen" Wert protokolieren (zumindest nährungsweise) damit man sieht ob was bei der Kodierung falsch läuft oder schon die Werte falsch ausgelesen werden.
Gruß
Michael
Kommentar
Kommentar