做了3年MES项目,从需求调研到系统上线,全程参与。今天把实战经验分享出来。
一、MES是什么?为什么需要MES?
1.1 没有MES的日子
我们厂上MES之前,生产管理全靠Excel和纸质表单。每天早上,操作员要把昨天的生产数据手动录入Excel。一个班8小时,光录入数据就要花1-2小时。更可怕的是,数据经常录错。有一次,操作员把1200片录成了12000片。老板看到数据高兴坏了,结果发现是录错了。
1.2 MES能做什么
MES = Manufacturing Execution System = 制造执行系统。简单说,就是管生产的。
核心功能:
- 工单管理:什么产品、做多少、什么时候交
- 在制品追踪:每片晶圆在哪个工序、什么状态
- 设备管控:设备状态、参数采集
- 良率管理:实时良率、异常报警
- 报表分析:日报周报月报自动生成
二、项目启动:需求调研
2.1 需求调研的坑
坑1:只听领导的需求
领导说“我要一个能看实时数据的仪表盘。”但操作员需要的是“我要一个能快速报工的界面。”如果只听领导的,做出来的系统操作员不用,数据录不进去,仪表盘就是个摆设。
建议:从一线操作员到管理层,每个角色都要调研。
坑2:需求没有优先级
用MoSCoW法则分类:Must have(必须有)、Should have(应该有)、Could have(可以有)、Won't have(暂不考虑)
2.2 需求文档怎么写
好的需求文档应包含业务场景描述:
当前流程 vs 期望流程 vs 预期收益。用具体数字说话。
三、系统设计
3.1 技术选型
我们最终选了:后端ThinkPHP 6、前端Vue3+TypeScript、数据库MySQL 5.7、移动端UniApp。
选型建议:别追新技术选团队最熟的、别忽视运维成本选社区好的、别忘了移动端工厂里手机比PC方便。
3.2 数据库设计的坑
坑1:没有统一编码规则。不同人用不同批次号格式,数据完全没法关联。
坑2:没有数据字典。同一个产品类型三个模块三种写法,查询就废了。
3.3 接口设计的坑
MES要跟ERP、EAP、SPC、WMS对接。接口设计原则:统一RESTful风格、统一JSON格式、统一Token认证、版本管理、Swagger文档。
四、开发阶段
敏捷开发,2周一个迭代:
Sprint 1:用户管理+权限系统
Sprint 2:工单管理+报工功能
Sprint 3:设备对接+数据采集
Sprint 4:SPC集成+异常报警
Sprint 5:报表系统+仪表盘
Sprint 6:移动端+优化
开发踩坑:
- 没有写单元测试:改一个Bug出来三个新的。核心模块覆盖率>70%
- 没有代码评审:风格不统一后期维护痛苦。每周一次代码评审
- 没有考虑并发:100人同时报工系统卡死。加索引、连接池、关键操作加锁
五、测试阶段
坑1:只用干净数据测试。上线后发现操作员输入格式五花八门。用真实数据测试!
坑2:没有压力测试。5人没问题,50人同时用就崩了。上线前必须压力测试!
UAT关键:让真正操作员测试、真实环境测试、准备验收清单逐项确认
六、上线阶段
分阶段上线:
第一阶段(1周):1条产线试点
第二阶段(2周):3条产线推广
第三阶段(1周):全面上线
上线踩坑:
- 没有培训就上线:操作员不会用还是用Excel。培训至少3次,考核通过才能上岗
- 旧系统一刀切:新系统出Bug旧系统已关,生产停了。新旧并行至少2周
- 没有应急预案:准备系统宕机切纸质表单、网络故障本地缓存、数据库故障读备份
七、运维
监控系统部署Zabbix/Prometheus异常告警。
数据备份:每日全量+每小时增量+异地备份。
持续优化:性能(慢查询缓存)、功能(用户反馈迭代)、体验(界面流程)、数据(报表分析可视化)
八、总结
关键成功因素:需求调研全面、技术选型务实、开发规范、测试充分、上线稳妥、运维到位。
项目参考:小型1条线3个月3人30万、中型5条线6个月6人100万、大型全厂12个月12人300万+
如果你也在做MES项目,评论区聊聊你的经验。
觉得有用就点赞+收藏!关注我,分享更多智能制造实战!