项目概述
基于 Electron 的工业 SCADA 桌面应用,支持 Modbus RTU/TCP 主机与 RTU 从机模式,具备 CEMS 数据采集解析、PID 控制、报警管理、仪表状态补偿、历史数据存储、趋势分析、仪表盘看板等完整的脱硝控制功能。
技术栈
| 层 |
技术 |
| 桌面框架 |
Electron 42.x |
| 串口/TCP |
modbus-serial 8.x |
| 数据存储 |
SQLite (sqlite3, WAL 模式) |
| 图表 |
ECharts 5.6 (CDN) |
| Excel |
xlsx 0.18 |
| 代码保护 |
javascript-obfuscator 4.x |
| 打包 |
electron-builder 26.x (NSIS) |
项目结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
Electron_Test/
├── main.js # 主进程入口 (~2020行)
├── preload.js # 安全桥接 (contextBridge, ~150 API)
├── configManager.js # 统一配置管理器 (load/save/list/backupAll)
├── variableRegistry.js # 变量元数据注册表 (category/description/unit)
├── modbusManage.js # Modbus 主机 (连接/读写/队列/诊断)
├── modbusSlave.js # Modbus 从机 (ServeSerial)
├── pidController.js # PID 控制器类 (位置式/抗饱和/微分先行)
├── dataStore.js # SQLite 数据存储 (读写/聚合/列管理)
├── alarmManager.js # 报警引擎 (看门狗/阈值/延时/滞后/历史)
├── authManager.js # 用户管理 (账号/权限/授权/自登录/超时降级)
├── auditLogger.js # 操作审计日志
├── generateLicense.js # 离线授权码生成工具
├── build-obfuscate.js # 构建混淆脚本
├── ipc/
│ ├── modbusIpc.js # Modbus 主机/从机/轮询 IPC
│ ├── pidIpc.js # PID 实例管理 IPC
│ ├── alarmIpc.js # 报警配置 IPC
│ ├── authIpc.js # 用户/授权/自登录 IPC
│ ├── dataIpc.js # 数据存储/映射 IPC
│ ├── variableIpc.js # 变量/过滤器/补偿/字段名 IPC
│ └── systemIpc.js # 健康状态/备份/布局/对话框/审计 IPC
├── pages/
│ ├── home.html # 首页 (功能入口 + 授权检查)
│ ├── dashboard.html # 仪表盘 (组件拖拽/7种组件/聚合模式)
│ ├── dashboard.js # 仪表盘逻辑 (增量渲染/组件注册)
│ ├── dashboardWidgets.js # 组件注册表 (value/status/chart/gauge/...)
│ ├── modbus.html # Modbus 通讯管理
│ ├── modbusRender.js # Modbus 页面逻辑
│ ├── variables.html/js # 内部变量监控 (分类/搜索/元数据)
│ ├── pid.html/js # PID 控制 (多实例/健康灯/偏差带)
│ ├── data.html/js # 数据保存与查询 (保留策略/Excel导出)
│ ├── trend.html/js # 历史趋势 (多轴/聚合/缩放)
│ ├── filter.html/js # 数据过滤器 (按需新增模式)
│ ├── compensation.html/js # 仪表补偿 (状态机/取变量值)
│ ├── alarm.html/js # 报警配置 (看门狗/延时进度/历史查询)
│ ├── auth.html/js # 用户管理 (权限矩阵/审计/自登录/超时)
│ ├── mapping.html/js # 字段映射
│ ├── layout.js # 统一导航栏 (自动注入样式+链接)
│ ├── authGuard.js # 权限守卫 (查权限矩阵)
│ ├── index.css # 基础样式
│ └── theme-light.css # 主题
├── package.json
├── nodemon.json
├── modbus-parse-rules.json # 默认解析规则模板
├── icon.png
├── 开发清单.md
├── 操作手册说明.md
└── data/ # 运行时数据 (安装后在 %APPDATA%)
|
已实现功能
Modbus 通讯
Modbus 从机
后台轮询
通讯诊断
内部变量系统
数据存储
数据查询与趋势
PID 控制
仪表盘
仪表状态补偿
数据过滤器
报警管理
用户管理与授权
系统与安全
用户体验
待开发功能
版本历史
| 版本 |
日期 |
主要变更 |
| 1.0.0 |
2026-06 |
初始发布:Modbus 主/从、PID、报警、补偿、仪表盘、用户管理、自登录、混淆保护 |