核心概念
在开始使用 CMS 之前,理解以下核心概念将帮助您更高效地进行工程开发和系统部署。
CMS 是什么
盛云圈 CMS(以下简称 CMS)是针对装备数字化业务场景诞生的 AI 驱动的新一代工业 SCADA(数据采集与监视控制系统)管控一体开放平台。它将传统 SCADA 的监控能力与现代数据智能技术相结合,为装备制造商(OEM)、系统集成商(SI)和终端工厂(EU)提供完整的数字化解决方案。
系统架构
CMS 采用 三层架构设计,各层职责清晰、相互协作:
┌─────────────────────────────────────────────────┐
│ 客户端层(Client) │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Editor │ │ Vision │ │
│ │ 开发客户端 │ │ 运行客户端 │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────┘
↕ HTTP/WebSocket
┌─────────────────────────────────────────────────┐
│ 服务层(Service) │
│ ┌──────────────────────────────────────────┐ │
│ │ CMS Host(核心服务) │ │
│ │ • 工程管理 • 页面服务 • 用户权限 │ │
│ │ • 数据管理 • 报警服务 • API接口 │ │
│ └──────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────┐ │
│ │ SIOT(变量服务) │ │
│ │ • 设备通讯 • 数据采集 • 实时控制 │ │
│ └──────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
↕ SQL/InfluxDB
┌─────────────────────────────────────────────────┐
│ 数据层(Database) │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ MySQL │ │ InfluxDB │ │
│ │ 关系型数据库 │ │ 时序数据库 │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────┘
客户端层
Editor(开发客户端)
- 面向工程师的开发工具
- 用于创建和配置工程项目
- 包含变量配置、页面设计、脚本编写等功能
- 支持工程调试和测试
Vision(运行客户端)
- 面向现场操作人员的运行环境
- 仅用于加载和运行已开发完成的工程
- 提供实时监控、数据查看、操作控制等功能
- 不具备工程编辑能力
服务层
CMS Host(核心服务)
- 系统的核心后端服务
- 处理工程管理、用户认证、数据处理、报警逻辑等业务
- 提供 RESTful API 供客户 端和第三方系统调用
- 管理工程文件和配置信息
SIOT(变量服务)
- 专门负责设备通讯和数据采集的独立服务
- 支持 200+ 工业协议(如 S7、Modbus、OPC UA 等)
- 实现 100ms 级高速数据采集
- 提供独立的实时控制链路
数据层
MySQL(关系型数据库)
- 存储工程配置、用户信息、报警记录等结构化数据
- 存储数据表、BI 分析等业务数据
InfluxDB(时序数据库)
- 存储变量历史数据
- 优化时间序列数据的存储和查询性能
- 支持高频数据归档
核心对象模型
工程(Project)
工程是 CMS 中的顶层容器,一个工程对应一个完整的应用系统。工程包含:
- 工程文件:扩展名为
.cmsproj,存储所有配置信息(变量、页面、报警等) - 工程数据:运行时产生的业务数据(历史数据、报警记录、生产记录等)
一个典型的工程结构:
焊接产线监控系统.cmsproj
├── 变量配置(IO 通道、变量组、变量点表)
├── 页面配置(监控页面、数据看板)
├── 历史归档配置(归档组、归档策略)
├── 报警配置(报警点、报警规则)
├── 数据表配置(自定义数据结构)
├── 脚本配置(自动化任务、业务逻辑)
└── 系统配置(用户、权限、多语言)
变量(Variable)
变量是 CMS 中的核心数据单元,代表一个可以被读取或写入的数据点。变量分为两类:
外部变量
- 与物理设备绑定,通过工业协议进行通讯
- 例如:PLC 中的
DB1.DBD0(温度传感器值) - 支持实时读取和写入
- 数据类型:Boolean、Int16、Int32、Float、Double、String 等
内部变量
- 仅存在于 CMS 内存中,不与设备绑定
- 用于中间计算、状态标志、页面交互等
- 例如:当前登录用户、计算结果、临时状态
- 数据类型:Boolean、Int16、Int32、Float、Double、String 等
变量属性:
- 名称:变量的唯一标识符(如
Temperature_Zone1) - 数据类型:Boolean、Int16、Int32、Float、Double、String 等
- 地址:外部变量的设备地址(如
DB1.DBD0) - 归档策略:是否记录历史数据及归档频率
通道(Channel)
通道是设备连接的逻辑单元,定义了如何与一个或一组设备进行通讯。
通道配置包括:
- 协议类型:S7、Modbus TCP、OPC UA 等
- 连接参数:IP 地址、端口、从站号等
- 通讯参数:超时时间、重连策略等
一个通道下可以包含多个变量组,用于组织和管理变量。