Neue Versionen und Support zum Modbus-Modul

Begonnen von StefanStrobel, 20 August 2017, 12:11:08

Vorheriges Thema - Nächstes Thema

StefanStrobel

Zitat von: Mariomgn am 12 Dezember 2023, 22:11:13Hallo zusammen,

gibt es die Möglichkeit einzelne Bits in einem Register zu beschreiben/lesen?

z.B.
attr Data4PLC obj-h30[1]-len 2
attr Data4PLC obj-h30[1]-reading Temperatur_Heizung:DS18B20-3_Temperature
attr Data4PLC obj-h30[1]-unpack n
attr Data4PLC obj-h30[3]-len 2
attr Data4PLC obj-h30[3]-reading Temperatur_Heizung:DS18B20-1_Temperature
attr Data4PLC obj-h30[3]-unpack n

ich habe schon verschiedene Schreibweisen ausprobiert, leider ohne erfolg


MfG Mario

Hallo Mario,

das Modbus-Protokoll sieht dafür so genannte Coils vor. Die kann man Bit für Bit ändern.
Bei Holding-Register kann man nur ein ganzes Register (16 Bit) schreiben.
Wenn sich nur ein Bit eines Holding-Registers ändern soll, dann musst Du das ganze Register erst lesen, ein Bit ändern und dann das ganze Register wieder schreiben.

Gruss
  Stefan

Mariomgn

Hallo Stefan,

Ist das so richtig?
attr Data4PLC obj-c28[3]-len 2
attr Data4PLC obj-c28[3]-reading Temperatur_Heizung:DS18B20-3_Temperature
attr Data4PLC obj-c28[3]-unpack n


Leider erhalte ich nur diese Fehlermeldung

Modbus
Data4PLC: unknown attribute obj-c28[3]-len. Type 'attr Data4PLC ?' for a detailed list.
Data4PLC: unknown attribute obj-c28[3]-reading. Type 'attr Data4PLC ?' for a detailed list.
Data4PLC: unknown attribute obj-c28[3]-unpack. Type 'attr Data4PLC ?' for a detailed list.

Aurel_B

Zitat von: Mariomgn am 14 Dezember 2023, 20:56:49Hallo Stefan,

Ist das so richtig?
attr Data4PLC obj-c28[3]-len 2
attr Data4PLC obj-c28[3]-reading Temperatur_Heizung:DS18B20-3_Temperature
attr Data4PLC obj-c28[3]-unpack n


Leider erhalte ich nur diese Fehlermeldung

Modbus
Data4PLC: unknown attribute obj-c28[3]-len. Type 'attr Data4PLC ?' for a detailed list.
Data4PLC: unknown attribute obj-c28[3]-reading. Type 'attr Data4PLC ?' for a detailed list.
Data4PLC: unknown attribute obj-c28[3]-unpack. Type 'attr Data4PLC ?' for a detailed list.

Da bringst du einige Sachen durcheinander. Coils haben eine Länge von 1 und unpack macht auch keinen Sinn. Auch das "[3]" passt so meiner Meinung nach nicht. Ohne genaueren Angaben wird es schwierig, dir weiterzuhelfen. Was für ein Gerät möchtest du denn auslesen und wie sieht die Registertabelle aus? Poste doch auch mal die Definition von deinem ModbusAttr Device.

Mariomgn

Hallo,

Sorry, klar wäre es sinnvoll alles zu zeigen.

Noch eine kurze Erklärung: z.B. H22 wird von Allen- Bradley Micro 820(MASTER) gelesen und auch verarbeitet.
Das sind insgesamt 21 Werte, welche gelesen werden.

Um das zu realisieren musste ich 21 Verbindungen Modbus TCP aufbauen. Das ist ganz schlecht!

Ich möchte nun das Ganze in eine Verbindung packen.

Ausschnitt aus Fhem Cfg:
define Data4PLC ModbusAttr 6 slave 192.168.0.150:1502 TCP
attr Data4PLC userattr obj-h22-len obj-h22-reading obj-h22-unpack obj-h24-len obj-h24-reading obj-h24-unpack obj-h26-len obj-h26-reading obj-h26-unpack obj-h260-allowWrite obj-h260-len obj-h260-reading obj-h260-unpack obj-h262-allowWrite obj-h262-len obj-h262-reading obj-h262-unpack obj-h28-len obj-h28-reading obj-h28-unpack obj-h30-len obj-h30-reading obj-h30-unpack obj-h32-len obj-h32-reading obj-h32-unpack obj-h34-len obj-h34-reading obj-h34-unpack obj-h36-len obj-h36-reading obj-h36-unpack obj-h38-len obj-h38-reading obj-h38-unpack obj-h40-len obj-h40-reading obj-h40-unpack obj-h42-len obj-h42-reading obj-h42-unpack obj-h44-len obj-h44-reading obj-h44-unpack obj-h46-len obj-h46-reading obj-h46-unpack obj-h48-len obj-h48-reading obj-h48-unpack obj-h50-len obj-h50-reading obj-h50-unpack obj-h52-len obj-h52-reading obj-h52-unpack obj-h54-len obj-h54-reading obj-h54-unpack obj-h56-len obj-h56-reading obj-h56-unpack obj-h58-len obj-h58-reading obj-h58-unpack obj-h60-len obj-h60-reading obj-h60-unpack obj-h62-len obj-h62-reading obj-h62-unpack
attr Data4PLC obj-h22-len 2
attr Data4PLC obj-h22-reading Temperatur_Heizung:DS18B20-7_Temperature
attr Data4PLC obj-h22-unpack n
attr Data4PLC obj-h24-len 2
attr Data4PLC obj-h24-reading Temperatur_Heizung:DS18B20-2_Temperature
attr Data4PLC obj-h24-unpack n
attr Data4PLC obj-h26-len 2
attr Data4PLC obj-h26-reading Temperatur_Heizung:DS18B20-6_Temperature
attr Data4PLC obj-h26-unpack n



Auf der Micro 820 Seite, ist es möglich, z.B. auf Adresse 22, bis zu 125 werte zu empfangen.

MfG
Mario

Aurel_B

Ok, das sieht schonmal vernünftiger aus. Das "userattr" kannst du weglassen, das braucht es nicht. Natürlich brauchst du auch nicht 21 separate Verbindungen um verschiedene Werte vom gleichen Modbus Slave abzufragen, 1 reicht und dann 21 separate Register definieren so wie du das angefangen hast.

Zitat von: Mariomgn am 15 Dezember 2023, 22:30:31Auf der Micro 820 Seite, ist es möglich, z.B. auf Adresse 22, bis zu 125 werte zu empfangen.

Diese Aussage macht für mich so wenig Sinn. Pro Adresse, also in deinem Beispiel "22" für ein Holdingregister werden erst mal nur 16bit gespeichert. Ich nehme an, deine Temperaturen sind in float und damit 32bit. Da brauchst du schon 2 Register, daher macht deine Definition von z.B. obj-h22-len und -unpack durchaus schonmal Sinn. Der nächste Wert ist wohl 2 Register weiter oben im "24" (das ist je nach Modbusgerät völlig unterschiedlich!).

Was zeigt denn nun dein Data4PLC Device für Readings an und was ist im Moment deine Frage?

Mariomgn

Ich möchte aus einem Holding Register mehrere Werte auslesen.

In dem Video Modbus Micro 820sieht man ab Min. 11, dass es auf Seite Micro 820 möglich ist, diese so auszulesen.

Ich versuche nun das Ganze in Fhem zu realisieren.


Ich hoffe, dass es so verständlich ist.  :)

P.S. vielen Dank schonmal für die Bemühung.

Aurel_B

Das sind nach meinem Verständnis MEHRERE Register die jeweils einen Wert haben. Du hast - wie gesagt - pro Holding Register nur 16bit Platz, da passt nichtmal 1 Float Zahl hinein, daher ist z.B. ein Float Wert sogar über 2 Register verteilt.
Wie gesagt, was sind denn nun deine Readings? Ohne weitere Infos wird es schwierig, dir weiterzuhelfen. Deine Definition sieht - abgesehen von der userattrs - vernünftig aus. Wenn dein Micro 820 (ich kenne das Gerät nicht) richtig konfiguriert ist und an diesen Adressen auch wirklich Daten hinterlegt sind, so sollte zumindest irgend etwas in FHEM ankommen.

Mariomgn

ok, ich fange noch einmal neu an.

Aktuell funktioniert die Kommunikation zwischen Fhem und Micro 820.

Das eigentliche Problem ist, das immer wieder Fehlermeldung im Fhem log auftauchen.
Zu diesem Problem habe ich schonmal was geschrieben, leider gab es keine richtige Lösung.

Diese Fehlermeldung sind manchmal nur 20 pro Tag, was nicht auffällt oder stört, an einem anderen Tag, legen diese Fehlermeldungen Fhem komplett lahm. Das Logfile hat dann teilweise eine Größe von 2Gb oder auch mehr.

Auszug aus Log mit verbose 5
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32607, type h, adr 62, len 2, Current read buffer: 7f5f000000060603003e0002, Id 6, fCode 3, tid 32607
2023.12.16 21:05:38 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:38 5: Data4PLC: PackObj called from CreateResponse with h 62 and valuesLen 2
2023.12.16 21:05:38 5: Data4PLC: PackObj ObjInfo for h62: reading=Palletbrenner:cmd, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:38 4: Data4PLC: PackObj for h62 is using reading cmd of device Palletbrenner with value 1
2023.12.16 21:05:38 5: Data4PLC: PackObj packed 1 with pack code n to 0001
2023.12.16 21:05:38 5: Data4PLC: PackObj padded / cut object to 00010000
2023.12.16 21:05:38 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:38 5: Data4PLC: PackObj full data string is 00010000
2023.12.16 21:05:38 5: Data4PLC: PackObj padded / cut data string to 00010000
2023.12.16 21:05:38 5: Data4PLC: prepare response pdu
2023.12.16 21:05:38 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32607 for h 62, len 2, device Data4PLC (TCP), pdu 030400010000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: Send 7f5f0000000706030400010000
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32607, type h, adr 62, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7f5f000000060603003e0002, Id 6, fCode 3, tid 32607, response: id 6, fCode 3, tid 32607, type h, adr 62, len 2, value 00010000
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7f5f000000060603003e0002
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: read buffer: 7f6000000006060300300002
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32608, dlen 6 and data 00300002
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32608, type h, adr 48, len 2, Current read buffer: 7f6000000006060300300002, Id 6, fCode 3, tid 32608
2023.12.16 21:05:38 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:38 5: Data4PLC: PackObj called from CreateResponse with h 48 and valuesLen 2
2023.12.16 21:05:38 5: Data4PLC: PackObj ObjInfo for h48: reading=Heizstab:cmd, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:38 4: Data4PLC: PackObj for h48 is using reading cmd of device Heizstab with value 1
2023.12.16 21:05:38 5: Data4PLC: PackObj packed 1 with pack code n to 0001
2023.12.16 21:05:38 5: Data4PLC: PackObj padded / cut object to 00010000
2023.12.16 21:05:38 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:38 5: Data4PLC: PackObj full data string is 00010000
2023.12.16 21:05:38 5: Data4PLC: PackObj padded / cut data string to 00010000
2023.12.16 21:05:38 5: Data4PLC: prepare response pdu
2023.12.16 21:05:38 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32608 for h 48, len 2, device Data4PLC (TCP), pdu 030400010000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: Send 7f600000000706030400010000
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32608, type h, adr 48, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7f6000000006060300300002, Id 6, fCode 3, tid 32608, response: id 6, fCode 3, tid 32608, type h, adr 48, len 2, value 00010000
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7f6000000006060300300002
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: read buffer: 7f6c0000000b06100103000204003f0000
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 16, tid 32620, dlen 11 and data 0103000204003f0000
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 16, tid 32620, type h, adr 259, len 2, value 003f0000, Current read buffer: 7f6c0000000b06100103000204003f0000, Id 6, fCode 16, tid 32620
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: passing value string of write request to ParseObj to set readings
2023.12.16 21:05:38 5: Data4PLC: ParseObj called with data 003f0000, type h, adr 259, valuesLen 2
2023.12.16 21:05:38 5: Data4PLC: ParseObj has no information about parsing h259
2023.12.16 21:05:38 5: Data4PLC: ParseObj moves to next object, skip 1 to h260
2023.12.16 21:05:38 5: Data4PLC: ParseObj ObjInfo for h260: reading=Ventil_Atmos:state, unpack=n, expr=, format=, map=
2023.12.16 21:05:38 5: Data4PLC: ParseObj unpacked 0000 with n to 0 hex 30
2023.12.16 21:05:38 4: Data4PLC: ParseObj assigns value 0 to reading state of device Ventil_Atmos
2023.12.16 21:05:38 5: Data4PLC: HandleRequest got 1 readings from ParseObj
2023.12.16 21:05:38 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:38 5: Data4PLC: prepare response pdu
2023.12.16 21:05:38 4: Data4PLC: CreateResponse sends fc 144 error code 2 to id 6, tid 32620 for h 259, len 2, device Data4PLC (TCP), pdu 9002, V 4.1.5 - 17.9.2019
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: Send 7f6c00000003069002
2023.12.16 21:05:38 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 16, tid 32620, type h, adr 259, len 2, value 003f0000 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7f6c0000000b06100103000204003f0000, Id 6, fCode 16, tid 32620, response: id 6, fCode 16, tid 32620, type h, adr 259, len 2
2023.12.16 21:05:38 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7f6c0000000b06100103000204003f0000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read gap is twice timeout -> expecting a new request now
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fc300000006060300160002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32707, dlen 6 and data 00160002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32707, type h, adr 22, len 2, Current read buffer: 7fc300000006060300160002, Id 6, fCode 3, tid 32707
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 22 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h22: reading=Temperatur_Heizung:DS18B20-7_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h22 is using reading DS18B20-7_Temperature of device Temperatur_Heizung with value 46.3
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 46.3 with pack code n to 002e
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 002e0000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 002e0000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 002e0000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32707 for h 22, len 2, device Data4PLC (TCP), pdu 0304002e0000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fc300000007060304002e0000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32707, type h, adr 22, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fc300000006060300160002, Id 6, fCode 3, tid 32707, response: id 6, fCode 3, tid 32707, type h, adr 22, len 2, value 002e0000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fc300000006060300160002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fc400000006060300180002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32708, dlen 6 and data 00180002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32708, type h, adr 24, len 2, Current read buffer: 7fc400000006060300180002, Id 6, fCode 3, tid 32708
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 24 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h24: reading=Temperatur_Heizung:DS18B20-2_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h24 is using reading DS18B20-2_Temperature of device Temperatur_Heizung with value 33.3
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 33.3 with pack code n to 0021
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00210000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00210000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00210000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32708 for h 24, len 2, device Data4PLC (TCP), pdu 030400210000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fc40000000706030400210000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32708, type h, adr 24, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fc400000006060300180002, Id 6, fCode 3, tid 32708, response: id 6, fCode 3, tid 32708, type h, adr 24, len 2, value 00210000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fc400000006060300180002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fc5000000060603001a0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32709, dlen 6 and data 001a0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32709, type h, adr 26, len 2, Current read buffer: 7fc5000000060603001a0002, Id 6, fCode 3, tid 32709
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 26 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h26: reading=Temperatur_Heizung:DS18B20-6_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h26 is using reading DS18B20-6_Temperature of device Temperatur_Heizung with value 37.3
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 37.3 with pack code n to 0025
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00250000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00250000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00250000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32709 for h 26, len 2, device Data4PLC (TCP), pdu 030400250000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fc50000000706030400250000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32709, type h, adr 26, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fc5000000060603001a0002, Id 6, fCode 3, tid 32709, response: id 6, fCode 3, tid 32709, type h, adr 26, len 2, value 00250000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fc5000000060603001a0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fc6000000060603001c0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32710, dlen 6 and data 001c0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32710, type h, adr 28, len 2, Current read buffer: 7fc6000000060603001c0002, Id 6, fCode 3, tid 32710
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 28 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h28: reading=Temperatur_Heizung:DS18B20-3_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h28 is using reading DS18B20-3_Temperature of device Temperatur_Heizung with value 32.4
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 32.4 with pack code n to 0020
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00200000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00200000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00200000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32710 for h 28, len 2, device Data4PLC (TCP), pdu 030400200000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fc60000000706030400200000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32710, type h, adr 28, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fc6000000060603001c0002, Id 6, fCode 3, tid 32710, response: id 6, fCode 3, tid 32710, type h, adr 28, len 2, value 00200000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fc6000000060603001c0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fc7000000060603001e0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32711, dlen 6 and data 001e0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32711, type h, adr 30, len 2, Current read buffer: 7fc7000000060603001e0002, Id 6, fCode 3, tid 32711
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 30 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h30: reading=Temperatur_Heizung:DS18B20-1_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h30 is using reading DS18B20-1_Temperature of device Temperatur_Heizung with value 71.9
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 71.9 with pack code n to 0047
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00470000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00470000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00470000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32711 for h 30, len 2, device Data4PLC (TCP), pdu 030400470000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fc70000000706030400470000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32711, type h, adr 30, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fc7000000060603001e0002, Id 6, fCode 3, tid 32711, response: id 6, fCode 3, tid 32711, type h, adr 30, len 2, value 00470000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fc7000000060603001e0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fc800000006060300200002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32712, dlen 6 and data 00200002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32712, type h, adr 32, len 2, Current read buffer: 7fc800000006060300200002, Id 6, fCode 3, tid 32712
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 32 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h32: reading=Temperatur_Heizung_2:DS18B20-1_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h32 is using reading DS18B20-1_Temperature of device Temperatur_Heizung_2 with value 37.4
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 37.4 with pack code n to 0025
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00250000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00250000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00250000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32712 for h 32, len 2, device Data4PLC (TCP), pdu 030400250000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fc80000000706030400250000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32712, type h, adr 32, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fc800000006060300200002, Id 6, fCode 3, tid 32712, response: id 6, fCode 3, tid 32712, type h, adr 32, len 2, value 00250000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fc800000006060300200002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fc900000006060300220002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32713, dlen 6 and data 00220002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32713, type h, adr 34, len 2, Current read buffer: 7fc900000006060300220002, Id 6, fCode 3, tid 32713
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 34 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h34: reading=Temperatur_Heizung_2:DS18B20-2_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h34 is using reading DS18B20-2_Temperature of device Temperatur_Heizung_2 with value 37.8
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 37.8 with pack code n to 0025
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00250000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00250000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00250000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32713 for h 34, len 2, device Data4PLC (TCP), pdu 030400250000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fc90000000706030400250000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32713, type h, adr 34, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fc900000006060300220002, Id 6, fCode 3, tid 32713, response: id 6, fCode 3, tid 32713, type h, adr 34, len 2, value 00250000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fc900000006060300220002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fca00000006060300240002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32714, dlen 6 and data 00240002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32714, type h, adr 36, len 2, Current read buffer: 7fca00000006060300240002, Id 6, fCode 3, tid 32714
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 36 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h36: reading=Temperatur_Heizung_2:DS18B20-3_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h36 is using reading DS18B20-3_Temperature of device Temperatur_Heizung_2 with value 52.1
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 52.1 with pack code n to 0034
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00340000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00340000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00340000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32714 for h 36, len 2, device Data4PLC (TCP), pdu 030400340000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fca0000000706030400340000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32714, type h, adr 36, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fca00000006060300240002, Id 6, fCode 3, tid 32714, response: id 6, fCode 3, tid 32714, type h, adr 36, len 2, value 00340000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fca00000006060300240002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fcb00000006060300260002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32715, dlen 6 and data 00260002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32715, type h, adr 38, len 2, Current read buffer: 7fcb00000006060300260002, Id 6, fCode 3, tid 32715
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 38 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h38: reading=Temperatur_Heizung:DS18B20-4_Temperature, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h38 is using reading DS18B20-4_Temperature of device Temperatur_Heizung with value 5.4
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 5.4 with pack code n to 0005
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00050000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00050000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00050000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32715 for h 38, len 2, device Data4PLC (TCP), pdu 030400050000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fcb0000000706030400050000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32715, type h, adr 38, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fcb00000006060300260002, Id 6, fCode 3, tid 32715, response: id 6, fCode 3, tid 32715, type h, adr 38, len 2, value 00050000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fcb00000006060300260002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fcc00000006060300280002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32716, dlen 6 and data 00280002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32716, type h, adr 40, len 2, Current read buffer: 7fcc00000006060300280002, Id 6, fCode 3, tid 32716
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 40 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h40: reading=Temperatur_Heizung:DS18B20-5_Temperature, expr=, format=, len=3, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h40 is using reading DS18B20-5_Temperature of device Temperatur_Heizung with value 36.1
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 36.1 with pack code n to 0024
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 002400000000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 3
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 002400000000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00240000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32716 for h 40, len 2, device Data4PLC (TCP), pdu 030400240000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fcc0000000706030400240000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32716, type h, adr 40, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fcc00000006060300280002, Id 6, fCode 3, tid 32716, response: id 6, fCode 3, tid 32716, type h, adr 40, len 2, value 00240000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fcc00000006060300280002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fcd000000060603002a0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32717, dlen 6 and data 002a0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32717, type h, adr 42, len 2, Current read buffer: 7fcd000000060603002a0002, Id 6, fCode 3, tid 32717
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 42 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h42: reading=SPH10000_BH_UP:Temp, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h42 is using reading Temp of device SPH10000_BH_UP with value 41
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 41 with pack code n to 0029
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00290000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00290000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00290000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32717 for h 42, len 2, device Data4PLC (TCP), pdu 030400290000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fcd0000000706030400290000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32717, type h, adr 42, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fcd000000060603002a0002, Id 6, fCode 3, tid 32717, response: id 6, fCode 3, tid 32717, type h, adr 42, len 2, value 00290000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fcd000000060603002a0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fce000000060603002c0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32718, dlen 6 and data 002c0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32718, type h, adr 44, len 2, Current read buffer: 7fce000000060603002c0002, Id 6, fCode 3, tid 32718
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 44 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h44: reading=SPH_BH_5000:Temp, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h44 is using reading Temp of device SPH_BH_5000 with value 36.2
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 36.2 with pack code n to 0024
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00240000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00240000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00240000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32718 for h 44, len 2, device Data4PLC (TCP), pdu 030400240000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fce0000000706030400240000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32718, type h, adr 44, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fce000000060603002c0002, Id 6, fCode 3, tid 32718, response: id 6, fCode 3, tid 32718, type h, adr 44, len 2, value 00240000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fce000000060603002c0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fcf000000060603002e0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32719, dlen 6 and data 002e0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32719, type h, adr 46, len 2, Current read buffer: 7fcf000000060603002e0002, Id 6, fCode 3, tid 32719
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 46 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h46: reading=SPH_BH_5000:PVPower, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h46 is using reading PVPower of device SPH_BH_5000 with value 0
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 0 with pack code n to 0000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00000000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32719 for h 46, len 2, device Data4PLC (TCP), pdu 030400000000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fcf0000000706030400000000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32719, type h, adr 46, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fcf000000060603002e0002, Id 6, fCode 3, tid 32719, response: id 6, fCode 3, tid 32719, type h, adr 46, len 2, value 00000000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fcf000000060603002e0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd000000006060300320002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32720, dlen 6 and data 00320002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32720, type h, adr 50, len 2, Current read buffer: 7fd000000006060300320002, Id 6, fCode 3, tid 32720
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 50 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h50: reading=SPH10000_BH_UP:PtoG, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h50 is using reading PtoG of device SPH10000_BH_UP with value 0
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 0 with pack code n to 0000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00000000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32720 for h 50, len 2, device Data4PLC (TCP), pdu 030400000000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd00000000706030400000000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32720, type h, adr 50, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd000000006060300320002, Id 6, fCode 3, tid 32720, response: id 6, fCode 3, tid 32720, type h, adr 50, len 2, value 00000000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd000000006060300320002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd100000006060300340002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32721, dlen 6 and data 00340002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32721, type h, adr 52, len 2, Current read buffer: 7fd100000006060300340002, Id 6, fCode 3, tid 32721
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 52 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h52: reading=SPH10000_BH_UP:PVPower, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h52 is using reading PVPower of device SPH10000_BH_UP with value 0
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 0 with pack code n to 0000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00000000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32721 for h 52, len 2, device Data4PLC (TCP), pdu 030400000000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd10000000706030400000000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32721, type h, adr 52, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd100000006060300340002, Id 6, fCode 3, tid 32721, response: id 6, fCode 3, tid 32721, type h, adr 52, len 2, value 00000000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd100000006060300340002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd200000006060300360002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32722, dlen 6 and data 00360002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32722, type h, adr 54, len 2, Current read buffer: 7fd200000006060300360002, Id 6, fCode 3, tid 32722
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 54 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h54: reading=SPH10000_BH_UP:PDiC, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h54 is using reading PDiC of device SPH10000_BH_UP with value 0
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 0 with pack code n to 0000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00000000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32722 for h 54, len 2, device Data4PLC (TCP), pdu 030400000000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd20000000706030400000000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32722, type h, adr 54, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd200000006060300360002, Id 6, fCode 3, tid 32722, response: id 6, fCode 3, tid 32722, type h, adr 54, len 2, value 00000000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd200000006060300360002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd300000006060300380002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32723, dlen 6 and data 00380002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32723, type h, adr 56, len 2, Current read buffer: 7fd300000006060300380002, Id 6, fCode 3, tid 32723
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 56 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h56: reading=SPH10000_BH_UP:PC, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h56 is using reading PC of device SPH10000_BH_UP with value 0
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 0 with pack code n to 0000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00000000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00000000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32723 for h 56, len 2, device Data4PLC (TCP), pdu 030400000000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd30000000706030400000000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32723, type h, adr 56, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd300000006060300380002, Id 6, fCode 3, tid 32723, response: id 6, fCode 3, tid 32723, type h, adr 56, len 2, value 00000000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd300000006060300380002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd4000000060603003a0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32724, dlen 6 and data 003a0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32724, type h, adr 58, len 2, Current read buffer: 7fd4000000060603003a0002, Id 6, fCode 3, tid 32724
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 58 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h58: reading=SPH10000_BH_UP:PtoU, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h58 is using reading PtoU of device SPH10000_BH_UP with value 1580
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 1580 with pack code n to 062c
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 062c0000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 062c0000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 062c0000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32724 for h 58, len 2, device Data4PLC (TCP), pdu 0304062c0000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd400000007060304062c0000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32724, type h, adr 58, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd4000000060603003a0002, Id 6, fCode 3, tid 32724, response: id 6, fCode 3, tid 32724, type h, adr 58, len 2, value 062c0000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd4000000060603003a0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd5000000060603003c0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32725, dlen 6 and data 003c0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32725, type h, adr 60, len 2, Current read buffer: 7fd5000000060603003c0002, Id 6, fCode 3, tid 32725
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 60 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj doesn't have reading or expr information for h60, set error code to 2
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 131 error code 2 to id 6, tid 32725 for h 60, len 2, device Data4PLC (TCP), pdu 8302, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd500000003068302
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32725, type h, adr 60, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd5000000060603003c0002, Id 6, fCode 3, tid 32725, response: id 6, fCode 3, tid 32725, type h, adr 60, len 2
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd5000000060603003c0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd6000000060603003e0002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32726, dlen 6 and data 003e0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32726, type h, adr 62, len 2, Current read buffer: 7fd6000000060603003e0002, Id 6, fCode 3, tid 32726
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 62 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h62: reading=Palletbrenner:cmd, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h62 is using reading cmd of device Palletbrenner with value 1
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 1 with pack code n to 0001
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00010000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00010000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00010000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32726 for h 62, len 2, device Data4PLC (TCP), pdu 030400010000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd60000000706030400010000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32726, type h, adr 62, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd6000000060603003e0002, Id 6, fCode 3, tid 32726, response: id 6, fCode 3, tid 32726, type h, adr 62, len 2, value 00010000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd6000000060603003e0002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fd700000006060300300002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 3, tid 32727, dlen 6 and data 00300002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 3, tid 32727, type h, adr 48, len 2, Current read buffer: 7fd700000006060300300002, Id 6, fCode 3, tid 32727
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: PackObj called from CreateResponse with h 48 and valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: PackObj ObjInfo for h48: reading=Heizstab:cmd, expr=, format=, len=2, map=, unpack=n
2023.12.16 21:05:44 4: Data4PLC: PackObj for h48 is using reading cmd of device Heizstab with value 1
2023.12.16 21:05:44 5: Data4PLC: PackObj packed 1 with pack code n to 0001
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut object to 00010000
2023.12.16 21:05:44 5: Data4PLC: PackObj counter reached 2
2023.12.16 21:05:44 5: Data4PLC: PackObj full data string is 00010000
2023.12.16 21:05:44 5: Data4PLC: PackObj padded / cut data string to 00010000
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 3 to id 6, tid 32727 for h 48, len 2, device Data4PLC (TCP), pdu 030400010000, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fd70000000706030400010000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 3, tid 32727, type h, adr 48, len 2 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fd700000006060300300002, Id 6, fCode 3, tid 32727, response: id 6, fCode 3, tid 32727, type h, adr 48, len 2, value 00010000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fd700000006060300300002
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: read buffer: 7fe30000000b06100103000204003f0000
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: ParseFrameStart (TCP) extracted id 6, fCode 16, tid 32739, dlen 11 and data 0103000204003f0000
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: HandleRequest called from Read
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: ParseRequest called from HandleRequest
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: HandleRequest request: id 6, fCode 16, tid 32739, type h, adr 259, len 2, value 003f0000, Current read buffer: 7fe30000000b06100103000204003f0000, Id 6, fCode 16, tid 32739
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: passing value string of write request to ParseObj to set readings
2023.12.16 21:05:44 5: Data4PLC: ParseObj called with data 003f0000, type h, adr 259, valuesLen 2
2023.12.16 21:05:44 5: Data4PLC: ParseObj has no information about parsing h259
2023.12.16 21:05:44 5: Data4PLC: ParseObj moves to next object, skip 1 to h260
2023.12.16 21:05:44 5: Data4PLC: ParseObj ObjInfo for h260: reading=Ventil_Atmos:state, unpack=n, expr=, format=, map=
2023.12.16 21:05:44 5: Data4PLC: ParseObj unpacked 0000 with n to 0 hex 30
2023.12.16 21:05:44 4: Data4PLC: ParseObj assigns value 0 to reading state of device Ventil_Atmos
2023.12.16 21:05:44 5: Data4PLC: HandleRequest got 1 readings from ParseObj
2023.12.16 21:05:44 5: Data4PLC: CreateResponse called from HandleRequest
2023.12.16 21:05:44 5: Data4PLC: prepare response pdu
2023.12.16 21:05:44 4: Data4PLC: CreateResponse sends fc 144 error code 2 to id 6, tid 32739 for h 259, len 2, device Data4PLC (TCP), pdu 9002, V 4.1.5 - 17.9.2019
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: Send 7fe300000003069002
2023.12.16 21:05:44 4: Data4PLC_192.168.0.250_34331: RequestDone request: id 6, fCode 16, tid 32739, type h, adr 259, len 2, value 003f0000 for device Data4PLC_192.168.0.250_34331, Current read buffer: 7fe30000000b06100103000204003f0000, Id 6, fCode 16, tid 32739, response: id 6, fCode 16, tid 32739, type h, adr 259, len 2
2023.12.16 21:05:44 5: Data4PLC_192.168.0.250_34331: DropFrame - drop 7fe30000000b06100103000204003f0000


Fehler in Log ohne verbose 5
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34282: read from TCP server connection got null -> closing
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34282: _UnDef is closing Data4PLC_192.168.0.250_34282
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34284: read from TCP server connection got null -> closing
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34284: _UnDef is closing Data4PLC_192.168.0.250_34284
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34285: read from TCP server connection got null -> closing
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34285: _UnDef is closing Data4PLC_192.168.0.250_34285
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34286: read from TCP server connection got null -> closing
2023.12.16 20:47:29 3: Data4PLC_192.168.0.250_34286: _UnDef is closing Data4PLC_192.168.0.250_34286
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34287: read from TCP server connection got null -> closing
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34287: _UnDef is closing Data4PLC_192.168.0.250_34287
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34288: read from TCP server connection got null -> closing
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34288: _UnDef is closing Data4PLC_192.168.0.250_34288
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34290: read from TCP server connection got null -> closing
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34290: _UnDef is closing Data4PLC_192.168.0.250_34290
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34291: read from TCP server connection got null -> closing
2023.12.16 20:50:16 3: Data4PLC_192.168.0.250_34291: _UnDef is closing Data4PLC_192.168.0.250_34291

Das Ganze läuft auf einen Pi 4.

Ich habe nun in der Doku der Micro 820 noch einmal nachgelesen und habe einen Punkt entdeckt, welcher mich stutzig macht.





[color=red]ConnClose

BOOL

Verhalten der TCP-Verbindungstrennung.

True – Die TCP-Verbindung nach Abschluss der Nachricht trennen.
False – Die TCP-Verbindung nach Abschluss der Nachricht nicht trennen [Standard].
Siehe Modbus-/TCP-Nachrichtenverbindungen.
[/color]
Szenario

Nachrichtenanforderung ist aktiviert und es besteht keine Verbindung zum Ziel.

Ergebnisse
Wenn keine Verbindung mit dem Ziel besteht, wird eine neue Verbindung aufgebaut.

Wenn bereits eine Verbindung mit dem Ziel besteht, wird die vorhandene Verbindung verwendet.


Szenario
Die Nachrichtenausführung wurde abgeschlossen und ConnClose wird auf ,,True" gesetzt.

Ergebnisse
Es besteht nur eine Verbindung zum Ziel, die Verbindung wird geschlossen.

Falls mehr als eine Verbindung zum Ziel besteht, wird die Verbindung getrennt, sobald die letzte Nachrichtenausführung abgeschlossen wurde.

Szenario
Die Nachrichtenausführung wurde abgeschlossen und ConnClose wird auf False gesetzt.

Ergebnisse
Die Verbindung wurde nicht getrennt.


Szenario
Die Verbindung ist mit keiner aktiven Nachricht verknüpft und bleibt für den Zeitraum, der im ConnTimeOut-Parameter angegeben ist, inaktiv.

Ergebnisse
Die Verbindung wurde getrennt.


Szenario
Wechsel des Controllers von einem Ausführungsmodus (Betrieb, Remotelauf, Remotetestlauf, Remote-Kontaktplan) in einen Nicht-Ausführungsmodus.

Ergebnisse
   
Alle aktiven Verbindungen wurden getrennt.


Irgend wie werde ich aus der Sache nicht schlau.
Ich denke, dass der Fehler auf der Seite von Micro 820 liegt, weis aber nicht wo.


StefanStrobel

Hallo Basil,

ich habe mir Deine Logs und Deine Änderungen mal genauer angesehen und komme zu anderen Ergebnissen.

Zitat von: McBasil am 12 Dezember 2023, 23:04:07sicher hast Du Recht, dass ein Versionswechsel nicht Ursache für die crc-Fehler ist. Es ist wohl mehr so, dass bei mir  normal
verbose auf 1 oder 2 steht und somit diese Fehler nicht protokolliert werden. Und dann fällt mir das natürlich nicht auf.

Jetzt war es aber so, dass mit der neuen Version auf einmal jede Menge fehlerhafte Anzeigen erschienen.
So wurde mir beispielsweise gleichzeitig angezeigt, dass die Wärmepumpe laufe, aber die Unterwasserpumpe nicht laufe, dass die Warmwassersolltemperatur auf 218 °C eingestellt sei
und die Brunneneinlauftemperatur bei 0 °C liege und die Brunnenausgangstemperatur über der Vorlauftemperatur liegt.

Wenn man das von Dir gepostete Log genauer ansieht, dann fallen vor allem Einträge auf, bei denen auf eine Anfrage für Holding Register 1 mit Function Code 3 eine Antwort mit Function Code 1 kommt - also Coil 1.
Das hat nichts mit CRC-Berechnungen zu tun sondern da ist etwas grundsätzlich durcheinander.

Hier ein paar relevante Einträge aus Deinem Log:
Zitat2023.11.28 01:34:31 4: Wi18Tu: ProcessRequestQueue (V4.5.6 - 7.11.2023) qlen 6, sending 01030001006415e1 via ECS-AP:8899, read buffer empty,
request: id 1, read fc 3 h1, len 100, master device Wi18Tu, reading tp_aussen (getUpdate for combined h1 len 1 tp_aussen with h2 len 1 tp_wp_rl and h3 len 1 tp_ww_ist and h5 len 1 tp_wp_vl and h6 len 1 tp_br_ein and h7 len 1 tp_br_aus and h8 len 1 tp_wp_heissgas and h9 len 1 tp_wp_rl_h and h42 len 1 wp_disp_stoerung and h43 len 1 wp_disp_anzeige and h45 len 1 wp_typ and h46 len 1 wp_Solltemp_1.HK_Raumregelung and h47 len 1 tp_wp_hys and h53 len 1 tp_wp_rl_s and h58 len 1 tp_ww_ruecklauf_soll and h59 len 1 wp_disp_sperre and h98 len 1 sensor_Sgg_temp and h99 len 1 sensor_Sggueh and h100 len 1 sensor_Sietemp), queued 1.70 secs ago

2023.11.28 01:34:31 4: Wi18Tu: HandleResponse error, current frame / read buffer: 0101021401773c0103c8002400f701e6ff7a00f9008e0088017500ebd8f100000000ffe7ffe7000000000000000000000000000000000000000000000000000000000000000000000000003202920000004601f401f401f401f401f40000000a0000000300c8000a00140000000a00000000010500fd00fd0000000001f4002400010000027301f50001000c0014000700000000000029f7189000001dd300474e2002840000000000000000000000000000000000000000000000000000000000000000000000000014d8f100e9007c006ddaab, id 1, fCode 1,
request: id 1, read fc 3 h1, len 100, master device Wi18Tu, reading tp_aussen (getUpdate for combined h1 len 1 tp_aussen with h2 len 1 tp_wp_rl and h3 len 1 tp_ww_ist and h5 len 1 tp_wp_vl and h6 len 1 tp_br_ein and h7 len 1 tp_br_aus and h8 len 1 tp_wp_heissgas and h9 len 1 tp_wp_rl_h and h42 len 1 wp_disp_stoerung and h43 len 1 wp_disp_anzeige and h45 len 1 wp_typ and h46 len 1 wp_Solltemp_1.HK_Raumregelung and h47 len 1 tp_wp_hys and h53 len 1 tp_wp_rl_s and h58 len 1 tp_ww_ruecklauf_soll and h59 len 1 wp_disp_sperre and h98 len 1 sensor_Sgg_temp and h99 len 1 sensor_Sggueh and h100 len 1 sensor_Sietemp), queued 1.94 secs ago, sent 0.24 secs ago,
response: id 1, fc 1, c1, len 100, values 1401, error: Function code 1 in Modbus response does not match request function code 3


2023.11.28 01:34:32 4: Wi18Tu: ProcessRequestQueue (V4.5.6 - 7.11.2023) qlen 9, sending 01030065004b15e2 via ECS-AP:8899, read buffer empty,
request: id 1, read fc 3 h101, len 75, master device Wi18Tu, reading sensor_Sggdruck (getUpdate for combined h101 len 1 sensor_Sggdruck with h102 len 1 sensor_EVD_oe and h103 len 1 wp_dis_Statusmeldungen and h104 len 1 wp_dis_Waermepumpe_Sperre and h105 len 1 wp_dis_Stoermeldungen and h106 len 1 wp_dis_Sensorik and h131 len 1 Sprache and h132 len 1 Anzeige_Zeitmodus and h133 len 1 stunde and h134 len 1 minute and h135 len 1 monat and h136 len 1 wochentag and h137 len 1 tag and h138 len 1 jahr and h139 len 1 Betriebsmodus_Zeitverzoegerung and h140 len 1 Betriebsmodus_schalt_temp_kuehlen and h141 len 1 Betriebsmodus_schalt_temp_heizen and h142 len 1 Betriebsmodus and h143 len 1 partystunden and h144 len 1 urlaubstage and h163 len 1 tp_wp_par_ver and h165 len 1 tp_wp_hk_end and h172 len 1 tp_ww_hyst and h174 len 1 tp_ww_soll and h175 len 1 tp_ww_max), queued 2.64 secs ago

2023.11.28 01:34:32 4: Wi18Tu: HandleResponse error, current frame / read buffer: 01010104504b010396006a0147001e000900000000ff0600000000ffebffd50000000000000000ffb5fd6f0000000000000000000000000000000000000001000000010000000100010001002c000b0002001c001700010019001400010004000f00060003fffb000400010000000a00050023000600550008000a000c0016001e0000000400160028001a003200000016003c000f00000002ffe70032003c08e8, id 1, fCode 1,
request: id 1, read fc 3 h101, len 75, master device Wi18Tu, reading sensor_Sggdruck (getUpdate for combined h101 len 1 sensor_Sggdruck with h102 len 1 sensor_EVD_oe and h103 len 1 wp_dis_Statusmeldungen and h104 len 1 wp_dis_Waermepumpe_Sperre and h105 len 1 wp_dis_Stoermeldungen and h106 len 1 wp_dis_Sensorik and h131 len 1 Sprache and h132 len 1 Anzeige_Zeitmodus and h133 len 1 stunde and h134 len 1 minute and h135 len 1 monat and h136 len 1 wochentag and h137 len 1 tag and h138 len 1 jahr and h139 len 1 Betriebsmodus_Zeitverzoegerung and h140 len 1 Betriebsmodus_schalt_temp_kuehlen and h141 len 1 Betriebsmodus_schalt_temp_heizen and h142 len 1 Betriebsmodus and h143 len 1 partystunden and h144 len 1 urlaubstage and h163 len 1 tp_wp_par_ver and h165 len 1 tp_wp_hk_end and h172 len 1 tp_ww_hyst and h174 len 1 tp_ww_soll and h175 len 1 tp_ww_max), queued 2.88 secs ago, sent 0.24 secs ago,
response: id 1, fc 1, c101, len 75, values 04, error: Function code 1 in Modbus response does not match request function code 3


ZitatJetzt habe ich Ursachenforschung betrieben und die Protokolle ausgewertet. Für mein besseres Verständnis habe ich verschiedene Log-Ausgaben optisch etwas anders aufbereitet.
Die Ursache konnte ich ermitteln und beheben.

sub ParseResponse {    wird bei der Berechnung das fcode Byte mitgerechnet und das ist der Auslöser für die fehlerhafte Berechnung.
......
       my ($len, $values) = unpack ('Ca*', $data);
......
       $frame->{PDULEXP}  = $len + 2;                      # 1 Byte fCode + 1 Byte len + len of expected values
muss ersetzt werden durch
       $frame->{PDULEXP}  = $len + 1;                      # 1 Byte len + len of expected values
......
}

Das sehe ich anders. Die von Dir geposteten Änderungen bewirken nicht das was Du meinst:
$frame->{PDULEXP} ist die erwartete Länge der PDU. Da geht es nicht um die CRC-Berechnung sondern um die Frage ob ein Frame schon vollständig empfangen sein kann.
Die CRC wird bei Modbus-RTU vor und nach Deiner Änderung immer noch von id über fcode und len bis Ende der Daten berechnet. Das ist auch korrekt so.
Die Frage ist nur was bei der Verifikation als CRC betrachtet wird. Wenn eigentlich eine Response erwartet wird, statt dessen aber ein Request empfangen wird,
dann ist das Frame-Format ein anderes. Als Response interpretiert wäre die CRC an einer anderen Stelle und damit falsch.
Insbesondere wenn Dein Gerät mit ganz anderen Function Codes antwortet, wird das Ergebnis dadurch nicht besser.
Mit Deiner Änderung wird ggf. das Ende der empfangenen Daten als CRC interpretiert. Ein Request würde so fälschlicherweise als gültige Response gesehen - das wäre aber falsch und würde erst recht falsche Daten liefern.

Die Modul-Tests liefern nach Deiner Änderung viele Fehler, auch wenn es in Deinem Fall zunächst so aussehen mag, als ob weniger Fehler im Log stehen.
Ich vermute dass das Problem in Deinem Fall an ganz anderer Stelle zu suchen ist.

Was für Geräte setzt Du denn ein und wie sind die Geräte bei Dir miteinander verbunden? Gibt es neben Fhem noch andere Modbus-Master oder andere Slaves?

Bitte poste doch mal Deine vollständige Konfiguration und eine Beschreibung wie welche Geräte bei Dir miteinander verbunden sind.

Gruss
   Stefan

McBasil

Hallo Stefan,

zuerst ganz ganz herzlichen Dank für Deine Mühen mit meinem Problem. Wahrscheinlich wird es nicht möglich sein die Ursache zu finden.

Meine Konfiguration ist recht simpel, fhem läuft auf einem Pi 3b und greift über RS485_To_WIFI auf eine Dimplex Wi18Tu zu. Das Ganze ist 2016 in Betrieb gegangen und läuft eigendlich sehr zufriedenstellend. Ich war über 6 Jahre keine Auffälligkeiten gewohnt.

Als ich jetzt nach dem Fehler das log angeschaut habe, fiel mir auf, dass diese crc Fehler nur dann aufzutreten schienen, wenn das CRC in Abhängigkeit des Längenfeldes aus PDU gebildet wurde, und dann auch nur unregelmäßig. Das verleitete mich an dieser Schraube zu drehen, denn wenn zur CRC-Berechnung nicht die richtige Länge angegeben wird, muss ja das Ergebnis falsch sein. Und was will ich mehr, ich änderte und der Fehler ist verschwunden. Ich muss zugeben, dass ich übereifrig einiges an Unsinn verzapft habe und bitte dafür um Nachsicht.

Seid meiner Änderung sind bei mir keine Fehler mehr aufgetreten. Das hat mich gereitzt nachzuweisen, dass tatsächlich meine Änderung der große Durchbruch war. Das fehlerhafte Verhalten erneut zu provozieren ist mir nicht mehr gelungen. Meine Änderungen haben ganz offensichtlich nichts bewirkt und ich habe auch wieder die Originalfassung von Dir im Einsatz.

Mein aktuelles Logfile schicke ich mit. Die wenigen protokollierten Fehler sind mir zwar nicht verständlich, aber ich denke, die sind auch nicht störend. Für mich läuft alles zufriedenstellend.

Gruß
  Basil


Du darfst diesen Dateianhang nicht ansehen.

StefanStrobel

Hallo Basil,

irgendwo ist aber doch der Wurm drin. In dem ersten größeren Log, dass Du gepostet hast, sieht man dass der Request für Holding Register 0 oft gar nicht oder unsinnig beantwortet wird. Entweder die Dimplex oder Dein RS385-Wifi-gateway hat ein Problem.
Brauchst Du die Daten wirklich im Sekundentakt?
Ich könnte mir gut vorstellen, dass eines der Geräte damit einfach überlastet ist.

Gruss
   Stefan

holle75

Hallo Ihr, ich habe mal eine Verständnisfrage.

So

define Studer485_CAN ModbusAttr 93 6
attr Studer485_CAN dev-defLen 2
attr Studer485_CAN dev-defPoll 1
attr Studer485_CAN dev-defShowGet 1
attr Studer485_CAN dev-defUnpack f>
attr Studer485_CAN dev-h-read 3
attr Studer485_CAN dev-h-write 16
attr Studer485_CAN dev-i-read 4
attr Studer485_CAN dev-timing-timeout 1
attr Studer485_CAN event-min-interval .*:900
attr Studer485_CAN event-on-change-reading Charge_Discharge_W:50,SoC,Temp_Batt:0.2,BATT_Priority_RAM
attr Studer485_CAN event-on-update-reading .*
attr Studer485_CAN group Xtender
attr Studer485_CAN obj-i4-format %.1f
attr Studer485_CAN obj-i4-polldelay 30
attr Studer485_CAN obj-i4-reading SoC
attr Studer485_CAN obj-i58-format %.1f
attr Studer485_CAN obj-i58-polldelay 600
attr Studer485_CAN obj-i58-reading Temp_Batt
attr Studer485_CAN obj-i6-format %2d
attr Studer485_CAN obj-i6-reading Charge_Discharge_W

attr Studer485_CAN obj-h6142-reading BATT_Priority_RAM
attr Studer485_CAN obj-h6142-set 1
attr Studer485_CAN obj-h6142-hint Ja,Nein
attr Studer485_CAN obj-h6142-map 1:Ja,0:Nein

frage und setze ich gerade Infos und Parameter in meiner Solaranlage.

Was ich nicht hinbekomme ist, die GESETZTEN Parameter (in diesem Beispiel BATT_Priority_RAM) auch als Reading anzuzeigen.

Ist das generell nicht machbar? Oder wie müsste ich den Parameter auch als Reading anlegen?

Danke und Gruß!

Aurel_B

Das verstehe ich nicht ganz. Wird das Reading "BATT_Priority_RAM" gar nicht angezeigt oder werden die gesetzen Werte dann nicht aktualisiert? Bei mir ist es so: wenn ich ein Register mit "set" setze, so übernimmt auch sofort das entsprechende Reading den neuen Wert. Das Reading kann sich dann wieder ändern, wenn beim nächsten Poll das Gerät das entsprechende Register verändert hat.

holle75

#1228
Hallo Aurel, so wie du das beschreibst, hätte ich es erwartet. Habe mich die letzten Monate/Jahre damit abgefunden, dass es nicht so ist. Jetzt wollte ich da nochmal ran.

Ja, schreiben funktioniert, nur ein Reading bekomme ich nicht. Ich muss mich nochmal in die Manuals von Studer vertiefen. Wollte nur gerne wissen, ob das ein allgemeingültiges Verhalten ist. Scheint nicht so.

weitergedacht:

Ich kann mit zusätzlich

attr Studer485_CAN obj-h142-reading BATT_Priority
attr Studer485_CAN obj-h142-map 1:Ja,0:Nein

sehr wohl das Holding Register auslesen. Das ist die selbe Adresse wie

attr Studer485_CAN obj-h6142-reading BATT_Priority_RAM
attr Studer485_CAN obj-h6142-set 1
attr Studer485_CAN obj-h6142-hint Ja,Nein
attr Studer485_CAN obj-h6142-map 1:Ja,0:Nein

ohne den 6000 Offset um nur ins RAM zu schreiben und nicht ins Flash.
Das erklärt dann aber wiederum warum sich der Wert in h142 nicht verändert ;)

Ok. Glaube, ich habs verstanden. Muss das Reading explizit anlegen, bringt nur nix, weil sich der Wert nicht verändert weil nur ins RAM geschieben wird. Da beißt sich eine Katze in den Schwanz.
Wäre noch interessant, ob das Reading automatisch angelegt werden würde, wenn ich ins Flash schreibe. Aber da das keine langfristige Option ist, brauch ichs auch nicht auszuprobieren.


Tabadorer

THEMA: Beim Schreiben von Registern in Batterieinverter werden die Werte in HEX umgewandelt.
Dieser Post ist von hier kopiert worden.


Ich habe von SMA den Batterieinverter Sunny Island SI6.0H-11. Diesen habe ich über ModBus TCP in fhem eingebunden. Das Lesen der Register ist bisher meist unproblematisch, aber beim schreiben wird mir der neue Sollwert durch fhem immer in einen HEX-Wert konvertiert.  >:(

Hier vorab meine Definition für meinen Batterieinverter:
defmod SMASI ModbusAttr 3 10 <IP>:502 TCP
attr SMASI busDelay 5
attr SMASI closeAfterResponse 0
attr SMASI dev-h-defLen 2
attr SMASI dev-h-defPoll 0
attr SMASI dev-h-defRevRegs 1
attr SMASI dev-i-defLen 2
attr SMASI dev-i-defPoll 1
attr SMASI dev-i-defRevRegs 1
attr SMASI dev-type-ENUM_JN-hint ja,nein
attr SMASI dev-type-ENUM_JN-map 1129:ja, 1130:nein
attr SMASI enableControlSet 1
attr SMASI icon batterie
attr SMASI obj-h40075-name Eigenverbraucherhoehung eingeschaltet
attr SMASI obj-h40075-polldelay 310
attr SMASI obj-h40075-reading EigenverbraucherhoehungAktiv
attr SMASI obj-h40075-set 1
attr SMASI obj-h40075-showGet 1
attr SMASI obj-h40075-unpack n
attr SMASI obj-h40075-type ENUM_JN
attr SMASI obj-i30775-expr $val*-1
attr SMASI obj-i30775-ignoreExpr $val < -8000
attr SMASI obj-i30775-max 5000
attr SMASI obj-i30775-min -5000
attr SMASI obj-i30775-reading BatteryPower
attr SMASI obj-i30775-revRegs 1
attr SMASI obj-i30845-reading StateOfCharge
attr SMASI obj-i30847-polldelay 1800
attr SMASI obj-i30847-reading StateOfHealth
attr SMASI obj-i30849-expr $val/10
attr SMASI obj-i30849-format %.1f
attr SMASI obj-i30849-polldelay 600
attr SMASI obj-i30849-reading BatteryTemp
attr SMASI obj-i30849-revRegs 1
attr SMASI obj-i30851-expr $val/100
attr SMASI obj-i30851-format %.2f
attr SMASI obj-i30851-polldelay 180
attr SMASI obj-i30851-reading BatteryVoltage
attr SMASI obj-i30993-expr $val/1000
attr SMASI obj-i30993-format %.3f
attr SMASI obj-i30993-name Ladefaktor: Verhältnis Batterieladung/-endladung
attr SMASI obj-i30993-reading Ladefaktor
attr SMASI obj-i31009-reading DischargeBoundary
attr SMASI obj-i31009-showGet 0
attr SMASI obj-i31057-name Status Batterienutzungsbereich
attr SMASI obj-i31057-reading BatteryUsageType
attr SMASI room Energie
attr SMASI silentReconnect 1
attr SMASI stateFormat <div>BatteryPower W / StateOfCharge %</div>
attr SMASI verbose 5


Hier das Logging mit Verboselevel 5. In Zeile 4 sieht man das hier etwas in 046a konvertiert wird.
2023.12.24 12:13:15.153 4: SMASI: set called with EigenverbraucherhoehungAktiv (h40075) setVal = 1130
2023.12.24 12:13:15.154 5: SMASI: GetSetChecks with force
2023.12.24 12:13:15.154 5: SMASI: GetSetChecks returns success
2023.12.24 12:13:15.154 5: SMASI: set packed hex 31313330 with n to hex 046a
2023.12.24 12:13:15.155 4: SMASI: DoRequest called from SetLDFn created new request, read buffer empty, id 3, fCode 3, tid 56,
request: id 3, write fc 16 h40075, len 2, value 046a, tid 228, master device SMASI, reading EigenverbraucherhoehungAktiv (set EigenverbraucherhoehungAktiv),
response: no id, no fcode
2023.12.24 12:13:15.155 5: SMASI: QueueRequest called from DoRequest with h40075, qlen 0 from master SMASI through io device SMASI
2023.12.24 12:13:15.155 5: SMASI: ProcessRequestQueue called from QueueRequest as direct:SMASI, qlen 1, force, request: request: id 3, write fc 16 h40075, len 2, value 046a, tid 228, master device SMASI, reading EigenverbraucherhoehungAktiv (set EigenverbraucherhoehungAktiv), queued 0.00 secs ago
2023.12.24 12:13:15.155 5: SMASI: checkDelays sendDelay, last send to same device was 53.591 secs ago, required delay is 0.1
2023.12.24 12:13:15.156 5: SMASI: checkDelays commDelay, last communication with same device was 53.578 secs ago, required delay is 0.1
2023.12.24 12:13:15.156 5: SMASI: checkDelays busDelayRead, last activity on bus was 53.578 secs ago, required delay is 5
2023.12.24 12:13:15.156 5: SMASI: checkDelays clientSwitchDelay is not relevant
2023.12.24 12:13:15.156 4: SMASI: ProcessRequestQueue (V4.5.6 - 7.11.2023) qlen 1, sending 00e40000000903109c8b000204046a via 192.168.1.34:502, read buffer empty, id 3, fCode 3, tid 56,
request: id 3, write fc 16 h40075, len 2, value 046a, tid 228, master device SMASI, reading EigenverbraucherhoehungAktiv (set EigenverbraucherhoehungAktiv), queued 0.00 secs ago,
response: no id, no fcode
2023.12.24 12:13:15.157 5: SMASI: Send called from ProcessRequestQueue
2023.12.24 12:13:15.157 5: DevIo_SimpleWrite SMASI: 00e40000000903109c8b000204046a
2023.12.24 12:13:15.158 5: SMASI: ReadAnswer called from SetLDFn
2023.12.24 12:13:15.159 5: SMASI: ReadAnswer remaining timeout is 1.99646210670471
2023.12.24 12:13:15.174 5: SMASI: ReadAnswer got: 00e400000003039003
2023.12.24 12:13:15.174 5: SMASI: ParseFrameStart called from ReadAnswer protocol TCP expecting id 3
2023.12.24 12:13:15.174 4: SMASI: ParseFrameStart (TCP, master) extracted id 3, fCode 144, tid 228, dlen 3 and potential data 03
2023.12.24 12:13:15.175 5: SMASI: HandleResponse called from ReadAnswer
2023.12.24 12:13:15.175 5: SMASI: HandleResponse is now creating response hash, masterHash is HASH(0x55f377d1a198)
2023.12.24 12:13:15.175 5: SMASI: HandleResponse is now calling ParseResponse, masterHash is HASH(0x55f377d1a198)
2023.12.24 12:13:15.175 5: SMASI: ParseResponse called from HandleResponse, fc 144
2023.12.24 12:13:15.176 4: SMASI: HandleResponse got response with error code 90 / 03, illegal data value
2023.12.24 12:13:15.176 4: SMASI: HandleResponse done, current frame / read buffer: 00e400000003039003, id 3, fCode 144, tid 228,
request: id 3, write fc 16 h40075, len 2, value 046a, tid 228, master device SMASI, reading EigenverbraucherhoehungAktiv (set EigenverbraucherhoehungAktiv), queued 0.02 secs ago, sent 0.02 secs ago,
response: id 3, fc 144, error code 03, h40075, len 2
2023.12.24 12:13:15.176 5: SMASI: ResetExpect for HandleResponse from response to idle
2023.12.24 12:13:15.176 5: SMASI: DropFrame called from ReadAnswer - drop 00e400000003039003
2023.12.24 12:13:15.177 5: SMASI: set is sending read after write
2023.12.24 12:13:15.177 4: SMASI: DoRequest called from SetLDFn created new request, read buffer empty,
request: id 3, read fc 3 h40075, len 2, tid 48, master device SMASI, reading EigenverbraucherhoehungAktiv (set EigenverbraucherhoehungAktiv Rd),
response: no id, no fcode
2023.12.24 12:13:15.177 5: SMASI: QueueRequest called from DoRequest with h40075, qlen 0 from master SMASI through io device SMASI
2023.12.24 12:13:15.177 5: SMASI: ProcessRequestQueue called from QueueRequest as direct:SMASI, qlen 1, force, request: request: id 3, read fc 3 h40075, len 2, tid 48, master device SMASI, reading EigenverbraucherhoehungAktiv (set EigenverbraucherhoehungAktiv Rd), queued 0.00 secs ago
2023.12.24 12:13:15.178 5: SMASI: checkDelays commDelay, last communication with same device was 0.003 secs ago, required delay is 0.1
2023.12.24 12:13:15.178 5: SMASI: checkDelays sendDelay, last send to same device was 0.019 secs ago, required delay is 0.1
2023.12.24 12:13:15.178 5: SMASI: checkDelays busDelayRead, last activity on bus was 0.003 secs ago, required delay is 5
2023.12.24 12:13:15.178 5: SMASI: checkDelays clientSwitchDelay is not relevant
2023.12.24 12:13:15.179 4: SMASI: checkDelays found busDelayRead not over, sleep for 4.997 forced
2023.12.24 12:13:20.176 4: SMASI: checkDelays sleep done, go on with sending
2023.12.24 12:13:20.177 4: SMASI: ProcessRequestQueue (V4.5.6 - 7.11.2023) qlen 1, sending 00300000000603039c8b0002 via 192.168.1.34:502, read buffer empty,
request: id 3, read fc 3 h40075, len 2, tid 48, master device SMASI, reading EigenverbraucherhoehungAktiv (set EigenverbraucherhoehungAktiv Rd), queued 5.00 secs ago,
response: no id, no fcode

Die dem Commandline Tool ModPoll.exe kann ich den Wert beispielsweise mit dieser Zeile richtig schreiben

modpoll -m tcp -p 502 -a 3 -t4 -r 40075 -c 2 -10 192.168.1.34 0 1130

Wenn ich nun den Wert für Eigenverbraucherhöhung auf NEIN ändern möchte, muss die Zahl 1130 per ModBus in das Register 40075 geschrieben werde. Bei SMA ist noch die Eigenart, das ein Wert immer auf zwei Register verteilt ist. Am ehesten kann man das in WireShark zeigen → Siehe Screenshot. Dort habe ich jedoch den Wert 1129 verwendet, was dem HEX Wert 469 entspricht.


Die ModBus Register von SMA kennen diese Datentypen:
TypBeschreibungNaN-Wert
S16Vorzeichenbehaftetes Wort (16 Bit).0x8000
S32Vorzeichenbehaftetes Doppelwort (32 Bit).0x8000 0000
STR3232-Byte-Datenfeld, im Format UTF8.NULL
U16Ein Wort (16 Bit).0xFFFF
U32Ein Doppelwort (32 Bit).0xFFFF FFFF
U32F&uuml;r Statuswerte werden nur die unteren 24 Bit eines Doppelworts (32 Bit) verwendet.0xFFFF FD
U64Ein Vierfachwort (64 Bit).0xFFFF FFFF FFFF
FFFF

Und das Register h40075 ist als U32 →Doppelwort deklariert.


Ich habe die starke Vermutung, das es etwas mit
unpak zu tun haben muss. Zumal hier Werte zulässig sind, die nicht in der fhem Doku gelistet sind (C,a,usw.)




::) Was muss in in fhem einstellen, damit er den Wert so schreibt, wie es im dem Bild zu sehen ist?

fhem in Docker auf Lenovo m625q 16gb RAM/2TB SSD | div. SonOFF mit Tasmota | Shelly | busware CUL869 | Homematic | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT