{"text_format":"3","workbook":"xls","n_sheets":3,"sheets":["郭店","尖山","Sheet3"],"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"郭店","index":0,"n_rows":60,"n_cols":4,"rows_kept":60,"merged":[[1,0,11,0],[1,1,11,1],[12,0,18,0],[12,1,19,1],[20,0,28,0],[20,1,28,1],[29,0,32,0],[29,1,32,1],[33,0,34,0],[33,1,34,1]],"flags":["formulas_cached_only"]}
["序号","操作名称","流程","问题描述"]
[1,"产品料车入库","1，AGV到达立库提升机前置站点后，AGV通过回调WCS接口（WCS回调WCS接口需提前提供给AGV）向WCS发送入库请求信号","1，料车入库站台位置（八厂和九厂）"]
[null,null,"2，WCS收到AGV的入库请求信号后，读取提升机当前状态值，判断是否可以入库，进行AGV入库\n请求应答，反馈给AGV（允计/不允计），","2，MES发送入库任务和出库任务是调用WCS接口同步？需提供MES的交互协议接口文档\n   目前理解WCS直接读取提升机PLC信号，然后生成入库任务\n   出库任务是否出库缓存站点料车为空并空料车出库了，WCS自动生成出库任务"]
[null,null,"3，WCS反馈允计进入信号后，AGV进入立库提升机站点，相反则原地等待，重复5，6操作","3，AGV 料车入库交互协议接口文档（可能不需要，入库时直接跟提升机对接就行）"]
[null,null,"4，AGV进入提升机后，放完退出后，AGV回调WCS接口，提升机提高到位置（只管读到提升机的信号），生成入库任务","4，与立库提升机的交互协议接口文档"]
[null,null,"5，循环入库任务，生成堆垛机入库命令（开始地址：立库提升机站点 \n   结束地址：货位地址），查询堆垛机状态，如果空闲，并发送给堆垛机执行","5，料车是否有条码WCS是否需要组盘操作？"]
[null,null,"6，轮询堆垛机执行状态查询接口或读PLC，及时更新WCS任务状态","6，货位信息（货位状态等）和料车层数信息（是否有货等）是由MES提供还是WCS提供？WCS是否要管控货位和料车层数"]
[{"$nulls":3},"7，WCS与堆垛机的交互协议接口文档"]
[null,null,"7，堆垛机放货完成后，WCS入库任务完成，并回传MES","8，空料车出库时，堆垛机和输送线交互接口文档"]
[{"$nulls":3},"9，需要提供物料基础信息。"]
[{"$nulls":3},"10，堆垛机出库站台位置，是第一层所有的货位，还是其中几个货位做为暂存位？"]
[{"$nulls":3},"11，需提供窑炉上料机PLC对接文档"]
[2,"产品料车出库","1，WCS接收MES的出库请求/或自动判断出库缓存站点有空位时，自动生成出库任务","12，窑炉上料机取哪个货位是由MES来分配的？料车中每层烧板管理是否MES管理的？"]
[null,null,"2，WCS轮询出库请求生成出库单","13，上料机为什么要发送上料层数？（难道每层的物料不一样？），会有多个料车上料部分层数的情况？"]
[null,null,"3，WCS查询满足出库单条件的库存信息","14，分拣流程的具体流程同出库流程的区别？"]
[null,null,"4，WCS根据找出的库存信息生成出库任务","15，移库功能应该不存在吧？因为是单深位，不需要移库"]
[null,null,"5，查询堆垛机状态（空闲）和堆垛机出库站台状态（空位无货），生成堆垛机入库命令（开始地址：货位  结束地址：堆垛机出站口），下发给堆垛机","16，分拣流程的具体流程同出库流程的区别？"]
[null,null,"6，堆垛机取货送到出库站台，完成出库，向WCS发送出库任务完成信号","17，料车物料未取完，需要走回库流程吗？"]
[null,null,"7，WCS修改货位信息，完成堆垛机出库","18，MES接口能提供的所有信息？需说明MES能做的所有功能？便于确定WCS需要做什么？"]
[null,null,"8，WCS出库后其他逻辑处理","19，PLC厂商及型号"]
[4,"小堆垛上料","1，WCS轮询窑炉上料机PLC，是否可以上料并读取上料层数","20，料车缓存区库存不足时怎么处理？是自动触发出库任务吗？"]
[null,null,"2，查询是否有未完成上料的料车，该料车对应的层数是否有货?","21，上料是每次取一层还是多层？"]
[null,null,"4, WCS生成小堆垛机上料命令（起始地址：上料货位  结束地址：窑炉上料机站台）","22，空料车出库任务是怎么产生的？是否物料全用完了，自动产生空料车出库任务"]
[null,null,"5，堆垛机取货送到窑炉上料机站台，完成上料，向WCS发送上料完成信号","23，料车出库任务是怎么产生的？是否WCS自动生成出库任务"]
[null,null,"6，WCS修改货位信息中的料车层数信息"]
[null,null,"7，WCS判断当前料车是否为空，如果为空，则生成空料车出库任务"]
[]
[]
[]
[5,"空料车出库","1，WCS轮询空料车出库任务（WCS判断当前料车是否为空，如果为空，则生成空料车出库任务）"]
[null,null,"2，大堆垛机搬运空料车至输送线"]
[]
[]
[5,"分拣流程"]
[]
[5,"空料车回库","跟产品入库流程一样"]
[null,"小堆垛机上料流程","创建上料任务"]
[null,null,"1，开启一个线程轮询五台窑炉上料机PLC信号获取上料请求信息","缓存货位的分配逻辑："]
[null,null,"2，根据上料机PLC信号状态，筛选出状态为“请求上料”的上料机，查询结果为集合，下面的3-6循环生成任务","1，读取两台堆垛机的位置信息（空闲中堆垛机的当前位置;搬运中的堆垛机的当前位置、起始地址及终点地址）"]
[null,null,"3，读取上料机PLC上料请求信息（设备编号、上料层数、物料信息？）","  a,如果只有一台堆垛机空闲，则调用这一台，如果两台堆垛机都处于空闲状态，优先调用离上料机近的堆垛机"]
[null,null,"4，校验上料请求信息，如：物料是否存在？","  b,如果另外一台堆垛机的状态为空闲，则取当前位置，排除大于当前位置的货位。\n    如果另外一台堆垛机状态为搬运中，取（当前位置、起始地址、终点地址）三者的最小值和最大值,排除大于最小值的货位。  "]
[null,null,"5，查询出库站点是否存在满足要求的（物料信息、上料层数）货位，不满足直接返回提示“出库站点无请求物料”","  c,排除不可用货位后，分配离空闲堆垛机当前位置最近的货位"]
[null,null,"6，根据上料请求信息生成上料机上料任务(起始地址：暂为空，下发时再分配  终点地址：上料机站点)，任务状态为“已创建   未下发”","  d,如果未分配到货位，考虑移动堆垛机任务，或直接返回，待堆垛机任务完成后，再分配任务"]
[null,null,"7，写入上料机PLC上料请求反馈，状态“应答请求上料”"]
[null,null,"执行上料任务"]
[null,null,"1，开启一个线程轮询“已创建未下发”的任务集合，最多取两个任务，下面的2-5循环为堆垛机下发上料命令"]
[null,null,"2，读取堆垛机PLC是否存在空闲状态，并更新上料任务的起始地址（货位的分配算法，见右侧说明），结束地址为上料机站点"]
[null,null,"3，分配到货位后，更新上料任务的起始地址，货位状态为占用"]
[null,null,"4，下发当前上料任务给堆垛机"]
[null,null,"6，堆垛机取货送到窑炉上料机站台，完成上料，上料机向WCS发送上料完成信号"]
[null,null,"7，WCS修改货位信息中的料车层数信息，修改上料任务状态为“完成”，货位状态为“无货”"]
[]
[]
[null,null,"对接的设备："]
[null,null,"1，AGV（正常不需要跟AGV对接，直接跟提升机对接）"]
[null,null,"2，提升机 1台"]
[null,null,"3，窑炉上料机5台"]
[null,null,"4，堆垛机1台"]
[null,null,"5，小堆垛机2台"]
[null,null,"6，输送线 1条"]

{"sheet":"尖山","index":1,"n_rows":7,"n_cols":2,"rows_kept":7,"flags":["formulas_cached_only"]}
["序列","问题描述"]
[1,"需提供出入库站台读取信息协议，是哪个PLC厂家，型号"]
[2,"需提供上游系统api出入库接口反馈信息，"]
[3,"出库由上游系统下发至WMS的出库订单，具体出库订单有些什么信息？"]
[4,"分拣流程是出库后再重新入库？"]
[5,"入库需要wms生成客户入货检验组批码是指的什么？"]
[6,"入库时，组盘信息如何提供给wms"]

{"sheet":"Sheet3","index":2,"n_rows":30,"n_cols":31,"rows_kept":30,"merged":[[6,27,6,28],[14,3,14,4],[14,24,14,25],[15,3,15,5],[15,24,15,26],[17,3,19,5],[17,7,19,9],[17,11,19,13],[17,17,19,19],[17,23,19,25],[22,2,22,30],[23,2,23,30],[24,2,24,14],[25,2,25,30],[26,2,26,30],[27,2,27,30],[28,2,28,30],[29,2,29,30],[30,2,30,30]],"flags":["formulas_cached_only"]}
[]
[]
[]
[]
[]
[{"$nulls":3},28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1]
[{"$nulls":7},1002,{"$nulls":9},1001,{"$nulls":9},"SC01"]
[]
[]
[]
[]
[]
[{"$nulls":3},28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1]
[{"$nulls":3},3,2,1,null,3,2,1,null,3,2,1,{"$nulls":3},3,2,1,{"$nulls":3},3,2,1]
[{"$nulls":3},"SC03",{"$nulls":20},"SC02",{"$nulls":4},1003]
[{"$nulls":3},"10.0.82.210",{"$nulls":20},"10.0.82.207"]
[]
[{"$nulls":3},"002-000-007",{"$nulls":3},"002-000-006",{"$nulls":3},"002-000-005",{"$nulls":5},"002-000-004",{"$nulls":5},"002-000-003"]
[]
[]
[{"$nulls":4},885,{"$nulls":3},884,{"$nulls":3},883,{"$nulls":5},882,{"$nulls":5},881]
[]
[null,null,"输送线：001-000-001（1003）"]
[null,null,"提升机：002-000-001（1001）     002-000-002 （1002）  "]
[]
[null,null,"测试入库：SC01-002-000-001 -->SC01-002-005-003"]
[]
[]
[]
[null,null,"排-行-列（1-04-19）   行-层-列"]