Logic Machine Forum
Help Modbus Datatype - Printable Version

+- Logic Machine 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.