中小企业MES系统概要设计
版本:V1.0
日期:2025年5月2日
一、系统架构设计
1.1 整体架构模式
采用分层微服务架构,实现模块解耦与灵活扩展,支持混合云部署:
1.2 技术架构分层
层级 | 组件 | 技术选型 | 核心能力 |
---|---|---|---|
边缘层 | 工业网关、边缘节点 | Node-RED+Kepware | 协议转换、断网缓存 |
数据层 | 时序数据库+关系库 | TimescaleDB+PG | 冷热数据分离 |
服务层 | 微服务集群 | Spring Boot+Quarkus | 容器化部署 |
应用层 | Web/移动端 | Vue+Uniapp | 渐进式应用 |
二、核心模块设计
2.1 生产执行引擎
2.2 实时数据管道
数据流设计:
设备数据 -> OPC UA网关 -> MQTT Broker -> Flink流处理 -> TimescaleDB↓Redis实时缓存 -> Grafana可视化
2.3 质量管控模型
SPC分析引擎:
class SPCProcessor:def calculate_cpk(self, data):# 动态分组计算X-R控制图ucl = np.mean(data) + 3*np.std(data)lcl = np.mean(data) - 3*np.std(data)return (ucl - lcl)/(6*np.std(data))
2.4 设备健康管理
预测性维护流程:
- 振动传感器数据采集
- 基于LSTM的异常检测
- 维修工单自动生成
- 备件库存联动检查
三、关键接口设计
3.1 外部系统接口
接口类型 | 协议 | 示例 | QoS保障 |
---|---|---|---|
ERP同步 | RESTful | POST /api/erp/workorder | 重试3次+死信队列 |
WMS调用 | WebService | checkMaterialStock() | 事务补偿机制 |
设备控制 | OPC UA | ReadNode(“ns=3;s=Tag123”) | 心跳保活 |
3.2 内部服务接口
工单服务API:
{"api": "/api/v1/workorder","method": "POST","body": {"orderId": "WO2023-001","priority": "HIGH","bomVersion": "2.1"}
}
四、数据架构设计
4.1 数据模型
核心实体关系:
[工单] 1---n [工序]
[工序] 1---n [设备]
[设备] 1---n [传感器]
[工单] 1---n [质量记录]
4.2 存储策略
数据类型 | 存储方案 | 保留策略 |
---|---|---|
实时监控 | TimescaleDB | 原始数据3月,聚合数据5年 |
工艺文件 | MinIO对象存储 | 版本保留+软删除 |
操作日志 | Elasticsearch | 按事件级别分层存储 |
五、安全架构设计
5.1 权限模型
RBAC扩展模型:
5.2 网络安全
- 车间网络:VLAN划分生产网/办公网
- 通信加密:MQTT over TLS1.3+双向证书
- 入侵检测:基于Suricata的异常流量分析
六、部署方案
6.1 物理拓扑
6.2 资源配置
节点类型 | 数量 | 配置 | 高可用方案 |
---|---|---|---|
边缘节点 | 2 | 4C8G+SSD | 双机热备 |
数据库 | 3 | 16C64G+NVMe | Patroni流复制 |
应用节点 | 4 | 8C16G | K8s自动伸缩 |
七、扩展性设计
7.1 水平扩展
- 设备接入:MQTT Broker集群支持动态扩容
- 计算能力:Flink作业自动调整并行度
7.2 垂直扩展
- AI推理:GPU节点挂载到K8s集群
- 内存计算:Redis支持集群分片
八、设计验证
8.1 原型验证点
- 200台设备同时上报数据时,系统延时≤1.5秒
- 主数据库故障后,备库切换时间≤30秒
- 断网4小时内,边缘节点能持续本地化操作
8.2 风险评估
风险项 | 缓解措施 |
---|---|
老旧设备改造难度大 | 提供Modbus转OPC UA协议转换器 |
用户接受度低 | 建立"数字化大使"制度+游戏化培训 |
供应商系统对接延迟 | 定义标准接口规范+模拟测试环境 |
设计特点:
- 边缘-云端协同:关键实时逻辑下沉到边缘层,降低云端依赖
- 柔性扩展:通过K8s+服务网格实现无感知扩缩容
- 双模开发:Java处理核心事务,Python支撑数据分析