mirror of
https://gitee.com/js-yhsec/energy_storage.git
synced 2026-05-27 18:59:26 +08:00
1.新增服务端UI界面,显示服务基础信息。2.修改设备显示配置。3.监控页面储能系统显示储能模式,模式设置新增'手动'
This commit is contained in:
BIN
bin/Release/assets/config-online/EMU对外通信点表最终修改1版_v9.xlsx
Normal file
BIN
bin/Release/assets/config-online/EMU对外通信点表最终修改1版_v9.xlsx
Normal file
Binary file not shown.
36
bin/Release/assets/config-online/app.json
Normal file
36
bin/Release/assets/config-online/app.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"debug":0,
|
||||
"windowEnabled": 1,
|
||||
"launchdate": "2025-09-01",
|
||||
"weburl": "http://127.0.0.1:19601/",
|
||||
"exportpath": "D:/Programs/openresty-1.27.1.1-win64/zdownload",
|
||||
"database": {"host": "localhost", "port": 3306, "user": "root", "passwd": "jsyh@2025", "dbname": "ess"},
|
||||
"http": {"token":0, "port": 19800, "encryption":0, "encryptKey":""},
|
||||
"mqtt": {"host":"mqtt://118.195.161.113:8883","username":"admin","password":"jsyh@2025", "interval": 120},
|
||||
"topic": {
|
||||
"EMS_YX": {"deviceType":101, "polling":0, "enabled": 1},
|
||||
"EMS_YC": {"deviceType":101, "polling":0, "enabled": 1},
|
||||
"EMS_YT": {"deviceType":101, "polling":0, "enabled": 1},
|
||||
"PCS_YX": {"deviceType":102, "polling":1, "enabled": 1},
|
||||
"PCS_YC": {"deviceType":102, "polling":1, "enabled": 1},
|
||||
"PCU_YX": {"deviceType":103, "polling":0, "enabled": 1},
|
||||
"PCU_YC": {"deviceType":103, "polling":0, "enabled": 1},
|
||||
"BMS_YX": {"deviceType":104, "polling":0, "enabled": 1},
|
||||
"BMS_YC": {"deviceType":104, "polling":0, "enabled": 1},
|
||||
"BCU_YC": {"deviceType":105, "polling":1, "enabled": 1},
|
||||
"BCU_YX": {"deviceType":105, "polling":1, "enabled": 1},
|
||||
"MEM_YC": {"deviceType":3, "polling":0, "enabled": 1},
|
||||
"TH_YC": {"deviceType":10, "polling":1, "enabled": 1},
|
||||
"Fire40_YX": {"deviceType":7, "polling":1, "enabled": 1},
|
||||
"Cooling_YC": {"deviceType":14, "polling":1, "enabled": 1},
|
||||
"Cooling_YX": {"deviceType":14, "polling":1, "enabled": 1},
|
||||
"Gateway_YX": {"deviceType":15, "polling":1, "enabled": 1},
|
||||
"Gateway_YC": {"deviceType":15, "polling":1, "enabled": 1},
|
||||
"Charger_YC": {"deviceType":106, "polling":0, "enabled": 1}
|
||||
},
|
||||
"view": {"latitude":0,"longitude":0,"altitude":0},
|
||||
"video": {
|
||||
"1":{"host":"", "port":9000, "user":"", "passwd":""}
|
||||
},
|
||||
"statistics": {"enabled": 1, "interval": 60}
|
||||
}
|
||||
109
bin/Release/assets/config-online/bak.monitoraddr.json
Normal file
109
bin/Release/assets/config-online/bak.monitoraddr.json
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"EMS":{
|
||||
"deviceType":101,
|
||||
"addr_YC":[
|
||||
["A相电压", "0x107E", "0.0", " V", "1"],
|
||||
["A相电流", "0x1084", "0.0", " A"],
|
||||
["B相电压", "0x1080", "0.0", " V", "1"],
|
||||
["B相电流", "0x1086", "0.0", " A"],
|
||||
["C相电压", "0x1082", "0.0", " V", "1"],
|
||||
["C相电流", "0x1088", "0.0", " A"]
|
||||
],
|
||||
"addr_YX": [ ]
|
||||
},
|
||||
"PCS":{
|
||||
"deviceType":102,
|
||||
"addr_YC":[
|
||||
["A相电压", "0x0010", "0.0", " V", "1"],
|
||||
["A相电流", "0x0019", "0.0", " A"],
|
||||
["B相电压", "0x0011", "0.0", " V", "1"],
|
||||
["B相电流", "0x001A", "0.0", " A"],
|
||||
["C相电压", "0x0011", "0.0", " V", "1"],
|
||||
["C相电流", "0x001B", "0.0", " A"]
|
||||
],
|
||||
"addr_YX": [ ]
|
||||
},
|
||||
"PCU":{
|
||||
"deviceType":103,
|
||||
"addr_YC":[
|
||||
["A相电压", "0x0013", "0.0", " V", "1"],
|
||||
["A相电流", "0x001C", "0.0", " A"],
|
||||
["B相电压", "0x0014", "0.0", " V", "1"],
|
||||
["B相电流", "0x001D", "0.0", " A"],
|
||||
["C相电压", "0x0015", "0.0", " V", "1"],
|
||||
["C相电流", "0x001E", "0.0", " A"]
|
||||
],
|
||||
"addr_YX": [ ]
|
||||
},
|
||||
"BMS":{
|
||||
"deviceType":104,
|
||||
"addr_YC":[
|
||||
["SOC", "0x0001", "0", " %", "0.1"],
|
||||
["SOH", "0x0002", "0", " %", "0.1"],
|
||||
["电压", "0x0003", "0.0", " V", "0.1"],
|
||||
["电流", "0x0005", "0.0", " A", "0.1"],
|
||||
["单体最大电压", "0x0021", "0.0", " V", "0.1"],
|
||||
["单体最小电压", "0x0024", "0.0", " V", "0.1"],
|
||||
["单体最大温度", "0x0029", "0.0", " ℃", "0.1"],
|
||||
["单体最小温度", "0x002C", "0.0", " ℃", "0.1"]
|
||||
],
|
||||
"addr_YX": [ ]
|
||||
},
|
||||
"BCU":{
|
||||
"deviceType":105,
|
||||
"addr_YC":[
|
||||
["簇电压", "0x0003", "0.0", " V", "0.1"],
|
||||
["簇电流", "0x0005", "0", " A", "0.1"],
|
||||
["簇温度", "0x0007", "0.0", " ℃", "0.1"],
|
||||
["簇电阻", "0x0009", "0.0", " Ω"],
|
||||
["簇SOC", "0x000B", "0", " %", "0.1"],
|
||||
["簇SOH", "0x000C", "0", " %", "0.1"]
|
||||
],
|
||||
"addr_YX": [ ]
|
||||
},
|
||||
"MEM":{
|
||||
"deviceType":3,
|
||||
"addr_YC":[
|
||||
["A相电压", "0x000B", "0.0", " V"],
|
||||
["A相电流", "0x000D", "0.0", " A"],
|
||||
["B相电压", "0x000F", "0.0", " V"],
|
||||
["B相电流", "0x0011", "0.0", " A"],
|
||||
["C相电压", "0x0013", "0.0", " V"],
|
||||
["C相电流", "0x0015", "0.0", " A"]
|
||||
],
|
||||
"addr_YX": [ ]
|
||||
},
|
||||
"TH": {
|
||||
"deviceType":10,
|
||||
"addr_YC":[
|
||||
["温度", "0x0003", "0.0", " ℃", "0.1"],
|
||||
["湿度", "0x0004", "0.0", " %", "0.1"]
|
||||
],
|
||||
"addr_YX": [ ]
|
||||
},
|
||||
"Cooling": {
|
||||
"deviceType":14,
|
||||
"addr_YC":[
|
||||
["开关", "0x1003", "0", "", "1"],
|
||||
["采样模式", "0x1004", "0", "", "1"],
|
||||
["制冷状态", "0x1005", "0", "", "1"],
|
||||
["制热状态", "0x1006", "0", "", "1"],
|
||||
["高温告警", "0x1007", "0", "", "1"],
|
||||
["低温告警", "0x1008", "0", "", "1"],
|
||||
["高压告警", "0x1009", "0", "", "1"],
|
||||
["低压告警", "0x100A", "0", "", "1"]
|
||||
]
|
||||
},
|
||||
"Charger": {
|
||||
"deviceType":106,
|
||||
"addr_YC":[
|
||||
["需求电压", "31071", "0.0", " V"],
|
||||
["需求电流", "31073", "0.0", " A"],
|
||||
["需求功率", "31075", "0.0", " kW"],
|
||||
["功率限值", "31077", "0.0", " kW"],
|
||||
["输出电压", "31079", "0.0", " V"],
|
||||
["输出电流", "31081", "0.0", " A"],
|
||||
["输出功率", "31083", "0.0", " kW"]
|
||||
]
|
||||
}
|
||||
}
|
||||
61
bin/Release/assets/config-online/pyregaddrs.py
Normal file
61
bin/Release/assets/config-online/pyregaddrs.py
Normal file
@@ -0,0 +1,61 @@
|
||||
from openpyxl import load_workbook
|
||||
|
||||
def read_cell(sheet, row, col):
|
||||
val = str(sheet.cell(row, col).value)
|
||||
if val == "None":
|
||||
val = ""
|
||||
return val.strip()
|
||||
|
||||
def read_sheet(wb, topic, sht_name):
|
||||
sheet = wb[sht_name]
|
||||
|
||||
text = ""
|
||||
for i in range(2, sheet.max_row+1):
|
||||
# print(str(sheet.cell(i, 1).value))
|
||||
addr = read_cell(sheet, i, 8)
|
||||
name = read_cell(sheet,i, 2)
|
||||
datatype = read_cell(sheet,i, 4)
|
||||
unit = read_cell(sheet, i, 5)
|
||||
is_alert = (read_cell(sheet, i, 7) == "告警")
|
||||
remark = read_cell(sheet, i, 6)
|
||||
|
||||
if (len(addr) <= 6 and len(addr) >=2 and addr != "寄存器地址"):
|
||||
if (len(unit)>0):
|
||||
remark += '(' + unit + ')'
|
||||
if (len(text)>0):
|
||||
text += ',\n'
|
||||
text += '\t\t\t{"key": "%s", "datatype": "%s", "alert": %d, "name":"%s", "remark": "%s"}' % (addr, datatype, is_alert, name, remark.replace("\n", ""))
|
||||
|
||||
|
||||
if (len(text)>0):
|
||||
text = "\n" + text + "\n\t\t"
|
||||
text = '\t"%s":{\n\t\t"addr":[%s]\n\t}' % (topic, text)
|
||||
return text
|
||||
|
||||
|
||||
wb = load_workbook('EMU对外通信点表最终修改1版_v9.xlsx', data_only=True)
|
||||
|
||||
text = ""
|
||||
text = read_sheet(wb, "EMS_YT", "EMS遥调")
|
||||
text += ',\n' + read_sheet(wb, "EMS_YX", "EMS遥信")
|
||||
text += ',\n' + read_sheet(wb, "EMS_YC", "EMS遥测")
|
||||
text += ',\n' + read_sheet(wb, "PCU_YC", "PCU遥测")
|
||||
text += ',\n' + read_sheet(wb, "PCU_YX", "PCU遥信")
|
||||
text += ',\n' + read_sheet(wb, "PCS_YC", "PCS遥测")
|
||||
text += ',\n' + read_sheet(wb, "PCS_YX", "PCS遥信")
|
||||
text += ',\n' + read_sheet(wb, "BMS_YC", "BMS电池堆遥测")
|
||||
text += ',\n' + read_sheet(wb, "BCU_YC", "BCU电池簇遥测")
|
||||
text += ',\n' + read_sheet(wb, "BCU_YX", "BCU电池簇遥信")
|
||||
# text += ',\n' + read_sheet(wb, "AirC_YC", "空调遥测")
|
||||
# text += ',\n' + read_sheet(wb, "AirC_YX", "空调遥信")
|
||||
text += ',\n' + read_sheet(wb, "MEM_YC", "多功能电表遥测")
|
||||
text += ',\n' + read_sheet(wb, "TH_YC", "温湿度状态遥测")
|
||||
text += ',\n' + read_sheet(wb, "Fire40_YX", "消防4.0遥信")
|
||||
text += ',\n' + read_sheet(wb, "Cooling_YC", "冷机遥测")
|
||||
text += ',\n' + read_sheet(wb, "Cooling_YX", "冷机遥信")
|
||||
text += ',\n' + read_sheet(wb, "Gateway_YC", "网关遥测")
|
||||
text += ',\n' + read_sheet(wb, "Gateway_YX", "网关遥信")
|
||||
text += ',\n' + read_sheet(wb, "Charger_YC", "充电桩遥测")
|
||||
|
||||
with open('regaddrs.json', 'w', encoding='utf-8') as f:
|
||||
f.write("{\n" + text + "\n}")
|
||||
890
bin/Release/assets/config-online/regaddrs.bak.json
Normal file
890
bin/Release/assets/config-online/regaddrs.bak.json
Normal file
@@ -0,0 +1,890 @@
|
||||
{
|
||||
"EMS_YT":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "EMS工作模式0:无效1:本地控制模式, EMS不接受平台调控2:平台控制模式, EMS接收平台调控指令(-)"},
|
||||
{"key": "0x0002", "datatype": "int16", "remark": "有功功率并网恒功率模式下交流侧功率值:<0: 充电功率0: 静置>0: 放电功率(kW)"},
|
||||
{"key": "0x0003", "datatype": "uint16", "remark": "PCS开关机0: 关机1: 开机(-)"},
|
||||
{"key": "0x0004", "datatype": "uint16", "remark": "主控对象储能遥控对象:0:无效1:华云2:轻舟"},
|
||||
{"key": "0x0005", "datatype": "int16", "remark": "A相有功功率(1kW)"},
|
||||
{"key": "0x0006", "datatype": "int16", "remark": "B相有功功率(1kW)"},
|
||||
{"key": "0x0007", "datatype": "int16", "remark": "C相有功功率(1kW)"},
|
||||
{"key": "0x0008", "datatype": "int16", "remark": "三相总有功功率(1kW)"},
|
||||
{"key": "0x0009", "datatype": "int16", "remark": "A相无功功率(1kVar)"},
|
||||
{"key": "0x000A", "datatype": "int16", "remark": "B相无功功率(1kVar)"},
|
||||
{"key": "0x000B", "datatype": "int16", "remark": "C相无功功率(1kVar)"},
|
||||
{"key": "0x000C", "datatype": "int16", "remark": "三相总无功功率(1kVar)"},
|
||||
{"key": "0x000D", "datatype": "int16", "remark": "A相电流(0.01A)"},
|
||||
{"key": "0x000E", "datatype": "int16", "remark": "B相电流(0.01A)"},
|
||||
{"key": "0x000F", "datatype": "int16", "remark": "C相电流(0.01A)"},
|
||||
{"key": "0x0010", "datatype": "uint16", "remark": "A相电压(1V)"},
|
||||
{"key": "0x0011", "datatype": "uint16", "remark": "B相电压(1V)"},
|
||||
{"key": "0x0012", "datatype": "uint16", "remark": "C相电压(1V)"},
|
||||
{"key": "0x0013", "datatype": "int16", "remark": "A相交流功率因数(0.01)"},
|
||||
{"key": "0x0014", "datatype": "int16", "remark": "B相交流功率因数(0.01)"},
|
||||
{"key": "0x0015", "datatype": "int16", "remark": "C相交流功率因数(0.01)"},
|
||||
{"key": "0x0016", "datatype": "int16", "remark": "A相视在功率(1kVA)"},
|
||||
{"key": "0x0017", "datatype": "int16", "remark": "B相视在功率(1kVA)"},
|
||||
{"key": "0x0018", "datatype": "int16", "remark": "C相视在功率(1kVA)"},
|
||||
{"key": "0x0019", "datatype": "int16", "remark": "正向总有功总需量(1kW)"},
|
||||
{"key": "0x001A", "datatype": "int16", "remark": "数据有效性0无效 1有效"},
|
||||
{"key": "0x001B", "datatype": "uint16", "remark": "EMS工作模式0:无效1:本地控制模式, EMS不接受平台调控2:平台控制模式, EMS接收平台调控指令(-)"},
|
||||
{"key": "0x001C", "datatype": "uint16", "remark": "有功功率并网恒功率模式下交流侧功率值:功率绝对值 没有正负(kW)"},
|
||||
{"key": "0x001D", "datatype": "uint16", "remark": "充放电类型0: 关机1: 充电2:放电3:待机(-)"},
|
||||
{"key": "0x001E", "datatype": "uint16", "remark": "最大SOC"},
|
||||
{"key": "0x001F", "datatype": "uint16", "remark": "最小SOC"},
|
||||
{"key": "0x0020", "datatype": "uint16", "remark": "自动并离网0:手动1:自动"},
|
||||
{"key": "0x0021", "datatype": "uint16", "remark": "并网离网0:并网1:离网"}
|
||||
]
|
||||
},
|
||||
"EMS_YX":{
|
||||
"addr":[
|
||||
{"key": "0x2001", "datatype": "uint16", "remark": "BMS(电池堆)通信状态0:正常1:故障"},
|
||||
{"key": "0x2002", "datatype": "uint64", "remark": "BCU(电池簇)通信状态0:正常1:故障"},
|
||||
{"key": "0x2006", "datatype": "uint16", "remark": "PCU(主控)通信状态0:正常1:故障"},
|
||||
{"key": "0x2007", "datatype": "uint64", "remark": "PCS(模块)通信状态0:正常1:故障"},
|
||||
{"key": "0x200B", "datatype": "uint16", "remark": "电表总接点通信状态0:正常1:故障"},
|
||||
{"key": "0x200C", "datatype": "uint32", "remark": "电表通信状态0:正常1:故障"},
|
||||
{"key": "0x200E", "datatype": "uint16", "remark": "消防通信状态0:正常1:故障"},
|
||||
{"key": "0x200F", "datatype": "uint16", "remark": "UPS通信状态0:正常1:故障"},
|
||||
{"key": "0x2010", "datatype": "uint16", "remark": "温湿度总接点通信状态0:正常1:故障"},
|
||||
{"key": "0x2011", "datatype": "uint32", "remark": "温湿度通信状态0:正常1:故障"},
|
||||
{"key": "0x2013", "datatype": "uint16", "remark": "空调总接点通信状态0:正常1:故障"},
|
||||
{"key": "0x2014", "datatype": "uint32", "remark": "空调通信状态0:正常1:故障"},
|
||||
{"key": "0x2016", "datatype": "uint16", "remark": "控制干接点(配电系统)状态0:开路1:闭合"},
|
||||
{"key": "0x2017", "datatype": "uint16", "remark": "状态干接点(配电系统)状态0:开路1:闭合"},
|
||||
{"key": "0x2018", "datatype": "uint16", "remark": "BCU总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x2019", "datatype": "uint16", "remark": "PCU总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201A", "datatype": "uint16", "remark": "电表总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201B", "datatype": "uint16", "remark": "消防总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201C", "datatype": "uint16", "remark": "UPS总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201D", "datatype": "uint16", "remark": "温湿度总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201E", "datatype": "uint16", "remark": "空调总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201F", "datatype": "uint16", "remark": "EMU通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x2020", "datatype": "uint16", "remark": "冷机总通信状态0:正常 1:告警 2:故障"},
|
||||
{"key": "0x2021", "datatype": "uint16", "remark": "冷机总接点通信状态0:正常1:故障"},
|
||||
{"key": "0x2022", "datatype": "uint16", "remark": "冷机通信状态0:正常1:故障"},
|
||||
{"key": "0x207A", "datatype": "uint16", "remark": "判断总表的三相总有功 < -5.0fkW 充电 >5.0fkW放电 否则停机0:充电 1:放电 2:停机"}
|
||||
]
|
||||
},
|
||||
"EMS_YC":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "remark": "BMS(电池堆)个数1"},
|
||||
{"key": "0x1002", "datatype": "uint16", "remark": "BCU通道个数1~2"},
|
||||
{"key": "0x1003", "datatype": "uint16", "remark": "BCU(电池簇)个数1~40"},
|
||||
{"key": "0x1004", "datatype": "uint16", "remark": "PCU(主控)个数1~4"},
|
||||
{"key": "0x1005", "datatype": "uint16", "remark": "PCU通道个数1~4"},
|
||||
{"key": "0x1006", "datatype": "uint16", "remark": "PCS(模块)个数1~40"},
|
||||
{"key": "0x1007", "datatype": "uint16", "remark": "电表通道个数1"},
|
||||
{"key": "0x1008", "datatype": "uint16", "remark": "电表个数1~10"},
|
||||
{"key": "0x1009", "datatype": "uint16", "remark": "消防通道个数1~10"},
|
||||
{"key": "0x100A", "datatype": "uint16", "remark": "消防个数1~10"},
|
||||
{"key": "0x100B", "datatype": "uint16", "remark": "UPS通道个数1~10"},
|
||||
{"key": "0x100C", "datatype": "uint16", "remark": "UPS个数1~10"},
|
||||
{"key": "0x100D", "datatype": "uint16", "remark": "温湿度通道个数1"},
|
||||
{"key": "0x100E", "datatype": "uint16", "remark": "温湿度个数1~10"},
|
||||
{"key": "0x100F", "datatype": "uint16", "remark": "空调通道个数1"},
|
||||
{"key": "0x1010", "datatype": "uint16", "remark": "空调个数1~10"},
|
||||
{"key": "0x1011", "datatype": "uint16", "remark": "控制干接点(配电系统)个数16"},
|
||||
{"key": "0x1012", "datatype": "uint16", "remark": "状态干接点(配电系统)个数16"},
|
||||
{"key": "0x1072", "datatype": "uint32", "remark": "系统最大可充电功率(1KW)"},
|
||||
{"key": "0x1074", "datatype": "uint32", "remark": "系统最大可放电功率(1KW)"},
|
||||
{"key": "0x1076", "datatype": "uint32", "remark": "储能母线电压(0.1V)"},
|
||||
{"key": "0x1078", "datatype": "int32", "remark": "储能母线电流(0.1A)"},
|
||||
{"key": "0x107A", "datatype": "uint16", "remark": "储能系统SOC(0.1)"},
|
||||
{"key": "0x107B", "datatype": "uint16", "remark": "储能系统SOH(0.1)"},
|
||||
{"key": "0x107C", "datatype": "uint16", "remark": "电流变比"},
|
||||
{"key": "0x107D", "datatype": "uint16", "remark": "电压变比"},
|
||||
{"key": "0x107E", "datatype": "uint32", "remark": "A相电压(1V)"},
|
||||
{"key": "0x1080", "datatype": "uint32", "remark": "B相电压(1V)"},
|
||||
{"key": "0x1082", "datatype": "uint32", "remark": "C相电压(1V)"},
|
||||
{"key": "0x1084", "datatype": "int32", "remark": "A相电流(1A)"},
|
||||
{"key": "0x1086", "datatype": "int32", "remark": "B相电流(1A)"},
|
||||
{"key": "0x1088", "datatype": "int32", "remark": "C相电流(1A)"},
|
||||
{"key": "0x108A", "datatype": "uint32", "remark": "AB相电压(1V)"},
|
||||
{"key": "0x108C", "datatype": "uint32", "remark": "BC相电压(1V)"},
|
||||
{"key": "0x108E", "datatype": "uint32", "remark": "CA相电压(1V)"},
|
||||
{"key": "0x1090", "datatype": "int32", "remark": "A相有功功率(1kW)"},
|
||||
{"key": "0x1092", "datatype": "int32", "remark": "B相有功功率(1kW)"},
|
||||
{"key": "0x1094", "datatype": "int32", "remark": "C相有功功率(1kW)"},
|
||||
{"key": "0x1096", "datatype": "int32", "remark": "三相总有功功率(1kW)"},
|
||||
{"key": "0x1098", "datatype": "int32", "remark": "当前控制功率(0.1kW)"},
|
||||
{"key": "0x109A", "datatype": "uint32", "remark": "负荷率(0.01)"},
|
||||
{"key": "0x109C", "datatype": "uint32", "remark": "三相不平衡度(0.01)"},
|
||||
{"key": "0x109E", "datatype": "uint32", "remark": "功率因素比率(0.01)"},
|
||||
{"key": "0x10A0", "datatype": "int32", "remark": "进线开关柜功率(1kW)"},
|
||||
{"key": "0x10A2", "datatype": "int32", "remark": "用户关口表功率(1kW)"},
|
||||
{"key": "0x1104", "datatype": "int32", "remark": "正向总有功总需量(1kW)"},
|
||||
{"key": "0x1106", "datatype": "uint32", "remark": "尖段电价(1RMB)"},
|
||||
{"key": "0x1108", "datatype": "uint32", "remark": "峰段电价(1RMB)"},
|
||||
{"key": "0x110A", "datatype": "uint32", "remark": "平段电价(1RMB)"},
|
||||
{"key": "0x110C", "datatype": "uint32", "remark": "谷段电价(1RMB)"},
|
||||
{"key": "0x110E", "datatype": "uint32", "remark": "日充电电量(1kWh)"},
|
||||
{"key": "0x1110", "datatype": "uint32", "remark": "日放电电量(1kWh)"},
|
||||
{"key": "0x1112", "datatype": "uint32", "remark": "日充电费用(1RMB)"},
|
||||
{"key": "0x1114", "datatype": "uint32", "remark": "日放电费用(1RMB)"},
|
||||
{"key": "0x1116", "datatype": "int32", "remark": "日收益(1RMB)"},
|
||||
{"key": "0x1118", "datatype": "uint32", "remark": "日正向尖有功电能(1kWh)"},
|
||||
{"key": "0x111A", "datatype": "uint32", "remark": "日正向峰有功电能(1kWh)"},
|
||||
{"key": "0x111C", "datatype": "uint32", "remark": "日正向平有功电能(1kWh)"},
|
||||
{"key": "0x111E", "datatype": "uint32", "remark": "日正向谷有功电能(1kWh)"},
|
||||
{"key": "0x1120", "datatype": "uint32", "remark": "日正向总有功电能(1kWh)"},
|
||||
{"key": "0x1122", "datatype": "uint32", "remark": "日反向尖有功电能(1kWh)"},
|
||||
{"key": "0x1124", "datatype": "uint32", "remark": "日反向峰有功电能(1kWh)"},
|
||||
{"key": "0x1126", "datatype": "uint32", "remark": "日反向平有功电能(1kWh)"},
|
||||
{"key": "0x1128", "datatype": "uint32", "remark": "日反向谷有功电能(1kWh)"},
|
||||
{"key": "0x112A", "datatype": "uint32", "remark": "日反向总有功电能(1kWh)"},
|
||||
{"key": "0x112C", "datatype": "uint32", "remark": "总充电电量(1kWh)"},
|
||||
{"key": "0x112E", "datatype": "uint32", "remark": "总放电电量(1kWh)"},
|
||||
{"key": "0x1130", "datatype": "uint32", "remark": "总充电费用(1RMB)"},
|
||||
{"key": "0x1132", "datatype": "uint32", "remark": "总放电费用(1RMB)"},
|
||||
{"key": "0x1134", "datatype": "int32", "remark": "总收益(1RMB)"},
|
||||
{"key": "0x1136", "datatype": "uint32", "remark": "总正向尖有功电能(1kWh)"},
|
||||
{"key": "0x1138", "datatype": "uint32", "remark": "总正向峰有功电能(1kWh)"},
|
||||
{"key": "0x113A", "datatype": "uint32", "remark": "总正向平有功电能(1kWh)"},
|
||||
{"key": "0x113C", "datatype": "uint32", "remark": "总正向谷有功电能(1kWh)"},
|
||||
{"key": "0x113E", "datatype": "uint32", "remark": "总正向总有功电能(1kWh)"},
|
||||
{"key": "0x1140", "datatype": "uint32", "remark": "总反向尖有功电能(1kWh)"},
|
||||
{"key": "0x1142", "datatype": "uint32", "remark": "总反向峰有功电能(1kWh)"},
|
||||
{"key": "0x1144", "datatype": "uint32", "remark": "总反向平有功电能(1kWh)"},
|
||||
{"key": "0x1146", "datatype": "uint32", "remark": "总反向谷有功电能(1kWh)"},
|
||||
{"key": "0x1148", "datatype": "uint32", "remark": "总反向总有功电能(1kWh)"},
|
||||
{"key": "0x11AE", "datatype": "int16", "remark": "交流A相电压(1V)"},
|
||||
{"key": "0x11AF", "datatype": "int16", "remark": "交流B相电压(1V)"},
|
||||
{"key": "0x11B0", "datatype": "int16", "remark": "交流C相电压(1V)"},
|
||||
{"key": "0x11B1", "datatype": "int16", "remark": "交流A相频率(1Hz)"},
|
||||
{"key": "0x11B2", "datatype": "int16", "remark": "交流B相频率(1Hz)"},
|
||||
{"key": "0x11B3", "datatype": "int16", "remark": "交流C相频率(1Hz)"},
|
||||
{"key": "0x11B4", "datatype": "int32", "remark": "总直流功率(1kW)"},
|
||||
{"key": "0x11B6", "datatype": "uint32", "remark": "总直流电压(0.1V)"},
|
||||
{"key": "0x11B8", "datatype": "int32", "remark": "总直流电流(0.1A)"},
|
||||
{"key": "0x121B", "datatype": "int16", "remark": "储能系统温度(0.1℃)"},
|
||||
{"key": "0x121C", "datatype": "uint16", "remark": "储能充放电时段hh(时)"},
|
||||
{"key": "0x121D", "datatype": "uint16", "remark": "储能充放电时段mm(分)"},
|
||||
{"key": "0x121E", "datatype": "uint16", "remark": "储能充放电时段ss(秒)"}
|
||||
]
|
||||
},
|
||||
"PCU_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "所属通道号1~4"},
|
||||
{"key": "0x0002", "datatype": "uint32", "remark": "充电功率最大许可(1KW)"},
|
||||
{"key": "0x0004", "datatype": "uint32", "remark": "放电功率最大许可(1KW)"},
|
||||
{"key": "0x0006", "datatype": "uint32", "remark": "交流日总充电量(1KWh)"},
|
||||
{"key": "0x0008", "datatype": "uint32", "remark": "交流日总放电量(1KWh)"},
|
||||
{"key": "0x000A", "datatype": "uint32", "remark": "交流总充电量(1KWh)"},
|
||||
{"key": "0x000C", "datatype": "uint32", "remark": "交流总放电量(1KWh)"},
|
||||
{"key": "0x000E", "datatype": "int16", "remark": "有功功率期望值(1KW)"},
|
||||
{"key": "0x000F", "datatype": "int16", "remark": "无功功率期望值(1kVar)"},
|
||||
{"key": "0x0010", "datatype": "int16", "remark": "PCS侧线电压VAB(1v)"},
|
||||
{"key": "0x0011", "datatype": "int16", "remark": "PCS侧线电压VBC(1v)"},
|
||||
{"key": "0x0012", "datatype": "int16", "remark": "PCS侧线电压VCA(1v)"},
|
||||
{"key": "0x0013", "datatype": "int16", "remark": "PCS侧线A相电压(1v)"},
|
||||
{"key": "0x0014", "datatype": "int16", "remark": "PCS侧线B相电压(1v)"},
|
||||
{"key": "0x0015", "datatype": "int16", "remark": "PCS侧线C相电压(1v)"},
|
||||
{"key": "0x0016", "datatype": "int16", "remark": "PCS侧A相频率(1Hz)"},
|
||||
{"key": "0x0017", "datatype": "int16", "remark": "PCS侧B相频率(1Hz)"},
|
||||
{"key": "0x0018", "datatype": "int16", "remark": "PCS侧C相频率(1Hz)"},
|
||||
{"key": "0x0019", "datatype": "int16", "remark": "PCS侧功率因数A(1)"},
|
||||
{"key": "0x001A", "datatype": "int16", "remark": "PCS侧功率因数B(1)"},
|
||||
{"key": "0x001B", "datatype": "int16", "remark": "PCS侧功率因数C(1)"},
|
||||
{"key": "0x001C", "datatype": "int16", "remark": "PCS侧相电流A(1A)"},
|
||||
{"key": "0x001D", "datatype": "int16", "remark": "PCS侧相电流B(1A)"},
|
||||
{"key": "0x001E", "datatype": "int16", "remark": "PCS侧相电流C(1A)"},
|
||||
{"key": "0x001F", "datatype": "int16", "remark": "PCS侧有功功率A(1kW)"},
|
||||
{"key": "0x0020", "datatype": "int16", "remark": "PCS侧有功功率B(1kW)"},
|
||||
{"key": "0x0021", "datatype": "int16", "remark": "PCS侧有功功率C(1kW)"},
|
||||
{"key": "0x0022", "datatype": "int16", "remark": "PCS侧无功功率A(1kVar)"},
|
||||
{"key": "0x0023", "datatype": "int16", "remark": "PCS侧无功功率B(1kVar)"},
|
||||
{"key": "0x0024", "datatype": "int16", "remark": "PCS侧无功功率C(1kVar)"},
|
||||
{"key": "0x0025", "datatype": "int16", "remark": "PCS侧视在功率A(1kVar)"},
|
||||
{"key": "0x0026", "datatype": "int16", "remark": "PCS侧视在功率B(1kVar)"},
|
||||
{"key": "0x0027", "datatype": "int16", "remark": "PCS侧视在功率C(1kVar)"},
|
||||
{"key": "0x0028", "datatype": "int16", "remark": "PCS侧三相总有功功率(1kW)"},
|
||||
{"key": "0x0029", "datatype": "int16", "remark": "PCS侧三相总无功功率(1kVar)"},
|
||||
{"key": "0x002A", "datatype": "int16", "remark": "PCS侧三相总视在功率(1kVA)"},
|
||||
{"key": "0x002B", "datatype": "int16", "remark": "PCS侧三相总功率因数(1)"},
|
||||
{"key": "0x002C", "datatype": "int16", "remark": "PCU模块温度(1℃)"},
|
||||
{"key": "0x002D", "datatype": "int16", "remark": "外部温度NTC1(1℃)"},
|
||||
{"key": "0x002E", "datatype": "int16", "remark": "外部温度NTC2(1℃)"},
|
||||
{"key": "0x002F", "datatype": "int16", "remark": "外部温度NTC3(1℃)"},
|
||||
{"key": "0x0030", "datatype": "int16", "remark": "台区负载侧A相电流(1A)"},
|
||||
{"key": "0x0031", "datatype": "int16", "remark": "台区负载侧B相电流(1A)"},
|
||||
{"key": "0x0032", "datatype": "int16", "remark": "台区负载侧C相电流(1A)"},
|
||||
{"key": "0x0033", "datatype": "int16", "remark": "台区负载侧A相有功功率(1kW)"},
|
||||
{"key": "0x0034", "datatype": "int16", "remark": "台区负载侧B相有功功率(1kW)"},
|
||||
{"key": "0x0035", "datatype": "int16", "remark": "台区负载侧C相有功功率(1kW)"},
|
||||
{"key": "0x0036", "datatype": "int16", "remark": "台区负载侧总有功功率(1kW)"},
|
||||
{"key": "0x0037", "datatype": "int16", "remark": "台区负载侧A相无功功率(1kVar)"},
|
||||
{"key": "0x0038", "datatype": "int16", "remark": "台区负载侧B相无功功率(1kVar)"},
|
||||
{"key": "0x0039", "datatype": "int16", "remark": "台区负载侧C相无功功率(1kVar)"},
|
||||
{"key": "0x003A", "datatype": "int16", "remark": "台区负载侧总无功功率(1kVar)"},
|
||||
{"key": "0x003B", "datatype": "int16", "remark": "台区负载侧A相视在功率(1kVA)"},
|
||||
{"key": "0x003C", "datatype": "int16", "remark": "台区负载侧B相视在功率(1kVA)"},
|
||||
{"key": "0x003D", "datatype": "int16", "remark": "台区负载侧C相视在功率(1kVA)"},
|
||||
{"key": "0x003E", "datatype": "int16", "remark": "台区负载侧总视在功率(1kVA)"},
|
||||
{"key": "0x003F", "datatype": "int16", "remark": "台区负载侧A相功率因数(1)"},
|
||||
{"key": "0x0040", "datatype": "int16", "remark": "台区负载侧B相功率因数(1)"},
|
||||
{"key": "0x0041", "datatype": "int16", "remark": "台区负载侧C相功率因数(1)"},
|
||||
{"key": "0x0042", "datatype": "int16", "remark": "台区负载侧总功率因数(1)"},
|
||||
{"key": "0x0043", "datatype": "int16", "remark": "负载侧线电压AB(1V)"},
|
||||
{"key": "0x0044", "datatype": "int16", "remark": "负载侧线电压BC(1V)"},
|
||||
{"key": "0x0045", "datatype": "int16", "remark": "负载侧线电压CA(1V)"},
|
||||
{"key": "0x0046", "datatype": "int16", "remark": "负载侧相电压AN(1V)"},
|
||||
{"key": "0x0047", "datatype": "int16", "remark": "负载侧相电压BN(1V)"},
|
||||
{"key": "0x0048", "datatype": "int16", "remark": "负载侧相电压CN(1V)"},
|
||||
{"key": "0x0049", "datatype": "int16", "remark": "负载侧A功率因素(1)"},
|
||||
{"key": "0x004A", "datatype": "int16", "remark": "负载侧B功率因素(1)"},
|
||||
{"key": "0x004B", "datatype": "int16", "remark": "负载侧C功率因素(1)"},
|
||||
{"key": "0x004C", "datatype": "int16", "remark": "负载侧A视在功率(1kVA)"},
|
||||
{"key": "0x004D", "datatype": "int16", "remark": "负载侧B视在功率(1kVA)"}
|
||||
]
|
||||
},
|
||||
"PCU_YX":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "remark": "所属通道号1~4"},
|
||||
{"key": "0x1002", "datatype": "uint16", "remark": "故障状态1故障,0正常"},
|
||||
{"key": "0x1003", "datatype": "uint16", "remark": "告警状态1告警,0正常"},
|
||||
{"key": "0x1004", "datatype": "uint16", "remark": "设备在线1在线,0无效"},
|
||||
{"key": "0x1005", "datatype": "uint16", "remark": "本地远程1本地,0远程"},
|
||||
{"key": "0x1006", "datatype": "uint16", "remark": "启停状态1开机,0关机"},
|
||||
{"key": "0x1007", "datatype": "uint16", "remark": "电网状态1离网,0并网"},
|
||||
{"key": "0x1008", "datatype": "uint16", "remark": "模块状态1开机,0待机"},
|
||||
{"key": "0x1009", "datatype": "uint16", "remark": "EPO急停1故障,0正常"},
|
||||
{"key": "0x100A", "datatype": "uint16", "remark": "防雷器异常1告警,0正常"},
|
||||
{"key": "0x100B", "datatype": "uint16", "remark": "负载电压反序1故障,0正常"},
|
||||
{"key": "0x100C", "datatype": "uint16", "remark": "市电电压反序1故障,0正常"},
|
||||
{"key": "0x100D", "datatype": "uint16", "remark": "输出相反序1故障,0正常"},
|
||||
{"key": "0x100E", "datatype": "uint16", "remark": "过载告警1告警,0正常"},
|
||||
{"key": "0x100F", "datatype": "uint16", "remark": "过载超时1故障,0正常"},
|
||||
{"key": "0x1010", "datatype": "uint16", "remark": "交流过流保护1故障,0正常"},
|
||||
{"key": "0x1011", "datatype": "uint16", "remark": "逆变电压异常1故障,0正常"},
|
||||
{"key": "0x1012", "datatype": "uint16", "remark": "内部串口异常1故障,0正常"},
|
||||
{"key": "0x1013", "datatype": "uint16", "remark": "485通信故障1故障,0正常"},
|
||||
{"key": "0x1014", "datatype": "uint16", "remark": "CAN通信故障1故障,0正常"},
|
||||
{"key": "0x1015", "datatype": "uint16", "remark": "E2PROM故障1故障,0正常"},
|
||||
{"key": "0x1016", "datatype": "uint16", "remark": "电网过压1故障,0正常"},
|
||||
{"key": "0x1017", "datatype": "uint16", "remark": "电网欠压1故障,0正常"},
|
||||
{"key": "0x1018", "datatype": "uint16", "remark": "电网过频1故障,0正常"},
|
||||
{"key": "0x1019", "datatype": "uint16", "remark": "电网欠频1故障,0正常"},
|
||||
{"key": "0x101A", "datatype": "uint16", "remark": "电网快检综合异常1故障,0正常"},
|
||||
{"key": "0x101B", "datatype": "uint16", "remark": "电网幅值快检异常1故障,0正常"},
|
||||
{"key": "0x101C", "datatype": "uint16", "remark": "电网拖尾异常1故障,0正常"},
|
||||
{"key": "0x101D", "datatype": "uint16", "remark": "消防输入信号NO1闭合,0断开"},
|
||||
{"key": "0x101E", "datatype": "uint16", "remark": "急停按钮信号NC1急停,0正常"},
|
||||
{"key": "0x101F", "datatype": "uint16", "remark": "避雷器NC1故障,0正常"},
|
||||
{"key": "0x1020", "datatype": "uint16", "remark": "避雷器断路器NC1故障,0正常"},
|
||||
{"key": "0x1021", "datatype": "uint16", "remark": "PCS总断路器NC1闭合,0断开"},
|
||||
{"key": "0x1022", "datatype": "uint16", "remark": "电操状态NO1闭合,0断开"},
|
||||
{"key": "0x1023", "datatype": "uint16", "remark": "远程关机NO1开机,0无效"},
|
||||
{"key": "0x1024", "datatype": "uint16", "remark": "远程开机NO1开机,0无效"},
|
||||
{"key": "0x1025", "datatype": "uint16", "remark": "BA故障信号NO1故障,0正常"},
|
||||
{"key": "0x1026", "datatype": "uint16", "remark": "PCS_01状态1在线,0掉线"},
|
||||
{"key": "0x1027", "datatype": "uint16", "remark": "PCS_02状态1在线,0掉线"},
|
||||
{"key": "0x1028", "datatype": "uint16", "remark": "PCS_03状态1在线,0掉线"},
|
||||
{"key": "0x1029", "datatype": "uint16", "remark": "PCS_04状态1在线,0掉线"},
|
||||
{"key": "0x102A", "datatype": "uint16", "remark": "PCS_05状态1在线,0掉线"},
|
||||
{"key": "0x102B", "datatype": "uint16", "remark": "PCS_06状态1在线,0掉线"},
|
||||
{"key": "0x102C", "datatype": "uint16", "remark": "PCS_07状态1在线,0掉线"},
|
||||
{"key": "0x102D", "datatype": "uint16", "remark": "PCS_09状态1在线,0掉线"},
|
||||
{"key": "0x102E", "datatype": "uint16", "remark": "PCS_10状态1在线,0掉线"},
|
||||
{"key": "0x102F", "datatype": "uint16", "remark": "PCS_01下发设置1故障,0正常"},
|
||||
{"key": "0x1030", "datatype": "uint16", "remark": "PCS_02下发设置1故障,0正常"},
|
||||
{"key": "0x1031", "datatype": "uint16", "remark": "PCS_03下发设置1故障,0正常"},
|
||||
{"key": "0x1032", "datatype": "uint16", "remark": "PCS_04下发设置1故障,0正常"},
|
||||
{"key": "0x1033", "datatype": "uint16", "remark": "PCS_05下发设置1故障,0正常"},
|
||||
{"key": "0x1034", "datatype": "uint16", "remark": "PCS_06下发设置1故障,0正常"},
|
||||
{"key": "0x1035", "datatype": "uint16", "remark": "PCS_07下发设置1故障,0正常"},
|
||||
{"key": "0x1036", "datatype": "uint16", "remark": "PCS_08下发设置1故障,0正常"},
|
||||
{"key": "0x1037", "datatype": "uint16", "remark": "PCS_09下发设置1故障,0正常"},
|
||||
{"key": "0x1038", "datatype": "uint16", "remark": "PCS_10下发设置1:故障,0正常"},
|
||||
{"key": "0x1039", "datatype": "uint16", "remark": "内部DSP通信故障1:故障,0正常"},
|
||||
{"key": "0x103A", "datatype": "uint16", "remark": "BMS CAN通信故障1:故障,0正常"}
|
||||
]
|
||||
},
|
||||
"PCS_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "所属主控号1~4"},
|
||||
{"key": "0x0002", "datatype": "uint16", "remark": "所属PCS号1~40"},
|
||||
{"key": "0x0003", "datatype": "uint32", "remark": "总充电量(1kWh)"},
|
||||
{"key": "0x0005", "datatype": "uint32", "remark": "总放电量(1kWh)"},
|
||||
{"key": "0x0007", "datatype": "int16", "remark": "散热器温度(1℃)"},
|
||||
{"key": "0x0008", "datatype": "int16", "remark": "内部温度(1℃)"},
|
||||
{"key": "0x0009", "datatype": "int16", "remark": "最大允许充电功率(0.1kW)"},
|
||||
{"key": "0x000A", "datatype": "int16", "remark": "最大允许放电功率(0.1kW)"},
|
||||
{"key": "0x000B", "datatype": "int16", "remark": "有功功率期望(1kWh)"},
|
||||
{"key": "0x000C", "datatype": "int16", "remark": "无功功率期望(1kVar)"},
|
||||
{"key": "0x000D", "datatype": "int16", "remark": "AB线电压(1V)"},
|
||||
{"key": "0x000E", "datatype": "int16", "remark": "BC线电压(1V)"},
|
||||
{"key": "0x000F", "datatype": "int16", "remark": "CA线电压(1V)"},
|
||||
{"key": "0x0010", "datatype": "int16", "remark": "A相电压(1V)"},
|
||||
{"key": "0x0011", "datatype": "int16", "remark": "B相电压(1V)"},
|
||||
{"key": "0x0012", "datatype": "int16", "remark": "C相电压(1V)"},
|
||||
{"key": "0x0013", "datatype": "int16", "remark": "A相频率(1Hz)"},
|
||||
{"key": "0x0014", "datatype": "int16", "remark": "B相频率(1Hz)"},
|
||||
{"key": "0x0015", "datatype": "int16", "remark": "C相频率(1Hz)"},
|
||||
{"key": "0x0016", "datatype": "int16", "remark": "A相功率因数(1)"},
|
||||
{"key": "0x0017", "datatype": "int16", "remark": "B相功率因数(1)"},
|
||||
{"key": "0x0018", "datatype": "int16", "remark": "C相功率因数(1)"},
|
||||
{"key": "0x0019", "datatype": "int16", "remark": "A相电流(1A)"},
|
||||
{"key": "0x001A", "datatype": "int16", "remark": "B相电流(1A)"},
|
||||
{"key": "0x001B", "datatype": "int16", "remark": "C相电流(1A)"},
|
||||
{"key": "0x001C", "datatype": "int16", "remark": "A相有功功率(1kW)"},
|
||||
{"key": "0x001D", "datatype": "int16", "remark": "B相有功功率(1kW)"},
|
||||
{"key": "0x001E", "datatype": "int16", "remark": "C相有功功率(1kW)"},
|
||||
{"key": "0x001F", "datatype": "int16", "remark": "A相无功功率(1kVar)"},
|
||||
{"key": "0x0020", "datatype": "int16", "remark": "B相无功功率(1kVar)"},
|
||||
{"key": "0x0021", "datatype": "int16", "remark": "C相无功功率(1kVar)"},
|
||||
{"key": "0x0022", "datatype": "int16", "remark": "A相视在功率(1kVA)"},
|
||||
{"key": "0x0023", "datatype": "int16", "remark": "B相视在功率(1kVA)"},
|
||||
{"key": "0x0024", "datatype": "int16", "remark": "C相视在功率(1kVA)"},
|
||||
{"key": "0x0025", "datatype": "int16", "remark": "三相总有功功率(1kW)"},
|
||||
{"key": "0x0026", "datatype": "int16", "remark": "三相总无功功率(1kVar)"},
|
||||
{"key": "0x0027", "datatype": "int16", "remark": "三相总视在功率(1kVA)"},
|
||||
{"key": "0x0028", "datatype": "int16", "remark": "三相总功率因数(1)"},
|
||||
{"key": "0x0029", "datatype": "int16", "remark": "直流功率(1kW)"},
|
||||
{"key": "0x002A", "datatype": "int16", "remark": "直流电压(1V)"},
|
||||
{"key": "0x002B", "datatype": "int16", "remark": "直流电流(1A)"},
|
||||
{"key": "0x002C", "datatype": "int16", "remark": "充电功率(1kW)"},
|
||||
{"key": "0x002D", "datatype": "int16", "remark": "放电功率(1kW)"},
|
||||
{"key": "0x002E", "datatype": "int16", "remark": "PF值(1)"},
|
||||
{"key": "0x002F", "datatype": "int16", "remark": "UV线/U相电网计量线电压(1V)"},
|
||||
{"key": "0x0030", "datatype": "int16", "remark": "VW线/V相电网计量线电压(1V)"},
|
||||
{"key": "0x0031", "datatype": "int16", "remark": "WU线/W相电网计量线电压(1V)"},
|
||||
{"key": "0x0032", "datatype": "int16", "remark": "U相电网计量电流(1A)"},
|
||||
{"key": "0x0033", "datatype": "int16", "remark": "V相电网计量电流(1A)"},
|
||||
{"key": "0x0034", "datatype": "int16", "remark": "W相电网计量电流(1A)"},
|
||||
{"key": "0x0035", "datatype": "int16", "remark": "正母线电压(1V)"},
|
||||
{"key": "0x0036", "datatype": "int16", "remark": "可用功率(1kVA)"},
|
||||
{"key": "0x0037", "datatype": "int16", "remark": "负母线电压(1V)"},
|
||||
{"key": "0x0038", "datatype": "int16", "remark": "A相IGBT温度(1℃)"},
|
||||
{"key": "0x0039", "datatype": "int16", "remark": "B相IGBT温度(1℃)"},
|
||||
{"key": "0x003A", "datatype": "int16", "remark": "C相IGBT温度(1℃)"},
|
||||
{"key": "0x003B", "datatype": "int16", "remark": "逆变侧AB线电压(1V)"},
|
||||
{"key": "0x003C", "datatype": "int16", "remark": "逆变侧BC线电压(1V)"},
|
||||
{"key": "0x003D", "datatype": "int16", "remark": "逆变侧CA线电压(1V)"},
|
||||
{"key": "0x003E", "datatype": "int16", "remark": "逆变侧A相电压(1V)"},
|
||||
{"key": "0x003F", "datatype": "int16", "remark": "逆变侧B相电压(1V)"},
|
||||
{"key": "0x0040", "datatype": "int16", "remark": "逆变侧C相电压(1V)"},
|
||||
{"key": "0x0041", "datatype": "int16", "remark": "逆变侧A相电流(1A)"},
|
||||
{"key": "0x0042", "datatype": "int16", "remark": "逆变侧B相电流(1A)"},
|
||||
{"key": "0x0043", "datatype": "int16", "remark": "逆变侧C相电流(1A)"},
|
||||
{"key": "0x0044", "datatype": "int16", "remark": "逆变侧A相电流直流分量(1A)"},
|
||||
{"key": "0x0045", "datatype": "int16", "remark": "逆变侧B相电流直流分量(1A)"},
|
||||
{"key": "0x0046", "datatype": "int16", "remark": "逆变侧C相电流直流分量(1A)"},
|
||||
{"key": "0x0047", "datatype": "int16", "remark": "离网频率(1Hz)"},
|
||||
{"key": "0x0048", "datatype": "int16", "remark": "A相负载量(1)"},
|
||||
{"key": "0x0049", "datatype": "int16", "remark": "B相负载量(1)"},
|
||||
{"key": "0x004A", "datatype": "int16", "remark": "C相负载量(1)"},
|
||||
{"key": "0x004B", "datatype": "int16", "remark": "总负载量(1)"},
|
||||
{"key": "0x004C", "datatype": "int16", "remark": "逆变侧AB线电压直流分量(1A)"},
|
||||
{"key": "0x004D", "datatype": "int16", "remark": "逆变侧BC线电压直流分量(1A)"},
|
||||
{"key": "0x004E", "datatype": "int16", "remark": "逆变侧CA线电压直流分量(1A)"},
|
||||
{"key": "0x004F", "datatype": "int16", "remark": "在线数量"}
|
||||
]
|
||||
},
|
||||
"PCS_YX":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "remark": "所属主控号1~4"},
|
||||
{"key": "0x1002", "datatype": "uint16", "remark": "所属PCS号1~40"},
|
||||
{"key": "0x1003", "datatype": "uint16", "remark": "故障状态1故障,0正常"},
|
||||
{"key": "0x1004", "datatype": "uint16", "remark": "告警状态1告警,0正常"},
|
||||
{"key": "0x1005", "datatype": "uint16", "remark": "设备在线1在线,0无效"},
|
||||
{"key": "0x1006", "datatype": "uint16", "remark": "禁止充电1禁止,0无效"},
|
||||
{"key": "0x1007", "datatype": "uint16", "remark": "禁止放电1禁止,0无效"},
|
||||
{"key": "0x1008", "datatype": "uint16", "remark": "运行状态1开机,0关机"},
|
||||
{"key": "0x1009", "datatype": "uint16", "remark": "充放状态0:待机,1:充电,2:放电,3:搁置"},
|
||||
{"key": "0x100A", "datatype": "uint16", "remark": "电网状态1离网,0并网"},
|
||||
{"key": "0x100B", "datatype": "uint16", "remark": "逆变供电0禁止,1使能"},
|
||||
{"key": "0x100C", "datatype": "uint16", "remark": "缓启动完成0禁止,1使能"},
|
||||
{"key": "0x100D", "datatype": "uint16", "remark": "主机标志0禁止,1使能"},
|
||||
{"key": "0x100E", "datatype": "uint16", "remark": "并离网状态0:并网, 1:离网"},
|
||||
{"key": "0x100F", "datatype": "uint16", "remark": "同步请求标志0:无效;1:动作"},
|
||||
{"key": "0x1010", "datatype": "uint16", "remark": "绝缘故障1:故障,0正常"},
|
||||
{"key": "0x1011", "datatype": "uint16", "remark": "漏电保护1:故障,0正常"},
|
||||
{"key": "0x1012", "datatype": "uint16", "remark": "直流过压1:故障,0正常"},
|
||||
{"key": "0x1013", "datatype": "uint16", "remark": "市电幅值异常1:故障,0正常"},
|
||||
{"key": "0x1014", "datatype": "uint16", "remark": "市电相序异常1:故障,0正常"},
|
||||
{"key": "0x1015", "datatype": "uint16", "remark": "温度开关异常1:故障,0正常"},
|
||||
{"key": "0x1016", "datatype": "uint16", "remark": "市电频率异常1:故障,0正常"},
|
||||
{"key": "0x1017", "datatype": "uint16", "remark": "IGBT过温1:故障,0正常"},
|
||||
{"key": "0x1018", "datatype": "uint16", "remark": "交流接地故障1:故障,0正常"},
|
||||
{"key": "0x1019", "datatype": "uint16", "remark": "逆变过流异常1:故障,0正常"},
|
||||
{"key": "0x101A", "datatype": "uint16", "remark": "直流缓起故障1:故障,0正常"},
|
||||
{"key": "0x101B", "datatype": "uint16", "remark": "直流主继电器故障1:故障,0正常"},
|
||||
{"key": "0x101C", "datatype": "uint16", "remark": "风机异常1:故障,0正常"},
|
||||
{"key": "0x101D", "datatype": "uint16", "remark": "主接触器异常1:故障,0正常"},
|
||||
{"key": "0x101E", "datatype": "uint16", "remark": "均浮充切换超时1:故障,0正常"},
|
||||
{"key": "0x101F", "datatype": "uint16", "remark": "硬件故障1:故障,0正常"},
|
||||
{"key": "0x1020", "datatype": "uint16", "remark": "机内过温1:故障,0正常"},
|
||||
{"key": "0x1021", "datatype": "uint16", "remark": "软启动故障1:故障,0正常"},
|
||||
{"key": "0x1022", "datatype": "uint16", "remark": "触摸屏通讯故障1:故障,0正常"},
|
||||
{"key": "0x1023", "datatype": "uint16", "remark": "防雷器故障1:故障,0正常"},
|
||||
{"key": "0x1024", "datatype": "uint16", "remark": "急停故障1:故障,0正常"},
|
||||
{"key": "0x1025", "datatype": "uint16", "remark": "BMS系统故障1:故障,0正常"},
|
||||
{"key": "0x1026", "datatype": "uint16", "remark": "BMS通讯故障1:故障,0正常"},
|
||||
{"key": "0x1027", "datatype": "uint16", "remark": "BMS干接点通讯故障1:故障,0正常"},
|
||||
{"key": "0x1028", "datatype": "uint16", "remark": "远程通讯故障1:故障,0正常"},
|
||||
{"key": "0x1029", "datatype": "uint16", "remark": "门禁告警1:故障,0正常"},
|
||||
{"key": "0x102A", "datatype": "uint16", "remark": "锁相异常1:故障,0正常"},
|
||||
{"key": "0x102B", "datatype": "uint16", "remark": "IGBT过温告警1:故障,0正常"},
|
||||
{"key": "0x102C", "datatype": "uint16", "remark": "硬件过流保护1:故障,0正常"},
|
||||
{"key": "0x102D", "datatype": "uint16", "remark": "驱动故障1:故障,0正常"},
|
||||
{"key": "0x102E", "datatype": "uint16", "remark": "ID冲突1:故障,0正常"},
|
||||
{"key": "0x102F", "datatype": "uint16", "remark": "电池过压1:故障,0正常"},
|
||||
{"key": "0x1030", "datatype": "uint16", "remark": "电池欠压1:故障,0正常"},
|
||||
{"key": "0x1031", "datatype": "uint16", "remark": "直流过流保护1:故障,0正常"},
|
||||
{"key": "0x1032", "datatype": "uint16", "remark": "输出电压异常1:故障,0正常"},
|
||||
{"key": "0x1033", "datatype": "uint16", "remark": "离网输出电压不符合1:故障,0正常"},
|
||||
{"key": "0x1034", "datatype": "uint16", "remark": "输出过载保护1:故障,0正常"},
|
||||
{"key": "0x1035", "datatype": "uint16", "remark": "输出短路保护1:故障,0正常"},
|
||||
{"key": "0x1036", "datatype": "uint16", "remark": "并机通信异常1:故障,0正常"},
|
||||
{"key": "0x1037", "datatype": "uint16", "remark": "电池保险异常1:故障,0正常"},
|
||||
{"key": "0x1038", "datatype": "uint16", "remark": "电池重载低压1:故障,0正常"},
|
||||
{"key": "0x1039", "datatype": "uint16", "remark": "电池低压告警1:故障,0正常"},
|
||||
{"key": "0x103A", "datatype": "uint16", "remark": "一拖二压差过大1:故障,0正常"},
|
||||
{"key": "0x103B", "datatype": "uint16", "remark": "电池反接故障1:故障,0正常"},
|
||||
{"key": "0x103C", "datatype": "uint16", "remark": "电池电压异常1:故障,0正常"},
|
||||
{"key": "0x103D", "datatype": "uint16", "remark": "过载告警1:故障,0正常"},
|
||||
{"key": "0x103E", "datatype": "uint16", "remark": "外部接触器异常1:故障,0正常"},
|
||||
{"key": "0x103F", "datatype": "uint16", "remark": "IGBT温度传感器异常1:故障,0正常"},
|
||||
{"key": "0x1040", "datatype": "uint16", "remark": "整机温度传感器异常1:故障,0正常"},
|
||||
{"key": "0x1041", "datatype": "uint16", "remark": "市电CT异常1:故障,0正常"},
|
||||
{"key": "0x1042", "datatype": "uint16", "remark": "逆变电流三相不平衡1:故障,0正常"},
|
||||
{"key": "0x1043", "datatype": "uint16", "remark": "逆变电流直流分量异常1:故障,0正常"},
|
||||
{"key": "0x1044", "datatype": "uint16", "remark": "母线不平衡1:故障,0正常"},
|
||||
{"key": "0x1045", "datatype": "uint16", "remark": "逆变电压直流分量异常1:故障,0正常"},
|
||||
{"key": "0x1046", "datatype": "uint16", "remark": "主接触器控制异常1:故障,0正常"},
|
||||
{"key": "0x1047", "datatype": "uint16", "remark": "逆变电压控制异常1:故障,0正常"},
|
||||
{"key": "0x1048", "datatype": "uint16", "remark": "直流霍尔异常1:故障,0正常"},
|
||||
{"key": "0x1049", "datatype": "uint16", "remark": "电池单体过压1:故障,0正常"},
|
||||
{"key": "0x104A", "datatype": "uint16", "remark": "电池单体欠压1:故障,0正常"},
|
||||
{"key": "0x104B", "datatype": "uint16", "remark": "电网过压1:故障,0正常"},
|
||||
{"key": "0x104C", "datatype": "uint16", "remark": "电网欠压1:故障,0正常"},
|
||||
{"key": "0x104D", "datatype": "uint16", "remark": "电网过频1:故障,0正常"},
|
||||
{"key": "0x104E", "datatype": "uint16", "remark": "电网欠频1:故障,0正常"},
|
||||
{"key": "0x104F", "datatype": "uint16", "remark": "市电不平衡1:故障,0正常"},
|
||||
{"key": "0x1050", "datatype": "uint16", "remark": "参数设置不匹配1:故障,0正常"},
|
||||
{"key": "0x1051", "datatype": "uint16", "remark": "SPI通信异常1:故障,0正常"},
|
||||
{"key": "0x1052", "datatype": "uint16", "remark": "SCI通信异常1:故障,0正常"},
|
||||
{"key": "0x1053", "datatype": "uint16", "remark": "IIC通信异常1:故障,0正常"},
|
||||
{"key": "0x1054", "datatype": "uint16", "remark": "Xintf通信异常1:故障,0正常"},
|
||||
{"key": "0x1055", "datatype": "uint16", "remark": "零偏校准异常1:故障,0正常"},
|
||||
{"key": "0x1056", "datatype": "uint16", "remark": "烟雾告警1:故障,0正常"},
|
||||
{"key": "0x1057", "datatype": "uint16", "remark": "无电池组故障1异常,0正常"},
|
||||
{"key": "0x1058", "datatype": "uint16", "remark": "环温降频1异常,0正常"},
|
||||
{"key": "0x1059", "datatype": "uint16", "remark": "交流过载1异常,0正常"},
|
||||
{"key": "0x105A", "datatype": "uint16", "remark": "采样异常1异常,0正常"},
|
||||
{"key": "0x105B", "datatype": "uint16", "remark": "24V辅源故障1异常,0正常"},
|
||||
{"key": "0x105C", "datatype": "uint16", "remark": "直流欠压异常1异常,0正常"},
|
||||
{"key": "0x105D", "datatype": "uint16", "remark": "散热器过温1异常,0正常"},
|
||||
{"key": "0x105E", "datatype": "uint16", "remark": "CAN配置故障1异常,0正常"},
|
||||
{"key": "0x105F", "datatype": "uint16", "remark": "3.3V辅源故障1异常,0正常"},
|
||||
{"key": "0x1060", "datatype": "uint16", "remark": "环境过温1异常,0正常"},
|
||||
{"key": "0x1061", "datatype": "uint16", "remark": "A相IGBT逆变过流1异常,0正常"},
|
||||
{"key": "0x1062", "datatype": "uint16", "remark": "B相IGBT逆变过流1异常,0正常"}
|
||||
]
|
||||
},
|
||||
"BMS_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "SOC(0.1)"},
|
||||
{"key": "0x0002", "datatype": "uint16", "remark": "SOH(0.1)"},
|
||||
{"key": "0x0003", "datatype": "uint32", "remark": "电压(0.1V)"},
|
||||
{"key": "0x0005", "datatype": "int32", "remark": "电流(0.1A)"},
|
||||
{"key": "0x0007", "datatype": "uint32", "remark": "可充电量(1kWh)"},
|
||||
{"key": "0x0009", "datatype": "uint32", "remark": "可放电量(1kWh)"},
|
||||
{"key": "0x000B", "datatype": "uint32", "remark": "单次可充电量(1kWh)"},
|
||||
{"key": "0x000D", "datatype": "uint32", "remark": "单次可放电量(1kWh)"},
|
||||
{"key": "0x000F", "datatype": "int32", "remark": "堆功率(1kW)"},
|
||||
{"key": "0x0011", "datatype": "uint32", "remark": "充电量累加(1kWh)"},
|
||||
{"key": "0x0013", "datatype": "uint32", "remark": "放电量累加(1kWh)"},
|
||||
{"key": "0x0015", "datatype": "uint16", "remark": "簇最大SOC(0.1)"},
|
||||
{"key": "0x0016", "datatype": "uint16", "remark": "簇最小SOC(0.1)"},
|
||||
{"key": "0x0017", "datatype": "uint16", "remark": "簇最大SOC号"},
|
||||
{"key": "0x0018", "datatype": "uint16", "remark": "簇最小SOC号"},
|
||||
{"key": "0x0019", "datatype": "uint16", "remark": "簇SOC差值(0.1)"},
|
||||
{"key": "0x001A", "datatype": "uint16", "remark": "簇最大电压(0.1V)"},
|
||||
{"key": "0x001B", "datatype": "uint16", "remark": "簇最小电压(0.1V)"},
|
||||
{"key": "0x001C", "datatype": "uint16", "remark": "簇最大电压号"},
|
||||
{"key": "0x001D", "datatype": "uint16", "remark": "簇最小电压号"},
|
||||
{"key": "0x001E", "datatype": "uint16", "remark": "簇电压差值(0.1V)"},
|
||||
{"key": "0x001F", "datatype": "uint16", "remark": "单体最大电压簇号"},
|
||||
{"key": "0x0020", "datatype": "uint16", "remark": "单体最大电压节号"},
|
||||
{"key": "0x0021", "datatype": "uint16", "remark": "单体最大电压(mV)"},
|
||||
{"key": "0x0022", "datatype": "uint16", "remark": "单体最小电压簇号"},
|
||||
{"key": "0x0023", "datatype": "uint16", "remark": "单体最小电压节号"},
|
||||
{"key": "0x0024", "datatype": "uint16", "remark": "单体最小电压(mV)"},
|
||||
{"key": "0x0025", "datatype": "uint16", "remark": "单体平均电压(mV)"},
|
||||
{"key": "0x0026", "datatype": "uint16", "remark": "单体电压差(mV)"},
|
||||
{"key": "0x0027", "datatype": "uint16", "remark": "单体最大温度簇号"},
|
||||
{"key": "0x0028", "datatype": "uint16", "remark": "单体最大温度节号"},
|
||||
{"key": "0x0029", "datatype": "int16", "remark": "单体最大温度(0.1℃)"},
|
||||
{"key": "0x002A", "datatype": "uint16", "remark": "单体最小温度簇号"},
|
||||
{"key": "0x002B", "datatype": "uint16", "remark": "单体最小温度节号"},
|
||||
{"key": "0x002C", "datatype": "int16", "remark": "单体最小温度(0.1℃)"},
|
||||
{"key": "0x002D", "datatype": "int16", "remark": "单体平均温度(0.1℃)"},
|
||||
{"key": "0x002E", "datatype": "int16", "remark": "单体温度差(0.1℃)"},
|
||||
{"key": "0x002F", "datatype": "uint16", "remark": "最大内阻簇号"},
|
||||
{"key": "0x0030", "datatype": "uint16", "remark": "最大内阻节号"},
|
||||
{"key": "0x0031", "datatype": "uint16", "remark": "最大内阻(mΩ)"},
|
||||
{"key": "0x0032", "datatype": "uint16", "remark": "最小内阻簇号"},
|
||||
{"key": "0x0033", "datatype": "uint16", "remark": "最小内阻节号"},
|
||||
{"key": "0x0034", "datatype": "uint16", "remark": "最小内阻(mΩ)"},
|
||||
{"key": "0x0035", "datatype": "uint16", "remark": "单体平均内阻(mΩ)"},
|
||||
{"key": "0x0036", "datatype": "uint16", "remark": "单体内阻差(mΩ)"},
|
||||
{"key": "0x0037", "datatype": "uint16", "remark": "单体最大SOH簇号"},
|
||||
{"key": "0x0038", "datatype": "uint16", "remark": "单体最大SOH节号"},
|
||||
{"key": "0x0039", "datatype": "uint16", "remark": "单体最大SOH(0.001)"},
|
||||
{"key": "0x003A", "datatype": "uint16", "remark": "单体最小SOH簇号"},
|
||||
{"key": "0x003B", "datatype": "uint16", "remark": "单体最小SOH节号"},
|
||||
{"key": "0x003C", "datatype": "uint16", "remark": "单体最小SOH(0.001)"},
|
||||
{"key": "0x003D", "datatype": "uint16", "remark": "单体最大SOc簇号"},
|
||||
{"key": "0x003E", "datatype": "uint16", "remark": "单体最大SOc节号"},
|
||||
{"key": "0x0040", "datatype": "uint16", "remark": "单体最大Soc(0.001)"},
|
||||
{"key": "0x0041", "datatype": "uint16", "remark": "单体最小SOc簇号"},
|
||||
{"key": "0x0042", "datatype": "uint16", "remark": "单体最小SOc节号"},
|
||||
{"key": "0x0043", "datatype": "uint16", "remark": "单体最小SOc(0.001)"},
|
||||
{"key": "0x0043", "datatype": "uint32", "remark": "系统剩余最大可充电功率(1KW)"},
|
||||
{"key": "0x0045", "datatype": "uint32", "remark": "系统剩余最大可放电功率(1KW)"},
|
||||
{"key": "0x0047", "datatype": "uint16", "remark": "可充电状态"},
|
||||
{"key": "0x0048", "datatype": "uint16", "remark": "可放电状态"},
|
||||
{"key": "0x0049", "datatype": "uint16", "remark": "运行状态"}
|
||||
]
|
||||
},
|
||||
"BCU_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "所属通道号1~4"},
|
||||
{"key": "0x0002", "datatype": "uint16", "remark": "所属BCU号1~40"},
|
||||
{"key": "0x0003", "datatype": "uint32", "remark": "簇电压(0.1V)"},
|
||||
{"key": "0x0005", "datatype": "int32", "remark": "簇电流(0.1A)"},
|
||||
{"key": "0x0007", "datatype": "int32", "remark": "簇温度(0.1℃)"},
|
||||
{"key": "0x0009", "datatype": "uint32", "remark": "簇电阻(1mΩ)"},
|
||||
{"key": "0x000B", "datatype": "uint16", "remark": "簇SOC(0.1)"},
|
||||
{"key": "0x000C", "datatype": "uint16", "remark": "簇SOH(0.1)"},
|
||||
{"key": "0x000D", "datatype": "uint32", "remark": "簇正绝缘电阻(1kΩ)"},
|
||||
{"key": "0x000F", "datatype": "uint32", "remark": "簇负绝缘电阻(1kΩ)"},
|
||||
{"key": "0x0011", "datatype": "int32", "remark": "簇允许最大充电电流(0.1A)"},
|
||||
{"key": "0x0013", "datatype": "int32", "remark": "簇允许最大放电电流(0.1A)"},
|
||||
{"key": "0x0015", "datatype": "uint32", "remark": "簇允许最大充电功率(1kW)"},
|
||||
{"key": "0x0017", "datatype": "uint32", "remark": "簇允许最大放电功率(1kW)"},
|
||||
{"key": "0x0019", "datatype": "uint32", "remark": "簇可充容量(0.1Ah)"},
|
||||
{"key": "0x001B", "datatype": "uint32", "remark": "簇可放容量(0.1Ah)"},
|
||||
{"key": "0x001D", "datatype": "uint32", "remark": "簇单次累计充容量(0.1Ah)"},
|
||||
{"key": "0x001F", "datatype": "uint32", "remark": "簇单次累计放容量(0.1Ah)"},
|
||||
{"key": "0x0021", "datatype": "uint32", "remark": "簇总累计充容量(0.1Ah)"},
|
||||
{"key": "0x0023", "datatype": "uint32", "remark": "簇总累计放容量(0.1Ah)"},
|
||||
{"key": "0x0025", "datatype": "uint32", "remark": "簇可充电量(1kWh)"},
|
||||
{"key": "0x0027", "datatype": "uint32", "remark": "簇可放电量(1kWh)"},
|
||||
{"key": "0x0029", "datatype": "uint32", "remark": "簇单次充电量(1kWh)"},
|
||||
{"key": "0x002B", "datatype": "uint32", "remark": "簇单次放电量(1kWh)"},
|
||||
{"key": "0x002D", "datatype": "uint32", "remark": "簇累计充电量(1kWh)"},
|
||||
{"key": "0x002F", "datatype": "uint32", "remark": "簇累计放电量(1kWh)"},
|
||||
{"key": "0x0031", "datatype": "uint32", "remark": "pack累计簇总压(0.1V)"},
|
||||
{"key": "0x0033", "datatype": "uint32", "remark": "簇与pack压差(0.1V)"},
|
||||
{"key": "0x0035", "datatype": "uint32", "remark": "簇与PCS压差(0.1V)"},
|
||||
{"key": "0x0037", "datatype": "uint16", "remark": "簇中BMU个数"},
|
||||
{"key": "0x0038", "datatype": "uint16", "remark": "簇中BMU中单体个数"},
|
||||
{"key": "0x0039", "datatype": "uint16", "remark": "簇中BMU中温度个数"},
|
||||
{"key": "0x003A", "datatype": "uint16", "remark": "簇中单体个数"},
|
||||
{"key": "0x003B", "datatype": "uint16", "remark": "簇中温度个数"},
|
||||
{"key": "0x003C", "datatype": "uint16", "remark": "单体最高SOC节号"},
|
||||
{"key": "0x003D", "datatype": "uint16", "remark": "单体最高SOC(0.1)"},
|
||||
{"key": "0x003E", "datatype": "uint16", "remark": "单体最低SOC节号"},
|
||||
{"key": "0x003F", "datatype": "uint16", "remark": "单体最低SOC(0.1)"},
|
||||
{"key": "0x0040", "datatype": "uint16", "remark": "单体最高SOH节号"},
|
||||
{"key": "0x0041", "datatype": "uint16", "remark": "单体最高SOH(0.1)"},
|
||||
{"key": "0x0042", "datatype": "uint16", "remark": "单体最低SOH节号"},
|
||||
{"key": "0x0043", "datatype": "uint16", "remark": "单体最低SOH(0.1)"},
|
||||
{"key": "0x0044", "datatype": "uint16", "remark": "单体最高电压节号"},
|
||||
{"key": "0x0045", "datatype": "uint16", "remark": "单体最高电压(mV)"},
|
||||
{"key": "0x0046", "datatype": "uint16", "remark": "单体最低电压节号"},
|
||||
{"key": "0x0047", "datatype": "uint16", "remark": "单体最低电压(mV)"},
|
||||
{"key": "0x0048", "datatype": "uint16", "remark": "单体电压差(mV)"},
|
||||
{"key": "0x0049", "datatype": "uint16", "remark": "单体平均电压(mV)"},
|
||||
{"key": "0x004A", "datatype": "uint16", "remark": "单体最高温度节号"},
|
||||
{"key": "0x004B", "datatype": "int16", "remark": "单体最高温度(0.1℃)"},
|
||||
{"key": "0x004C", "datatype": "uint16", "remark": "单体最低温度节号"},
|
||||
{"key": "0x004D", "datatype": "int16", "remark": "单体最低温度(0.1℃)"},
|
||||
{"key": "0x004E", "datatype": "int16", "remark": "单体温度差(0.1℃)"},
|
||||
{"key": "0x004F", "datatype": "int16", "remark": "单体平均温度(0.1℃)"},
|
||||
{"key": "0x0050", "datatype": "uint16", "remark": "单体最高内阻节号"},
|
||||
{"key": "0x0051", "datatype": "uint16", "remark": "单体最高内阻(mΩ)"},
|
||||
{"key": "0x0052", "datatype": "uint16", "remark": "单体最低内阻节号"},
|
||||
{"key": "0x0053", "datatype": "uint16", "remark": "单体最低内阻(mΩ)"},
|
||||
{"key": "0x0054", "datatype": "uint16", "remark": "单体内阻差(mΩ)"},
|
||||
{"key": "0x0055", "datatype": "uint16", "remark": "单体平均内阻(mΩ)"}
|
||||
]
|
||||
},
|
||||
"BCU_YX":{
|
||||
"addr":[
|
||||
{"key": "0xA001", "datatype": "uint16", "remark": "所属通道号1~4"},
|
||||
{"key": "0xA002", "datatype": "uint16", "remark": "所属BCU号1~40"},
|
||||
{"key": "0xA003", "datatype": "uint16", "remark": "蓄电池充放电状态0x11开路0x22待机0x33充电0x44放电"},
|
||||
{"key": "0xA004", "datatype": "uint16", "remark": "电池组运行状态0x11跳机 0x22待机 0x33放空 0x44充满 0x55预警 0x66正常"},
|
||||
{"key": "0xA005", "datatype": "uint16", "remark": "簇DO1状态1:断开 2:闭合"},
|
||||
{"key": "0xA006", "datatype": "uint16", "remark": "簇DO2状态1:断开 2:闭合"},
|
||||
{"key": "0xA007", "datatype": "uint16", "remark": "继电器总正0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA008", "datatype": "uint16", "remark": "继电器总负0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA009", "datatype": "uint16", "remark": "继电器预充0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA00A", "datatype": "uint16", "remark": "继电器bmu供电0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA00B", "datatype": "uint16", "remark": "整簇总电压过高告警0:正常 1:告警"},
|
||||
{"key": "0xA00C", "datatype": "uint16", "remark": "整簇总电压过低告警0:正常 1:告警"},
|
||||
{"key": "0xA00D", "datatype": "uint16", "remark": "整簇中单体电压过高告警0:正常 1:告警"},
|
||||
{"key": "0xA00E", "datatype": "uint16", "remark": "整簇中单体电压过低告警0:正常 1:告警"},
|
||||
{"key": "0xA00F", "datatype": "uint16", "remark": "整簇中单体电压偏差过大告警0:正常 1:告警"},
|
||||
{"key": "0xA010", "datatype": "uint16", "remark": "整簇中单体温度偏差过大告警0:正常 1:告警"},
|
||||
{"key": "0xA011", "datatype": "uint16", "remark": "整簇中单体温度过高告警0:正常 1:告警"},
|
||||
{"key": "0xA012", "datatype": "uint16", "remark": "整簇中单体温度过低告警0:正常 1:告警"},
|
||||
{"key": "0xA013", "datatype": "uint16", "remark": "整簇总充电电流过高告警0:正常 1:告警"},
|
||||
{"key": "0xA014", "datatype": "uint16", "remark": "整簇总放电电流过高告警0:正常 1:告警"},
|
||||
{"key": "0xA015", "datatype": "uint16", "remark": "整簇总SOC过高告警0:正常 1:告警"},
|
||||
{"key": "0xA016", "datatype": "uint16", "remark": "整簇总SOC过低告警0:正常 1:告警"},
|
||||
{"key": "0xA017", "datatype": "uint16", "remark": "高压盒主正接触器粘连告警0:正常 1:告警"},
|
||||
{"key": "0xA018", "datatype": "uint16", "remark": "高压盒主正接触器不能吸合告警0:正常 1:告警"},
|
||||
{"key": "0xA019", "datatype": "uint16", "remark": "高压盒主负接触器粘连告警0:正常 1:告警"},
|
||||
{"key": "0xA01A", "datatype": "uint16", "remark": "高压盒主负接触器不能吸合告警0:正常 1:告警"},
|
||||
{"key": "0xA01B", "datatype": "uint16", "remark": "高压盒预充接触器粘连告警0:正常 1:告警"},
|
||||
{"key": "0xA01C", "datatype": "uint16", "remark": "高压盒预充接触器不能吸合告警0:正常 1:告警"},
|
||||
{"key": "0xA01D", "datatype": "uint16", "remark": "预充失败告警0:正常 1:告警"},
|
||||
{"key": "0xA01E", "datatype": "uint16", "remark": "BCU电压检测模块出现问题告警0:正常 1:告警"},
|
||||
{"key": "0xA01F", "datatype": "uint16", "remark": "BCU温度检测模块出现问题告警0:正常 1:告警"},
|
||||
{"key": "0xA020", "datatype": "uint16", "remark": "BCU电流检测模块出现问题告警0:正常 1:告警"},
|
||||
{"key": "0xA021", "datatype": "uint16", "remark": "BCU绝缘检测模块出现问题告警0:正常 1:告警"},
|
||||
{"key": "0xA022", "datatype": "uint16", "remark": "高压盒内总压检测模块出现问题告警0:正常 1:告警"},
|
||||
{"key": "0xA023", "datatype": "uint16", "remark": "高压盒外总压检测模块出现问题告警0:正常 1:告警"},
|
||||
{"key": "0xA024", "datatype": "uint16", "remark": "PCS-CAN通信故障告警0:正常 1:告警"},
|
||||
{"key": "0xA025", "datatype": "uint16", "remark": "高压盒供电电压过高告警0:正常 1:告警"},
|
||||
{"key": "0xA026", "datatype": "uint16", "remark": "绝缘正极故障告警0:正常 1:告警"},
|
||||
{"key": "0xA027", "datatype": "uint16", "remark": "绝缘负极故障告警0:正常 1:告警"},
|
||||
{"key": "0xA028", "datatype": "uint16", "remark": "绝缘中间侧故障告警0:正常 1:告警"},
|
||||
{"key": "0xA029", "datatype": "uint16", "remark": "绝缘故障告警0:正常 1:告警"},
|
||||
{"key": "0xA02A", "datatype": "uint16", "remark": "BMU中电压采样线开路告警0:正常 1:告警"},
|
||||
{"key": "0xA02B", "datatype": "uint16", "remark": "BMU中NTC采样线短开路告警0:正常 1:告警"},
|
||||
{"key": "0xA02C", "datatype": "uint16", "remark": "BMU中采样芯片故障告警0:正常 1:告警"},
|
||||
{"key": "0xA02D", "datatype": "uint16", "remark": "BMU中电池温度升高过快告警0:正常 1:告警"},
|
||||
{"key": "0xA02E", "datatype": "uint16", "remark": "BMU中电池内部短路告警0:正常 1:告警"},
|
||||
{"key": "0xA02F", "datatype": "uint16", "remark": "BMU充电均衡模块出现故障告警0:正常 1:告警"},
|
||||
{"key": "0xA030", "datatype": "uint16", "remark": "BMU放电均衡模块出现故障告警0:正常 1:告警"},
|
||||
{"key": "0xA031", "datatype": "uint16", "remark": "BMU通信故障告警0:正常 1:告警"},
|
||||
{"key": "0xA032", "datatype": "uint16", "remark": "单体内阻过大告警0:正常 1:告警"},
|
||||
{"key": "0xA033", "datatype": "uint16", "remark": "单体内阻过小告警0:正常 1:告警"},
|
||||
{"key": "0xA034", "datatype": "uint16", "remark": "单体内阻阻差过大告警0:正常 1:告警"},
|
||||
{"key": "0xA035", "datatype": "uint16", "remark": "簇内阻过大告警0:正常 1:告警"},
|
||||
{"key": "0xA036", "datatype": "uint16", "remark": "簇内阻过小告警0:正常 1:告警"},
|
||||
{"key": "0xA037", "datatype": "uint16", "remark": "SOC初始化无效告警0:正常 1:告警"},
|
||||
{"key": "0xA038", "datatype": "uint16", "remark": "充电时soc降低故障告警0:正常 1:告警"},
|
||||
{"key": "0xA039", "datatype": "uint16", "remark": "放电时soc升高告警0:正常 1:告警"},
|
||||
{"key": "0xA03A", "datatype": "uint16", "remark": "静止时SOC跳变告警0:正常 1:告警"},
|
||||
{"key": "0xA03B", "datatype": "uint16", "remark": "整簇总电压过高保护0:正常 1:保护"},
|
||||
{"key": "0xA03C", "datatype": "uint16", "remark": "整簇总电压过低保护0:正常 1:保护"},
|
||||
{"key": "0xA03D", "datatype": "uint16", "remark": "整簇中单体电压过高保护0:正常 1:保护"},
|
||||
{"key": "0xA03E", "datatype": "uint16", "remark": "整簇中单体电压过低保护0:正常 1:保护"},
|
||||
{"key": "0xA03F", "datatype": "uint16", "remark": "整簇中单体电压偏差过大保护0:正常 1:保护"},
|
||||
{"key": "0xA040", "datatype": "uint16", "remark": "整簇中单体温度偏差过大保护0:正常 1:保护"},
|
||||
{"key": "0xA041", "datatype": "uint16", "remark": "整簇中单体温度过高保护0:正常 1:保护"},
|
||||
{"key": "0xA042", "datatype": "uint16", "remark": "整簇中单体温度过低保护0:正常 1:保护"},
|
||||
{"key": "0xA043", "datatype": "uint16", "remark": "整簇总充电电流过高保护0:正常 1:保护"},
|
||||
{"key": "0xA044", "datatype": "uint16", "remark": "整簇总放电电流过高保护0:正常 1:保护"},
|
||||
{"key": "0xA045", "datatype": "uint16", "remark": "整簇总SOC过高保护0:正常 1:保护"},
|
||||
{"key": "0xA046", "datatype": "uint16", "remark": "整簇总SOC过低保护0:正常 1:保护"},
|
||||
{"key": "0xA047", "datatype": "uint16", "remark": "高压盒主正接触器粘连保护0:正常 1:保护"},
|
||||
{"key": "0xA048", "datatype": "uint16", "remark": "高压盒主正接触器不能吸合保护0:正常 1:保护"},
|
||||
{"key": "0xA049", "datatype": "uint16", "remark": "高压盒主负接触器粘连保护0:正常 1:保护"},
|
||||
{"key": "0xA04A", "datatype": "uint16", "remark": "高压盒主负接触器不能吸合保护0:正常 1:保护"},
|
||||
{"key": "0xA04B", "datatype": "uint16", "remark": "高压盒预充接触器粘连保护0:正常 1:保护"},
|
||||
{"key": "0xA04C", "datatype": "uint16", "remark": "高压盒预充接触器不能吸合保护0:正常 1:保护"},
|
||||
{"key": "0xA04D", "datatype": "uint16", "remark": "预充失败保护0:正常 1:保护"},
|
||||
{"key": "0xA04E", "datatype": "uint16", "remark": "BCU电压检测模块出现问题保护0:正常 1:保护"},
|
||||
{"key": "0xA04F", "datatype": "uint16", "remark": "BCU温度检测模块出现问题保护0:正常 1:保护"},
|
||||
{"key": "0xA050", "datatype": "uint16", "remark": "BCU电流检测模块出现问题保护0:正常 1:保护"},
|
||||
{"key": "0xA051", "datatype": "uint16", "remark": "BCU绝缘检测模块出现问题保护0:正常 1:保护"},
|
||||
{"key": "0xA052", "datatype": "uint16", "remark": "高压盒内总压检测模块出现问题保护0:正常 1:保护"},
|
||||
{"key": "0xA053", "datatype": "uint16", "remark": "高压盒外总压检测模块出现问题保护0:正常 1:保护"},
|
||||
{"key": "0xA054", "datatype": "uint16", "remark": "PCS-CAN通信故障保护0:正常 1:保护"},
|
||||
{"key": "0xA055", "datatype": "uint16", "remark": "高压盒供电电压过高保护0:正常 1:保护"},
|
||||
{"key": "0xA056", "datatype": "uint16", "remark": "绝缘正极故障保护0:正常 1:保护"},
|
||||
{"key": "0xA057", "datatype": "uint16", "remark": "绝缘负极故障保护0:正常 1:保护"},
|
||||
{"key": "0xA058", "datatype": "uint16", "remark": "绝缘中间侧故障保护0:正常 1:保护"},
|
||||
{"key": "0xA059", "datatype": "uint16", "remark": "绝缘故障保护0:正常 1:保护"},
|
||||
{"key": "0xA05A", "datatype": "uint16", "remark": "BMU中电压采样线开路保护0:正常 1:保护"},
|
||||
{"key": "0xA05B", "datatype": "uint16", "remark": "BMU中NTC采样线短开路保护0:正常 1:保护"},
|
||||
{"key": "0xA05C", "datatype": "uint16", "remark": "BMU中采样芯片故障保护0:正常 1:保护"},
|
||||
{"key": "0xA05D", "datatype": "uint16", "remark": "BMU中电池温度升高过快保护0:正常 1:保护"},
|
||||
{"key": "0xA05E", "datatype": "uint16", "remark": "BMU中电池内部短路保护0:正常 1:保护"},
|
||||
{"key": "0xA05F", "datatype": "uint16", "remark": "BMU充电均衡模块出现故障保护0:正常 1:保护"},
|
||||
{"key": "0xA060", "datatype": "uint16", "remark": "BMU放电均衡模块出现故障保护0:正常 1:保护"},
|
||||
{"key": "0xA061", "datatype": "uint16", "remark": "BMU通信故障保护0:正常 1:保护"},
|
||||
{"key": "0xA062", "datatype": "uint16", "remark": "单体内阻过大保护0:正常 1:保护"},
|
||||
{"key": "0xA063", "datatype": "uint16", "remark": "单体内阻过小保护0:正常 1:保护"},
|
||||
{"key": "0xA064", "datatype": "uint16", "remark": "单体内阻阻差过大保护0:正常 1:保护"},
|
||||
{"key": "0xA065", "datatype": "uint16", "remark": "簇内阻过大保护0:正常 1:保护"},
|
||||
{"key": "0xA066", "datatype": "uint16", "remark": "簇内阻过小保护0:正常 1:保护"},
|
||||
{"key": "0xA067", "datatype": "uint16", "remark": "SOC初始化无效保护0:正常 1:保护"},
|
||||
{"key": "0xA068", "datatype": "uint16", "remark": "充电时soc降低故障保护0:正常 1:保护"},
|
||||
{"key": "0xA069", "datatype": "uint16", "remark": "放电时soc升高保护0:正常 1:保护"},
|
||||
{"key": "0xA06A", "datatype": "uint16", "remark": "静止时SOC跳变保护0:正常 1:保护"}
|
||||
]
|
||||
},
|
||||
"MEM_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "所属通道号1"},
|
||||
{"key": "0x0008", "datatype": "uint16", "remark": "电表类型0:储能站总表1:逆变前侧电表2:逆变后侧电表3:配电柜电表4:并网口电表"},
|
||||
{"key": "0x0009", "datatype": "uint16", "remark": "电流变比"},
|
||||
{"key": "0x000A", "datatype": "uint16", "remark": "电压变比"},
|
||||
{"key": "0x000B", "datatype": "uint32", "remark": "A相电压(1V)"},
|
||||
{"key": "0x000D", "datatype": "uint32", "remark": "B相电压(1V)"},
|
||||
{"key": "0x000F", "datatype": "uint32", "remark": "C相电压(1V)"},
|
||||
{"key": "0x0011", "datatype": "int32", "remark": "A相电流(1A)"},
|
||||
{"key": "0x0013", "datatype": "int32", "remark": "B相电流(1A)"},
|
||||
{"key": "0x0015", "datatype": "int32", "remark": "C相电流(1A)"},
|
||||
{"key": "0x0017", "datatype": "uint32", "remark": "AB相电压(1V)"},
|
||||
{"key": "0x0019", "datatype": "uint32", "remark": "BC相电压(1V)"},
|
||||
{"key": "0x001B", "datatype": "uint32", "remark": "CA相电压(1V)"},
|
||||
{"key": "0x001D", "datatype": "int32", "remark": "A相有功(1kW)"},
|
||||
{"key": "0x001F", "datatype": "int32", "remark": "B相有功(1kW)"},
|
||||
{"key": "0x0021", "datatype": "int32", "remark": "C相有功(1kW)"},
|
||||
{"key": "0x0023", "datatype": "int32", "remark": "三相总有功(1kW)"},
|
||||
{"key": "0x0025", "datatype": "int32", "remark": "正向总有功总需量(1kW)"},
|
||||
{"key": "0x0027", "datatype": "uint32", "remark": "尖段电价(1RMB)"},
|
||||
{"key": "0x0029", "datatype": "uint32", "remark": "峰段电价(1RMB)"},
|
||||
{"key": "0x002B", "datatype": "uint32", "remark": "平段电价(1RMB)"},
|
||||
{"key": "0x002D", "datatype": "uint32", "remark": "谷段电价(1RMB)"},
|
||||
{"key": "0x002F", "datatype": "uint32", "remark": "日充电电量(1kWh)"},
|
||||
{"key": "0x0031", "datatype": "uint32", "remark": "日放电电量(1kWh)"},
|
||||
{"key": "0x0033", "datatype": "uint32", "remark": "日充电费用(1RMB)"},
|
||||
{"key": "0x0035", "datatype": "uint32", "remark": "日放电费用(1RMB)"},
|
||||
{"key": "0x0037", "datatype": "int32", "remark": "日收益(1RMB)"},
|
||||
{"key": "0x0039", "datatype": "uint32", "remark": "日正向尖有功电能(1kWh)"},
|
||||
{"key": "0x003B", "datatype": "uint32", "remark": "日正向峰有功电能(1kWh)"},
|
||||
{"key": "0x003D", "datatype": "uint32", "remark": "日正向平有功电能(1kWh)"},
|
||||
{"key": "0x003F", "datatype": "uint32", "remark": "日正向谷有功电能(1kWh)"},
|
||||
{"key": "0x0041", "datatype": "uint32", "remark": "日正向总有功电能(1kWh)"},
|
||||
{"key": "0x0043", "datatype": "uint32", "remark": "日反向尖有功电能(1kWh)"},
|
||||
{"key": "0x0045", "datatype": "uint32", "remark": "日反向峰有功电能(1kWh)"},
|
||||
{"key": "0x0047", "datatype": "uint32", "remark": "日反向平有功电能(1kWh)"},
|
||||
{"key": "0x0049", "datatype": "uint32", "remark": "日反向谷有功电能(1kWh)"},
|
||||
{"key": "0x004B", "datatype": "uint32", "remark": "日反向总有功电能(1kWh)"},
|
||||
{"key": "0x004D", "datatype": "uint32", "remark": "总充电电量(1kWh)"},
|
||||
{"key": "0x004F", "datatype": "uint32", "remark": "总放电电量(1kWh)"},
|
||||
{"key": "0x0051", "datatype": "uint32", "remark": "总充电费用(1RMB)"},
|
||||
{"key": "0x0053", "datatype": "uint32", "remark": "总放电费用(1RMB)"},
|
||||
{"key": "0x0055", "datatype": "int32", "remark": "总收益(1RMB)"},
|
||||
{"key": "0x0057", "datatype": "uint32", "remark": "总正向尖有功电能(1kWh)"},
|
||||
{"key": "0x0059", "datatype": "uint32", "remark": "总正向峰有功电能(1kWh)"},
|
||||
{"key": "0x005B", "datatype": "uint32", "remark": "总正向平有功电能(1kWh)"},
|
||||
{"key": "0x005D", "datatype": "uint32", "remark": "总正向谷有功电能(1kWh)"},
|
||||
{"key": "0x005F", "datatype": "uint32", "remark": "总正向总有功电能(1kWh)"},
|
||||
{"key": "0x0061", "datatype": "uint32", "remark": "总反向尖有功电能(1kWh)"},
|
||||
{"key": "0x0063", "datatype": "uint32", "remark": "总反向峰有功电能(1kWh)"},
|
||||
{"key": "0x0065", "datatype": "uint32", "remark": "总反向平有功电能(1kWh)"},
|
||||
{"key": "0x0067", "datatype": "uint32", "remark": "总反向谷有功电能(1kWh)"},
|
||||
{"key": "0x0069", "datatype": "uint32", "remark": "总反向总有功电能(1kWh)"}
|
||||
]
|
||||
},
|
||||
"TH_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "所属通道号1"},
|
||||
{"key": "0x0002", "datatype": "uint16", "remark": "所属温湿度号1~10"},
|
||||
{"key": "0x0003", "datatype": "int16", "remark": "温度(0.1℃)"},
|
||||
{"key": "0x0004", "datatype": "int16", "remark": "湿度(0.1℃)"}
|
||||
|
||||
]
|
||||
},
|
||||
"Fire40_YX":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "所属通道号1~10"},
|
||||
{"key": "0x0002", "datatype": "uint16", "remark": "主控数量1"},
|
||||
{"key": "0x0003", "datatype": "uint16", "remark": "主控ID1"},
|
||||
{"key": "0x0004", "datatype": "uint16", "remark": "主控状态0:正常 1:预警 2:火警"},
|
||||
{"key": "0x0005", "datatype": "uint32", "remark": "主控硬件版本"},
|
||||
{"key": "0x0007", "datatype": "uint32", "remark": "主控软件版本"},
|
||||
{"key": "0x0009", "datatype": "uint16", "remark": "主电状态0:使用市电 1:使用备电"},
|
||||
{"key": "0x000A", "datatype": "uint32", "remark": "备电电流(0.1A)"},
|
||||
{"key": "0x000C", "datatype": "uint32", "remark": "备电电压(0.1V)"},
|
||||
{"key": "0x000E", "datatype": "uint32", "remark": "可用容量(0.01Ah)"},
|
||||
{"key": "0x0010", "datatype": "uint32", "remark": "可充放容量(0.01Ah)"},
|
||||
{"key": "0x0012", "datatype": "uint16", "remark": "警铃是否使用"},
|
||||
{"key": "0x0013", "datatype": "uint16", "remark": "警铃状态0:无效 1:掉线 2:正常 3:启动"},
|
||||
{"key": "0x0014", "datatype": "uint16", "remark": "瓶头阀是否使用"},
|
||||
{"key": "0x0015", "datatype": "uint16", "remark": "瓶头阀状态0:无效 1:掉线 2:正常 3:启动"},
|
||||
{"key": "0x0016", "datatype": "uint16", "remark": "手报是否使用"},
|
||||
{"key": "0x0017", "datatype": "uint16", "remark": "手报状态0:无效 1:掉线 2:正常 3:启动"},
|
||||
{"key": "0x0018", "datatype": "uint16", "remark": "簇控制器数量"},
|
||||
{"key": "0x0019", "datatype": "uint16", "remark": "复合探测器总数量"},
|
||||
{"key": "0x001A", "datatype": "uint16", "remark": "烟雾探测器总数量"},
|
||||
{"key": "0x001B", "datatype": "uint16", "remark": "压力探测器总数量"},
|
||||
{"key": "0x001C", "datatype": "uint16", "remark": "吸气式探测器总数量"},
|
||||
{"key": "0x001D", "datatype": "uint16", "remark": "PACK探测器总数量"},
|
||||
{"key": "0x001E", "datatype": "uint16", "remark": "电池总数量"}
|
||||
]
|
||||
},
|
||||
"Cooling_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "remark": "所属通道号1"},
|
||||
{"key": "0x0002", "datatype": "uint16", "remark": "所属冷机号1~10"},
|
||||
{"key": "0x0003", "datatype": "int16", "remark": "制冷点(0.1℃)"},
|
||||
{"key": "0x0004", "datatype": "int16", "remark": "制冷偏差(0.1℃)"},
|
||||
{"key": "0x0005", "datatype": "int16", "remark": "高温告警值(0.1℃)"},
|
||||
{"key": "0x0006", "datatype": "int16", "remark": "低温告警值(0.1℃)"},
|
||||
{"key": "0x0007", "datatype": "int16", "remark": "制热点(0.1℃)"},
|
||||
{"key": "0x0008", "datatype": "int16", "remark": "制热偏差(0.1℃)"},
|
||||
{"key": "0x0009", "datatype": "int16", "remark": "电芯温度(0.1℃)"},
|
||||
{"key": "0x000A", "datatype": "int16", "remark": "环境湿度(0.1℃)"},
|
||||
{"key": "0x000B", "datatype": "int16", "remark": "吸气温度(0.1℃)"},
|
||||
{"key": "0x000C", "datatype": "int16", "remark": "排气温度(0.1℃)"},
|
||||
{"key": "0x000D", "datatype": "int16", "remark": "进水温度/供液温度(0.1℃)"},
|
||||
{"key": "0x000E", "datatype": "int16", "remark": "出水温度/回液温度(0.1℃)"},
|
||||
{"key": "0x000F", "datatype": "int16", "remark": "进水压力/供液压力(0.1)"},
|
||||
{"key": "0x0010", "datatype": "int16", "remark": "出水压力/回液压力(0.1)"},
|
||||
{"key": "0x0011", "datatype": "int16", "remark": "高压压力(0.1)"},
|
||||
{"key": "0x0012", "datatype": "int16", "remark": "低压压力(0.1)"},
|
||||
{"key": "0x0013", "datatype": "int16", "remark": "循环水泵转速"},
|
||||
{"key": "0x0014", "datatype": "int16", "remark": "压缩机频率"},
|
||||
{"key": "0x0015", "datatype": "int16", "remark": "室外风机转速"}
|
||||
]
|
||||
},
|
||||
"Cooling_YX":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "remark": "所属通道号1"},
|
||||
{"key": "0x1002", "datatype": "uint16", "remark": "所属冷机号1~10"},
|
||||
{"key": "0x1003", "datatype": "uint16", "remark": "开关0:关机,1:开机"},
|
||||
{"key": "0x1004", "datatype": "uint16", "remark": "采样模式(0-出水温度 1-电芯温度)"},
|
||||
{"key": "0x1005", "datatype": "uint16", "remark": "制冷状态0:关闭,1:启动"},
|
||||
{"key": "0x1006", "datatype": "uint16", "remark": "制热状态0:关闭,1:启动"},
|
||||
{"key": "0x1007", "datatype": "uint16", "remark": "高温告警0:正常,1:告警"},
|
||||
{"key": "0x1008", "datatype": "uint16", "remark": "低温告警0:正常,1:告警"},
|
||||
{"key": "0x1009", "datatype": "uint16", "remark": "高压告警0:正常,1:告警"},
|
||||
{"key": "0x100A", "datatype": "uint16", "remark": "低压告警0:正常,1:告警"},
|
||||
{"key": "0x100B", "datatype": "uint16", "remark": "进水温度传感器0:正常,1:告警"},
|
||||
{"key": "0x100C", "datatype": "uint16", "remark": "出水温度传感器0:正常,1:告警"},
|
||||
{"key": "0x100D", "datatype": "uint16", "remark": "进水压力传感器0:正常,1:告警"},
|
||||
{"key": "0x100E", "datatype": "uint16", "remark": "出水压力传感器0:正常,1:告警"}
|
||||
]
|
||||
},
|
||||
"Gateway_YC":{
|
||||
"addr":[
|
||||
{"key": "40001", "datatype": "uint16", "remark": "模式"},
|
||||
{"key": "40002", "datatype": "uint16", "remark": "峰谷时间段"},
|
||||
{"key": "40021", "datatype": "uint16", "remark": "自定时间段"},
|
||||
{"key": "40038", "datatype": "uint16", "remark": "其他参数"}
|
||||
]
|
||||
},
|
||||
"Charger_YC":{
|
||||
"addr":[
|
||||
{"key": "11", "datatype": "uint16", "remark": "枪1:状态"},
|
||||
{"key": "12", "datatype": "uint16", "remark": "枪1:需求电压"},
|
||||
{"key": "13", "datatype": "uint16", "remark": "枪1:需求电流"},
|
||||
{"key": "14", "datatype": "uint16", "remark": "枪1:需求功率"},
|
||||
{"key": "15", "datatype": "uint16", "remark": "枪1:输出电压"},
|
||||
{"key": "16", "datatype": "uint16", "remark": "枪1:输出电流"},
|
||||
{"key": "17", "datatype": "uint16", "remark": "枪1:输出功率"},
|
||||
{"key": "18", "datatype": "uint16", "remark": "枪1:功率限值"},
|
||||
{"key": "21", "datatype": "uint16", "remark": "枪2:状态"},
|
||||
{"key": "22", "datatype": "uint16", "remark": "枪2:需求电压"},
|
||||
{"key": "23", "datatype": "uint16", "remark": "枪2:需求电流"},
|
||||
{"key": "24", "datatype": "uint16", "remark": "枪2:需求功率"},
|
||||
{"key": "25", "datatype": "uint16", "remark": "枪2:输出电压"},
|
||||
{"key": "26", "datatype": "uint16", "remark": "枪2:输出电流"},
|
||||
{"key": "27", "datatype": "uint16", "remark": "枪2:输出功率"},
|
||||
{"key": "28", "datatype": "uint16", "remark": "枪2:功率限值"}
|
||||
]
|
||||
}
|
||||
}
|
||||
901
bin/Release/assets/config-online/regaddrs.json
Normal file
901
bin/Release/assets/config-online/regaddrs.json
Normal file
@@ -0,0 +1,901 @@
|
||||
{
|
||||
"EMS_YT":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"EMS工作模式", "remark": "0:无效1:本地控制模式, EMS不接受平台调控2:平台控制模式, EMS接收平台调控指令(-)"},
|
||||
{"key": "0x0002", "datatype": "int16", "alert": 0, "name":"有功功率", "remark": "并网恒功率模式下交流侧功率值:<0: 充电功率0: 静置>0: 放电功率(kW)"},
|
||||
{"key": "0x0003", "datatype": "uint16", "alert": 0, "name":"PCS开关机", "remark": "0: 关机1: 开机(-)"},
|
||||
{"key": "0x0004", "datatype": "uint16", "alert": 0, "name":"主控对象", "remark": "储能遥控对象:0:无效1:华云2:轻舟"},
|
||||
{"key": "0x0005", "datatype": "int16", "alert": 0, "name":"A相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0006", "datatype": "int16", "alert": 0, "name":"B相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0007", "datatype": "int16", "alert": 0, "name":"C相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0008", "datatype": "int16", "alert": 0, "name":"三相总有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0009", "datatype": "int16", "alert": 0, "name":"A相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x000A", "datatype": "int16", "alert": 0, "name":"B相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x000B", "datatype": "int16", "alert": 0, "name":"C相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x000C", "datatype": "int16", "alert": 0, "name":"三相总无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x000D", "datatype": "int16", "alert": 0, "name":"A相电流", "remark": "(0.01A)"},
|
||||
{"key": "0x000E", "datatype": "int16", "alert": 0, "name":"B相电流", "remark": "(0.01A)"},
|
||||
{"key": "0x000F", "datatype": "int16", "alert": 0, "name":"C相电流", "remark": "(0.01A)"},
|
||||
{"key": "0x0010", "datatype": "uint16", "alert": 0, "name":"A相电压", "remark": "(1V)"},
|
||||
{"key": "0x0011", "datatype": "uint16", "alert": 0, "name":"B相电压", "remark": "(1V)"},
|
||||
{"key": "0x0012", "datatype": "uint16", "alert": 0, "name":"C相电压", "remark": "(1V)"},
|
||||
{"key": "0x0013", "datatype": "int16", "alert": 0, "name":"A相交流功率因数", "remark": "(0.01)"},
|
||||
{"key": "0x0014", "datatype": "int16", "alert": 0, "name":"B相交流功率因数", "remark": "(0.01)"},
|
||||
{"key": "0x0015", "datatype": "int16", "alert": 0, "name":"C相交流功率因数", "remark": "(0.01)"},
|
||||
{"key": "0x0016", "datatype": "int16", "alert": 0, "name":"A相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0017", "datatype": "int16", "alert": 0, "name":"B相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0018", "datatype": "int16", "alert": 0, "name":"C相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0019", "datatype": "int16", "alert": 0, "name":"正向总有功总需量", "remark": "(1kW)"},
|
||||
{"key": "0x001A", "datatype": "int16", "alert": 0, "name":"数据有效性", "remark": "0无效 1有效"},
|
||||
{"key": "0x001B", "datatype": "uint16", "alert": 0, "name":"EMS工作模式", "remark": "0:无效1:本地控制模式, EMS不接受平台调控2:平台控制模式, EMS接收平台调控指令(-)"},
|
||||
{"key": "0x001C", "datatype": "uint16", "alert": 0, "name":"有功功率", "remark": "并网恒功率模式下交流侧功率值:功率绝对值 没有正负(kW)"},
|
||||
{"key": "0x001D", "datatype": "uint16", "alert": 0, "name":"充放电类型", "remark": "0: 关机1: 充电2:放电3:待机(-)"},
|
||||
{"key": "0x001E", "datatype": "uint16", "alert": 0, "name":"最大SOC", "remark": ""},
|
||||
{"key": "0x001F", "datatype": "uint16", "alert": 0, "name":"最小SOC", "remark": ""},
|
||||
{"key": "0x0020", "datatype": "uint16", "alert": 0, "name":"自动并离网", "remark": "0:手动1:自动"},
|
||||
{"key": "0x0021", "datatype": "uint16", "alert": 0, "name":"并网离网", "remark": "0:并网1:离网"}
|
||||
]
|
||||
},
|
||||
"EMS_YX":{
|
||||
"addr":[
|
||||
{"key": "0x2001", "datatype": "uint16", "alert": 0, "name":"BMS(电池堆)通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2002", "datatype": "uint64", "alert": 0, "name":"BCU(电池簇)通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2006", "datatype": "uint16", "alert": 0, "name":"PCU(主控)通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2007", "datatype": "uint64", "alert": 0, "name":"PCS(模块)通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x200B", "datatype": "uint16", "alert": 0, "name":"电表总接点通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x200C", "datatype": "uint32", "alert": 0, "name":"电表通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x200E", "datatype": "uint16", "alert": 0, "name":"消防通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x200F", "datatype": "uint16", "alert": 0, "name":"UPS通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2010", "datatype": "uint16", "alert": 0, "name":"温湿度总接点通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2011", "datatype": "uint32", "alert": 0, "name":"温湿度通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2013", "datatype": "uint16", "alert": 0, "name":"空调总接点通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2014", "datatype": "uint32", "alert": 0, "name":"空调通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2016", "datatype": "uint16", "alert": 0, "name":"控制干接点(配电系统)状态", "remark": "0:开路1:闭合"},
|
||||
{"key": "0x2017", "datatype": "uint16", "alert": 0, "name":"状态干接点(配电系统)状态", "remark": "0:开路1:闭合"},
|
||||
{"key": "0x2018", "datatype": "uint16", "alert": 0, "name":"BCU总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x2019", "datatype": "uint16", "alert": 0, "name":"PCU总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201A", "datatype": "uint16", "alert": 0, "name":"电表总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201B", "datatype": "uint16", "alert": 0, "name":"消防总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201C", "datatype": "uint16", "alert": 0, "name":"UPS总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201D", "datatype": "uint16", "alert": 0, "name":"温湿度总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201E", "datatype": "uint16", "alert": 0, "name":"空调总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x201F", "datatype": "uint16", "alert": 0, "name":"EMU通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x2020", "datatype": "uint16", "alert": 0, "name":"冷机总通信状态", "remark": "0:正常 1:告警 2:故障"},
|
||||
{"key": "0x2021", "datatype": "uint16", "alert": 0, "name":"冷机总接点通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x2022", "datatype": "uint16", "alert": 0, "name":"冷机通信状态", "remark": "0:正常1:故障"},
|
||||
{"key": "0x207A", "datatype": "uint16", "alert": 0, "name":"判断总表的三相总有功 < -5.0fkW 充电 >5.0fkW放电 否则停机", "remark": "0:充电 1:放电 2:停机"}
|
||||
]
|
||||
},
|
||||
"EMS_YC":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "alert": 0, "name":"BMS(电池堆)个数", "remark": "1"},
|
||||
{"key": "0x1002", "datatype": "uint16", "alert": 0, "name":"BCU通道个数", "remark": "1~2"},
|
||||
{"key": "0x1003", "datatype": "uint16", "alert": 0, "name":"BCU(电池簇)个数", "remark": "1~40"},
|
||||
{"key": "0x1004", "datatype": "uint16", "alert": 0, "name":"PCU(主控)个数", "remark": "1~4"},
|
||||
{"key": "0x1005", "datatype": "uint16", "alert": 0, "name":"PCU通道个数", "remark": "1~4"},
|
||||
{"key": "0x1006", "datatype": "uint16", "alert": 0, "name":"PCS(模块)个数", "remark": "1~40"},
|
||||
{"key": "0x1007", "datatype": "uint16", "alert": 0, "name":"电表通道个数", "remark": "1"},
|
||||
{"key": "0x1008", "datatype": "uint16", "alert": 0, "name":"电表个数", "remark": "1~10"},
|
||||
{"key": "0x1009", "datatype": "uint16", "alert": 0, "name":"消防通道个数", "remark": "1~10"},
|
||||
{"key": "0x100A", "datatype": "uint16", "alert": 0, "name":"消防个数", "remark": "1~10"},
|
||||
{"key": "0x100B", "datatype": "uint16", "alert": 0, "name":"UPS通道个数", "remark": "1~10"},
|
||||
{"key": "0x100C", "datatype": "uint16", "alert": 0, "name":"UPS个数", "remark": "1~10"},
|
||||
{"key": "0x100D", "datatype": "uint16", "alert": 0, "name":"温湿度通道个数", "remark": "1"},
|
||||
{"key": "0x100E", "datatype": "uint16", "alert": 0, "name":"温湿度个数", "remark": "1~10"},
|
||||
{"key": "0x100F", "datatype": "uint16", "alert": 0, "name":"空调通道个数", "remark": "1"},
|
||||
{"key": "0x1010", "datatype": "uint16", "alert": 0, "name":"空调个数", "remark": "1~10"},
|
||||
{"key": "0x1011", "datatype": "uint16", "alert": 0, "name":"控制干接点(配电系统)个数", "remark": "16"},
|
||||
{"key": "0x1012", "datatype": "uint16", "alert": 0, "name":"状态干接点(配电系统)个数", "remark": "16"},
|
||||
{"key": "0x1072", "datatype": "uint32", "alert": 0, "name":"系统最大可充电功率", "remark": "(1KW)"},
|
||||
{"key": "0x1074", "datatype": "uint32", "alert": 0, "name":"系统最大可放电功率", "remark": "(1KW)"},
|
||||
{"key": "0x1076", "datatype": "uint32", "alert": 0, "name":"储能母线电压", "remark": "(0.1V)"},
|
||||
{"key": "0x1078", "datatype": "int32", "alert": 0, "name":"储能母线电流", "remark": "(0.1A)"},
|
||||
{"key": "0x107A", "datatype": "uint16", "alert": 0, "name":"储能系统SOC", "remark": "(0.1)"},
|
||||
{"key": "0x107B", "datatype": "uint16", "alert": 0, "name":"储能系统SOH", "remark": "(0.1)"},
|
||||
{"key": "0x107C", "datatype": "uint16", "alert": 0, "name":"电流变比", "remark": ""},
|
||||
{"key": "0x107D", "datatype": "uint16", "alert": 0, "name":"电压变比", "remark": ""},
|
||||
{"key": "0x107E", "datatype": "uint32", "alert": 0, "name":"A相电压", "remark": "(1V)"},
|
||||
{"key": "0x1080", "datatype": "uint32", "alert": 0, "name":"B相电压", "remark": "(1V)"},
|
||||
{"key": "0x1082", "datatype": "uint32", "alert": 0, "name":"C相电压", "remark": "(1V)"},
|
||||
{"key": "0x1084", "datatype": "int32", "alert": 0, "name":"A相电流", "remark": "(1A)"},
|
||||
{"key": "0x1086", "datatype": "int32", "alert": 0, "name":"B相电流", "remark": "(1A)"},
|
||||
{"key": "0x1088", "datatype": "int32", "alert": 0, "name":"C相电流", "remark": "(1A)"},
|
||||
{"key": "0x108A", "datatype": "uint32", "alert": 0, "name":"AB相电压", "remark": "(1V)"},
|
||||
{"key": "0x108C", "datatype": "uint32", "alert": 0, "name":"BC相电压", "remark": "(1V)"},
|
||||
{"key": "0x108E", "datatype": "uint32", "alert": 0, "name":"CA相电压", "remark": "(1V)"},
|
||||
{"key": "0x1090", "datatype": "int32", "alert": 0, "name":"A相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x1092", "datatype": "int32", "alert": 0, "name":"B相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x1094", "datatype": "int32", "alert": 0, "name":"C相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x1096", "datatype": "int32", "alert": 0, "name":"三相总有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x1098", "datatype": "int32", "alert": 0, "name":"当前控制功率", "remark": "(0.1kW)"},
|
||||
{"key": "0x109A", "datatype": "uint32", "alert": 0, "name":"负荷率", "remark": "(0.01)"},
|
||||
{"key": "0x109C", "datatype": "uint32", "alert": 0, "name":"三相不平衡度", "remark": "(0.01)"},
|
||||
{"key": "0x109E", "datatype": "uint32", "alert": 0, "name":"功率因素比率", "remark": "(0.01)"},
|
||||
{"key": "0x10A0", "datatype": "int32", "alert": 0, "name":"进线开关柜功率", "remark": "(1kW)"},
|
||||
{"key": "0x10A2", "datatype": "int32", "alert": 0, "name":"用户关口表功率", "remark": "(1kW)"},
|
||||
{"key": "0x1104", "datatype": "int32", "alert": 0, "name":"正向总有功总需量", "remark": "(1kW)"},
|
||||
{"key": "0x1106", "datatype": "uint32", "alert": 0, "name":"尖段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x1108", "datatype": "uint32", "alert": 0, "name":"峰段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x110A", "datatype": "uint32", "alert": 0, "name":"平段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x110C", "datatype": "uint32", "alert": 0, "name":"谷段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x110E", "datatype": "uint32", "alert": 0, "name":"日充电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x1110", "datatype": "uint32", "alert": 0, "name":"日放电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x1112", "datatype": "uint32", "alert": 0, "name":"日充电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x1114", "datatype": "uint32", "alert": 0, "name":"日放电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x1116", "datatype": "int32", "alert": 0, "name":"日收益", "remark": "(1RMB)"},
|
||||
{"key": "0x1118", "datatype": "uint32", "alert": 0, "name":"日正向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x111A", "datatype": "uint32", "alert": 0, "name":"日正向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x111C", "datatype": "uint32", "alert": 0, "name":"日正向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x111E", "datatype": "uint32", "alert": 0, "name":"日正向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1120", "datatype": "uint32", "alert": 0, "name":"日正向总有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1122", "datatype": "uint32", "alert": 0, "name":"日反向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1124", "datatype": "uint32", "alert": 0, "name":"日反向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1126", "datatype": "uint32", "alert": 0, "name":"日反向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1128", "datatype": "uint32", "alert": 0, "name":"日反向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x112A", "datatype": "uint32", "alert": 0, "name":"日反向总有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x112C", "datatype": "uint32", "alert": 0, "name":"总充电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x112E", "datatype": "uint32", "alert": 0, "name":"总放电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x1130", "datatype": "uint32", "alert": 0, "name":"总充电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x1132", "datatype": "uint32", "alert": 0, "name":"总放电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x1134", "datatype": "int32", "alert": 0, "name":"总收益", "remark": "(1RMB)"},
|
||||
{"key": "0x1136", "datatype": "uint32", "alert": 0, "name":"总正向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1138", "datatype": "uint32", "alert": 0, "name":"总正向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x113A", "datatype": "uint32", "alert": 0, "name":"总正向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x113C", "datatype": "uint32", "alert": 0, "name":"总正向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x113E", "datatype": "uint32", "alert": 0, "name":"总正向总有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1140", "datatype": "uint32", "alert": 0, "name":"总反向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1142", "datatype": "uint32", "alert": 0, "name":"总反向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1144", "datatype": "uint32", "alert": 0, "name":"总反向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1146", "datatype": "uint32", "alert": 0, "name":"总反向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x1148", "datatype": "uint32", "alert": 0, "name":"总反向总有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x11AE", "datatype": "int16", "alert": 0, "name":"交流A相电压", "remark": "(1V)"},
|
||||
{"key": "0x11AF", "datatype": "int16", "alert": 0, "name":"交流B相电压", "remark": "(1V)"},
|
||||
{"key": "0x11B0", "datatype": "int16", "alert": 0, "name":"交流C相电压", "remark": "(1V)"},
|
||||
{"key": "0x11B1", "datatype": "int16", "alert": 0, "name":"交流A相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x11B2", "datatype": "int16", "alert": 0, "name":"交流B相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x11B3", "datatype": "int16", "alert": 0, "name":"交流C相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x11B4", "datatype": "int32", "alert": 0, "name":"总直流功率", "remark": "(1kW)"},
|
||||
{"key": "0x11B6", "datatype": "uint32", "alert": 0, "name":"总直流电压", "remark": "(0.1V)"},
|
||||
{"key": "0x11B8", "datatype": "int32", "alert": 0, "name":"总直流电流", "remark": "(0.1A)"},
|
||||
{"key": "0x121B", "datatype": "int16", "alert": 0, "name":"储能系统温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x121C", "datatype": "uint16", "alert": 0, "name":"储能充放电时段hh", "remark": "(时)"},
|
||||
{"key": "0x121D", "datatype": "uint16", "alert": 0, "name":"储能充放电时段mm", "remark": "(分)"},
|
||||
{"key": "0x121E", "datatype": "uint16", "alert": 0, "name":"储能充放电时段ss", "remark": "(秒)"},
|
||||
{"key": "0x121F", "datatype": "int16", "alert": 0, "name":"储能系统各时段功率", "remark": "(1kW)"}
|
||||
]
|
||||
},
|
||||
"PCU_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1~4"},
|
||||
{"key": "0x0002", "datatype": "uint32", "alert": 0, "name":"充电功率最大许可", "remark": "(1KW)"},
|
||||
{"key": "0x0004", "datatype": "uint32", "alert": 0, "name":"放电功率最大许可", "remark": "(1KW)"},
|
||||
{"key": "0x0006", "datatype": "uint32", "alert": 0, "name":"交流日总充电量", "remark": "(1KWh)"},
|
||||
{"key": "0x0008", "datatype": "uint32", "alert": 0, "name":"交流日总放电量", "remark": "(1KWh)"},
|
||||
{"key": "0x000A", "datatype": "uint32", "alert": 0, "name":"交流总充电量", "remark": "(1KWh)"},
|
||||
{"key": "0x000C", "datatype": "uint32", "alert": 0, "name":"交流总放电量", "remark": "(1KWh)"},
|
||||
{"key": "0x000E", "datatype": "int16", "alert": 0, "name":"有功功率期望值", "remark": "(1KW)"},
|
||||
{"key": "0x000F", "datatype": "int16", "alert": 0, "name":"无功功率期望值", "remark": "(1kVar)"},
|
||||
{"key": "0x0010", "datatype": "int16", "alert": 0, "name":"PCS侧线电压VAB", "remark": "(1v)"},
|
||||
{"key": "0x0011", "datatype": "int16", "alert": 0, "name":"PCS侧线电压VBC", "remark": "(1v)"},
|
||||
{"key": "0x0012", "datatype": "int16", "alert": 0, "name":"PCS侧线电压VCA", "remark": "(1v)"},
|
||||
{"key": "0x0013", "datatype": "int16", "alert": 0, "name":"PCS侧线A相电压", "remark": "(1v)"},
|
||||
{"key": "0x0014", "datatype": "int16", "alert": 0, "name":"PCS侧线B相电压", "remark": "(1v)"},
|
||||
{"key": "0x0015", "datatype": "int16", "alert": 0, "name":"PCS侧线C相电压", "remark": "(1v)"},
|
||||
{"key": "0x0016", "datatype": "int16", "alert": 0, "name":"PCS侧A相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x0017", "datatype": "int16", "alert": 0, "name":"PCS侧B相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x0018", "datatype": "int16", "alert": 0, "name":"PCS侧C相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x0019", "datatype": "int16", "alert": 0, "name":"PCS侧功率因数A", "remark": "(1)"},
|
||||
{"key": "0x001A", "datatype": "int16", "alert": 0, "name":"PCS侧功率因数B", "remark": "(1)"},
|
||||
{"key": "0x001B", "datatype": "int16", "alert": 0, "name":"PCS侧功率因数C", "remark": "(1)"},
|
||||
{"key": "0x001C", "datatype": "int16", "alert": 0, "name":"PCS侧相电流A", "remark": "(1A)"},
|
||||
{"key": "0x001D", "datatype": "int16", "alert": 0, "name":"PCS侧相电流B", "remark": "(1A)"},
|
||||
{"key": "0x001E", "datatype": "int16", "alert": 0, "name":"PCS侧相电流C", "remark": "(1A)"},
|
||||
{"key": "0x001F", "datatype": "int16", "alert": 0, "name":"PCS侧有功功率A", "remark": "(1kW)"},
|
||||
{"key": "0x0020", "datatype": "int16", "alert": 0, "name":"PCS侧有功功率B", "remark": "(1kW)"},
|
||||
{"key": "0x0021", "datatype": "int16", "alert": 0, "name":"PCS侧有功功率C", "remark": "(1kW)"},
|
||||
{"key": "0x0022", "datatype": "int16", "alert": 0, "name":"PCS侧无功功率A", "remark": "(1kVar)"},
|
||||
{"key": "0x0023", "datatype": "int16", "alert": 0, "name":"PCS侧无功功率B", "remark": "(1kVar)"},
|
||||
{"key": "0x0024", "datatype": "int16", "alert": 0, "name":"PCS侧无功功率C", "remark": "(1kVar)"},
|
||||
{"key": "0x0025", "datatype": "int16", "alert": 0, "name":"PCS侧视在功率A", "remark": "(1kVar)"},
|
||||
{"key": "0x0026", "datatype": "int16", "alert": 0, "name":"PCS侧视在功率B", "remark": "(1kVar)"},
|
||||
{"key": "0x0027", "datatype": "int16", "alert": 0, "name":"PCS侧视在功率C", "remark": "(1kVar)"},
|
||||
{"key": "0x0028", "datatype": "int16", "alert": 0, "name":"PCS侧三相总有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0029", "datatype": "int16", "alert": 0, "name":"PCS侧三相总无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x002A", "datatype": "int16", "alert": 0, "name":"PCS侧三相总视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x002B", "datatype": "int16", "alert": 0, "name":"PCS侧三相总功率因数", "remark": "(1)"},
|
||||
{"key": "0x002C", "datatype": "int16", "alert": 0, "name":"PCU模块温度", "remark": "(1℃)"},
|
||||
{"key": "0x002D", "datatype": "int16", "alert": 0, "name":"外部温度NTC1", "remark": "(1℃)"},
|
||||
{"key": "0x002E", "datatype": "int16", "alert": 0, "name":"外部温度NTC2", "remark": "(1℃)"},
|
||||
{"key": "0x002F", "datatype": "int16", "alert": 0, "name":"外部温度NTC3", "remark": "(1℃)"},
|
||||
{"key": "0x0030", "datatype": "int16", "alert": 0, "name":"台区负载侧A相电流", "remark": "(1A)"},
|
||||
{"key": "0x0031", "datatype": "int16", "alert": 0, "name":"台区负载侧B相电流", "remark": "(1A)"},
|
||||
{"key": "0x0032", "datatype": "int16", "alert": 0, "name":"台区负载侧C相电流", "remark": "(1A)"},
|
||||
{"key": "0x0033", "datatype": "int16", "alert": 0, "name":"台区负载侧A相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0034", "datatype": "int16", "alert": 0, "name":"台区负载侧B相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0035", "datatype": "int16", "alert": 0, "name":"台区负载侧C相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0036", "datatype": "int16", "alert": 0, "name":"台区负载侧总有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0037", "datatype": "int16", "alert": 0, "name":"台区负载侧A相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x0038", "datatype": "int16", "alert": 0, "name":"台区负载侧B相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x0039", "datatype": "int16", "alert": 0, "name":"台区负载侧C相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x003A", "datatype": "int16", "alert": 0, "name":"台区负载侧总无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x003B", "datatype": "int16", "alert": 0, "name":"台区负载侧A相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x003C", "datatype": "int16", "alert": 0, "name":"台区负载侧B相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x003D", "datatype": "int16", "alert": 0, "name":"台区负载侧C相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x003E", "datatype": "int16", "alert": 0, "name":"台区负载侧总视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x003F", "datatype": "int16", "alert": 0, "name":"台区负载侧A相功率因数", "remark": "(1)"},
|
||||
{"key": "0x0040", "datatype": "int16", "alert": 0, "name":"台区负载侧B相功率因数", "remark": "(1)"},
|
||||
{"key": "0x0041", "datatype": "int16", "alert": 0, "name":"台区负载侧C相功率因数", "remark": "(1)"},
|
||||
{"key": "0x0042", "datatype": "int16", "alert": 0, "name":"台区负载侧总功率因数", "remark": "(1)"},
|
||||
{"key": "0x0043", "datatype": "int16", "alert": 0, "name":"负载侧线电压AB", "remark": "(1V)"},
|
||||
{"key": "0x0044", "datatype": "int16", "alert": 0, "name":"负载侧线电压BC", "remark": "(1V)"},
|
||||
{"key": "0x0045", "datatype": "int16", "alert": 0, "name":"负载侧线电压CA", "remark": "(1V)"},
|
||||
{"key": "0x0046", "datatype": "int16", "alert": 0, "name":"负载侧相电压AN", "remark": "(1V)"},
|
||||
{"key": "0x0047", "datatype": "int16", "alert": 0, "name":"负载侧相电压BN", "remark": "(1V)"},
|
||||
{"key": "0x0048", "datatype": "int16", "alert": 0, "name":"负载侧相电压CN", "remark": "(1V)"},
|
||||
{"key": "0x0049", "datatype": "int16", "alert": 0, "name":"负载侧A功率因素", "remark": "(1)"},
|
||||
{"key": "0x004A", "datatype": "int16", "alert": 0, "name":"负载侧B功率因素", "remark": "(1)"},
|
||||
{"key": "0x004B", "datatype": "int16", "alert": 0, "name":"负载侧C功率因素", "remark": "(1)"},
|
||||
{"key": "0x004C", "datatype": "int16", "alert": 0, "name":"负载侧A视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x004D", "datatype": "int16", "alert": 0, "name":"负载侧B视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x004E", "datatype": "int16", "alert": 0, "name":"负载侧C视在功率", "remark": "(1kVA)"}
|
||||
]
|
||||
},
|
||||
"PCU_YX":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1~4"},
|
||||
{"key": "0x1002", "datatype": "uint16", "alert": 0, "name":"故障状态", "remark": "1故障,0正常"},
|
||||
{"key": "0x1003", "datatype": "uint16", "alert": 0, "name":"告警状态", "remark": "1告警,0正常"},
|
||||
{"key": "0x1004", "datatype": "uint16", "alert": 0, "name":"设备在线", "remark": "1在线,0无效"},
|
||||
{"key": "0x1005", "datatype": "uint16", "alert": 0, "name":"本地远程", "remark": "1本地,0远程"},
|
||||
{"key": "0x1006", "datatype": "uint16", "alert": 0, "name":"启停状态", "remark": "1开机,0关机"},
|
||||
{"key": "0x1007", "datatype": "uint16", "alert": 0, "name":"电网状态", "remark": "1离网,0并网"},
|
||||
{"key": "0x1008", "datatype": "uint16", "alert": 0, "name":"模块状态", "remark": "1开机,0待机"},
|
||||
{"key": "0x1009", "datatype": "uint16", "alert": 1, "name":"EPO急停", "remark": "1故障,0正常"},
|
||||
{"key": "0x100A", "datatype": "uint16", "alert": 1, "name":"防雷器异常", "remark": "1告警,0正常"},
|
||||
{"key": "0x100B", "datatype": "uint16", "alert": 1, "name":"负载电压反序", "remark": "1故障,0正常"},
|
||||
{"key": "0x100C", "datatype": "uint16", "alert": 1, "name":"市电电压反序", "remark": "1故障,0正常"},
|
||||
{"key": "0x100D", "datatype": "uint16", "alert": 1, "name":"输出相反序", "remark": "1故障,0正常"},
|
||||
{"key": "0x100E", "datatype": "uint16", "alert": 1, "name":"过载告警", "remark": "1告警,0正常"},
|
||||
{"key": "0x100F", "datatype": "uint16", "alert": 1, "name":"过载超时", "remark": "1故障,0正常"},
|
||||
{"key": "0x1010", "datatype": "uint16", "alert": 1, "name":"交流过流保护", "remark": "1故障,0正常"},
|
||||
{"key": "0x1011", "datatype": "uint16", "alert": 1, "name":"逆变电压异常", "remark": "1故障,0正常"},
|
||||
{"key": "0x1012", "datatype": "uint16", "alert": 1, "name":"内部串口异常", "remark": "1故障,0正常"},
|
||||
{"key": "0x1013", "datatype": "uint16", "alert": 1, "name":"485通信故障", "remark": "1故障,0正常"},
|
||||
{"key": "0x1014", "datatype": "uint16", "alert": 1, "name":"CAN通信故障", "remark": "1故障,0正常"},
|
||||
{"key": "0x1015", "datatype": "uint16", "alert": 1, "name":"E2PROM故障", "remark": "1故障,0正常"},
|
||||
{"key": "0x1016", "datatype": "uint16", "alert": 1, "name":"电网过压", "remark": "1故障,0正常"},
|
||||
{"key": "0x1017", "datatype": "uint16", "alert": 1, "name":"电网欠压", "remark": "1故障,0正常"},
|
||||
{"key": "0x1018", "datatype": "uint16", "alert": 1, "name":"电网过频", "remark": "1故障,0正常"},
|
||||
{"key": "0x1019", "datatype": "uint16", "alert": 1, "name":"电网欠频", "remark": "1故障,0正常"},
|
||||
{"key": "0x101A", "datatype": "uint16", "alert": 1, "name":"电网快检综合异常", "remark": "1故障,0正常"},
|
||||
{"key": "0x101B", "datatype": "uint16", "alert": 1, "name":"电网幅值快检异常", "remark": "1故障,0正常"},
|
||||
{"key": "0x101C", "datatype": "uint16", "alert": 1, "name":"电网拖尾异常", "remark": "1故障,0正常"},
|
||||
{"key": "0x101D", "datatype": "uint16", "alert": 0, "name":"消防输入信号NO", "remark": "1闭合,0断开"},
|
||||
{"key": "0x101E", "datatype": "uint16", "alert": 1, "name":"急停按钮信号NC", "remark": "1急停,0正常"},
|
||||
{"key": "0x101F", "datatype": "uint16", "alert": 1, "name":"避雷器NC", "remark": "1故障,0正常"},
|
||||
{"key": "0x1020", "datatype": "uint16", "alert": 1, "name":"避雷器断路器NC", "remark": "1故障,0正常"},
|
||||
{"key": "0x1021", "datatype": "uint16", "alert": 0, "name":"PCS总断路器NC", "remark": "1闭合,0断开"},
|
||||
{"key": "0x1022", "datatype": "uint16", "alert": 0, "name":"电操状态NO", "remark": "1闭合,0断开"},
|
||||
{"key": "0x1023", "datatype": "uint16", "alert": 0, "name":"远程关机NO", "remark": "1开机,0无效"},
|
||||
{"key": "0x1024", "datatype": "uint16", "alert": 0, "name":"远程开机NO", "remark": "1开机,0无效"},
|
||||
{"key": "0x1025", "datatype": "uint16", "alert": 0, "name":"BA故障信号NO", "remark": "1故障,0正常"},
|
||||
{"key": "0x1026", "datatype": "uint16", "alert": 0, "name":"PCS_01状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x1027", "datatype": "uint16", "alert": 0, "name":"PCS_02状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x1028", "datatype": "uint16", "alert": 0, "name":"PCS_03状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x1029", "datatype": "uint16", "alert": 0, "name":"PCS_04状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x102A", "datatype": "uint16", "alert": 0, "name":"PCS_05状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x102B", "datatype": "uint16", "alert": 0, "name":"PCS_06状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x102C", "datatype": "uint16", "alert": 0, "name":"PCS_07状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x102D", "datatype": "uint16", "alert": 0, "name":"PCS_09状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x102E", "datatype": "uint16", "alert": 0, "name":"PCS_10状态", "remark": "1在线,0掉线"},
|
||||
{"key": "0x102F", "datatype": "uint16", "alert": 1, "name":"PCS_01下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1030", "datatype": "uint16", "alert": 1, "name":"PCS_02下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1031", "datatype": "uint16", "alert": 1, "name":"PCS_03下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1032", "datatype": "uint16", "alert": 1, "name":"PCS_04下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1033", "datatype": "uint16", "alert": 1, "name":"PCS_05下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1034", "datatype": "uint16", "alert": 1, "name":"PCS_06下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1035", "datatype": "uint16", "alert": 1, "name":"PCS_07下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1036", "datatype": "uint16", "alert": 1, "name":"PCS_08下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1037", "datatype": "uint16", "alert": 1, "name":"PCS_09下发设置", "remark": "1故障,0正常"},
|
||||
{"key": "0x1038", "datatype": "uint16", "alert": 1, "name":"PCS_10下发设置", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1039", "datatype": "uint16", "alert": 1, "name":"内部DSP通信故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103A", "datatype": "uint16", "alert": 1, "name":"BMS CAN通信故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103B", "datatype": "uint16", "alert": 1, "name":"下发设置失败", "remark": "1:故障,0正常"}
|
||||
]
|
||||
},
|
||||
"PCS_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"所属主控号", "remark": "1~4"},
|
||||
{"key": "0x0002", "datatype": "uint16", "alert": 0, "name":"所属PCS号", "remark": "1~40"},
|
||||
{"key": "0x0003", "datatype": "uint32", "alert": 0, "name":"总充电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0005", "datatype": "uint32", "alert": 0, "name":"总放电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0007", "datatype": "int16", "alert": 0, "name":"散热器温度", "remark": "(1℃)"},
|
||||
{"key": "0x0008", "datatype": "int16", "alert": 0, "name":"内部温度", "remark": "(1℃)"},
|
||||
{"key": "0x0009", "datatype": "int16", "alert": 0, "name":"最大允许充电功率", "remark": "(0.1kW)"},
|
||||
{"key": "0x000A", "datatype": "int16", "alert": 0, "name":"最大允许放电功率", "remark": "(0.1kW)"},
|
||||
{"key": "0x000B", "datatype": "int16", "alert": 0, "name":"有功功率期望", "remark": "(1kWh)"},
|
||||
{"key": "0x000C", "datatype": "int16", "alert": 0, "name":"无功功率期望", "remark": "(1kVar)"},
|
||||
{"key": "0x000D", "datatype": "int16", "alert": 0, "name":"AB线电压", "remark": "(1V)"},
|
||||
{"key": "0x000E", "datatype": "int16", "alert": 0, "name":"BC线电压", "remark": "(1V)"},
|
||||
{"key": "0x000F", "datatype": "int16", "alert": 0, "name":"CA线电压", "remark": "(1V)"},
|
||||
{"key": "0x0010", "datatype": "int16", "alert": 0, "name":"A相电压", "remark": "(1V)"},
|
||||
{"key": "0x0011", "datatype": "int16", "alert": 0, "name":"B相电压", "remark": "(1V)"},
|
||||
{"key": "0x0012", "datatype": "int16", "alert": 0, "name":"C相电压", "remark": "(1V)"},
|
||||
{"key": "0x0013", "datatype": "int16", "alert": 0, "name":"A相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x0014", "datatype": "int16", "alert": 0, "name":"B相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x0015", "datatype": "int16", "alert": 0, "name":"C相频率", "remark": "(1Hz)"},
|
||||
{"key": "0x0016", "datatype": "int16", "alert": 0, "name":"A相功率因数", "remark": "(1)"},
|
||||
{"key": "0x0017", "datatype": "int16", "alert": 0, "name":"B相功率因数", "remark": "(1)"},
|
||||
{"key": "0x0018", "datatype": "int16", "alert": 0, "name":"C相功率因数", "remark": "(1)"},
|
||||
{"key": "0x0019", "datatype": "int16", "alert": 0, "name":"A相电流", "remark": "(1A)"},
|
||||
{"key": "0x001A", "datatype": "int16", "alert": 0, "name":"B相电流", "remark": "(1A)"},
|
||||
{"key": "0x001B", "datatype": "int16", "alert": 0, "name":"C相电流", "remark": "(1A)"},
|
||||
{"key": "0x001C", "datatype": "int16", "alert": 0, "name":"A相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x001D", "datatype": "int16", "alert": 0, "name":"B相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x001E", "datatype": "int16", "alert": 0, "name":"C相有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x001F", "datatype": "int16", "alert": 0, "name":"A相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x0020", "datatype": "int16", "alert": 0, "name":"B相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x0021", "datatype": "int16", "alert": 0, "name":"C相无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x0022", "datatype": "int16", "alert": 0, "name":"A相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0023", "datatype": "int16", "alert": 0, "name":"B相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0024", "datatype": "int16", "alert": 0, "name":"C相视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0025", "datatype": "int16", "alert": 0, "name":"三相总有功功率", "remark": "(1kW)"},
|
||||
{"key": "0x0026", "datatype": "int16", "alert": 0, "name":"三相总无功功率", "remark": "(1kVar)"},
|
||||
{"key": "0x0027", "datatype": "int16", "alert": 0, "name":"三相总视在功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0028", "datatype": "int16", "alert": 0, "name":"三相总功率因数", "remark": "(1)"},
|
||||
{"key": "0x0029", "datatype": "int16", "alert": 0, "name":"直流功率", "remark": "(1kW)"},
|
||||
{"key": "0x002A", "datatype": "int16", "alert": 0, "name":"直流电压", "remark": "(1V)"},
|
||||
{"key": "0x002B", "datatype": "int16", "alert": 0, "name":"直流电流", "remark": "(1A)"},
|
||||
{"key": "0x002C", "datatype": "int16", "alert": 0, "name":"充电功率", "remark": "(1kW)"},
|
||||
{"key": "0x002D", "datatype": "int16", "alert": 0, "name":"放电功率", "remark": "(1kW)"},
|
||||
{"key": "0x002E", "datatype": "int16", "alert": 0, "name":"PF值", "remark": "(1)"},
|
||||
{"key": "0x002F", "datatype": "int16", "alert": 0, "name":"UV线/U相电网计量线电压", "remark": "(1V)"},
|
||||
{"key": "0x0030", "datatype": "int16", "alert": 0, "name":"VW线/V相电网计量线电压", "remark": "(1V)"},
|
||||
{"key": "0x0031", "datatype": "int16", "alert": 0, "name":"WU线/W相电网计量线电压", "remark": "(1V)"},
|
||||
{"key": "0x0032", "datatype": "int16", "alert": 0, "name":"U相电网计量电流", "remark": "(1A)"},
|
||||
{"key": "0x0033", "datatype": "int16", "alert": 0, "name":"V相电网计量电流", "remark": "(1A)"},
|
||||
{"key": "0x0034", "datatype": "int16", "alert": 0, "name":"W相电网计量电流", "remark": "(1A)"},
|
||||
{"key": "0x0035", "datatype": "int16", "alert": 0, "name":"正母线电压", "remark": "(1V)"},
|
||||
{"key": "0x0036", "datatype": "int16", "alert": 0, "name":"可用功率", "remark": "(1kVA)"},
|
||||
{"key": "0x0037", "datatype": "int16", "alert": 0, "name":"负母线电压", "remark": "(1V)"},
|
||||
{"key": "0x0038", "datatype": "int16", "alert": 0, "name":"A相IGBT温度", "remark": "(1℃)"},
|
||||
{"key": "0x0039", "datatype": "int16", "alert": 0, "name":"B相IGBT温度", "remark": "(1℃)"},
|
||||
{"key": "0x003A", "datatype": "int16", "alert": 0, "name":"C相IGBT温度", "remark": "(1℃)"},
|
||||
{"key": "0x003B", "datatype": "int16", "alert": 0, "name":"逆变侧AB线电压", "remark": "(1V)"},
|
||||
{"key": "0x003C", "datatype": "int16", "alert": 0, "name":"逆变侧BC线电压", "remark": "(1V)"},
|
||||
{"key": "0x003D", "datatype": "int16", "alert": 0, "name":"逆变侧CA线电压", "remark": "(1V)"},
|
||||
{"key": "0x003E", "datatype": "int16", "alert": 0, "name":"逆变侧A相电压", "remark": "(1V)"},
|
||||
{"key": "0x003F", "datatype": "int16", "alert": 0, "name":"逆变侧B相电压", "remark": "(1V)"},
|
||||
{"key": "0x0040", "datatype": "int16", "alert": 0, "name":"逆变侧C相电压", "remark": "(1V)"},
|
||||
{"key": "0x0041", "datatype": "int16", "alert": 0, "name":"逆变侧A相电流", "remark": "(1A)"},
|
||||
{"key": "0x0042", "datatype": "int16", "alert": 0, "name":"逆变侧B相电流", "remark": "(1A)"},
|
||||
{"key": "0x0043", "datatype": "int16", "alert": 0, "name":"逆变侧C相电流", "remark": "(1A)"},
|
||||
{"key": "0x0044", "datatype": "int16", "alert": 0, "name":"逆变侧A相电流直流分量", "remark": "(1A)"},
|
||||
{"key": "0x0045", "datatype": "int16", "alert": 0, "name":"逆变侧B相电流直流分量", "remark": "(1A)"},
|
||||
{"key": "0x0046", "datatype": "int16", "alert": 0, "name":"逆变侧C相电流直流分量", "remark": "(1A)"},
|
||||
{"key": "0x0047", "datatype": "int16", "alert": 0, "name":"离网频率", "remark": "(1Hz)"},
|
||||
{"key": "0x0048", "datatype": "int16", "alert": 0, "name":"A相负载量", "remark": "(1)"},
|
||||
{"key": "0x0049", "datatype": "int16", "alert": 0, "name":"B相负载量", "remark": "(1)"},
|
||||
{"key": "0x004A", "datatype": "int16", "alert": 0, "name":"C相负载量", "remark": "(1)"},
|
||||
{"key": "0x004B", "datatype": "int16", "alert": 0, "name":"总负载量", "remark": "(1)"},
|
||||
{"key": "0x004C", "datatype": "int16", "alert": 0, "name":"逆变侧AB线电压直流分量", "remark": "(1A)"},
|
||||
{"key": "0x004D", "datatype": "int16", "alert": 0, "name":"逆变侧BC线电压直流分量", "remark": "(1A)"},
|
||||
{"key": "0x004E", "datatype": "int16", "alert": 0, "name":"逆变侧CA线电压直流分量", "remark": "(1A)"},
|
||||
{"key": "0x004F", "datatype": "int16", "alert": 0, "name":"在线数量", "remark": ""},
|
||||
{"key": "0x0050", "datatype": "int16", "alert": 0, "name":"逆变数量", "remark": ""}
|
||||
]
|
||||
},
|
||||
"PCS_YX":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "alert": 0, "name":"所属主控号", "remark": "1~4"},
|
||||
{"key": "0x1002", "datatype": "uint16", "alert": 0, "name":"所属PCS号", "remark": "1~40"},
|
||||
{"key": "0x1003", "datatype": "uint16", "alert": 0, "name":"故障状态", "remark": "1故障,0正常"},
|
||||
{"key": "0x1004", "datatype": "uint16", "alert": 0, "name":"告警状态", "remark": "1告警,0正常"},
|
||||
{"key": "0x1005", "datatype": "uint16", "alert": 0, "name":"设备在线", "remark": "1在线,0无效"},
|
||||
{"key": "0x1006", "datatype": "uint16", "alert": 0, "name":"禁止充电", "remark": "1禁止,0无效"},
|
||||
{"key": "0x1007", "datatype": "uint16", "alert": 0, "name":"禁止放电", "remark": "1禁止,0无效"},
|
||||
{"key": "0x1008", "datatype": "uint16", "alert": 0, "name":"运行状态", "remark": "1开机,0关机"},
|
||||
{"key": "0x1009", "datatype": "uint16", "alert": 0, "name":"充放状态", "remark": "0:待机,1:充电,2:放电,3:搁置"},
|
||||
{"key": "0x100A", "datatype": "uint16", "alert": 0, "name":"电网状态", "remark": "1离网,0并网"},
|
||||
{"key": "0x100B", "datatype": "uint16", "alert": 0, "name":"逆变供电", "remark": "0禁止,1使能"},
|
||||
{"key": "0x100C", "datatype": "uint16", "alert": 0, "name":"缓启动完成", "remark": "0禁止,1使能"},
|
||||
{"key": "0x100D", "datatype": "uint16", "alert": 0, "name":"主机标志", "remark": "0禁止,1使能"},
|
||||
{"key": "0x100E", "datatype": "uint16", "alert": 0, "name":"并离网状态", "remark": "0:并网, 1:离网"},
|
||||
{"key": "0x100F", "datatype": "uint16", "alert": 0, "name":"同步请求标志", "remark": "0:无效;1:动作"},
|
||||
{"key": "0x1010", "datatype": "uint16", "alert": 1, "name":"绝缘故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1011", "datatype": "uint16", "alert": 1, "name":"漏电保护", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1012", "datatype": "uint16", "alert": 1, "name":"直流过压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1013", "datatype": "uint16", "alert": 1, "name":"市电幅值异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1014", "datatype": "uint16", "alert": 1, "name":"市电相序异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1015", "datatype": "uint16", "alert": 1, "name":"温度开关异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1016", "datatype": "uint16", "alert": 1, "name":"市电频率异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1017", "datatype": "uint16", "alert": 1, "name":"IGBT过温", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1018", "datatype": "uint16", "alert": 1, "name":"交流接地故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1019", "datatype": "uint16", "alert": 1, "name":"逆变过流异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x101A", "datatype": "uint16", "alert": 1, "name":"直流缓起故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x101B", "datatype": "uint16", "alert": 1, "name":"直流主继电器故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x101C", "datatype": "uint16", "alert": 1, "name":"风机异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x101D", "datatype": "uint16", "alert": 1, "name":"主接触器异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x101E", "datatype": "uint16", "alert": 1, "name":"均浮充切换超时", "remark": "1:故障,0正常"},
|
||||
{"key": "0x101F", "datatype": "uint16", "alert": 1, "name":"硬件故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1020", "datatype": "uint16", "alert": 1, "name":"机内过温", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1021", "datatype": "uint16", "alert": 1, "name":"软启动故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1022", "datatype": "uint16", "alert": 1, "name":"触摸屏通讯故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1023", "datatype": "uint16", "alert": 1, "name":"防雷器故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1024", "datatype": "uint16", "alert": 1, "name":"急停故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1025", "datatype": "uint16", "alert": 1, "name":"BMS系统故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1026", "datatype": "uint16", "alert": 1, "name":"BMS通讯故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1027", "datatype": "uint16", "alert": 1, "name":"BMS干接点通讯故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1028", "datatype": "uint16", "alert": 1, "name":"远程通讯故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1029", "datatype": "uint16", "alert": 1, "name":"门禁告警", "remark": "1:故障,0正常"},
|
||||
{"key": "0x102A", "datatype": "uint16", "alert": 1, "name":"锁相异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x102B", "datatype": "uint16", "alert": 1, "name":"IGBT过温告警", "remark": "1:故障,0正常"},
|
||||
{"key": "0x102C", "datatype": "uint16", "alert": 1, "name":"硬件过流保护", "remark": "1:故障,0正常"},
|
||||
{"key": "0x102D", "datatype": "uint16", "alert": 1, "name":"驱动故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x102E", "datatype": "uint16", "alert": 1, "name":"ID冲突", "remark": "1:故障,0正常"},
|
||||
{"key": "0x102F", "datatype": "uint16", "alert": 1, "name":"电池过压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1030", "datatype": "uint16", "alert": 1, "name":"电池欠压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1031", "datatype": "uint16", "alert": 1, "name":"直流过流保护", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1032", "datatype": "uint16", "alert": 1, "name":"输出电压异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1033", "datatype": "uint16", "alert": 1, "name":"离网输出电压不符合", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1034", "datatype": "uint16", "alert": 1, "name":"输出过载保护", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1035", "datatype": "uint16", "alert": 1, "name":"输出短路保护", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1036", "datatype": "uint16", "alert": 1, "name":"并机通信异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1037", "datatype": "uint16", "alert": 1, "name":"电池保险异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1038", "datatype": "uint16", "alert": 1, "name":"电池重载低压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1039", "datatype": "uint16", "alert": 1, "name":"电池低压告警", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103A", "datatype": "uint16", "alert": 1, "name":"一拖二压差过大", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103B", "datatype": "uint16", "alert": 1, "name":"电池反接故障", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103C", "datatype": "uint16", "alert": 1, "name":"电池电压异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103D", "datatype": "uint16", "alert": 1, "name":"过载告警", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103E", "datatype": "uint16", "alert": 1, "name":"外部接触器异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x103F", "datatype": "uint16", "alert": 1, "name":"IGBT温度传感器异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1040", "datatype": "uint16", "alert": 1, "name":"整机温度传感器异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1041", "datatype": "uint16", "alert": 1, "name":"市电CT异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1042", "datatype": "uint16", "alert": 1, "name":"逆变电流三相不平衡", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1043", "datatype": "uint16", "alert": 1, "name":"逆变电流直流分量异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1044", "datatype": "uint16", "alert": 1, "name":"母线不平衡", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1045", "datatype": "uint16", "alert": 1, "name":"逆变电压直流分量异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1046", "datatype": "uint16", "alert": 1, "name":"主接触器控制异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1047", "datatype": "uint16", "alert": 1, "name":"逆变电压控制异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1048", "datatype": "uint16", "alert": 1, "name":"直流霍尔异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1049", "datatype": "uint16", "alert": 1, "name":"电池单体过压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x104A", "datatype": "uint16", "alert": 1, "name":"电池单体欠压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x104B", "datatype": "uint16", "alert": 1, "name":"电网过压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x104C", "datatype": "uint16", "alert": 1, "name":"电网欠压", "remark": "1:故障,0正常"},
|
||||
{"key": "0x104D", "datatype": "uint16", "alert": 1, "name":"电网过频", "remark": "1:故障,0正常"},
|
||||
{"key": "0x104E", "datatype": "uint16", "alert": 1, "name":"电网欠频", "remark": "1:故障,0正常"},
|
||||
{"key": "0x104F", "datatype": "uint16", "alert": 1, "name":"市电不平衡", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1050", "datatype": "uint16", "alert": 1, "name":"参数设置不匹配", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1051", "datatype": "uint16", "alert": 1, "name":"SPI通信异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1052", "datatype": "uint16", "alert": 1, "name":"SCI通信异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1053", "datatype": "uint16", "alert": 1, "name":"IIC通信异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1054", "datatype": "uint16", "alert": 1, "name":"Xintf通信异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1055", "datatype": "uint16", "alert": 1, "name":"零偏校准异常", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1056", "datatype": "uint16", "alert": 1, "name":"烟雾告警", "remark": "1:故障,0正常"},
|
||||
{"key": "0x1057", "datatype": "uint16", "alert": 1, "name":"无电池组故障", "remark": "1异常,0正常"},
|
||||
{"key": "0x1058", "datatype": "uint16", "alert": 1, "name":"环温降频", "remark": "1异常,0正常"},
|
||||
{"key": "0x1059", "datatype": "uint16", "alert": 1, "name":"交流过载", "remark": "1异常,0正常"},
|
||||
{"key": "0x105A", "datatype": "uint16", "alert": 1, "name":"采样异常", "remark": "1异常,0正常"},
|
||||
{"key": "0x105B", "datatype": "uint16", "alert": 1, "name":"24V辅源故障", "remark": "1异常,0正常"},
|
||||
{"key": "0x105C", "datatype": "uint16", "alert": 1, "name":"直流欠压异常", "remark": "1异常,0正常"},
|
||||
{"key": "0x105D", "datatype": "uint16", "alert": 1, "name":"散热器过温", "remark": "1异常,0正常"},
|
||||
{"key": "0x105E", "datatype": "uint16", "alert": 1, "name":"CAN配置故障", "remark": "1异常,0正常"},
|
||||
{"key": "0x105F", "datatype": "uint16", "alert": 1, "name":"3.3V辅源故障", "remark": "1异常,0正常"},
|
||||
{"key": "0x1060", "datatype": "uint16", "alert": 1, "name":"环境过温", "remark": "1异常,0正常"},
|
||||
{"key": "0x1061", "datatype": "uint16", "alert": 1, "name":"A相IGBT逆变过流", "remark": "1异常,0正常"},
|
||||
{"key": "0x1062", "datatype": "uint16", "alert": 1, "name":"B相IGBT逆变过流", "remark": "1异常,0正常"},
|
||||
{"key": "0x1063", "datatype": "uint16", "alert": 1, "name":"C相IGBT逆变过流", "remark": "1异常,0正常"}
|
||||
]
|
||||
},
|
||||
"BMS_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"SOC", "remark": "(0.1)"},
|
||||
{"key": "0x0002", "datatype": "uint16", "alert": 0, "name":"SOH", "remark": "(0.1)"},
|
||||
{"key": "0x0003", "datatype": "uint32", "alert": 0, "name":"电压", "remark": "(0.1V)"},
|
||||
{"key": "0x0005", "datatype": "int32", "alert": 0, "name":"电流", "remark": "(0.1A)"},
|
||||
{"key": "0x0007", "datatype": "uint32", "alert": 0, "name":"可充电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0009", "datatype": "uint32", "alert": 0, "name":"可放电量", "remark": "(1kWh)"},
|
||||
{"key": "0x000B", "datatype": "uint32", "alert": 0, "name":"单次可充电量", "remark": "(1kWh)"},
|
||||
{"key": "0x000D", "datatype": "uint32", "alert": 0, "name":"单次可放电量", "remark": "(1kWh)"},
|
||||
{"key": "0x000F", "datatype": "int32", "alert": 0, "name":"堆功率", "remark": "(1kW)"},
|
||||
{"key": "0x0011", "datatype": "uint32", "alert": 0, "name":"充电量累加", "remark": "(1kWh)"},
|
||||
{"key": "0x0013", "datatype": "uint32", "alert": 0, "name":"放电量累加", "remark": "(1kWh)"},
|
||||
{"key": "0x0015", "datatype": "uint16", "alert": 0, "name":"簇最大SOC", "remark": "(0.1)"},
|
||||
{"key": "0x0016", "datatype": "uint16", "alert": 0, "name":"簇最小SOC", "remark": "(0.1)"},
|
||||
{"key": "0x0017", "datatype": "uint16", "alert": 0, "name":"簇最大SOC号", "remark": ""},
|
||||
{"key": "0x0018", "datatype": "uint16", "alert": 0, "name":"簇最小SOC号", "remark": ""},
|
||||
{"key": "0x0019", "datatype": "uint16", "alert": 0, "name":"簇SOC差值", "remark": "(0.1)"},
|
||||
{"key": "0x001A", "datatype": "uint16", "alert": 0, "name":"簇最大电压", "remark": "(0.1V)"},
|
||||
{"key": "0x001B", "datatype": "uint16", "alert": 0, "name":"簇最小电压", "remark": "(0.1V)"},
|
||||
{"key": "0x001C", "datatype": "uint16", "alert": 0, "name":"簇最大电压号", "remark": ""},
|
||||
{"key": "0x001D", "datatype": "uint16", "alert": 0, "name":"簇最小电压号", "remark": ""},
|
||||
{"key": "0x001E", "datatype": "uint16", "alert": 0, "name":"簇电压差值", "remark": "(0.1V)"},
|
||||
{"key": "0x001F", "datatype": "uint16", "alert": 0, "name":"单体最大电压簇号", "remark": ""},
|
||||
{"key": "0x0020", "datatype": "uint16", "alert": 0, "name":"单体最大电压节号", "remark": ""},
|
||||
{"key": "0x0021", "datatype": "uint16", "alert": 0, "name":"单体最大电压", "remark": "(mV)"},
|
||||
{"key": "0x0022", "datatype": "uint16", "alert": 0, "name":"单体最小电压簇号", "remark": ""},
|
||||
{"key": "0x0023", "datatype": "uint16", "alert": 0, "name":"单体最小电压节号", "remark": ""},
|
||||
{"key": "0x0024", "datatype": "uint16", "alert": 0, "name":"单体最小电压", "remark": "(mV)"},
|
||||
{"key": "0x0025", "datatype": "uint16", "alert": 0, "name":"单体平均电压", "remark": "(mV)"},
|
||||
{"key": "0x0026", "datatype": "uint16", "alert": 0, "name":"单体电压差", "remark": "(mV)"},
|
||||
{"key": "0x0027", "datatype": "uint16", "alert": 0, "name":"单体最大温度簇号", "remark": ""},
|
||||
{"key": "0x0028", "datatype": "uint16", "alert": 0, "name":"单体最大温度节号", "remark": ""},
|
||||
{"key": "0x0029", "datatype": "int16", "alert": 0, "name":"单体最大温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x002A", "datatype": "uint16", "alert": 0, "name":"单体最小温度簇号", "remark": ""},
|
||||
{"key": "0x002B", "datatype": "uint16", "alert": 0, "name":"单体最小温度节号", "remark": ""},
|
||||
{"key": "0x002C", "datatype": "int16", "alert": 0, "name":"单体最小温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x002D", "datatype": "int16", "alert": 0, "name":"单体平均温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x002E", "datatype": "int16", "alert": 0, "name":"单体温度差", "remark": "(0.1℃)"},
|
||||
{"key": "0x002F", "datatype": "uint16", "alert": 0, "name":"最大内阻簇号", "remark": ""},
|
||||
{"key": "0x0030", "datatype": "uint16", "alert": 0, "name":"最大内阻节号", "remark": ""},
|
||||
{"key": "0x0031", "datatype": "uint16", "alert": 0, "name":"最大内阻", "remark": "(mΩ)"},
|
||||
{"key": "0x0032", "datatype": "uint16", "alert": 0, "name":"最小内阻簇号", "remark": ""},
|
||||
{"key": "0x0033", "datatype": "uint16", "alert": 0, "name":"最小内阻节号", "remark": ""},
|
||||
{"key": "0x0034", "datatype": "uint16", "alert": 0, "name":"最小内阻", "remark": "(mΩ)"},
|
||||
{"key": "0x0035", "datatype": "uint16", "alert": 0, "name":"单体平均内阻", "remark": "(mΩ)"},
|
||||
{"key": "0x0036", "datatype": "uint16", "alert": 0, "name":"单体内阻差", "remark": "(mΩ)"},
|
||||
{"key": "0x0037", "datatype": "uint16", "alert": 0, "name":"单体最大SOH簇号", "remark": ""},
|
||||
{"key": "0x0038", "datatype": "uint16", "alert": 0, "name":"单体最大SOH节号", "remark": ""},
|
||||
{"key": "0x0039", "datatype": "uint16", "alert": 0, "name":"单体最大SOH", "remark": "(0.001)"},
|
||||
{"key": "0x003A", "datatype": "uint16", "alert": 0, "name":"单体最小SOH簇号", "remark": ""},
|
||||
{"key": "0x003B", "datatype": "uint16", "alert": 0, "name":"单体最小SOH节号", "remark": ""},
|
||||
{"key": "0x003C", "datatype": "uint16", "alert": 0, "name":"单体最小SOH", "remark": "(0.001)"},
|
||||
{"key": "0x003D", "datatype": "uint16", "alert": 0, "name":"单体最大SOc簇号", "remark": ""},
|
||||
{"key": "0x003E", "datatype": "uint16", "alert": 0, "name":"单体最大SOc节号", "remark": ""},
|
||||
{"key": "0x0040", "datatype": "uint16", "alert": 0, "name":"单体最大Soc", "remark": "(0.001)"},
|
||||
{"key": "0x0041", "datatype": "uint16", "alert": 0, "name":"单体最小SOc簇号", "remark": ""},
|
||||
{"key": "0x0042", "datatype": "uint16", "alert": 0, "name":"单体最小SOc节号", "remark": ""},
|
||||
{"key": "0x0043", "datatype": "uint16", "alert": 0, "name":"单体最小SOc", "remark": "(0.001)"},
|
||||
{"key": "0x0044", "datatype": "uint32", "alert": 0, "name":"系统剩余最大可充电功率", "remark": "(1KW)"},
|
||||
{"key": "0x0045", "datatype": "uint32", "alert": 0, "name":"系统剩余最大可放电功率", "remark": "(1KW)"},
|
||||
{"key": "0x0047", "datatype": "uint16", "alert": 0, "name":"可充电状态", "remark": ""},
|
||||
{"key": "0x0048", "datatype": "uint16", "alert": 0, "name":"可放电状态", "remark": ""},
|
||||
{"key": "0x0049", "datatype": "uint16", "alert": 0, "name":"运行状态", "remark": ""},
|
||||
{"key": "0x004A", "datatype": "uint16", "alert": 0, "name":"充放电状态", "remark": ""}
|
||||
]
|
||||
},
|
||||
"BCU_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1~4"},
|
||||
{"key": "0x0002", "datatype": "uint16", "alert": 0, "name":"所属BCU号", "remark": "1~40"},
|
||||
{"key": "0x0003", "datatype": "uint32", "alert": 0, "name":"簇电压", "remark": "(0.1V)"},
|
||||
{"key": "0x0005", "datatype": "int32", "alert": 0, "name":"簇电流", "remark": "(0.1A)"},
|
||||
{"key": "0x0007", "datatype": "int32", "alert": 0, "name":"簇温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x0009", "datatype": "uint32", "alert": 0, "name":"簇电阻", "remark": "(1mΩ)"},
|
||||
{"key": "0x000B", "datatype": "uint16", "alert": 0, "name":"簇SOC", "remark": "(0.1)"},
|
||||
{"key": "0x000C", "datatype": "uint16", "alert": 0, "name":"簇SOH", "remark": "(0.1)"},
|
||||
{"key": "0x000D", "datatype": "uint32", "alert": 0, "name":"簇正绝缘电阻", "remark": "(1kΩ)"},
|
||||
{"key": "0x000F", "datatype": "uint32", "alert": 0, "name":"簇负绝缘电阻", "remark": "(1kΩ)"},
|
||||
{"key": "0x0011", "datatype": "int32", "alert": 0, "name":"簇允许最大充电电流", "remark": "(0.1A)"},
|
||||
{"key": "0x0013", "datatype": "int32", "alert": 0, "name":"簇允许最大放电电流", "remark": "(0.1A)"},
|
||||
{"key": "0x0015", "datatype": "uint32", "alert": 0, "name":"簇允许最大充电功率", "remark": "(1kW)"},
|
||||
{"key": "0x0017", "datatype": "uint32", "alert": 0, "name":"簇允许最大放电功率", "remark": "(1kW)"},
|
||||
{"key": "0x0019", "datatype": "uint32", "alert": 0, "name":"簇可充容量", "remark": "(0.1Ah)"},
|
||||
{"key": "0x001B", "datatype": "uint32", "alert": 0, "name":"簇可放容量", "remark": "(0.1Ah)"},
|
||||
{"key": "0x001D", "datatype": "uint32", "alert": 0, "name":"簇单次累计充容量", "remark": "(0.1Ah)"},
|
||||
{"key": "0x001F", "datatype": "uint32", "alert": 0, "name":"簇单次累计放容量", "remark": "(0.1Ah)"},
|
||||
{"key": "0x0021", "datatype": "uint32", "alert": 0, "name":"簇总累计充容量", "remark": "(0.1Ah)"},
|
||||
{"key": "0x0023", "datatype": "uint32", "alert": 0, "name":"簇总累计放容量", "remark": "(0.1Ah)"},
|
||||
{"key": "0x0025", "datatype": "uint32", "alert": 0, "name":"簇可充电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0027", "datatype": "uint32", "alert": 0, "name":"簇可放电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0029", "datatype": "uint32", "alert": 0, "name":"簇单次充电量", "remark": "(1kWh)"},
|
||||
{"key": "0x002B", "datatype": "uint32", "alert": 0, "name":"簇单次放电量", "remark": "(1kWh)"},
|
||||
{"key": "0x002D", "datatype": "uint32", "alert": 0, "name":"簇累计充电量", "remark": "(1kWh)"},
|
||||
{"key": "0x002F", "datatype": "uint32", "alert": 0, "name":"簇累计放电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0031", "datatype": "uint32", "alert": 0, "name":"pack累计簇总压", "remark": "(0.1V)"},
|
||||
{"key": "0x0033", "datatype": "uint32", "alert": 0, "name":"簇与pack压差", "remark": "(0.1V)"},
|
||||
{"key": "0x0035", "datatype": "uint32", "alert": 0, "name":"簇与PCS压差", "remark": "(0.1V)"},
|
||||
{"key": "0x0037", "datatype": "uint16", "alert": 0, "name":"簇中BMU个数", "remark": ""},
|
||||
{"key": "0x0038", "datatype": "uint16", "alert": 0, "name":"簇中BMU中单体个数", "remark": ""},
|
||||
{"key": "0x0039", "datatype": "uint16", "alert": 0, "name":"簇中BMU中温度个数", "remark": ""},
|
||||
{"key": "0x003A", "datatype": "uint16", "alert": 0, "name":"簇中单体个数", "remark": ""},
|
||||
{"key": "0x003B", "datatype": "uint16", "alert": 0, "name":"簇中温度个数", "remark": ""},
|
||||
{"key": "0x003C", "datatype": "uint16", "alert": 0, "name":"单体最高SOC节号", "remark": ""},
|
||||
{"key": "0x003D", "datatype": "uint16", "alert": 0, "name":"单体最高SOC", "remark": "(0.1)"},
|
||||
{"key": "0x003E", "datatype": "uint16", "alert": 0, "name":"单体最低SOC节号", "remark": ""},
|
||||
{"key": "0x003F", "datatype": "uint16", "alert": 0, "name":"单体最低SOC", "remark": "(0.1)"},
|
||||
{"key": "0x0040", "datatype": "uint16", "alert": 0, "name":"单体最高SOH节号", "remark": ""},
|
||||
{"key": "0x0041", "datatype": "uint16", "alert": 0, "name":"单体最高SOH", "remark": "(0.1)"},
|
||||
{"key": "0x0042", "datatype": "uint16", "alert": 0, "name":"单体最低SOH节号", "remark": ""},
|
||||
{"key": "0x0043", "datatype": "uint16", "alert": 0, "name":"单体最低SOH", "remark": "(0.1)"},
|
||||
{"key": "0x0044", "datatype": "uint16", "alert": 0, "name":"单体最高电压节号", "remark": ""},
|
||||
{"key": "0x0045", "datatype": "uint16", "alert": 0, "name":"单体最高电压", "remark": "(mV)"},
|
||||
{"key": "0x0046", "datatype": "uint16", "alert": 0, "name":"单体最低电压节号", "remark": ""},
|
||||
{"key": "0x0047", "datatype": "uint16", "alert": 0, "name":"单体最低电压", "remark": "(mV)"},
|
||||
{"key": "0x0048", "datatype": "uint16", "alert": 0, "name":"单体电压差", "remark": "(mV)"},
|
||||
{"key": "0x0049", "datatype": "uint16", "alert": 0, "name":"单体平均电压", "remark": "(mV)"},
|
||||
{"key": "0x004A", "datatype": "uint16", "alert": 0, "name":"单体最高温度节号", "remark": ""},
|
||||
{"key": "0x004B", "datatype": "int16", "alert": 0, "name":"单体最高温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x004C", "datatype": "uint16", "alert": 0, "name":"单体最低温度节号", "remark": ""},
|
||||
{"key": "0x004D", "datatype": "int16", "alert": 0, "name":"单体最低温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x004E", "datatype": "int16", "alert": 0, "name":"单体温度差", "remark": "(0.1℃)"},
|
||||
{"key": "0x004F", "datatype": "int16", "alert": 0, "name":"单体平均温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x0050", "datatype": "uint16", "alert": 0, "name":"单体最高内阻节号", "remark": ""},
|
||||
{"key": "0x0051", "datatype": "uint16", "alert": 0, "name":"单体最高内阻", "remark": "(mΩ)"},
|
||||
{"key": "0x0052", "datatype": "uint16", "alert": 0, "name":"单体最低内阻节号", "remark": ""},
|
||||
{"key": "0x0053", "datatype": "uint16", "alert": 0, "name":"单体最低内阻", "remark": "(mΩ)"},
|
||||
{"key": "0x0054", "datatype": "uint16", "alert": 0, "name":"单体内阻差", "remark": "(mΩ)"},
|
||||
{"key": "0x0055", "datatype": "uint16", "alert": 0, "name":"单体平均内阻", "remark": "(mΩ)"}
|
||||
]
|
||||
},
|
||||
"BCU_YX":{
|
||||
"addr":[
|
||||
{"key": "0xA001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1~4"},
|
||||
{"key": "0xA002", "datatype": "uint16", "alert": 0, "name":"所属BCU号", "remark": "1~40"},
|
||||
{"key": "0xA003", "datatype": "uint16", "alert": 0, "name":"蓄电池充放电状态", "remark": "0x11开路0x22待机0x33充电0x44放电"},
|
||||
{"key": "0xA004", "datatype": "uint16", "alert": 0, "name":"电池组运行状态", "remark": "0x11跳机 0x22待机 0x33放空 0x44充满 0x55预警 0x66正常"},
|
||||
{"key": "0xA005", "datatype": "uint16", "alert": 0, "name":"簇DO1状态", "remark": "1:断开 2:闭合"},
|
||||
{"key": "0xA006", "datatype": "uint16", "alert": 0, "name":"簇DO2状态", "remark": "1:断开 2:闭合"},
|
||||
{"key": "0xA007", "datatype": "uint16", "alert": 0, "name":"继电器总正", "remark": "0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA008", "datatype": "uint16", "alert": 0, "name":"继电器总负", "remark": "0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA009", "datatype": "uint16", "alert": 0, "name":"继电器预充", "remark": "0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA00A", "datatype": "uint16", "alert": 0, "name":"继电器bmu供电", "remark": "0:断开 1:闭合 2:粘连"},
|
||||
{"key": "0xA00B", "datatype": "uint16", "alert": 1, "name":"整簇总电压过高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA00C", "datatype": "uint16", "alert": 1, "name":"整簇总电压过低告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA00D", "datatype": "uint16", "alert": 1, "name":"整簇中单体电压过高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA00E", "datatype": "uint16", "alert": 1, "name":"整簇中单体电压过低告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA00F", "datatype": "uint16", "alert": 1, "name":"整簇中单体电压偏差过大告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA010", "datatype": "uint16", "alert": 1, "name":"整簇中单体温度偏差过大告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA011", "datatype": "uint16", "alert": 1, "name":"整簇中单体温度过高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA012", "datatype": "uint16", "alert": 1, "name":"整簇中单体温度过低告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA013", "datatype": "uint16", "alert": 1, "name":"整簇总充电电流过高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA014", "datatype": "uint16", "alert": 1, "name":"整簇总放电电流过高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA015", "datatype": "uint16", "alert": 1, "name":"整簇总SOC过高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA016", "datatype": "uint16", "alert": 1, "name":"整簇总SOC过低告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA017", "datatype": "uint16", "alert": 1, "name":"高压盒主正接触器粘连告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA018", "datatype": "uint16", "alert": 1, "name":"高压盒主正接触器不能吸合告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA019", "datatype": "uint16", "alert": 1, "name":"高压盒主负接触器粘连告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA01A", "datatype": "uint16", "alert": 1, "name":"高压盒主负接触器不能吸合告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA01B", "datatype": "uint16", "alert": 1, "name":"高压盒预充接触器粘连告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA01C", "datatype": "uint16", "alert": 1, "name":"高压盒预充接触器不能吸合告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA01D", "datatype": "uint16", "alert": 1, "name":"预充失败告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA01E", "datatype": "uint16", "alert": 1, "name":"BCU电压检测模块出现问题告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA01F", "datatype": "uint16", "alert": 1, "name":"BCU温度检测模块出现问题告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA020", "datatype": "uint16", "alert": 1, "name":"BCU电流检测模块出现问题告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA021", "datatype": "uint16", "alert": 1, "name":"BCU绝缘检测模块出现问题告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA022", "datatype": "uint16", "alert": 1, "name":"高压盒内总压检测模块出现问题告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA023", "datatype": "uint16", "alert": 1, "name":"高压盒外总压检测模块出现问题告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA024", "datatype": "uint16", "alert": 1, "name":"PCS-CAN通信故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA025", "datatype": "uint16", "alert": 1, "name":"高压盒供电电压过高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA026", "datatype": "uint16", "alert": 1, "name":"绝缘正极故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA027", "datatype": "uint16", "alert": 1, "name":"绝缘负极故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA028", "datatype": "uint16", "alert": 1, "name":"绝缘中间侧故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA029", "datatype": "uint16", "alert": 1, "name":"绝缘故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA02A", "datatype": "uint16", "alert": 1, "name":"BMU中电压采样线开路告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA02B", "datatype": "uint16", "alert": 1, "name":"BMU中NTC采样线短开路告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA02C", "datatype": "uint16", "alert": 1, "name":"BMU中采样芯片故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA02D", "datatype": "uint16", "alert": 1, "name":"BMU中电池温度升高过快告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA02E", "datatype": "uint16", "alert": 1, "name":"BMU中电池内部短路告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA02F", "datatype": "uint16", "alert": 1, "name":"BMU充电均衡模块出现故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA030", "datatype": "uint16", "alert": 1, "name":"BMU放电均衡模块出现故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA031", "datatype": "uint16", "alert": 1, "name":"BMU通信故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA032", "datatype": "uint16", "alert": 1, "name":"单体内阻过大告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA033", "datatype": "uint16", "alert": 1, "name":"单体内阻过小告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA034", "datatype": "uint16", "alert": 1, "name":"单体内阻阻差过大告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA035", "datatype": "uint16", "alert": 1, "name":"簇内阻过大告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA036", "datatype": "uint16", "alert": 1, "name":"簇内阻过小告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA037", "datatype": "uint16", "alert": 1, "name":"SOC初始化无效告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA038", "datatype": "uint16", "alert": 1, "name":"充电时soc降低故障告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA039", "datatype": "uint16", "alert": 1, "name":"放电时soc升高告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA03A", "datatype": "uint16", "alert": 1, "name":"静止时SOC跳变告警", "remark": "0:正常 1:告警"},
|
||||
{"key": "0xA03B", "datatype": "uint16", "alert": 0, "name":"整簇总电压过高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA03C", "datatype": "uint16", "alert": 0, "name":"整簇总电压过低保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA03D", "datatype": "uint16", "alert": 0, "name":"整簇中单体电压过高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA03E", "datatype": "uint16", "alert": 0, "name":"整簇中单体电压过低保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA03F", "datatype": "uint16", "alert": 0, "name":"整簇中单体电压偏差过大保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA040", "datatype": "uint16", "alert": 0, "name":"整簇中单体温度偏差过大保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA041", "datatype": "uint16", "alert": 0, "name":"整簇中单体温度过高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA042", "datatype": "uint16", "alert": 0, "name":"整簇中单体温度过低保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA043", "datatype": "uint16", "alert": 0, "name":"整簇总充电电流过高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA044", "datatype": "uint16", "alert": 0, "name":"整簇总放电电流过高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA045", "datatype": "uint16", "alert": 0, "name":"整簇总SOC过高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA046", "datatype": "uint16", "alert": 0, "name":"整簇总SOC过低保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA047", "datatype": "uint16", "alert": 0, "name":"高压盒主正接触器粘连保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA048", "datatype": "uint16", "alert": 0, "name":"高压盒主正接触器不能吸合保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA049", "datatype": "uint16", "alert": 0, "name":"高压盒主负接触器粘连保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA04A", "datatype": "uint16", "alert": 0, "name":"高压盒主负接触器不能吸合保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA04B", "datatype": "uint16", "alert": 0, "name":"高压盒预充接触器粘连保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA04C", "datatype": "uint16", "alert": 0, "name":"高压盒预充接触器不能吸合保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA04D", "datatype": "uint16", "alert": 0, "name":"预充失败保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA04E", "datatype": "uint16", "alert": 0, "name":"BCU电压检测模块出现问题保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA04F", "datatype": "uint16", "alert": 0, "name":"BCU温度检测模块出现问题保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA050", "datatype": "uint16", "alert": 0, "name":"BCU电流检测模块出现问题保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA051", "datatype": "uint16", "alert": 0, "name":"BCU绝缘检测模块出现问题保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA052", "datatype": "uint16", "alert": 0, "name":"高压盒内总压检测模块出现问题保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA053", "datatype": "uint16", "alert": 0, "name":"高压盒外总压检测模块出现问题保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA054", "datatype": "uint16", "alert": 0, "name":"PCS-CAN通信故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA055", "datatype": "uint16", "alert": 0, "name":"高压盒供电电压过高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA056", "datatype": "uint16", "alert": 0, "name":"绝缘正极故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA057", "datatype": "uint16", "alert": 0, "name":"绝缘负极故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA058", "datatype": "uint16", "alert": 0, "name":"绝缘中间侧故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA059", "datatype": "uint16", "alert": 0, "name":"绝缘故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA05A", "datatype": "uint16", "alert": 0, "name":"BMU中电压采样线开路保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA05B", "datatype": "uint16", "alert": 0, "name":"BMU中NTC采样线短开路保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA05C", "datatype": "uint16", "alert": 0, "name":"BMU中采样芯片故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA05D", "datatype": "uint16", "alert": 0, "name":"BMU中电池温度升高过快保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA05E", "datatype": "uint16", "alert": 0, "name":"BMU中电池内部短路保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA05F", "datatype": "uint16", "alert": 0, "name":"BMU充电均衡模块出现故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA060", "datatype": "uint16", "alert": 0, "name":"BMU放电均衡模块出现故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA061", "datatype": "uint16", "alert": 0, "name":"BMU通信故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA062", "datatype": "uint16", "alert": 0, "name":"单体内阻过大保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA063", "datatype": "uint16", "alert": 0, "name":"单体内阻过小保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA064", "datatype": "uint16", "alert": 0, "name":"单体内阻阻差过大保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA065", "datatype": "uint16", "alert": 0, "name":"簇内阻过大保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA066", "datatype": "uint16", "alert": 0, "name":"簇内阻过小保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA067", "datatype": "uint16", "alert": 0, "name":"SOC初始化无效保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA068", "datatype": "uint16", "alert": 0, "name":"充电时soc降低故障保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA069", "datatype": "uint16", "alert": 0, "name":"放电时soc升高保护", "remark": "0:正常 1:保护"},
|
||||
{"key": "0xA06A", "datatype": "uint16", "alert": 0, "name":"静止时SOC跳变保护", "remark": "0:正常 1:保护"}
|
||||
]
|
||||
},
|
||||
"MEM_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1"},
|
||||
{"key": "0x0008", "datatype": "uint16", "alert": 0, "name":"电表类型", "remark": "0:储能站总表1:逆变前侧电表2:逆变后侧电表3:配电柜电表4:并网口电表"},
|
||||
{"key": "0x0009", "datatype": "uint16", "alert": 0, "name":"电流变比", "remark": ""},
|
||||
{"key": "0x000A", "datatype": "uint16", "alert": 0, "name":"电压变比", "remark": ""},
|
||||
{"key": "0x000B", "datatype": "uint32", "alert": 0, "name":"A相电压", "remark": "(1V)"},
|
||||
{"key": "0x000D", "datatype": "uint32", "alert": 0, "name":"B相电压", "remark": "(1V)"},
|
||||
{"key": "0x000F", "datatype": "uint32", "alert": 0, "name":"C相电压", "remark": "(1V)"},
|
||||
{"key": "0x0011", "datatype": "int32", "alert": 0, "name":"A相电流", "remark": "(1A)"},
|
||||
{"key": "0x0013", "datatype": "int32", "alert": 0, "name":"B相电流", "remark": "(1A)"},
|
||||
{"key": "0x0015", "datatype": "int32", "alert": 0, "name":"C相电流", "remark": "(1A)"},
|
||||
{"key": "0x0017", "datatype": "uint32", "alert": 0, "name":"AB相电压", "remark": "(1V)"},
|
||||
{"key": "0x0019", "datatype": "uint32", "alert": 0, "name":"BC相电压", "remark": "(1V)"},
|
||||
{"key": "0x001B", "datatype": "uint32", "alert": 0, "name":"CA相电压", "remark": "(1V)"},
|
||||
{"key": "0x001D", "datatype": "int32", "alert": 0, "name":"A相有功", "remark": "(1kW)"},
|
||||
{"key": "0x001F", "datatype": "int32", "alert": 0, "name":"B相有功", "remark": "(1kW)"},
|
||||
{"key": "0x0021", "datatype": "int32", "alert": 0, "name":"C相有功", "remark": "(1kW)"},
|
||||
{"key": "0x0023", "datatype": "int32", "alert": 0, "name":"三相总有功", "remark": "(1kW)"},
|
||||
{"key": "0x0025", "datatype": "int32", "alert": 0, "name":"正向总有功总需量", "remark": "(1kW)"},
|
||||
{"key": "0x0027", "datatype": "uint32", "alert": 0, "name":"尖段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x0029", "datatype": "uint32", "alert": 0, "name":"峰段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x002B", "datatype": "uint32", "alert": 0, "name":"平段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x002D", "datatype": "uint32", "alert": 0, "name":"谷段电价", "remark": "(1RMB)"},
|
||||
{"key": "0x002F", "datatype": "uint32", "alert": 0, "name":"日充电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0031", "datatype": "uint32", "alert": 0, "name":"日放电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0033", "datatype": "uint32", "alert": 0, "name":"日充电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x0035", "datatype": "uint32", "alert": 0, "name":"日放电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x0037", "datatype": "int32", "alert": 0, "name":"日收益", "remark": "(1RMB)"},
|
||||
{"key": "0x0039", "datatype": "uint32", "alert": 0, "name":"日正向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x003B", "datatype": "uint32", "alert": 0, "name":"日正向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x003D", "datatype": "uint32", "alert": 0, "name":"日正向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x003F", "datatype": "uint32", "alert": 0, "name":"日正向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0041", "datatype": "uint32", "alert": 0, "name":"日正向总有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0043", "datatype": "uint32", "alert": 0, "name":"日反向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0045", "datatype": "uint32", "alert": 0, "name":"日反向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0047", "datatype": "uint32", "alert": 0, "name":"日反向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0049", "datatype": "uint32", "alert": 0, "name":"日反向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x004B", "datatype": "uint32", "alert": 0, "name":"日反向总有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x004D", "datatype": "uint32", "alert": 0, "name":"总充电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x004F", "datatype": "uint32", "alert": 0, "name":"总放电电量", "remark": "(1kWh)"},
|
||||
{"key": "0x0051", "datatype": "uint32", "alert": 0, "name":"总充电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x0053", "datatype": "uint32", "alert": 0, "name":"总放电费用", "remark": "(1RMB)"},
|
||||
{"key": "0x0055", "datatype": "int32", "alert": 0, "name":"总收益", "remark": "(1RMB)"},
|
||||
{"key": "0x0057", "datatype": "uint32", "alert": 0, "name":"总正向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0059", "datatype": "uint32", "alert": 0, "name":"总正向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x005B", "datatype": "uint32", "alert": 0, "name":"总正向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x005D", "datatype": "uint32", "alert": 0, "name":"总正向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x005F", "datatype": "uint32", "alert": 0, "name":"总正向总有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0061", "datatype": "uint32", "alert": 0, "name":"总反向尖有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0063", "datatype": "uint32", "alert": 0, "name":"总反向峰有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0065", "datatype": "uint32", "alert": 0, "name":"总反向平有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0067", "datatype": "uint32", "alert": 0, "name":"总反向谷有功电能", "remark": "(1kWh)"},
|
||||
{"key": "0x0069", "datatype": "uint32", "alert": 0, "name":"总反向总有功电能", "remark": "(1kWh)"}
|
||||
]
|
||||
},
|
||||
"TH_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1"},
|
||||
{"key": "0x0002", "datatype": "uint16", "alert": 0, "name":"所属温湿度号", "remark": "1~10"},
|
||||
{"key": "0x0003", "datatype": "int16", "alert": 0, "name":"温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x0004", "datatype": "int16", "alert": 0, "name":"湿度", "remark": "(0.1℃)"}
|
||||
]
|
||||
},
|
||||
"Fire40_YX":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1~10"},
|
||||
{"key": "0x0002", "datatype": "uint16", "alert": 0, "name":"主控数量", "remark": "1"},
|
||||
{"key": "0x0003", "datatype": "uint16", "alert": 0, "name":"主控ID", "remark": "1"},
|
||||
{"key": "0x0004", "datatype": "uint16", "alert": 0, "name":"主控状态", "remark": "0:正常 1:预警 2:火警"},
|
||||
{"key": "0x0005", "datatype": "uint16[2]", "alert": 0, "name":"主控硬件版本", "remark": "主控硬件版本"},
|
||||
{"key": "0x0007", "datatype": "uint16[2]", "alert": 0, "name":"主控软件版本", "remark": "主控软件版本"},
|
||||
{"key": "0x0009", "datatype": "uint16", "alert": 0, "name":"主电状态", "remark": "0:使用市电 1:使用备电"},
|
||||
{"key": "0x000A", "datatype": "uint32", "alert": 0, "name":"备电电流", "remark": "(0.1A)"},
|
||||
{"key": "0x000C", "datatype": "uint32", "alert": 0, "name":"备电电压", "remark": "(0.1V)"},
|
||||
{"key": "0x000E", "datatype": "uint32", "alert": 0, "name":"可用容量", "remark": "(0.01Ah)"},
|
||||
{"key": "0x0010", "datatype": "uint32", "alert": 0, "name":"可充放容量", "remark": "(0.01Ah)"},
|
||||
{"key": "0x0012", "datatype": "uint16", "alert": 0, "name":"警铃是否使用", "remark": ""},
|
||||
{"key": "0x0013", "datatype": "uint16", "alert": 0, "name":"警铃状态", "remark": "0:无效 1:掉线 2:正常 3:启动"},
|
||||
{"key": "0x0014", "datatype": "uint16", "alert": 0, "name":"瓶头阀是否使用", "remark": ""},
|
||||
{"key": "0x0015", "datatype": "uint16", "alert": 0, "name":"瓶头阀状态", "remark": "0:无效 1:掉线 2:正常 3:启动"},
|
||||
{"key": "0x0016", "datatype": "uint16", "alert": 0, "name":"手报是否使用", "remark": ""},
|
||||
{"key": "0x0017", "datatype": "uint16", "alert": 0, "name":"手报状态", "remark": "0:无效 1:掉线 2:正常 3:启动"},
|
||||
{"key": "0x0018", "datatype": "uint16", "alert": 0, "name":"簇控制器数量", "remark": ""},
|
||||
{"key": "0x0019", "datatype": "uint16", "alert": 0, "name":"复合探测器总数量", "remark": ""},
|
||||
{"key": "0x001A", "datatype": "uint16", "alert": 0, "name":"烟雾探测器总数量", "remark": ""},
|
||||
{"key": "0x001B", "datatype": "uint16", "alert": 0, "name":"压力探测器总数量", "remark": ""},
|
||||
{"key": "0x001C", "datatype": "uint16", "alert": 0, "name":"吸气式探测器总数量", "remark": ""},
|
||||
{"key": "0x001D", "datatype": "uint16", "alert": 0, "name":"PACK探测器总数量", "remark": ""},
|
||||
{"key": "0x001E", "datatype": "uint16", "alert": 0, "name":"电池总数量", "remark": ""}
|
||||
]
|
||||
},
|
||||
"Cooling_YC":{
|
||||
"addr":[
|
||||
{"key": "0x0001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1"},
|
||||
{"key": "0x0002", "datatype": "uint16", "alert": 0, "name":"所属冷机号", "remark": "1~10"},
|
||||
{"key": "0x0003", "datatype": "int16", "alert": 0, "name":"制冷点", "remark": "(0.1℃)"},
|
||||
{"key": "0x0004", "datatype": "int16", "alert": 0, "name":"制冷偏差", "remark": "(0.1℃)"},
|
||||
{"key": "0x0005", "datatype": "int16", "alert": 0, "name":"高温告警值", "remark": "(0.1℃)"},
|
||||
{"key": "0x0006", "datatype": "int16", "alert": 0, "name":"低温告警值", "remark": "(0.1℃)"},
|
||||
{"key": "0x0007", "datatype": "int16", "alert": 0, "name":"制热点", "remark": "(0.1℃)"},
|
||||
{"key": "0x0008", "datatype": "int16", "alert": 0, "name":"制热偏差", "remark": "(0.1℃)"},
|
||||
{"key": "0x0009", "datatype": "int16", "alert": 0, "name":"电芯温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x000A", "datatype": "int16", "alert": 0, "name":"环境湿度", "remark": "(0.1℃)"},
|
||||
{"key": "0x000B", "datatype": "int16", "alert": 0, "name":"吸气温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x000C", "datatype": "int16", "alert": 0, "name":"排气温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x000D", "datatype": "int16", "alert": 0, "name":"进水温度/供液温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x000E", "datatype": "int16", "alert": 0, "name":"出水温度/回液温度", "remark": "(0.1℃)"},
|
||||
{"key": "0x000F", "datatype": "int16", "alert": 0, "name":"进水压力/供液压力", "remark": "(0.1)"},
|
||||
{"key": "0x0010", "datatype": "int16", "alert": 0, "name":"出水压力/回液压力", "remark": "(0.1)"},
|
||||
{"key": "0x0011", "datatype": "int16", "alert": 0, "name":"高压压力", "remark": "(0.1)"},
|
||||
{"key": "0x0012", "datatype": "int16", "alert": 0, "name":"低压压力", "remark": "(0.1)"},
|
||||
{"key": "0x0013", "datatype": "int16", "alert": 0, "name":"循环水泵转速", "remark": ""},
|
||||
{"key": "0x0014", "datatype": "int16", "alert": 0, "name":"压缩机频率", "remark": ""},
|
||||
{"key": "0x0015", "datatype": "int16", "alert": 0, "name":"室外风机转速", "remark": ""}
|
||||
]
|
||||
},
|
||||
"Cooling_YX":{
|
||||
"addr":[
|
||||
{"key": "0x1001", "datatype": "uint16", "alert": 0, "name":"所属通道号", "remark": "1"},
|
||||
{"key": "0x1002", "datatype": "uint16", "alert": 0, "name":"所属冷机号", "remark": "1~10"},
|
||||
{"key": "0x1003", "datatype": "uint16", "alert": 0, "name":"开关", "remark": "0:关机,1:开机"},
|
||||
{"key": "0x1004", "datatype": "uint16", "alert": 0, "name":"采样模式", "remark": "(0-出水温度 1-电芯温度)"},
|
||||
{"key": "0x1005", "datatype": "uint16", "alert": 0, "name":"制冷状态", "remark": "0:关闭,1:启动"},
|
||||
{"key": "0x1006", "datatype": "uint16", "alert": 0, "name":"制热状态", "remark": "0:关闭,1:启动"},
|
||||
{"key": "0x1007", "datatype": "uint16", "alert": 0, "name":"高温告警", "remark": "0:正常,1:告警"},
|
||||
{"key": "0x1008", "datatype": "uint16", "alert": 0, "name":"低温告警", "remark": "0:正常,1:告警"},
|
||||
{"key": "0x1009", "datatype": "uint16", "alert": 0, "name":"高压告警", "remark": "0:正常,1:告警"},
|
||||
{"key": "0x100A", "datatype": "uint16", "alert": 0, "name":"低压告警", "remark": "0:正常,1:告警"},
|
||||
{"key": "0x100B", "datatype": "uint16", "alert": 0, "name":"进水温度传感器", "remark": "0:正常,1:告警"},
|
||||
{"key": "0x100C", "datatype": "uint16", "alert": 0, "name":"出水温度传感器", "remark": "0:正常,1:告警"},
|
||||
{"key": "0x100D", "datatype": "uint16", "alert": 0, "name":"进水压力传感器", "remark": "0:正常,1:告警"},
|
||||
{"key": "0x100E", "datatype": "uint16", "alert": 0, "name":"出水压力传感器", "remark": "0:正常,1:告警"}
|
||||
]
|
||||
},
|
||||
"Gateway_YC":{
|
||||
"addr":[
|
||||
{"key": "40001", "datatype": "uint16", "alert": 0, "name":"模式", "remark": ""},
|
||||
{"key": "40002", "datatype": "uint16", "alert": 0, "name":"峰谷时间段", "remark": ""},
|
||||
{"key": "40021", "datatype": "uint16", "alert": 0, "name":"自定时间段", "remark": ""},
|
||||
{"key": "40038", "datatype": "uint16", "alert": 0, "name":"其他参数", "remark": ""}
|
||||
]
|
||||
},
|
||||
"Gateway_YX":{
|
||||
"addr":[
|
||||
{"key": "cdz", "datatype": "uint16", "alert": 0, "name":"充电桩通讯状态", "remark": "1:在线,0:离线"},
|
||||
{"key": "emu", "datatype": "uint16", "alert": 0, "name":"储能通讯状态", "remark": "1:在线,0:离线"}
|
||||
]
|
||||
},
|
||||
"Charger_YC":{
|
||||
"addr":[
|
||||
{"key": "11", "datatype": "uint16", "alert": 0, "name":"枪1:状态", "remark": ""},
|
||||
{"key": "12", "datatype": "uint16", "alert": 0, "name":"枪1:需求电压", "remark": ""},
|
||||
{"key": "13", "datatype": "uint16", "alert": 0, "name":"枪1:需求电流", "remark": ""},
|
||||
{"key": "14", "datatype": "uint16", "alert": 0, "name":"枪1:需求功率", "remark": ""},
|
||||
{"key": "15", "datatype": "uint16", "alert": 0, "name":"枪1:输出电压", "remark": ""},
|
||||
{"key": "16", "datatype": "uint16", "alert": 0, "name":"枪1:输出电流", "remark": ""},
|
||||
{"key": "17", "datatype": "uint16", "alert": 0, "name":"枪1:输出功率", "remark": ""},
|
||||
{"key": "18", "datatype": "uint16", "alert": 0, "name":"枪1:功率限值", "remark": ""},
|
||||
{"key": "21", "datatype": "uint16", "alert": 0, "name":"枪2:状态", "remark": ""},
|
||||
{"key": "22", "datatype": "uint16", "alert": 0, "name":"枪2:需求电压", "remark": ""},
|
||||
{"key": "23", "datatype": "uint16", "alert": 0, "name":"枪2:需求电流", "remark": ""},
|
||||
{"key": "24", "datatype": "uint16", "alert": 0, "name":"枪2:需求功率", "remark": ""},
|
||||
{"key": "25", "datatype": "uint16", "alert": 0, "name":"枪2:输出电压", "remark": ""},
|
||||
{"key": "26", "datatype": "uint16", "alert": 0, "name":"枪2:输出电流", "remark": ""},
|
||||
{"key": "27", "datatype": "uint16", "alert": 0, "name":"枪2:输出功率", "remark": ""},
|
||||
{"key": "28", "datatype": "uint16", "alert": 0, "name":"枪2:功率限值", "remark": ""}
|
||||
]
|
||||
}
|
||||
}
|
||||
157
bin/Release/assets/config-online/regaddrsShow.json
Normal file
157
bin/Release/assets/config-online/regaddrsShow.json
Normal file
@@ -0,0 +1,157 @@
|
||||
{
|
||||
"EMS":{
|
||||
"deviceType":101,
|
||||
"addrYC":[
|
||||
["A相电压", "0x107E", "0.0", " V", "1"],
|
||||
["A相电流", "0x1084", "0.0", " A"],
|
||||
["B相电压", "0x1080", "0.0", " V", "1"],
|
||||
["B相电流", "0x1086", "0.0", " A"],
|
||||
["C相电压", "0x1082", "0.0", " V", "1"],
|
||||
["C相电流", "0x1088", "0.0", " A"],
|
||||
["总有功功率", "0x1096", "0.0", " kW"]
|
||||
|
||||
],
|
||||
"addrCurve": ["0x107E", "0x1084", "0x1096"]
|
||||
},
|
||||
"PCS":{
|
||||
"deviceType":102,
|
||||
"addrYC":[
|
||||
["充放状态", "0x1009", "--", ""],
|
||||
["电网状态", "0x100A", "--", ""],
|
||||
["A相电压", "0x0010", "0.0", " V", "1"],
|
||||
["A相电流", "0x0019", "0.0", " A"],
|
||||
["B相电压", "0x0011", "0.0", " V", "1"],
|
||||
["B相电流", "0x001A", "0.0", " A"],
|
||||
["C相电压", "0x0011", "0.0", " V", "1"],
|
||||
["C相电流", "0x001B", "0.0", " A"],
|
||||
["总有功功率", "0x0025", "0.0", " kW"]
|
||||
],
|
||||
"addrCurve": ["0x0010", "0x0019", "0x0025"]
|
||||
},
|
||||
"PCU":{
|
||||
"deviceType":103,
|
||||
"addrYC":[
|
||||
["电网状态", "0x1007", "--", ""],
|
||||
["启停状态", "0x1006", "--", ""],
|
||||
["有功功率期望值","0x000E", "0.0", " KW"],
|
||||
["无功功率期望值","0x000F", "0.0", " kVar"],
|
||||
["A相电压", "0x0013", "0.0", " V", "1"],
|
||||
["A相电流", "0x001C", "0.0", " A"],
|
||||
["B相电压", "0x0014", "0.0", " V", "1"],
|
||||
["B相电流", "0x001D", "0.0", " A"],
|
||||
["C相电压", "0x0015", "0.0", " V", "1"],
|
||||
["C相电流", "0x001E", "0.0", " A"],
|
||||
["总有功功率", "0x0028", "0.0", " kW"]
|
||||
],
|
||||
"addrCurve": ["0x0013", "0x001C", "0x0028"]
|
||||
},
|
||||
"BMS":{
|
||||
"deviceType":104,
|
||||
"addrYC":[
|
||||
["充放状态", "0x004A", "--", ""],
|
||||
["堆功率", "0x000F", "0.0", " kW"],
|
||||
["SOC", "0x0001", "0", " %", "0.1"],
|
||||
["SOH", "0x0002", "0", " %", "0.1"],
|
||||
["电压", "0x0003", "0.0", " V", "0.1"],
|
||||
["电流", "0x0005", "0.0", " A", "0.1"],
|
||||
["单体最电压", "0x0021", "0.0", " V", "0.1"],
|
||||
["单体最小电压", "0x0024", "0.0", " V", "0.1"],
|
||||
["单体最大温度", "0x0029", "0.0", " ℃", "0.1"],
|
||||
["单体最小温度", "0x002C", "0.0", " ℃", "0.1"]
|
||||
],
|
||||
"addrCurve": ["0x0003", "0x0005", ""]
|
||||
},
|
||||
"BCU":{
|
||||
"deviceType":105,
|
||||
"addrYC":[
|
||||
["充放状态", "0xA003", "--", ""],
|
||||
["运行状态", "0xA004", "--", ""],
|
||||
["簇可充容量", "0x0019", "0.0", " Ah", "0.1"],
|
||||
["簇可放容量", "0x001B", "0.0", " Ah", "0.1"],
|
||||
["簇SOC", "0x000B", "0", " %", "0.1"],
|
||||
["簇SOH", "0x000C", "0", " %", "0.1"],
|
||||
["簇电压", "0x0003", "0.0", " V", "0.1"],
|
||||
["簇电流", "0x0005", "0", " A", "0.1"],
|
||||
["簇温度", "0x0007", "0.0", " ℃", "0.1"],
|
||||
["簇电阻", "0x0009", "0.0", " Ω"]
|
||||
],
|
||||
"addrCurve": ["0x0003", "0x0005", ""]
|
||||
},
|
||||
"MEM":{
|
||||
"deviceType":3,
|
||||
"addrYC":[
|
||||
["日充电电量", "0x002F", "0", " kWh"],
|
||||
["日放电电量", "0x0031", "0", " kWh"],
|
||||
["总充电电量", "0x004D", "0", " kWh"],
|
||||
["总放电电量", "0x004F", "0", " kWh"],
|
||||
["日充电费用", "0x0033", "0", " 元"],
|
||||
["日放电费用", "0x0035", "0", " 元"],
|
||||
["总充电费用", "0x0051", "0", " 元"],
|
||||
["总放电费用", "0x0053", "0", " 元"],
|
||||
["日收益", "0x0037", "0", " 元"],
|
||||
["总收益", "0x0055", "0", " 元"],
|
||||
["日正向尖电能", "0x0039", "0", " kWh"],
|
||||
["日正向峰电能", "0x003B", "0", " kWh"],
|
||||
["日正向平电能", "0x003D", "0", " kWh"],
|
||||
["日正向谷电能", "0x003F", "0", " kWh"],
|
||||
["日正向总电能", "0x0041", "0", " kWh"],
|
||||
["日反向尖电能", "0x0043", "0", " kWh"],
|
||||
["日反向峰电能", "0x0045", "0", " kWh"],
|
||||
["日反向平电能", "0x0047", "0", " kWh"],
|
||||
["日反向谷电能", "0x0049", "0", " kWh"],
|
||||
["日反向总电能", "0x004B", "0", " kWh"],
|
||||
["总正向尖电能", "0x0057", "0", " kWh"],
|
||||
["总正向峰电能", "0x0059", "0", " kWh"],
|
||||
["总正向平电能", "0x005B", "0", " kWh"],
|
||||
["总正向谷电能", "0x005D", "0", " kWh"],
|
||||
["总正向总电能", "0x005F", "0", " kWh"],
|
||||
["总反向尖电能", "0x0061", "0", " kWh"],
|
||||
["总反向峰电能", "0x0063", "0", " kWh"],
|
||||
["总反向平电能", "0x0065", "0", " kWh"],
|
||||
["总反向谷电能", "0x0067", "0", " kWh"],
|
||||
["总反向总电能", "0x0069", "0", " kWh"],
|
||||
["A相电压", "0x000B", "0.0", " V"],
|
||||
["A相电流", "0x0011", "0.0", " A"],
|
||||
["B相电压", "0x000D", "0.0", " V"],
|
||||
["B相电流", "0x0013", "0.0", " A"],
|
||||
["C相电压", "0x000F", "0.0", " V"],
|
||||
["C相电流", "0x0015", "0.0", " A"],
|
||||
["总有功总需量", "0x0025", "0.0", " kW"]
|
||||
],
|
||||
"addrCurve": ["0x000B","0x0011","0x0023"]
|
||||
},
|
||||
"TH": {
|
||||
"deviceType":10,
|
||||
"addrYC":[
|
||||
["温度", "0x0003", "0.0", " ℃", "0.1"],
|
||||
["湿度", "0x0004", "0.0", " %", "0.1"]
|
||||
]
|
||||
},
|
||||
"Cooling": {
|
||||
"deviceType":14,
|
||||
"addrYC":[
|
||||
["开关", "0x1003", "0", "", "1"],
|
||||
["采样模式", "0x1004", "0", "", "1"],
|
||||
["制冷状态", "0x1005", "0", "", "1"],
|
||||
["制热状态", "0x1006", "0", "", "1"],
|
||||
["高温告警", "0x1007", "0", "", "1"],
|
||||
["低温告警", "0x1008", "0", "", "1"],
|
||||
["高压告警", "0x1009", "0", "", "1"],
|
||||
["低压告警", "0x100A", "0", "", "1"]
|
||||
]
|
||||
},
|
||||
"Charger": {
|
||||
"deviceType":106,
|
||||
"addrYC":[
|
||||
["工作状态", "11", "空闲", ""],
|
||||
["需求电压", "12", "0.0", " V", "0.1"],
|
||||
["需求电流", "13", "0.0", " A", "0.01"],
|
||||
["需求功率", "14", "0.0", " kW", "0.1"],
|
||||
["输出电压", "15", "0.0", " V", "0.1"],
|
||||
["输出电流", "16", "0.0", " A", "0.01"],
|
||||
["输出功率", "17", "0.0", " kW", "0.1"],
|
||||
["功率限值", "18", "0.0", " kW", "0.1"]
|
||||
],
|
||||
"addrCurve": ["15", "16", "17"]
|
||||
}
|
||||
}
|
||||
128
bin/Release/assets/config-online/registeraddrErr.json
Normal file
128
bin/Release/assets/config-online/registeraddrErr.json
Normal file
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"103":{
|
||||
"addr":[
|
||||
{"key": "0x1009", "datatype": "uint16", "remark": "EPO急停1故障,0正常"},
|
||||
{"key": "0x100A", "datatype": "uint16", "remark": "防雷器异常1告警,0正常"},
|
||||
{"key": "0x100B", "datatype": "uint16", "remark": "负载电压反序1故障,0正常"},
|
||||
{"key": "0x100C", "datatype": "uint16", "remark": "市电电压反序1故障,0正常"},
|
||||
{"key": "0x100D", "datatype": "uint16", "remark": "输出相反序1故障,0正常"},
|
||||
{"key": "0x100E", "datatype": "uint16", "remark": "过载告警1告警,0正常"},
|
||||
{"key": "0x100F", "datatype": "uint16", "remark": "过载超时1故障,0正常"},
|
||||
{"key": "0x1010", "datatype": "uint16", "remark": "交流过流保护1故障,0正常"},
|
||||
{"key": "0x1011", "datatype": "uint16", "remark": "逆变电压异常1故障,0正常"},
|
||||
{"key": "0x1012", "datatype": "uint16", "remark": "内部串口异常1故障,0正常"},
|
||||
{"key": "0x1013", "datatype": "uint16", "remark": "485通信故障1故障,0正常"},
|
||||
{"key": "0x1014", "datatype": "uint16", "remark": "CAN通信故障1故障,0正常"},
|
||||
{"key": "0x1015", "datatype": "uint16", "remark": "E2PROM故障1故障,0正常"},
|
||||
{"key": "0x1016", "datatype": "uint16", "remark": "电网过压1故障,0正常"},
|
||||
{"key": "0x1017", "datatype": "uint16", "remark": "电网欠压1故障,0正常"},
|
||||
{"key": "0x1018", "datatype": "uint16", "remark": "电网过频1故障,0正常"},
|
||||
{"key": "0x1019", "datatype": "uint16", "remark": "电网欠频1故障,0正常"},
|
||||
{"key": "0x101A", "datatype": "uint16", "remark": "电网快检综合异常1故障,0正常"},
|
||||
{"key": "0x101B", "datatype": "uint16", "remark": "电网幅值快检异常1故障,0正常"},
|
||||
{"key": "0x101C", "datatype": "uint16", "remark": "电网拖尾异常1故障,0正常"},
|
||||
{"key": "0x101E", "datatype": "uint16", "remark": "急停按钮信号NC1急停,0正常"},
|
||||
{"key": "0x101F", "datatype": "uint16", "remark": "避雷器NC1故障,0正常"},
|
||||
{"key": "0x1020", "datatype": "uint16", "remark": "避雷器断路器NC1故障,0正常"},
|
||||
{"key": "0x102F", "datatype": "uint16", "remark": "PCS_01下发设置1故障,0正常"},
|
||||
{"key": "0x1030", "datatype": "uint16", "remark": "PCS_02下发设置1故障,0正常"},
|
||||
{"key": "0x1031", "datatype": "uint16", "remark": "PCS_03下发设置1故障,0正常"},
|
||||
{"key": "0x1032", "datatype": "uint16", "remark": "PCS_04下发设置1故障,0正常"},
|
||||
{"key": "0x1033", "datatype": "uint16", "remark": "PCS_05下发设置1故障,0正常"},
|
||||
{"key": "0x1034", "datatype": "uint16", "remark": "PCS_06下发设置1故障,0正常"},
|
||||
{"key": "0x1035", "datatype": "uint16", "remark": "PCS_07下发设置1故障,0正常"},
|
||||
{"key": "0x1036", "datatype": "uint16", "remark": "PCS_08下发设置1故障,0正常"},
|
||||
{"key": "0x1037", "datatype": "uint16", "remark": "PCS_09下发设置1故障,0正常"},
|
||||
{"key": "0x1038", "datatype": "uint16", "remark": "PCS_10下发设置1:故障,0正常"},
|
||||
{"key": "0x1039", "datatype": "uint16", "remark": "内部DSP通信故障1:故障,0正常"},
|
||||
{"key": "0x103A", "datatype": "uint16", "remark": "BMS CAN通信故障1:故障,0正常"}
|
||||
]
|
||||
},
|
||||
"104":{
|
||||
"addr":[
|
||||
{"key": "0x1010", "datatype": "uint16", "remark": "绝缘故障1:故障,0正常"},
|
||||
{"key": "0x1011", "datatype": "uint16", "remark": "漏电保护1:故障,0正常"},
|
||||
{"key": "0x1012", "datatype": "uint16", "remark": "直流过压1:故障,0正常"},
|
||||
{"key": "0x1013", "datatype": "uint16", "remark": "市电幅值异常1:故障,0正常"},
|
||||
{"key": "0x1014", "datatype": "uint16", "remark": "市电相序异常1:故障,0正常"},
|
||||
{"key": "0x1015", "datatype": "uint16", "remark": "温度开关异常1:故障,0正常"},
|
||||
{"key": "0x1016", "datatype": "uint16", "remark": "市电频率异常1:故障,0正常"},
|
||||
{"key": "0x1017", "datatype": "uint16", "remark": "IGBT过温1:故障,0正常"},
|
||||
{"key": "0x1018", "datatype": "uint16", "remark": "交流接地故障1:故障,0正常"},
|
||||
{"key": "0x1019", "datatype": "uint16", "remark": "逆变过流异常1:故障,0正常"},
|
||||
{"key": "0x101A", "datatype": "uint16", "remark": "直流缓起故障1:故障,0正常"},
|
||||
{"key": "0x101B", "datatype": "uint16", "remark": "直流主继电器故障1:故障,0正常"},
|
||||
{"key": "0x101C", "datatype": "uint16", "remark": "风机异常1:故障,0正常"},
|
||||
{"key": "0x101D", "datatype": "uint16", "remark": "主接触器异常1:故障,0正常"},
|
||||
{"key": "0x101E", "datatype": "uint16", "remark": "均浮充切换超时1:故障,0正常"},
|
||||
{"key": "0x101F", "datatype": "uint16", "remark": "硬件故障1:故障,0正常"},
|
||||
{"key": "0x1020", "datatype": "uint16", "remark": "机内过温1:故障,0正常"},
|
||||
{"key": "0x1021", "datatype": "uint16", "remark": "软启动故障1:故障,0正常"},
|
||||
{"key": "0x1022", "datatype": "uint16", "remark": "触摸屏通讯故障1:故障,0正常"},
|
||||
{"key": "0x1023", "datatype": "uint16", "remark": "防雷器故障1:故障,0正常"},
|
||||
{"key": "0x1024", "datatype": "uint16", "remark": "急停故障1:故障,0正常"},
|
||||
{"key": "0x1025", "datatype": "uint16", "remark": "BMS系统故障1:故障,0正常"},
|
||||
{"key": "0x1026", "datatype": "uint16", "remark": "BMS通讯故障1:故障,0正常"},
|
||||
{"key": "0x1027", "datatype": "uint16", "remark": "BMS干接点通讯故障1:故障,0正常"},
|
||||
{"key": "0x1028", "datatype": "uint16", "remark": "远程通讯故障1:故障,0正常"},
|
||||
{"key": "0x1029", "datatype": "uint16", "remark": "门禁告警1:故障,0正常"},
|
||||
{"key": "0x102A", "datatype": "uint16", "remark": "锁相异常1:故障,0正常"},
|
||||
{"key": "0x102B", "datatype": "uint16", "remark": "IGBT过温告警1:故障,0正常"},
|
||||
{"key": "0x102C", "datatype": "uint16", "remark": "硬件过流保护1:故障,0正常"},
|
||||
{"key": "0x102D", "datatype": "uint16", "remark": "驱动故障1:故障,0正常"},
|
||||
{"key": "0x102E", "datatype": "uint16", "remark": "ID冲突1:故障,0正常"},
|
||||
{"key": "0x102F", "datatype": "uint16", "remark": "电池过压1:故障,0正常"},
|
||||
{"key": "0x1030", "datatype": "uint16", "remark": "电池欠压1:故障,0正常"},
|
||||
{"key": "0x1031", "datatype": "uint16", "remark": "直流过流保护1:故障,0正常"},
|
||||
{"key": "0x1032", "datatype": "uint16", "remark": "输出电压异常1:故障,0正常"},
|
||||
{"key": "0x1033", "datatype": "uint16", "remark": "离网输出电压不符合1:故障,0正常"},
|
||||
{"key": "0x1034", "datatype": "uint16", "remark": "输出过载保护1:故障,0正常"},
|
||||
{"key": "0x1035", "datatype": "uint16", "remark": "输出短路保护1:故障,0正常"},
|
||||
{"key": "0x1036", "datatype": "uint16", "remark": "并机通信异常1:故障,0正常"},
|
||||
{"key": "0x1037", "datatype": "uint16", "remark": "电池保险异常1:故障,0正常"},
|
||||
{"key": "0x1038", "datatype": "uint16", "remark": "电池重载低压1:故障,0正常"},
|
||||
{"key": "0x1039", "datatype": "uint16", "remark": "电池低压告警1:故障,0正常"},
|
||||
{"key": "0x103A", "datatype": "uint16", "remark": "一拖二压差过大1:故障,0正常"},
|
||||
{"key": "0x103B", "datatype": "uint16", "remark": "电池反接故障1:故障,0正常"},
|
||||
{"key": "0x103C", "datatype": "uint16", "remark": "电池电压异常1:故障,0正常"},
|
||||
{"key": "0x103D", "datatype": "uint16", "remark": "过载告警1:故障,0正常"},
|
||||
{"key": "0x103E", "datatype": "uint16", "remark": "外部接触器异常1:故障,0正常"},
|
||||
{"key": "0x103F", "datatype": "uint16", "remark": "IGBT温度传感器异常1:故障,0正常"},
|
||||
{"key": "0x1040", "datatype": "uint16", "remark": "整机温度传感器异常1:故障,0正常"},
|
||||
{"key": "0x1041", "datatype": "uint16", "remark": "市电CT异常1:故障,0正常"},
|
||||
{"key": "0x1042", "datatype": "uint16", "remark": "逆变电流三相不平衡1:故障,0正常"},
|
||||
{"key": "0x1043", "datatype": "uint16", "remark": "逆变电流直流分量异常1:故障,0正常"},
|
||||
{"key": "0x1044", "datatype": "uint16", "remark": "母线不平衡1:故障,0正常"},
|
||||
{"key": "0x1045", "datatype": "uint16", "remark": "逆变电压直流分量异常1:故障,0正常"},
|
||||
{"key": "0x1046", "datatype": "uint16", "remark": "主接触器控制异常1:故障,0正常"},
|
||||
{"key": "0x1047", "datatype": "uint16", "remark": "逆变电压控制异常1:故障,0正常"},
|
||||
{"key": "0x1048", "datatype": "uint16", "remark": "直流霍尔异常1:故障,0正常"},
|
||||
{"key": "0x1049", "datatype": "uint16", "remark": "电池单体过压1:故障,0正常"},
|
||||
{"key": "0x104A", "datatype": "uint16", "remark": "电池单体欠压1:故障,0正常"},
|
||||
{"key": "0x104B", "datatype": "uint16", "remark": "电网过压1:故障,0正常"},
|
||||
{"key": "0x104C", "datatype": "uint16", "remark": "电网欠压1:故障,0正常"},
|
||||
{"key": "0x104D", "datatype": "uint16", "remark": "电网过频1:故障,0正常"},
|
||||
{"key": "0x104E", "datatype": "uint16", "remark": "电网欠频1:故障,0正常"},
|
||||
{"key": "0x104F", "datatype": "uint16", "remark": "市电不平衡1:故障,0正常"},
|
||||
{"key": "0x1050", "datatype": "uint16", "remark": "参数设置不匹配1:故障,0正常"},
|
||||
{"key": "0x1051", "datatype": "uint16", "remark": "SPI通信异常1:故障,0正常"},
|
||||
{"key": "0x1052", "datatype": "uint16", "remark": "SCI通信异常1:故障,0正常"},
|
||||
{"key": "0x1053", "datatype": "uint16", "remark": "IIC通信异常1:故障,0正常"},
|
||||
{"key": "0x1054", "datatype": "uint16", "remark": "Xintf通信异常1:故障,0正常"},
|
||||
{"key": "0x1055", "datatype": "uint16", "remark": "零偏校准异常1:故障,0正常"},
|
||||
{"key": "0x1056", "datatype": "uint16", "remark": "烟雾告警1:故障,0正常"},
|
||||
{"key": "0x1057", "datatype": "uint16", "remark": "无电池组故障1异常,0正常"},
|
||||
{"key": "0x1058", "datatype": "uint16", "remark": "环温降频1异常,0正常"},
|
||||
{"key": "0x1059", "datatype": "uint16", "remark": "交流过载1异常,0正常"},
|
||||
{"key": "0x105A", "datatype": "uint16", "remark": "采样异常1异常,0正常"},
|
||||
{"key": "0x105B", "datatype": "uint16", "remark": "24V辅源故障1异常,0正常"},
|
||||
{"key": "0x105C", "datatype": "uint16", "remark": "直流欠压异常1异常,0正常"},
|
||||
{"key": "0x105D", "datatype": "uint16", "remark": "散热器过温1异常,0正常"},
|
||||
{"key": "0x105E", "datatype": "uint16", "remark": "CAN配置故障1异常,0正常"},
|
||||
{"key": "0x105F", "datatype": "uint16", "remark": "3.3V辅源故障1异常,0正常"},
|
||||
{"key": "0x1060", "datatype": "uint16", "remark": "环境过温1异常,0正常"},
|
||||
{"key": "0x1061", "datatype": "uint16", "remark": "A相IGBT逆变过流1异常,0正常"},
|
||||
{"key": "0x1062", "datatype": "uint16", "remark": "B相IGBT逆变过流1异常,0正常"}
|
||||
]
|
||||
}
|
||||
}
|
||||
77
bin/Release/assets/config-online/registeraddrs.bak.py
Normal file
77
bin/Release/assets/config-online/registeraddrs.bak.py
Normal file
@@ -0,0 +1,77 @@
|
||||
import re
|
||||
import json
|
||||
|
||||
def parse_datatype(text):
|
||||
datatypes = ["int16", "uint16", "int32", "uint32", "int64", "uint64"]
|
||||
for index, datatype in enumerate(datatypes):
|
||||
left, separator, right = text.partition(datatype)
|
||||
if len(separator) != 0:
|
||||
return datatype, left + right
|
||||
return "", text
|
||||
|
||||
|
||||
def parse_from_file(filename):
|
||||
data = ""
|
||||
with open(filename, "r", encoding='utf-8') as f: # 打开文件
|
||||
linedata = ""
|
||||
for line in f: # 行遍历
|
||||
line = line.strip()
|
||||
#linedata = f.readline() # 读取文件的一行
|
||||
flag = bool(re.search(r'0x[0-9A-Fa-f]{4}', line))
|
||||
linedata += line.strip()
|
||||
if flag:
|
||||
# print(linedata)
|
||||
# left, separator, right = linedata.partition("0x")
|
||||
parts = re.split(r'(0x[0-9A-Fa-f]{4})', linedata)
|
||||
linedata = ""
|
||||
|
||||
key = parts[1]
|
||||
datatype, remark = parse_datatype(parts[0].strip())
|
||||
remark = remark.replace("\t", " ").replace("\"", "")
|
||||
|
||||
item = {}
|
||||
item["key"] = key
|
||||
item["datatype"] = datatype
|
||||
item["remark"] = remark
|
||||
|
||||
if len(data) > 0:
|
||||
data += ",\n"
|
||||
data += ("\t\t\t" + json.dumps(item, ensure_ascii=False))
|
||||
return data
|
||||
|
||||
|
||||
addritems = {}
|
||||
addritems["EMS_YT"] = ["EMS遥调.txt", 1]
|
||||
addritems["BCU_YX"] = ["BCU电池簇遥信.txt", 1]
|
||||
addritems["BCU_YC"] = ["BCU电池簇遥测.txt", 1]
|
||||
addritems["BMS_YC"] = ["BMS电池堆遥测.txt", 1]
|
||||
addritems["EMS_YX"] = ["EMS遥信.txt", 1]
|
||||
addritems["EMS_YC"] = ["EMS遥测.txt", 1]
|
||||
addritems["EMS_YT"] = ["EMS遥调.txt", 1]
|
||||
addritems["PCS_YX"] = ["PCS遥信.txt", 1]
|
||||
addritems["PCS_YC"] = ["PCS遥测.txt", 1]
|
||||
addritems["PCU_YX"] = ["PCU遥信.txt", 1]
|
||||
addritems["PCU_YC"] = ["PCU遥测.txt", 1]
|
||||
addritems["MEM_YC"] = ["多功能电表遥测.txt", 1]
|
||||
addritems["TH_YC"] = ["温湿度状态遥测.txt", 1]
|
||||
addritems["Fire40_YX"] = ["消防4.0遥信.txt", 1]
|
||||
addritems["Cooling_YX"] = ["冷机遥信.txt", 1]
|
||||
addritems["Cooling_YC"] = ["冷机遥测.txt", 1]
|
||||
|
||||
|
||||
with open('registeraddr.json', 'w', encoding='utf-8') as f:
|
||||
f.write("{")
|
||||
index = 0
|
||||
for key in addritems:
|
||||
filename = addritems[key][0]
|
||||
count = addritems[key][1]
|
||||
print("parse: ", key, filename)
|
||||
data = parse_from_file(filename)
|
||||
if len(data) > 0:
|
||||
data = "\n" + data + "\n\t"
|
||||
if index != 0:
|
||||
f.write(",")
|
||||
f.write("\n\t\"" + key + "\": {\n\t\t\"count\":" + str(count) + ",\n\t\t\"addr\":[" + data + "\t]\n\t}")
|
||||
index+=1
|
||||
f.write("\n}")
|
||||
|
||||
Binary file not shown.
@@ -6,7 +6,7 @@
|
||||
"exportpath": "D:/Programs/openresty-1.27.1.1-win64/zdownload",
|
||||
"database": {"host": "localhost", "port": 3306, "user": "root", "passwd": "123456", "dbname": "ess"},
|
||||
"http": {"token":0, "port": 19801, "encryption":0, "encryptKey":""},
|
||||
"mqtt": {"host":"mqtt://118.195.161.113:8883","username":"admin","password":"jsyh@2025", "interval": 120},
|
||||
"mqtt": {"host":"mqtt://118.195.161.113:8883","username":"admin","password":"jsyh@2025", "interval": 0},
|
||||
"topic": {
|
||||
"EMS_YX": {"deviceType":101, "polling":0, "enabled": 1},
|
||||
"EMS_YC": {"deviceType":101, "polling":0, "enabled": 1},
|
||||
@@ -32,5 +32,5 @@
|
||||
"video": {
|
||||
"1":{"host":"", "port":9000, "user":"", "passwd":""}
|
||||
},
|
||||
"statistics": {"enabled": 1, "interval": 120}
|
||||
"statistics": {"enabled": 1, "interval": 60}
|
||||
}
|
||||
@@ -18,8 +18,6 @@
|
||||
"addrYC":[
|
||||
["充放状态", "0x1009", "--", ""],
|
||||
["电网状态", "0x100A", "--", ""],
|
||||
["总充电量", "0x0003", "0.0", " kWh"],
|
||||
["总放电量", "0x0005", "0.0", " kWh"],
|
||||
["A相电压", "0x0010", "0.0", " V", "1"],
|
||||
["A相电流", "0x0019", "0.0", " A"],
|
||||
["B相电压", "0x0011", "0.0", " V", "1"],
|
||||
@@ -34,11 +32,9 @@
|
||||
"deviceType":103,
|
||||
"addrYC":[
|
||||
["电网状态", "0x1007", "--", ""],
|
||||
["模块状态", "0x1008", "--", ""],
|
||||
["日充电量", "0x0006", "0.0", " kWh"],
|
||||
["日放电量", "0x0008", "0.0", " kWh"],
|
||||
["总充电量", "0x000A", "0.0", " kWh"],
|
||||
["总放电量", "0x000C", "0.0", " kWh"],
|
||||
["启停状态", "0x1006", "--", ""],
|
||||
["有功功率期望值","0x000E", "0.0", " KW"],
|
||||
["无功功率期望值","0x000F", "0.0", " kVar"],
|
||||
["A相电压", "0x0013", "0.0", " V", "1"],
|
||||
["A相电流", "0x001C", "0.0", " A"],
|
||||
["B相电压", "0x0014", "0.0", " V", "1"],
|
||||
@@ -94,11 +90,31 @@
|
||||
["总放电费用", "0x0053", "0", " 元"],
|
||||
["日收益", "0x0037", "0", " 元"],
|
||||
["总收益", "0x0055", "0", " 元"],
|
||||
["日正向尖电能", "0x0039", "0", " kWh"],
|
||||
["日正向峰电能", "0x003B", "0", " kWh"],
|
||||
["日正向平电能", "0x003D", "0", " kWh"],
|
||||
["日正向谷电能", "0x003F", "0", " kWh"],
|
||||
["日正向总电能", "0x0041", "0", " kWh"],
|
||||
["日反向尖电能", "0x0043", "0", " kWh"],
|
||||
["日反向峰电能", "0x0045", "0", " kWh"],
|
||||
["日反向平电能", "0x0047", "0", " kWh"],
|
||||
["日反向谷电能", "0x0049", "0", " kWh"],
|
||||
["日反向总电能", "0x004B", "0", " kWh"],
|
||||
["总正向尖电能", "0x0057", "0", " kWh"],
|
||||
["总正向峰电能", "0x0059", "0", " kWh"],
|
||||
["总正向平电能", "0x005B", "0", " kWh"],
|
||||
["总正向谷电能", "0x005D", "0", " kWh"],
|
||||
["总正向总电能", "0x005F", "0", " kWh"],
|
||||
["总反向尖电能", "0x0061", "0", " kWh"],
|
||||
["总反向峰电能", "0x0063", "0", " kWh"],
|
||||
["总反向平电能", "0x0065", "0", " kWh"],
|
||||
["总反向谷电能", "0x0067", "0", " kWh"],
|
||||
["总反向总电能", "0x0069", "0", " kWh"],
|
||||
["A相电压", "0x000B", "0.0", " V"],
|
||||
["A相电流", "0x000D", "0.0", " A"],
|
||||
["B相电压", "0x000F", "0.0", " V"],
|
||||
["B相电流", "0x0011", "0.0", " A"],
|
||||
["C相电压", "0x0013", "0.0", " V"],
|
||||
["A相电流", "0x0011", "0.0", " A"],
|
||||
["B相电压", "0x000D", "0.0", " V"],
|
||||
["B相电流", "0x0013", "0.0", " A"],
|
||||
["C相电压", "0x000F", "0.0", " V"],
|
||||
["C相电流", "0x0015", "0.0", " A"],
|
||||
["总有功总需量", "0x0025", "0.0", " kW"]
|
||||
],
|
||||
|
||||
@@ -87,6 +87,7 @@ ADD_SOURCE_GROUP(protocol)
|
||||
#ADD_SOURCE_GROUP(pv)
|
||||
#ADD_SOURCE_GROUP(pv/pages)
|
||||
ADD_SOURCE_GROUP(qt)
|
||||
ADD_SOURCE_GROUP(qt/widgets)
|
||||
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin)
|
||||
add_executable(${PROJECT_NAME} ${SOURCE_FILE} "resource.rc")
|
||||
|
||||
@@ -195,19 +195,17 @@ bool AppData::initFromDB()
|
||||
auto station = this->getStation(stationId);
|
||||
if (station)
|
||||
{
|
||||
station->storageIn = fields.get<double>(DMStatStation::STORAGE_ELECT_IN);
|
||||
station->storageOut = fields.get<double>(DMStatStation::STORAGE_ELECT_OUT);
|
||||
//station->storageIn = fields.get<double>(DMStatStation::STORAGE_ELECT_IN);
|
||||
//station->storageOut = fields.get<double>(DMStatStation::STORAGE_ELECT_OUT);
|
||||
//station->storageNumIn = fields.getFloat(DMStatStation::STORAGE_NUM);
|
||||
//station->storageNumOut = fields.getFloat(DMStatStation::STORAGE_NUM);
|
||||
station->storageNumErr = fields.get<int>(DMStatStation::STORAGE_NUM_ERR);
|
||||
|
||||
station->solarGen = fields.get<double>(DMStatStation::SOLAR_ELECT_GEN);
|
||||
station->solarGrid = fields.get<double>(DMStatStation::SOLAR_ELECT_GRID);
|
||||
station->solarNumErr = fields.get<int>(DMStatStation::SOLAR_NUM_ERR);
|
||||
|
||||
station->chargeElect = fields.get<double>(DMStatStation::CHARGE_ELECT);
|
||||
station->chargeNum = fields.get<int>(DMStatStation::CHARGE_NUM);
|
||||
station->chargeNumErr = fields.get<int>(DMStatStation::CHARGE_NUM_ERR);
|
||||
//station->storageNumErr = fields.get<int>(DMStatStation::STORAGE_NUM_ERR);
|
||||
//station->solarGen = fields.get<double>(DMStatStation::SOLAR_ELECT_GEN);
|
||||
//station->solarGrid = fields.get<double>(DMStatStation::SOLAR_ELECT_GRID);
|
||||
//station->solarNumErr = fields.get<int>(DMStatStation::SOLAR_NUM_ERR);
|
||||
//station->chargeElect = fields.get<double>(DMStatStation::CHARGE_ELECT);
|
||||
//station->chargeNum = fields.get<int>(DMStatStation::CHARGE_NUM);
|
||||
//station->chargeNumErr = fields.get<int>(DMStatStation::CHARGE_NUM_ERR);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -216,30 +214,38 @@ bool AppData::initFromDB()
|
||||
}
|
||||
}
|
||||
|
||||
{ // 初始化场站设备的历史监测数据
|
||||
|
||||
{ // 初始化场站设备的历史监测数据(当天)
|
||||
vector<Fields> result;
|
||||
DAO::queryRuntimeData(dao, Utils::dateStr(), result);
|
||||
DAO::queryRuntimeDataHistory(dao, Utils::dateStr(), result);
|
||||
for (auto& item : result)
|
||||
{
|
||||
int stationId = item.get<int>("station_id");
|
||||
int deviceId = item.get<int>("device_id");
|
||||
int datatype = item.get<int>("datatype");
|
||||
auto device = this->getDevice(stationId, deviceId);
|
||||
if (device)
|
||||
{
|
||||
int datatype = item.get<int>("datatype");
|
||||
std::string value = item.value("value");
|
||||
|
||||
njson json;
|
||||
if (JSON::parse(value, json))
|
||||
{
|
||||
std::vector<double> vecVal(json.size());
|
||||
for (int i=0; i<json.size(); ++i)
|
||||
{
|
||||
vecVal[i] = JSON::get<double>(json[i]);
|
||||
}
|
||||
device->setCache(datatype, vecVal);
|
||||
}
|
||||
std::vector<float> vd;
|
||||
JSON::parseArray(value, vd);
|
||||
device->setCache(datatype, vd);
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // 初始化预测数据源的历史数据(当天)
|
||||
vector<Fields> result;
|
||||
DAO::queryPredictHistory(dao, Utils::dateStr(), result);
|
||||
for (auto& item : result)
|
||||
{
|
||||
int stationId = item.get<int>("station_id");
|
||||
int datatype = item.get<int>("datatype");
|
||||
auto station = this->getStation(stationId);
|
||||
if (station)
|
||||
{
|
||||
std::string value = item.value("value");
|
||||
std::vector<float> vd;
|
||||
JSON::parseArray(value, vd);
|
||||
station->setCache(datatype, vd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,12 +98,13 @@ void Application::runThreadMain()
|
||||
}
|
||||
|
||||
static TimeTick ttMqttPolling; // 召测
|
||||
if (!Config::option.mqtt.host.empty() && ttMqttPolling.elapse(10))
|
||||
int mqttInterval = Config::option.mqtt.interval;
|
||||
if (!Config::option.mqtt.host.empty() && mqttInterval > 0 && ttMqttPolling.elapse(10))
|
||||
{
|
||||
for (auto& item : appdata.mapStation)
|
||||
{
|
||||
auto& station = item.second;
|
||||
if (Utils::time() - station->getPollingTS() > Config::option.mqtt.interval)
|
||||
if (Utils::time() - station->getPollingTS() > mqttInterval)
|
||||
{
|
||||
item.second->polling();
|
||||
}
|
||||
|
||||
@@ -187,22 +187,9 @@ void Device::getCachePower(std::vector<std::string>& vec)
|
||||
}
|
||||
}
|
||||
|
||||
int64_t GetCurrentTimePos(int step)
|
||||
void Device::setCache(int datatype, std::vector<float>& vd)
|
||||
{
|
||||
auto tp = chrono::system_clock::now();
|
||||
int64_t tTime = chrono::time_point_cast<chrono::seconds>(tp).time_since_epoch().count();
|
||||
std::time_t t = chrono::system_clock::to_time_t(tp);
|
||||
std::tm* tmlocal = localtime(&t);
|
||||
tmlocal->tm_hour = 0;
|
||||
tmlocal->tm_min = 0;
|
||||
tmlocal->tm_sec = 0;
|
||||
int64_t tDate = chrono::time_point_cast<chrono::seconds>(chrono::system_clock::from_time_t(mktime(tmlocal))).time_since_epoch().count();
|
||||
return (tTime - tDate) / step;
|
||||
}
|
||||
|
||||
void Device::setCache(int datatype, std::vector<double>& vec)
|
||||
{
|
||||
std::map<int, double>* mapptr = NULL;
|
||||
std::map<int, float>* mapptr = NULL;
|
||||
if (datatype == 1) { mapptr = &mapCacheVoltage; }
|
||||
else if (datatype == 2) { mapptr = &mapCacheCurrent; }
|
||||
else if (datatype == 3) { mapptr = &mapCachePower; }
|
||||
@@ -211,12 +198,12 @@ void Device::setCache(int datatype, std::vector<double>& vec)
|
||||
{
|
||||
const int step = 600;
|
||||
const int N = 86400/step;
|
||||
|
||||
int n = GetCurrentTimePos(step);
|
||||
int64_t tsSeconds = Utils::timeDaySeconds();
|
||||
int npos = tsSeconds / step;
|
||||
for (int i = 0; i<N; ++i)
|
||||
{
|
||||
if (i < vec.size()) { (*mapptr)[i] = vec[i]; }
|
||||
else if (i <= n) { (*mapptr)[i] = 0; }
|
||||
if (i < vd.size()) { (*mapptr)[i] = vd[i]; }
|
||||
else if (i <= npos) { (*mapptr)[i] = 0; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -402,10 +389,10 @@ void Device::getRuntimeParams(std::vector<std::pair<std::string, std::string>>&
|
||||
if (v == "0") v = "并网";
|
||||
else if (v == "1") v = "离网";
|
||||
}
|
||||
if (item.addr == "0x1008") // 模块状态 R uint16 1开机,0待机 0x1008
|
||||
if (item.addr == "0x1006") // 启停状态 R uint16 1开机,0关机 0x1008
|
||||
{
|
||||
if (v == "0") v = "开机";
|
||||
else if (v == "1") v = "待机";
|
||||
if (v == "1") v = "开机";
|
||||
else if (v == "0") v = "关机";
|
||||
}
|
||||
}
|
||||
else if (type == int(EDeviceType::PCS))
|
||||
@@ -466,7 +453,7 @@ void Device::setBCUUnit(std::string k, int pos, int v, int count)
|
||||
if (k == "0x0056") { bcuUnit[0] = float(v) * 0.1f; }
|
||||
else if (k == "0x043E") { bcuUnit[1] = float(v) * 0.1f; }
|
||||
else if (k == "0x0826") { bcuUnit[2] = float(v) * 0.001f; }
|
||||
else if (k == "0x0C0E") { bcuUnit[3] = float(v); } // * 0.01f
|
||||
else if (k == "0x0C0E") { bcuUnit[3] = float(v) * 0.01f; } // * 0.01f
|
||||
else if (k == "0x0FF6") { bcuUnit[4] = float(v); }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
void getCachePower(std::vector<std::string>& vec);
|
||||
|
||||
// int datatype: 1: 电压,2:电流,3:功率
|
||||
void setCache(int datatype, std::vector<double>& vec);
|
||||
void setCache(int datatype, std::vector<float>& vec);
|
||||
|
||||
bool cache(int npos);
|
||||
void storeDB(int npos);
|
||||
@@ -87,9 +87,9 @@ public:
|
||||
std::shared_ptr<CommEntity> commEntity;
|
||||
|
||||
int64_t tsDataDate {};
|
||||
std::map<int, double> mapCacheVoltage;
|
||||
std::map<int, double> mapCacheCurrent;
|
||||
std::map<int, double> mapCachePower;
|
||||
std::map<int, float> mapCacheVoltage;
|
||||
std::map<int, float> mapCacheCurrent;
|
||||
std::map<int, float> mapCachePower;
|
||||
std::map<std::string, std::string> mapParams;
|
||||
|
||||
std::map<std::string, DeviceParamAddr*> mapMyParams;
|
||||
|
||||
@@ -203,6 +203,19 @@ void Station::setGarewayWorkMode()
|
||||
mqttCli->publish("Gateway_YT", text);
|
||||
}
|
||||
|
||||
|
||||
string Station::getGatewayMode()
|
||||
{
|
||||
// 0:手动,1:峰谷套利,2:增网配容,3:应急供电,4:并网保电,5:自定时段
|
||||
if (workModeGateway == 0) { return "手动"; }
|
||||
else if (workModeGateway == 1) { return "峰谷套利"; }
|
||||
else if (workModeGateway == 2) { return "增网配容"; }
|
||||
else if (workModeGateway == 3) { return "应急供电"; }
|
||||
else if (workModeGateway == 4) { return "并网保电"; }
|
||||
else if (workModeGateway == 5) { return "自定时段"; }
|
||||
else { return "--"; };
|
||||
}
|
||||
|
||||
void Station::checkDevice()
|
||||
{
|
||||
for (auto& item: mapDevice)
|
||||
@@ -331,6 +344,7 @@ void Station::readCoolingData(int deviceNo, string addr, int val)
|
||||
|
||||
void Station::readGatewayMode(int mode)
|
||||
{
|
||||
this->workModeGateway = mode;
|
||||
if (mode != this->workMode)
|
||||
{
|
||||
//this->setGarewayWorkMode();
|
||||
@@ -363,20 +377,61 @@ void Station::readGatewayStatus(int cdzStatus, int emuStatus)
|
||||
}
|
||||
}
|
||||
|
||||
static std::string MapValueToJson(int npos, std::map<int, double>& mapV)
|
||||
static std::string MapValueToJson(int npos, std::map<int, float>& mapV)
|
||||
{
|
||||
njson jsonarray = njson::array();
|
||||
for (int i = 0; i<=npos; i++)
|
||||
{
|
||||
jsonarray.push_back(mapV[i]);
|
||||
jsonarray.push_back(int(mapV[i]));
|
||||
}
|
||||
return jsonarray.dump();
|
||||
}
|
||||
void Station::setCache(int datatype, std::vector<float>& vd)
|
||||
{
|
||||
std::map<int, float>* mapptr = NULL;
|
||||
if (datatype == 1) { mapptr = &mapCacheElectIn; }
|
||||
else if (datatype == 2) { mapptr = &mapCacheElectOut; }
|
||||
else if (datatype == 3) { mapptr = &mapCacheElectCharger; }
|
||||
if (mapptr)
|
||||
{
|
||||
const int step = 600;
|
||||
const int N = 86400/step;
|
||||
int64_t tsSeconds = Utils::timeDaySeconds();
|
||||
int npos = tsSeconds / step;
|
||||
for (int i = 0; i<N; ++i)
|
||||
{
|
||||
if (i < vd.size()) { (*mapptr)[i] = vd[i]; }
|
||||
else if (i <= npos) { (*mapptr)[i] = 0; }
|
||||
}
|
||||
}
|
||||
}
|
||||
void Station::cache()
|
||||
{
|
||||
int64_t tDaySeconds = Utils::timeDaySeconds();
|
||||
int npos = tDaySeconds / 600;
|
||||
int offset = tDaySeconds % 600;
|
||||
bool save = false;
|
||||
if (offset >= (600-180) && npos + 1 < 144)
|
||||
{
|
||||
npos += 1;
|
||||
save = true;
|
||||
}
|
||||
else if (offset <= 180 && posCache < npos)
|
||||
{
|
||||
save = true;
|
||||
posCache = npos;
|
||||
}
|
||||
if (save)
|
||||
{
|
||||
mapCacheElectIn[npos] = Utils::random(100, 800); // dayElectIn
|
||||
mapCacheElectOut[npos] = Utils::random(100, 800); // dayElectOut
|
||||
mapCacheElectCharger[npos] = Utils::random(100, 800); // 暂无数据源
|
||||
}
|
||||
}
|
||||
|
||||
void Station::writeStatistic()
|
||||
{
|
||||
auto dao = DaoEntity::create("history_day");
|
||||
|
||||
std::string dt = Utils::dateStr();
|
||||
int64_t tTime = Utils::time();
|
||||
int64_t tDate = Utils::date();
|
||||
@@ -386,7 +441,7 @@ void Station::writeStatistic()
|
||||
for (auto iter = mapDevice.begin(); iter!=mapDevice.end(); ++iter)
|
||||
{
|
||||
auto device = iter->second;
|
||||
if (device->cache(npos) && device->type == int(EDeviceType::BMS))
|
||||
if (device->cache(npos))
|
||||
{
|
||||
Fields fields;
|
||||
fields.set("dt", dt);
|
||||
@@ -407,7 +462,7 @@ void Station::writeStatistic()
|
||||
}
|
||||
}
|
||||
|
||||
if (statData.ts != 0)
|
||||
if (statData.ts > 0)
|
||||
{
|
||||
Fields fields;
|
||||
fields.set("dt", Utils::dateStr(statData.ts));
|
||||
@@ -437,15 +492,14 @@ void Station::writeStatistic()
|
||||
};
|
||||
dao->duplicateUpdate(fields, vecKeys);
|
||||
|
||||
{
|
||||
{ // stat_day
|
||||
Fields fields;
|
||||
fields.set("dt", Utils::dateStr(statData.ts));
|
||||
fields.set("station_id", this->stationId);
|
||||
fields.set("device_id", 0);
|
||||
fields.set("storage_elect_in", statData.dayElectIn);
|
||||
fields.set("storage_elect_out", statData.dayElectOut);
|
||||
fields.set("income_elect", statData.dayIncome);
|
||||
DAO::insertStatStation(dao, fields);
|
||||
DAO::insertStatDay(dao, fields);
|
||||
}
|
||||
{
|
||||
Fields fields;
|
||||
@@ -458,4 +512,25 @@ void Station::writeStatistic()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// 预测数据源记录
|
||||
dao->setTableName("predict_day");
|
||||
|
||||
Fields fields;
|
||||
fields.set("dt", dt);
|
||||
fields.set("station_id", stationId);
|
||||
fields.set("datatype", 1); // 1:储能充电,2:储能放电,3:充电桩充电,4:发电
|
||||
fields.set("value", MapValueToJson(npos, mapCacheElectIn));
|
||||
dao->duplicateUpdate(fields, {"value"});
|
||||
|
||||
fields.set("datatype", 2); // 1:储能充电,2:储能放电,3:充电桩充电,4:发电
|
||||
fields.set("value", MapValueToJson(npos, mapCacheElectOut));
|
||||
dao->duplicateUpdate(fields, {"value"});
|
||||
|
||||
fields.set("datatype", 3); // 1:储能充电,2:储能放电,3:充电桩充电,4:发电
|
||||
fields.set("value", MapValueToJson(npos, mapCacheElectCharger));
|
||||
dao->duplicateUpdate(fields, {"value"});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -115,6 +115,8 @@ public:
|
||||
void setGarewayWorkMode();
|
||||
void checkDevice();
|
||||
|
||||
string getGatewayMode();
|
||||
|
||||
void readAlert(std::shared_ptr<Device> device, std::string addr, int v, std::string text);
|
||||
void readRuntimeData(int deviceNo, string addr, int val);
|
||||
void readTHData(int deviceNo, string addr, int val);
|
||||
@@ -123,6 +125,10 @@ public:
|
||||
void readGatewayMode(int mode);
|
||||
void readGatewayStatus(int cdzStatus, int emuStatus);
|
||||
|
||||
void setCache(int datatype, std::vector<float>& vd);
|
||||
void cache();
|
||||
int posCache {0};
|
||||
|
||||
void writeStatistic();
|
||||
int posDayStat {0};
|
||||
|
||||
@@ -138,6 +144,7 @@ public:
|
||||
bool isConnected {false};
|
||||
|
||||
int workMode {}; // 运行模式
|
||||
int workModeGateway { -1 }; // 运行模式
|
||||
int runPolicyId {}; // 运行策略
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -158,23 +165,19 @@ public:
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// === 日统计 ===
|
||||
double storageIn {}; // 储能充电电量
|
||||
double storageOut {}; // 储能放电电量
|
||||
|
||||
int storageNumIn {}; // 储能充电次数
|
||||
int storageNumOut {}; // 储能放电次数
|
||||
int storageNumErr {}; // 储能故障次数
|
||||
|
||||
double solarGen {}; // 光伏发电电量
|
||||
double solarGrid {}; // 光伏入网电量
|
||||
int solarNumErr {}; // 光伏故障次数
|
||||
|
||||
double chargeElect {}; // 充电设备充电电量
|
||||
int chargeNum {}; // 充电设备充电次数
|
||||
int chargeNumErr {}; // 充电设备故障次数
|
||||
|
||||
double incomeElect {}; // 发电收益金额
|
||||
double incomeCharge {}; // 充电收益金额
|
||||
//double storageIn {}; // 储能充电电量
|
||||
//double storageOut {}; // 储能放电电量
|
||||
//int storageNumIn {}; // 储能充电次数
|
||||
//int storageNumOut {}; // 储能放电次数
|
||||
//int storageNumErr {}; // 储能故障次数
|
||||
//double solarGen {}; // 光伏发电电量
|
||||
//double solarGrid {}; // 光伏入网电量
|
||||
//int solarNumErr {}; // 光伏故障次数
|
||||
//double chargeElect {}; // 充电设备充电电量
|
||||
//int chargeNum {}; // 充电设备充电次数
|
||||
//int chargeNumErr {}; // 充电设备故障次数
|
||||
//double incomeElect {}; // 发电收益金额
|
||||
//double incomeCharge {}; // 充电收益金额
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// === 环境 ===
|
||||
@@ -200,7 +203,6 @@ public:
|
||||
std::unordered_map<int, std::shared_ptr<Device>> mapDevice;
|
||||
std::map<int, std::map<std::string, std::shared_ptr<Device>>> mapDeviceGroup;
|
||||
|
||||
|
||||
// 温湿度信息
|
||||
std::map<int, TempHumUnit> mapTempHumUnit;
|
||||
// 消防4.0信息
|
||||
@@ -269,4 +271,14 @@ public:
|
||||
int emuStatus {-1};
|
||||
|
||||
std::map<std::string, int64_t> mapAlertCache;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// 说明:从电表中读取对应数据:每间隔600秒(10分钟)缓存一个点位,存储到数据库,用于绘制一天的电曲线
|
||||
// 储能充电量缓存,key:位置索引(0->144),val:电量
|
||||
std::map<int, float> mapCacheElectIn;
|
||||
// 储能放电量缓存,key:位置索引(0->144),val:电量
|
||||
std::map<int, float> mapCacheElectOut;
|
||||
// 充电桩充电量缓存,key:位置索引(0->144),val:电量
|
||||
std::map<int, float> mapCacheElectCharger;
|
||||
};
|
||||
@@ -64,15 +64,6 @@ std::string JSON::readStr(njson& json, std::string k)
|
||||
return v;
|
||||
}
|
||||
|
||||
void JSON::parse(std::string jsonstr, std::vector<std::string>& vd)
|
||||
{
|
||||
njson jsonroot;
|
||||
if (JSON::parse(jsonstr, jsonroot))
|
||||
{
|
||||
vd = jsonroot.get<std::vector<std::string>>();
|
||||
}
|
||||
}
|
||||
|
||||
std::string JSON::toStr(njson& json)
|
||||
{
|
||||
std::string v;
|
||||
@@ -92,4 +83,6 @@ std::string JSON::toStr(njson& json)
|
||||
break;
|
||||
}
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -90,10 +90,19 @@ public:
|
||||
}
|
||||
|
||||
static std::string readStr(njson& json, std::string k);
|
||||
|
||||
static void parse(std::string jsonstr, std::vector<std::string>& vd);
|
||||
|
||||
|
||||
static std::string toStr(njson& json);
|
||||
|
||||
template <typename T>
|
||||
static void parseArray(std::string jsonstr, std::vector<T>& vd)
|
||||
{
|
||||
njson json;
|
||||
if (JSON::parse(jsonstr, json))
|
||||
{
|
||||
try { vd = json.get<std::vector<T>>(); }
|
||||
catch (const nlohmann::detail::exception& e) { Spdlogger::info("JSON read error: err={}, json={}", e.what(), json.dump()); }
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -400,6 +400,24 @@ string Utils::timeStrMS(std::string fmt /*= "%Y-%m-%dT%H:%M:%S"*/)
|
||||
// return true;
|
||||
//}
|
||||
|
||||
int64_t Utils::timeDaySeconds()
|
||||
{
|
||||
// 获取当前时间
|
||||
auto tpNow = chrono::system_clock::now();
|
||||
// 转换为time_t以便使用C库函数
|
||||
std::time_t tsNow = std::chrono::system_clock::to_time_t(tpNow);
|
||||
std::tm* tmLocal = std::localtime(&tsNow);
|
||||
|
||||
// 设置为今日0点
|
||||
tmLocal->tm_hour = 0;
|
||||
tmLocal->tm_min = 0;
|
||||
tmLocal->tm_sec = 0;
|
||||
|
||||
// 转换回时间戳
|
||||
std::time_t tsDay = std::mktime(tmLocal);
|
||||
return tsNow - tsDay;
|
||||
}
|
||||
|
||||
void Utils::sleep_ms(int ms)
|
||||
{
|
||||
// 计算时间间隔:
|
||||
|
||||
@@ -60,6 +60,8 @@ public:
|
||||
//static string time_to_string(int64_t dt, std::string fmt="%Y-%m-%d %H:%M:%S");
|
||||
//static bool time_string_to_tm(string dt, std::tm& t);
|
||||
|
||||
static int64_t timeDaySeconds();
|
||||
|
||||
std::string duration_str(int64_t t)
|
||||
{
|
||||
auto h = t / 3600;
|
||||
|
||||
@@ -440,8 +440,8 @@ Errcode DAO::queryDeviceList(std::shared_ptr<DaoEntity> dao, vector<Fields>& res
|
||||
// 分页查询设备信息列表
|
||||
Errcode DAO::queryDeviceList(PageInfo& pageInfo, vector<Fields>& result)
|
||||
{
|
||||
std::string sqlFrom = "FROM " + DMDevice::TABLENAME;
|
||||
return QueryPagination("*", sqlFrom, pageInfo, result);
|
||||
std::string sqlFrom = "FROM device d LEFT JOIN station s ON d.station_id =s.station_id";
|
||||
return QueryPagination("d.*, s.name station_name", sqlFrom, pageInfo, result);
|
||||
}
|
||||
|
||||
// 查询设备类型定义
|
||||
@@ -637,7 +637,7 @@ Errcode DAO::queryPolicyTypeDef(std::shared_ptr<DaoEntity> dao, vector<Fields>&
|
||||
return DAO::exec(dao, sql, result);
|
||||
}
|
||||
|
||||
Errcode DAO::insertStatStation(std::shared_ptr<DaoEntity> dao, Fields& fields)
|
||||
Errcode DAO::insertStatDay(std::shared_ptr<DaoEntity> dao, Fields& fields)
|
||||
{
|
||||
// 根据主键(dt、station_id、category),写入或更新数据
|
||||
if (!dao) { dao = DaoEntity::create("stat_day"); }
|
||||
@@ -686,10 +686,18 @@ Errcode DAO::queryRuntimeData(std::shared_ptr<DaoEntity> dao, std::string dt, in
|
||||
return Errcode(ret);
|
||||
}
|
||||
|
||||
Errcode DAO::queryRuntimeData(std::shared_ptr<DaoEntity> dao, std::string dt, vector<Fields>& result)
|
||||
Errcode DAO::queryRuntimeDataHistory(std::shared_ptr<DaoEntity> dao, std::string dt, vector<Fields>& result)
|
||||
{
|
||||
if (!dao) { dao = DaoEntity::create("history_day"); }
|
||||
if (!dao) { dao = DaoEntity::create(""); }
|
||||
std::string sql = "SELECT * FROM history_day WHERE dt='" + dt + "';";
|
||||
int ret = dao->exec(sql, result);
|
||||
return Errcode(ret);
|
||||
}
|
||||
|
||||
Errcode DAO::queryPredictHistory(std::shared_ptr<DaoEntity> dao, std::string dt, vector<Fields>& result)
|
||||
{
|
||||
if (!dao) { dao = DaoEntity::create(""); }
|
||||
std::string sql = "SELECT * FROM predict_day WHERE dt='" + dt + "';";
|
||||
int ret = dao->exec(sql, result);
|
||||
return Errcode(ret);
|
||||
}
|
||||
@@ -122,12 +122,14 @@ public:
|
||||
static Errcode queryPolicyTypeDef(std::shared_ptr<DaoEntity> dao, vector<Fields>& result);
|
||||
|
||||
|
||||
static Errcode insertStatStation(std::shared_ptr<DaoEntity> dao, Fields& fields);
|
||||
static Errcode insertStatDay(std::shared_ptr<DaoEntity> dao, Fields& fields);
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// === 设备历史监测数据管理 ===
|
||||
static Errcode insertRuntimeData(std::shared_ptr<DaoEntity> dao, Fields& fields);
|
||||
static Errcode queryRuntimeData(std::shared_ptr<DaoEntity> dao, std::string dt, int stationId, int deviceId, vector<Fields>& result);
|
||||
static Errcode queryRuntimeData(std::shared_ptr<DaoEntity> dao, std::string dt, vector<Fields>& result);
|
||||
static Errcode queryRuntimeDataHistory(std::shared_ptr<DaoEntity> dao, std::string dt, vector<Fields>& result);
|
||||
|
||||
static Errcode queryPredictHistory(std::shared_ptr<DaoEntity> dao, std::string dt, vector<Fields>& result);
|
||||
};
|
||||
@@ -101,6 +101,7 @@ int MysqlClient::exec(std::string sql)
|
||||
|
||||
int MysqlClient::exec(std::string sql, vector<Fields>& result)
|
||||
{
|
||||
if (!mysql_) { return 1; }
|
||||
result.clear();
|
||||
int err = MysqlQuery(mysql_, sql);
|
||||
if (err != 0)
|
||||
|
||||
@@ -657,6 +657,16 @@ Errcode HttpEntity::updateStation(const httplib::Request& req, njson& json, std:
|
||||
}
|
||||
}
|
||||
}
|
||||
if (params.contains("station_id") && params.contains("work_mode"))
|
||||
{
|
||||
int stationId = params.get<int>("station_id");
|
||||
int workmode = params.get<int>("work_mode");
|
||||
auto station = Application::data().getStation(stationId);
|
||||
if (station)
|
||||
{
|
||||
station->setGarewayWorkMode();
|
||||
}
|
||||
}
|
||||
return err;
|
||||
};
|
||||
|
||||
@@ -702,6 +712,9 @@ Errcode HttpEntity::queryStationOverview(const httplib::Request& req, njson& jso
|
||||
return Errcode(ret);
|
||||
}
|
||||
njson jsonStorage = njson::parse(R"({"category":1, "gateway":0, "count":0, "power":0.0})");
|
||||
auto station = Application::data().getStation(Utils::toInt(stationId));
|
||||
jsonStorage["workmode"] = station ? station->getGatewayMode() : "--";
|
||||
|
||||
njson jsonCharge = njson::parse(R"({"category":2, "count":0, "power":0.0})");
|
||||
njson jsonSolar = njson::parse(R"({"category":3, "count":0, "power":0.0})");
|
||||
njson jsonSecurity = njson::parse(R"({"category":4, "count":0, "power":0.0})");
|
||||
@@ -1252,6 +1265,13 @@ Errcode HttpEntity::queryStatDayList(const httplib::Request& req, njson& json, s
|
||||
|
||||
if (!startDate.empty() && !endDate.empty())
|
||||
{
|
||||
std::map<std::string, Fields*> mapTemp;
|
||||
for (auto& item: result)
|
||||
{
|
||||
auto& dt = item.value("dt");
|
||||
mapTemp[dt] = &item;
|
||||
}
|
||||
|
||||
int64_t t0 = Utils::time(startDate + " 00:00:00");
|
||||
int64_t t1 = Utils::time(endDate + " 00:00:00");
|
||||
int i = 0;
|
||||
@@ -1262,11 +1282,9 @@ Errcode HttpEntity::queryStatDayList(const httplib::Request& req, njson& json, s
|
||||
njson jsonrow;
|
||||
std::string dt = Utils::dateStr(t);
|
||||
Fields* fields = NULL;
|
||||
if (i<result.size() && result[i].value("dt") == dt)
|
||||
{
|
||||
fields = &(result[i]);
|
||||
i++;
|
||||
}
|
||||
auto iter = mapTemp.find(dt);
|
||||
if (iter != mapTemp.end()) { fields = iter->second; }
|
||||
|
||||
jsonrow["dt"] = dt.substr(5);
|
||||
jsonrow["storage_elect_in"] = fields ? fields->value("storage_elect_in") : "0";
|
||||
jsonrow["storage_elect_out"] = fields ? fields->value("storage_elect_out") : "0";
|
||||
|
||||
@@ -25,8 +25,7 @@ bool MqttClient::load(std::string filename)
|
||||
std::map<std::string, TopicInfo> MqttClient::s_mapTopicInfo;
|
||||
|
||||
int MqttClient::init(string addr, string clientId, string username, string password)
|
||||
{
|
||||
if (addr.empty())
|
||||
{ if (addr.empty())
|
||||
{
|
||||
return MQTTASYNC_FAILURE;
|
||||
}
|
||||
@@ -43,7 +42,7 @@ int MqttClient::init(string addr, string clientId, string username, string passw
|
||||
int rc {0};
|
||||
|
||||
// "tcp://localhost:1883"
|
||||
std::string str = "ESS-" + std::to_string(Utils::random(1000, 9999)) + "-" +clientId;
|
||||
std::string str = "ESS-" + clientId + "-" + std::to_string(Utils::time());
|
||||
rc = MQTTAsync_create(&client, addr.c_str(), str.c_str(), MQTTCLIENT_PERSISTENCE_NONE, NULL);
|
||||
if (rc != MQTTASYNC_SUCCESS)
|
||||
{
|
||||
@@ -303,7 +302,10 @@ int MqttClient::onMessageArrived(char* topic, int topicLen, MQTTAsync_message* m
|
||||
{
|
||||
std::string key = item.key();
|
||||
auto& val = item.value();
|
||||
if (key == "40001") { station->readGatewayMode(val.get<int>()); }
|
||||
if (key == "40001")
|
||||
{
|
||||
station->readGatewayMode(val.get<int>());
|
||||
}
|
||||
//else if (key == "40002") { spdlog::info("[mqtt] read register addr: [{}]={}, {}", key, val.dump(), "峰谷时间段"); }
|
||||
//else if (key == "40021") { spdlog::info("[mqtt] read register addr: [{}]={}, {}", key, val.dump(), "自定时间段"); }
|
||||
//else if (key == "40038") { spdlog::info("[mqtt] read register addr: [{}]={}, {}", key, val.dump(), "其他参数"); }
|
||||
@@ -314,7 +316,7 @@ int MqttClient::onMessageArrived(char* topic, int topicLen, MQTTAsync_message* m
|
||||
int cdzStatus = -1;
|
||||
int emuStatus = -1;
|
||||
JSON::read(json, "cdz", cdzStatus);
|
||||
JSON::read(json, "emu", cdzStatus);
|
||||
JSON::read(json, "emu", emuStatus);
|
||||
station->readGatewayStatus(cdzStatus, emuStatus);
|
||||
}
|
||||
else
|
||||
@@ -391,7 +393,11 @@ void MqttClient::ParseArrivedMessage(njson& json, string command, std::shared_pt
|
||||
auto addr = iter->first;
|
||||
auto& regUnit = iter->second;
|
||||
spdlog::debug("[mqtt] read [{}]={}, {}{}", addr, val, regUnit.name, regUnit.remark);
|
||||
|
||||
if (command == "BCU_YC" || command == "BCU_YX")
|
||||
{
|
||||
//spdlog::info("[mqtt] read [{}]={}, {}{}", addr, val, regUnit.name, regUnit.remark);
|
||||
}
|
||||
|
||||
if (regUnit.alert && val > 0)
|
||||
{
|
||||
station->readAlert(device, addr, val, "[" + command + "]" + regUnit.name + "(" + addr + ")");
|
||||
|
||||
@@ -1,35 +1,16 @@
|
||||
#include "MainApp.h"
|
||||
#include "common/Spdlogger.h"
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QComboBox>
|
||||
#include <QtWidgets/QGridLayout>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QLineEdit>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QWidget>
|
||||
#include <QPalette>
|
||||
#include <QGroupBox>
|
||||
#include <QTableWidget>
|
||||
#include <QHeaderView>
|
||||
|
||||
#include "app/Config.h"
|
||||
#include "common/Utils.h"
|
||||
#include "QUI.h"
|
||||
#include "MyQUI.h"
|
||||
#include "app/Application.h"
|
||||
#include "app/AppData.h"
|
||||
#include "app/Station.h"
|
||||
#include "protocol/MqttEntity.h"
|
||||
|
||||
static const std::string QSS_BTN_MENU =
|
||||
"QPushButton {background:rgba(50,128,218,200);color:white;border-radius:5px;border:2px solid rgb(10,120,215);font:bold 18px;}"
|
||||
"QPushButton:hover {background-color:rgb(32,164,128);}"
|
||||
"QPushButton:pressed {border-width:3px 0 0 3px;background-color:rgb(1,32,54);border-style:inset;}"
|
||||
"QPushButton:disabled {color:rgb(150,150,150);}";
|
||||
|
||||
static const std::string QSS_LINE =
|
||||
"QLineEdit { background-color: rgb(14, 49, 66); color: #ffffff; border: 1px solid gray; border-radius: 5px; font: bold 13px; }";
|
||||
|
||||
MainApp::MainApp()
|
||||
{
|
||||
@@ -101,168 +82,8 @@ public:
|
||||
QGridLayout layout;
|
||||
};
|
||||
|
||||
void PairLine(QWidget* parent, int x, int y, string k, string v)
|
||||
{
|
||||
auto key = new QLabel(parent);
|
||||
key->setText(k.c_str());
|
||||
key->setGeometry(x, y, 80, 26);
|
||||
auto value = new QLineEdit(parent);
|
||||
value->setText(v.c_str());
|
||||
value->setGeometry(x+80, y, 260, 26);
|
||||
value->setStyleSheet(QSS_LINE.c_str());
|
||||
value->setReadOnly(true);
|
||||
}
|
||||
|
||||
|
||||
class MyWorkspace : public QWidget
|
||||
{
|
||||
public:
|
||||
MyWorkspace(QWidget* parent) : QWidget(parent)
|
||||
{
|
||||
this->setObjectName("workspace");
|
||||
this->setStyleSheet("#workspace { background-color:rgba(100,100,100,50); }");
|
||||
|
||||
int x=10, y=10;
|
||||
{
|
||||
this->groupSys = UI::GroupBox(this, x, y, 1190, 120, "系统");
|
||||
auto pw = groupSys.get();
|
||||
}
|
||||
{
|
||||
x = 10, y += 130;
|
||||
this->groupHttp = UI::GroupBox(this, x, y, 390, 120, "HTTP");
|
||||
auto pw = groupHttp.get();
|
||||
PairLine(pw, 20, 20, "服务类型: ", "服务端");
|
||||
PairLine(pw, 20, 50, "服务端口: ", Utils::toStr(Config::option.http.port));
|
||||
PairLine(pw, 20, 80, "服务状态: ", "运行");
|
||||
}
|
||||
{
|
||||
x += 400;
|
||||
this->groupMqtt = UI::GroupBox(this, x, y, 390, 120, "MQTT");
|
||||
auto pw = groupMqtt.get();
|
||||
PairLine(pw, 20, 20, "服务类型: ", "客户端");
|
||||
PairLine(pw, 20, 50, "服务地址: ", Config::option.mqtt.host);
|
||||
PairLine(pw, 20, 80, "服务状态: ", "---");
|
||||
}
|
||||
{
|
||||
x += 400;
|
||||
this->groupDB = UI::GroupBox(this, x, y, 390, 120, "数据库");
|
||||
auto pw = groupDB.get();
|
||||
PairLine(pw, 20, 20, "数据库名: ", Config::option.database.dbname);
|
||||
PairLine(pw, 20, 50, "主机地址: ", Config::option.database.host);
|
||||
PairLine(pw, 20, 80, "用 户 名: ", Config::option.database.user);
|
||||
|
||||
|
||||
const std::string QSS_TABLE = // 表格整体样式
|
||||
"QTableWidget {"
|
||||
" background-color: transparent;" // 背景色
|
||||
" gridline-color: #C0C0C0;" // 网格线颜色
|
||||
" border: 1px solid gray;" // 边框
|
||||
" color: white;" // 文字颜色
|
||||
"}"
|
||||
// 表头样式
|
||||
"QHeaderView::section {"
|
||||
" background-color: #404040;" // 表头背景
|
||||
" padding: 4px;" // 内边距
|
||||
" border: 1px solid #505050;" // 边框
|
||||
" min-height: 25px;" // 最小高度
|
||||
"}"
|
||||
// 单元格样式
|
||||
"QTableWidget::item {"
|
||||
" padding-left: 5px;"
|
||||
" border-bottom: 1px solid gray;" // 底部边框
|
||||
"}"
|
||||
// 选中状态
|
||||
"QTableWidget::item:selected {"
|
||||
" background-color: #B8D6FF;" // 选中背景色
|
||||
" color: black;" // 选中文字颜色
|
||||
"}";
|
||||
|
||||
table = std::make_shared<QTableWidget>(this);
|
||||
table->setGeometry(10, y += 130, 1190, 300);
|
||||
table->setStyleSheet(QSS_TABLE.c_str());
|
||||
table->horizontalHeader()->setStretchLastSection(true); // 最后一列占满
|
||||
table->verticalHeader()->setVisible(false); // 不显示垂直表头
|
||||
table->setEditTriggers(QAbstractItemView::NoEditTriggers); // 单元格不可编辑
|
||||
table->setSelectionMode(QAbstractItemView::SingleSelection); // 设置为单选模式
|
||||
table->setSelectionBehavior(QAbstractItemView::SelectRows); // 设置为整行选中
|
||||
|
||||
|
||||
QTableWidgetItem* headerItem;
|
||||
QStringList headerText_Row, headerText_Col;
|
||||
headerText_Row << "站ID" << "站名称" << "站编号" << "站状态" << "MQTT状态" << "召测(秒)" << "说明";
|
||||
|
||||
// 设置为水平表头
|
||||
table->setColumnCount(headerText_Row.size());
|
||||
table->setHorizontalHeaderLabels(headerText_Row);
|
||||
}
|
||||
|
||||
textLog = std::make_shared<QTextEdit>(this);
|
||||
textLog->setGeometry(10, y += 310, 1190, 280);
|
||||
textLog->setStyleSheet("background-color: transparent; border: 1px solid gray; font-weight: 400;");
|
||||
textLog->setReadOnly(true);
|
||||
|
||||
{
|
||||
// 第二个参数是方法函数名称,即调用 QTextEdit的appeng函数;
|
||||
auto qtSink = std::make_shared<spdlog::sinks::qt_sink_mt>(textLog.get(), "append");
|
||||
spdlog::default_logger()->sinks().push_back(qtSink);
|
||||
}
|
||||
{
|
||||
//qtSink = std::make_shared<QtTextSink>(textLog.get());
|
||||
//connect(qtSink.get(), &QtTextSink::appendText, textLog.get(), &QTextEdit::append);
|
||||
}
|
||||
}
|
||||
|
||||
void setTableCell(int row, int col, std::string text, std::string style="")
|
||||
{
|
||||
auto item = table->item(row, col);
|
||||
if (!item)
|
||||
{
|
||||
item = new QTableWidgetItem();
|
||||
table->setItem(row, col, item);
|
||||
}
|
||||
item->setText(text.c_str());
|
||||
if (style == "OK") { item->setForeground(QBrush(Qt::green)); }
|
||||
else if (style == "ERR") { item->setForeground(QBrush(Qt::red)); }
|
||||
}
|
||||
|
||||
void onTimer()
|
||||
{
|
||||
auto& appdata = Application().data();
|
||||
int rowNo = 0;
|
||||
int tsNow = Utils::time();
|
||||
for (auto& item : appdata.mapStation)
|
||||
{
|
||||
auto& station = item.second;
|
||||
if (rowNo >= table->rowCount())
|
||||
{
|
||||
table->insertRow(rowNo);
|
||||
}
|
||||
bool isOpen = station->status > 0;
|
||||
bool isConnected = station->mqttCli->isConnected;
|
||||
|
||||
setTableCell(rowNo, 0, std::to_string(station->stationId));
|
||||
setTableCell(rowNo, 0, std::to_string(station->stationId));
|
||||
setTableCell(rowNo, 1, station->name);
|
||||
setTableCell(rowNo, 2, station->code);
|
||||
setTableCell(rowNo, 3, isOpen ? "启用" : "未启用", isOpen ? "OK" : "ERR");
|
||||
setTableCell(rowNo, 4, isConnected ? "连接成功" : "未连接", isConnected ? "OK" : "ERR");
|
||||
|
||||
int tsPolling = station->getPollingTS();
|
||||
setTableCell(rowNo, 5, tsPolling > 0 ? std::to_string(tsNow - tsPolling) + "/" + std::to_string(Config::option.mqtt.interval) : "--");
|
||||
rowNo++;
|
||||
}
|
||||
}
|
||||
|
||||
// 创建自定义sink
|
||||
std::shared_ptr<QtTextSink> qtSink;
|
||||
|
||||
std::shared_ptr<QGroupBox> groupSys;
|
||||
std::shared_ptr<QGroupBox> groupHttp;
|
||||
std::shared_ptr<QGroupBox> groupMqtt;
|
||||
std::shared_ptr<QGroupBox> groupDB;
|
||||
std::shared_ptr<QTableWidget> table {};
|
||||
std::shared_ptr<QTextEdit> textLog;
|
||||
};
|
||||
|
||||
void MainApp::setMyLayout()
|
||||
{
|
||||
@@ -284,9 +105,9 @@ void MainApp::setMyLayout()
|
||||
menu->setSizePolicy(sizePolicy);
|
||||
layout.main->addWidget(menu, 0, 0, 1, 1);
|
||||
|
||||
ui.workspace = std::make_shared<MyWorkspace>(this);
|
||||
ui.workspace->setSizePolicy(sizePolicy);
|
||||
layout.main->addWidget(ui.workspace.get(), 0, 1, 1, 1);
|
||||
ui.wigetHome = std::make_shared<QWHome>(this);
|
||||
ui.wigetHome->setSizePolicy(sizePolicy);
|
||||
layout.main->addWidget(ui.wigetHome.get(), 0, 1, 1, 1);
|
||||
|
||||
// 设置列宽和行高
|
||||
layout.main->setColumnMinimumWidth(0, 200); // 设置第0列的最小宽度为100像素
|
||||
@@ -303,5 +124,5 @@ void MainApp::setMyLayout()
|
||||
|
||||
void MainApp::onTimer()
|
||||
{
|
||||
ui.workspace->onTimer();
|
||||
ui.wigetHome->onTimer();
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
#include <QMainWindow>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QHBoxLayout>
|
||||
#include <QTableWidget>
|
||||
|
||||
#include <QTimer>
|
||||
#include <QTextEdit>
|
||||
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
@@ -14,73 +13,8 @@ using namespace std;
|
||||
#include <QTextEdit>
|
||||
#include <mutex>
|
||||
|
||||
class QtTextSink : public QObject, public spdlog::sinks::base_sink<std::mutex>
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
// 构造函数接收一个 QTextEdit*,但用 QPointer 来包装它
|
||||
explicit QtTextSink(QTextEdit* textEdit, QObject* parent = nullptr)
|
||||
: QObject(parent), textEdit(textEdit) {
|
||||
}
|
||||
#include "widgets/QWHome.h"
|
||||
|
||||
signals:
|
||||
// 定义一个信号,用于在主线程中追加文本
|
||||
void appendText(const QString& message);
|
||||
|
||||
protected:
|
||||
// 重写 sink_it_ 方法,处理每条日志
|
||||
void sink_it_(const spdlog::details::log_msg& msg) override {
|
||||
if (textEdit.isNull()) {
|
||||
// 如果 QTextEdit 已经被删除,则忽略这条日志
|
||||
return;
|
||||
}
|
||||
spdlog::memory_buf_t formatted;
|
||||
formatter_->format(msg, formatted);
|
||||
QString logMessage = QString::fromStdString(fmt::to_string(formatted));
|
||||
// 发射信号,通过Qt的事件循环在主线程中安全地更新UI
|
||||
emit appendText(logMessage);
|
||||
}
|
||||
|
||||
void flush_() override {}
|
||||
|
||||
private:
|
||||
QPointer<QTextEdit> textEdit; // 关键:使用 QPointer
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
class LabelPair
|
||||
{
|
||||
public:
|
||||
LabelPair(QWidget* parent, int x, int y, int w, int h)
|
||||
{
|
||||
title.setParent(parent);
|
||||
value.setParent(&title);
|
||||
|
||||
title.setGeometry(x, y, w, h);
|
||||
value.setGeometry(80, 0, w-80, h);
|
||||
|
||||
title.show();
|
||||
value.show();
|
||||
}
|
||||
|
||||
void setTitle(std::string text)
|
||||
{
|
||||
title.setText(text.c_str());
|
||||
}
|
||||
|
||||
void setValue(std::string text)
|
||||
{
|
||||
value.setText(text.c_str());
|
||||
}
|
||||
|
||||
QLabel title;
|
||||
QLabel value;
|
||||
};
|
||||
|
||||
|
||||
class MyWorkspace;
|
||||
|
||||
class MainApp : public QWidget
|
||||
{
|
||||
@@ -97,7 +31,7 @@ private slots:
|
||||
public:
|
||||
struct {
|
||||
std::shared_ptr<LabelPair> weburl {};
|
||||
std::shared_ptr<MyWorkspace> workspace;
|
||||
std::shared_ptr<MyWidget> wigetHome;
|
||||
} ui;
|
||||
|
||||
struct {
|
||||
|
||||
35
src/qt/MyQUI.cpp
Normal file
35
src/qt/MyQUI.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
#include "MyQUI.h"
|
||||
|
||||
static const std::string QSS_GROUP =
|
||||
"QGroupBox { border: 1px solid gray; margin-top: 8px; border-radius: 5px;}"
|
||||
"QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top left; left:10px; margin-left: 0px; padding:0 1px; }";
|
||||
|
||||
|
||||
static const std::string QSS_BTN_MENU =
|
||||
"QPushButton {background:rgba(50,128,218,200);color:white;border-radius:5px;border:2px solid rgb(10,120,215);font:bold 18px;}"
|
||||
"QPushButton:hover {background-color:rgb(32,164,128);}"
|
||||
"QPushButton:pressed {border-width:3px 0 0 3px;background-color:rgb(1,32,54);border-style:inset;}"
|
||||
"QPushButton:disabled {color:rgb(150,150,150);}";
|
||||
|
||||
static const std::string QSS_LINE =
|
||||
"QLineEdit { background-color: rgb(14, 49, 66); color: #ffffff; border: 1px solid gray; border-radius: 5px; font: bold 13px; }";
|
||||
|
||||
std::shared_ptr<QGroupBox> MyQUI::GroupBox(QWidget* parent, int x, int y, int w, int h, std::string title)
|
||||
{
|
||||
auto groupBox = std::make_shared<QGroupBox>(title.c_str(), parent);
|
||||
groupBox->setGeometry(x, y, w, h);
|
||||
groupBox->setStyleSheet(QSS_GROUP.c_str());
|
||||
return groupBox;
|
||||
}
|
||||
|
||||
void MyQUI::PairLine(QWidget* parent, int x, int y, string k, string v)
|
||||
{
|
||||
auto key = new QLabel(parent);
|
||||
key->setText(k.c_str());
|
||||
key->setGeometry(x, y, 80, 26);
|
||||
auto value = new QLineEdit(parent);
|
||||
value->setText(v.c_str());
|
||||
value->setGeometry(x+80, y, 260, 26);
|
||||
value->setStyleSheet(QSS_LINE.c_str());
|
||||
value->setReadOnly(true);
|
||||
}
|
||||
76
src/qt/MyQUI.h
Normal file
76
src/qt/MyQUI.h
Normal file
@@ -0,0 +1,76 @@
|
||||
#pragma once
|
||||
|
||||
#include <QGroupBox>
|
||||
#include <QMainWindow>
|
||||
#include <QtWebEngineWidgets/QWebEngineView>
|
||||
#include <QSplashScreen>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QHBoxLayout>
|
||||
#include <QTextEdit>
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QComboBox>
|
||||
#include <QtWidgets/QGridLayout>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QLineEdit>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QWidget>
|
||||
#include <QPalette>
|
||||
#include <QGroupBox>
|
||||
#include <QTableWidget>
|
||||
#include <QHeaderView>
|
||||
|
||||
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
extern const std::string QSS_GROUP;
|
||||
extern const std::string QSS_BTN_MENU;
|
||||
extern const std::string QSS_LINE;
|
||||
|
||||
class LabelPair
|
||||
{
|
||||
public:
|
||||
LabelPair(QWidget* parent, int x, int y, int w, int h)
|
||||
{
|
||||
title.setParent(parent);
|
||||
value.setParent(&title);
|
||||
title.setGeometry(x, y, w, h);
|
||||
value.setGeometry(80, 0, w-80, h);
|
||||
title.show();
|
||||
value.show();
|
||||
}
|
||||
|
||||
void setTitle(std::string text)
|
||||
{
|
||||
title.setText(text.c_str());
|
||||
}
|
||||
|
||||
void setValue(std::string text)
|
||||
{
|
||||
value.setText(text.c_str());
|
||||
}
|
||||
|
||||
QLabel title;
|
||||
QLabel value;
|
||||
};
|
||||
|
||||
class MyWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
MyWidget(QWidget* parent) : QWidget(parent) {}
|
||||
|
||||
virtual void onTimer() {};
|
||||
};
|
||||
|
||||
|
||||
class MyQUI
|
||||
{
|
||||
public:
|
||||
static std::shared_ptr<QGroupBox> GroupBox(QWidget* parent, int x, int y, int w, int h, std::string title);
|
||||
|
||||
static void PairLine(QWidget* parent, int x, int y, string k, string v);
|
||||
|
||||
};
|
||||
@@ -1,14 +0,0 @@
|
||||
#include "QUI.h"
|
||||
|
||||
static const std::string QSS_GROUP =
|
||||
"QGroupBox { border: 1px solid gray; margin-top: 8px; border-radius: 5px;}"
|
||||
"QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top left; left:10px; margin-left: 0px; padding:0 1px; }";
|
||||
|
||||
|
||||
std::shared_ptr<QGroupBox> UI::GroupBox(QWidget* parent, int x, int y, int w, int h, std::string title)
|
||||
{
|
||||
auto groupBox = std::make_shared<QGroupBox>(title.c_str(), parent);
|
||||
groupBox->setGeometry(x, y, w, h);
|
||||
groupBox->setStyleSheet(QSS_GROUP.c_str());
|
||||
return groupBox;
|
||||
}
|
||||
10
src/qt/QUI.h
10
src/qt/QUI.h
@@ -1,10 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <QGroupBox>
|
||||
|
||||
|
||||
class UI
|
||||
{
|
||||
public:
|
||||
static std::shared_ptr<QGroupBox> GroupBox(QWidget* parent, int x, int y, int w, int h, std::string title);
|
||||
};
|
||||
161
src/qt/widgets/QWHome.cpp
Normal file
161
src/qt/widgets/QWHome.cpp
Normal file
@@ -0,0 +1,161 @@
|
||||
#include "QWHome.h"
|
||||
#include "common/Spdlogger.h"
|
||||
#include "app/Config.h"
|
||||
#include "common/Utils.h"
|
||||
#include "app/Application.h"
|
||||
#include "app/AppData.h"
|
||||
#include "app/Station.h"
|
||||
#include "protocol/MqttEntity.h"
|
||||
|
||||
QWHome::QWHome(QWidget* parent) : MyWidget(parent)
|
||||
{
|
||||
this->setObjectName("workspace");
|
||||
this->setStyleSheet("#workspace { background-color:rgba(100,100,100,50); }");
|
||||
|
||||
int x = 10, y = 10;
|
||||
{
|
||||
this->groupSys = MyQUI::GroupBox(this, x, y, 1190, 120, "系统");
|
||||
auto pw = groupSys.get();
|
||||
}
|
||||
{
|
||||
x = 10, y += 130;
|
||||
this->groupHttp = MyQUI::GroupBox(this, x, y, 390, 120, "HTTP");
|
||||
auto pw = groupHttp.get();
|
||||
MyQUI::PairLine(pw, 20, 20, "服务类型: ", "服务端");
|
||||
MyQUI::PairLine(pw, 20, 50, "服务端口: ", Utils::toStr(Config::option.http.port));
|
||||
MyQUI::PairLine(pw, 20, 80, "服务状态: ", "运行");
|
||||
}
|
||||
{
|
||||
x += 400;
|
||||
this->groupMqtt = MyQUI::GroupBox(this, x, y, 390, 120, "MQTT");
|
||||
auto pw = groupMqtt.get();
|
||||
MyQUI::PairLine(pw, 20, 20, "服务类型: ", "客户端");
|
||||
MyQUI::PairLine(pw, 20, 50, "服务地址: ", Config::option.mqtt.host);
|
||||
MyQUI::PairLine(pw, 20, 80, "服务状态: ", "---");
|
||||
}
|
||||
{
|
||||
x += 400;
|
||||
this->groupDB = MyQUI::GroupBox(this, x, y, 390, 120, "数据库");
|
||||
auto pw = groupDB.get();
|
||||
MyQUI::PairLine(pw, 20, 20, "数据库名: ", Config::option.database.dbname);
|
||||
MyQUI::PairLine(pw, 20, 50, "主机地址: ", Config::option.database.host);
|
||||
MyQUI::PairLine(pw, 20, 80, "用 户 名: ", Config::option.database.user);
|
||||
|
||||
|
||||
const std::string QSS_TABLE = // 表格整体样式
|
||||
"QTableWidget {"
|
||||
" background-color: transparent;" // 背景色
|
||||
" gridline-color: #C0C0C0;" // 网格线颜色
|
||||
" border: 1px solid gray;" // 边框
|
||||
" color: white;" // 文字颜色
|
||||
"}"
|
||||
// 表头样式
|
||||
"QHeaderView::section {"
|
||||
" background-color: #404040;" // 表头背景
|
||||
" padding: 4px;" // 内边距
|
||||
" border: 1px solid #505050;" // 边框
|
||||
" min-height: 25px;" // 最小高度
|
||||
"}"
|
||||
// 单元格样式
|
||||
"QTableWidget::item {"
|
||||
" padding-left: 5px;"
|
||||
" border-bottom: 1px solid gray;" // 底部边框
|
||||
"}"
|
||||
// 选中状态
|
||||
"QTableWidget::item:selected {"
|
||||
" background-color: #B8D6FF;" // 选中背景色
|
||||
" color: black;" // 选中文字颜色
|
||||
"}";
|
||||
|
||||
table = std::make_shared<QTableWidget>(this);
|
||||
table->setGeometry(10, y += 130, 1190, 300);
|
||||
table->setStyleSheet(QSS_TABLE.c_str());
|
||||
table->horizontalHeader()->setStretchLastSection(true); // 最后一列占满
|
||||
table->verticalHeader()->setVisible(false); // 不显示垂直表头
|
||||
table->setEditTriggers(QAbstractItemView::NoEditTriggers); // 单元格不可编辑
|
||||
table->setSelectionMode(QAbstractItemView::SingleSelection); // 设置为单选模式
|
||||
table->setSelectionBehavior(QAbstractItemView::SelectRows); // 设置为整行选中
|
||||
table->horizontalHeader()->setFixedHeight(50);
|
||||
table->horizontalHeader()->setDefaultSectionSize(60);
|
||||
|
||||
QTableWidgetItem* headerItem;
|
||||
QStringList headerText_Row, headerText_Col;
|
||||
headerText_Row << "ID" << "站名" << "编号" << "状态" << "MQTT状态" << "召测(秒)"
|
||||
<< "日充电\n电量" << "日放电\n电量" << "总充电\n电量" << "总放电\n电量"
|
||||
<< "日充电\n费用" << "日放电\n费用" << "总充电\n费用" << "总放电\n费用"
|
||||
<< "日收益" << "总收益" << "--";
|
||||
|
||||
// 设置为水平表头
|
||||
table->setColumnCount(headerText_Row.size());
|
||||
table->setHorizontalHeaderLabels(headerText_Row);
|
||||
table->setColumnWidth(0, 50);
|
||||
table->setColumnWidth(1, 120);
|
||||
table->setColumnWidth(2, 50);
|
||||
table->setColumnWidth(4, 80);
|
||||
|
||||
}
|
||||
|
||||
textLog = std::make_shared<QTextEdit>(this);
|
||||
textLog->setGeometry(10, y += 310, 1190, 280);
|
||||
textLog->setStyleSheet("background-color: transparent; border: 1px solid gray; font-weight: 400;");
|
||||
textLog->setReadOnly(true);
|
||||
|
||||
{
|
||||
// 第二个参数是方法函数名称,即调用 QTextEdit的appeng函数;
|
||||
auto qtSink = std::make_shared<spdlog::sinks::qt_sink_mt>(textLog.get(), "append");
|
||||
spdlog::default_logger()->sinks().push_back(qtSink);
|
||||
}
|
||||
}
|
||||
|
||||
void QWHome::setTableCell(int row, int col, std::string text, std::string style /*= ""*/)
|
||||
{
|
||||
auto item = table->item(row, col);
|
||||
if (!item)
|
||||
{
|
||||
item = new QTableWidgetItem();
|
||||
table->setItem(row, col, item);
|
||||
}
|
||||
item->setText(text.c_str());
|
||||
if (style == "OK") { item->setForeground(QBrush(Qt::green)); }
|
||||
else if (style == "ERR") { item->setForeground(QBrush(Qt::red)); }
|
||||
}
|
||||
|
||||
void QWHome::onTimer()
|
||||
{
|
||||
auto& appdata = Application().data();
|
||||
int rowNo = 0;
|
||||
int tsNow = Utils::time();
|
||||
for (auto& item : appdata.mapStation)
|
||||
{
|
||||
auto& station = item.second;
|
||||
if (rowNo >= table->rowCount())
|
||||
{
|
||||
table->insertRow(rowNo);
|
||||
}
|
||||
bool isOpen = station->status > 0;
|
||||
bool isConnected = station->mqttCli->isConnected;
|
||||
|
||||
setTableCell(rowNo, 0, std::to_string(station->stationId));
|
||||
setTableCell(rowNo, 1, station->name);
|
||||
setTableCell(rowNo, 2, station->code);
|
||||
setTableCell(rowNo, 3, isOpen ? "启用" : "未启用", isOpen ? "OK" : "ERR");
|
||||
setTableCell(rowNo, 4, isConnected ? "连接成功" : "未连接", isConnected ? "OK" : "ERR");
|
||||
|
||||
int tsPolling = station->getPollingTS();
|
||||
setTableCell(rowNo, 5, tsPolling > 0 ? std::to_string(tsNow - tsPolling) + "/" + std::to_string(Config::option.mqtt.interval) : "--");
|
||||
|
||||
setTableCell(rowNo, 6, Utils::toStr(station->statData.dayElectIn, 0));
|
||||
setTableCell(rowNo, 7, Utils::toStr(station->statData.dayElectOut, 0));
|
||||
setTableCell(rowNo, 8, Utils::toStr(station->statData.totalElectIn, 0));
|
||||
setTableCell(rowNo, 9, Utils::toStr(station->statData.totalElectOut, 0));
|
||||
setTableCell(rowNo, 10, Utils::toStr(station->statData.dayFeeIn, 0));
|
||||
setTableCell(rowNo, 11, Utils::toStr(station->statData.dayFeeOut, 0));
|
||||
setTableCell(rowNo, 12, Utils::toStr(station->statData.totalFeeIn, 0));
|
||||
setTableCell(rowNo, 13, Utils::toStr(station->statData.totalFeeOut, 0));
|
||||
setTableCell(rowNo, 14, Utils::toStr(station->statData.dayIncome, 0));
|
||||
setTableCell(rowNo, 15, Utils::toStr(station->statData.totalIncome, 0));
|
||||
setTableCell(rowNo, 16, station->statData.ts > 0 ? Utils::timeStr(station->statData.ts) : "--");
|
||||
|
||||
rowNo++;
|
||||
}
|
||||
}
|
||||
28
src/qt/widgets/QWHome.h
Normal file
28
src/qt/widgets/QWHome.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include "qt/MyQUI.h"
|
||||
#include <spdlog/sinks/base_sink.h>
|
||||
#include <QHBoxLayout>
|
||||
#include <QTableWidget>
|
||||
|
||||
|
||||
class QWHome : public MyWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QWHome(QWidget* parent);
|
||||
|
||||
|
||||
// 创建自定义sink
|
||||
//std::shared_ptr<QtTextSink> qtSink;
|
||||
|
||||
std::shared_ptr<QGroupBox> groupSys;
|
||||
std::shared_ptr<QGroupBox> groupHttp;
|
||||
std::shared_ptr<QGroupBox> groupMqtt;
|
||||
std::shared_ptr<QGroupBox> groupDB;
|
||||
std::shared_ptr<QTableWidget> table {};
|
||||
std::shared_ptr<QTextEdit> textLog;
|
||||
|
||||
void onTimer() override;
|
||||
void setTableCell(int row, int col, std::string text, std::string style = "");
|
||||
};
|
||||
0
src/qt/widgets/QWMonitor.cpp
Normal file
0
src/qt/widgets/QWMonitor.cpp
Normal file
0
src/qt/widgets/QWMonitor.h
Normal file
0
src/qt/widgets/QWMonitor.h
Normal file
@@ -70,7 +70,7 @@ export default {
|
||||
{
|
||||
name: '储能系统',
|
||||
titles: [
|
||||
{ v: '边缘网关编号', key: 'num' },
|
||||
{ v: '运行模式', key: 'workmode' },
|
||||
{ v: '总有功功率(台区)', key: 'power', sufix: 'kW' }
|
||||
],
|
||||
power: 60,
|
||||
@@ -114,10 +114,10 @@ export default {
|
||||
workMode: '',
|
||||
workModes: [
|
||||
// 0:手动,1:峰谷套利,2:增网配容,3:应急供电,4:并网保电,5:自定时段
|
||||
// {
|
||||
// value: 0,
|
||||
// label: '手动'
|
||||
// },
|
||||
{
|
||||
value: 0,
|
||||
label: '手动'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '峰谷套利'
|
||||
@@ -188,6 +188,7 @@ export default {
|
||||
res.data.device_group.forEach((Element, index) => {
|
||||
this.systems[index].num = Element.count
|
||||
this.systems[index].power = Element.power
|
||||
this.systems[index].workmode = Element.workmode
|
||||
})
|
||||
this.workMode = res.data.work_mode
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user