{ "className": "Test", "protocol": "BOTH", "endianness": "BigEndian", "checkReachableRegister": "unsignedLongWord", "errorLimitUntilNotReachable": 10, "enums": [ { "name": "TestEnum", "values": [ { "key": "Zero", "value": 0 }, { "key": "One", "value": 1 } ] } ], "blocks": [ { "id": "blockNameInit", "readSchedule": "init", "registers": [ { "id": "initBlockRegisterOne", "address": 100, "size": 2, "type": "int32", "registerType": "holdingRegister", "readSchedule": "update", "description": "Block register one", "staticScaleFactor": -3, "defaultValue": "0", "access": "RO" }, { "id": "initBlockRegisterTwo", "address": 102, "size": 2, "type": "int32", "registerType": "holdingRegister", "readSchedule": "update", "description": "Block register two", "defaultValue": "0", "access": "RO" } ] }, { "id": "blockNameUpdate", "readSchedule": "update", "registers": [ { "id": "blockRegisterOne", "address": 200, "size": 2, "type": "int32", "registerType": "holdingRegister", "readSchedule": "update", "description": "Block register one", "staticScaleFactor": -3, "defaultValue": "0", "access": "RO" }, { "id": "blockRegisterTwo", "address": 202, "size": 2, "type": "int32", "registerType": "holdingRegister", "readSchedule": "update", "description": "Block register two", "defaultValue": "0", "access": "RO" } ] } ], "registers": [ { "id": "nameRegister", "address": 30, "size": 10, "type": "string", "registerType": "holdingRegister", "readSchedule": "init", "description": "Name string register", "access": "RO" }, { "id": "unsignedLongWord", "address": 1, "size": 2, "type": "int32", "registerType": "holdingRegister", "readSchedule": "update", "description": "Unsigned long word register", "unit": "kW", "staticScaleFactor": -3, "defaultValue": "0", "access": "RO" }, { "id": "unsignedWord", "address": 3, "size": 1, "type": "uint16", "registerType": "holdingRegister", "readSchedule": "update", "description": "Unsigned word register", "unit": "s", "defaultValue": "0", "access": "RO" } ] }