From 8aba56f47ddb97b7f525be0519d8a4a84d63ef89 Mon Sep 17 00:00:00 2001 From: lixiaoyuan Date: Thu, 25 Sep 2025 19:20:25 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E6=9C=8D=E5=8A=A1=E7=AB=AF?= =?UTF-8?q?UI=E7=95=8C=E9=9D=A2=EF=BC=8C=E6=98=BE=E7=A4=BA=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E3=80=822.?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87=E6=98=BE=E7=A4=BA=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E3=80=823.=E7=9B=91=E6=8E=A7=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=82=A8=E8=83=BD=E7=B3=BB=E7=BB=9F=E6=98=BE=E7=A4=BA=E5=82=A8?= =?UTF-8?q?=E8=83=BD=E6=A8=A1=E5=BC=8F=EF=BC=8C=E6=A8=A1=E5=BC=8F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=96=B0=E5=A2=9E'=E6=89=8B=E5=8A=A8'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EMU对外通信点表最终修改1版_v9.xlsx | Bin 0 -> 269186 bytes bin/Release/assets/config-online/app.json | 36 + .../assets/config-online/bak.monitoraddr.json | 109 +++ .../assets/config-online/pyregaddrs.py | 61 ++ .../assets/config-online/regaddrs.bak.json | 890 +++++++++++++++++ .../assets/config-online/regaddrs.json | 901 ++++++++++++++++++ .../assets/config-online/regaddrsShow.json | 157 +++ .../assets/config-online/registeraddrErr.json | 128 +++ .../assets/config-online/registeraddrs.bak.py | 77 ++ .../config/EMU对外通信点表最终修改1版_v9.xlsx | Bin 268995 -> 269058 bytes bin/Release/assets/config/app.json | 4 +- bin/Release/assets/config/regaddrsShow.json | 38 +- src/CMakeLists.txt | 1 + src/app/AppData.cpp | 58 +- src/app/Application.cpp | 5 +- src/app/Device.cpp | 33 +- src/app/Device.h | 8 +- src/app/Station.cpp | 91 +- src/app/Station.h | 48 +- src/common/JsonN.cpp | 13 +- src/common/JsonN.h | 15 +- src/common/Utils.cpp | 18 + src/common/Utils.h | 2 + src/database/Dao.cpp | 18 +- src/database/Dao.h | 6 +- src/database/MysqlClient.cpp | 1 + src/protocol/HttpEntity.cpp | 28 +- src/protocol/MqttEntity.cpp | 18 +- src/qt/MainApp.cpp | 189 +--- src/qt/MainApp.h | 74 +- src/qt/MyQUI.cpp | 35 + src/qt/MyQUI.h | 76 ++ src/qt/QUI.cpp | 14 - src/qt/QUI.h | 10 - src/qt/widgets/QWHome.cpp | 161 ++++ src/qt/widgets/QWHome.h | 28 + src/qt/widgets/QWMonitor.cpp | 0 src/qt/widgets/QWMonitor.h | 0 web/src/views/monitor.vue | 11 +- 39 files changed, 2954 insertions(+), 408 deletions(-) create mode 100644 bin/Release/assets/config-online/EMU对外通信点表最终修改1版_v9.xlsx create mode 100644 bin/Release/assets/config-online/app.json create mode 100644 bin/Release/assets/config-online/bak.monitoraddr.json create mode 100644 bin/Release/assets/config-online/pyregaddrs.py create mode 100644 bin/Release/assets/config-online/regaddrs.bak.json create mode 100644 bin/Release/assets/config-online/regaddrs.json create mode 100644 bin/Release/assets/config-online/regaddrsShow.json create mode 100644 bin/Release/assets/config-online/registeraddrErr.json create mode 100644 bin/Release/assets/config-online/registeraddrs.bak.py create mode 100644 src/qt/MyQUI.cpp create mode 100644 src/qt/MyQUI.h delete mode 100644 src/qt/QUI.cpp delete mode 100644 src/qt/QUI.h create mode 100644 src/qt/widgets/QWHome.cpp create mode 100644 src/qt/widgets/QWHome.h create mode 100644 src/qt/widgets/QWMonitor.cpp create mode 100644 src/qt/widgets/QWMonitor.h diff --git a/bin/Release/assets/config-online/EMU对外通信点表最终修改1版_v9.xlsx b/bin/Release/assets/config-online/EMU对外通信点表最终修改1版_v9.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..75a46dff93e63648b51463c3618918fd68deee43 GIT binary patch literal 269186 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⁡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 literal 0 HcmV?d00001 diff --git a/bin/Release/assets/config-online/app.json b/bin/Release/assets/config-online/app.json new file mode 100644 index 0000000..c8b072b --- /dev/null +++ b/bin/Release/assets/config-online/app.json @@ -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} +} \ No newline at end of file diff --git a/bin/Release/assets/config-online/bak.monitoraddr.json b/bin/Release/assets/config-online/bak.monitoraddr.json new file mode 100644 index 0000000..7ec1c19 --- /dev/null +++ b/bin/Release/assets/config-online/bak.monitoraddr.json @@ -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"] + ] + } +} \ No newline at end of file diff --git a/bin/Release/assets/config-online/pyregaddrs.py b/bin/Release/assets/config-online/pyregaddrs.py new file mode 100644 index 0000000..92fe6ca --- /dev/null +++ b/bin/Release/assets/config-online/pyregaddrs.py @@ -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}") \ No newline at end of file diff --git a/bin/Release/assets/config-online/regaddrs.bak.json b/bin/Release/assets/config-online/regaddrs.bak.json new file mode 100644 index 0000000..2f7ce5a --- /dev/null +++ b/bin/Release/assets/config-online/regaddrs.bak.json @@ -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:功率限值"} + ] + } +} \ No newline at end of file diff --git a/bin/Release/assets/config-online/regaddrs.json b/bin/Release/assets/config-online/regaddrs.json new file mode 100644 index 0000000..375213f --- /dev/null +++ b/bin/Release/assets/config-online/regaddrs.json @@ -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": ""} + ] + } +} \ No newline at end of file diff --git a/bin/Release/assets/config-online/regaddrsShow.json b/bin/Release/assets/config-online/regaddrsShow.json new file mode 100644 index 0000000..586322e --- /dev/null +++ b/bin/Release/assets/config-online/regaddrsShow.json @@ -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"] + } +} \ No newline at end of file diff --git a/bin/Release/assets/config-online/registeraddrErr.json b/bin/Release/assets/config-online/registeraddrErr.json new file mode 100644 index 0000000..8a77108 --- /dev/null +++ b/bin/Release/assets/config-online/registeraddrErr.json @@ -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正常"} + ] + } +} \ No newline at end of file diff --git a/bin/Release/assets/config-online/registeraddrs.bak.py b/bin/Release/assets/config-online/registeraddrs.bak.py new file mode 100644 index 0000000..53eebb2 --- /dev/null +++ b/bin/Release/assets/config-online/registeraddrs.bak.py @@ -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}") + diff --git a/bin/Release/assets/config/EMU对外通信点表最终修改1版_v9.xlsx b/bin/Release/assets/config/EMU对外通信点表最终修改1版_v9.xlsx index 097244b994206aa42f6abfc0ecba4acc7816de95..848f7b3710a1372481aeba1269d90306a658fb55 100644 GIT binary patch delta 141761 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 z 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 z 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 diff --git a/bin/Release/assets/config/app.json b/bin/Release/assets/config/app.json index 9096e24..8b270a7 100644 --- a/bin/Release/assets/config/app.json +++ b/bin/Release/assets/config/app.json @@ -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} } \ No newline at end of file diff --git a/bin/Release/assets/config/regaddrsShow.json b/bin/Release/assets/config/regaddrsShow.json index 868671d..586322e 100644 --- a/bin/Release/assets/config/regaddrsShow.json +++ b/bin/Release/assets/config/regaddrsShow.json @@ -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"] ], diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7026dc2..e02cac7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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") diff --git a/src/app/AppData.cpp b/src/app/AppData.cpp index 509d23d..29c3b92 100644 --- a/src/app/AppData.cpp +++ b/src/app/AppData.cpp @@ -195,19 +195,17 @@ bool AppData::initFromDB() auto station = this->getStation(stationId); if (station) { - station->storageIn = fields.get(DMStatStation::STORAGE_ELECT_IN); - station->storageOut = fields.get(DMStatStation::STORAGE_ELECT_OUT); + //station->storageIn = fields.get(DMStatStation::STORAGE_ELECT_IN); + //station->storageOut = fields.get(DMStatStation::STORAGE_ELECT_OUT); //station->storageNumIn = fields.getFloat(DMStatStation::STORAGE_NUM); //station->storageNumOut = fields.getFloat(DMStatStation::STORAGE_NUM); - station->storageNumErr = fields.get(DMStatStation::STORAGE_NUM_ERR); - - station->solarGen = fields.get(DMStatStation::SOLAR_ELECT_GEN); - station->solarGrid = fields.get(DMStatStation::SOLAR_ELECT_GRID); - station->solarNumErr = fields.get(DMStatStation::SOLAR_NUM_ERR); - - station->chargeElect = fields.get(DMStatStation::CHARGE_ELECT); - station->chargeNum = fields.get(DMStatStation::CHARGE_NUM); - station->chargeNumErr = fields.get(DMStatStation::CHARGE_NUM_ERR); + //station->storageNumErr = fields.get(DMStatStation::STORAGE_NUM_ERR); + //station->solarGen = fields.get(DMStatStation::SOLAR_ELECT_GEN); + //station->solarGrid = fields.get(DMStatStation::SOLAR_ELECT_GRID); + //station->solarNumErr = fields.get(DMStatStation::SOLAR_NUM_ERR); + //station->chargeElect = fields.get(DMStatStation::CHARGE_ELECT); + //station->chargeNum = fields.get(DMStatStation::CHARGE_NUM); + //station->chargeNumErr = fields.get(DMStatStation::CHARGE_NUM_ERR); } else { @@ -216,30 +214,38 @@ bool AppData::initFromDB() } } - { // 初始化场站设备的历史监测数据 - + { // 初始化场站设备的历史监测数据(当天) vector result; - DAO::queryRuntimeData(dao, Utils::dateStr(), result); + DAO::queryRuntimeDataHistory(dao, Utils::dateStr(), result); for (auto& item : result) { int stationId = item.get("station_id"); int deviceId = item.get("device_id"); + int datatype = item.get("datatype"); auto device = this->getDevice(stationId, deviceId); if (device) { - int datatype = item.get("datatype"); std::string value = item.value("value"); - - njson json; - if (JSON::parse(value, json)) - { - std::vector vecVal(json.size()); - for (int i=0; i(json[i]); - } - device->setCache(datatype, vecVal); - } + std::vector vd; + JSON::parseArray(value, vd); + device->setCache(datatype, vd); + } + } + } + { // 初始化预测数据源的历史数据(当天) + vector result; + DAO::queryPredictHistory(dao, Utils::dateStr(), result); + for (auto& item : result) + { + int stationId = item.get("station_id"); + int datatype = item.get("datatype"); + auto station = this->getStation(stationId); + if (station) + { + std::string value = item.value("value"); + std::vector vd; + JSON::parseArray(value, vd); + station->setCache(datatype, vd); } } } diff --git a/src/app/Application.cpp b/src/app/Application.cpp index 6c055a9..a516b09 100644 --- a/src/app/Application.cpp +++ b/src/app/Application.cpp @@ -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(); } diff --git a/src/app/Device.cpp b/src/app/Device.cpp index f06c62a..cccb8a9 100644 --- a/src/app/Device.cpp +++ b/src/app/Device.cpp @@ -187,22 +187,9 @@ void Device::getCachePower(std::vector& vec) } } -int64_t GetCurrentTimePos(int step) +void Device::setCache(int datatype, std::vector& vd) { - auto tp = chrono::system_clock::now(); - int64_t tTime = chrono::time_point_cast(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::system_clock::from_time_t(mktime(tmlocal))).time_since_epoch().count(); - return (tTime - tDate) / step; -} - -void Device::setCache(int datatype, std::vector& vec) -{ - std::map* mapptr = NULL; + std::map* 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& 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>& 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); } } } diff --git a/src/app/Device.h b/src/app/Device.h index 492a711..82e5586 100644 --- a/src/app/Device.h +++ b/src/app/Device.h @@ -47,7 +47,7 @@ public: void getCachePower(std::vector& vec); // int datatype: 1: 电压,2:电流,3:功率 - void setCache(int datatype, std::vector& vec); + void setCache(int datatype, std::vector& vec); bool cache(int npos); void storeDB(int npos); @@ -87,9 +87,9 @@ public: std::shared_ptr commEntity; int64_t tsDataDate {}; - std::map mapCacheVoltage; - std::map mapCacheCurrent; - std::map mapCachePower; + std::map mapCacheVoltage; + std::map mapCacheCurrent; + std::map mapCachePower; std::map mapParams; std::map mapMyParams; diff --git a/src/app/Station.cpp b/src/app/Station.cpp index 4fc9d39..b739544 100644 --- a/src/app/Station.cpp +++ b/src/app/Station.cpp @@ -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& mapV) +static std::string MapValueToJson(int npos, std::map& 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& vd) +{ + std::map* 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= (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"}); + } + } diff --git a/src/app/Station.h b/src/app/Station.h index df192fb..f12f207 100644 --- a/src/app/Station.h +++ b/src/app/Station.h @@ -115,6 +115,8 @@ public: void setGarewayWorkMode(); void checkDevice(); + string getGatewayMode(); + void readAlert(std::shared_ptr 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& 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> mapDevice; std::map>> mapDeviceGroup; - // 温湿度信息 std::map mapTempHumUnit; // 消防4.0信息 @@ -269,4 +271,14 @@ public: int emuStatus {-1}; std::map mapAlertCache; + + + /////////////////////////////////////////////////////////////////////////////////////////////// + /// 说明:从电表中读取对应数据:每间隔600秒(10分钟)缓存一个点位,存储到数据库,用于绘制一天的电曲线 + // 储能充电量缓存,key:位置索引(0->144),val:电量 + std::map mapCacheElectIn; + // 储能放电量缓存,key:位置索引(0->144),val:电量 + std::map mapCacheElectOut; + // 充电桩充电量缓存,key:位置索引(0->144),val:电量 + std::map mapCacheElectCharger; }; \ No newline at end of file diff --git a/src/common/JsonN.cpp b/src/common/JsonN.cpp index fc30ebc..481108e 100644 --- a/src/common/JsonN.cpp +++ b/src/common/JsonN.cpp @@ -64,15 +64,6 @@ std::string JSON::readStr(njson& json, std::string k) return v; } -void JSON::parse(std::string jsonstr, std::vector& vd) -{ - njson jsonroot; - if (JSON::parse(jsonstr, jsonroot)) - { - vd = jsonroot.get>(); - } -} - std::string JSON::toStr(njson& json) { std::string v; @@ -92,4 +83,6 @@ std::string JSON::toStr(njson& json) break; } return v; -} \ No newline at end of file +} + + diff --git a/src/common/JsonN.h b/src/common/JsonN.h index 96515c6..04ffaa5 100644 --- a/src/common/JsonN.h +++ b/src/common/JsonN.h @@ -90,10 +90,19 @@ public: } static std::string readStr(njson& json, std::string k); - - static void parse(std::string jsonstr, std::vector& vd); - + static std::string toStr(njson& json); + + template + static void parseArray(std::string jsonstr, std::vector& vd) + { + njson json; + if (JSON::parse(jsonstr, json)) + { + try { vd = json.get>(); } + catch (const nlohmann::detail::exception& e) { Spdlogger::info("JSON read error: err={}, json={}", e.what(), json.dump()); } + } + } }; diff --git a/src/common/Utils.cpp b/src/common/Utils.cpp index 9acb97a..86a89f1 100644 --- a/src/common/Utils.cpp +++ b/src/common/Utils.cpp @@ -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) { // 计算时间间隔: diff --git a/src/common/Utils.h b/src/common/Utils.h index cc806b6..450cd3b 100644 --- a/src/common/Utils.h +++ b/src/common/Utils.h @@ -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; diff --git a/src/database/Dao.cpp b/src/database/Dao.cpp index 7e2fff7..af11f45 100644 --- a/src/database/Dao.cpp +++ b/src/database/Dao.cpp @@ -440,8 +440,8 @@ Errcode DAO::queryDeviceList(std::shared_ptr dao, vector& res // 分页查询设备信息列表 Errcode DAO::queryDeviceList(PageInfo& pageInfo, vector& 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 dao, vector& return DAO::exec(dao, sql, result); } -Errcode DAO::insertStatStation(std::shared_ptr dao, Fields& fields) +Errcode DAO::insertStatDay(std::shared_ptr dao, Fields& fields) { // 根据主键(dt、station_id、category),写入或更新数据 if (!dao) { dao = DaoEntity::create("stat_day"); } @@ -686,10 +686,18 @@ Errcode DAO::queryRuntimeData(std::shared_ptr dao, std::string dt, in return Errcode(ret); } -Errcode DAO::queryRuntimeData(std::shared_ptr dao, std::string dt, vector& result) +Errcode DAO::queryRuntimeDataHistory(std::shared_ptr dao, std::string dt, vector& 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 dao, std::string dt, vector& 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); } \ No newline at end of file diff --git a/src/database/Dao.h b/src/database/Dao.h index 9e397c3..bd8abd5 100644 --- a/src/database/Dao.h +++ b/src/database/Dao.h @@ -122,12 +122,14 @@ public: static Errcode queryPolicyTypeDef(std::shared_ptr dao, vector& result); - static Errcode insertStatStation(std::shared_ptr dao, Fields& fields); + static Errcode insertStatDay(std::shared_ptr dao, Fields& fields); /////////////////////////////////////////////////////////////////////////////////////////////// // === 设备历史监测数据管理 === static Errcode insertRuntimeData(std::shared_ptr dao, Fields& fields); static Errcode queryRuntimeData(std::shared_ptr dao, std::string dt, int stationId, int deviceId, vector& result); - static Errcode queryRuntimeData(std::shared_ptr dao, std::string dt, vector& result); + static Errcode queryRuntimeDataHistory(std::shared_ptr dao, std::string dt, vector& result); + + static Errcode queryPredictHistory(std::shared_ptr dao, std::string dt, vector& result); }; \ No newline at end of file diff --git a/src/database/MysqlClient.cpp b/src/database/MysqlClient.cpp index 415c203..f22b201 100644 --- a/src/database/MysqlClient.cpp +++ b/src/database/MysqlClient.cpp @@ -101,6 +101,7 @@ int MysqlClient::exec(std::string sql) int MysqlClient::exec(std::string sql, vector& result) { + if (!mysql_) { return 1; } result.clear(); int err = MysqlQuery(mysql_, sql); if (err != 0) diff --git a/src/protocol/HttpEntity.cpp b/src/protocol/HttpEntity.cpp index 6e13a54..9b754d0 100644 --- a/src/protocol/HttpEntity.cpp +++ b/src/protocol/HttpEntity.cpp @@ -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("station_id"); + int workmode = params.get("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 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 (isecond; } + 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"; diff --git a/src/protocol/MqttEntity.cpp b/src/protocol/MqttEntity.cpp index 94154d9..dd8d078 100644 --- a/src/protocol/MqttEntity.cpp +++ b/src/protocol/MqttEntity.cpp @@ -25,8 +25,7 @@ bool MqttClient::load(std::string filename) std::map 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()); } + if (key == "40001") + { + station->readGatewayMode(val.get()); + } //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 + ")"); diff --git a/src/qt/MainApp.cpp b/src/qt/MainApp.cpp index c793363..b74d608 100644 --- a/src/qt/MainApp.cpp +++ b/src/qt/MainApp.cpp @@ -1,35 +1,16 @@ #include "MainApp.h" #include "common/Spdlogger.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #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(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(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(textLog.get(), "append"); - spdlog::default_logger()->sinks().push_back(qtSink); - } - { - //qtSink = std::make_shared(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 qtSink; - - std::shared_ptr groupSys; - std::shared_ptr groupHttp; - std::shared_ptr groupMqtt; - std::shared_ptr groupDB; - std::shared_ptr table {}; - std::shared_ptr 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(this); - ui.workspace->setSizePolicy(sizePolicy); - layout.main->addWidget(ui.workspace.get(), 0, 1, 1, 1); + ui.wigetHome = std::make_shared(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(); } \ No newline at end of file diff --git a/src/qt/MainApp.h b/src/qt/MainApp.h index 35b15d7..a8ce9ba 100644 --- a/src/qt/MainApp.h +++ b/src/qt/MainApp.h @@ -1,10 +1,9 @@ #include #include #include -#include -#include + #include -#include + #include using namespace std; @@ -14,73 +13,8 @@ using namespace std; #include #include -class QtTextSink : public QObject, public spdlog::sinks::base_sink -{ - 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 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 weburl {}; - std::shared_ptr workspace; + std::shared_ptr wigetHome; } ui; struct { diff --git a/src/qt/MyQUI.cpp b/src/qt/MyQUI.cpp new file mode 100644 index 0000000..db5eade --- /dev/null +++ b/src/qt/MyQUI.cpp @@ -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 MyQUI::GroupBox(QWidget* parent, int x, int y, int w, int h, std::string title) +{ + auto groupBox = std::make_shared(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); +} \ No newline at end of file diff --git a/src/qt/MyQUI.h b/src/qt/MyQUI.h new file mode 100644 index 0000000..70ad6d0 --- /dev/null +++ b/src/qt/MyQUI.h @@ -0,0 +1,76 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include +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 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); + +}; \ No newline at end of file diff --git a/src/qt/QUI.cpp b/src/qt/QUI.cpp deleted file mode 100644 index 8584f30..0000000 --- a/src/qt/QUI.cpp +++ /dev/null @@ -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 UI::GroupBox(QWidget* parent, int x, int y, int w, int h, std::string title) -{ - auto groupBox = std::make_shared(title.c_str(), parent); - groupBox->setGeometry(x, y, w, h); - groupBox->setStyleSheet(QSS_GROUP.c_str()); - return groupBox; -} \ No newline at end of file diff --git a/src/qt/QUI.h b/src/qt/QUI.h deleted file mode 100644 index 27024f1..0000000 --- a/src/qt/QUI.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include - - -class UI -{ -public: - static std::shared_ptr GroupBox(QWidget* parent, int x, int y, int w, int h, std::string title); -}; \ No newline at end of file diff --git a/src/qt/widgets/QWHome.cpp b/src/qt/widgets/QWHome.cpp new file mode 100644 index 0000000..37d7e81 --- /dev/null +++ b/src/qt/widgets/QWHome.cpp @@ -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(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(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(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++; + } +} \ No newline at end of file diff --git a/src/qt/widgets/QWHome.h b/src/qt/widgets/QWHome.h new file mode 100644 index 0000000..7781b2e --- /dev/null +++ b/src/qt/widgets/QWHome.h @@ -0,0 +1,28 @@ +#pragma once + +#include "qt/MyQUI.h" +#include +#include +#include + + +class QWHome : public MyWidget +{ + Q_OBJECT +public: + QWHome(QWidget* parent); + + + // 创建自定义sink + //std::shared_ptr qtSink; + + std::shared_ptr groupSys; + std::shared_ptr groupHttp; + std::shared_ptr groupMqtt; + std::shared_ptr groupDB; + std::shared_ptr table {}; + std::shared_ptr textLog; + + void onTimer() override; + void setTableCell(int row, int col, std::string text, std::string style = ""); +}; \ No newline at end of file diff --git a/src/qt/widgets/QWMonitor.cpp b/src/qt/widgets/QWMonitor.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/qt/widgets/QWMonitor.h b/src/qt/widgets/QWMonitor.h new file mode 100644 index 0000000..e69de29 diff --git a/web/src/views/monitor.vue b/web/src/views/monitor.vue index 84ea3bd..780f015 100644 --- a/web/src/views/monitor.vue +++ b/web/src/views/monitor.vue @@ -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) {