23.04.2021, 06:46
Since the addressing starts from 1 you need to subtract 1 from each address. You also need to read from input registers (read-only), not normal registers. Then there's a separate register which stores the scaling factor. Newer firmwares have an option to do a read test not only for RTU but also for TCP. It's more convenient than creating profiles for testing.
Try this profile:
Try this profile:
Code:
{
"manufacturer": "Fronius",
"description": "Fronius Smartmeter TS 65A-3",
"mapping": [
{
"address": 2,
"address_scale": 6,
"bus_datatype": "float32",
"datatype": "int16",
"name": "AC Total Current value",
"type": "inputregister",
"units": "A",
"value_nan":[ 0x8000 ]
},
{
"address": 6,
"bus_datatype": "int16",
"datatype": "int16",
"internal": true,
"name": "A_SF",
"type": "inputregister",
"value_nan":[ 0x8000 ]
}
]
}