MES 做到最后,拼的不是界面,是两块硬骨头:排班模型和自动巡检。一个决定生产安排得对不对,一个决定系统跑得稳不稳。
人员能力排班最容易犯的错是直接上手写代码。我们先用两张 drawio 把模型画透:
模型画清之后,代码只是翻译。排班算法本质是一个带约束的匹配问题:工单要技能,人员有技能矩阵,再加时间窗和工时上限做硬约束,偏好做软约束。先满足硬约束,再按软约束打分排序,不追求最优解,追求可解释的次优解——现场主管必须能看懂"为什么排的是他"。
排班准不准,取决于采集到的实际工时和工序数据准不准。手持机侧的采集实现说明里定义了上报协议、离线缓存和补传机制——这部分的详细踩坑会另开一篇。
MES 接的设备多、接口杂,任何一方升级都可能悄悄打断链路。靠人肉点页面巡检不现实,于是做了 api-test-auto-schedule:
api-test-report-inspection),失败项直接标红定位test_feed_workunit)单独覆盖投料-加工-完工全流程排班模型 + 自动巡检,一个向内管人,一个向外管系统。两者都做扎实之后,MES 才从"能演示"变成"能托付"。docs 目录里的 SQL 与文档会持续更新,有兴趣的可以关注后续篇。
← 返回博客列表