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