Browse Source

1.更新三相读取总数据时的问题
2.修改最大电压显示上限到500

chenyuanjie 2 years ago
parent
commit
ba8c790fb1
2 changed files with 19 additions and 5 deletions
  1. 18 4
      pro/src/app.c
  2. 1 1
      pro/src/common.h

+ 18 - 4
pro/src/app.c

@@ -984,6 +984,7 @@ void* power_thread(void* arg)
                 {
                 {
                     continue;
                     continue;
                 }
                 }
+                memset(&_globalDeviceManager->_globalPowerManger._PowerInfo, 0, sizeof(PowerInfo));      
                 memset(&_pTreeACPowerMangerTemp->_PowerInfo, 0, sizeof(_globalPowerInfo._power_info));
                 memset(&_pTreeACPowerMangerTemp->_PowerInfo, 0, sizeof(_globalPowerInfo._power_info));
                 for (size_t i = 0; i < MAX_CHN_COUNT; i++)
                 for (size_t i = 0; i < MAX_CHN_COUNT; i++)
                 {
                 {
@@ -1033,6 +1034,17 @@ void* power_thread(void* arg)
                         log_d("ph_ch%d insert data error.\n", _pTreeACPowerMangerTemp->product_ch_id);
                         log_d("ph_ch%d insert data error.\n", _pTreeACPowerMangerTemp->product_ch_id);
                     }
                     }
                 }
                 }
+                //更新总数据
+                // 如果存在电压则置位如果都没有电压则保持0
+                if (_pTreeACPowerMangerTemp->_PowerInfo.voltage != 0)
+                {
+                    _globalDeviceManager->_globalPowerManger._PowerInfo.voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage;
+                }
+                _globalDeviceManager->_globalPowerManger._PowerInfo.current += _pTreeACPowerMangerTemp->_PowerInfo.current;
+                _globalDeviceManager->_globalPowerManger._PowerInfo.power += _pTreeACPowerMangerTemp->_PowerInfo.power;
+                _globalDeviceManager->_globalPowerManger._PowerInfo.freq = _pTreeACPowerMangerTemp->_PowerInfo.freq > _globalDeviceManager->_globalPowerManger._PowerInfo.freq ? _pTreeACPowerMangerTemp->_PowerInfo.freq:_globalDeviceManager->_globalPowerManger._PowerInfo.freq;
+                _globalDeviceManager->_globalPowerManger._PowerInfo.consumption += _pTreeACPowerMangerTemp->_PowerInfo.consumption;
+                _globalDeviceManager->_globalPowerManger._PowerInfo.factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
             }
             }
             if (__globalDeviceManage.triphasic_mmap)
             if (__globalDeviceManage.triphasic_mmap)
             {
             {
@@ -1041,7 +1053,7 @@ void* power_thread(void* arg)
         }
         }
         if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One_B)
         if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One_B)
         {
         {
-            _pTreeACPowerMangerTemp = NULL;
+            _pTreeACPowerMangerTemp = NULL;      
             list_for_each_entry(_pTreeACPowerMangerTemp, &_globalDeviceManager->_globalPowerManger.list_Tree_AC, list_Tree_AC)
             list_for_each_entry(_pTreeACPowerMangerTemp, &_globalDeviceManager->_globalPowerManger.list_Tree_AC, list_Tree_AC)
             {
             {
                 int nTreeACType = _pTreeACPowerMangerTemp->product_ph_type;
                 int nTreeACType = _pTreeACPowerMangerTemp->product_ph_type;
@@ -1090,9 +1102,11 @@ void* power_thread(void* arg)
         sprintf(_globalTotalPowerInfo.samp_time,"%04d-%02d-%02d %02d:%02d:%02d.%03ld",
         sprintf(_globalTotalPowerInfo.samp_time,"%04d-%02d-%02d %02d:%02d:%02d.%03ld",
         t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec,tv.tv_usec/1000);
         t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec,tv.tv_usec/1000);
         //更新总电源信息
         //更新总电源信息
-
-        _globalDeviceManager->_globalPowerManger._PowerInfo  = _globalTotalPowerInfo._power_info;
-
+        if (__globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_AC 
+        || __globalDeviceManage._globalDevInfo.product.pwr_type == SmartPDU_DC)
+        {
+            _globalDeviceManager->_globalPowerManger._PowerInfo = _globalTotalPowerInfo._power_info;
+        }
         //插入数据库
         //插入数据库
         if (SaveDBFlag)
         if (SaveDBFlag)
         {
         {

+ 1 - 1
pro/src/common.h

@@ -65,7 +65,7 @@
 #define AC_SINGLE_S_MAX_CHN_NUM 10  	//单个控制板最大数量
 #define AC_SINGLE_S_MAX_CHN_NUM 10  	//单个控制板最大数量
 #define AC_SINGLE_S_MAX_ADDRESS_NUM 16  //控制板最大数量
 #define AC_SINGLE_S_MAX_ADDRESS_NUM 16  //控制板最大数量
 
 
-#define AC_MAX_VOLTAGE_VAL 400
+#define AC_MAX_VOLTAGE_VAL 500
 #define AC_MAX_CURRENT_VAL 100
 #define AC_MAX_CURRENT_VAL 100
 #define AC_MAX_POWER_VAL 100
 #define AC_MAX_POWER_VAL 100