LogicMachine Forum
Help Modbus Datatype - Printable Version

+- LogicMachine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Gateway (https://forum.logicmachine.net/forumdisplay.php?fid=10)
+--- Thread: Help Modbus Datatype (/showthread.php?tid=4707)



Help Modbus Datatype - Hiller - 11.04.2023

Hi Everybody,

I try to conect my Tecalor / Stiebel Eltron heat pump to my KNX System over Modbus TCP IP. With the Modbus Profile Generator I generated a Profile which works, but I got Problems white the Modbus Datatype and Bus Datatype. When I read the Inputregister its wrong, for Exampel it shows 23C in reality its 6,7C.

I don't Understand which datatype I need to use. The documentation of my Heat Pump:

   

Code:
{   "manufacturer": "Tecalor",   "description": "THZ",   "mapping": [     {       "name": "RAUMISTTEMP",       "address": 1,       "bus_datatype": "float16",       "datatype": "float16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "RAUMSOLLTEMP",       "address": 2,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "AUSSENTEMPERATUR",       "address": 7,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "ISTWERT-HK1",       "address": 8,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "SOLLWERT-HK1",       "address": 9,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "VORLAUFTEMP",       "address": 12,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "RUECKLAUFTEMP",       "address": 13,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "WW -ISTTEMP",       "address": 16,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "WW -SOLLTEMP",       "address": 17,       "bus_datatype": "int16",       "datatype": "int16",       "type": "inputregister",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "RAUMTEMP-TAG",       "address": 1002,       "bus_datatype": "int16",       "datatype": "int16",       "type": "register",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "RAUMTEMP-NACHT",       "address": 1003,       "bus_datatype": "int16",       "datatype": "int16",       "type": "register",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "WW -SOLL-TAG",       "address": 1012,       "bus_datatype": "int16",       "datatype": "int16",       "type": "register",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "WW -SOLL-NACHT",       "address": 1013,       "bus_datatype": "int16",       "datatype": "int16",       "type": "register",       "units": "\u00B0C",       "value_multiplier": 0.1     },     {       "name": "STUFE -TAG",       "address": 1018,       "bus_datatype": "uint16",       "datatype": "uint16",       "type": "register",       "units": "Stufe",       "value_multiplier": 1     },     {       "name": "STUFE -NACHT",       "address": 1019,       "bus_datatype": "uint16",       "datatype": "uint16",       "type": "register",       "units": "Stufe",       "value_multiplier": 1     }   ] }



RE: Help Modbus Datatype - admin - 12.04.2023

For values that have a 0.1 multiplier use these settings:
Code:
"bus_datatype": "float16", "datatype": "int16"
Use read test to verify that the addresses are correct (set the datatype to int16 not float16). Sometimes you have to subtract 1 from the documented addresses.


RE: Help Modbus Datatype - Hiller - 12.04.2023

Hi admin,

thank you for the fast answer.

Its what you said, the register adress is shiftet... when I want to read adress 7 I need to read adress 6.