行业资讯

生产领料功能开发纪实:从“呼叫AGV”到账实同步,一次WMS与MES的深度咬合实战

 这是精工智能数字化工厂的系列作品——制造业online。我们公司拥有500多名员工,涵盖前后端程序员、实施工程师、测试工程师、售前工程师,这些多元角色的经验在此整合输出:一方面服务于内部知识库与项目数据库的沉淀,另一方面也为大家打破技术壁垒,提供一扇了解软件服务行业真实运作的窗口。今天这篇纪实,我们想用一次真实的生产领料功能开发,带大家走进工业软件程序员的日常战场——看一个看似简单的“呼叫AGV”按钮背后,如何牵引出仓储、制造执行、智能物流三大系统的深度咬合。

生产领料功能开发纪实

 所属项目: 仓储管理系统(WMS)

 涉及模块: PDA生产领料、MES系统对接、AGV智能物流


一、需求来源

本次功能开发源于制造业数字化转型提升项目。

目前车间生产线领料主要依靠人工纸质单据,存在以下问题:

  • 领料数据无法实时反馈至仓储系统,库存数据滞后

  • 工单与物料的对应关系不清晰,容易出现领错料、多领料的情况

  • 领料完成后需要人工录入业务系统,工作量大且容易出错

  • 缺乏有效的追溯机制,出现质量问题时难以定位物料来源

  • 仓库到车间的物料搬运依赖人工调度,效率低下且容易出错

为此,精工智能信息化团队接到任务:开发一套基于工单和栈板维度的生产领料功能,实现PDA端和制造执行系统两种操作方式,集成AGV智能物流系统实现自动搬运,并自动完成与业务系统的数据同步。这不仅是一次功能开发,更是对数字化系统如何“软硬一体”落地的一次实战检验。

二、核心业务流程

2.1 呼叫AGV按钮开启流程(重点)

本流程是生产领料的核心触发机制,通过点击"呼叫AGV"按钮,系统自动完成从业务单据创建到AGV调度再到单据审核的完整闭环。

流程说明:

整个流程自动化完成,无需人工干预业务系统的单据创建和审核操作。

关键特点:先创建并呼叫AGV,待AGV完成任务后再审核单据,确保实物与账务同步。

2.2 产线叫料流程

AGV将物料送达车间备料区后,产线人员根据生产需要进行叫料操作:

  1. 产线人员在PDA或制造执行系统中输入工单号

  2. 扫描栈板码,系统自动展示该栈板上属于该工单的所有物料信息

  3. 核对物料信息(料号、品名、需求数量、缺料数量等)

  4. 确认领料,系统记录领料信息

2.3 上料作业流程

产线叫料完成后,进行实际的上料作业并回写生产领料单:

  1. 产线人员将物料从栈板取出,投放到生产线

  2. 在PDA或制造执行系统中确认上料

  3. 系统自动回写生产领料单,更新已领数量

  4. 系统自动计算缺料数量,若缺料则触发补料流程

  5. 上料完成后,系统更新相关单据状态为"已关闭"

2.4 完整流程串联示意

【完整业务流程图】

三、开发过程

第一阶段:需求分析与方案设计

信息化团队与生产管理部门、仓储部门、物流部门召开需求对齐会议,重点确认以下内容:

  • 生产领料的核心业务场景和操作流程

  • 工单、栈板、物料之间的关联关系

  • 领料过账后需要同步的数据内容和同步时机

  • 生产补料与生产领料的差异处理

  • AGV智能物流系统的集成方案和触发时机

  • 直接调拨单的创建、提交、审核流程与AGV任务的协调机制

会议确定:系统需支持按工单号和栈板号两个维度进行领料操作,通过"呼叫AGV"按钮触发完整流程——先从生产订单下推生成直接调拨单并呼叫AGV,待AGV完成任务后再审核调拨单,确保实物搬运与账务处理同步。

第二阶段:AGV呼叫与调拨单功能开发

基于需求确认结果,精工智能的开发人员开始进行AGV呼叫和直接调拨单功能的设计与开发:

  • 设计了"呼叫AGV"按钮的完整业务逻辑:点击后自动从生产用料清单下推生成直接调拨单

  • 实现了直接调拨单的自动创建和提交功能,无需人工在业务系统中操作

  • 开发了AGV智能物流系统的接口调用功能,自动发送调度指令,指定目的地为车间备料区

  • 设计了AGV任务完成后的回调机制,自动触发直接调拨单的审核操作

  • 实现了调拨单号、单据ID与本地仓储记录的关联存储,便于后续追溯

  • 加入了严格的校验逻辑:栈板号必须与工单匹配、生产车间必须配置对应的库别编号

当日关键决策:采用"先创建调拨单并呼叫AGV,待AGV任务完成后再审核调拨单"的设计方案,确保实物已送达车间备料区后账务才正式生效,避免账实不符的情况。工业软件程序员常说的一句话在此刻得到印证——“好的接口设计,是让硬件感知不到软件的存在,也让软件不辜负硬件的每一次动作。”

第三阶段:查询与过账功能开发

AGV呼叫功能完成后,继续开发产线叫料查询和生产领料过账功能:

  • 设计了多维度的数据查询策略,通过工单号、栈板号、单据类型三个条件精准定位领料数据

  • 采用多表关联查询,一次性获取物料信息、需求数量、已领数量等完整数据

  • 对查询结果进行聚合计算,自动汇总同一物料在不同记录中的数量

  • 加入数据校验逻辑,确保一个栈板只对应一张领料单,避免数据混乱

  • 整理并补充了PDA和制造执行系统展示所需的全部字段,确保操作人员能够全面了解领料信息

第四阶段:过账功能开发与联调

进入核心过账逻辑的开发阶段,团队内部讨论并确定了整体执行顺序:

先完成本地仓储数据更新,再同步至业务系统。

这一顺序的设计原因:领料操作首先需要确保本地仓储数据的准确性,包括物料状态更新、领料数量记录等;在本地数据更新成功后,再触发业务系统同步,若同步失败不影响本地操作的完成,支持后续重新同步。

针对生产领料和生产补料两种不同单据类型的处理方案:

  • 生产领料单:直接根据栈板上的物料数量进行过账,过账成功后关闭相关单据

  • 生产补料单:需要先查询已完成的业务系统过账记录,再进行审核确认,最后关闭相关单据

联调测试重点场景:

  1. 呼叫AGV完整流程测试——验证从点击按钮到AGV任务完成、单据审核的全流程

  2. 单栈板单工单领料测试——验证单条记录的正确性

  3. 单栈板多物料领料测试——验证批量展示及批量领料的正确性

  4. 生产补料单领料测试——验证补料流程的完整性

  5. 栈板号或工单号错误时的异常处理测试——验证错误提示的准确性

  6. 业务系统同步失败时的容错测试——验证系统能否保留本地记录并支持重新同步

  7. AGV任务失败时的异常处理测试——验证系统能否正确提示并支持重新呼叫

四、遇到的问题及解决思路

问题一:如何确保直接调拨单、栈板、工单三者的准确匹配?

问题描述:由于实际业务中可能存在一个栈板上的物料分属不同工单,或者一个工单对应多个栈板的情况,如果匹配不准确,容易导致调拨单创建错误或领料数据混乱。

解决思路:团队设计了严格的校验机制。从生产用料清单下推生成直接调拨单时,以"工单号+栈板号"两个维度进行过滤,并对查询结果进行校验,若发现一个栈板对应多张领料单,立即提示数据异常,由人工介入处理,从源头避免数据错误。同时,在调拨单创建成功后,将调拨单号、单据ID与栈板记录进行关联存储,便于后续追溯。

问题二:AGV任务完成与调拨单审核如何协调?

问题描述:如果在呼叫AGV时就立即审核调拨单,但AGV任务失败或取消,会导致账务已生效但实物未送达的情况,造成账实不符。

解决思路:团队设计了分步处理机制:点击"呼叫AGV"按钮后,系统先从生产订单下推生成直接调拨单并提交,但此时不审核单据;然后呼叫AGV执行搬运任务;待AGV任务完成并返回成功状态后,系统再自动审核直接调拨单。这样确保了只有实物已送达车间备料区,账务才会正式生效,从根本上避免了账实不符的问题。

问题三:生产补料单与普通生产领料单的处理流程不同,如何统一操作入口?

问题描述:生产补料单在业务系统中需要先创建补料单并审核,然后才能在仓储系统中进行领料确认。两种单据的处理流程存在差异,但操作人员希望使用统一的操作入口。

解决思路:团队设计了分支处理逻辑:在用户提交领料请求后,系统自动识别单据类型,若是生产补料单,则先查询业务系统的过账记录,确认无误后再进行审核和关闭操作;若是普通生产领料单,则直接进行过账处理。对操作人员而言,操作入口和流程保持一致,系统内部自动区分处理。这正是数字化系统设计中“对外一致、对内差异化”的典型实践——用户不感知复杂度,复杂度被封装在代码深处。

问题四:领料数量如何准确计算?

问题描述:由于物料可能存在多次分批领料的情况,需要准确计算已领数量和缺料数量,以确保领料数据的准确性。

解决思路:团队确定了以"领料单需求数量减去已领数量"计算缺料数量的规则,并通过多表关联查询和聚合计算,自动汇总同一物料在不同记录中的已领数量,确保缺料数量计算准确。同时,本次领料数量使用栈板上的实际充单数量,避免人工输入错误。

五、业务规则汇总

  1. 只有处理中状态的生产领料单或生产补料单才能进行领料操作

  2. 栈板必须与工单匹配,系统会自动校验栈板上的物料是否属于指定工单

  3. 一个栈板在同一时间只能对应一张生产领料单,避免数据混淆

  4. 点击"呼叫AGV"按钮后,系统自动从生产订单下推生成直接调拨单

  5. 直接调拨单创建后立即提交,但需等待AGV任务完成后才进行审核

  6. 过账数量使用物料的实际充单数量,确保领料数据准确

  7. 过账成功后,系统自动将相关物料的状态更新为已关闭

  8. 领料过账完成后,系统自动将数据同步至业务系统

  9. 每次领料操作均自动生成操作日志,支持事后审计查询

  10. AGV任务失败时,系统保留调拨单草稿状态,支持重新呼叫

六、成果总结

项目

 内容

 开发周期

分四个阶段完成(需求分析、AGV呼叫开发、查询开发、过账开发与联调)

覆盖场景

生产领料、生产补料、AGV智能物流调度

操作方式

PDA端扫码操作、制造执行系统接口调用

支持单据类型

生产领料单、生产补料单、直接调拨单

AGV集成

自动呼叫AGV,目的地车间备料区,任务完成后自动审核调拨单

数据同步

过账完成后自动同步至业务系统,支持失败重试

数据一致性

严格的栈板、工单、领料单匹配校验,保障数据准确

账实同步

先搬运后审核机制,确保实物送达后账务才生效

PDA展示字段

6个核心字段,覆盖领料核对所需全部信息

日志记录

自动生成操作日志,支持审计追溯


回看这次开发,从需求对接到最终联调上线,精工智能团队始终在回答同一个问题:数字化系统如何在不增加一线操作负担的前提下,让数据自己“说话”、让物流自己“跑动”?答案藏在那颗“呼叫AGV”按钮背后——它不是简单的接口调用,而是工业软件程序员对制造现场节奏的理解、对账实一致性的敬畏、对异常场景的周全预判。制造业数字化转型从来不是把线下流程照搬到线上,而是重新思考人与机器、系统与设备、数据与实物之间最朴素的信任关系。这份纪实,或许正是这种信任的注脚。

客户案例

精工智能与 2000+ 国内外知名企业携手共进

电子行业
讯强电子
讯强电子
科德电子
科德电子
蓝微电子
蓝微电子
恒铭达
恒铭达
佳禾电声
佳禾电声
瑞德智能
瑞德智能
诺必达
诺必达
百威电子
百威电子
赛尔美
赛尔美
北方光电
北方光电
南极光
南极光
升威电子
升威电子
长视科技
长视科技
净诺环境科技
净诺环境科技
精体电子
精体电子
邦普电子
邦普电子
东陆科技
东陆科技
乐图科技
乐图科技
邦科电子
邦科电子
伟邦科技
伟邦科技
佳韵电子
佳韵电子
好帮手
好帮手
星原电子
星原电子
康创电子
康创电子
汽配行业
比亚迪
比亚迪
金业车灯
金业车灯
美力弹簧
美力弹簧
纽福克斯
纽福克斯
弘景光电
弘景光电
奥图弹簧
奥图弹簧
塔孚汽车
塔孚汽车
东海理化
东海理化
丰田合成
丰田合成
恒达高
恒达高
富来电子
富来电子
广联汽配
广联汽配
爱信精机
爱信精机
钧捷智能
钧捷智能
泰途科技
泰途科技
五金行业
英特科技
英特科技
同星科技
同星科技
金镁智高
金镁智高
星河精密
星河精密
伟经日用
伟经日用
英飞同仁
英飞同仁
精而美
精而美
金尚智能
金尚智能
永丰利华
永丰利华
恒美
恒美
乐菱精密
乐菱精密
显示技术
创维集团
创维集团
超视界
超视界
中强电子
中强电子
厦华科技
厦华科技
鸿合科技
鸿合科技
长嘉电子
长嘉电子
灯光照明
熠日照明
熠日照明
佛山照明
佛山照明
鹏林照明
鹏林照明
星迪智能
星迪智能
明彩照明
明彩照明
友康照明
友康照明
新能源
敬业集团
敬业集团
许继电气
许继电气
易事特
易事特
优特电力
优特电力
恩玖科技
恩玖科技
侨翊电气
侨翊电气
家电行业
万家乐
万家乐
小熊电器
小熊电器
TCL
TCL
瑞能集团
瑞能集团
阿克斯曼
阿克斯曼
巨大音响
巨大音响
伊莱特
伊莱特
锦力电器
锦力电器
威诺高
威诺高
科利电器
科利电器
金星徽
金星徽
爱尼智能
爱尼智能
维诺电器
维诺电器
博恩电器
博恩电器
海伦宝
海伦宝
凯得智能
凯得智能
威博电器
威博电器
半导体/适配器
汇达材料
汇达材料
东强电子
东强电子
富信科技
富信科技
瑞晶实业
瑞晶实业
天宝科技
天宝科技
鹏元晟
鹏元晟
机械装备
大叶股份
大叶股份
金宇星
金宇星
润华电力
润华电力
孚创动力
孚创动力
宏石激光
宏石激光
华机机械
华机机械
食品日化
燕之屋
燕之屋
伟泰宠物
伟泰宠物
盐津铺子
盐津铺子
白燕粮油
白燕粮油
中山爱护
中山爱护
李记包装
李记包装