Web UI 环境配置
该页面用于在 Web 端编辑网关的设置(Edge 标识 · OPC UA · 数据传输 · 运行模式 · Platform · AI · HA)。数值最终存储在 app.properties 中。
1. 界面构成 — 7 标签页表单
该界面通过按项分类的表单来编辑网关设置。每个输入框下方都标注了该值的含义及其默认值。

| 序号 | 位置 | 功能 |
|---|---|---|
| ① | 顶部 | 注意面板 — 重启必要性 · 必填项 · Web 无法访问时的对策 |
| ② | 下方 | 7 个标签页 — Edge · OPC UA 服务器 · 数据传输 · 运行模式 · Platform / API · AI 助手 · HA (双 Edge) |
| ③ | 右上角 | 保存 — 不仅保存当前标签页,而是保存所有数值 |
| ④ | 正文 | 组标题 — 一个标签页内再次分为多个分组 |
| ⑤ | 每行 | 标签 · 输入框 · 说明与默认值 |
| ⑥ | 下方 | 分组延续 (PLC 采集器 · 诊断 · REST API 认证 …) |
之前是通过 CodeMirror 直接编辑 app.properties 全文的界面。现在是按项分类的表单,无需直接输入键名。仅在 Web 无法打开时 才需要手动修改文件,修改位置请参考注意面板中记载的 /opt/kopens/plantpulse-edge/conf/app.properties。
主页卡片 环境配置 → 点击,或 /ui/system/config。
2. 各标签页内容
Edge
| 分组 | 项目 |
|---|---|
| Edge 标识 | edge.id · edge.site_id · 数据保留周期(edge.ttl) · 24/7 运行(edge.always-on) · Platform 回调地址(edge.base_url) |
| 管理员账户 | edge.admin_login_id · edge.admin_password |
| 初始注册 (CSV) | edge.init — 启动时自动注册放置在 /ui/connect/csv 的 OPC·标签 CSV 文件 |
| PLC 采集器 | 采集线程数 · 强制连接重置(ms) · 连接警告(ms) · 地址扫描警告(ms) · 地址映射扫描警告(ms) |
| 诊断 | edge.diagnostic.send.enabled — 定期发送至 Platform 诊断服务器 |
| REST API 认证 | edge.rest.api.auth · edge.rest.api.key |
留空时将按照 LAN1 → LAN2 → 主机名 的顺序自行确定。仅在位于 NAT 之后或使用独立管理网络时请明确指定。虽然支持域名和主机名,但由于 Platform 仅对私有 IP 实施宽松的证书检查,若使用名称,自签名证书可能会被 TLS 拦截。
OPC UA 服务器
这是 Edge 向外提供 的 OPC UA 服务器(外部 SCADA 连接端)。 域名 · TCP 端口 · TLS 端口 · 用户 · 密码 · 允许匿名访问 · 无安全端点。
数据传输
| 分组 | 项目 |
|---|---|
| MQTT 发行者 | mqtt.enable · 主机 · 端口 · 用户 · 密码 · 主题 |
| Sparkplug B | sparkplug.enable · 组 ID · Edge 节点 ID · 设备策略 · QoS · bdSeq 路径 · 使用别名 · 命令接收(sparkplug.cmd.enable) |
运行模式
仅有 dev.mode 一个选项 — 仅分为 EDGE(连接 Platform) / STANDALONE(未连接) 两种。
若输入 PLATFORM,将停止启动。
Platform / API
Platform 服务器连接 — 主机 · 端口 · SSL · API 密钥 · 消息传递使用状态及 Broker 地址。
此标签页设有 连接测试 按钮。如界面说明所述,「不保存,使用当前界面输入的值尝试连接 Platform /api/v5」。由于 ping 不需要认证,因此API 密钥也将一同验证 — 这可以防止在输入错误密钥保存并重启后才发现问题。
AI 助手
| 分组 | 项目 |
|---|---|
| AI 推理 API | ai.enabled · ai.api.base_url · ai.model · ai.api.key |
| 调优 | ai.max_tool_steps · ai.timeout_ms · ai.bulk_read_limit |
详情请参阅 AI Edge 助手。
HA (双 Edge)
| 分组 | 项目 |
|---|---|
| HA 配对 | ha.peer.enabled · 对端主机 · 确认周期(ms) |
| PLC 写入权限 | edge.plc.write_authority |
3. 保存与生效
保存 不仅写入当前可见标签页,还会同时写入所有标签页的数值 (POST /config/save)。保存立即生效,但 运行时需在重启后 生效。
1. [저장] → 토스트 "재시작 필요"
2. 외부 SCADA / Sparkplug 수신측에 점검 공지 (앱만 재시작해도 30~90초는 끊깁니다)
3. 재시작 (/config/restart 또는 bin/restart.sh)
4. 1–2초 대기 → 화면 새로고침 → /api/v1/edge 로 새 값 확인
仅需重启应用的项目,使用 restart-app.sh (30~90秒) 即可。需要重新启动 DB / MQTT 的项目(例如:mqtt.enable 切换),请执行 全部重启。
如界面警告所述 — 「留空必填键或保存错误值可能会导致 下次启动失败」。若 Web 无法打开,请通过 SSH 进入直接修改 /opt/kopens/plantpulse-edge/conf/app.properties 并执行 bin/restart.sh。
在容器模式 (2026.05+) 中,保存时 /etc/kopens/app.properties (主机绑定挂载) 会更新,通过重启容器即可生效。HiveMQ Broker 的 auth.properties 在每次启动时 entrypoint 会与 mqtt.server.* 自动同步,因此 无需手动操作。
也可使用 CLI 操作。
sudo bash /opt/kopens/install/bin/config.sh --set edge.rest.api.auth true
sudo bash /opt/kopens/install/bin/config.sh --restart
4. 常见误区
| 现象 | 原因 / 解决 |
|---|---|
| 已保存但更改未生效 | 未重启。请调用 bin/restart.sh |
| 保存后 Web 无法访问 | 必填项留空或格式损坏。通过 SSH 手动恢复 |
| 无法连接 Platform | 请先点击 连接测试 — 可一次性排查主机·端口·SSL·API 密钥 |
| 保存后未弹出 Toast 通知 | 通信错误 → 检查网络 / Tomcat 状态 (bin/ps.sh) |
所有键的含义及默认值请参阅 app.properties 参考。
5. 系统标签 (自动注册 / 90000–90037)
网关启动时,会将自身的系统连接(OPC_SYSTEM_<edge_id>)和 38 个系统标签(TAG_<edge_id>_90000 ~ _90037)自动注册到 OPC-UA 服务器。外部 SCADA / IIoT 端订阅这些标签,即可获取网关的 状态/标识/网络 信息。
5.1 标识 / 网络 (90000–90006)
| 索引 | 指标 | 类型 | 含义 |
|---|---|---|---|
| 90000 | HOSTNAME | STRING | Edge 盒主机名称 |
| 90001 | VERSION | STRING | Edge SW 版本 |
| 90002 | NET_1_IP | STRING | 网络端口 1 IP |
| 90003 | NET_2_IP | STRING | 网络端口 2 IP |
| 90004 | NET_WIFI_IP | STRING | Wi-Fi IP |
| 90005 | NET_VPN_IP | STRING | VPN IP |
| 90006 | PING | BOOLEAN | Platform 可达性 |
5.2 资源 (90007–90011)
| 索引 | 指标 | 类型 | 含义 |
|---|---|---|---|
| 90007 | CPU_USED_PERCENT | DOUBLE | CPU 使用率 (%) |
| 90008 | MEMORY_USED_PERCENT | DOUBLE | 内存使用率 (%) |
| 90009 | DISK_USED_PERCENT | DOUBLE | 磁盘使用率 (%) |
| 90010 | NETWORK_RX_BYTES | LONG | 网络接收字节 |
| 90011 | NETWORK_TX_BYTES | LONG | 网络发送字节 |
5.3 采集 / 传输 / 系统 (90012–90027)
| 索引 | 指标 | 类型 | 含义 |
|---|---|---|---|
| 90012 | PLC_CON_CONNECTED_COUNT | LONG | 已连接数 |
| 90013 | PLC_CON_DISCONNECTED_COUNT | LONG | 断开连接数 |
| 90014 | PLC_VALUE_READ_SUCCESS_COUNT | LONG | 标签读取成功数 |
| 90015 | PLC_VALUE_READ_ERROR_COUNT | LONG | 标签读取失败数 |
| 90016 | SENDED_POINT_COUNT | LONG | 发送至 Platform 的点数 |
| 90017 | SENDED_POINT_BYTES | LONG | 发送至 Platform 的字节数 |
| 90018 | MPS | LONG | 每秒处理点数 |
| 90019 | TEMPERATURE | INT | 设备温度 |
| 90020 | OPC_COUNT | INT | 已注册连接数 |
| 90021 | TAG_COUNT | INT | 已注册标签数 |
| 90022 | SERVER_STARTED_TIMESTAMP | LONG | Edge 启动时间 (epoch ms) |
| 90023 | PLC_PING_FAILED_COUNT | INT | 无 ping 响应的设备数 |
| 90024 | SYSTEM_DB_TTL | INT | 本地数据保留周期 (TTL) |
| 90025 | SYSTEM_TOTAL_DB_SIZE | LONG | 本地 DB 大小 |
| 90026 | SYSTEM_ERROR_COUNT | LONG | Edge 错误数 |
| 90027 | THREAD_COUNT | LONG | JVM 线程数 |
5.4 运行 / 标识 (90028–90037)
| 索引 | 指标 | 类型 | 含义 |
|---|---|---|---|
| 90028 | CONNECTED_OPC_IDS | STRING | 已连接 ID 列表 |
| 90029 | API_KEY | STRING | REST API 密钥位。数值始终掩码(******),不发送实际密钥 |
| 90030 | REGISTED_OPC_IDS | STRING | 已注册 ID 列表 |
| 90031 | DISCONNECTED_OPC_IDS | STRING | 断开 ID 列表 |
| 90032 | COLLECTING_OPC_IDS | STRING | 采集中 ID 列表 |
| 90033 | STOPPED_OPC_IDS | STRING | 采集停止 ID 列表 |
| 90034 | BUILD_DATE | STRING | Edge 构建日期 |
| 90035 | DOCKER_CONTAINER_NAMES | STRING | 运行中的 Docker 容器 |
| 90036 | NET_MGNT_IP | STRING | 管理网络 IP |
| 90037 | NET_GSM_IP | STRING | 蜂窝(GSM) IP |
类型为 Schema 类型。CPU · 内存 · 磁盘使用率和网络字节以 INT 发行。系统标签由
SendTask每 10 秒更新一次。外部 SCADA 订阅此项即可在 无需前往现场 的情况下,通过仪表盘一目了然地掌握 Edge 状态。
6. 深入了解
- 所有键的含义: app.properties 参考
- 更改后重启: 重启 (
restart.sh) - 备份后更改: 备份 (
backup.sh) - 通过系统日志验证更改: 查看系统日志
- REST API 认证 / 密钥发放: REST API 指南