{"text_format":"3","workbook":"xls","n_sheets":4,"sheets":["车间AGV提升机","单工位堆垛机通讯协议","链板线协议","成品输送线协议"],"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"车间AGV提升机","index":0,"n_rows":18,"n_cols":6,"rows_kept":18,"merged":[[0,0,1,5],[2,0,7,0],[8,0,8,5],[9,0,17,0]],"flags":["formulas_cached_only"]}
["车间AGV提升机通讯协议（DB1）"]
[]
["WCS下发指令","序号","名称","数据类型","偏移量","备注"]
[null,1,"TaskID","DInt",2000,"任务号（任务号与新任务不一致时，判定为新任务）"]
[null,2,"ToLevel","Int",2004,"目的层"]
[null,3,"Type","Int",2006,"1接车，2送车"]
[null,4,"Door","Int",2008,"当前层开关门 1开门 2关门;"]
[null,5,"Backup","Int",2010,"备用  清错、初始化"]
[]
["PLC上报指令",6,"SystemStatus","Int",2012,"系统状态 1半自动，2手动 ，3自动"]
[null,7,"RunStatus","Int",2014,"运行状态 1无货待命，2移动中，3有货待命"]
[null,8,"RecStatus","Int",2016,"写入状态 1 PC可写，2写入成功， 3写入非法"]
[null,9,"TaskID","DInt",2018,"任务号"]
[null,10,"ToLevel","Int",2020,"目的层"]
[null,11,"AccuLevel","Int",2022,"当前层"]
[null,12,"DoorStatus","Int",2024,"当前层门状态  1开门到位 2关门到位;"]
[null,13,"LoadStatus","Int",2026,"1有车 2无车"]
[null,14,"ErrStatus","Int",2028,"故障代码"]

{"sheet":"单工位堆垛机通讯协议","index":1,"n_rows":35,"n_cols":6,"rows_kept":35,"merged":[[0,0,1,5],[2,0,17,0],[19,0,34,0]],"flags":["formulas_cached_only"]}
["堆垛机通讯协议（DB1000）"]
[]
["WCS下发指令","序号","名称","数据类型","偏移量","含有"]
[null,1,"HeartBeat","Int",0,"心跳"]
[null,2,"TaskID","DInt",2,"任务号"]
[null,3,"Start_Row","Int",6,"起始排"]
[null,4,"Start_Bay","Int",8,"起始列"]
[null,5,"Start_Level","Int",10,"起始层"]
[null,6,"Stop_Row","Int",12,"终止排"]
[null,7,"Stop_Bay","Int",14,"终止列"]
[null,8,"Stop_Level","Int",16,"终止层"]
[null,9,"CMD_TaskType","Int",18,"作业命令（1.移动取货任务、2.移动放货任务、3.取货任务、4.放货任务、5.取放任务"]
[null,10,"Write_Command","Bool",20,"可写命令"]
[null,11,"Write_Finish","Bool",20.1,"确认完成"]
[null,12,"Backup[1]","Int",22]
[null,13,"Backup[2]","Int",24]
[null,14,"Backup[3]","Int",26]
[null,15,"Backup[4]","Int",28]
[]
["PLC上报指令",null,"HeartBeat","Int",30,"心跳"]
[null,null,"System_Status","Int",32,"0不在线，1在线"]
[null,null,"SMC_Status","Int",34,"1半自动，2单步，3自动，4手动，5脱机"]
[null,null,"RUN_Status","Int",36,"1无货待命，2移动中，3取货中，4.放货中，9完成待命"]
[null,null,"Rec_Status","Int",38,"1 PC可写，2写入成功， 3写入非法"]
[null,null,"EventType","Int",40,"2 正常完成任务, 3 人为强制完成"]
[null,null,"TaskID","DInt",42,"任务号"]
[null,null,"Accu_Row","Int",46,"当前排"]
[null,null,"Accu_Bay","Int",48,"当前列"]
[null,null,"Accu_Level","Int",50,"当前层"]
[null,null,"Accu_Fork","Int",52,"当前叉"]
[null,null,"Err_Status","Int",54,"故障代码"]
[null,null,"Backup[1]","Int",56]
[null,null,"Backup[2]","Int",58]
[null,null,"Backup[3]","Int",60]
[null,null,"Backup[4]","Int",62]

{"sheet":"链板线协议","index":2,"n_rows":32,"n_cols":6,"rows_kept":32,"merged":[[0,0,1,5],[4,0,10,0],[21,0,22,5],[25,0,31,0]],"flags":["formulas_cached_only"]}
["输送线通讯协议（DB1000）WCS写入"]
[]
[null,"序号","名称","数据类型","偏移量","含义"]
[null,1,"TaskNo","DInt",0,"任务号"]
["RFID扫描点、出库点",2,"ID","DInt",4,"纸卷ID"]
[null,3,"ToNode","Int",8,"目标站台"]
[null,4,"Weight","Int",10,"纸卷重量"]
[null,5,"Width","Int",12,"纸卷幅宽"]
[null,6,"Height","Int",14,"纸卷直径"]
[null,8,"Bak1","Int",16,"备用"]
[null,9,"Bak2","DInt",20,"备用"]
[]
[]
[]
[]
[]
[{"$nulls":3},"所有数据，输送设备自己清除  ","WCS的任务号不清，防止发重，每次比对上一个任务"]
[]
[]
[]
[]
["输送线通讯协议（DB1001）WCS读取"]
[]
[null,"序号","名称","数据类型","偏移量","含义"]
[null,1,"TaskNo","DInt",0,"任务号"]
["入库点、以及扫描完成，请求WCS录入信息。",2,"ID","DInt",4,"纸卷ID"]
[null,3,"ToNode","Int",8,"目标站台"]
[null,4,"Weight","Int",10,"纸卷重量"]
[null,5,"Width","Int",12,"纸卷幅宽"]
[null,6,"Height","Int",14,"纸卷直径"]
[null,8,"Request","Int",16,"请求（当到达扫描信息点，我会发出请求，或者到达入库点我也会请求。  发出86）"]
[null,9,"Bak1","DInt",20,"备用"]

{"sheet":"成品输送线协议","index":3,"n_rows":25,"n_cols":14,"rows_kept":25,"merged":[[0,0,0,12],[1,5,1,12],[2,5,2,12],[3,5,3,12],[4,5,4,12],[5,5,5,12],[6,0,7,0],[6,1,7,1],[6,2,7,2],[6,3,7,3],[6,4,7,4],[8,0,9,0],[8,1,9,1],[8,2,9,2],[8,3,9,3],[8,4,9,4],[10,5,10,12],[11,0,12,0],[11,1,12,1],[11,2,12,2],[11,3,12,3],[11,4,12,4],[11,5,12,12],[13,5,13,12],[14,5,14,12],[15,5,15,12],[18,0,18,12],[19,5,19,12],[20,5,20,12],[21,5,21,12],[22,5,22,12],[23,5,23,12],[24,5,24,12]],"flags":["formulas_cached_only"]}
["输送线-PLC上报"]
["标记名称","标记代码","地址DB600","数据类型","说明","取值范围"]
["心跳","heart",0,"bool",null,"0~1（1000ms）"]
["工作模式","mode",2,"Int",null,"0-脱机；1-手动模式；2-自动模式；3-半自动模式；4-调试模式；"]
["运行状态","status",4,"Int",null,"0-脱机；1-手动待机；2-自动待机；3-运行中；4-需要回原点；5-正在回原点；6-故障中；7-警告；8~9-预留；"]
["命令","command",6,"Int",null,"0-无命令；1-入库申请；2-入库到位；3-出库申请；4-出库到位；5-空盘申请；6-空盘到位；7~9预留；10-叠盘申请；11-单次叠盘完成；12-叠盘完成申请；14-拆盘申请；15-拆单盘完成申请；"]
["光电信号","move",8,"Byte",null,7,6,5,4,3,2,1,0]
[{"$nulls":5},"预留","预留","高位停准(顶升设备)","低位停准(顶升设备)","后端有货","后端换速","前端换速","前端有货","0-前端有货；1-前端换速；2-后端换速；3-后端有货；4-低位停准；5-高位停准"]
["动作信号","action",9,"Byte",null,7,6,5,4,3,2,1,0]
[{"$nulls":5},"预留","预留","预留","预留","下降\n(顶升设备)","上升\n(顶升设备)","链条/辊筒反转","链条/辊筒正转","0-链条/辊筒正转；1-链条/辊筒反转；2-顶升设备上升；3-项升设备下降；"]
["故障报警","error",10,"Int",null,"0=无报警；1=输送辊筒故障；2= 皮带故障；3= 进出托盘超时；4=顶升气缸动作超时；5=提升电机动作超时；6=阻挡气缸动作超时；7=定位气缸动作超时；8=抱夹气缸动作超时；9=门升降超时；10=安全光电触发；11=变频器故障；12=电机旋转超时；13=缺少托盘或任务；14=托盘超高；15=WCS响应超时；16=紧急停止；"]
["托盘方向","container_\ndirection",null,"Int"]
[]
["托盘类型","container_type",null,"Int",null,"此项由WCS下发：1=18650实托，2=18650空托，3=21700实托，4=21700空托，其它视现场情况而定"]
["任务号","task",null,"dint",null,"10000以下是单机任务，建议使用范围10,001到9,999,999"]
["目标地址","target",null,"dint",null,"11000~99999"]
[]
[]
["输送线-WCS下发"]
["标记名称","标记代码","地址DB601","数据类型","说明","取值范围"]
["心跳","heart",0,"bool",null,"0~1（1000ms）"]
["下发托盘类型","to_container_\ntype",2,"Int",null,"此项由WCS下发：1=18650实托，2=18650空托，3=21700实托，4=21700空托，其它视现场情况而定"]
["下发命令","to_command",4,"Int",null,"0-无命令；1-允许入库；2-收到入库到位；3-允许出库；4-收到出库到位；5-收到空盘申请；6-收到空盘到位；7~9预留；10、允许叠盘；11、收到单次叠盘完成；12、收到叠盘完成，并下发任务；13、不允许叠盘，并下发任务；14-允许拆盘；15-收到拆单盘完成，并下发任务；99-执行普通任务（无需与WCS交互的任务）"]
["下发目标站","to_target",6,"dint","目标输送机的任务地址","11000~99999"]
["下发任务号","to_task",10,"dint",null,"1000以下是单机任务，建议使用范围10,001到9,999,999，未执行时不能清0，否则会不停下发"]