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