powersync-plugins-modbus/libnymea-sunspec/tools/models/json/model_804.json

796 lines
26 KiB
JSON

{
"group": {
"groups": [
{
"count": 0,
"name": "lithium_ion_string_module",
"points": [
{
"desc": "Count of all cells in the module.",
"label": "Module Cell Count",
"mandatory": "M",
"name": "ModNCell",
"size": 1,
"type": "uint16"
},
{
"desc": "Module state of charge, expressed as a percentage.",
"label": "Module SoC",
"name": "ModSoC",
"sf": "SoC_SF",
"size": 1,
"type": "uint16",
"units": "%"
},
{
"desc": "Module state of health, expressed as a percentage.",
"label": "Module SoH",
"name": "ModSoH",
"sf": "SoH_SF",
"size": 1,
"type": "uint16",
"units": "%"
},
{
"desc": "Maximum voltage for all cells in the module.",
"label": "Max Cell Voltage",
"mandatory": "M",
"name": "ModCellVMax",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Cell with maximum voltage.",
"label": "Max Cell Voltage Cell",
"name": "ModCellVMaxCell",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum voltage for all cells in the module.",
"label": "Min Cell Voltage",
"mandatory": "M",
"name": "ModCellVMin",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Cell with minimum voltage.",
"label": "Min Cell Voltage Cell",
"name": "ModCellVMinCell",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Average voltage for all cells in the module.",
"label": "Average Cell Voltage",
"mandatory": "M",
"name": "ModCellVAvg",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Maximum temperature for all cells in the module.",
"label": "Max Cell Temperature",
"mandatory": "M",
"name": "ModCellTmpMax",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Cell with maximum temperature.",
"label": "Max Cell Temperature Cell",
"name": "ModCellTmpMaxCell",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum temperature for all cells in the module.",
"label": "Min Cell Temperature",
"mandatory": "M",
"name": "ModCellTmpMin",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Cell with minimum temperature.",
"label": "Min Cell Temperature Cell",
"name": "ModCellTmpMinCell",
"size": 1,
"type": "uint16"
},
{
"desc": "Average temperature for all cells in the module.",
"label": "Average Cell Temperature",
"mandatory": "M",
"name": "ModCellTmpAvg",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Pad register.",
"label": "Pad",
"mandatory": "M",
"name": "Pad5",
"size": 1,
"type": "pad"
},
{
"desc": "Pad register.",
"label": "Pad",
"mandatory": "M",
"name": "Pad6",
"size": 1,
"type": "pad"
},
{
"desc": "Pad register.",
"label": "Pad",
"mandatory": "M",
"name": "Pad7",
"size": 1,
"type": "pad"
}
],
"type": "group"
}
],
"label": "Lithium-Ion String Model",
"name": "lithium_ion_string",
"points": [
{
"desc": "Model identifier",
"label": "Model ID",
"mandatory": "M",
"name": "ID",
"size": 1,
"static": "S",
"type": "uint16",
"value": 804
},
{
"desc": "Model length",
"label": "Model Length",
"mandatory": "M",
"name": "L",
"size": 1,
"static": "S",
"type": "uint16"
},
{
"desc": "Index of the string within the bank.",
"label": "String Index",
"mandatory": "M",
"name": "Idx",
"size": 1,
"type": "uint16"
},
{
"desc": "Count of modules in the string.",
"label": "Module Count",
"mandatory": "M",
"name": "NMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Current status of the string.",
"label": "String Status",
"mandatory": "M",
"name": "St",
"size": 2,
"symbols": [
{
"name": "STRING_ENABLED",
"value": 0
},
{
"name": "CONTACTOR_STATUS",
"value": 1
}
],
"type": "bitfield32"
},
{
"label": "Connection Failure Reason",
"name": "ConFail",
"size": 1,
"symbols": [
{
"name": "NO_FAILURE",
"value": 0
},
{
"name": "BUTTON_PUSHED",
"value": 1
},
{
"name": "STR_GROUND_FAULT",
"value": 2
},
{
"name": "OUTSIDE_VOLTAGE_RANGE",
"value": 3
},
{
"name": "STRING_NOT_ENABLED",
"value": 4
},
{
"name": "FUSE_OPEN",
"value": 5
},
{
"name": "CONTACTOR_FAILURE",
"value": 6
},
{
"name": "PRECHARGE_FAILURE",
"value": 7
},
{
"name": "STRING_FAULT",
"value": 8
}
],
"type": "enum16"
},
{
"desc": "Number of cells currently being balanced in the string.",
"label": "String Cell Balancing Count",
"name": "NCellBal",
"size": 1,
"type": "uint16"
},
{
"desc": "Battery string state of charge, expressed as a percentage.",
"label": "String State of Charge",
"mandatory": "M",
"name": "SoC",
"sf": "SoC_SF",
"size": 1,
"type": "uint16",
"units": "%"
},
{
"desc": "Depth of discharge for the string, expressed as a percentage.",
"label": "String Depth of Discharge",
"name": "DoD",
"sf": "DoD_SF",
"size": 1,
"type": "uint16",
"units": "%"
},
{
"desc": "Number of discharge cycles executed upon the string.",
"label": "String Cycle Count",
"name": "NCyc",
"size": 2,
"type": "uint32"
},
{
"desc": "Battery string state of health, expressed as a percentage.",
"label": "String State of Health",
"name": "SoH",
"sf": "SoH_SF",
"size": 1,
"type": "uint16",
"units": "%"
},
{
"desc": "String current measurement.",
"label": "String Current",
"mandatory": "M",
"name": "A",
"sf": "A_SF",
"size": 1,
"type": "int16",
"units": "A"
},
{
"desc": "String voltage measurement.",
"label": "String Voltage",
"name": "V",
"sf": "V_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Maximum voltage for all cells in the string.",
"label": "Max Cell Voltage",
"mandatory": "M",
"name": "CellVMax",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Module containing the cell with maximum cell voltage.",
"label": "Max Cell Voltage Module",
"name": "CellVMaxMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum voltage for all cells in the string.",
"label": "Min Cell Voltage",
"mandatory": "M",
"name": "CellVMin",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Module containing the cell with minimum cell voltage.",
"label": "Min Cell Voltage Module",
"name": "CellVMinMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Average voltage for all cells in the string.",
"label": "Average Cell Voltage",
"mandatory": "M",
"name": "CellVAvg",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Maximum temperature for all modules in the string.",
"label": "Max Module Temperature",
"mandatory": "M",
"name": "ModTmpMax",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Module with the maximum temperature.",
"label": "Max Module Temperature Module",
"mandatory": "M",
"name": "ModTmpMaxMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum temperature for all modules in the string.",
"label": "Min Module Temperature",
"mandatory": "M",
"name": "ModTmpMin",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Module with the minimum temperature.",
"label": "Min Module Temperature Module",
"mandatory": "M",
"name": "ModTmpMinMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Average temperature for all modules in the string.",
"label": "Average Module Temperature",
"mandatory": "M",
"name": "ModTmpAvg",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Pad register.",
"label": "Pad",
"mandatory": "M",
"name": "Pad1",
"size": 1,
"type": "pad"
},
{
"desc": "Status of the contactor(s) for the string.",
"label": "Contactor Status",
"name": "ConSt",
"size": 2,
"symbols": [
{
"name": "CONTACTOR_0",
"value": 0
},
{
"name": "CONTACTOR_1",
"value": 1
},
{
"name": "CONTACTOR_2",
"value": 2
},
{
"name": "CONTACTOR_3",
"value": 3
},
{
"name": "CONTACTOR_4",
"value": 4
},
{
"name": "CONTACTOR_5",
"value": 5
},
{
"name": "CONTACTOR_6",
"value": 6
},
{
"name": "CONTACTOR_7",
"value": 7
},
{
"name": "CONTACTOR_8",
"value": 8
},
{
"name": "CONTACTOR_9",
"value": 9
},
{
"name": "CONTACTOR_10",
"value": 10
},
{
"name": "CONTACTOR_11",
"value": 11
},
{
"name": "CONTACTOR_12",
"value": 12
},
{
"name": "CONTACTOR_13",
"value": 13
},
{
"name": "CONTACTOR_14",
"value": 14
},
{
"name": "CONTACTOR_15",
"value": 15
},
{
"name": "CONTACTOR_16",
"value": 16
},
{
"name": "CONTACTOR_17",
"value": 17
},
{
"name": "CONTACTOR_18",
"value": 18
},
{
"name": "CONTACTOR_19",
"value": 19
},
{
"name": "CONTACTOR_20",
"value": 20
},
{
"name": "CONTACTOR_21",
"value": 21
},
{
"name": "CONTACTOR_22",
"value": 22
},
{
"name": "CONTACTOR_23",
"value": 23
},
{
"name": "CONTACTOR_24",
"value": 24
},
{
"name": "CONTACTOR_25",
"value": 25
},
{
"name": "CONTACTOR_26",
"value": 26
},
{
"name": "CONTACTOR_27",
"value": 27
},
{
"name": "CONTACTOR_28",
"value": 28
},
{
"name": "CONTACTOR_29",
"value": 29
},
{
"name": "CONTACTOR_30",
"value": 30
}
],
"type": "bitfield32"
},
{
"desc": "Alarms, warnings and status values. Bit flags.",
"label": "String Event 1",
"mandatory": "M",
"name": "Evt1",
"size": 2,
"symbols": [
{
"name": "COMMUNICATION_ERROR",
"value": 0
},
{
"name": "OVER_TEMP_ALARM",
"value": 1
},
{
"name": "OVER_TEMP_WARNING",
"value": 2
},
{
"name": "UNDER_TEMP_ALARM",
"value": 3
},
{
"name": "UNDER_TEMP_WARNING",
"value": 4
},
{
"name": "OVER_CHARGE_CURRENT_ALARM",
"value": 5
},
{
"name": "OVER_CHARGE_CURRENT_WARNING",
"value": 6
},
{
"name": "OVER_DISCHARGE_CURRENT_ALARM",
"value": 7
},
{
"name": "OVER_DISCHARGE_CURRENT_WARNING",
"value": 8
},
{
"name": "OVER_VOLT_ALARM",
"value": 9
},
{
"name": "OVER_VOLT_WARNING",
"value": 10
},
{
"name": "UNDER_VOLT_ALARM",
"value": 11
},
{
"name": "UNDER_VOLT_WARNING",
"value": 12
},
{
"name": "UNDER_SOC_MIN_ALARM",
"value": 13
},
{
"name": "UNDER_SOC_MIN_WARNING",
"value": 14
},
{
"name": "OVER_SOC_MAX_ALARM",
"value": 15
},
{
"name": "OVER_SOC_MAX_WARNING",
"value": 16
},
{
"name": "VOLTAGE_IMBALANCE_WARNING",
"value": 17
},
{
"name": "TEMPERATURE_IMBALANCE_ALARM",
"value": 18
},
{
"name": "TEMPERATURE_IMBALANCE_WARNING",
"value": 19
},
{
"name": "CONTACTOR_ERROR",
"value": 20
},
{
"name": "FAN_ERROR",
"value": 21
},
{
"name": "GROUND_FAULT",
"value": 22
},
{
"name": "OPEN_DOOR_ERROR",
"value": 23
},
{
"name": "RESERVED_1",
"value": 24
},
{
"name": "OTHER_ALARM",
"value": 25
},
{
"name": "OTHER_WARNING",
"value": 26
},
{
"name": "RESERVED_2",
"value": 27
},
{
"name": "CONFIGURATION_ALARM",
"value": 28
},
{
"name": "CONFIGURATION_WARNING",
"value": 29
}
],
"type": "bitfield32"
},
{
"desc": "Alarms, warnings and status values. Bit flags.",
"label": "String Event 2",
"name": "Evt2",
"size": 2,
"type": "bitfield32"
},
{
"desc": "Vendor defined events.",
"label": "Vendor Event Bitfield 1",
"name": "EvtVnd1",
"size": 2,
"type": "bitfield32"
},
{
"desc": "Vendor defined events.",
"label": "Vendor Event Bitfield 2",
"name": "EvtVnd2",
"size": 2,
"type": "bitfield32"
},
{
"access": "RW",
"desc": "Enables and disables the string. Should reset to 0 upon completion.",
"label": "Enable/Disable String",
"name": "SetEna",
"size": 1,
"type": "enum16"
},
{
"access": "RW",
"desc": "Connects and disconnects the string.",
"label": "Connect/Disconnect String",
"name": "SetCon",
"size": 1,
"symbols": [
{
"name": "CONNECT_STRING",
"value": 1
},
{
"name": "DISCONNECT_STRING",
"value": 2
}
],
"type": "enum16"
},
{
"desc": "Scale factor for string state of charge.",
"mandatory": "M",
"name": "SoC_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string state of health.",
"name": "SoH_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string depth of discharge.",
"name": "DoD_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string current.",
"mandatory": "M",
"name": "A_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string voltage.",
"name": "V_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for cell voltage.",
"mandatory": "M",
"name": "CellV_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for module temperature.",
"mandatory": "M",
"name": "ModTmp_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Pad register.",
"label": "Pad2",
"mandatory": "M",
"name": "Pad2",
"size": 1,
"type": "pad"
},
{
"desc": "Pad register.",
"label": "Pad3",
"mandatory": "M",
"name": "Pad3",
"size": 1,
"type": "pad"
},
{
"desc": "Pad register.",
"label": "Pad4",
"mandatory": "M",
"name": "Pad4",
"size": 1,
"type": "pad"
}
],
"type": "group"
},
"id": 804
}