|
|
@@ -4271,6 +4271,62 @@ int dev_Alarm_T_AC_message(GlobalDeviceManager* globalDeviceManger, GlobalTreeAC
|
|
|
set_led_beep(LED_MODE_WARN1, BEEP_MODE_WARN1);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+//只管理L1 L2 L3总体电源阈值超限动作防护
|
|
|
+ int ret = -1 ;
|
|
|
+ int nchID = __globalPowerTemp->product_ch_id;
|
|
|
+ int nphID = __globalPowerTemp->product_ph_type;
|
|
|
+ if ( nchID==0 && (nphID >= 0 && nphID < 3))
|
|
|
+ {
|
|
|
+ if ((_AlarmType==ENABLE_TAC_V_UP && __globalPowerTemp->global_over_manager.product_vol_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ || (_AlarmType==ENABLE_TAC_V_DOWN && __globalPowerTemp->global_over_manager.product_vol_over_lower_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ || (_AlarmType==ENABLE_TAC_A_UP && __globalPowerTemp->global_over_manager.product_cur_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ || (_AlarmType==ENABLE_TAC_P_UP && __globalPowerTemp->global_over_manager.product_pwr_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ || (_AlarmType==ENABLE_TAC_W_UP && __globalPowerTemp->global_over_manager.product_pwrcon_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH) )
|
|
|
+ {
|
|
|
+ if (globalDeviceManger->_globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree
|
|
|
+ ||globalDeviceManger->_globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One
|
|
|
+ || globalDeviceManger->_globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Two
|
|
|
+ || globalDeviceManger->_globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One_B)
|
|
|
+ {
|
|
|
+ // 关闭对应相通道
|
|
|
+ GlobalPowerManger *_globalPowerMangerTemp = NULL;
|
|
|
+ list_for_each_entry(_globalPowerMangerTemp, &globalDeviceManger->_globalPowerManger.list, list)
|
|
|
+ {
|
|
|
+ if (_globalPowerMangerTemp == NULL)
|
|
|
+ break;
|
|
|
+ bool bFindph = false;
|
|
|
+ GlobalTreeACManager *_pTreeACPowerMangerTemp = NULL;
|
|
|
+ list_for_each_entry(_pTreeACPowerMangerTemp, &_globalPowerMangerTemp->list_Tree_AC, list_Tree_AC)
|
|
|
+ {
|
|
|
+ if (nphID == _pTreeACPowerMangerTemp->product_ph_type && _pTreeACPowerMangerTemp->product_ph_outputStatus == 1)
|
|
|
+ {
|
|
|
+ bFindph = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (bFindph)
|
|
|
+ {
|
|
|
+ log_d("ALL_Ph:%d,AlarmType:%d,switch ctrl:%d,%d", nphID, _AlarmType, _globalPowerMangerTemp->product_saddr, _globalPowerMangerTemp->product_ch_addr);
|
|
|
+ ret = g_switch_set_all_chn_ctrl(&globalDeviceManger->_globalRelaySampManger,
|
|
|
+ _globalPowerMangerTemp,
|
|
|
+ _globalPowerMangerTemp->product_saddr,
|
|
|
+ _globalPowerMangerTemp->product_ch_addr,
|
|
|
+ 0, false);
|
|
|
+ if (ret < 0)
|
|
|
+ {
|
|
|
+ ret = g_switch_set_all_chn_ctrl(&globalDeviceManger->_globalRelaySampManger,
|
|
|
+ _globalPowerMangerTemp,
|
|
|
+ _globalPowerMangerTemp->product_saddr,
|
|
|
+ _globalPowerMangerTemp->product_ch_addr,
|
|
|
+ 0, false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
/**
|