Categories
程式開發

做好倉儲控制系統(WCS)的關鍵



{“type”:”doc”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”仓储控制系统(Warehouse Controll System)负责接收上层仓储管理系统(WMS)的出、入库作业指令,转译为下层设备PLC控制指令,调度、驱动自动化设备工作,完成自动存取作业任务。同时自动采集、监控设备运行状态,根据状态自动处理作业任务并将结果报给WMS。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”image” ,”attrs”:{“src”:”https://static001.geekbang.org/infoq/c6/c64db0ef05d48beb5088da93f29f095b.png”,”alt”:null,”title”:”WCS所處位置”,”style” :[{“key”:”width”,”value”:”50%”},{“key”:”bordertype”,”value”:”none”}],”href”:””,”fromPaste”:false,”pastePass”:false}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align “:null,”origin”:null}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null} ,”content”:[{“type”:”text”,”text”:”WCS介于管理和设备之间的控制层,起到承上启下的关键纽带作用。作为软件系统理所当然应该符合应具备的功能和性能,例如“稳定性”对于WCS就是一个特别重要的指标。本文以用户思维导向,谈谈他们是怎么评价WCS的。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”通过几十个项目的实践,倾听直接用户的需求和抱怨。总结起来,一套好用的WCS必须在以下三个方面做到”},{“type”:”text”,”marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”便捷”},{“type”:”text”,”text”:”、”},{“type”:”text”,”marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”傻瓜”},{“type”:”text”,”text”:”、”},{“type”:”text”,”marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”直觀”},{“type”:”text”,”text”:”:”}]},{“type”:”numberedlist”,”attrs”:{“start”:1,”normalizeStart”:1},”content”:[{“type”:”listitem”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:1,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”异常处理-便捷;”}]}]},{“type”:”listitem”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:2,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”防呆防错-傻瓜;”}]}]},{“type”:”listitem”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:3,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”可视化交互-直观;”}]}]}]},{“type”:”heading”,”attrs”:{“align”:null,”level”:4},”content”:[{“type”:”text”,”text”:”异常处理要便捷”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”为什么把异常处理列为关键中的关键呢?理由是仓储作业往往是生产、销售业务的关键环节,绝不能容许长时间停机中断业务!可是WCS是一个由软件、硬件、网络、设备集成在一起的复杂的系统,出现异常状况在所难免。特别是设备PLC层控制系统会考虑诸多安全性因素,智能检测各种是否可继续动作的条件,例如货物是否超高、超宽,货位是否被占用等,若出现异常状况就必须报警告知WCS中断指令执行。此时货物可能在入库口、输送巷道途中或者目的货位前,处在一个进退两难的境地。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”用户有两种选择:要么继续,要么取消。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”若可以,用户希望解决PLC层设备报警问题,比如货物超宽很可能是缠绕膜飘出导致的,还比如目的货位被占用很可能是绕过系统手动将货物放入导致的等等,这些情形都要可以在解决问题后复位PLC控制系统,让作业自动继续,而不用回到WCS中再做任何操作。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”一个大型仓库可能面积几千甚至上万平米、巷道很长,能不让用户走动的,绝对要避免。纯软件的用户体验设计会考虑鼠标移动距离最小,而WCS与用户的交互要考虑用户在仓库的走动距离最小,鼠标移动相比需要在仓库中走动来说几乎可以忽略不记了。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”本質上異常處理要便捷是一個用戶體驗的問題,要本著用戶最省事、動作最少、時間最省的原則設計交互。讓用戶少干預就是好的。”}]},{“type”:”heading”,”attrs”:{“align”:null,”level”:4},”content”:[{“type”:”text”,”text”:”傻瓜式防呆防错”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”在WCS中,用户主要的操作会涉及到入库托盘、货物的扫码确认,必须确认以防作业指令与实物不符导致最终结果有误。一旦出现作业任务与实物错位,可能导致的结果就是货位中实际存放的托盘和货物与WCS数据错位了一大片,例如:”}]},{“type”:”numberedlist”,”attrs”:{“start”:1,”normalizeStart”:1},”content”:[{“type”:”listitem”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:1,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”作业001是将货物A存入001货位;”}]}]},{“type”:”listitem”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:2,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”作业002是将货物B存入002货位;”}]}]},{“type”:”listitem”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:3,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”……”}]}]},{“type”:”listitem”,”content”:[{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:4,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”作业010是将货物J存入010货位。”}]}]}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”如果没有扫码确认,假如001放入的是货物B,可想而知001-010货位中的货物数据全错位了。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”还有可能WMS交给WCS的作业使用队列来管理,在转译成PLC指令交由PLC执行时出现错位,然后取货的时候就找不到想要的货物了。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”假设有几千个货位,全面重新整理要花费的代价巨大。因此WCS的作业调度系统必须有任务流水号的核对机制,作业任务交给PLC控制系统时生成唯一的任务流水号,PLC控制系统在完成每个任务时将流水号传回WCS,这样来避免作业任务和实物数据不符的灾难。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”若未启用WMS,用户也不关心货物名称,要求扫码入库只记录物料编码,组盘的任务落在WCS的头上。组盘时需要扫托盘标签、货物标签(可能多个货物拼货组盘)、批次号条码,然后执行上架作业指令。对于仓管员来说,一天可能扫几百上千次,在扫码顺序上犯错的几率极大,假如把批次号扫到物料编码,物料编码扫到批次号,这样也会导致数据错误。WCS应具备对每种条码的数据校验,防止出错。”}]},{“type”:”image”,”attrs”:{“src”:”https://static001.geekbang.org/infoq/20/20741a5ac79706f2e899de6ba163340b.png”,”alt”:null,”title”: “WCS組盤上架前掃碼防錯處理”,”style”:[{“key”:”width”,”value”:”75%”},{“key”:”bordertype”,”value”:”none”}],”href”:””,”fromPaste”:false,”pastePass”:false}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align “:null,”origin”:null}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null} ,”content”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”只有保證入庫作業正確執行,否則後果是災難性的,不管是何種原因的數據錯誤,用戶必然認為是系統不好用,你無從解釋,或者說解釋也是蒼白的。 “}]},{“type”:”heading”,”attrs”:{“align”:null,”level”:4},”content”:[{“type”:”text”,”text”:”可视化要直观”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”当系统和设备在忙碌时,用户希望知道设备在干嘛,干到哪里了。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”当出现异常状况,用户希望你直接告诉他怎么了,他该怎么办。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”当用户接到纸质出库单据时,他希望以最快的速度找到货物下架。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”……”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”用户希望以最直观的所见即所得的方式与WCS交互。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”所以WCS要实时监控设备运行状态、作业任务执行状态。为了方便目视,大多数情况下,会配置LED或液晶电视挂在出入库口,向用户播报当前状况,指导用户和叉车进行后续的操作。”}]},{“type”:”image”,”attrs”:{“src”:”https://static001.geekbang.org/infoq/d4/d40063dd560dc2c6a3c9c4247c8909d9.jpeg”,”alt”:null,”title”: “”,”style”:[{“key”:”width”,”value”:”75%”},{“key”:”bordertype”,”value”:”none”}],”href”:””,”fromPaste”:false,”pastePass”:false}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align “:null,”origin”:null}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null} ,”content”:[{“type”:”text”,”text”:”WCS可以在电脑端模拟立体货架的排、层、列三维视图,让用户能在此视图中查找托盘和物料,并能直观、快捷的操作。”}]},{“type”:”image”,”attrs”:{“src”:”https://static001.geekbang.org/infoq/0d/0da087c482f928096eff36a1986ee13e.png”,”alt”:null,”title”: “存貨地圖”,”style”:[{“key”:”width”,”value”:”75%”},{“key”:”bordertype”,”value”:”none”}],”href”:””,”fromPaste”:false,”pastePass”:false}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align “:null,”origin”:null}},{“type”:”image”,”attrs”:{“src”:”https://static001.geekbang.org/infoq/bb/bbd2d68938f96ba676ecc5378fa6d9e2.png”, “alt”:null,”title”:”貨位中存儲托盤、物料及直觀的下架操作”,”style”:[{“key”:”width”,”value”:”75%”},{“key”:”bordertype”,”value”:”none”}],”href”:””,”fromPaste”:false,”pastePass”:false}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align “:null,”origin”:null}},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null} ,”content”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”text””marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”總之,如果可以,以圖形化的方式顯示托盤、物料、設備狀態、作業隊列及執行狀態。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”综上所述,是站在用户的角度思考,一套好的仓储控制系统(WCS)需要具备的三个关键特质:”}]},{“type”:”numberedlist”,”attrs”:{“start”:1,”normalizeStart”:1},”content”:[{“type”:”listitem””content”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:1″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”listitem””content”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:1″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”listitem””content”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:1″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”listitem””content”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:1″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”便捷的異常處理”}]}]},{“type”:”listitem”,”content”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:2″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:2″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:2″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:2″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”傻瓜式防呆防錯”}]}]},{“type”:”listitem”,”content”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:3″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:3″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:3″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”paragraph””attrs”:{“indent”:0″number”:3″align”:null”origin”:null}”content”:[{“type”:”text””marks”:[{“type”:”color”,”attrs”:{“color”:”#40A9FF”,”name”:”blue”}},{“type”:”strong”}],”text”:”直觀的可視化交互”}]}]}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”让用户”},{“type”:”text”,”marks”:[{“type”:”color”,”attrs”:{“color”:”#9254DE”,”name”:”purple”}},{“type”:”strong”}],”text”:”省事”},{“type”:”text”,”text”:”、”},{“type”:”text”,”marks”:[{“type”:”color”,”attrs”:{“color”:”#9254DE”,”name”:”purple”}},{“type”:”strong”}],”text”:”省心”},{“type”:”text”,”text”:”、”},{“type”:”text”,”marks”:[{“type”:”color”,”attrs”:{“color”:”#9254DE”,”name”:”purple”}},{“type”:”strong”}],”text”:”省時”},{“type”:”text”,”text”:”。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”对于自动化设备较多的大型仓库,WCS还需有智能的作业调度算法,让设备的使用效率和仓库的整体运作效率最大化,国外甚至有人提出了”},{“type”:”link”,”attrs”:{“href”:”https://www.sihs.com/warehouse-execution-system-software/”,”title”:””},”content”:[{“type”:”text”,”text”:”仓储执行系统(WES)”}]},{“type”:”text”,”text”:”的概念,變為一個智能化的執行控制系統。”}]},{“type”:”paragraph”,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null}},{“type”:”paragraph” ,”attrs”:{“indent”:0,”number”:0,”align”:null,”origin”:null},”content”:[{“type”:”text”,”text”:”注:文中插图都是实际项目照片,若有隐私侵犯请通知本人。”}]}]}