NEWS
Modbus Abfrage
-
so, fast 5 Monate rum und die Chinesen wissen nicht wie ihre eigenen Geräte funktionieren.
durch Zufall raus bekommen, dass die Kiste 2 Modbus-Ports hat.
- einen für den SDM630 (Zähler). Der spricht auch nur mit dem!
- einen wo das W-Lan-Modul dran steckt.
Also muss man das W-Lan-Modul abziehen um an Modbus-Daten zu kommen.
nach langem Probieren habe ich Daten auslesen können.
Nun zur Frage:
Warum geht das mit dem Adapter nicht?hier meine Einstellungen im Adapter:

und hier noch die vom Register (das Bild im Bild ist ein Programm mit dem das Auslesen geht):

Also mit "Simply Modbus TCP Client" geht es, mit dem Adapter nicht.
Log:
modbus.2 2023-04-16 12:00:20.288 debug Cleaning up request fifo. modbus.2 2023-04-16 12:00:20.287 debug Socket closed with error modbus.2 2023-04-16 12:00:20.260 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason modbus.2 2023-04-16 12:00:20.260 debug Plugin sentry destroyed modbus.2 2023-04-16 12:00:20.259 info terminating modbus.2 2023-04-16 12:00:20.258 debug Closing client on purpose. modbus.2 2023-04-16 12:00:20.258 info Got terminate signal TERMINATE_YOURSELF modbus.2 2023-04-16 12:00:17.404 warn Poll error count: 2 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.2 2023-04-16 12:00:17.403 debug Received pdu describes an error. modbus.2 2023-04-16 12:00:16.955 debug [DevID_1/holdingRegs] Poll address 50801 - 1 registers modbus.2 2023-04-16 12:00:16.955 debug [DevID_1] Poll start --------------------- modbus.2 2023-04-16 12:00:11.904 warn Poll error count: 1 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.2 2023-04-16 12:00:11.903 debug Received pdu describes an error. modbus.2 2023-04-16 12:00:11.651 debug [DevID_1/holdingRegs] Poll address 50801 - 1 registers modbus.2 2023-04-16 12:00:11.651 debug Initialization of scale factors done! modbus.2 2023-04-16 12:00:11.650 debug [DevID_1] Poll start --------------------- modbus.2 2023-04-16 12:00:11.650 info Connected to slave 192.168.3.133 modbus.2 2023-04-16 12:00:11.505 debug Add holdingRegisters.1.50801_PV_String_1_Spannung: {"_id":"holdingRegisters.1.50801_PV_String_1_Spannung","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"V"},"native":{"regType":"holdingRegs","address":50801,"deviceId":1,"type":"int16be","len":1,"offset":40001,"factor":10,"poll":true}} modbus.2 2023-04-16 12:00:11.505 debug Initialize Objects for holdingRegs: [{"_address":"50801","deviceId":1,"name":"PV String 1 Spannung","description":"","unit":"V","type":"int16be","len":1,"factor":10,"offset":40001,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","address":50801,"id":"holdingRegisters.1.50801_PV_String_1_Spannung"}] modbus.2 2023-04-16 12:00:11.504 debug Initialize Objects for inputRegs: [] modbus.2 2023-04-16 12:00:11.504 debug Initialize Objects for coils: [] modbus.2 2023-04-16 12:00:11.504 debug Initialize Objects for disInputs: [] modbus.2 2023-04-16 12:00:11.421 info starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v16.19.0, js-controller: 4.0.24 modbus.2 2023-04-16 12:00:11.263 info Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system modbus.2 2023-04-16 12:00:11.261 debug Plugin sentry Initialize Plugin (enabled=true)Ich sehe den Fehler leider nicht.
@lenny-cb sagte in Modbus Abfrage:
Also muss man das W-Lan-Modul abziehen um an Modbus-Daten zu kommen.
ich vermute mal dass dann Modbus TCP via WLAN zur Verfügung steht.
-
@lenny-cb sagte in Modbus Abfrage:
Also muss man das W-Lan-Modul abziehen um an Modbus-Daten zu kommen.
ich vermute mal dass dann Modbus TCP via WLAN zur Verfügung steht.
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
Also muss man das W-Lan-Modul abziehen um an Modbus-Daten zu kommen.
ich vermute mal dass dann Modbus TCP via WLAN zur Verfügung steht.
ja, so ist es.
ich vermute mal Folgendes:
das Modul kommt mit der Registernummer nicht klar.Warum denke ich das:
Beispiel: SDM630
wird mit Funktionscode 04 ausgelesen --> 30001-39999 --> Offset 30001
also (Register Bild) 30001- Offset (30001) = Adresse 0000
Geht mit dem Modbusmodul

Beispiel: Inverter
wird mit Funktionscode 03 ausgelesen --> 40001-49999 --> Offset 40001
also (Register Bild) 10501- Offset (40001) = kommt Müll raus, weil komisch beschrieben
Über einen Datenlogger gesehen:
Register 50502 wird abgefragt, also 50502-40001= 10501.
Da ist dann eben die Adresse gößer als die üblichen 9999 in einem Funktionscode, also größer 270E

Könnte meine Vermutung passen?
-
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
Also muss man das W-Lan-Modul abziehen um an Modbus-Daten zu kommen.
ich vermute mal dass dann Modbus TCP via WLAN zur Verfügung steht.
ja, so ist es.
ich vermute mal Folgendes:
das Modul kommt mit der Registernummer nicht klar.Warum denke ich das:
Beispiel: SDM630
wird mit Funktionscode 04 ausgelesen --> 30001-39999 --> Offset 30001
also (Register Bild) 30001- Offset (30001) = Adresse 0000
Geht mit dem Modbusmodul

Beispiel: Inverter
wird mit Funktionscode 03 ausgelesen --> 40001-49999 --> Offset 40001
also (Register Bild) 10501- Offset (40001) = kommt Müll raus, weil komisch beschrieben
Über einen Datenlogger gesehen:
Register 50502 wird abgefragt, also 50502-40001= 10501.
Da ist dann eben die Adresse gößer als die üblichen 9999 in einem Funktionscode, also größer 270E

Könnte meine Vermutung passen?
@lenny-cb steht da instantaneous data?
mal damit versucht? -
@homoran sagte in Modbus Abfrage:
instantaneous data
ja, 10800, 10801.... gehören mit zur "instantaneous data area"
geht nicht

kommt aber eine neue Fehlermeldung bzw. Warnung.
modbus.2 2023-04-16 14:52:21.090 warn Poll error count: 4 code: "ReadHoldingRegisters: Invalid FC 0" modbus.2 2023-04-16 14:52:21.060 warn Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of ange. It must be >= 0 and <= 11. Received 12 modbus.2 2023-04-16 14:52:20.641 debug [DevID_1/holdingRegs] Poll address 10800 - 4 registers modbus.2 2023-04-16 14:52:20.641 debug [DevID_1] Poll start --------------------- -
@homoran sagte in Modbus Abfrage:
instantaneous data
ja, 10800, 10801.... gehören mit zur "instantaneous data area"
geht nicht

kommt aber eine neue Fehlermeldung bzw. Warnung.
modbus.2 2023-04-16 14:52:21.090 warn Poll error count: 4 code: "ReadHoldingRegisters: Invalid FC 0" modbus.2 2023-04-16 14:52:21.060 warn Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of ange. It must be >= 0 and <= 11. Received 12 modbus.2 2023-04-16 14:52:20.641 debug [DevID_1/holdingRegs] Poll address 10800 - 4 registers modbus.2 2023-04-16 14:52:20.641 debug [DevID_1] Poll start ---------------------@lenny-cb sagte in Modbus Abfrage:
"ReadHoldingRegisters:
wo treibst du dich denn rum?
immer noch in den Holdingregistern?sind das nicht "diskrete Ein- oder Ausgänge"?
-
@lenny-cb sagte in Modbus Abfrage:
"ReadHoldingRegisters:
wo treibst du dich denn rum?
immer noch in den Holdingregistern?sind das nicht "diskrete Ein- oder Ausgänge"?
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
"ReadHoldingRegisters:
wo treibst du dich denn rum?
immer noch in den Holdingregistern?sind das nicht "diskrete Ein- oder Ausgänge"?
nein, ist alles Holding Register FC03.
Es werden in einer Schleife immer die selben Register abgefragt.
10000 --> 50000-50061 (62)
10500 --> 50500-50534 (35)
10700 --> 50700-50715 (16)
10800 --> 50800-50816 (17)
12000 --> 52000-52005 (6)
40700 --> 80700-80707 (8)hier mal ein Datenmitschnitt wenn man mit dem org. Diagnose-Tool des Herstellers abfragt:
Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10000 Number of Registers: 62 Parsed As: Address: 50000-50061 (62) CRC:53099 (OK) Packet 262: MODBUS Request (packet size: 129, data size: 125), 2023-04-16 18:26:18,1324920 +0,0001691 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:63775 (OK) Packet 264: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:19,0118781 +0,8793484 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10500 Number of Registers: 35 Parsed As: Address: 50500-50534 (35) CRC:19854 (OK) Packet 416: MODBUS Request (packet size: 75, data size: 71), 2023-04-16 18:26:19,5737223 +0,0000029 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:3086 (OK) Packet 418: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:20,0402869 +0,4665461 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10700 Number of Registers: 16 Parsed As: Address: 50700-50715 (16) CRC:35941 (OK) Packet 492: MODBUS Request (packet size: 37, data size: 33), 2023-04-16 18:26:20,5339410 +0,0000032 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:37498 (OK) Packet 494: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:21,0716168 +0,5376566 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10800 Number of Registers: 17 Parsed As: Address: 50800-50816 (17) CRC:36305 (OK) Packet 572: MODBUS Request (packet size: 39, data size: 35), 2023-04-16 18:26:21,5359289 +0,0000033 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:29514 (OK) Packet 574: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:22,1028002 +0,5668509 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 12000 Number of Registers: 6 Parsed As: Address: 52000-52005 (6) CRC:52502 (OK) Packet 608: MODBUS Request (packet size: 17, data size: 13), 2023-04-16 18:26:22,5131010 +0,0000030 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:34591 (OK) Packet 610: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:23,3681224 +0,8550030 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 40700 Number of Registers: 8 Parsed As: Address: 80700-80707 (8) CRC:43988 (OK) Packet 666: MODBUS Request (packet size: 27, data size: 23), 2023-04-16 18:26:23,5232212 +0,0000030 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:41613 (OK) Packet 670: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:24,5926422 +0,0777386 -
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
"ReadHoldingRegisters:
wo treibst du dich denn rum?
immer noch in den Holdingregistern?sind das nicht "diskrete Ein- oder Ausgänge"?
nein, ist alles Holding Register FC03.
Es werden in einer Schleife immer die selben Register abgefragt.
10000 --> 50000-50061 (62)
10500 --> 50500-50534 (35)
10700 --> 50700-50715 (16)
10800 --> 50800-50816 (17)
12000 --> 52000-52005 (6)
40700 --> 80700-80707 (8)hier mal ein Datenmitschnitt wenn man mit dem org. Diagnose-Tool des Herstellers abfragt:
Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10000 Number of Registers: 62 Parsed As: Address: 50000-50061 (62) CRC:53099 (OK) Packet 262: MODBUS Request (packet size: 129, data size: 125), 2023-04-16 18:26:18,1324920 +0,0001691 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:63775 (OK) Packet 264: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:19,0118781 +0,8793484 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10500 Number of Registers: 35 Parsed As: Address: 50500-50534 (35) CRC:19854 (OK) Packet 416: MODBUS Request (packet size: 75, data size: 71), 2023-04-16 18:26:19,5737223 +0,0000029 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:3086 (OK) Packet 418: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:20,0402869 +0,4665461 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10700 Number of Registers: 16 Parsed As: Address: 50700-50715 (16) CRC:35941 (OK) Packet 492: MODBUS Request (packet size: 37, data size: 33), 2023-04-16 18:26:20,5339410 +0,0000032 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:37498 (OK) Packet 494: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:21,0716168 +0,5376566 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 10800 Number of Registers: 17 Parsed As: Address: 50800-50816 (17) CRC:36305 (OK) Packet 572: MODBUS Request (packet size: 39, data size: 35), 2023-04-16 18:26:21,5359289 +0,0000033 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:29514 (OK) Packet 574: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:22,1028002 +0,5668509 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 12000 Number of Registers: 6 Parsed As: Address: 52000-52005 (6) CRC:52502 (OK) Packet 608: MODBUS Request (packet size: 17, data size: 13), 2023-04-16 18:26:22,5131010 +0,0000030 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:34591 (OK) Packet 610: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:23,3681224 +0,8550030 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) Starting Address: 40700 Number of Registers: 8 Parsed As: Address: 80700-80707 (8) CRC:43988 (OK) Packet 666: MODBUS Request (packet size: 27, data size: 23), 2023-04-16 18:26:23,5232212 +0,0000030 Mode: RTU Address: 1 (Slave) Function: 3 (Read Holding Registers) CRC:41613 (OK) Packet 670: MODBUS Request (packet size: 8, data size: 4), 2023-04-16 18:26:24,5926422 +0,0777386 -
@lenny-cb nee, kenne mich mitvdiesen Spezialitäten auch nicht aus.
wenn nur der WR auf dem Bus ist kannst du ja mal ohne Alias die eigentlichen Adressen (10000 usw) probieren
-
@lenny-cb nee, kenne mich mitvdiesen Spezialitäten auch nicht aus.
wenn nur der WR auf dem Bus ist kannst du ja mal ohne Alias die eigentlichen Adressen (10000 usw) probieren
@homoran sagte in Modbus Abfrage:
wenn nur der WR auf dem Bus ist kannst du ja mal ohne Alias die eigentlichen Adressen (10000 usw) probieren
das geht leider nicht, hatte ich schon probiert. Kommt immer ein Fehler, dass die Adresse falsch ist.
Hin und wieder kommen jedoch Werte, werden aber nur sporadisch aktualisiert.
Auch nervt diese Warnung:modbus.2 2023-04-16 14:52:21.090 warn Poll error count: 4 code: "ReadHoldingRegisters: Invalid FC 0" modbus.2 2023-04-16 14:52:21.060 warn Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of ange. It must be >= 0 and <= 11. Received 12Weil der "Poll error count: " hochzählt und dann bei 6 den Adapter neu startet.
Auch merkwürdig ist, dass ich immer den Block von Anfang an abfragen muss.
Also z.B. 50801, 50802, 50803 usw.
Will ich z.B. nur die 50802 abfragen ohne die 50801 auch abzufragen, bekomme ich ein Fehler "falsche Adresse".Wer könnte mir hier weiter helfen?
@Bluefox vielleicht? Hat e nicht an dem Adapter geschrieben? -
@homoran sagte in Modbus Abfrage:
wenn nur der WR auf dem Bus ist kannst du ja mal ohne Alias die eigentlichen Adressen (10000 usw) probieren
das geht leider nicht, hatte ich schon probiert. Kommt immer ein Fehler, dass die Adresse falsch ist.
Hin und wieder kommen jedoch Werte, werden aber nur sporadisch aktualisiert.
Auch nervt diese Warnung:modbus.2 2023-04-16 14:52:21.090 warn Poll error count: 4 code: "ReadHoldingRegisters: Invalid FC 0" modbus.2 2023-04-16 14:52:21.060 warn Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of ange. It must be >= 0 and <= 11. Received 12Weil der "Poll error count: " hochzählt und dann bei 6 den Adapter neu startet.
Auch merkwürdig ist, dass ich immer den Block von Anfang an abfragen muss.
Also z.B. 50801, 50802, 50803 usw.
Will ich z.B. nur die 50802 abfragen ohne die 50801 auch abzufragen, bekomme ich ein Fehler "falsche Adresse".Wer könnte mir hier weiter helfen?
@Bluefox vielleicht? Hat e nicht an dem Adapter geschrieben? -
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
Hat e nicht an dem Adapter geschrieben?
ja, in 2015!
na sind ja nur 8 Jahre. :-)
-
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
Hat e nicht an dem Adapter geschrieben?
ja, in 2015!
na sind ja nur 8 Jahre. :-)
@lenny-cb mach doch ein issue auf github auf. da lesen es dann alle beteiligten Entwickler
-
@lenny-cb mach doch ein issue auf github auf. da lesen es dann alle beteiligten Entwickler
@homoran sagte in Modbus Abfrage:
@lenny-cb mach doch ein issue auf github auf. da lesen es dann alle beteiligten Entwickler
da kommt leider keine Reaktion. Schade.
-
@homoran sagte in Modbus Abfrage:
@lenny-cb mach doch ein issue auf github auf. da lesen es dann alle beteiligten Entwickler
da kommt leider keine Reaktion. Schade.
@lenny-cb sagte in Modbus Abfrage:
da kommt leider keine Reaktion.
???
kommt auch nicht nach nicht mal einer Woche.
Das ist für die Entwickler eine mögliche todo Liste.
wenn da jemand Zeit hat das anzugehen und noch Fragen dind, dann kommt das. -
@lenny-cb sagte in Modbus Abfrage:
da kommt leider keine Reaktion.
???
kommt auch nicht nach nicht mal einer Woche.
Das ist für die Entwickler eine mögliche todo Liste.
wenn da jemand Zeit hat das anzugehen und noch Fragen dind, dann kommt das.@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
da kommt leider keine Reaktion.
???
kommt auch nicht nach nicht mal einer Woche.
Das ist für die Entwickler eine mögliche todo Liste.
wenn da jemand Zeit hat das anzugehen und noch Fragen dind, dann kommt das.Also ich mache ehr sehr wenige " issue" auf. Meist immer aus dem selben Grund. Wenn keine Rückmeldung kommt, weiß man nicht genau ob es gelesen, verstanden oder ignoriert wurde. Klingt nen bissel blöd, aber ich hoffe du verstehst was ich meine.
-
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
da kommt leider keine Reaktion.
???
kommt auch nicht nach nicht mal einer Woche.
Das ist für die Entwickler eine mögliche todo Liste.
wenn da jemand Zeit hat das anzugehen und noch Fragen dind, dann kommt das.Also ich mache ehr sehr wenige " issue" auf. Meist immer aus dem selben Grund. Wenn keine Rückmeldung kommt, weiß man nicht genau ob es gelesen, verstanden oder ignoriert wurde. Klingt nen bissel blöd, aber ich hoffe du verstehst was ich meine.
@lenny-cb sagte in Modbus Abfrage:
Klingt nen bissel blöd
ja!
github ist kein Forum sondern eine Entwicklerplattform.Die Entwickler lesen meist nur dort wenn sie dazu kommen
-
@lenny-cb sagte in Modbus Abfrage:
Klingt nen bissel blöd
ja!
github ist kein Forum sondern eine Entwicklerplattform.Die Entwickler lesen meist nur dort wenn sie dazu kommen
@homoran sagte in Modbus Abfrage:
@lenny-cb sagte in Modbus Abfrage:
Klingt nen bissel blöd
ja!
github ist kein Forum sondern eine Entwicklerplattform.Die Entwickler lesen meist nur dort wenn sie dazu kommen
das ist mir klar. Daher hatte ich auch erst im Forum angefragt. Scheint aber niemand solch Problem zu haben, weshalb die Priorität auch nicht sonderlich hoch sein wird. Na mal schauen was draus wird.