|
|
@@ -371,7 +371,10 @@ void* power_thread(void* arg)
|
|
|
_globalPowerInfo._power_info.status = 0;
|
|
|
}
|
|
|
if (__globalDeviceManage.triphasic_mmap)
|
|
|
+ {
|
|
|
__globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_status = _globalPowerInfo._power_info.status;
|
|
|
+ }
|
|
|
+
|
|
|
time_t now;
|
|
|
time(&now);
|
|
|
t = localtime(&now);
|
|
|
@@ -394,15 +397,19 @@ void* power_thread(void* arg)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- __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;
|
|
|
- _globalDeviceManager->triphasic_mmap->chn_status[_chn] = _globalPowerInfo._power_info.status;
|
|
|
- _globalDeviceManager->triphasic_mmap->open_delay[_chn] = _globalPowerMangerTemp->product_ch_start_delay;
|
|
|
- _globalDeviceManager->triphasic_mmap->close_delay[_chn] = _globalPowerMangerTemp->product_ch_stop_delay;
|
|
|
-
|
|
|
-
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ if (_globalDeviceManager->triphasic_mmap)
|
|
|
+ {
|
|
|
+ _globalDeviceManager->triphasic_mmap->chn_status[_chn] = _globalPowerInfo._power_info.status;
|
|
|
+ _globalDeviceManager->triphasic_mmap->open_delay[_chn] = _globalPowerMangerTemp->product_ch_start_delay;
|
|
|
+ _globalDeviceManager->triphasic_mmap->close_delay[_chn] = _globalPowerMangerTemp->product_ch_stop_delay;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
@@ -553,13 +560,15 @@ void* power_thread(void* arg)
|
|
|
_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;
|
|
|
+ if (__globalDeviceManage.triphasic_mmap)
|
|
|
+ {
|
|
|
+ __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_consumption = _pTreeACPowerMangerTemp->_PowerInfo.consumption * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_current = _pTreeACPowerMangerTemp->_PowerInfo.current * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_power = _pTreeACPowerMangerTemp->_PowerInfo.power * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1000;
|
|
|
+ __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_type = _pTreeACPowerMangerTemp->product_ph_type;
|
|
|
+ }
|
|
|
|
|
|
- __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_consumption = _pTreeACPowerMangerTemp->_PowerInfo.consumption * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_current = _pTreeACPowerMangerTemp->_PowerInfo.current * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_power = _pTreeACPowerMangerTemp->_PowerInfo.power * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1000;
|
|
|
- __globalDeviceManage.triphasic_mmap->chn_info[_chn].chn_type = _pTreeACPowerMangerTemp->product_ph_type;
|
|
|
-
|
|
|
if(_globalPowerInfo._power_info.status==0)
|
|
|
{
|
|
|
_globalPowerInfo._power_info.status=_pTreeACPowerMangerTemp->_PowerInfo.status;
|
|
|
@@ -568,7 +577,10 @@ void* power_thread(void* arg)
|
|
|
{
|
|
|
_globalPowerInfo._power_info.status=0;
|
|
|
}
|
|
|
- __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_status = _globalPowerInfo._power_info.status;
|
|
|
+ if (__globalDeviceManage.triphasic_mmap)
|
|
|
+ {
|
|
|
+ __globalDeviceManage.triphasic_mmap->pw_o_chn[_chn].chn[k].o_status = _globalPowerInfo._power_info.status;
|
|
|
+ }
|
|
|
|
|
|
_globalPowerInfo._power_info.NF_status=_pTreeACPowerMangerTemp->_PowerInfo.NF_status;
|
|
|
|
|
|
@@ -639,13 +651,19 @@ void* power_thread(void* arg)
|
|
|
_globalPowerMangerTemp->product_ch_NF_status = _globalPowerInfo._power_info.NF_status ;
|
|
|
|
|
|
// tong dao zong ti xin xi
|
|
|
- __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;
|
|
|
- _globalDeviceManager->triphasic_mmap->chn_status[_chn] = _globalPowerInfo._power_info.status;
|
|
|
- _globalDeviceManager->triphasic_mmap->open_delay[_chn] = _globalPowerMangerTemp->product_ch_start_delay;
|
|
|
- _globalDeviceManager->triphasic_mmap->close_delay[_chn] = _globalPowerMangerTemp->product_ch_stop_delay;
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ if (_globalDeviceManager->triphasic_mmap)
|
|
|
+ {
|
|
|
+ _globalDeviceManager->triphasic_mmap->chn_status[_chn] = _globalPowerInfo._power_info.status;
|
|
|
+ _globalDeviceManager->triphasic_mmap->open_delay[_chn] = _globalPowerMangerTemp->product_ch_start_delay;
|
|
|
+ _globalDeviceManager->triphasic_mmap->close_delay[_chn] = _globalPowerMangerTemp->product_ch_stop_delay;
|
|
|
+ }
|
|
|
|
|
|
//累加总电源信息
|
|
|
_globalTotalPowerInfo.product_id = _globalDeviceManager->_globalDevInfo.product_id;
|
|
|
@@ -715,27 +733,33 @@ void* power_thread(void* arg)
|
|
|
/*高耗电 */
|
|
|
if(_globalPowerWarningInfo.w_consumption)dev_Alarm_send_message(_globalDeviceManager,_globalPowerMangerTemp,WARNING_P_UP);
|
|
|
}
|
|
|
- int nMissPH[3]={0};
|
|
|
- memcpy(nMissPH,_globalDeviceManager->_all_ctrl_board[(int)_globalPowerMangerTemp->product_saddr]._globalPowerInManger.product_MissingPH,sizeof(nMissPH));
|
|
|
- if (_globalTACWarningInfo.w_phase_lossA != nMissPH[0])
|
|
|
+ bool nMissPH=0;
|
|
|
+ //memcpy(nMissPH,_globalDeviceManager->_all_ctrl_board[(int)_globalPowerMangerTemp->product_saddr]._globalPowerInManger.product_MissingPH,sizeof(nMissPH));
|
|
|
+ nMissPH=_globalDeviceManager->_all_ctrl_board[(int)_globalPowerMangerTemp->product_saddr]._globalPowerInManger.product_MissingPH[0];
|
|
|
+ if (_globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossA!= (bool)nMissPH)
|
|
|
{
|
|
|
- _globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossA = nMissPH[0];
|
|
|
+ _globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossA = (bool)nMissPH;
|
|
|
+ _globalPowerWarningInfo.w_phase_lossA=nMissPH;
|
|
|
/*缺项 */
|
|
|
- if (_globalTACWarningInfo.w_phase_lossA)
|
|
|
+ if (_globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossA)
|
|
|
dev_Alarm_send_message(_globalDeviceManager, _globalPowerMangerTemp, 0);
|
|
|
}
|
|
|
- if (_globalTACWarningInfo.w_phase_lossB != nMissPH[1])
|
|
|
+ nMissPH=_globalDeviceManager->_all_ctrl_board[(int)_globalPowerMangerTemp->product_saddr]._globalPowerInManger.product_MissingPH[1];
|
|
|
+ if (_globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossB != (bool)nMissPH)
|
|
|
{
|
|
|
- _globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossB = nMissPH[1];
|
|
|
+ _globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossB = (bool)nMissPH;
|
|
|
+ _globalPowerWarningInfo.w_phase_lossB=nMissPH;
|
|
|
/*缺项 */
|
|
|
- if (_globalTACWarningInfo.w_phase_lossB)
|
|
|
+ if (_globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossB)
|
|
|
dev_Alarm_send_message(_globalDeviceManager, _globalPowerMangerTemp, 1);
|
|
|
}
|
|
|
- if (_globalTACWarningInfo.w_phase_lossC != nMissPH[2])
|
|
|
+ nMissPH=_globalDeviceManager->_all_ctrl_board[(int)_globalPowerMangerTemp->product_saddr]._globalPowerInManger.product_MissingPH[2];
|
|
|
+ if (_globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossC != (bool)nMissPH)
|
|
|
{
|
|
|
- _globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossC = nMissPH[2];
|
|
|
+ _globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossC = (bool)nMissPH;
|
|
|
+ _globalPowerWarningInfo.w_phase_lossC=nMissPH;
|
|
|
/*缺项 */
|
|
|
- if (_globalTACWarningInfo.w_phase_lossC)
|
|
|
+ if (_globalPowerMangerTemp->_PowerWarninginfo.w_phase_lossC)
|
|
|
dev_Alarm_send_message(_globalDeviceManager, _globalPowerMangerTemp, 2);
|
|
|
}
|
|
|
/*
|
|
|
@@ -849,11 +873,13 @@ void* power_thread(void* arg)
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.consumption += _globalDeviceManager->_all_ctrl_board[i]._globalPowerInManger._PowerInfo[nTreeACType].consumption;
|
|
|
_pTreeACPowerMangerTemp->_PowerInfo.factor = _globalDeviceManager->_all_ctrl_board[i]._globalPowerInManger._PowerInfo[nTreeACType].factor;
|
|
|
}
|
|
|
- _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_consumption = _pTreeACPowerMangerTemp->_PowerInfo.consumption *1000;
|
|
|
- _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_power = _pTreeACPowerMangerTemp->_PowerInfo.power *1000;
|
|
|
- _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage *1000;
|
|
|
- _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_current = _pTreeACPowerMangerTemp->_PowerInfo.current *1000;
|
|
|
-
|
|
|
+ if (_globalDeviceManager->triphasic_mmap)
|
|
|
+ {
|
|
|
+ _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_consumption = _pTreeACPowerMangerTemp->_PowerInfo.consumption * 1000;
|
|
|
+ _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_power = _pTreeACPowerMangerTemp->_PowerInfo.power * 1000;
|
|
|
+ _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1000;
|
|
|
+ _globalDeviceManager->triphasic_mmap->i_total.pw_i_total[nTreeACType].i_total_current = _pTreeACPowerMangerTemp->_PowerInfo.current * 1000;
|
|
|
+ }
|
|
|
time_t now;
|
|
|
time(&now);
|
|
|
t = localtime(&now);
|
|
|
@@ -875,7 +901,10 @@ void* power_thread(void* arg)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- __globalDeviceManage.triphasic_mmap->dev_chn = __globalDeviceManage._globalDevInfo.product_pwr_type << 8 | _chn;
|
|
|
+ if (__globalDeviceManage.triphasic_mmap)
|
|
|
+ {
|
|
|
+ __globalDeviceManage.triphasic_mmap->dev_chn = __globalDeviceManage._globalDevInfo.product_pwr_type << 8 | _chn;
|
|
|
+ }
|
|
|
}
|
|
|
if (__globalDeviceManage._globalDevInfo.product_pwr_type == SmartPDU_Tree_AC_One_B)
|
|
|
{
|