架构设计

整体架构

┌─────────────────────────────────────────────────────────────────┐
│                      前端界面 (Web UI)                         │
│  ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ │
│  │ 大屏    │ 谱图    │ 方法    │ 处理    │ 报表    │ 设置    │ │
│  └────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┘ │
└───────┼─────────┼─────────┼─────────┼─────────┼─────────┼──────┘
        │         │         │         │         │         │
        ▼         ▼         ▼         ▼         ▼         ▼
┌─────────────────────────────────────────────────────────────────┐
│                    HTTP API / SSE 层                          │
│  REST API │ SSE Events │ SiLA 2 HTTP Gateway                  │
└───────────────────────────┬───────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                    核心业务逻辑层                              │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐           │
│  │ 数据采集    │  │ 循环调度    │  │ 积分分析    │           │
│  │ Collector   │  │ Scheduler   │  │ Analyzer    │           │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘           │
└─────────┼─────────────────┼─────────────────┼─────────────────┘
          │                 │                 │
          ▼                 ▼                 ▼
┌─────────────────────────────────────────────────────────────────┐
│                    HAL 硬件抽象层                              │
│  ┌─────────────┐  ┌─────────────┐                             │
│  │ Legacy GCKC │  │ Modular     │                             │
│  │ (FID)      │  │ (TCD)       │                             │
│  └──────┬──────┘  └──────┬──────┘                             │
└─────────┼─────────────────┼───────────────────────────────────┘
          │                 │
          ▼                 ▼
┌─────────────────────────────────────────────────────────────────┐
│                    硬件设备层                                  │
│  气相色谱仪 (GC9700) | TCD 检测器模块                         │
└─────────────────────────────────────────────────────────────────┘

核心模块

1. Collector(数据采集器)

负责与硬件通信,接收原始数据并解析。

功能

  • 解析 GCKC 协议数据帧
  • 处理 Cmd 143/146/147/150/151 等指令
  • 维护会话状态

2. Scheduler(循环调度器)

管理自动循环进样流程。

功能

  • 控制循环间隔和次数
  • 触发自动开始下一次分析
  • 支持 modular 和 legacy 两种模式

3. Analyzer(积分分析器)

处理色谱数据积分计算。

功能

  • 基线校正
  • 峰检测与积分
  • 保留时间匹配
  • 浓度计算

4. Persistence(数据持久化)

本地数据存储管理。

功能

  • SQLite 数据库操作
  • 历史结果存储
  • 方法配置持久化

数据流

实时数据采集流程

硬件 → Cmd 143 → Collector → SSE → 前端

              Analyzer → Persistence → History API

循环分析流程

Start → resetSession → 数据采集 → finalizeSession → Analyze → Save → 自动循环判断

                                                     循环次数 < 目标次数?
                                                        ↓ Yes       ↓ No
                                                   StartAnalysis   Stop

状态管理

系统采用集中式状态管理:

状态类型存储位置说明
设备状态deviceState当前设备连接状态、会话信息
UI 状态uiState界面配置、循环参数
方法配置SQLite组分、校准曲线
历史数据SQLite分析结果、日志

通信协议

GCKC 协议

指令码名称功能
143实时数据发送采样数据
146周期开始标记新周期开始
147采集结束标记采集完成
150开始确认硬件开始确认
151通道结束单通道采集结束
159温度数据硬件温度信息

SiLA 2 接口

  • ChromatographService - 色谱仪控制
  • DetectorService - 检测器控制
  • TemperatureController - 温度控制
  • PneumaticController - 气路控制
  • HistoryService - 历史数据查询