一种多级物料标识数据断网缓存与自愈补传方法及系统与流程
本技术涉及工业数据采集与传输,尤其是涉及一种多级物料标识数据断网缓存与自愈补传方法及系统。
背景技术:
1、随着制造业信息化与智能化水平的不断提升,生产过程中的数据采集与流转已成为支撑生产管理、库存核算与质量追溯的基础环节。在现代化产线的物料包装场景中,散装物料经灌装设备灌装为标准包装袋并赋予袋级唯一标识,包装袋按固定数量装箱并赋予箱级唯一标识,箱子再按码垛规则码放为托盘并赋予托盘级唯一标识,由此形成袋、箱、托盘逐级关联的多级物料标识体系。产线上的灌装、喷码、扫码等工序设备在包装成型过程中持续采集各级物料标识及其关联的生产事件数据,并将采集结果上报至产线上位机,由产线上位机汇聚处理后按照制造执行系统(mes)的接口规范组装为上报报文并上传,制造执行系统接收报文完成入库登记,进而支撑库存管理、批次追溯以及销售出库等后续业务的开展。
2、然而,产线上位机与制造执行系统之间的数据传输依托车间网络环境,实际运行中受网络设备故障、线路老化、无线信号波动以及制造执行系统侧检修停机等因素影响,通信链路难以长期保持稳定,网络中断在产线运行中时有发生。网络中断发生后,产线上位机待上传的数据发送失败,采用传统直传模式的系统中,发送失败的数据往往滞留在产线上位机或被直接丢弃,滞留的数据需等待网络恢复后由人工导出并逐条补录至制造执行系统,丢弃的数据则造成入库数据缺失,两种情形均需人工介入排查与恢复,处理周期长、工作量大且容易出错,由此导致库存台账与产线实物不一致,影响库存核算与出库业务的准确性。同时,网络中断期间产线生产并不停止,新的物料标识数据持续产生并不断积压,人工需要补录的数据规模随中断时长的增长而扩大,进一步加重了数据恢复的负担。
3、此外,部分系统采用定时重发的方式应对发送失败,但网络中断期间重发仍会持续失败,网络恢复后,定时重发机制不区分已送达与未送达的数据,对发送状态不明的数据统一重新发送,存在将同一物料数据重复上报的风险,造成制造执行系统中的入库记录重复、库存统计数据虚高,反而引入新的数据一致性问题。
技术实现思路
1、为了解决上述技术问题,本技术提供了一种多级物料标识数据断网缓存与自愈补传方法及系统。
2、第一方面,本技术提供一种应用于产线上位机的多级物料标识数据断网缓存与自愈补传方法,采用如下的技术方案:
3、响应于入库请求信号,获取所述入库请求信号所对应托盘的托盘数据记录;其中,所述托盘数据记录由所述产线上位机解析产线设备上报的物料报文得到袋号与事件时间,依据装箱与码垛过程中的对应关系将袋号与事件时间挂接至所属的箱号与托盘号,并以托盘为单位构建得到;
4、对所述托盘数据记录中箱号的数量与各箱号对应的袋号数量进行完整性校验,在校验通过后将所述托盘数据记录组装为符合mes系统接口格式的待发送报文;
5、将所述待发送报文写入本地的发送队列,并按写入先后顺序将所述发送队列中的待发送报文逐个发送至所述mes系统接口;
6、接收所述mes系统返回的响应信号;其中,所述mes系统依据所述待发送报文携带的托盘号判断对应的托盘数据记录是否已存在,在已存在时返回重复响应信号,在未存在时写入对应的托盘数据记录并返回成功响应信号;
7、将接收到成功响应信号或重复响应信号的发送均判定为发送成功,并将发送成功的待发送报文移出所述发送队列,同时将未接收到成功响应信号与重复响应信号的发送判定为发送失败;
8、在连续发送失败达到预设失败次数时,判定所述产线上位机与所述mes系统之间的链路中断,暂停对所述待发送报文的发送并按预设周期向所述mes系统接口发送探测请求;其中,在所述链路中断期间,对新获取的托盘数据记录继续进行完整性校验与组装,并将组装得到的待发送报文写入所述发送队列;
9、在连续预设探测次数均接收到所述mes系统返回的探测成功响应信号时判定链路恢复,对所述发送队列中的待发送报文继续执行所述按写入先后顺序的逐个发送。
10、通过采用上述技术方案,产线上位机在链路中断期间将新获取的托盘数据记录经完整性校验与组装后持续写入本地的发送队列,链路恢复后对发送队列中的待发送报文按写入先后顺序逐个发送,网络中断期间各托盘的托盘数据记录均保存在发送队列中,无需人工导出补录,也不会因丢弃而造成入库数据缺失;发送成功的判定覆盖接收到成功响应信号与重复响应信号两类情形,配合mes系统依据待发送报文携带的托盘号判断对应的托盘数据记录是否已存在的机制,链路恢复后重新发送的待发送报文不会在mes系统中造成入库记录重复,使得入库数据完整且不重复。
11、可选地,对所述托盘数据记录中箱号的数量与各箱号对应的袋号数量进行完整性校验的步骤包括:
12、获取所述托盘对应的满托规格中记录的预设箱数与预设袋数;
13、按照所属的箱号对所述托盘数据记录中的各袋号进行分组,得到各箱号对应的袋号分组;
14、统计所述袋号分组的数量以及各袋号分组中袋号的数量,得到所述托盘数据记录中箱号的数量与各箱号对应的袋号数量;
15、将所述托盘数据记录中箱号的数量与所述预设箱数比对,并将各箱号对应的袋号数量分别与所述预设袋数比对,在比对均一致时判定完整性校验通过,在存在不一致时判定完整性校验未通过。
16、可选地,在判定完整性校验未通过时,所述方法还包括:
17、在所述箱号的数量少于所述预设箱数时,定位得到缺失的箱号,在各箱号对应的袋号数量少于所述预设袋数时,定位得到所对应箱号下缺失的袋号;
18、生成包含定位得到的缺失的箱号或缺失的袋号的缺件提示信息并展示;
19、接收针对所展示的缺件提示信息输入的补录数据;其中,所述补录数据包含依据产线实物核对结果补录的袋号或箱号;
20、将所述补录数据包含的袋号或箱号挂接至所述托盘数据记录中所属的箱号或托盘号,得到补录后的托盘数据记录;
21、对补录后的托盘数据记录重新执行所述完整性校验,在校验通过后将补录后的托盘数据记录转入组装为待发送报文的步骤。
22、可选地,所述mes系统依据所述待发送报文携带的托盘号判断对应的托盘数据记录是否已存在,在已存在时返回重复响应信号,在未存在时写入对应的托盘数据记录并返回成功响应信号的步骤包括:
23、所述mes系统解析所述待发送报文,得到所述待发送报文携带的托盘号、箱号和袋号;
24、依据解析得到的托盘号、箱号和袋号构成多级标识组合,以所述多级标识组合在已存储的托盘数据记录中进行查询;
25、判断是否查询到包含所述多级标识组合的托盘数据记录;若是,则确定对应的托盘数据记录已存在,返回重复响应信号;
26、若否,则确定对应的托盘数据记录未存在,将解析得到的托盘号、箱号和袋号写入对应的托盘数据记录并返回成功响应信号。
27、可选地,在判定所述产线上位机与所述mes系统之间的链路中断之后,所述方法还包括:
28、读取所述发送队列中未被移出的待发送报文,提取各待发送报文携带的托盘号;
29、对提取的各托盘号按照所对应的待发送报文的写入先后顺序排列,生成滞留托盘清单,并将所述滞留托盘清单展示;其中,所述滞留托盘清单中的各托盘号与所述发送队列中未被移出的待发送报文一一对应;
30、在所述链路中断期间新的待发送报文写入所述发送队列时,将新的待发送报文携带的托盘号补充至所述滞留托盘清单的末尾;
31、在所述滞留托盘清单中托盘号的数量超过预设数量阈值时,生成包含所述数量的积压告警信息并展示;
32、在发送成功的待发送报文被移出所述发送队列时,将被移出的待发送报文携带的托盘号从所述滞留托盘清单中移除。
33、可选地,所述方法还包括:
34、在将所述待发送报文写入所述发送队列时,将写入的待发送报文同步写入本地存储的队列数据;
35、在发送成功的待发送报文被移出所述发送队列时,将被移出的待发送报文从所述本地存储的队列数据中同步删除;
36、响应于所述产线上位机重启,读取所述本地存储的队列数据;
37、解析读取的队列数据,得到未被移出的待发送报文;
38、将所述未被移出的各待发送报文按写入先后顺序重新构建为发送队列;
39、对重新构建的发送队列中的待发送报文继续执行所述按写入先后顺序的逐个发送。
40、可选地,所述方法还包括:
41、在发送成功的待发送报文被移出所述发送队列时,将被移出的待发送报文携带的托盘号与移出时刻记录至本地存储的已发送记录;
42、在判定链路恢复之后首次检测到所述发送队列中待发送报文的数量为零时,从所述本地存储的已发送记录中读取移出时刻在判定所述链路中断之后的各托盘号,得到传输核对托盘号集合;
43、将携带所述传输核对托盘号集合的入库核对请求发送至所述mes系统接口;
44、接收所述mes系统返回的核对响应信号;其中,所述mes系统依据所述入库核对请求判断所述传输核对托盘号集合中各托盘号对应的托盘数据记录是否已存在,返回携带核对结果的核对响应信号,所述核对结果包含已存在的托盘号;
45、将所述传输核对托盘号集合中未包含于所述核对结果的托盘号确定为未入库托盘号;
46、在存在未入库托盘号时,生成包含所述未入库托盘号的入库核对差异信息并展示。
47、第二方面,本技术提供一种应用于产线上位机的多级物料标识数据断网缓存与自愈补传系统,采用如下的技术方案:
48、数据获取模块,用于响应于入库请求信号,获取所述入库请求信号所对应托盘的托盘数据记录;其中,所述托盘数据记录由所述产线上位机解析产线设备上报的物料报文得到袋号与事件时间,依据装箱与码垛过程中的对应关系将袋号与事件时间挂接至所属的箱号与托盘号,并以托盘为单位构建得到;
49、校验组装模块,用于对所述托盘数据记录中箱号的数量与各箱号对应的袋号数量进行完整性校验,在校验通过后将所述托盘数据记录组装为符合mes系统接口格式的待发送报文;
50、报文发送模块,用于将所述待发送报文写入本地的发送队列,并按写入先后顺序将所述发送队列中的待发送报文逐个发送至所述mes系统接口;
51、响应接收模块,用于接收所述mes系统返回的响应信号;其中,所述mes系统依据所述待发送报文携带的托盘号判断对应的托盘数据记录是否已存在,在已存在时返回重复响应信号,在未存在时写入对应的托盘数据记录并返回成功响应信号;
52、结果判定模块,用于将接收到成功响应信号或重复响应信号的发送均判定为发送成功,并将发送成功的待发送报文移出所述发送队列,同时将未接收到成功响应信号与重复响应信号的发送判定为发送失败;
53、链路探测模块,用于在连续发送失败达到预设失败次数时,判定所述产线上位机与所述mes系统之间的链路中断,暂停对所述待发送报文的发送并按预设周期向所述mes系统接口发送探测请求;其中,在所述链路中断期间,对新获取的托盘数据记录继续进行完整性校验与组装,并将组装得到的待发送报文写入所述发送队列;
54、链路恢复模块,用于在连续预设探测次数均接收到所述mes系统返回的探测成功响应信号时判定链路恢复,对所述发送队列中的待发送报文继续执行所述按写入先后顺序的逐个发送。
55、第三方面,本技术提供一种计算机设备,采用如下的技术方案:
56、一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如第一方面所述方法的步骤。
57、第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:
58、一种计算机可读存储介质,存储有能够被处理器加载并执行如第一方面中任一种方法的计算机程序。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com