|
|
@@ -213,21 +213,31 @@ static void* power_thread(void* arg)
|
|
|
{
|
|
|
if (s % 3 == p)
|
|
|
{
|
|
|
- nSZPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
- nYGPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power * _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor;
|
|
|
+ nYGPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
+ if(_globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor > 0 && _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor <= 1.0)
|
|
|
+ nSZPower += (_globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power / _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor);
|
|
|
+ else
|
|
|
+ nSZPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
else if (_globalDeviceManager->pCtrlBoard[i].product_type == DOUBLE_AC_TYPE)
|
|
|
{
|
|
|
if (_globalDeviceManager->pCtrlBoard[i].nLeft_phType == p && s < 4)
|
|
|
{
|
|
|
- nSZPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
- nYGPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power * _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor;
|
|
|
+ nYGPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
+ if(_globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor > 0 && _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor <= 1.0)
|
|
|
+ nSZPower += (_globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power / _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor);
|
|
|
+ else
|
|
|
+ nSZPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
}
|
|
|
if (_globalDeviceManager->pCtrlBoard[i].nRight_phType == p && (s >= 4 && s < 8))
|
|
|
{
|
|
|
- nSZPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
- nYGPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power * _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor;
|
|
|
+ nYGPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
+ if(_globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor > 0 && _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor <= 1.0)
|
|
|
+ nSZPower += (_globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power / _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].factor);
|
|
|
+ else
|
|
|
+ nSZPower += _globalDeviceManager->pCtrlBoard[i]._PowerInfo[s].power;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -333,9 +343,11 @@ static void* power_thread(void* arg)
|
|
|
_globalTotalPowerInfo._power_info.voltage = _globalTotalPowerInfo._power_info.voltage > _globalPowerInfo._power_info.voltage ? _globalTotalPowerInfo._power_info.voltage : _globalPowerInfo._power_info.voltage;
|
|
|
_globalTotalPowerInfo._power_info.current += _globalPowerInfo._power_info.current ;
|
|
|
_globalTotalPowerInfo._power_info.power += _globalPowerInfo._power_info.power ;
|
|
|
+ _globalTotalPowerInfo._power_info.n_power += _globalPowerInfo._power_info.n_power;
|
|
|
+ _globalTotalPowerInfo._power_info.app_power += _globalPowerInfo._power_info.app_power;
|
|
|
_globalTotalPowerInfo._power_info.freq = _globalTotalPowerInfo._power_info.freq > _globalPowerInfo._power_info.freq ? _globalTotalPowerInfo._power_info.freq : _globalPowerInfo._power_info.freq;
|
|
|
_globalTotalPowerInfo._power_info.consumption += _globalPowerInfo._power_info.consumption ;
|
|
|
- _globalTotalPowerInfo._power_info.factor = _globalTotalPowerInfo._power_info.factor > _globalPowerInfo._power_info.factor ? _globalTotalPowerInfo._power_info.factor : _globalPowerInfo._power_info.factor;
|
|
|
+ //_globalTotalPowerInfo._power_info.factor = _globalTotalPowerInfo._power_info.factor > _globalPowerInfo._power_info.factor ? _globalTotalPowerInfo._power_info.factor : _globalPowerInfo._power_info.factor;
|
|
|
|
|
|
//补全信息
|
|
|
_globalPowerInfo.product_id = _globalDeviceManager->_globalDevInfo.product.id;
|
|
|
@@ -420,6 +432,8 @@ static void* power_thread(void* arg)
|
|
|
_globalPowerInfo._power_info.voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage;
|
|
|
_globalPowerInfo._power_info.current += _pTreeACPowerMangerTemp->_PowerInfo.current;
|
|
|
_globalPowerInfo._power_info.power += _pTreeACPowerMangerTemp->_PowerInfo.power;
|
|
|
+ _globalPowerInfo._power_info.n_power += _pTreeACPowerMangerTemp->_PowerInfo.n_power;
|
|
|
+ _globalPowerInfo._power_info.app_power += _pTreeACPowerMangerTemp->_PowerInfo.app_power;
|
|
|
_globalPowerInfo._power_info.freq = _pTreeACPowerMangerTemp->_PowerInfo.freq;
|
|
|
_globalPowerInfo._power_info.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
|
|
|
_globalPowerInfo._power_info.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
|
|
|
@@ -448,9 +462,11 @@ static void* power_thread(void* arg)
|
|
|
pTreeAPowerInfo->_PowerInfo.voltage = Vavg[nTreeACType];
|
|
|
pTreeAPowerInfo->_PowerInfo.current += _pTreeACPowerMangerTemp->_PowerInfo.current;
|
|
|
pTreeAPowerInfo->_PowerInfo.power += _pTreeACPowerMangerTemp->_PowerInfo.power;
|
|
|
+ pTreeAPowerInfo->_PowerInfo.app_power += _pTreeACPowerMangerTemp->_PowerInfo.app_power;
|
|
|
+ pTreeAPowerInfo->_PowerInfo.n_power += _pTreeACPowerMangerTemp->_PowerInfo.n_power;
|
|
|
pTreeAPowerInfo->_PowerInfo.freq = _pTreeACPowerMangerTemp->_PowerInfo.freq;
|
|
|
// pTreeAPowerInfo->_PowerInfo.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
|
|
|
- pTreeAPowerInfo->_PowerInfo.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
|
|
|
+ //pTreeAPowerInfo->_PowerInfo.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
|
|
|
VavgTimes[nTreeACType] += 1;
|
|
|
}
|
|
|
pTreeAPowerInfo->_PowerInfo.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
|
|
|
@@ -503,10 +519,14 @@ static void* power_thread(void* arg)
|
|
|
}
|
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
|
{
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_consumption = _globalTotalPowerInfo._power_info.consumption * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_freq = _globalTotalPowerInfo._power_info.freq * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_power = _globalTotalPowerInfo._power_info.power * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_factor = _globalTotalPowerInfo._power_info.factor * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_consumption = _globalPowerInfo._power_info.consumption * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_freq = _globalPowerInfo._power_info.freq * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_power = _globalPowerInfo._power_info.power * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_factor = _globalPowerInfo._power_info.factor * 1000;
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_consumption = _globalTotalPowerInfo._power_info.consumption * 1000;
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_freq = _globalTotalPowerInfo._power_info.freq * 1000;
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_power = _globalTotalPowerInfo._power_info.power * 1000;
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_factor = _globalTotalPowerInfo._power_info.factor * 1000;
|
|
|
}
|
|
|
if (_globalDeviceManager->triphasic_mmap)
|
|
|
{
|
|
|
@@ -647,7 +667,7 @@ static void* power_thread(void* arg)
|
|
|
GlobalTreeACManager* _pTreeACPowerPhData = NULL ;
|
|
|
|
|
|
memset(&_globalPowerInfo._power_info, 0, sizeof(_globalPowerInfo._power_info));
|
|
|
- float nchYGpower = 0;
|
|
|
+
|
|
|
list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerTemp->list_Tree_AC, list_Tree_AC)
|
|
|
{
|
|
|
if ((__globalDeviceManage._globalDevInfo.product.pwr_type==SmartPDU_Tree_AC_One||__globalDeviceManage._globalDevInfo.product.pwr_type==SmartPDU_Tree_AC_Two||__globalDeviceManage._globalDevInfo.product.pwr_type==SmartPDU_Tree_AC_Tree)&&_pTreeACPowerMangerTemp->product_ph_outputStatus==2)
|
|
|
@@ -663,12 +683,13 @@ static void* power_thread(void* arg)
|
|
|
_globalPowerInfo._power_info.voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage;
|
|
|
_globalPowerInfo._power_info.current += _pTreeACPowerMangerTemp->_PowerInfo.current;
|
|
|
_globalPowerInfo._power_info.power += _pTreeACPowerMangerTemp->_PowerInfo.power;
|
|
|
+ _globalPowerInfo._power_info.n_power += _pTreeACPowerMangerTemp->_PowerInfo.n_power;
|
|
|
+ _globalPowerInfo._power_info.app_power += _pTreeACPowerMangerTemp->_PowerInfo.app_power;
|
|
|
_globalPowerInfo._power_info.freq =_globalPowerInfo._power_info.freq> _pTreeACPowerMangerTemp->_PowerInfo.freq?_globalPowerInfo._power_info.freq:_pTreeACPowerMangerTemp->_PowerInfo.freq;
|
|
|
_globalPowerInfo._power_info.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
|
|
|
// _globalPowerInfo._power_info.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor > _globalPowerInfo._power_info.factor ? _pTreeACPowerMangerTemp->_PowerInfo.factor : _globalPowerInfo._power_info.factor;
|
|
|
- nchYGpower+=_pTreeACPowerMangerTemp->_PowerInfo.factor*_pTreeACPowerMangerTemp->_PowerInfo.power;
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
time_t now;
|
|
|
time(&now);
|
|
|
t = localtime(&now);
|
|
|
@@ -741,6 +762,11 @@ static void* power_thread(void* arg)
|
|
|
_globalPowerInfo._power_info.NF_status = _pTreeACPowerMangerTemp->_PowerInfo.NF_status;
|
|
|
}
|
|
|
}
|
|
|
+ // 计算通道总功率因数
|
|
|
+ if(_globalPowerMangerTemp->_PowerInfo.app_power > 0)
|
|
|
+ _globalPowerMangerTemp->_PowerInfo.factor = _globalPowerMangerTemp->_PowerInfo.power / _globalPowerMangerTemp->_PowerInfo.app_power;
|
|
|
+ else
|
|
|
+ _globalPowerMangerTemp->_PowerInfo.factor = 0;
|
|
|
|
|
|
if (allphOpenNum == allphOutNum)
|
|
|
{
|
|
|
@@ -752,9 +778,9 @@ static void* power_thread(void* arg)
|
|
|
}
|
|
|
|
|
|
// 计算通道总功率因数
|
|
|
- if (_globalPowerInfo._power_info.power > 0)
|
|
|
+ if (_globalPowerInfo._power_info.app_power > 0)
|
|
|
{
|
|
|
- _globalPowerInfo._power_info.factor = nchYGpower / _globalPowerInfo._power_info.power;
|
|
|
+ _globalPowerInfo._power_info.factor = _globalPowerInfo._power_info.power / _globalPowerInfo._power_info.app_power;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -872,11 +898,14 @@ static void* power_thread(void* arg)
|
|
|
|
|
|
// 计算总电源信息
|
|
|
_globalTotalPowerInfo._power_info.voltage = _globalPowerInfo._power_info.voltage*sqrt(3);
|
|
|
- _globalTotalPowerInfo._power_info.current += _globalPowerInfo._power_info.current ;
|
|
|
- _globalTotalPowerInfo._power_info.power += _globalPowerInfo._power_info.power ;
|
|
|
- _globalTotalPowerInfo._power_info.freq = _globalPowerInfo._power_info.freq> _globalTotalPowerInfo._power_info.freq? _globalPowerInfo._power_info.freq:_globalTotalPowerInfo._power_info.freq;
|
|
|
- _globalTotalPowerInfo._power_info.consumption += _globalPowerInfo._power_info.consumption ;
|
|
|
- _globalTotalPowerInfo._power_info.factor = _globalPowerInfo._power_info.factor>_globalTotalPowerInfo._power_info.factor ? _globalPowerInfo._power_info.factor:_globalTotalPowerInfo._power_info.factor;
|
|
|
+ _globalTotalPowerInfo._power_info.current += _globalPowerInfo._power_info.current ;
|
|
|
+ _globalTotalPowerInfo._power_info.power += _globalPowerInfo._power_info.power ;
|
|
|
+ _globalTotalPowerInfo._power_info.n_power += _globalPowerInfo._power_info.n_power ;
|
|
|
+ _globalTotalPowerInfo._power_info.app_power += _globalPowerInfo._power_info.app_power ;
|
|
|
+
|
|
|
+ _globalTotalPowerInfo._power_info.freq = _globalPowerInfo._power_info.freq> _globalTotalPowerInfo._power_info.freq? _globalPowerInfo._power_info.freq:_globalTotalPowerInfo._power_info.freq;
|
|
|
+ _globalTotalPowerInfo._power_info.consumption += _globalPowerInfo._power_info.consumption ;
|
|
|
+ // _globalTotalPowerInfo._power_info.factor = _globalPowerInfo._power_info.factor>_globalTotalPowerInfo._power_info.factor ? _globalPowerInfo._power_info.factor:_globalTotalPowerInfo._power_info.factor;
|
|
|
_globalPowerInfo.product_status = _globalPowerInfo._power_info.status ;
|
|
|
_globalPowerMangerTemp->product_ch_status = _globalPowerInfo._power_info.status ;
|
|
|
_globalPowerMangerTemp->product_ch_NF_status = _globalPowerInfo._power_info.NF_status ;
|
|
|
@@ -884,10 +913,16 @@ static void* power_thread(void* arg)
|
|
|
// 级联通道总体信息
|
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
|
{
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_consumption = _globalTotalPowerInfo._power_info.consumption * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_freq = _globalTotalPowerInfo._power_info.freq * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_power = _globalTotalPowerInfo._power_info.power * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_factor = _globalTotalPowerInfo._power_info.factor * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_factor = _globalPowerMangerTemp->_PowerInfo.factor * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_consumption = _globalPowerMangerTemp->_PowerInfo.consumption * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_freq = _globalPowerMangerTemp->_PowerInfo.freq * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_power = _globalPowerMangerTemp->_PowerInfo.power * 1000;
|
|
|
+
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_consumption = _globalTotalPowerInfo._power_info.consumption * 1000;
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_freq = _globalTotalPowerInfo._power_info.freq * 1000;
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_power = _globalTotalPowerInfo._power_info.power * 1000;
|
|
|
+
|
|
|
+ // __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_factor = _globalTotalPowerInfo._power_info.factor * 1000;
|
|
|
}
|
|
|
if (_globalDeviceManager->triphasic_mmap)
|
|
|
{
|
|
|
@@ -1131,6 +1166,16 @@ static void* power_thread(void* arg)
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if(_globalTotalPowerInfo._power_info.app_power > 0)
|
|
|
+ {
|
|
|
+ _globalTotalPowerInfo._power_info.factor = _globalTotalPowerInfo._power_info.power / _globalTotalPowerInfo._power_info.app_power;
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ _globalTotalPowerInfo._power_info.factor = 0;
|
|
|
+ }
|
|
|
//all
|
|
|
if(__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_AC
|
|
|
|| __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_DC)
|
|
|
@@ -1170,6 +1215,8 @@ static void* power_thread(void* arg)
|
|
|
if (_globalDeviceManager->pCtrlBoard[i].product_type == DOUBLE_AC_TYPE)
|
|
|
{
|
|
|
int nFromIndex = 0;
|
|
|
+ float app_power = 0;
|
|
|
+ float n_power = 0;
|
|
|
if (_globalDeviceManager->pCtrlBoard[i].nLeft_phType == nTreeACType)
|
|
|
{
|
|
|
nFromIndex=0;
|
|
|
@@ -1182,7 +1229,22 @@ static void* power_thread(void* arg)
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.power += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.freq = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].freq > _pTreeACPowerMangerTemp->_PowerInfo.freq ? _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].freq : _pTreeACPowerMangerTemp->_PowerInfo.freq;
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.consumption += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].consumption;
|
|
|
- nTotalYGPower += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor * _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
+ if(_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor > 0 && _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor <=1)
|
|
|
+ {
|
|
|
+ app_power = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power / _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor;
|
|
|
+ n_power = app_power - _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
+ } else
|
|
|
+ {
|
|
|
+ app_power = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
+ n_power = app_power - _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
+ }
|
|
|
+
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.app_power += app_power;
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.n_power += n_power;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // nTotalYGPower += (_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power/_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor);
|
|
|
}
|
|
|
if (_globalDeviceManager->pCtrlBoard[i].nRight_phType == nTreeACType)
|
|
|
{
|
|
|
@@ -1196,7 +1258,15 @@ static void* power_thread(void* arg)
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.power += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.freq = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].freq > _pTreeACPowerMangerTemp->_PowerInfo.freq ? _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].freq : _pTreeACPowerMangerTemp->_PowerInfo.freq;
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.consumption += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].consumption;
|
|
|
- nTotalYGPower += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor * _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
+ if(_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor > 0 && _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor <= 1)
|
|
|
+ app_power = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power / _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor;
|
|
|
+ else
|
|
|
+ app_power = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
+ n_power = app_power - _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.app_power += app_power;
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.n_power += n_power;
|
|
|
+
|
|
|
+ //nTotalYGPower += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].factor * _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nFromIndex].power;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
@@ -1207,7 +1277,24 @@ static void* power_thread(void* arg)
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.voltage = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].voltage;
|
|
|
}
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.current += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].current;
|
|
|
+ float app_power = 0;
|
|
|
+ float n_power = 0;
|
|
|
+ if(_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].factor >0 && _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].factor <= 1.0)
|
|
|
+ {
|
|
|
+ app_power = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power
|
|
|
+ / _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].factor;
|
|
|
+ n_power = app_power - _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power;
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ app_power = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power;
|
|
|
+ n_power = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.power += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power;
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.n_power += n_power;
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.app_power += app_power;
|
|
|
// if (_globalTotalPowerInfo._power_info.freq != 0)
|
|
|
// {
|
|
|
// _pTreeACPowerMangerTemp->_PowerInfo.freq = _globalTotalPowerInfo._power_info.freq;
|
|
|
@@ -1215,17 +1302,17 @@ static void* power_thread(void* arg)
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.freq = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].freq > _pTreeACPowerMangerTemp->_PowerInfo.freq ? _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].freq : _pTreeACPowerMangerTemp->_PowerInfo.freq;
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.consumption += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].consumption;
|
|
|
//_pTreeACPowerMangerTemp->_PowerInfo.factor = _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].factor;
|
|
|
- nTotalYGPower += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].factor * _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power;
|
|
|
+ //nTotalYGPower += _globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].power/_globalDeviceManager->pCtrlBoard[i]._globalPowerInManger._PowerInfo[nTreeACType].factor;
|
|
|
}
|
|
|
}
|
|
|
//计算每相总功率因数
|
|
|
- if (_pTreeACPowerMangerTemp->_PowerInfo.power>0)
|
|
|
+ if (_pTreeACPowerMangerTemp->_PowerInfo.app_power>0)
|
|
|
{
|
|
|
- float nfactor=nTotalYGPower / _pTreeACPowerMangerTemp->_PowerInfo.power;
|
|
|
+ float nfactor=_pTreeACPowerMangerTemp->_PowerInfo.power/_pTreeACPowerMangerTemp->_PowerInfo.app_power;
|
|
|
if(nfactor>0&& nfactor<=1) _pTreeACPowerMangerTemp->_PowerInfo.factor=nfactor;
|
|
|
- else _pTreeACPowerMangerTemp->_PowerInfo.factor=1;
|
|
|
+ else _pTreeACPowerMangerTemp->_PowerInfo.factor=0;
|
|
|
}
|
|
|
- else _pTreeACPowerMangerTemp->_PowerInfo.factor=1;
|
|
|
+ else _pTreeACPowerMangerTemp->_PowerInfo.factor=0;
|
|
|
|
|
|
if (_globalDeviceManager->triphasic_mmap)
|
|
|
{
|
|
|
@@ -1261,17 +1348,6 @@ static void* power_thread(void* arg)
|
|
|
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;
|
|
|
memcpy(&__globalDeviceManage.pCtrlBoard[0]._globalPowerInManger._PowerInfo[nTreeACType],&_pTreeACPowerMangerTemp->_PowerInfo,sizeof(PowerInfo));
|
|
|
}
|
|
|
|
|
|
@@ -1304,6 +1380,14 @@ static void* power_thread(void* arg)
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
+ if(_pTreeACPowerMangerTemp->_PowerInfo.app_power > 0 )
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.factor = _pTreeACPowerMangerTemp->_PowerInfo.power / _pTreeACPowerMangerTemp->_PowerInfo.app_power;
|
|
|
+ else
|
|
|
+ _pTreeACPowerMangerTemp->_PowerInfo.factor = 0;
|
|
|
+ _globalTotalPowerInfo._power_info.app_power += _pTreeACPowerMangerTemp->_PowerInfo.app_power;
|
|
|
+ _globalTotalPowerInfo._power_info.n_power += _pTreeACPowerMangerTemp->_PowerInfo.n_power;
|
|
|
+ _globalTotalPowerInfo._power_info.power += _pTreeACPowerMangerTemp->_PowerInfo.power;
|
|
|
+
|
|
|
if (_globalDeviceManager->triphasic_mmap)
|
|
|
{
|
|
|
_globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_consumption = _pTreeACPowerMangerTemp->_PowerInfo.consumption * 1000;
|