Преглед изворни кода

3相网页显示不过修改

liyi пре 11 месеци
родитељ
комит
64ad9a9a27
4 измењених фајлова са 97 додато и 89 уклоњено
  1. 2 2
      pro/src/appweb_handle.c
  2. 81 79
      pro/src/json_handle.c
  3. 2 0
      pro/src/json_handle.h
  4. 12 8
      pro/src/sqlite_handle.c

+ 2 - 2
pro/src/appweb_handle.c

@@ -2004,7 +2004,7 @@ static void channelStatusMonitoring(void* conn)
                 for (int i = 0; i < TOTAL_COUNT; i++)
                 {
                     strcpy(pch->_total_power.xAxis[i], __globalPowerInfo._total_power.xAxis[i]);
-                    pch->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i]/1000.0;
+                    pch->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
                 }
 
                 // 返回功率统计
@@ -2024,7 +2024,7 @@ static void channelStatusMonitoring(void* conn)
                 for (int i = 0; i < TOTAL_COUNT; i++)
                 {
                     strcpy(pch->_total_power.xAxis[i], __globalPowerInfo._total_power.xAxis[i]);
-                    pch->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i]/1000.0;
+                    pch->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
                 }
 
                 // 返回功率统计

+ 81 - 79
pro/src/json_handle.c

@@ -2063,20 +2063,22 @@ char* over_all_pwr_monitor_Tree_AC_to_json(_OverAllPwrAckInfo* _over_all_pwr_bac
     sprintf(temp,"%0.3f",1.0);
     cJSON_AddStringToObject(data_filed,"productPowerFactorMaximum",temp);
     //计算L1有功功率和无功功率
-    float FactorTemp = _over_all_pwr_back_info_L1->factor;
-    float PowerTemp = _over_all_pwr_back_info_L1->power;
-    float ReaPowerTemp = 0;
-    float AppPowerTemp = 0;
-    if (FactorTemp < 0.005 || FactorTemp > 1)
-    {
-        FactorTemp = 1.0;
-    }
-     AppPowerTemp= PowerTemp / FactorTemp;
-     ReaPowerTemp= AppPowerTemp- PowerTemp;
+    // float FactorTemp = _over_all_pwr_back_info_L1->factor;
+    // float PowerTemp = _over_all_pwr_back_info_L1->power;
+    // float ReaPowerTemp = 0;
+    // float AppPowerTemp = 0;
+    // if (FactorTemp < 0.005 || FactorTemp > 1)
+    // {
+    //     FactorTemp = 1.0;
+    // }
+    //  AppPowerTemp= PowerTemp / FactorTemp;
+    //  ReaPowerTemp= AppPowerTemp- PowerTemp;
+
 
-    sprintf(temp,"%0.3f",ReaPowerTemp/1000.0);
+
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info_L1->n_power/1000.0);
     cJSON_AddStringToObject(data_filed,"productReactivePower",temp);
-    sprintf(temp,"%0.3f",AppPowerTemp/1000.0);
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info_L1->app_power/1000.0);
     cJSON_AddStringToObject(data_filed,"productApparentPower",temp);
 
     cJSON_AddItemToObject(data_root_array, "data", data_filed);
@@ -2125,20 +2127,20 @@ char* over_all_pwr_monitor_Tree_AC_to_json(_OverAllPwrAckInfo* _over_all_pwr_bac
     sprintf(temp,"%0.3f",1.0);
     cJSON_AddStringToObject(data_filed1,"productPowerFactorMaximum",temp);
         //计算L2有功功率和无功功率
-    float FactorTemp1 = _over_all_pwr_back_info_L2->factor;
-    float PowerTemp1 = _over_all_pwr_back_info_L2->power;
-    float ReaPowerTemp1 = 0;
-    float AppPowerTemp1 = 0;
-    if (FactorTemp1 < 0.005 || FactorTemp1 > 1)
-    {
-        FactorTemp1 = 1.0;
-    }
-     AppPowerTemp1= PowerTemp1 / FactorTemp1;
-     ReaPowerTemp1= AppPowerTemp1- PowerTemp1;
-
-    sprintf(temp,"%0.3f",ReaPowerTemp1/1000.0);
+    // float FactorTemp1 = _over_all_pwr_back_info_L2->factor;
+    // float PowerTemp1 = _over_all_pwr_back_info_L2->power;
+    // float ReaPowerTemp1 = 0;
+    // float AppPowerTemp1 = 0;
+    // if (FactorTemp1 < 0.005 || FactorTemp1 > 1)
+    // {
+    //     FactorTemp1 = 1.0;
+    // }
+    //  AppPowerTemp1= PowerTemp1 / FactorTemp1;
+    //  ReaPowerTemp1= AppPowerTemp1- PowerTemp1;
+
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info_L2->n_power/1000.0);
     cJSON_AddStringToObject(data_filed1,"productReactivePower",temp);
-    sprintf(temp,"%0.3f",AppPowerTemp1/1000.0);
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info_L2->app_power/1000.0);
     cJSON_AddStringToObject(data_filed1,"productApparentPower",temp);
 
     cJSON_AddItemToObject(data_root_array, "data", data_filed1);
@@ -2187,20 +2189,20 @@ char* over_all_pwr_monitor_Tree_AC_to_json(_OverAllPwrAckInfo* _over_all_pwr_bac
     sprintf(temp,"%0.3f",1.0);
     cJSON_AddStringToObject(data_filed2,"productPowerFactorMaximum",temp);
     // 计算L3有功功率和无功功率
-    float FactorTemp2 = _over_all_pwr_back_info_L3->factor;
-    float PowerTemp2 = _over_all_pwr_back_info_L3->power;
-    float ReaPowerTemp2 = 0;
-    float AppPowerTemp2 = 0;
-    if (FactorTemp2 < 0.005 || FactorTemp2 > 1)
-    {
-        FactorTemp2 = 1.0;
-    }
-    AppPowerTemp2 = PowerTemp2/ FactorTemp2;
-    ReaPowerTemp2 = AppPowerTemp2 - PowerTemp2;
-
-    sprintf(temp, "%0.3f", ReaPowerTemp2 / 1000.0);
+    // float FactorTemp2 = _over_all_pwr_back_info_L3->factor;
+    // float PowerTemp2 = _over_all_pwr_back_info_L3->power;
+    // float ReaPowerTemp2 = 0;
+    // float AppPowerTemp2 = 0;
+    // if (FactorTemp2 < 0.005 || FactorTemp2 > 1)
+    // {
+    //     FactorTemp2 = 1.0;
+    // }
+    // AppPowerTemp2 = PowerTemp2/ FactorTemp2;
+    // ReaPowerTemp2 = AppPowerTemp2 - PowerTemp2;
+
+    sprintf(temp, "%0.3f", _over_all_pwr_back_info_L3->n_power / 1000.0);
     cJSON_AddStringToObject(data_filed2, "productReactivePower", temp);
-    sprintf(temp, "%0.3f", AppPowerTemp2 / 1000.0);
+    sprintf(temp, "%0.3f", _over_all_pwr_back_info_L3->app_power / 1000.0);
     cJSON_AddStringToObject(data_filed2, "productApparentPower", temp);
 
     cJSON_AddItemToObject(data_root_array, "data", data_filed2);
@@ -2250,20 +2252,20 @@ char* over_all_pwr_monitor_Tree_AC_to_json(_OverAllPwrAckInfo* _over_all_pwr_bac
     cJSON_AddStringToObject(data_filed3,"productPowerFactorMaximum",temp);
 
         // 计算all有功功率和无功功率
-    float FactorTemp3= _over_all_pwr_back_info_all->factor;
-    float PowerTemp3= _over_all_pwr_back_info_all->power;
-    float ReaPowerTemp3 = 0;
-    float AppPowerTemp3 = 0;
-    if (FactorTemp3 < 0.005 || FactorTemp3 > 1)
-    {
-        FactorTemp3 = 1.0;
-    }
-    AppPowerTemp3 = PowerTemp3/ FactorTemp3;
-    ReaPowerTemp3 = AppPowerTemp3 - PowerTemp3;
-
-    sprintf(temp, "%0.3f", ReaPowerTemp3/ 1000.0);
+    // float FactorTemp3= _over_all_pwr_back_info_all->factor;
+    // float PowerTemp3= _over_all_pwr_back_info_all->power;
+    // float ReaPowerTemp3 = 0;
+    // float AppPowerTemp3 = 0;
+    // if (FactorTemp3 < 0.005 || FactorTemp3 > 1)
+    // {
+    //     FactorTemp3 = 1.0;
+    // }
+    // AppPowerTemp3 = PowerTemp3/ FactorTemp3;
+    // ReaPowerTemp3 = AppPowerTemp3 - PowerTemp3;
+
+    sprintf(temp, "%0.3f", _over_all_pwr_back_info_all->n_power/ 1000.0);
     cJSON_AddStringToObject(data_filed3, "productReactivePower", temp);
-    sprintf(temp, "%0.3f", AppPowerTemp3 / 1000.0);
+    sprintf(temp, "%0.3f", _over_all_pwr_back_info_all->app_power / 1000.0);
     cJSON_AddStringToObject(data_filed3, "productApparentPower", temp);
 
     cJSON_AddItemToObject(data_root_array, "data", data_filed3);
@@ -2363,20 +2365,20 @@ char* over_all_pwr_monitor_to_json(int phaseType,_OverAllPwrAckInfo* _over_all_p
 
     
     //计算有功功率和无功功率,暂时屏蔽,待需求确认,liyuezong 2025.08.30
-    float FactorTemp = _over_all_pwr_back_info->factor;
-    float PowerTemp = _over_all_pwr_back_info->power;
-    float ReaPowerTemp = 0;
-    float AppPowerTemp = 0;
-    if (FactorTemp < 0.005 || FactorTemp > 1)
-    {
-        FactorTemp = 1.0;
-    }
-     AppPowerTemp= PowerTemp / FactorTemp;
-     ReaPowerTemp= AppPowerTemp- PowerTemp;
-
-    sprintf(temp,"%0.3f",ReaPowerTemp/1000.0);
+    // float FactorTemp = _over_all_pwr_back_info->factor;
+    // float PowerTemp = _over_all_pwr_back_info->power;
+    // float ReaPowerTemp = 0;
+    // float AppPowerTemp = 0;
+    // if (FactorTemp < 0.005 || FactorTemp > 1)
+    // {
+    //     FactorTemp = 1.0;
+    // }
+    //  AppPowerTemp= PowerTemp / FactorTemp;
+    //  ReaPowerTemp= AppPowerTemp- PowerTemp;
+
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info->n_power/1000.0);
     cJSON_AddStringToObject(data_filed,"productReactivePower",temp);
-    sprintf(temp,"%0.3f",AppPowerTemp/1000.0);
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info->app_power/1000.0);
     cJSON_AddStringToObject(data_filed,"productApparentPower",temp);
 
 
@@ -2637,7 +2639,7 @@ char *over_all_data_t_ac_to_json(_OverAllPwrAckInfo *_over_all_pwr_back_info,_Ov
             for (int i = 0; i < TOTAL_COUNT; i++)
             {
                 strcpy(_over_all_pwr_back_info->_total_voltage.xAxis[i], __globalPowerInfo._total_voltage.xAxis[i]);
-                _over_all_pwr_back_info->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i];
+                _over_all_pwr_back_info->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i]*1.732;
             }
             break;
         case TOTAL_CURRENT_TYPE:
@@ -2651,7 +2653,7 @@ char *over_all_data_t_ac_to_json(_OverAllPwrAckInfo *_over_all_pwr_back_info,_Ov
             for (int i = 0; i < TOTAL_COUNT; i++)
             {
                 strcpy(_over_all_pwr_back_info->_total_power.xAxis[i], __globalPowerInfo._total_power.xAxis[i]);
-                _over_all_pwr_back_info->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
+                _over_all_pwr_back_info->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i]/1000.0;
             }
             break;
         case TOTAL_POWER_CONS_TYPE:
@@ -4711,20 +4713,20 @@ char* ws_over_status_ack_to_json(int type,_OverAllPwrAckInfo* _over_all_pwr_back
     cJSON_AddStringToObject(data_filed,"productPowerFactorMaximum",temp);
 
     //计算有功功率和无功功率
-    float FactorTemp = _over_all_pwr_back_info->factor;
-    float PowerTemp = _over_all_pwr_back_info->power;
-    float ReaPowerTemp = 0;
-    float AppPowerTemp = 0;
-    if (FactorTemp < 0.005 || FactorTemp > 1)
-    {
-        FactorTemp = 1.0;
-    }
-     AppPowerTemp= PowerTemp / FactorTemp;
-     ReaPowerTemp= AppPowerTemp- PowerTemp;
-
-    sprintf(temp,"%0.3f",ReaPowerTemp/1000.0);
+    // float FactorTemp = _over_all_pwr_back_info->factor;
+    // float PowerTemp = _over_all_pwr_back_info->power;
+    // float ReaPowerTemp = 0;
+    // float AppPowerTemp = 0;
+    // if (FactorTemp < 0.005 || FactorTemp > 1)
+    // {
+    //     FactorTemp = 1.0;
+    // }
+    //  AppPowerTemp= PowerTemp / FactorTemp;
+    //  ReaPowerTemp= AppPowerTemp- PowerTemp;
+
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info->n_power/1000.0);
     cJSON_AddStringToObject(data_filed,"productReactivePower",temp);
-    sprintf(temp,"%0.3f",AppPowerTemp/1000.0);
+    sprintf(temp,"%0.3f",_over_all_pwr_back_info->app_power/1000.0);
     cJSON_AddStringToObject(data_filed,"productApparentPower",temp);
     
 

+ 2 - 0
pro/src/json_handle.h

@@ -205,6 +205,8 @@ typedef struct
     float           freq                                        ;//频率
     float           consumption                                 ;//耗电量
     float           factor                                      ;//功率因素
+    float           n_power                                     ;//无功功率
+    float           app_power                                   ;//视在功率
     _Get_Total_Value	_total_voltage							;//电压统计
 	_Get_Total_Value	_total_current							;//电流统计
 	_Get_Total_Value	_total_power							;//功率统计

+ 12 - 8
pro/src/sqlite_handle.c

@@ -809,15 +809,14 @@ int dev_search_latest_power_statistic_info(GlobalDeviceManager* globalDeviceMang
         // 填数据     
         all->current += _globalPowerMangerTemp->_PowerInfo.current ;
         all->power +=  _globalPowerMangerTemp->_PowerInfo.power ;
-        f_power += _globalPowerMangerTemp->_PowerInfo.power;
-        f_n_power += _globalPowerMangerTemp->_PowerInfo.n_power;
-        f_app_power += _globalPowerMangerTemp->_PowerInfo.app_power;
+        all->n_power += _globalPowerMangerTemp->_PowerInfo.n_power;
+        all->app_power += _globalPowerMangerTemp->_PowerInfo.app_power;
         nTempSum++;
     }
 
     all->voltage = fSaveVoltage ; 
     all->freq =  fSaveFreq ;
-    all->factor = (f_app_power > 0.0) ? (f_power / f_app_power): 0.0;      
+    all->factor = (all->app_power > 0.0) ? (all->power / all->app_power): 0.0;      
     all->power = all->power;
     
     return 0;
@@ -1023,7 +1022,8 @@ int dev_search_latest_t_ac_power_statistic_info(int nCh, int nType, _OverAllPwrA
         __overChnPwrAckInfo->freq = globalDeviceManger->_globalPowerManger._PowerInfo.freq;
         __overChnPwrAckInfo->consumption = globalDeviceManger->_globalPowerManger._PowerInfo.consumption;
         __overChnPwrAckInfo->factor = globalDeviceManger->_globalPowerManger._PowerInfo.factor;
-
+        __overChnPwrAckInfo->app_power =  globalDeviceManger->_globalPowerManger._PowerInfo.app_power;
+        __overChnPwrAckInfo->n_power =  globalDeviceManger->_globalPowerManger._PowerInfo.n_power;
         __overChnPwrAckInfo->product_name = globalDeviceManger->_globalDevInfo.product.name;
         __overChnPwrAckInfo->product_number = globalDeviceManger->_globalDevInfo.product.number;
         __overChnPwrAckInfo->product_id = globalDeviceManger->_globalDevInfo.product.id;
@@ -1043,13 +1043,17 @@ int dev_search_latest_t_ac_power_statistic_info(int nCh, int nType, _OverAllPwrA
             {
                 continue;
             }
-            __overChnPwrAckInfo->voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage;
+            __overChnPwrAckInfo->voltage = _pTreeACPowerMangerTemp->_PowerInfo.voltage * 1.732;
             __overChnPwrAckInfo->current = _pTreeACPowerMangerTemp->_PowerInfo.current;
             __overChnPwrAckInfo->power = _pTreeACPowerMangerTemp->_PowerInfo.power;
             __overChnPwrAckInfo->freq = _pTreeACPowerMangerTemp->_PowerInfo.freq;
             __overChnPwrAckInfo->consumption = _pTreeACPowerMangerTemp->_PowerInfo.consumption;
             __overChnPwrAckInfo->factor = _pTreeACPowerMangerTemp->_PowerInfo.factor;
 
+            __overChnPwrAckInfo->app_power =  _pTreeACPowerMangerTemp->_PowerInfo.app_power;
+            __overChnPwrAckInfo->n_power =  _pTreeACPowerMangerTemp->_PowerInfo.n_power;
+
+
             __overChnPwrAckInfo->product_name = globalDeviceManger->_globalDevInfo.product.name;
             __overChnPwrAckInfo->product_number = globalDeviceManger->_globalDevInfo.product.number;
             __overChnPwrAckInfo->product_id = globalDeviceManger->_globalDevInfo.product.id;
@@ -2101,7 +2105,7 @@ int dev_insert_t_ac_power_info(sqlite3 *db,GlobalTreeACManager* _globalPowerChnI
     if(overwrite_flag) {
         sprintf(select_sql,"UPDATE %s SET product_index=%d,product_id=%d,product_ph_id=%d,product_ch_id_belong=%d,"
                                           "product_ph_voltage=%.2f,product_ph_current=%.2f,product_ph_power=%.2f,product_ph_power_freq=%.2f,"
-                                          "product_ph_consumption=%.2f,product_ph_power_factor=%.2f,product_ph_samp_time='%s' "
+                                          "product_ph_consumption=%.3f,product_ph_power_factor=%.3f,product_ph_samp_time='%s' "
                                           "WHERE product_index=(SELECT MIN(product_index) FROM %s);",
                             table,
                             *nIndex,
@@ -2119,7 +2123,7 @@ int dev_insert_t_ac_power_info(sqlite3 *db,GlobalTreeACManager* _globalPowerChnI
                             );
     }
     else {
-        sprintf(select_sql,"INSERT INTO %s VALUES (%d,%d,%d,%d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,'%s');",
+        sprintf(select_sql,"INSERT INTO %s VALUES (%d,%d,%d,%d,%.2f,%.2f,%.2f,%.2f,%.3f,%.3f,'%s');",
                             table,
                             *nIndex,
                             pInfo->product_id,