系统组成
CMS 采用三层架构设计,各层职责明确、相互协作。本文介绍系统的各个组成部分及其作用。
💡 提示:如需了解架构原理和数据流向,请先阅读 核心概念 - 系统架构
客户端程序
Editor(开发客户端)
用途:工程开发和配置
主要功能:
- 工程管理:创建、打开、备份、还原工程
- 变量配置:设备连接、变量定义、历史归档设置
- 页面设计:拖拽式界面设计、组件配置、数据绑定
- 业务配置:报警规则、数据表结构、脚本编写、权限管理
- 调试测试:实时监控、数据查看、功能验证
适用人员:工程师、开发人员
启动方式:CMS 服务监控 → 点击"启动"按钮

Vision(运行客户端)
用途:工程运行和现场监控
主要功能:
- 加载并运行已开发的工程
- 实时显示监控页面
- 数据查看和操作交互
- 报警查看和确认
- 生产数据记录
适用人员:现场操作人员、管理人员
启动方式:CMS 服务监控 → 配置运行工程 → 点击"启动"按钮

服务程序
CMS 服务监控
用途:管理和监控后台服务
主要功能:
- 服务启停控制
- 数据库连接配置
- 授权管理和查看
- 系统日志查看
- 运行状态监控
访问方式:
- 双击桌面图标启动
- 点击任务栏托盘图标打开控制面板

重要提示:完全退出 CMS 需要右键托盘图标选择"退出",否则服务将在后台继续运行。
CMS Host(核心服务)
职责:
- 工程配置信息管理
- 用户认证和权限控制
- 数据处理和业务逻辑执行
- 报警条件判断和记录
- RESTful API 接口服务
- 页面资源服务
技术特点:
- 基于 .NET 6/8 开发
- 支持高并发访问
- 提供 WebSocket 实时通讯
SIOT(变量服务)
职责:
- 工业协议解析和设备通讯
- 实时数据采集(支持 100ms 级高速采集)
- 变量读写和控制指令下发
- 数据缓存和转发
- 设备连接状态监控
技术特点:
- 独立进程运行,保证采集稳定性
- 支持 200+ 工业协议
- 提供独立的实时控制链路
数据存储
MySQL(关系型数据库)
存储内容:
- 工程配置信息(变量定义、页面配置、报警规则等)
- 用户和权限数据
- 报警历史记录
- 业务数据表(生产记录、质量数据等)
- 变量归档数据(通过数据管理模块配置)
- 系统日志
版本要求:MySQL 8.0.32 或更高版本
替代方案:SQL Server 2016 或更高版本
InfluxDB(时序数据库)
存储内容:
- 变量历史归档数据(通过历史库模块配置)
- 高频时间序列数据
技术特点:
- 针对时间序列数据优化
- 支持高效的时间范围查询
- 自动数据压缩和过期清理
版本:InfluxDB 2.x(内置,自动安装)
归档方式对比
CMS 提供两种变量归档方式:
| 归档方式 | 存储位置 | 适用场景 | 配置位置 |
|---|---|---|---|
| 历史库归档 | InfluxDB | 高频时序数据、趋势分析 | 历史库模块 |
| 数据管理归档 | MySQL | 与业务数据关联、复杂查询 | 数据管理模块 |
详见 数据管理模块 说明。
工程文件
工程文件(.cmsproj)
工程文件是 CMS 的核心配置文件,扩展名为 .cmsproj,采用 SQLite 数据库格式,包含:
数据采集配置:
- IO 通道定义(协议、连接参数)
- 变量组和变量定义
- 历史归档策略
界面配置:
- 页面布局和组件
- 组件属性和样式
- 数据绑定关系
业务配置:
- 报警点和报警规则
- 数据表结构定义
- 脚本代码和任务
系统配置:
- 用户账号和权限
- 多语言翻译
- 系统参数
文件位置:
- 开发环境:用户自定义位置
- 运行环境:通过服务监控配置