using System;
using System.Collections;
using System.Collections.Generic;
using System.Security.Policy;
using System.Text;
using System.Threading.Channels;
using System.Threading;
using System.Text.RegularExpressions;
namespace Model.InterFaceModel
{
public class AgvCreateTaskModel
{
///
/// 任务类型
///
public string taskType { get; set; } = "PF-LMR-COMMON";
///
/// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
///
public List targetRoute { get; set; }
///
/// 任务执行的初始优先顺序,数值越大,优先级越高。但机器人调度系统会根据任务繁忙程度,机器人的工作状态,以及其他优先级修正条件,进行综合判定后,实时动态调整任务实际的优先级数值。范围:1~120
///
public int initPriority { get; set; }
///
/// 任务截止时间,任务优先级修正条件之一。截止时间之前需要任务执行完成, 超过时间后,系统会将任务单做出超时提示。格式:秒精度。
///
public string deadline { get; set; }
///
/// 要求调度系统仅在当前指定的范围内选择机器人执行该任务。可能出现任务与机器人类型不匹配的异常,需要业务系统确保任务与机器人类型的匹配。如果不指定,则调度系统会在所有可用机器人的范围内寻找最优方案。
/// 固定枚举值:
/// GROUPS机器人资源组编号
/// ROBOTS机器人编号
///
public string robotType { get; set; }
///
/// 与 robotType 匹配的资源类型唯一标识。支持单个和多个编号。若写入多个编号时,之间用逗号隔开。
///
public string robotCode { get; set; }
///
/// 能否打断,
/// 1:可打断
/// 该货架中途有其他任务时,打断当前任务。
/// 0:不可打断
/// 该货架中途有其他任务时,不能打断当前任务。默认不可打断。
///
public int interrupt { get; set; }
///
/// 外部任务唯一编号,如果为空,系统生成任务号并返回。
///
public string robotTaskCode { get; set; }
///
/// 任务组编号,全局唯一
///
public string groupCode { get; set; }
///
/// 自定义扩展字段,可随业务的差异而传入不同的扩展内容,在业务流程的执行中使用
///
public extra extra { get; set; }
}
///
/// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
///
public class targetRoute
{
///
/// 目标路径序列。从 0 开始。
///
public int seq { get; set; }
///
/// 目标类型。可扩展枚举值。
/// 预制枚举值:
/// ZONE目标所处区域编号
/// SITE站点别名
/// STORAGE仓位别名
/// MAT_LABEL物料标签
/// CARRIER载具编号
/// STACK巷道编号
/// STACK_LABEL巷道特征值
/// CHANNEL通道编号
/// EQPT 外部设备
/// PTL_WALL
/// CTU 缓存架
/// CARRIER_TYPE载具类型
/// BIN_TYPE仓位类型
/// AREA_STATION区域工作台
/// PILE_COUNT一次搬几个
/// MIX_CONDITION条件组合
/// DEGREE 热度
/// MULTI_BIN_GROUP多深位组号
///
public string type { get; set; }
///
/// 机器人到达目标位置后的操作。国标要求,
/// 非必要。对 AMR 动作无影响。可扩展的枚举值。
/// 预制枚举值:
/// COLLECT取货
/// DELIVERY送货
/// ROTATE旋转
///
public string code { get; set; }
///
/// 要求调度系统仅在当前指定的范围内选择机器人执行该步骤。可能出现任务步骤与机器人类型不匹配的异常,需要业务系统确保任务与机器人类型的匹配。如果指定当前步骤的机器人选择范围,则调度系统无视任务中设定的机器人选择范围;如果任务中也没有指定机器人选择范围,则调度系统会在所有可用机器人的范围内寻找最优方案。
/// 固定枚举值:
/// GROUPS机器人资源组编号
/// ROBOTS机器人编号
///
public string robotType { get; set; }
///
/// 与 robotType 匹配的资源类型唯一标识。
///
public string robotCode { get; set; }
///
/// 自定义扩展字段,可随业务的差异而传入不同的扩展内容,在业务流程的执行中使用
///
public extra extra { get; set; }
}
public class extra
{
///
/// 角度信息,包含角度类型与角度值。
///
public angleInfo angleInfo { get; set; }
///
/// 载具的信息,包含载具编号、层号。
/// 使用场景:
/// 1.装卸机或输送线专用
/// 2.载具与站点没有绑定,但需要传入载具的场景。
///
public List carrierInfo { get; set; }
}
public class angleInfo
{
///
/// 角度类型。可扩展枚举值。
/// 预制枚举值:
///绝对角度(与工作站的方向有关)ABSOLUTE
///
public string type { get; set; }
///
/// 与 type 对应的值
/// 角度值[0, 90, 180, -90, 360]
///
public string code { get; set; }
}
public class carrierInfo
{
/////
///// 载具类型
/////
//public string carrierType { get; set; }
///
/// 载具编号
///
public string carrierCode { get; set; }
///
/// 站点编号
///
public string siteCode { get; set; }
///
/// 层号: 从 0 开始、从下往上编号
///
//public int layer { get; set; }
///
/// 站点编号
///
public int? carrierDir { get; set; }
///
/// 站点编号
///
public object extra { get; set; }
}
///
/// 返回实体
///
public class ResponseAgvDto
{
///
/// 返回码
/// SUCCESS:成功
/// FAIL:失败
/// 是否必填:是
///
public string code { get; set; }
///
/// 返回消息
/// 是否必填:是
///
public string message { get; set; }
///
/// 返回的数据结构
/// 是否必填:否
///
public data data { get; set; }
}
public class data
{
public string robotTaskCode { get; set; }
}
public class TaskDetial
{
///
/// 任务号
///
public string Taskno { get; set; }
///
/// 起始位置
///
public string Startport { get; set; }
///
/// 目标位置
///
public string Endport { get; set; }
///
/// 托盘号/桶号
///
public string Pallno { get; set; }
///
/// 任务类型
/// 0:申请储位
/// 1:叫桶
/// 2:同车间平层搬运
///
public string Crtype { get; set; }
///
/// 车间编码
///
public string WareHouseNo { get; set; }
}
public class RCSCleanRequestModel
{
public string deviceID { get; set; }
public string deviceStation { get; set; }
public string status { get; set; }
}
}