一篇文章了解智慧车间柔性缓存和消息队列的基本原理
问题描述:
解决方案:
本文对智慧车间柔性产线关于缓存、消息队列的一些基础理论和概念进行简述;
强烈建议在进行柔性产线系统运维工作前,首先阅读此文章。
1、柔性缓存架构:
业务背景:
传统系统部署方式:
星空客户端进行业务操作后,数据直接写入或更新到星空后台数据库中,此种方式在高并发时极有可能会带来性能问题,如阻塞;
而柔性产线作业方式现场更多的是一个流的工作模式,每个工位工作节奏快速,实时性要求高,并发强,对系统响应速度要求高。
解决方案:
MES柔性产线部署方式:
MES柔性产线模式下引入了缓存和消息队列机制,如下图:
缓存(1)相当于内存数据库,HMI终端可以快速访问和更新;
缓存和星空后台数据库(2)初始数据保持一致;
当HMI扫描作业后首先实时更新缓存数据,这样HMI就可以继续快速扫描下一件产品作业了,达到了实时作业的效果,然后系统同步通过消息队列以“排队”的方式更新星空后台数据库,消息队列按时间顺序执行。
(1)缓存里面都有什么数据?
如下图所示:
缓存包括工单缓存、序列号缓存、预装件缓存、设备缓存;
工单缓存包括:
工序信息:工序计划对应的作业信息(即工艺路线)
用料清单:各作业需要投入关键件的信息
汇报信息:当前工序计划已经扫描汇报的产品和作业进度、状态等信息
汇报明细:对应汇报的投入物料明细信息
工位在制:工位上料明细信息
(2)缓存数据怎么加载和同步?
在HMI登录产线后,系统会加载或更新相关工单缓存等数据;
每次扫描作业后,系统会实时更新缓存数据;
星空后台相关数据修改后,会自动更新缓存数据;
以上更新操作的最终目的——确保缓存数据保持完整和最新。
(3)如何查看缓存数据?
在PC端打开菜单“扫描接口缓存管理”可以查看缓存数据;
菜单位置:
【智慧车间MES】->【智慧车间】->【缓存与消息(产线)】->【扫描接口缓存管理】;
(4)缓存可以做哪些操作?
缓存里面的数据非常重要,现场运维主要以查看数据为主,其它操作请勿随意操作。
2、柔性消息队列:
(1)什么是消息队列?
如下图所示:
HMI智慧终端的每一次作业操作都会生成一条或一组消息加入到“队列”中,系统依据入列时间顺序执行消息,进而进行相关业务处理;
每一条消息的后台都有一组固定的业务数据处理逻辑;
只有消息被成功执行后才能顺利完成对应的业务操作;
如果消息执行失败了,则对应的业务操作不会成功执行,即出现了异常;
(2)如何查看消息队列?
可以通过“消息队列和消息队列历史”两个菜单来查看消息数据,其中:
消息队列——保存待执行和执行失败的消息;
消息队列历史——执行成功的消息会自动转存到历史表中备查;
菜单位置:
【智慧车间MES】->【智慧车间】->【缓存与消息(产线)】—>【消息队列】或【消息队列历史】
(3)消息队列的执行原理?
每个消息都会有一个“队列状态”,包括:
不执行:入列后默认不执行
待执行:等待开始执行
执行成功:正常成功执行
执行失败:出现异常执行失败
消息执行时会按照顺序转换状态,即:不执行——待执行——执行成功或失败;
我们在系统监控过程中,重点要监控“执行失败”的消息,一旦出现了执行失败的消息,就需要对数据进行处理,只有把消息失败对应的问题消除后,才能解决最终问题。
3、车间消息执行计划:
除了通过消息队列自身机制按顺序执行消息外,系统还提供一个单独的执行计划(如下图),用于对重置状态等消息进行执行;
应用场景:
A、将执行计划间隔设置成如10分钟一次,系统自动会按10分钟一次进行消息队列执行,与常规消息执行操作不冲突;
平时无消息异常时是不用考虑这个执行计划的。
B、如果遇到紧急消息重置的情况下,可以通过手动点击执行计划“测试”的方式进行快速消息执行处理,以解决问题;
4、扫描接口请求日志:
(1)什么是扫描接口请求日志?
HMI智慧终端的每一次作业操作都会调用柔性产线的系统接口,可以通过扫描接口请求日志来查看业务操作发起的接口请求日志状态和详细信息,尤其是出现异常的时候查看日志则非常重要,如下所示:
(2)如何查询扫描接口请求日志?
菜单位置:
【智慧车间MES】->【智慧车间】->【缓存与消息(产线)】—>【扫描接口请求日志】
可以按条件过滤检索;
双击可以查看日志明细;
一篇文章了解智慧车间柔性缓存和消息队列的基本原理
本文2024-09-23 03:11:15发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-157264.html