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; }
}
}