ソースを参照

1、添加L1 L2 L3超限动作保护

liyuezong 1 年間 前
親
コミット
961fd9f154
共有1 個のファイルを変更した、56 個の追加 と 0 個の削除を含む
  1. 56 0
      pro/src/sqlite_handle.c

+ 56 - 0
pro/src/sqlite_handle.c

@@ -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;
 }
 /**