一个已稳定运行两年的iwms仓储项目,晚上突然大批量出现AGV背货架停在路上报“路径规划告警:目标点错误(货架方向错误)”。

任务流转流程自上而下:iwms → cms → rcs → 规划库 → AGV
排查时自下而上:规划库 → rcs → cms → iwms (仅针对本问题相关部分)

考虑到此告警为规划库告警,首先查看规划库日志,发现规划库日志都有相同的报错:“sub_err_code -2042 POD_TH_NOT_EXIST edge config err : s129940 169045, e0 0 pod_th : -4”,到工作台是非整数的货架方向,继续向上排查异常货架方向来源。

在cms子任务管理发现,cms给rcs下发子任务报文就带有异常的货架方向,正常情况终点货架角度都是0°,90°,180°,-90°这些整数。
继续向上排查任务来源


查看任务来源,为iwms下发的getOutPod任务,参数里带有podDir:“4”,
这里的podDir:“4”是代表仓位东南西北方向,不是指具体角度,经过多个异常任务对比发现cms在处理podDir时当成了具体角度来处理。
且经过异常任务导出筛查,发现异常任务都集中出现在“仓储入库”这个任务模板的任务上。


排查到当前进度,已基本定位到仓储入库这个任务模板在解析iwms下发的podDir时出现异常,经与现场再次沟通,现场曾在晚上9点左右修改过此任务模板任务优先级。
检查此“仓储入库”任务模板,发现接口名称由“仓储出入库处理器”变为“默认任务处理器”,但在重新修改接口名称时发现找不到“仓储出入库处理器”。
至此,问题原因已基本明确:由于前端页面没有“仓储出入库处理器”,项目在实施时是直接导入修改好的任务模板,如今在修改“任务优先级”保存时,原来导入的“仓储出入库处理器”被强制变为“默认任务处理器”,引发后续问题。


① 导出有相同流程的仓储出库任务模板,修改名称为仓储入库,再重新导入,上报消息按原来的进行配置;
② 异常入库任务,一键结束对应工作台任务,再由上层重新发送。



联系cms研发,在任务模板前端页面增加“仓储出入库处理器”
