第 1 天学习 LiteMES:从项目蓝图到 MES 生产闭环

一、今天的课程安排

今天按照以下顺序学习:

业务课 -> 建模课 -> 技术课 -> 实战场景 -> 验收复盘 -> 明日衔接

学习过程中,我围绕订单、工单、工序、设备采集、排班和系统架构提出了一些问题。本文不只复述课程笔记,也把这些问题和思考一起整理进来。

二、MES 到底解决什么问题

MES 是 Manufacturing Execution System 的缩写,中文叫制造执行系统。它位于 ERP(Enterprise Resource Planning,企业资源计划)和车间现场之间,重点负责生产执行过程。

ERP 更关注企业层面的计划和资源,例如销售订单、采购、库存、财务和总体生产计划。MES 更关注车间现场:任务有没有下发、工序有没有执行、做了多少、质量是否合格、设备是否正常以及产品能否追溯。

一个 MES 系统需要回答:

  • 今天要生产什么?
  • 由哪个工单执行?
  • 要经过哪些工序?
  • 每道工序在哪个工位完成?
  • 做了多少、合格多少、不良多少?
  • 使用了哪台设备、由谁操作?
  • 出现问题时能否追溯到工单、批次、工序、人员、工位和设备?

因此,MES 的核心不是简单维护几张生产资料表,而是围绕工单和工序形成一条连续的生产执行、质量管理和过程追溯链路。

三、LiteMES 第一版的业务范围

本次学习设计的 LiteMES 面向小型离散制造企业,第一版覆盖以下模块:

模块主要职责
基础资料产品、物料、工序、工艺路线、产线、工位、设备
生产计划生产订单、工单生成、工单下发
现场执行扫码开工、暂停、报工、完工
质量管理质检、不良登记、不良处理
设备采集接收 TCP Socket(传输控制协议套接字)模拟设备信号
追溯查询按批次、工单或条码查看生产履历
看板统计工单进度、设备状态、质量统计
系统集成模拟 ERP 订单下发和完工回传

当前版本暂时不做复杂 APS(Advanced Planning and Scheduling,高级计划与排程)、完整 WMS(Warehouse Management System,仓储管理系统)、PLC 梯形图、机器视觉和运动控制。

四、建模:产品、工序和工艺路线

1. 产品:生产什么

产品是生产目标,例如:

产品编码:P-CTRL-001
产品名称:控制盒组件
产品类型:装配类产品
生产单位:件
追溯方式:批次追溯

产品会被生产订单引用,订单可以表达“生产控制盒组件 20 件”。

2. 工序:做什么

工序是一个可以复用的标准生产动作,例如备料、装配、测试和包装。

工序通常不是某个产品专属。同一个“测试”工序可能被多个产品使用,但不同产品在测试参数、标准工时、质检要求和设备资源上可能不同。

3. 工艺路线:按什么顺序做

工艺路线是针对某个产品定义的标准生产方法,它把多个工序按照要求的顺序组合起来:

控制盒组件标准路线
  10 备料
  20 装配
  30 测试
  40 包装

因此可以这样理解:

产品:生产什么
工序:做什么
工艺路线:按什么顺序做

工序是可复用的基础定义,工艺路线则绑定具体产品。

五、最小生产场景:控制盒组件的四道工序

为了把概念串起来,今天建立了一个控制盒组件的最小场景:

顺序工序主要输入主要输出质量关注
10备料工单、物料清单、待领物料备料完成记录、物料批次绑定确认物料齐套
20装配已备料物料批次装配记录、报工数量确认装配完成
30测试已装配半成品、测试设备测试结果、质检记录、不良记录关键质量检查点
40包装测试合格批次、包装材料包装记录、成品状态确认成品可交付

这四道工序不是四张孤立的菜单,而是一条生产过程:上一道工序的输出成为下一道工序的输入。

六、生产订单和工单有什么区别

这是今天重点讨论的问题之一。

生产订单属于计划层,表示企业计划生产什么、多少以及什么时候交付。例如:

生产订单 PO-001:控制盒组件 100 件,交期为 9 月 10 日

工单属于执行层,表示现场具体要执行哪一批生产任务。一个生产订单可以拆成多个工单:

工单 WO-001:产线 1,40 件
工单 WO-002:产线 2,30 件
工单 WO-003:晚班,30 件

拆分原因可能包括:

  • 多条产线同时生产;
  • 不同班次生产;
  • 不同生产批次;
  • 不同交期;
  • 不同设备或现场资源;
  • 需要分别进行批次追溯。

所以,“工单是产品要生产多少个”这个理解还不完整。工单除了数量,还要描述生产批次、计划时间、执行产线、工位、工艺路线快照和执行状态。

七、订单审核和工单生成

订单进入 MES 后,通常要经过审核。当前 LiteMES 第一版中的订单审核,主要确认:

  • 产品是否存在并处于启用状态;
  • 计划数量是否大于零;
  • 交期等基础信息是否完整;
  • 产品是否有启用的工艺路线;
  • 当前订单是否具备进入生产计划的基本条件。

审核不通过时可以退回,并记录退回原因。例如:

退回原因:产品没有启用的工艺路线

退回和取消不是一回事:

  • 退回:订单需要修改后重新审核;
  • 取消:订单已经不再生产,业务生命周期终止。

当前版本建议审核通过后,由计划员手动点击生成工单。因为审核通过只表示订单具备生产条件,不一定表示现在就要立刻投产,计划员还可能需要确认批次、产线、班次和生产时间。

基本流程是:

创建订单 -> 审核订单 -> 生成工单 -> 下发工单 -> 现场执行

未审核订单不能生成工单,已取消订单也不能生成工单。

八、为什么要区分路线步骤和工单工序

工艺路线中的步骤是标准生产方法,工单工序是某张具体工单实际要执行的步骤。

Product 产品
  -> Route 工艺路线
    -> RouteStep 路线步骤
      -> Process 工序

ProductionOrder 生产订单
  -> WorkOrder 工单
    -> WorkOrderStep 工单工序快照

工单生成时,系统根据当前启用的工艺路线复制出工单工序快照。

例如,一月份的工单采用:

备料 -> 装配 -> 测试 -> 包装

二月份标准路线增加了“老化”工序。这个变化不应该让一月份已经完成的历史工单突然多出一道工序。因此,工单必须保存当时实际采用的路线快照。

这也是历史生产数据能够稳定追溯的关键。

九、设备和操作台在工序中的作用

工序、工位和设备不是同一个对象:

工序:要做什么动作
工位:在哪里执行
设备:使用什么生产或采集设备
操作员:由谁实际执行

例如测试工序可能在测试工位完成,并使用测试设备;备料和包装可能主要依靠操作台和人工操作。

并不是所有设备都是联网设备,所以设备管理中还要区分:

  • 是否属于某条产线或某个工位;
  • 是否启用在线采集;
  • 使用什么通信协议;
  • 连接地址和端口是什么;
  • 当前设备是否运行、故障、检修或离线。

设备连接正常不代表设备一定可以生产。例如:

连接状态:已连接
设备状态:故障
生产可用性:不可用

不同设备采集的数据也不一样。测试设备可能采集电压、电流、温度和测试结果,装配设备可能采集扭矩、角度和循环次数,普通操作台可能没有自动采集点。

因此,设备基础资料、设备连接配置和采集点配置应该分开管理,不能把所有采集字段写死在设备主表中。

十、设备信息采集为什么重要

设备采集的核心目的不是单纯“把设备数据存起来”,而是让 MES 感知和验证现场真实发生了什么。

如果只靠人工填写,系统可能只能看到:

测试 20 件,合格 19 件,不良 1 件

接入测试设备后,还可以记录:

  • 使用了哪台设备;
  • 测试发生的时间;
  • 测试电压、电流、温度等参数;
  • 设备当时是否报警;
  • 哪个工单和批次使用了这台设备;
  • 哪位操作员执行了测试。

设备采集主要有四个价值:

  1. 判断设备当前是否允许开始相关工序;
  2. 自动记录生产过程和关键参数;
  3. 根据测量值辅助质量判断;
  4. 将设备、工位、工单、工序和批次连接到追溯链路。

当前 LiteMES 第一阶段使用 TCP Socket 模拟器接收设备状态和测试数据。采集服务接收数据后,将设备信号关联到当前工位、工单、工序和批次。

十一、生产过程中设备故障怎么处理

设备临时检修或故障,不应该直接等同于取消工单。更合理的处理过程是:

设备运行
  -> 设备故障
  -> 当前工序暂停
  -> 维修等待、切换备用设备或调整任务
  -> 恢复生产或进入质量处理

设备状态可以影响不同层次的业务:

  • 新工序开工前:禁止在不可用设备上开始生产;
  • 当前工序执行中:暂停受影响的工序,保留已完成数量;
  • 故障可能影响质量时:隔离相关产品或批次,安排复检;
  • 有备用设备时:由生产主管决定切换,并保留切换记录。

设备故障通常不直接取消工单,因为设备可能在维修后恢复,或者工单可以转移到备用设备。工单取消应该表示生产任务本身不再执行。

十二、APS、人员技能和排班的边界

APS 适合多订单、多设备、有限产能、频繁插单和复杂换型的企业。它负责在资源受限的情况下安排生产顺序。

可以把 ERP、APS 和 MES 简单区分为:

ERP:生产什么、生产多少、什么时候交付
APS:有限资源下具体怎么排
MES:现场实际执行了什么

当前 LiteMES 不实现复杂 APS,只做基本的工单生成和现场执行。

企业级 MES 通常需要知道实际操作员、工位和岗位资格,但完整的班次安排、技能匹配和人员调度不一定由 MES 自己负责,也可能由 WFM(Workforce Management,人员或劳动力管理系统)、ERP 或 APS 提供。

当前版本可以在工单或执行记录中保留:

  • 计划开始和结束时间;
  • 产线和工位;
  • 班次信息;
  • 实际操作员;
  • 实际开工和完工时间。

暂不实现自动排班、技能档案和人员与设备的联合优化。

十三、B/S 和 C/S 如何配合

C/S 是 Client/Server,即客户端/服务器结构。实际企业 MES 通常采用 B/S 为主、局部 C/S 或本地采集服务配合的混合架构。

订单、工单、质量、追溯和看板
  -> B/S 浏览器系统

设备、串口、扫码枪、测试仪和打印机
  -> 本地采集服务或专用客户端

采集服务
  -> 与 MES 服务端通信

B/S 的优势是部署集中、升级方便,适合计划员、生产主管、质量人员和管理人员使用。缺点是浏览器直接访问本地设备和工业硬件不方便,并且比较依赖网络。

C/S 或本地采集服务更适合设备通信、串口、扫码枪、打印机和专用工位交互,也可以设计本地缓存和断线重连。但它需要维护客户端版本和运行环境。

当前 LiteMES 的技术边界是:

LiteMES.Web
  -> Web API 和页面入口

LiteMES.Application
  -> 用例编排、DTO(Data Transfer Object,数据传输对象)和事务边界

LiteMES.Domain
  -> 实体、枚举、状态机和核心业务规则

LiteMES.Infrastructure
  -> EF Core、数据库访问和外部接口实现

LiteMES.Collector
  -> 设备采集服务和 TCP Socket 模拟接收

十四、从订单到追溯的完整链路

今天最终建立的最小业务流程是:

创建产品和物料
  -> 配置工序和工艺路线
  -> 创建生产订单
  -> 审核订单
  -> 生成工单和工单工序快照
  -> 下发工单
  -> 生成或绑定批次
  -> 备料
  -> 装配扫码开工和报工
  -> 测试与设备数据采集
  -> 质检
  -> 不良处理
  -> 包装
  -> 工单完工
  -> 工单关闭
  -> 查询批次追溯

假设测试 20 件产品,得到 19 件合格、1 件不良:

测试 20 件
  -> 19 件合格 -> 进入包装
  -> 1 件不良 -> 返修、报废或让步接收

如果返修后重新测试合格,也要保留原始测试结果、不良原因、返修记录和重新测试结果。

还要区分工单“完工”和“关闭”:

  • 完工:生产数量和必要质量条件已经满足;
  • 关闭:生产和质量数据已经确认结束,工单正式归档。

十五、今天的学习总结

今天最重要的收获,是把 MES 从一组模块名称理解成一条业务主线:

订单 -> 工单 -> 工序 -> 报工 -> 质检 -> 追溯

同时明确了以下设计原则:

  • 工序是可复用的标准生产动作;
  • 工艺路线绑定产品并定义工序顺序;
  • 生产订单属于计划层,工单属于执行层;
  • 工单生成时保存工艺路线快照;
  • 设备采集要关联工位、工单、工序和批次;
  • 设备故障优先暂停受影响工序,不直接取消工单;
  • 第一版先做批次追溯,不急于实现单件追溯;
  • 第一版不做复杂 APS、技能管理和自动排班;
  • B/S 负责业务管理,本地采集服务负责设备通信。

十六、明天继续学习什么

第 2 天将进入产品、物料、工序基础资料建模,重点回答:

产品和物料为什么要分开?
BOM(Bill of Materials,物料清单)解决什么问题?
BOM 和工艺路线为什么不能混在一起?
产品、物料和工序分别如何设计实体表?
如何完成文档、数据表、实体、接口、页面五项对齐?

今天的结论可以浓缩成一句话:

MES 不是简单记录“生产完成了没有”,而是把订单、工单、工序、人员、设备、质量和批次串成一条可执行、可验证、可追溯的生产闭环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值