Просмотр исходного кода

1、调整干接点传感器报警逻辑;
2、增加军工可控单相、浪潮交流单相项目配置;
3、调整web传感器信息及历史记录信息显示;
4、版本升级为1.3.2

liyuezong 1 год назад
Родитель
Сommit
fd56b5dcb1
40 измененных файлов с 203 добавлено и 33 удалено
  1. 23 5
      cust_data/changes.txt
  2. 81 1
      cust_data/changes_list.txt
  3. 1 1
      cust_data/web/unique/css/chunk-e1cdaf06.3071b55e.css
  4. 0 1
      cust_data/web/unique/css/chunk-41dd41f6.b6b37513.css
  5. 0 0
      cust_data/web/unique/css/chunk-57843966.6542ae50.css
  6. 1 0
      cust_data/web/unique/css/chunk-6a375787.9dcba7cb.css
  7. 1 0
      cust_data/web/unique/css/chunk-6a41ebae.3b2ec4fe.css
  8. 1 1
      cust_data/web/unique/css/chunk-19de9b16.0cd8c024.css
  9. 0 1
      cust_data/web/unique/css/chunk-7d2c5f6a.ff4e1c03.css
  10. 0 0
      cust_data/web/unique/css/chunk-cc382508.2f9fde42.css
  11. 1 0
      cust_data/web/unique/css/chunk-d2a8b5fc.629da370.css
  12. 2 1
      cust_data/web/unique/i18n/i18n_deguo.js
  13. 2 1
      cust_data/web/unique/i18n/i18n_eguo.js
  14. 2 1
      cust_data/web/unique/i18n/i18n_faguo.js
  15. 2 1
      cust_data/web/unique/i18n/i18n_putaoya.js
  16. 2 1
      cust_data/web/unique/i18n/i18n_riben.js
  17. 2 1
      cust_data/web/unique/i18n/i18n_xibanya.js
  18. 2 1
      cust_data/web/unique/i18n/i18n_yidali.js
  19. 2 1
      cust_data/web/unique/i18n/i18n_yingguo.js
  20. 2 1
      cust_data/web/unique/i18n/i18n_zh_CN.js
  21. BIN
      cust_data/web/unique/img/glys.png
  22. BIN
      cust_data/web/unique/img/szgl.png
  23. 1 1
      cust_data/web/unique/index.html
  24. 1 1
      cust_data/web/unique/js/app.d48fecdb.js
  25. 1 0
      cust_data/web/unique/js/chunk-0c2af50c.d2c2e287.js
  26. 0 1
      cust_data/web/unique/js/chunk-19de9b16.22da39e2.js
  27. 0 1
      cust_data/web/unique/js/chunk-1d2f2a6e.8b1e610c.js
  28. 0 1
      cust_data/web/unique/js/chunk-308d46fc.9f9c57bc.js
  29. 0 1
      cust_data/web/unique/js/chunk-41dd41f6.0b3a6d2d.js
  30. 1 0
      cust_data/web/unique/js/chunk-57843966.1b8d5bb7.js
  31. 1 0
      cust_data/web/unique/js/chunk-6a375787.8cf72e11.js
  32. 1 0
      cust_data/web/unique/js/chunk-6a41ebae.ba524e46.js
  33. 1 0
      cust_data/web/unique/js/chunk-6af94763.190f3b3b.js
  34. 0 1
      cust_data/web/unique/js/chunk-7d2c5f6a.d794b80b.js
  35. 1 0
      cust_data/web/unique/js/chunk-cc382508.e46bf80d.js
  36. 1 0
      cust_data/web/unique/js/chunk-d2a8b5fc.4886acbc.js
  37. 0 1
      cust_data/web/unique/js/chunk-e1cdaf06.8777f66d.js
  38. 53 2
      pro/config/cfg.h
  39. 6 4
      pro/src/app.c
  40. 8 0
      pub

+ 23 - 5
cust_data/changes.txt

@@ -1,3 +1,21 @@
+#V1.3.2 (2025-08-23 - 2025-09-30) 
+
+**New Features**
+-   Added historical record chart display for dry contact type sensors.
+-   Added the display of total input information for three-phase type PDUs.
+-   Added the display of apparent power for both three-phase and single-phase type PDUs.
+-   Added an MQTT interface for per-phase threshold exceedance alarms.
+-   Added over-limit action protection for L1, L2, and L3.
+
+**Bug Fixes**
+-   Fixed the bug where dry contact sensor alarms are ineffective.
+-   Fixed the error in threshold distribution during the startup of three-phase PDUs.
+
+**Optimizations**
+-   Optimized the sensor information display interface.
+
+------------------------------------------------------------------------------
+
 #V1.3.1 (2025-07-21 - 2025-08-22) 
 
 **New Features**
@@ -12,10 +30,10 @@
 
 **Optimizations**
 -   Adjusted the overall threshold minimum to 0.05.
--  Adjusted the Websocket queue size to reduce program memory usage.
--  Optimized the 4G module SIM card hot-swapping function (requires hardware support for the 4G card slot).
--  Optimized the switching logic for 4G, WIFI, and wired network ports.
--  Modified channel scanning to repeat twice to prevent board loss due to serial communication failures.
+-   Adjusted the Websocket queue size to reduce program memory usage.
+-   Optimized the 4G module SIM card hot-swapping function (requires hardware support for the 4G card slot).
+-   Optimized the switching logic for 4G, WIFI, and wired network ports.
+-   Modified channel scanning to repeat twice to prevent board loss due to serial communication failures.
 
 ------------------------------------------------------------------------------
 
@@ -406,4 +424,4 @@
 -   Merged RAM/ROM checks into a unified interface.
 -   Optimized temperature/humidity sensor threshold retrieval logic.
 -   Updated Web to version 9.28.
--   Added null checks to prevent out-of-bounds crashes.
+-   Added null checks to prevent out-of-bounds crashes.

+ 81 - 1
cust_data/changes_list.txt

@@ -1,3 +1,83 @@
+#V1.3.2 (2025-08-23 - 2025-09-30) 
+
+**New Features**
+-   Added historical record chart display for dry contact type sensors.
+-   Added the display of total input information for three-phase type PDUs.
+-   Added the display of apparent power for both three-phase and single-phase type PDUs.
+-   Added an MQTT interface for per-phase threshold exceedance alarms.
+-   Added over-limit action protection for L1, L2, and L3.
+
+**Bug Fixes**
+-   Fixed the bug where dry contact sensor alarms are ineffective.
+-   Fixed the error in threshold distribution during the startup of three-phase PDUs.
+
+**Optimizations**
+-   Optimized the sensor information display interface.
+
+------------------------------------------------------------------------------
+
+#V1.3.1 (2025-07-21 - 2025-08-22) 
+
+**New Features**
+-   Added a pop-up display for alarm information on the small screen, showing up to 10 recent alarms.
+
+**Bug Fixes**
+-   Fixed the issue of MAC address jumping during PDU startup.
+-   Fixed the inaccurate total power consumption statistics for each phase in the scenario of three-phase input and single-phase output.
+-   Fixed the sensor alarm translation errors.
+-   Fixed the issue where IPv4 settings cannot be changed on the web interface when DHCP fails to allocate an IP address.
+-   Fixed the false red light initialization alarm on the small screen status indicator.
+
+**Optimizations**
+-   Adjusted the overall threshold minimum to 0.05.
+-   Adjusted the Websocket queue size to reduce program memory usage.
+-   Optimized the 4G module SIM card hot-swapping function (requires hardware support for the 4G card slot).
+-   Optimized the switching logic for 4G, WIFI, and wired network ports.
+-   Modified channel scanning to repeat twice to prevent board loss due to serial communication failures.
+
+------------------------------------------------------------------------------
+
+#V1.3.0 (2025-06-27 - 2025-07-20) 
+
+**New Features**
+-   Added SNMP overall power information over-limit alarm functionality.
+-   Introduced memory detection tool for enhanced system diagnostics.
+-   Implemented batch writing of MAC addresses from CSV files for product information configuration.
+-   Enhanced SNMP protocol support with power and sensor over-limit alarm information interfaces.
+-   Included Malaysia project sensor configuration database.
+
+**Bug Fixes**
+-   Fixed device cascading read/write instruction issues causing serial port failure.
+-   Resolved memory leaks caused by HTTP requests.
+-   Fixed memory leak issues in the MQTT WebSocket interface.
+-   Corrected the issue where control panel data still appeared after going offline.
+-   Addressed NTP memory leak problems due to unrecovered thread creation.
+-   Fixed system crashes caused by reading circuit breaker and channel information during cascading.
+-   Resolved the issue of the system recording to the database even when the control board was unreadable.
+-   Corrected the display of multiple historical records for dry contact sensors.
+-   Fixed the bug where the current reading might be zero.
+-   Addressed the issue where the current could not be read.
+-   Fixed the SMTP toggle defect on the web interface.
+-   Resolved the issue where multiple MQTT servers could only push to one server.
+-   Corrected the garbled text issue when multiple MQTT servers published simultaneously.
+-   Fixed the issue where 4G WebSocket might cause memory leaks.
+-   Resolved the initial 4G startup issue where MQTT could not connect and send messages.
+-   Fixed the problem where reading power information might return zero.
+
+**Optimizations**
+-   Adjusted the overall threshold minimum to 0.05.
+-   Enhanced cascading functionality.
+-   Modified the MQTT protocol topic definition to merge all channels and sensors into one package, reducing network latency.
+-   Adjusted the frequency of power information, sensor, network status, and device information transmissions.
+-   Improved the MQTT client ID generation to be random.
+-   Optimized MQTT server information modification to automatically disconnect.
+-   Enhanced the MQTT reconnection mechanism with ping connection status detection.
+-   Streamlined the web interface for MQTT modifications.
+-   Improved multi-network card switching functionality.
+-   Optimized the subscription instruction sending method to subscribe after a successful connection.
+
+------------------------------------------------------------------------------
+
 # V1.2.0 (2025-06-16 - 2025-06-26)
 
 **New Features**
@@ -344,4 +424,4 @@
 -   Merged RAM/ROM checks into a unified interface.
 -   Optimized temperature/humidity sensor threshold retrieval logic.
 -   Updated Web to version 9.28.
--   Added null checks to prevent out-of-bounds crashes.
+-   Added null checks to prevent out-of-bounds crashes.

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
cust_data/web/unique/css/chunk-e1cdaf06.3071b55e.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/css/chunk-41dd41f6.b6b37513.css


cust_data/web/unique/css/chunk-1d2f2a6e.6542ae50.css → cust_data/web/unique/css/chunk-57843966.6542ae50.css


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/css/chunk-6a375787.9dcba7cb.css


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/css/chunk-6a41ebae.3b2ec4fe.css


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
cust_data/web/unique/css/chunk-19de9b16.0cd8c024.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/css/chunk-7d2c5f6a.ff4e1c03.css


cust_data/web/unique/css/chunk-308d46fc.2f9fde42.css → cust_data/web/unique/css/chunk-cc382508.2f9fde42.css


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/css/chunk-d2a8b5fc.629da370.css


+ 2 - 1
cust_data/web/unique/i18n/i18n_deguo.js

@@ -475,6 +475,7 @@ const i18n_deguo= {
   "zttsts":"Die Änderung erfordert die Auswahl der Option Pause Push",
   "shuangx":"zweiphasig",
   "dxts":"SMS Push",
-  "rwsl":"Anzahl der Aufgaben"
+  "rwsl":"Anzahl der Aufgaben",
+  "glys":"Leistungsfaktor"
 
 }

+ 2 - 1
cust_data/web/unique/i18n/i18n_eguo.js

@@ -476,5 +476,6 @@ const i18n_eguo={
   "zttsts":"Изменения необходимо отменить",
   "shuangx":"Двойная фаза",
   "dxts":"Сообщение push",
-  "rwsl":"Количество заданий"
+  "rwsl":"Количество заданий",
+  "glys":"Коэффициент мощности"
 }

+ 2 - 1
cust_data/web/unique/i18n/i18n_faguo.js

@@ -475,7 +475,8 @@ const i18n_faguo={
   "zttsts":"Modification à cocher pause push",
   "shuangx":"Duplex",
   "dxts":"SMS push",
-  "rwsl":"Nombre de tâches"
+  "rwsl":"Nombre de tâches",
+  "glys":"Facteur de puissance"
 
 
 }

+ 2 - 1
cust_data/web/unique/i18n/i18n_putaoya.js

@@ -475,7 +475,8 @@ const i18n_putaoya={
   "zttsts":"A modificação requer a seleção da opção 'Pause Push'",
  "shuangx":"bifásico",
   "dxts":"Push SMS",
-  "rwsl":"Número de tarefas"
+  "rwsl":"Número de tarefas",
+  "glys":"Fator de potência"
 
 
 

+ 2 - 1
cust_data/web/unique/i18n/i18n_riben.js

@@ -476,7 +476,8 @@ const i18n_riben={
   "zttsts":"プッシュの一時停止をチェックする必要がある修正",
   "shuangx":"にそう",
   "dxts":"メールプッシュ",
-  "rwsl":"タスク数"
+  "rwsl":"タスク数",
+  "glys":"パワーファクタ"
 
 
 

+ 2 - 1
cust_data/web/unique/i18n/i18n_xibanya.js

@@ -476,7 +476,8 @@ const i18n_xibanya={
   "zttsts":"Modificación debe marcar para suspender el empuje",
   "shuangx":"Bifásico",
   "dxts":"SMS Push",
-  "rwsl":"Número de tareas"
+  "rwsl":"Número de tareas",
+  "glys":"factor de potencia"
 
 
 

+ 2 - 1
cust_data/web/unique/i18n/i18n_yidali.js

@@ -475,7 +475,8 @@ const i18n_yidali={
   "zttsts":"La modifica richiede la selezione dell'opzione Pausa Push",
   "shuangx":"bifase",
   "dxts":"Invio SMS",
-  "rwsl":"Numero di compiti"
+  "rwsl":"Numero di compiti",
+  "glys":"Fattore di potenza"
 
 
 

+ 2 - 1
cust_data/web/unique/i18n/i18n_yingguo.js

@@ -475,5 +475,6 @@ const i18n_yingguo={
   "zttsts":"Modification requires selecting 'Pause Push' option",
   "shuangx":"two-phase",
   "dxts":"SMS push",
-  "rwsl":"Number of tasks"
+  "rwsl":"Number of tasks",
+  "glys":"power factor"
 }

+ 2 - 1
cust_data/web/unique/i18n/i18n_zh_CN.js

@@ -475,7 +475,8 @@ const i18n_zh_CN = {
   "zttsts":"修改需勾选暂停推送",
   "shuangx":"双相",
   "dxts":"短信推送",
-  "rwsl":"任务数量"
+  "rwsl":"任务数量",
+  "glys":"功率因数"
 
 
 

BIN
cust_data/web/unique/img/glys.png


BIN
cust_data/web/unique/img/szgl.png


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
cust_data/web/unique/index.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
cust_data/web/unique/js/app.d48fecdb.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/js/chunk-0c2af50c.d2c2e287.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/js/chunk-19de9b16.22da39e2.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/js/chunk-1d2f2a6e.8b1e610c.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/js/chunk-308d46fc.9f9c57bc.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/js/chunk-41dd41f6.0b3a6d2d.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/js/chunk-57843966.1b8d5bb7.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/js/chunk-6a375787.8cf72e11.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/js/chunk-6a41ebae.ba524e46.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/js/chunk-6af94763.190f3b3b.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/js/chunk-7d2c5f6a.d794b80b.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/js/chunk-cc382508.e46bf80d.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
cust_data/web/unique/js/chunk-d2a8b5fc.4886acbc.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
cust_data/web/unique/js/chunk-e1cdaf06.8777f66d.js


+ 53 - 2
pro/config/cfg.h

@@ -2,7 +2,7 @@
 #define __CONFIG_Hx__
 
 
-#define VERSION                                 "V1.3.1"
+#define VERSION                                 "V1.3.2"
 
 
 /////////////customer demannd//////////////////////
@@ -29,6 +29,8 @@
 //#define PRJ_TEST_AC_I3_O3
 //#define PRJ_ESOUTH_DC_I1_O4_RGB5
 //#define PRJ_CHANGCHUN_AC_I1_O1_OLED
+//#define PRJ_JUNGONG_KEKONG_AC_I1_O1_OLED
+#define PRJ_INSPUR_AC_I1_O1
 
 //#define PRJ_TIDA_AC_I3_O1
 //#define PRJ_INST2302_DC_OLED
@@ -46,7 +48,7 @@
 //#define PRJ_IP_CHONGQING_AC_I1_O1
 //#define PRJ_IP_AOSENS_AC_I1_O1
 //#define PRJ_IP_AOSENS_DC_I_O
-#define PRJ_IP_DEBIAO_AC_I3_O1
+//#define PRJ_IP_DEBIAO_AC_I3_O1
 #define USE_MAIL
 #define MAIL_SEND_BUILTIN
 
@@ -294,6 +296,55 @@
     #define USE_UI
 
     
+    #define USE_WATCHDOG
+
+    #define USE_BEEP                            1
+    #define USE_LED                             1
+
+    #define FLIP_TIME 5
+
+    #define SENSOR_ACCESS_NONE
+
+#elif defined PRJ_INSPUR_AC_I1_O1
+    #define LANGUAGE                            0           //chinese
+    #define SMPLE_TIME                          30          //ms
+    #define SAVE_TIME                           60000       //ms
+    #define CASCADE_CNT                         0
+
+    #define PHASE_GROUP                         20
+    #define CHANNEL_DELAY                       20
+
+    #define PROD_POWER_TYPE                     0
+
+     #define BRD_MAX                             6
+	
+    #define USE_BEEP                            1
+    #define USE_LED                             1
+
+    #define ROTATE 0
+
+    #define USE_WATCHDOG
+
+    #define SENSOR_ACCESS_NONE
+
+#elif defined PRJ_JUNGONG_KEKONG_AC_I1_O1_OLED
+    #define LANGUAGE                            0           //chinese
+    #define SMPLE_TIME                          30          //ms
+    #define SAVE_TIME                           60000       //ms
+    #define CASCADE_CNT                         0
+
+    #define PHASE_GROUP                         3
+    #define CHANNEL_DELAY                      3
+
+    #define PROD_POWER_TYPE                     0
+
+    #define BRD_MAX                             5
+
+    #define ROTATE 180
+
+    #define USE_UI
+
+    
     #define USE_WATCHDOG
 
     #define USE_BEEP                            1

+ 6 - 4
pro/src/app.c

@@ -2278,7 +2278,7 @@ static void* sensor_thread(void* arg)
                     }
                     else
                     {
-                        if (nStatus == 1 && _globalSensorMangerTemp->Cur_sensor_info.val1 == 0)
+                        if (nStatus == 1 && _globalSensorMangerTemp->Cur_sensor_info.val1 != 1)
                         {
                             alarmflag = true;
                         }
@@ -2340,13 +2340,15 @@ static void* sensor_thread(void* arg)
 
             case SENSOR_TYPE_AIR_PRESS: // 气流
             {
-                    _globalSensorInfo.val1=0;
-                    _globalSensorInfo.val2=0;
-                    _globalSensorMangerTemp->Cur_sensor_info=_globalSensorInfo;
+                _globalSensorMangerTemp->sensor_status = 1;
+                _globalSensorInfo.val1 = 0;
+                _globalSensorInfo.val2 = 0;
+                _globalSensorMangerTemp->Cur_sensor_info = _globalSensorInfo;
             }
             break;
             case SENSOR_TYPE_AIR_COND: // 空调
             {
+                 _globalSensorMangerTemp->sensor_status = 1;
                 _globalSensorInfo.val1 = 0;
                 _globalSensorInfo.val2 =0;
                 _globalSensorMangerTemp->Cur_sensor_info = _globalSensorInfo;

+ 8 - 0
pub

@@ -33,6 +33,8 @@
 #PRJS="PRJ_CHANGCHUN_AC_I1_O1_OLED"
 #PRJS="PRJ_TIDA_AC_I3_O1"
 #PRJS="PRJ_BYD_UPS_AC_I1_O1"
+#PRJS="PRJ_JUNGONG_KEKONG_AC_I1_O1_OLED"
+PRJS="PRJ_INSPUR_AC_I1_O1"
 
 #PRJS="PRJ_USASL_AC_I3_O1 PRJ_USASL_AC_I3_O3"
 #PRJS="PRJ_XIAN_AC_I1_O1_P4 PRJ_XIAN_AC_I1_O1_P8"
@@ -224,6 +226,12 @@ function do_copy()
     elif [ "$1" = "PRJ_CHANGCHUN_AC_I1_O1_OLED" ];then
         name=ac_in1_out1_changchun_OLED_release
 	rm -f $appdir/Qt_Test
+    elif [ "$1" = "PRJ_JUNGONG_KEKONG_AC_I1_O1_OLED" ];then
+        name=ac_in1_out1_jungongkekong_OLED_release
+	rm -f $appdir/Qt_Test
+    elif [ "$1" = "PRJ_INSPUR_AC_I1_O1" ];then
+        name=ac_in1_out1_inspur_release
+	cp -f $custdir/logo/upulsepower.png $appdir/image/logo.png
     else
         echo error! $RPJ not define!!!
         exit 1