|
|
@@ -109,7 +109,6 @@ static void* power_thread(void* arg)
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
-#if (1)
|
|
|
memset(&_globalTotalPowerInfo, 0, sizeof(GlobalPowerInfo));
|
|
|
memset(&_globalPowerWarningInfo, 0, sizeof(PowerWarningInfo));
|
|
|
for (size_t i = 0; i <= _globalDeviceManager->brdMax; i++)
|
|
|
@@ -681,7 +680,6 @@ static void* power_thread(void* arg)
|
|
|
}
|
|
|
|
|
|
// 处理通道开关状态
|
|
|
- int k = 0;
|
|
|
int allphOutNum=0;
|
|
|
int allphOpenNum=0;
|
|
|
list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerTemp->list_Tree_AC, list_Tree_AC)
|
|
|
@@ -690,13 +688,49 @@ static void* power_thread(void* arg)
|
|
|
if (_pTreeACPowerMangerTemp->product_ph_outputStatus == 1)
|
|
|
{
|
|
|
allphOutNum++;
|
|
|
-
|
|
|
if (_pTreeACPowerMangerTemp->_PowerInfo.status==1)
|
|
|
{
|
|
|
allphOpenNum++;
|
|
|
}
|
|
|
_globalPowerInfo._power_info.NF_status = _pTreeACPowerMangerTemp->_PowerInfo.NF_status;
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ if (allphOpenNum == allphOutNum)
|
|
|
+ {
|
|
|
+ _globalPowerInfo._power_info.status = 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ _globalPowerInfo._power_info.status = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 计算通道总功率因数
|
|
|
+ if (_globalPowerInfo._power_info.power > 0)
|
|
|
+ {
|
|
|
+ _globalPowerInfo._power_info.factor = nchYGpower / _globalPowerInfo._power_info.power;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ _globalPowerInfo._power_info.factor = 0;
|
|
|
+ }
|
|
|
+ if (_globalPowerInfo._power_info.factor > 1)
|
|
|
+ _globalPowerInfo._power_info.factor = 1;
|
|
|
+ else if (_globalPowerInfo._power_info.factor < 0)
|
|
|
+ _globalPowerInfo._power_info.factor = 0;
|
|
|
+
|
|
|
+ // 处理级联相信息
|
|
|
+ int k = 0;
|
|
|
+ list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerTemp->list_Tree_AC, list_Tree_AC)
|
|
|
+ {
|
|
|
+ if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One && _pTreeACPowerMangerTemp->product_ph_outputStatus == 2)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Two && _pTreeACPowerMangerTemp->product_ph_type != _globalDeviceManager->pCtrlBoard[_pTreeACPowerMangerTemp->product_saddr].nLeft_phType && _pTreeACPowerMangerTemp->product_ph_type != _globalDeviceManager->pCtrlBoard[_pTreeACPowerMangerTemp->product_saddr].nRight_phType)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
_globalDeviceManager->pCtrlBoard[_pTreeACPowerMangerTemp->product_saddr]._globalPowerInManger._PowerInfo[k].freq=_globalDeviceManager->pCtrlBoard[_pTreeACPowerMangerTemp->product_saddr]._globalPowerInManger._PowerInfo[k].freq> _pTreeACPowerMangerTemp->_PowerInfo.freq?_globalDeviceManager->pCtrlBoard[_pTreeACPowerMangerTemp->product_saddr]._globalPowerInManger._PowerInfo[k].freq:_pTreeACPowerMangerTemp->_PowerInfo.freq;
|
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
|
{
|
|
|
@@ -790,29 +824,6 @@ static void* power_thread(void* arg)
|
|
|
k = k + 1;
|
|
|
}
|
|
|
|
|
|
- if (allphOpenNum == allphOutNum)
|
|
|
- {
|
|
|
- _globalPowerInfo._power_info.status = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- _globalPowerInfo._power_info.status = 0;
|
|
|
- }
|
|
|
-
|
|
|
- // 计算通道总功率因数
|
|
|
- if (_globalPowerInfo._power_info.power > 0)
|
|
|
- {
|
|
|
- _globalPowerInfo._power_info.factor = nchYGpower / _globalPowerInfo._power_info.power;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- _globalPowerInfo._power_info.factor = 0;
|
|
|
- }
|
|
|
- if (_globalPowerInfo._power_info.factor > 1)
|
|
|
- _globalPowerInfo._power_info.factor = 1;
|
|
|
- else if (_globalPowerInfo._power_info.factor < 0)
|
|
|
- _globalPowerInfo._power_info.factor = 0;
|
|
|
-
|
|
|
// 计算总电源信息
|
|
|
_globalTotalPowerInfo._power_info.voltage = _globalPowerInfo._power_info.voltage*sqrt(3);
|
|
|
_globalTotalPowerInfo._power_info.current += _globalPowerInfo._power_info.current ;
|
|
|
@@ -824,7 +835,7 @@ static void* power_thread(void* arg)
|
|
|
_globalPowerMangerTemp->product_ch_status = _globalPowerInfo._power_info.status ;
|
|
|
_globalPowerMangerTemp->product_ch_NF_status = _globalPowerInfo._power_info.NF_status ;
|
|
|
|
|
|
- // tong dao zong ti xin xi
|
|
|
+ // 级联通道总体信息
|
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
|
{
|
|
|
__globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_consumption = _globalTotalPowerInfo._power_info.consumption * 1000;
|
|
|
@@ -1008,7 +1019,6 @@ static void* power_thread(void* arg)
|
|
|
_chn+=1;
|
|
|
//nanosleep(&reqSleep, NULL);
|
|
|
//usleep(usleepTime);
|
|
|
- #endif
|
|
|
|
|
|
|
|
|
//-- 临时加的通道是否可控 lyz 2025.05.01----
|
|
|
@@ -1800,7 +1810,7 @@ static void* breaker_thread(void *arg)
|
|
|
{
|
|
|
hlw8110_read_Status(NULL,(int*)(&temp->breaker_status));
|
|
|
}
|
|
|
-
|
|
|
+#ifdef USE_BREAKER_ALARM
|
|
|
if (pre_breaker_status && !temp->breaker_status)
|
|
|
{
|
|
|
time_t now;
|
|
|
@@ -1817,6 +1827,7 @@ static void* breaker_thread(void *arg)
|
|
|
|
|
|
set_led_beep(LED_MODE_WARN2, BEEP_MODE_WARN2);
|
|
|
}
|
|
|
+#endif
|
|
|
}
|
|
|
lock_s_release(LOCK_ID_BREAKER);
|
|
|
sleep(1);
|