科尔摩根丨AGV/AMR调度系统重启应急方案:基于车端状态的订单恢复技术指南
在热启动功能发布之前,本文将介绍一种临时恢复方案,以保障生产过程的连贯性与稳定性。
在自动化物流与智能制造系统中,AGV/AMR调度系统的稳定运行至关重要。鉴于科尔摩根调度管理系统SMNG当前暂不支持热启动功能,这意味着在系统重启过程中,所有正在执行的订单信息将会丢失,车辆状态也将被重置为空闲,从而直接打断生产节拍、影响作业连续性。
在热启动功能发布之前,本文将介绍一种临时恢复方案,以保障生产过程的连贯性与稳定性。
以NDC8 Demo为例,SMNG在订单执行的每个阶段(Phase)都会与Host同步,并将Phase值写入AGV车辆的OMPLC变量中。因此,在SMNG重启后,可借助车端已记录的Phase值,配合Host端操作,恢复之前正在执行的订单。
具体而言,SMNG每次重启时,都会首先执行TS250的SysGo任务,通过Fgetsm指令,可以获取SMNG的启动状态。此外,也可通过通信协议中的心跳报文,使Host知晓SMNG已重启就绪,进而对之前挂起的订单进行处理。
Host通过q消息向SMNG下发订单时,包含了一个关键参数—IKEY。SMNG接收并确认该订单后,会为其分配一个编号index的任务。SMNG重启后,index会丢失,但Host中IKEY的订单在挂起状态。
说明在SMNG重启前,该订单并未指派车接任务。那么,在SMNG重启后,该订单可视为无效订单,Host可将其取消,并重新下发一次新订单。
表示在SMNG重启前,已指派AGV1执行该任务,且分配了任务编号index1。SMNG重启后,index1丢失。当AGV1重新与SMNG建立连接时,后台会自动触发一个TS200的CarWash任务,并分配编号index2。
在该任务中,通过指令从AGV1读回IKEY和Phase值。若IKEY不为0,说明当前AGV1应继续执行Host端挂起的、具有相同IKEY的订单。SMNG与Host同步此信息时,Host需将该IKEY对应的订单与原任务index1解绑,重新绑定当前任务index2,并依据当前Phase值决定下一步操作。
表示AGV1之前已到达取货点并执行了取货动作。此时应读取AGV1的实际装载状态:若未装载,则重新跳转至取货动作;若已装载,则与Host同步后,由Host判断原定卸货站点是否仍然有效—是,则确认跳转到下一步;否,则需重新定向指派新的卸载站点。
表示AGV1之前已到达卸货点并执行了卸货动作。此时,同样读取AGV1当前的装载状态:若仍处于装载状态,则重新执行卸货动作;若未装载,则表示AGV1已完成该订单的取放货操作,与Host同步后,即可进入正常的订单结束流程。
通过以上步骤,可使正在执行任务的AGV在SMNG重启后继续执行原任务。其关键在于,从车端读取该任务的唯一标识IKEY,由Host识别此IKEY,并与SMNG重启后新建的任务继续交互,从而保证原任务不中断、生产节拍稳定运行。
存储IKEY和Phase的OMPLC变量区,为非断电保持区。为防止AGV断电重启后无法读取原任务信息,可在PLC程序中通过编程将该关键变量设置为掉电保持。这样,AGV重启后重新连接SMNG时,会自动触发TS200的CarWash任务,在上传IKEY与Phase值后,Host便可依上述流程进行恢复操作。
如此一来,无论是车端,还是SMNG,重启后,只要Host正常运行,即可恢复之前正在执行的生产节拍。
这一方案有效弥补了SMNG暂不支持热启动的不足,在确保生产节拍稳定运行的同时,也为后续官方热启动功能的升级提供了平稳过渡。通过实施本方案,用户可在系统维护或意外重启后,快速恢复生产流程,显著提升整个AGV/AMR系统的可用性与韧性。
如在实际部署或操作中遇到任何问题,欢迎随时联系我们的技术支持团队以获取进一步协助。
文章来源: 科尔摩根自主移动解决方案
图片来源: 科尔摩根自主移动解决方案
转载平台:微信公众号
责任编辑:朱晓裔
审 核 人:李峥
评论
加载更多