mirror of
https://gitee.com/js-yhsec/energy_storage.git
synced 2026-05-27 18:59:26 +08:00
修改设备显示信息的寄存器地址配置文件,修改服务端界面
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "app/Config.h"
|
||||
#include "common/Snowflake.h"
|
||||
#include "app/DataStruct.h"
|
||||
#include "app/Application.h"
|
||||
|
||||
Station::Station() : stationId(0)
|
||||
{
|
||||
@@ -27,7 +28,7 @@ void Station::setFields(Fields& fields)
|
||||
|
||||
this->operationDate = fields.value(DMStation::OPERATION_DATE);
|
||||
this->launchDate = fields.value("operation_date");
|
||||
this->policy.setFields(fields);
|
||||
//this->policy.setFields(fields);
|
||||
}
|
||||
|
||||
void Station::addDevice(int deviceId, std::shared_ptr<Device> device)
|
||||
@@ -133,17 +134,7 @@ void Station::setWorkMode(int modeId)
|
||||
}
|
||||
}
|
||||
|
||||
void Station::setPolicy(int policyId)
|
||||
{
|
||||
std::string sql = SQL(SQL::TYPE::update).table(DMStation::TABLENAME)
|
||||
.update(DMStation::POLICY_ID, std::to_string(policyId))
|
||||
.where(DMStation::STATION_ID + "=" + std::to_string(stationId)).str();
|
||||
Errcode err = DAO::exec(NULL, sql);
|
||||
if (err != Errcode::OK)
|
||||
{
|
||||
spdlog::error("set station policy failed.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Station::initMqtt()
|
||||
{
|
||||
@@ -181,23 +172,30 @@ void Station::setGarewayWorkMode()
|
||||
{
|
||||
return;
|
||||
}
|
||||
auto policy = Application::data().getPolicyByType(this->workMode);
|
||||
|
||||
njson json;
|
||||
json["ts"] = Utils::time();
|
||||
json["no"] = 1; // 设备编号
|
||||
json["40001"] = this->workMode;
|
||||
|
||||
if (policy.type == 1)
|
||||
if (policy)
|
||||
{
|
||||
json["40002"] = njson::array(); // 峰谷套利
|
||||
policy.getGatewayJsonPeriods(json["40002"]);
|
||||
}
|
||||
else if (policy.type == 5)
|
||||
{
|
||||
json["40021"] = njson::array(); // 自定时段
|
||||
policy.getGatewayJsonPeriods(json["40021"]);
|
||||
if (policy->type == 1)
|
||||
{
|
||||
json["40002"] = njson::array(); // 峰谷套利
|
||||
policy->getGatewayJsonPeriods(json["40002"]);
|
||||
}
|
||||
else if (policy->type == 5)
|
||||
{
|
||||
json["40021"] = njson::array(); // 自定时段
|
||||
policy->getGatewayJsonPeriods(json["40021"]);
|
||||
}
|
||||
}
|
||||
|
||||
json["40038"] = {gatewayParam.socMin, gatewayParam.socMax, gatewayParam.capacity, gatewayParam.powerSafe, gatewayParam.powerDischarge, gatewayParam.powerCharge};
|
||||
json["40058"] = {gatewayParam.backflow, gatewayParam.overload};
|
||||
|
||||
std::string text = json.dump();
|
||||
spdlog::info(text);
|
||||
mqttCli->publish("Gateway_YT", text);
|
||||
@@ -229,7 +227,6 @@ string Station::getGatewayParam()
|
||||
{
|
||||
stringstream ss;
|
||||
std::string str1 = "峰谷套利时段:<br>";
|
||||
std::string str2 = "自定时段:<br>";
|
||||
{
|
||||
njson json;
|
||||
if (JSON::parse(gatewayParam.param1, json))
|
||||
@@ -249,6 +246,7 @@ string Station::getGatewayParam()
|
||||
}
|
||||
}
|
||||
}
|
||||
std::string str2 = "自定时段:<br>";
|
||||
{
|
||||
njson json;
|
||||
if (JSON::parse(gatewayParam.param2, json))
|
||||
@@ -267,7 +265,35 @@ string Station::getGatewayParam()
|
||||
}
|
||||
}
|
||||
}
|
||||
return str1 + "<br/>" + str2;
|
||||
std::string str3 = "其它参数:<br>";
|
||||
{
|
||||
njson json;
|
||||
if (JSON::parse(gatewayParam.param3, json))
|
||||
{
|
||||
for (int i = 0; i<json.size(); ++i)
|
||||
{
|
||||
int val = json[i].get<int>();
|
||||
if (i==0) { str3 += "    储能放电下限值SOC: " + std::to_string(val) + "<br>"; } //储能放电下限值 SOC : 40038 (%:0-99 且小于充电上限值)
|
||||
else if (i==1) { str3 += "    储能充电上限值SOC: " + std::to_string(val) + "<br>"; }//储能充电上限值 SOC : 40039 (%:1-100 且大于放电下限值)
|
||||
else if (i==2) { str3 += "    台区变压器容量: " + std::to_string(val) + "<br>"; }//台区变压器容量 : 40040 (KVVA 160-1600)
|
||||
else if (i==3) { str3 += "    安全输入功率: " + std::to_string(val) + "<br>"; }//安全输入功率 : 40041 (KW 0-400)
|
||||
else if (i==4) { str3 += "    储能最大放电功率: " + std::to_string(val) + "<br>"; }//储能最大放电功率 : 40042 (1KW0-150)
|
||||
else if (i==5) { str3 += "    储能最大充电功率: " + std::to_string(val) + "<br>"; }//储能最大充电功率::40043 (1KW0-150)
|
||||
else if (i==6) { str3 += "    运行状态: " + std::to_string(val) + "<br>"; }//运行状态 : 40044 (只读不写,0:无 1:高峰放电 2:低谷充电)
|
||||
else if (i==7) { str3 += "    台区电表变比: " + std::to_string(val) + "<br>"; }//台区电表变比:40045
|
||||
//else if (i==8) { str3 += "    对时(年): " + std::to_string(val) + "<br>"; }//对时(年) : 40051
|
||||
//else if (i==9) { str3 += "    对时(月): " + std::to_string(val) + "<br>"; }//对时(月) : 40052
|
||||
//else if (i==10) { str3 += "    对时(日): " + std::to_string(val) + "<br>"; }//对时(日) : 40053
|
||||
//else if (i==11) { str3 += "    对时(时): " + std::to_string(val) + "<br>"; }//对时(时) : 40054
|
||||
//else if (i==12) { str3 += "    对时(分): " + std::to_string(val) + "<br>"; }//对时(分) : 40055
|
||||
//else if (i==13) { str3 += "    对时(秒): " + std::to_string(val) + "<br>"; }//对时(秒) : 40056
|
||||
//else if (i==19) { str3 += "    时间段月份: " + std::to_string(val) + "<br>"; }//时间段月份 : 40057(1-12 对应1月-12月)
|
||||
else if (i==20) { str3 += "    防逆流回差: " + std::to_string(val) + "<br>"; }//防逆流回差 : 40058(1KW 10-300)
|
||||
else if (i==21) { str3 += "    防过载回差: " + std::to_string(val) + "<br>"; }//防过载回差 : 40059(1KW 10-300)
|
||||
}
|
||||
}
|
||||
}
|
||||
return str1 + "<br/>" + str2 + "<br/>" + str3;
|
||||
}
|
||||
|
||||
void Station::checkDevice()
|
||||
@@ -290,7 +316,7 @@ void Station::readAlert(std::shared_ptr<Device> device, std::string addr, int v,
|
||||
int64_t ts = Utils::time();
|
||||
std::string alertId = std::to_string(device->deviceId) + "_" + addr;
|
||||
int tsCache = mapAlertCache[alertId];
|
||||
if (ts - tsCache > 60*5)
|
||||
if (ts - tsCache > 60*30)
|
||||
{
|
||||
Fields fields;
|
||||
fields.set("log_id", Snowflake::instance().getIdStr());
|
||||
@@ -419,6 +445,14 @@ void Station::readCoolingData(int deviceNo, string addr, int val)
|
||||
else if (addr == "0x100E") { ; }// 出水压力传感器 R uint16 0:正常,1:告警 0x100E
|
||||
}
|
||||
|
||||
static void JSONReadArrayItem(njson& json, int i, int& v)
|
||||
{
|
||||
if (json.is_array() && i < json.size())
|
||||
{
|
||||
v = json[i].get<int>();
|
||||
}
|
||||
}
|
||||
|
||||
void Station::readGatewayMode(int mode, string p1, string p2, string p3)
|
||||
{
|
||||
this->gatewayParam.mode = mode;
|
||||
@@ -429,6 +463,22 @@ void Station::readGatewayMode(int mode, string p1, string p2, string p3)
|
||||
{
|
||||
//this->setGarewayWorkMode();
|
||||
}
|
||||
|
||||
|
||||
njson json;
|
||||
if (JSON::parse(gatewayParam.param3, json))
|
||||
{
|
||||
JSONReadArrayItem(json, 0, gatewayParam.socMin); //储能放电下限值 SOC : 40038 (%:0-99 且小于充电上限值)
|
||||
JSONReadArrayItem(json, 1, gatewayParam.socMax); //储能充电上限值 SOC : 40039 (%:1-100 且大于放电下限值)
|
||||
JSONReadArrayItem(json, 2, gatewayParam.capacity); //台区变压器容量 : 40040 (KVVA 160-1600)
|
||||
JSONReadArrayItem(json, 3, gatewayParam.powerSafe); //安全输入功率 : 40041 (KW 0-400)
|
||||
JSONReadArrayItem(json, 4, gatewayParam.powerDischarge); //储能最大放电功率 : 40042 (1KW0-150)
|
||||
JSONReadArrayItem(json, 5, gatewayParam.powerCharge); //储能最大充电功率::40043 (1KW0-150)
|
||||
JSONReadArrayItem(json, 6, gatewayParam.status); //运行状态 : 40044 (只读不写,0:无 1:高峰放电 2:低谷充电)
|
||||
JSONReadArrayItem(json, 7, gatewayParam.vtRatio); //台区电表变比:40045
|
||||
JSONReadArrayItem(json, 20, gatewayParam.backflow); //防逆流回差 : 40058(1KW 10-300)
|
||||
JSONReadArrayItem(json, 21, gatewayParam.overload); //防过载回差 : 40059(1KW 10-300)
|
||||
}
|
||||
}
|
||||
|
||||
void Station::readGatewayStatus(int cdzStatus, int emuStatus)
|
||||
|
||||
Reference in New Issue
Block a user