|
@@ -3023,14 +3023,31 @@ static void sensorStatusMonitoring(void* conn)
|
|
|
*/
|
|
*/
|
|
|
char* setThresholdToCh(_AlarmRequestInfo* _alarm_request_info,int nChID)
|
|
char* setThresholdToCh(_AlarmRequestInfo* _alarm_request_info,int nChID)
|
|
|
{
|
|
{
|
|
|
- int ret = -1 ;
|
|
|
|
|
|
|
+ int ret = -1;
|
|
|
char *ack_str = NULL;
|
|
char *ack_str = NULL;
|
|
|
- GlobalPowerManger *_globalPowerMangerSaveTemp;
|
|
|
|
|
|
|
+ GlobalPowerManger *_globalPowerMangerSaveTemp=NULL;
|
|
|
|
|
+ GlobalTreeACManager *_pTreeACPowerMangerTemp = NULL;
|
|
|
// int g_pwr_ch_id = atoi(_alarm_request_info->_pwr_info.productChId);
|
|
// int g_pwr_ch_id = atoi(_alarm_request_info->_pwr_info.productChId);
|
|
|
int g_pwr_ch_id = nChID;
|
|
int g_pwr_ch_id = nChID;
|
|
|
if (g_pwr_ch_id == 0)
|
|
if (g_pwr_ch_id == 0)
|
|
|
{
|
|
{
|
|
|
_globalPowerMangerSaveTemp = &__globalDeviceManage._globalPowerManger;
|
|
_globalPowerMangerSaveTemp = &__globalDeviceManage._globalPowerManger;
|
|
|
|
|
+
|
|
|
|
|
+ int nTreeACType = -1;
|
|
|
|
|
+ if (strncmp(_alarm_request_info->_pwr_info.productChName, "ALL_L1", 6) == 0)
|
|
|
|
|
+ nTreeACType=0;
|
|
|
|
|
+ else if (strncmp(_alarm_request_info->_pwr_info.productChName, "ALL_L2", 6) == 0)
|
|
|
|
|
+ nTreeACType=1;
|
|
|
|
|
+ else if (strncmp(_alarm_request_info->_pwr_info.productChName, "ALL_L3", 6) == 0)
|
|
|
|
|
+ nTreeACType=2;
|
|
|
|
|
+
|
|
|
|
|
+ if (nTreeACType != -1)
|
|
|
|
|
+ {
|
|
|
|
|
+ list_for_each_entry(_pTreeACPowerMangerTemp, &__globalDeviceManage._globalPowerManger.list_Tree_AC, list_Tree_AC)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (nTreeACType == _pTreeACPowerMangerTemp->product_ph_type) break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
@@ -3044,77 +3061,50 @@ char* setThresholdToCh(_AlarmRequestInfo* _alarm_request_info,int nChID)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 更新参数,使能全部放在控制板上判断,表头不做判断,统一发1
|
|
|
|
|
- if (_alarm_request_info->_pwr_info.voltageUpperValue)
|
|
|
|
|
|
|
+ if (_globalPowerMangerSaveTemp == NULL)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_threshold = atof(_alarm_request_info->_pwr_info.voltageUpperValue);
|
|
|
|
|
|
|
+ ack_str = ctrl_breaker_err_ack_to_json("Set Threshold Failed! No Such Channel!");
|
|
|
|
|
+ return ack_str;
|
|
|
}
|
|
}
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_enable = 1;
|
|
|
|
|
- /*if (_globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_threshold != 0)
|
|
|
|
|
|
|
+
|
|
|
|
|
+ GlobalOverManager *_globalOverManagerTemp = NULL;
|
|
|
|
|
+ if (_pTreeACPowerMangerTemp == NULL)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_enable = 1;
|
|
|
|
|
|
|
+ _globalOverManagerTemp = &_globalPowerMangerSaveTemp->global_over_manager;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_enable = 0;
|
|
|
|
|
- }*/
|
|
|
|
|
|
|
+ _globalOverManagerTemp = &_pTreeACPowerMangerTemp->global_over_manager;
|
|
|
|
|
|
|
|
- if (_alarm_request_info->_pwr_info.voltageDownValue)
|
|
|
|
|
|
|
+ // 更新参数,使能全部放在控制板上判断,表头不做判断,统一发1
|
|
|
|
|
+ if (_alarm_request_info->_pwr_info.voltageUpperValue)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_threshold = atof(_alarm_request_info->_pwr_info.voltageDownValue);
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_upper_threshold = atof(_alarm_request_info->_pwr_info.voltageUpperValue);
|
|
|
}
|
|
}
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_enable = 1;
|
|
|
|
|
- /*if (_globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_threshold != 0)
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_upper_enable = 1;
|
|
|
|
|
+
|
|
|
|
|
+ if (_alarm_request_info->_pwr_info.voltageDownValue)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_enable = 1;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_lower_threshold = atof(_alarm_request_info->_pwr_info.voltageDownValue);
|
|
|
}
|
|
}
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_enable = 0;
|
|
|
|
|
- }*/
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_lower_enable = 1;
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.currentUpperValue)
|
|
if (_alarm_request_info->_pwr_info.currentUpperValue)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_threshold = atof(_alarm_request_info->_pwr_info.currentUpperValue);
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_cur_upper_threshold = atof(_alarm_request_info->_pwr_info.currentUpperValue);
|
|
|
}
|
|
}
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_enable = 1;
|
|
|
|
|
- /*if (_globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_threshold != 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_enable = 1;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_enable = 0;
|
|
|
|
|
- }*/
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_cur_upper_enable = 1;
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.powerUpperValue)
|
|
if (_alarm_request_info->_pwr_info.powerUpperValue)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_threshold = atof(_alarm_request_info->_pwr_info.powerUpperValue);
|
|
|
|
|
- }
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_enable = 1;
|
|
|
|
|
- /*if (_globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_threshold != 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_enable = 1;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwr_upper_threshold = atof(_alarm_request_info->_pwr_info.powerUpperValue);
|
|
|
}
|
|
}
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_enable = 0;
|
|
|
|
|
- }*/
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwr_upper_enable = 1;
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.alarmContentUpperValue)
|
|
if (_alarm_request_info->_pwr_info.alarmContentUpperValue)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_threshold = atof(_alarm_request_info->_pwr_info.alarmContentUpperValue);
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwrcon_upper_threshold = atof(_alarm_request_info->_pwr_info.alarmContentUpperValue);
|
|
|
}
|
|
}
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_enable = 1;
|
|
|
|
|
- /* if (_globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_threshold != 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_enable = 1;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_enable = 0;
|
|
|
|
|
- }*/
|
|
|
|
|
- //_globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_enable = 1 ;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwrcon_upper_enable = 1;
|
|
|
|
|
|
|
|
char Alarm_Ctrl_type[16];
|
|
char Alarm_Ctrl_type[16];
|
|
|
memset(Alarm_Ctrl_type, 0, sizeof(Alarm_Ctrl_type));
|
|
memset(Alarm_Ctrl_type, 0, sizeof(Alarm_Ctrl_type));
|
|
@@ -3122,50 +3112,49 @@ char* setThresholdToCh(_AlarmRequestInfo* _alarm_request_info,int nChID)
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.currentUpperAction && strcmp(_alarm_request_info->_pwr_info.currentUpperAction, Alarm_Ctrl_type) == 0)
|
|
if (_alarm_request_info->_pwr_info.currentUpperAction && strcmp(_alarm_request_info->_pwr_info.currentUpperAction, Alarm_Ctrl_type) == 0)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_cur_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_cur_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.voltageUpperAction && strcmp(_alarm_request_info->_pwr_info.voltageUpperAction, Alarm_Ctrl_type) == 0)
|
|
if (_alarm_request_info->_pwr_info.voltageUpperAction && strcmp(_alarm_request_info->_pwr_info.voltageUpperAction, Alarm_Ctrl_type) == 0)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.voltageDownAction && strcmp(_alarm_request_info->_pwr_info.voltageDownAction, Alarm_Ctrl_type) == 0)
|
|
if (_alarm_request_info->_pwr_info.voltageDownAction && strcmp(_alarm_request_info->_pwr_info.voltageDownAction, Alarm_Ctrl_type) == 0)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_lower_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_over_lower_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_lower_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_vol_over_lower_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.powerUpperAction && strcmp(_alarm_request_info->_pwr_info.powerUpperAction, Alarm_Ctrl_type) == 0)
|
|
if (_alarm_request_info->_pwr_info.powerUpperAction && strcmp(_alarm_request_info->_pwr_info.powerUpperAction, Alarm_Ctrl_type) == 0)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwr_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwr_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
|
if (_alarm_request_info->_pwr_info.alarmContentUpperAction && strcmp(_alarm_request_info->_pwr_info.alarmContentUpperAction, Alarm_Ctrl_type) == 0)
|
|
if (_alarm_request_info->_pwr_info.alarmContentUpperAction && strcmp(_alarm_request_info->_pwr_info.alarmContentUpperAction, Alarm_Ctrl_type) == 0)
|
|
|
{
|
|
{
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwrcon_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
+ _globalOverManagerTemp->product_pwrcon_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
|
|
|
if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree || __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One|| __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Two)
|
|
if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree || __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One|| __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Two)
|
|
|
{
|
|
{
|
|
|
-
|
|
|
|
|
- GlobalTreeACManager *_pTreeACPowerMangerTemp = NULL;
|
|
|
|
|
- list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerSaveTemp->list_Tree_AC, list_Tree_AC)
|
|
|
|
|
|
|
+ GlobalTreeACManager *_pTreeACPowerMangerTemp1 = NULL;
|
|
|
|
|
+ list_for_each_entry(_pTreeACPowerMangerTemp1, &_globalPowerMangerSaveTemp->list_Tree_AC, list_Tree_AC)
|
|
|
{
|
|
{
|
|
|
- _pTreeACPowerMangerTemp->global_over_manager = _globalPowerMangerSaveTemp->global_over_manager;
|
|
|
|
|
|
|
+ _pTreeACPowerMangerTemp1->global_over_manager = _globalPowerMangerSaveTemp->global_over_manager;
|
|
|
ret = g_switch_set_all_single_threshold(&__globalDeviceManage._globalRelaySampManger,
|
|
ret = g_switch_set_all_single_threshold(&__globalDeviceManage._globalRelaySampManger,
|
|
|
_globalPowerMangerSaveTemp->product_ch_type,
|
|
_globalPowerMangerSaveTemp->product_ch_type,
|
|
|
- _pTreeACPowerMangerTemp->product_saddr,
|
|
|
|
|
- _pTreeACPowerMangerTemp->product_ch_addr,
|
|
|
|
|
|
|
+ _pTreeACPowerMangerTemp1->product_saddr,
|
|
|
|
|
+ _pTreeACPowerMangerTemp1->product_ch_addr,
|
|
|
_globalPowerMangerSaveTemp, 1);
|
|
_globalPowerMangerSaveTemp, 1);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -3183,7 +3172,10 @@ char* setThresholdToCh(_AlarmRequestInfo* _alarm_request_info,int nChID)
|
|
|
log_e("power threshold update error.ret:%d,%s", ret, modbus_strerror(errno));
|
|
log_e("power threshold update error.ret:%d,%s", ret, modbus_strerror(errno));
|
|
|
/* code */
|
|
/* code */
|
|
|
}
|
|
}
|
|
|
- if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree || __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One|| __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Two)
|
|
|
|
|
|
|
+ if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree
|
|
|
|
|
+ || __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_One_B)
|
|
|
{
|
|
{
|
|
|
// 写入数据库
|
|
// 写入数据库
|
|
|
ret = dev_update_power_manage_over_info(__globalDeviceManage.db,
|
|
ret = dev_update_power_manage_over_info(__globalDeviceManage.db,
|
|
@@ -3192,11 +3184,12 @@ char* setThresholdToCh(_AlarmRequestInfo* _alarm_request_info,int nChID)
|
|
|
_globalPowerMangerSaveTemp);
|
|
_globalPowerMangerSaveTemp);
|
|
|
if (ret != 0)
|
|
if (ret != 0)
|
|
|
log_e("power threshold update error.");
|
|
log_e("power threshold update error.");
|
|
|
- GlobalTreeACManager *_pTreeACPowerMangerTemp = NULL;
|
|
|
|
|
- list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerSaveTemp->list_Tree_AC, list_Tree_AC)
|
|
|
|
|
|
|
+
|
|
|
|
|
+ GlobalTreeACManager *_pTreeACPowerMangerTemp2 = NULL;
|
|
|
|
|
+ list_for_each_entry(_pTreeACPowerMangerTemp2, &_globalPowerMangerSaveTemp->list_Tree_AC, list_Tree_AC)
|
|
|
{
|
|
{
|
|
|
- _pTreeACPowerMangerTemp->global_over_manager = _globalPowerMangerSaveTemp->global_over_manager;
|
|
|
|
|
- ret = dev_update_t_ac_power_manage_over_info(__globalDeviceManage.db, _pTreeACPowerMangerTemp);
|
|
|
|
|
|
|
+ if(_globalPowerMangerSaveTemp->product_ch_id!=0) _pTreeACPowerMangerTemp2->global_over_manager = _globalPowerMangerSaveTemp->global_over_manager;//通道相阈值直接取通道阈值,总体的相阈值分别取各自阈值
|
|
|
|
|
+ ret = dev_update_t_ac_power_manage_over_info(__globalDeviceManage.db, _pTreeACPowerMangerTemp2);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -3388,156 +3381,6 @@ static void alarmProtect(void *conn)
|
|
|
}
|
|
}
|
|
|
else sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
|
|
else sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
|
|
|
dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
|
|
dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
|
|
|
- /*
|
|
|
|
|
- if (g_pwr_ch_id ==0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp=&__globalDeviceManage._globalPowerManger;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- list_for_each_entry(_globalPowerMangerSaveTemp, &__globalDeviceManage._globalPowerManger.list, list)
|
|
|
|
|
- {
|
|
|
|
|
- // ID相等 记录信息
|
|
|
|
|
- if (_globalPowerMangerSaveTemp->product_ch_id == g_pwr_ch_id)
|
|
|
|
|
- {
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //更新参数
|
|
|
|
|
- if (_alarm_request_info._pwr_info.voltageUpperValue)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_threshold =atof(_alarm_request_info._pwr_info.voltageUpperValue);
|
|
|
|
|
- }
|
|
|
|
|
- if (_globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_threshold!=0){_globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_enable = 1 ;
|
|
|
|
|
- }else{_globalPowerMangerSaveTemp->global_over_manager.product_vol_upper_enable = 0;}
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.voltageDownValue)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_threshold =atof(_alarm_request_info._pwr_info.voltageDownValue);
|
|
|
|
|
- }
|
|
|
|
|
- if (_globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_threshold!=0){_globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_enable = 1 ;
|
|
|
|
|
- }else{_globalPowerMangerSaveTemp->global_over_manager.product_vol_lower_enable = 0 ;}
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.currentUpperValue)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_threshold = atof(_alarm_request_info._pwr_info.currentUpperValue);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- if (_globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_threshold!=0){_globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_enable = 1 ;
|
|
|
|
|
- }else{_globalPowerMangerSaveTemp->global_over_manager.product_cur_upper_enable = 0 ;}
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.powerUpperValue)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_threshold = atof(_alarm_request_info._pwr_info.powerUpperValue);
|
|
|
|
|
- }
|
|
|
|
|
- if (_globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_threshold!=0){_globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_enable = 1 ;
|
|
|
|
|
- }else{_globalPowerMangerSaveTemp->global_over_manager.product_pwr_upper_enable = 0 ;}
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.alarmContentUpperValue)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_threshold = atof(_alarm_request_info._pwr_info.alarmContentUpperValue);
|
|
|
|
|
- }
|
|
|
|
|
- if (_globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_threshold!=0){_globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_enable = 1 ;
|
|
|
|
|
- }else{_globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_enable = 0 ;}
|
|
|
|
|
- //_globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_upper_enable = 1 ;
|
|
|
|
|
-
|
|
|
|
|
- char Alarm_Ctrl_type[16];
|
|
|
|
|
- memset(Alarm_Ctrl_type, 0, sizeof(Alarm_Ctrl_type));
|
|
|
|
|
- sprintf(Alarm_Ctrl_type, "%d", ALARM_CTRL_CLOSE_CH);
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.currentUpperAction && strcmp(_alarm_request_info._pwr_info.currentUpperAction,Alarm_Ctrl_type) == 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_cur_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.voltageUpperAction && strcmp(_alarm_request_info._pwr_info.voltageUpperAction, Alarm_Ctrl_type) == 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.voltageDownAction && strcmp(_alarm_request_info._pwr_info.voltageDownAction, Alarm_Ctrl_type) == 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_lower_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_vol_over_lower_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.powerUpperAction && strcmp(_alarm_request_info._pwr_info.powerUpperAction, Alarm_Ctrl_type) == 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwr_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
-
|
|
|
|
|
- if (_alarm_request_info._pwr_info.alarmContentUpperAction && strcmp(_alarm_request_info._pwr_info.alarmContentUpperAction, Alarm_Ctrl_type) == 0)
|
|
|
|
|
- {
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_over_upper_threshold_ctrl = ALARM_CTRL_CLOSE_CH;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- _globalPowerMangerSaveTemp->global_over_manager.product_pwrcon_over_upper_threshold_ctrl = ALARM_CTRL_ALARM_ONLY;
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree || __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One)
|
|
|
|
|
- {
|
|
|
|
|
-
|
|
|
|
|
- GlobalTreeACManager* _pTreeACPowerMangerTemp = NULL ;
|
|
|
|
|
- list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerSaveTemp->list_Tree_AC, list_Tree_AC)
|
|
|
|
|
- {
|
|
|
|
|
- memcpy(_pTreeACPowerMangerTemp->global_over_manager,_globalPowerMangerSaveTemp->global_over_manager,sizeof(GlobalOverManager));
|
|
|
|
|
- ret = g_switch_set_all_single_threshold(&__globalDeviceManage._globalRelaySampManger,
|
|
|
|
|
- _globalPowerMangerSaveTemp->product_ch_type,
|
|
|
|
|
- _pTreeACPowerMangerTemp->product_saddr,
|
|
|
|
|
- _pTreeACPowerMangerTemp->product_ch_addr,
|
|
|
|
|
- _globalPowerMangerSaveTemp, 1);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- ret = g_switch_set_all_single_threshold(&__globalDeviceManage._globalRelaySampManger,
|
|
|
|
|
- _globalPowerMangerSaveTemp->product_ch_type,
|
|
|
|
|
- _globalPowerMangerSaveTemp->product_saddr,
|
|
|
|
|
- _globalPowerMangerSaveTemp->product_ch_addr,
|
|
|
|
|
- _globalPowerMangerSaveTemp, 0);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- if (ret<0)
|
|
|
|
|
- {
|
|
|
|
|
- log_e("power threshold update error.ret:%d,%s",ret,modbus_strerror(errno));
|
|
|
|
|
- }
|
|
|
|
|
- if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree || __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One)
|
|
|
|
|
- {
|
|
|
|
|
- // 写入数据库
|
|
|
|
|
- ret = dev_update_power_manage_over_info(__globalDeviceManage.db,
|
|
|
|
|
- __globalDeviceManage._globalDevInfo.product.id,
|
|
|
|
|
- _globalPowerMangerSaveTemp->product_ch_id,
|
|
|
|
|
- _globalPowerMangerSaveTemp);
|
|
|
|
|
- if (ret != 0)
|
|
|
|
|
- log_e("power threshold update error.");
|
|
|
|
|
- GlobalTreeACManager *_pTreeACPowerMangerTemp = NULL;
|
|
|
|
|
- list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerSaveTemp->list_Tree_AC, list_Tree_AC)
|
|
|
|
|
- {
|
|
|
|
|
- memcpy(_pTreeACPowerMangerTemp->global_over_manager, _globalPowerMangerSaveTemp->global_over_manager, sizeof(GlobalOverManager));
|
|
|
|
|
- ret = dev_update_t_ac_power_manage_over_info(__globalDeviceManage.db,_pTreeACPowerMangerTemp);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- // 写入数据库
|
|
|
|
|
- ret = dev_update_power_manage_over_info(__globalDeviceManage.db,
|
|
|
|
|
- __globalDeviceManage._globalDevInfo.product.id,
|
|
|
|
|
- _globalPowerMangerSaveTemp->product_ch_id,
|
|
|
|
|
- _globalPowerMangerSaveTemp);
|
|
|
|
|
- if (ret != 0)
|
|
|
|
|
- log_e("power threshold update error.");
|
|
|
|
|
- }
|
|
|
|
|
- //返回数据
|
|
|
|
|
- ack_str = ctrl_sts_ack_to_json();*/
|
|
|
|
|
}
|
|
}
|
|
|
else if (strcmp(_alarm_request_info.type, "batchSave") == 0) // 批量设置
|
|
else if (strcmp(_alarm_request_info.type, "batchSave") == 0) // 批量设置
|
|
|
{
|
|
{
|