|
@@ -984,6 +984,7 @@ void* power_thread(void* arg)
|
|
|
{
|
|
{
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
+ memset(&_globalDeviceManager->_globalPowerManger._PowerInfo, 0, sizeof(PowerInfo));
|
|
|
memset(&_pTreeACPowerMangerTemp->_PowerInfo, 0, sizeof(_globalPowerInfo._power_info));
|
|
memset(&_pTreeACPowerMangerTemp->_PowerInfo, 0, sizeof(_globalPowerInfo._power_info));
|
|
|
for (size_t i = 0; i < MAX_CHN_COUNT; i++)
|
|
for (size_t i = 0; i < MAX_CHN_COUNT; i++)
|
|
|
{
|
|
{
|
|
@@ -1033,6 +1034,17 @@ void* power_thread(void* arg)
|
|
|
log_d("ph_ch%d insert data error.\n", _pTreeACPowerMangerTemp->product_ch_id);
|
|
log_d("ph_ch%d insert data error.\n", _pTreeACPowerMangerTemp->product_ch_id);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ //更新总数据
|
|
|
|
|
+ // 如果存在电压则置位如果都没有电压则保持0
|
|
|
|
|
+ if (_pTreeACPowerMangerTemp->_PowerInfo.voltage != 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ _globalDeviceManager->_globalPowerManger._PowerInfo.voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage;
|
|
|
|
|
+ }
|
|
|
|
|
+ _globalDeviceManager->_globalPowerManger._PowerInfo.current += _pTreeACPowerMangerTemp->_PowerInfo.current;
|
|
|
|
|
+ _globalDeviceManager->_globalPowerManger._PowerInfo.power += _pTreeACPowerMangerTemp->_PowerInfo.power;
|
|
|
|
|
+ _globalDeviceManager->_globalPowerManger._PowerInfo.freq = _pTreeACPowerMangerTemp->_PowerInfo.freq > _globalDeviceManager->_globalPowerManger._PowerInfo.freq ? _pTreeACPowerMangerTemp->_PowerInfo.freq:_globalDeviceManager->_globalPowerManger._PowerInfo.freq;
|
|
|
|
|
+ _globalDeviceManager->_globalPowerManger._PowerInfo.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
|
|
|
|
|
+ _globalDeviceManager->_globalPowerManger._PowerInfo.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
|
|
|
}
|
|
}
|
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
|
{
|
|
{
|
|
@@ -1041,7 +1053,7 @@ void* power_thread(void* arg)
|
|
|
}
|
|
}
|
|
|
if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One_B)
|
|
if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One_B)
|
|
|
{
|
|
{
|
|
|
- _pTreeACPowerMangerTemp = NULL;
|
|
|
|
|
|
|
+ _pTreeACPowerMangerTemp = NULL;
|
|
|
list_for_each_entry(_pTreeACPowerMangerTemp, &_globalDeviceManager->_globalPowerManger.list_Tree_AC, list_Tree_AC)
|
|
list_for_each_entry(_pTreeACPowerMangerTemp, &_globalDeviceManager->_globalPowerManger.list_Tree_AC, list_Tree_AC)
|
|
|
{
|
|
{
|
|
|
int nTreeACType = _pTreeACPowerMangerTemp->product_ph_type;
|
|
int nTreeACType = _pTreeACPowerMangerTemp->product_ph_type;
|
|
@@ -1090,9 +1102,11 @@ void* power_thread(void* arg)
|
|
|
sprintf(_globalTotalPowerInfo.samp_time,"%04d-%02d-%02d %02d:%02d:%02d.%03ld",
|
|
sprintf(_globalTotalPowerInfo.samp_time,"%04d-%02d-%02d %02d:%02d:%02d.%03ld",
|
|
|
t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec,tv.tv_usec/1000);
|
|
t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec,tv.tv_usec/1000);
|
|
|
//更新总电源信息
|
|
//更新总电源信息
|
|
|
-
|
|
|
|
|
- _globalDeviceManager->_globalPowerManger._PowerInfo = _globalTotalPowerInfo._power_info;
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_AC
|
|
|
|
|
+ || __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_DC)
|
|
|
|
|
+ {
|
|
|
|
|
+ _globalDeviceManager->_globalPowerManger._PowerInfo = _globalTotalPowerInfo._power_info;
|
|
|
|
|
+ }
|
|
|
//插入数据库
|
|
//插入数据库
|
|
|
if (SaveDBFlag)
|
|
if (SaveDBFlag)
|
|
|
{
|
|
{
|