MES 生产执行中心 — 业务设计(与PLM底座对接)
一、设计原则
- MES 是 PLM 的下游执行层,不是独立系统
- 复用现有能力:7能力引擎/导入导出/复制粘贴/数字员工/规则引擎
- 数据从 PLM 来:工单引用 Part/BOM/工艺规程,不自建主数据
- 质量走 PLM 闭环:不合格→NCR→ECR→ECN,不另起炉灶
- 配置驱动:工序模板/设备/人员从 mes-config.json 读取,企业可改
二、对象模型与关系
┌─────────────┐
│ Sales Order │ (订单模块)
└──────┬──────┘
│ 引用
┌──────▼──────┐
│Manufacturing│ ← MES核心对象
│ Order │
└──────┬──────┘
┌───────────────┼───────────────┐
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ Part │ │ Part BOM │ │Process Spec │
│ (生产什么) │ │ (用什么料) │ │ (怎么做) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
│ ┌────▼────┐ ┌────▼────┐
│ │Material │ │Operation│
│ │Require- │ │ (工序) │
│ │ ments │ └────┬────┘
│ └────┬────┘ │
│ │ ┌────▼────┐
│ ┌────▼────┐ │Quality │
│ │Inventory│ │Check │
│ │ (库存) │ │(质检) │
│ └─────────┘ └────┬────┘
│ │ 不合格
┌──────▼──────┐ ┌──────▼──────┐
│ ECO/ECN │ ← 变更触发 │ NCR │
│ (变更管理) │ 新工单 │ (不合格品) │
└─────────────┘ └─────────────┘
三、核心业务流程
流程1:常规生产(从订单到完工)
1. 销售订单 → 创建 ManufacturingOrder
├── 引用 Part(产品)
├── 引用 Part BOM(物料清单)
└── 引用 Process Spec(工艺规程)
2. 物料齐套检查
├── BOM展开 → MaterialRequirements
├── 查库存 → 库存足够?直接领料
└── 库存不足 → 触发采购(DS-PROC-001 数字员工)
3. 工艺路线确定
├── 从 Process Spec 读取工序
└── 或从 mes-config.json 模板创建
4. 排产派工
├── 有限产能排产(FIFO/优先级)
├── 设备分配(匹配 work_center)
└── 操作工分配(匹配技能)
5. 工序执行
├── 开始 → 绑定设备+操作工
├── 报工 → 累计完成/不良数
├── 质检 → 合格/不合格判定
│ └── 不合格 → NCR + 通知质量工程师
└── 完工 → 检查所有工序
6. 完工入库
├── 工单状态 → Completed
└── 成品入库 → 更新库存
流程2:变更触发生产(从ECO/ECN)
1. ECO/ECN 批准
└── 自动创建 ManufacturingOrder(变更类型)
2. 变更影响
├── 旧版本 Part → 停产/返工
└── 新版本 Part → 新工单
3. 工艺变更
└── Process Spec 更新 → 工序调整
流程3:质量闭环
1. 工序质检不合格
├── 记录 Quality Check(result=fail)
├── 创建 NCR(不合格品报告)
├── 通知 DS-QUALITY-001(质量工程师)
└── 通知 DS-PROD-001(生产调度)
2. NCR 处理
├── 返工 → 新工单(rework类型)
├── 报废 → 报废记录
└── 让步接收 → 审批流程
3. 根因分析
└── 关联 ECR(如果是设计问题)
四、与现有模块对接
4.1 Part/BOM 模块
- 数据来源:工单引用 Part 的 item_number/name
- BOM展开:从 SCSAI 查 Part BOM 关系(子件列表)
- 物料需求:自动计算 required_qty = BOM用量 × 工单数量
- 已有能力:
query_bom工具、BOM导入导出
4.2 变更管理模块
- 触发源:ECO/ECN 批准后可选"创建生产工单"
- 变更类型:工单标记 change_order_id 字段
- 已有能力:
change.js的 submitEcr/approveEcr/createEcr
4.3 工艺管理模块
- 工艺来源:从
llm-process.js或process-spec-kb.js获取工艺规程 - 工序模板:mes-config.json 可配置多套工艺路线
- 已有能力:LLM工艺规程生成、工艺知识库
4.4 质量管理模块
- 质检集成:工序质检调用
quality-inspection.js的接口 - NCR创建:不合格时自动创建 NonConformance 对象
- KPI统计:数据汇入
quality.js的看板 - 已有能力:质量检验闭环、NCR追踪、SPC
4.5 库存管理模块
- 库存检查:工单发布前检查物料库存
- 领料/退料:操作从
inventory.js的接口 - 已有能力:库存查询、出入库
4.6 采购管理模块
- 缺料触发:库存不足时通知 DS-PROC-001 采购数字员工
- 已有能力:
procurement.js、采购订单
4.7 项目管理模块
- 项目工单:Project → ManufacturingOrder 关联
- 已有能力:项目CRUD、任务分解
4.8 订单管理模块
- 销售订单:Order → ManufacturingOrder 关联
- 已有能力:订单CRUD
五、利用现有基础能力
| 能力 | MES中的应用 | 实现方式 |
|---|---|---|
| 识别 | 查询工单/物料/设备状态 | identify scope + SCSAI AML |
| 创建 | 创建工单/工序/NCR | create scope + SCSAI action=add |
| 修复 | 修复工序异常/数据错误 | repair scope + 规则引擎 |
| 优化 | 排产优化/工艺优化 | optimize scope + LLM |
| 比对 | BOM版本比对/工艺比对 | compare scope + 字段diff |
| 生成 | 生成生产报告/质量报告 | generate scope + LLM |
| 巡检 | 数据质量巡检/合规检查 | inspect scope + 规则引擎 |
| 导入导出 | 工单CSV导入导出 | /api/import-export/ |
| 复制粘贴 | 工单复制/模板复用 | 前端 copy 功能 |
六、数据存储策略
| 数据类型 | 存储位置 | 原因 |
|---|---|---|
| 工单主数据 | SCSAI (QP_JG_PRODUCE_TASK) | PLM受控,版本管理 |
| 工序执行数据 | 本地 SQLite (prod_*) | 高频写入,PLM无需感知 |
| 物料需求 | 本地 SQLite | 执行层数据 |
| 质检记录 | 本地 SQLite + SCSAI (QualityCheck) | 双写,PLM需统计 |
| 设备状态 | mes-config.json + SCSAI | 配置+运行时 |
| 排产结果 | 本地 SQLite | 执行层数据 |
七、配置文件结构
server/config/mes-config.json 包含:
operation_templates: 工序模板(企业自定义工艺路线)work_centers: 工作中心equipment: 设备清单operators: 操作工+技能bom_templates: BOM模板(兜底用)quality_rules: 质检特性+缺陷代码scheduling: 排产策略state_machine: 状态流转规则ui: 界面配置
BossAgents