{ "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": "Pad", "mandatory": "M", "name": "Pad2", "size": 1, "type": "pad" }, { "desc": "Pad register.", "label": "Pad", "mandatory": "M", "name": "Pad3", "size": 1, "type": "pad" }, { "desc": "Pad register.", "label": "Pad", "mandatory": "M", "name": "Pad4", "size": 1, "type": "pad" } ], "type": "group" }, "id": 804 }