using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IMCS.DefaultList { public class AGVPositionCodePathList { public string positionCode { get; set; } = ""; public string type { get; set; } } public class AGVPrioritiesList { /// /// 当前整在执行的任务编号 /// public string taskCode { get; set; } /// /// 优先级 1-127级别=,最大优先级越高 /// public string priority { get; set; } } /// /// CCS--->>AGV /// public class AGVRequestDefaultList { /// /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。由上层系统设定 /// 最大长度:32 /// public string reqCode { get; set; } /// /// 最大长度:20 /// 请求时间截 格式: “yyyy-MM-dd HH:mm:ss”。由上层系统设定 /// public string reqTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); /// /// 客户端编号,如 PDA, HCWMS 等。如果填写,需先在RCS-2000 系统配置,上层系统调用时进行填写,当多系统 调用时,调度系统可以进行调用方区分 /// 最大长度:16 /// public string clientCode { get; set; } = "HCWM"; /// /// 令牌号, 由调度系统颁发。如果填写,需先在 RCS-2000 系 统配置,上层系统调用时进行填写 /// 最大长度:64 /// public string tokenCode { get; set; } /// /// 最大长度:16 ///任务类型,与在 RCS-2000 端配置 ///的主任务类型编号一致。 ///内置任务类型: ///厂内货架搬运: F01 ///厂内货架空满交换: F02 ///RCS-2000 接口协议 对外发布 ///辊筒搬运接驳:F03 ///厂内货架出库 AGV 待命:F04 ///旋转货架: F05 ///厂内电梯任务: F06 ///以下为叉车专用任务类型 ///高位货架到工作台: F11 ///工作台到高位货架: F12 ///巷道到工作台: F13 ///工作台到巷道: F14 ///高位货架到工作台(接驳) : F15 ///工作台到高位货架(接驳) : F16 ///巷道到工作台(接驳) : F17 ///工作台到巷道(接驳) : F18 ///叉车电梯主任务: F20 /// public string taskTyp { get; set; } = "F01"; /// /// 最大长度:16 /// 容器类型(叉车专用) /// 叉车项目必传 /// public string ctnrTyp { get; set; } /// /// 最大长度:32 /// 容器编号(叉车专用) /// public string ctnrCode { get; set; } /// /// 最大长度:32 /// 工作位,一般为机台或工作台位置, /// 与 RCS-2000 端配置的位置名称一 /// 致, 工作位名称为字母\数字\或组 /// 合, 不超过 32 位 /// public string wbCode { get; set; } /// /// 列表长度小于 50 /// 最大长度:50 /// 位置路径:AGV 关键路径位置集合, ///与任务类型中模板配置的位置路径 ///一一对应。待现场地图部署、配置 ///完成后可获取。 ///positionCode:位置编号, 单个编 ///号不超过 64 位 ///type:位置类型说明: ///00 表示:位置编号 ///01 表示:物料批次号 ///02 表示:策略编号(含多个区域) ///RCS-2000 接口协议 对外发布 ///如:第一个区域放不下, 可以放第二 ///个区域 ///03 表示:货架编号,通过货架编号 ///找到货架所在位置 ///04 表示:区域编号,在区域中查找 ///可用位置 ///05 表示:仓位编号(叉车专用) ///06 表示:巷道编号(叉车专用) /// public List positionCodePath { get; set; } /// /// 最大长度:16 /// /货架编号,不指定货架可以为空 /// public string podCode { get; set; } /// /// 最大长度:4 /// 180”,”0”,”90”,”-90” 分 ///别 对 应 地 图 的 ” 左 ”,” 右 ”,” ///上”,”下” ,不指定方向可以为空 /// public string podDir { get; set; } /// /// 最大长度:16 /// 货架类型, 传空时表示随机找个货架 ///找空货架传参方式如下: ///-1: 代表不关心货架类型, 找到空 ///货架即可. ///-2: 代表从工作位获取关联货架类 ///型, 如果未配置, 只找空货架. ///货架类型编号: 只找该货架类型的 ///空货架. /// public string podTyp { get; set; } /// /// 最大长度:32 /// 物料批次或货架上的物料唯一编码, ///生成任务单时,货架与物料直接绑定 ///时使用. (通过同时传 podCode 和 ///materialLot 来 绑 定 或 通 过 ///wbCode 找 到 位 置 上的 货 架 和 ///materialLot 来绑定) /// public string materialLot { get; set; } /// /// 最大长度:32 /// 优先级,从(1~127)级,最大优 ///先级最高。为空时,采用任务模板 ///RCS-2000 接口协议 对外发布 ///的优先级。 ///taskCode String 64 否 ///任务单号, 选填, 不填系统自动生 ///成,UUID 小于等于 64 位 /// public List priority { get; set; } /// /// 最大长度:64 /// 任务单号,选填, 不填系统自动生 ///成,UUID 小于等于 64 位 /// public string taskCode { get; set; } /// /// 最大长度:32 /// AGV 编号,填写表示指定某一编号 /// 的 AGV 执行该任务 /// public string agvCode { get; set; } /// /// 最大长度:2000 /// 自定义字段,不超过 2000 个字符 /// public string data { get; set; } /// /// 位置编号,地图位置的别名,能任 ///意命名(字母+数字),但要唯一,由 ///RCS-2000 界面配置 /// public string positionCode { get; set; } /// /// "1": 启用, "0":禁用 /// public string indBind { get; set; } = "0"; /// /// 当前位置编号 ///任务开始:该位置为任务起点 ///走出储位:该位置为任务起点 ///任务单取消:该位置为工作位编号 ///任务结束:该位置为任务终点 /// public string currentPositionCode { get; set; } /// /// 方法名, 可使用任务类型做为方法名 ///由 RCS-2000 任务模板配置后并告 ///知上层系统 ///默认使用方式: ///RCS-2000 接口协议 对外发布 ///start : 任务开始 ///outbin : 走出储位 ///end : 任务结束 ///cancel : 任务单取消 /// public string method { get; set; } /// /// AGV 编号(同 agvCode ) /// public string robotCode { get; set; } } public enum EnumAGVCode { /// /// 成功 /// Success = 0, /// /// 参数相关的错误 /// ParamError = 1, /// /// 重复发送,上层系统不需要重发 /// reuseSend = 6, /// /// 其他未知错误,调用失败后,可以重试 /// OtherError = 99, /// /// 该任务不存在,上层系统不需要重发,需要人工接入才处理 /// NoTask = 100 } /// /// AGV-->CCS /// public class AGVResponseDefaultList { /// /// 请求编号返回,形成一一对应 /// public string reqCode { get; set; } /// /// 返回编号, “0”:成功, 1~N:失败 /// public string code { get; set; } /// /// “0”:成功 1~N:其他的详细描述 /// public string message { get; set; } /// /// 返回的数据结构 /// public string data { get; set; } } }