mirror of
https://gitee.com/js-yhsec/energy_storage.git
synced 2026-05-27 18:59:26 +08:00
南瑞意见修改:前端页面和后端接口
This commit is contained in:
@@ -28,6 +28,9 @@ std::shared_ptr<Device> Device::create(Fields& fields)
|
||||
static const int BCU_UNIT_SIZE = 256;
|
||||
Device::Device()
|
||||
{
|
||||
cacheU = vector<float>(144, 0);
|
||||
cacheI = vector<float>(144, 0);
|
||||
cacheP = vector<float>(144, 0);
|
||||
vecBCUUnit = std::vector<std::vector<float>>(BCU_UNIT_SIZE, std::vector<float>(5, 0.0f));
|
||||
}
|
||||
|
||||
@@ -104,54 +107,54 @@ int Device::startComm()
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Device::getCacheVoltage(std::vector<std::string>& vec)
|
||||
{
|
||||
vec.resize(mapCacheVoltage.size());
|
||||
int i = 0;
|
||||
for (auto iter = mapCacheVoltage.begin(); iter != mapCacheVoltage.end(); ++iter)
|
||||
{
|
||||
vec[i] = Utils::toStr(iter->second);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
void Device::getCacheCurrent(std::vector<std::string>& vec)
|
||||
{
|
||||
vec.resize(mapCacheCurrent.size());
|
||||
int i = 0;
|
||||
for (auto iter = mapCacheCurrent.begin(); iter != mapCacheCurrent.end(); ++iter)
|
||||
{
|
||||
vec[i] = Utils::toStr(iter->second);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
void Device::getCachePower(std::vector<std::string>& vec)
|
||||
{
|
||||
vec.resize(mapCachePower.size());
|
||||
int i = 0;
|
||||
for (auto iter = mapCachePower.begin(); iter != mapCachePower.end(); ++iter)
|
||||
{
|
||||
vec[i] = Utils::toStr(iter->second);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
//void Device::getCacheVoltage(std::vector<std::string>& vec)
|
||||
//{
|
||||
// vec.resize(mapCacheVoltage.size());
|
||||
// int i = 0;
|
||||
// for (auto iter = mapCacheVoltage.begin(); iter != mapCacheVoltage.end(); ++iter)
|
||||
// {
|
||||
// vec[i] = Utils::toStr(iter->second);
|
||||
// i++;
|
||||
// }
|
||||
//}
|
||||
//void Device::getCacheCurrent(std::vector<std::string>& vec)
|
||||
//{
|
||||
// vec.resize(mapCacheCurrent.size());
|
||||
// int i = 0;
|
||||
// for (auto iter = mapCacheCurrent.begin(); iter != mapCacheCurrent.end(); ++iter)
|
||||
// {
|
||||
// vec[i] = Utils::toStr(iter->second);
|
||||
// i++;
|
||||
// }
|
||||
//}
|
||||
//void Device::getCachePower(std::vector<std::string>& vec)
|
||||
//{
|
||||
// vec.resize(mapCachePower.size());
|
||||
// int i = 0;
|
||||
// for (auto iter = mapCachePower.begin(); iter != mapCachePower.end(); ++iter)
|
||||
// {
|
||||
// vec[i] = Utils::toStr(iter->second);
|
||||
// i++;
|
||||
// }
|
||||
//}
|
||||
|
||||
void Device::setCache(int datatype, std::vector<float>& vd)
|
||||
{
|
||||
std::map<int, float>* mapptr = NULL;
|
||||
if (datatype == 1) { mapptr = &mapCacheVoltage; }
|
||||
else if (datatype == 2) { mapptr = &mapCacheCurrent; }
|
||||
else if (datatype == 3) { mapptr = &mapCachePower; }
|
||||
std::vector<float>* vecptr = NULL;
|
||||
if (datatype == 1) { vecptr = &cacheU; }
|
||||
else if (datatype == 2) { vecptr = &cacheI; }
|
||||
else if (datatype == 3) { vecptr = &cacheP; }
|
||||
|
||||
if (mapptr)
|
||||
if (vecptr)
|
||||
{
|
||||
const int step = 600;
|
||||
const int N = 86400/step;
|
||||
int64_t tsSeconds = Utils::timeDaySeconds();
|
||||
int npos = tsSeconds / step;
|
||||
for (int i = 0; i<N; ++i)
|
||||
for (int i = 0; i<N && i< vecptr->size(); ++i)
|
||||
{
|
||||
if (i < vd.size()) { (*mapptr)[i] = vd[i]; }
|
||||
else if (i <= npos) { (*mapptr)[i] = 0; }
|
||||
if (i < vd.size()) { (*vecptr)[i] = vd[i]; }
|
||||
else if (i <= npos) { (*vecptr)[i] = 0; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -164,9 +167,9 @@ bool Device::cache(int npos)
|
||||
}
|
||||
if (npos == 0)
|
||||
{
|
||||
mapCacheVoltage.clear();
|
||||
mapCacheCurrent.clear();
|
||||
mapCachePower.clear();
|
||||
std::fill(cacheU.begin(), cacheU.end(), 0);
|
||||
std::fill(cacheI.begin(), cacheI.end(), 0);
|
||||
std::fill(cacheP.begin(), cacheP.end(), 0);
|
||||
}
|
||||
|
||||
std::string addrV;
|
||||
@@ -186,9 +189,9 @@ bool Device::cache(int npos)
|
||||
int U = Utils::toInt(this->getParam(addrV, "0"));
|
||||
int I = Utils::toInt(this->getParam(addrI, "0"));
|
||||
int P = addrP.empty() ? U*I*0.001 : Utils::toInt(this->getParam(addrP, "0"));
|
||||
mapCacheVoltage[npos] = U;
|
||||
mapCacheCurrent[npos] = I;
|
||||
mapCachePower[npos] = P;
|
||||
cacheU[npos] = U;
|
||||
cacheI[npos] = I;
|
||||
cacheP[npos] = P;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user