{ "group": { "groups": [ { "count": 0, "name": "string", "points": [ { "desc": "Count of modules in the string.", "label": "Module Count", "mandatory": "M", "name": "StrNMod", "size": 1, "type": "uint16" }, { "desc": "Current status of the string.", "label": "String Status", "mandatory": "M", "name": "StrSt", "size": 2, "symbols": [ { "name": "STRING_ENABLED", "value": 0 }, { "name": "CONTACTOR_STATUS", "value": 1 } ], "type": "bitfield32" }, { "label": "Connection Failure Reason", "name": "StrConFail", "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": "Battery string state of charge, expressed as a percentage.", "label": "String State of Charge", "mandatory": "M", "name": "StrSoC", "sf": "SoC_SF", "size": 1, "type": "uint16", "units": "%" }, { "desc": "Battery string state of health, expressed as a percentage.", "label": "String State of Health", "name": "StrSoH", "sf": "SoH_SF", "size": 1, "type": "uint16", "units": "%" }, { "desc": "String current measurement.", "label": "String Current", "mandatory": "M", "name": "StrA", "sf": "A_SF", "size": 1, "type": "int16", "units": "A" }, { "desc": "Maximum voltage for all cells in the string.", "label": "Max Cell Voltage", "mandatory": "M", "name": "StrCellVMax", "sf": "CellV_SF", "size": 1, "type": "uint16", "units": "V" }, { "desc": "Module containing the maximum cell voltage.", "label": "Max Cell Voltage Module", "name": "StrCellVMaxMod", "size": 1, "type": "uint16" }, { "desc": "Minimum voltage for all cells in the string.", "label": "Min Cell Voltage", "mandatory": "M", "name": "StrCellVMin", "sf": "CellV_SF", "size": 1, "type": "uint16", "units": "V" }, { "desc": "Module containing the minimum cell voltage.", "label": "Min Cell Voltage Module", "name": "StrCellVMinMod", "size": 1, "type": "uint16" }, { "desc": "Average voltage for all cells in the string.", "label": "Average Cell Voltage", "mandatory": "M", "name": "StrCellVAvg", "sf": "CellV_SF", "size": 1, "type": "uint16", "units": "V" }, { "desc": "Maximum temperature for all modules in the bank.", "label": "Max Module Temperature", "mandatory": "M", "name": "StrModTmpMax", "sf": "ModTmp_SF", "size": 1, "type": "int16", "units": "C" }, { "desc": "Module with the maximum temperature.", "label": "Max Module Temperature Module", "name": "StrModTmpMaxMod", "size": 1, "type": "uint16" }, { "desc": "Minimum temperature for all modules in the bank.", "label": "Min Module Temperature", "mandatory": "M", "name": "StrModTmpMin", "sf": "ModTmp_SF", "size": 1, "type": "int16", "units": "C" }, { "desc": "Module with the minimum temperature.", "label": "Min Module Temperature Module", "name": "StrModTmpMinMod", "size": 1, "type": "uint16" }, { "desc": "Average temperature for all modules in the bank.", "label": "Average Module Temperature", "mandatory": "M", "name": "StrModTmpAvg", "sf": "ModTmp_SF", "size": 1, "type": "int16", "units": "C" }, { "desc": "Reason why the string is currently disabled.", "label": "Disabled Reason", "name": "StrDisRsn", "size": 1, "symbols": [ { "name": "NONE", "value": 0 }, { "name": "FAULT", "value": 1 }, { "name": "MAINTENANCE", "value": 2 }, { "name": "EXTERNAL", "value": 3 }, { "name": "OTHER", "value": 4 } ], "type": "enum16" }, { "desc": "Status of the contactor(s) for the string.", "label": "Contactor Status", "name": "StrConSt", "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": "StrEvt1", "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": "StrEvt2", "size": 2, "type": "bitfield32" }, { "desc": "Vendor defined events.", "label": "Vendor String Event Bitfield 1", "name": "StrEvtVnd1", "size": 2, "type": "bitfield32" }, { "desc": "Vendor defined events.", "label": "Vendor String Event Bitfield 2", "name": "StrEvtVnd2", "size": 2, "type": "bitfield32" }, { "access": "RW", "desc": "Enables and disables the string.", "label": "Enable/Disable String", "name": "StrSetEna", "size": 1, "symbols": [ { "name": "ENABLE_STRING", "value": 1 }, { "name": "DISABLE_STRING", "value": 2 } ], "type": "enum16" }, { "access": "RW", "desc": "Connects and disconnects the string.", "label": "Connect/Disconnect String", "name": "StrSetCon", "size": 1, "symbols": [ { "name": "CONNECT_STRING", "value": 1 }, { "name": "DISCONNECT_STRING", "value": 2 } ], "type": "enum16" }, { "desc": "Pad register.", "label": "Pad", "mandatory": "M", "name": "Pad1", "size": 1, "type": "pad" }, { "desc": "Pad register.", "label": "Pad", "mandatory": "M", "name": "Pad2", "size": 1, "type": "pad" } ], "type": "group" } ], "label": "Lithium-Ion Battery Bank Model", "name": "lithium_ion_bank", "points": [ { "desc": "Model identifier", "label": "Model ID", "mandatory": "M", "name": "ID", "size": 1, "static": "S", "type": "uint16", "value": 803 }, { "desc": "Model length", "label": "Model Length", "mandatory": "M", "name": "L", "size": 1, "static": "S", "type": "uint16" }, { "desc": "Number of strings in the bank.", "label": "String Count", "mandatory": "M", "name": "NStr", "size": 1, "type": "uint16" }, { "desc": "Number of strings with contactor closed.", "label": "Connected String Count", "mandatory": "M", "name": "NStrCon", "size": 1, "type": "uint16" }, { "desc": "Maximum temperature for all modules in the bank.", "label": "Max Module Temperature", "mandatory": "M", "name": "ModTmpMax", "sf": "ModTmp_SF", "size": 1, "type": "int16" }, { "desc": "String containing the module with maximum temperature.", "label": "Max Module Temperature String", "name": "ModTmpMaxStr", "size": 1, "type": "uint16" }, { "desc": "Module with maximum temperature.", "label": "Max Module Temperature Module", "name": "ModTmpMaxMod", "size": 1, "type": "uint16" }, { "desc": "Minimum temperature for all modules in the bank.", "label": "Min Module Temperature", "mandatory": "M", "name": "ModTmpMin", "sf": "ModTmp_SF", "size": 1, "type": "int16", "units": "C" }, { "desc": "String containing the module with minimum temperature.", "label": "Min Module Temperature String", "name": "ModTmpMinStr", "size": 1, "type": "uint16" }, { "desc": "Module with minimum temperature.", "label": "Min Module Temperature Module", "name": "ModTmpMinMod", "size": 1, "type": "uint16" }, { "desc": "Average temperature for all modules in the bank.", "label": "Average Module Temperature", "name": "ModTmpAvg", "size": 1, "type": "int16" }, { "desc": "Maximum string voltage for all strings in the bank.", "label": "Max String Voltage", "name": "StrVMax", "sf": "V_SF", "size": 1, "type": "uint16", "units": "V" }, { "desc": "String with maximum voltage.", "label": "Max String Voltage String", "name": "StrVMaxStr", "size": 1, "type": "uint16" }, { "desc": "Minimum string voltage for all strings in the bank.", "label": "Min String Voltage", "name": "StrVMin", "sf": "V_SF", "size": 1, "type": "uint16", "units": "V" }, { "desc": "String with minimum voltage.", "label": "Min String Voltage String", "name": "StrVMinStr", "size": 1, "type": "uint16" }, { "desc": "Average string voltage for all strings in the bank.", "label": "Average String Voltage", "name": "StrVAvg", "sf": "V_SF", "size": 1, "type": "uint16", "units": "V" }, { "desc": "Maximum current of any string in the bank.", "label": "Max String Current", "name": "StrAMax", "sf": "A_SF", "size": 1, "type": "int16", "units": "A" }, { "desc": "String with the maximum current.", "label": "Max String Current String", "name": "StrAMaxStr", "size": 1, "type": "uint16" }, { "desc": "Minimum current of any string in the bank.", "label": "Min String Current", "name": "StrAMin", "sf": "A_SF", "size": 1, "type": "int16", "units": "A" }, { "desc": "String with the minimum current.", "label": "Min String Current String", "name": "StrAMinStr", "size": 1, "type": "uint16" }, { "desc": "Average string current for all strings in the bank.", "label": "Average String Current", "name": "StrAAvg", "sf": "A_SF", "size": 1, "type": "int16", "units": "A" }, { "desc": "Total number of cells that are currently being balanced.", "label": "Battery Cell Balancing Count", "name": "NCellBal", "size": 1, "type": "uint16" }, { "desc": "Scale factor for cell voltage.", "mandatory": "M", "name": "CellV_SF", "size": 1, "type": "sunssf" }, { "desc": "Scale factor for module temperatures.", "mandatory": "M", "name": "ModTmp_SF", "size": 1, "type": "sunssf" }, { "desc": "Scale factor for string currents.", "mandatory": "M", "name": "A_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 state of charge.", "mandatory": "M", "name": "SoC_SF", "size": 1, "type": "sunssf" }, { "desc": "Scale factor for string voltage.", "name": "V_SF", "size": 1, "type": "sunssf" } ], "type": "group" }, "id": 803 }