{
    "info":{
        "protocol":["can_raw"],
        "model":"olipower_rack",
        "vendor":"欧力普",
        "version":"0.0.0-alpha",
        "type":"BMS",
        "url":"https://drive.weixin.qq.com/s?k=AIMAewc7AAgVc0MOHE"
    },
    "poll_list":[
        {"scan_rate":500,    "prot":["0x00004200", "0000000000000000", 1]},
        {"scan_rate":600000, "prot":["0x00004200", "0200000000000000", 1]},
        {"scan_rate":500,    "prot":["0x00004211"]},
        {"scan_rate":500,    "prot":["0x00004221"]},
        {"scan_rate":500,    "prot":["0x00004231"]},
        {"scan_rate":500,    "prot":["0x00004241"]},
        {"scan_rate":500,    "prot":["0x00004251"]},
        {"scan_rate":500,    "prot":["0x00004261"]},
        {"scan_rate":500,    "prot":["0x00004271"]},
        {"scan_rate":500,    "prot":["0x00004281"]},
        {"scan_rate":500,    "prot":["0x00004291"]},
        {"scan_rate":500,    "prot":["0x000042F1"]},
        {"scan_rate":600000, "prot":["0x00007321"]}
    ],
    "read_reg":[
        {"tag":"RackVoltage",          "name":"电池组总电压(V)",         "property":"realdata",    "history":"both",    "type":"float",    "offset":0,        "scale":0.1,      "prot":["0x00004211",    0,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackCurrent",          "name":"电池组电流(A)",           "property":"realdata",    "history":"both",    "type":"float",    "offset":-3000,    "scale":0.1,      "prot":["0x00004211",    2,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackAverageTemp",      "name":"电池组平均温度(℃)",       "property":"realdata",    "history":"both",    "type":"float",    "offset":-100,     "scale":0.1,      "prot":["0x00004211",    4,    "uint",  "AB",  0, 1, 0]},
        {"tag":"SOC",                  "name":"SOC(%)",                  "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004211",    6,    "uint",  "A",   0, 1, 0]},
        {"tag":"SOH",                  "name":"SOH(%)",                  "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004211",    7,    "uint",  "A",   0, 1, 0]},
        {"tag":"ChaCutOffVol",         "name":"充电截止电压(V)",         "property":"realdata",    "history":"both",    "type":"float",    "offset":0,        "scale":0.1,      "prot":["0x00004221",    0,    "uint",  "AB",  0, 1, 0]},
        {"tag":"DisCutOffVol",         "name":"放电截止电压(V)",         "property":"realdata",    "history":"both",    "type":"float",    "offset":0,        "scale":0.1,      "prot":["0x00004221",    2,    "uint",  "AB",  0, 1, 0]},
        {"tag":"MaxChaCur",            "name":"最大充电电流(A)",         "property":"realdata",    "history":"both",    "type":"float",    "offset":-3000,    "scale":0.1,      "prot":["0x00004221",    4,    "uint",  "AB",  0, 1, 0]},
        {"tag":"MaxDisCur",            "name":"最大放电电流(A)",         "property":"realdata",    "history":"both",    "type":"float",    "offset":-3000,    "scale":0.1,      "prot":["0x00004221",    6,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMaxVoltage",       "name":"最高单体电池电压(mV)",     "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004231",    0,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMinVoltage",       "name":"最低单体电池电压(mV)",     "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004231",    2,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMaxVolCellId",     "name":"最高单体电池电压编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004231",    4,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMinVolCellId",     "name":"最低单体电池电压编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004231",    6,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMaxTemp",          "name":"最高单体电池温度(℃)",     "property":"realdata",    "history":"both",    "type":"float",    "offset":-100,     "scale":0.1,      "prot":["0x00004241",    0,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMinTemp",          "name":"最低单体电池温度(℃)",     "property":"realdata",    "history":"both",    "type":"float",    "offset":-100,     "scale":0.1,      "prot":["0x00004241",    2,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMaxTempCellId",    "name":"最高单体电池温度编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004241",    4,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackMinTempCellId",    "name":"最低单体电池温度编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004241",    6,    "uint",  "AB",  0, 1, 0]},
        {"tag":"BasicStatus",          "name":"基本状态",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    0,    "uint",  "A",   0, 1, 0]},
        {"tag":"NumOfCycles",          "name":"循环次数",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    1,    "uint",  "AB",  0, 1, 0]},
        {"tag":"Fault",                "name":"故障",                    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "uint",  "A",   0, 1, 0]},
        {"tag":"Alarm",                "name":"告警",                    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "uint",  "AB",  0, 1, 0]},
        {"tag":"Protection",           "name":"保护",                    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "uint",  "AB",  0, 1, 0]},
        {"tag":"RackCagDsgState",      "name":"充放电状态",              "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    0,    "bits",  "AB",   0, 3, 0],"desc":"0:休眠;1:充电;2:放电;3:搁置;"},
        {"tag":"ForcedCharge",         "name":"请求强充",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    0,    "bits",  "AB",    3, 1, 0]},
        {"tag":"BalanceCharge",        "name":"请求均充",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    0,    "bits",  "AB",    4, 1, 0]},
        {"tag":"VolSenErr",            "name":"电压传感器故障",          "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "bits",  "AB",    0, 1, 0]},
        {"tag":"TempSenErr",           "name":"温度传感器故障",          "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "bits",  "AB",    1, 1, 0]},
        {"tag":"InComErr",             "name":"内部通信故障",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "bits",  "AB",    2, 1, 0]},
        {"tag":"InOverVolErr",         "name":"输入过压故障",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "bits",  "AB",    3, 1, 0]},
        {"tag":"InTransErr",           "name":"输入反接故障",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "bits",  "AB",    4, 1, 0]},
        {"tag":"RelayCheckErr",        "name":"继电器检测故障",          "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "bits",  "AB",    5, 1, 0]},
        {"tag":"OtherErr",             "name":"其他故障",                "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    3,    "bits",  "AB",    7, 1, 0]},
        {"tag":"CellLowVolAlarm",      "name":"电池单体低压告警",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    0, 1, 0]},
        {"tag":"CellHighVolAlarm",     "name":"电池单体高压告警",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    1, 1, 0]},
        {"tag":"DisSysLowVolAlarm",    "name":"电池组放电低压告警",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    2, 1, 0]},
        {"tag":"ChaSysLowVolAlarm",    "name":"电池组充电高压告警",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    3, 1, 0]},
        {"tag":"ChaCellLowTempAlarm",  "name":"充电低温告警",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    4, 1, 0]},
        {"tag":"ChaCellHighTempAlarm", "name":"充电高温告警",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    5, 1, 0]},
        {"tag":"DisCellLowTempAlarm",  "name":"放电低温告警",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    6, 1, 0]},
        {"tag":"DisCellHighTempAlarm", "name":"放电高温告警",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    7, 1, 0]},
        {"tag":"ChaOverCurAlarm",      "name":"电池组充电过流告警",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    8, 1, 0]},
        {"tag":"DisOverCurAlarm",      "name":"电池组放电过流告警",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    9, 1, 0]},
        {"tag":"ModLowVolAlarm",       "name":"电池模块低压告警",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    10, 1, 0]},
        {"tag":"ModHighVolAlarm",      "name":"电池模块高压告警",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    4,    "bits",  "AB",    11, 1, 0]},
        {"tag":"CellLowVolPro",        "name":"电池单体低压保护",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    0, 1, 0]},
        {"tag":"CellHighVolPro",       "name":"电池单体高压保护",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    1, 1, 0]},
        {"tag":"DisSysLowVolPro",      "name":"电池组放电低压保护",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    2, 1, 0]},
        {"tag":"ChaSysHighVolPro",     "name":"电池组充电高压保护",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    3, 1, 0]},
        {"tag":"ChaCellLowTempPro",    "name":"充电低温保护",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    4, 1, 0]},
        {"tag":"ChaCellHighTempPro",   "name":"充电高温保护",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    5, 1, 0]},
        {"tag":"DisCellLowTempPro",    "name":"放电低温保护",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    6, 1, 0]},
        {"tag":"DisCellHighTempPro",   "name":"放电高温保护",            "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    7, 1, 0]},
        {"tag":"ChaOverCurPro",        "name":"电池组充电过流保护",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    8, 1, 0]},
        {"tag":"DisOverCurPro",        "name":"电池组放电过流保护",      "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    9, 1, 0]},
        {"tag":"ModLowVolPro",         "name":"电池模块欠压保护",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    10, 1, 0]},
        {"tag":"ModHighVolPro",        "name":"电池模块过压保护",        "property":"alarm",       "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004251",    6,    "bits",  "AB",    11, 1, 0]},
        {"tag":"ModMaxVoltage",        "name":"最高电池模块电压(V)",     "property":"realdata",    "history":"both",    "type":"float",    "offset":0,        "scale":0.001,    "prot":["0x00004261",    0,    "uint",  "AB",    0, 1, 0]},
        {"tag":"ModMinVoltage",        "name":"最低电池模块电压(V)",     "property":"realdata",    "history":"both",    "type":"float",    "offset":0,        "scale":0.001,    "prot":["0x00004261",    2,    "uint",  "AB",    0, 1, 0]},
        {"tag":"MaxVolModuleId",       "name":"最高电池模块电压编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004261",    4,    "uint",  "AB",    0, 1, 0]},
        {"tag":"MinVolModuleId",       "name":"最低电池模块电压编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004261",    6,    "uint",  "AB",    0, 1, 0]},
        {"tag":"ModMaxTemp",           "name":"最高电池模块温度(℃)",     "property":"realdata",    "history":"both",    "type":"float",    "offset":-100,    "scale":0.1,       "prot":["0x00004271",    0,    "uint",  "AB",    0, 1, 0]},
        {"tag":"ModMinTemp",           "name":"最低电池模块温度(℃)",     "property":"realdata",    "history":"both",    "type":"float",    "offset":-100,    "scale":0.1,       "prot":["0x00004271",    2,    "uint",  "AB",    0, 1, 0]},
        {"tag":"MaxTempModuleId",      "name":"最高电池模块温度编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004271",    4,    "uint",  "AB",    0, 1, 0]},
        {"tag":"MinTempModuleId",      "name":"最低电池模块温度编号",    "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004271",    6,    "uint",  "AB",    0, 1, 0]},
        {"tag":"ChaForbidMark",        "name":"禁止充电标志",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004281",    0,    "uint",  "A",    0, 1, 0]},
        {"tag":"DisForbidMark",        "name":"禁止放电标志",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004281",    1,    "uint",  "A",    0, 1, 0]},
        {"tag":"HeartBeatVal",         "name":"心跳信号值",              "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004281",    2,    "uint",  "A",    0, 1, 0]},
        {"tag":"SOE",                  "name":"SOE(%)",					 "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004281",    3,    "uint",  "A",    0, 1, 0]},
        {"tag":"RackRunState",         "name":"系统运行状态",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004281",    4,    "uint",  "A",    0, 1, 0], "desc":"17:备用;34:启用;"},
		{"tag":"FaultExtension1",      "name":"故障扩展1",               "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004291",    0,    "uint",  "A",    0, 1, 0]},
        {"tag":"InsulationFault",      "name":"绝缘故障",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00004291",    0,    "bits",  "AB",    5, 1, 0]},
        {"tag":"SysStaFeedSig",        "name":"系统状态反馈信号",        "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "uint",  "ABCD",  0, 1, 0]},
        {"tag":"ChaPowerLimit",        "name":"充电功率上限",            "property":"realdata",    "history":"both",    "type":"float",    "offset":0,        "scale":0.1,      "prot":["0x000042F1",    4,    "uint",  "AB",    0, 1, 0]},
        {"tag":"DisPowerLimit",        "name":"放电功率上限",            "property":"realdata",    "history":"both",    "type":"float",    "offset":0,        "scale":0.1,      "prot":["0x000042F1",    6,    "uint",  "AB",    0, 1, 0]},
        {"tag":"PosRelayOff",          "name":"主正接触器断开",          "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    0, 1, 0]},
        {"tag":"NegRelayOff",          "name":"主负接触器断开",          "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    1, 1, 0]},
        {"tag":"TempAlarmTrig",        "name":"温感报警触发",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    2, 1, 0]},
        {"tag":"SmokeAlarmTrig",       "name":"烟感报警触发",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    3, 1, 0]},
        {"tag":"AerosolAlarmTrig",     "name":"气溶胶报警触发",          "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    4, 1, 0]},
        {"tag":"DoorAlarmTrig",        "name":"门禁报警触发",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    5, 1, 0]},
        {"tag":"StopAlarmTrig",        "name":"急停报警触发",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    6, 1, 0]},
        {"tag":"FireAlarmLevel2",      "name":"消防二级报警",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    7, 1, 0]},
        {"tag":"FireAlarmLevel3",      "name":"消防三级报警",            "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x000042F1",    0,    "bits",  "AB",    8, 1, 0]},
        {"tag":"BatModQty",            "name":"电池总数",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00007321",    0,    "uint",  "AB",    0, 1, 0]},
        {"tag":"BatModInSerQty",       "name":"串联电池模块个数",        "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00007321",    2,    "uint",  "A",    0, 1, 0]},
        {"tag":"CellQtyInBatMod",      "name":"模块中电池个数",          "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00007321",    3,    "uint",  "A",    0, 1, 0]},
        {"tag":"VolLevel",             "name":"电压平台",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00007321",    4,    "uint",  "AB",    0, 1, 0]},
        {"tag":"BatCapacity",          "name":"电池容量",                "property":"realdata",    "history":"both",    "type":"int",      "offset":0,        "scale":1,        "prot":["0x00007321",    6,    "uint",  "AB",    0, 1, 0]}
    ],
    "write_reg":[
    ]
}

