先说个让我肉疼的数字:47 秒——我们仓一次 WCS 任务超时误判,就是从这 47 秒开始的。

去年 11 月,我们那条二手输送线上,一个纸箱在分拣口停了 47 秒没动。WCS 一看超时,扭头又派了个新任务。可那个纸箱根本没卡死,只是分拣口的光电开关积了灰,反应慢了半拍。第二个任务一下来,推杆把同一个纸箱又推了一次,直接推进了错误的格口。那单是个加急单,客户在洛杉矶等着上架,我们赔了加急运费,还搭进去一下午找货。

我们小仓可烧不起这个钱。从那天起,我把 WCS 超时这事从头捋了一遍,捋出来的东西,今天全倒出来。

先交代下我们的家底:3000 平的小仓,输送线是二手的,提升机是翻新的,唯一的新设备是一台分期买的 AMR。大厂那套"设备毫秒级响应"的标准,在我们这儿根本不存在——二手 PLC 的心跳时不时打个盹,WiFi 穿过两排货架,AMR 回个确认能慢上好几秒。WCS 默认的超时阈值是按新设备设的,搁我们这儿,一天能报十几次超时,十次里九次是假的。

WCS 任务超时的阈值,抄大厂作业是抄不来的

一开始我也想偷懒,问集成商要了个"行业推荐值"照抄。结果越抄越乱:输送线 5 秒超时,一天到晚狼来了;AMR 30 秒超时,真卡住了 WCS 还在那儿傻等。

后来我们请集成商喝了顿酒,才搞明白一个关键:WCS 的"超时"根本不是一回事,得拆成三层看。

第一层是心跳:设备还活着吗。PLC 的心跳一般 1~3 秒一次,连续 3 次没回,基本可以判定设备掉线。这层跟任务没关系,纯粹是签到。

第二层是 ACK:任务收到了吗。WCS 下发任务,设备回个"收到"。输送线这种有线设备,5 秒内回 ACK 是本分;AMR 走 WiFi,15 秒内都算正常。我们那台二手提升机,ACK 经常要 8~10 秒——大厂标准 5 秒超时,我们设 12 秒,不丢人,设备就这体格。

第三层是完成确认:活儿干完了吗。这才是大头。一个输送任务从下发到纸箱落格口,走完要 1~2 分钟;AMR 跨区搬运,5 分钟都正常。这一层的阈值必须按任务类型设,不能一刀切。

我们最后定的分档,抄作业的可以直接拿去改:

设备 ACK 超时 完成确认超时 备注
输送线段 8 秒 90 秒 二手 PLC,心跳偶尔打盹,ACK 留余量
提升机 12 秒 120 秒 机械动作慢,载重不同速度差一倍
AMR 15 秒 300 秒 WiFi 穿货架,跨区任务给足时间

记住:阈值是按"你们家设备的体格"定的,不是标准答案。设备要都是新的,砍一半也行。

任务超时之后:重派还是等?先看这三件事

阈值设对了,超时还是会发生,设备哪有不闹脾气的。真正要命的是超时之后:重派,还是等?

我们吃过一次大亏才学乖。2025 年 11 月 18 号晚上 9 点多,我们那台 AMR 接了个任务:把一托货从收货区搬到电梯口。它在电梯口回了 ACK,开始等电梯,偏偏那会儿 WiFi 断了 40 秒——活儿干完了,"干完了"三个字没传回来。

WCS 一看 30 秒没收到完成确认,判定超时,扭头派了第二台 AMR(旺季临时租的)去搬"同一托货"。WiFi 恢复后,第一台上报"任务完成",第二台也到了现场,两台车围着一托货转圈。更绝的是,第二台按任务把托盘又叉起来,走了两步发现路被第一台挡了,直接把托盘卸在了消防通道口。

那一晚:4 个人返工 2 小时;消防通道被堵,差点被园区罚款;租来的 AMR 按小时计费,白烧 3 小时。事后一算,那一晚的损失够给全仓 WiFi 加两个接入点还有剩。

根因就一句话:收到过 ACK 的任务,被当成"没执行"重派了。从那以后,我们定了个决策框架,贴在中控屏旁边,超时任务先分类再处置:

第一步,看 ACK 回来了没有。没收到 ACK,说明设备压根没收到任务,大概率是通讯断了,这时候重派是安全的——但重派之前先看心跳,设备连心跳都没了,重派 100 次也没用,先叫人去看设备。

第二步,看任务是不是"可重入"的。查询类、状态同步类的指令,随便重发;但凡是让设备"动手"的——搬运、分拣、推杆——只要 ACK 回来过,就默认"设备可能已经在干了",绝不自动重派。WCS 不知道设备干到哪一步,重派一个"把 A 箱推到 3 号格口",万一设备刚推完,新任务一来,推杆再推一次,遭殃的可能是后面无辜的 B 箱。

第三步,看波次。卡住的货影不影响截单时间?不影响就等,影响就转人工。别为了一个不着急的箱子,把整条线折腾停。

我们的土办法:超时任务池 + 一块旧平板

大厂的解法是上设备孪生、做任务幂等性改造,动辄几十万。我们小仓可烧不起这个钱。我们的土办法花了不到 500 美金。

找了块退役的旧平板,挂在输送线旁边,上面只显示一个界面:超时任务池。WCS 的超时任务不再自动重派,全部进池子,变红。

输送线分拣口纸箱停滞,红色警示灯亮起,维修人员拿着平板走近

操作员的活儿很简单:看到红了,走过去看一眼——输送线上的事,肉眼一看就明白,是真卡住了还是只是慢了。真卡住,点"人工处理",任务转人工;只是慢了,点"继续等",WCS 把完成确认的等待时间延长一倍;设备压根没收到任务,点"确认重派"。

就这么个土界面,上线第一个月,假重派从每天十几起降到零。因为误操作导致的找货时间,一个月省了约 20 个小时。500 美金,值。

超时任务人工介入 SOP,贴在墙上的那张

土办法跑顺之后,我们把它写成 SOP,贴在中控室墙上:

L1,系统自动处理:只有"无 ACK、心跳正常"的任务允许自动重派,最多 2 次,间隔拉长(第一次 30 秒后,第二次 60 秒后)。两次还不行,转 L2。

L2,人工确认:有 ACK、无完成确认的任务,全部进超时任务池,操作员 5 分钟内到现场确认。确认"设备已执行",WCS 标记完成;确认"没执行",人工点重派。

L3,锁线停机:同一设备 1 小时内超时 3 次,或连续 2 次 L2 确认设备故障,锁线叫维修,WCS 自动把任务切到备用线路(有的话)。

还有一条铁律:任何情况下,WCS 不许在 30 秒内对同一任务下发两次执行指令。这条是我们用那一晚的学费换来的,写进配置里,谁也别想改。

最后说个反常识的:超时阈值不是越短越"灵敏"。阈值设得太短,等于雇了个一惊一乍的监工,动不动喊出事了。操作员被假警报轰炸一个月,就会学会无视所有警报——包括真的。狼来了的故事,在仓库里天天上演。阈值的意义不是"第一时间发现异常",而是"在该发现的时候发现"。宁可让真超时多等 30 秒,也别让假超时把人的警觉心磨没了。

我们仓的 WCS 是二手的,设备是二手的,连平板都是退役的。但把超时这事捋顺之后,旺季一天 8000 单,再没出过重派事故。

小仓有小仓的活法:大厂靠钱堆稳定性,我们靠"认怂"——承认设备会闹脾气,承认阈值要留余量,承认有些事就得让人去看一眼。认怂不丢人,出事故才丢人。

作者:小马|小仓创业者