using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.DeviceBase;
namespace WIDESEAWCS_Tasks.StackerCraneJob
{
///
/// 堆垛机任务命令数据类
///
///
/// 继承自 DeviceCommand,用于与堆垛机进行 PLC 通信。
/// 包含任务号、作业类型、起止行列层坐标等字段。
/// 标准命令格式,用于大多数巷道的堆垛机。
///
public class StackerCraneTaskCommand : DeviceCommand
{
///
/// 任务号
///
///
/// WCS 分配的任务唯一标识号。
///
public int TaskNum { get; set; }
///
/// 作业类型
///
///
/// 标识任务的类型。
///
public short WorkType { get; set; }
///
/// 无效字段(保留字段)
///
///
/// 历史遗留字段,目前不再使用。
///
[DataLength(6)]
public string FieldName { get; set; } = "";
///
/// 起始行
///
///
/// 任务的起始位置-行坐标(货架行号)。
/// 入库时表示货物来自哪个位置。
///
public short StartRow { get; set; }
///
/// 起始列
///
///
/// 任务的起始位置-列坐标(货架列号)。
/// 入库时表示货物来自哪个位置。
///
public short StartColumn { get; set; }
///
/// 起始层
///
///
/// 任务的起始位置-层坐标(货架层号)。
/// 入库时表示货物来自哪个位置。
///
public short StartLayer { get; set; }
///
/// 目标行
///
///
/// 任务的目标位置-行坐标(货架行号)。
/// 入库时表示货物存放到哪个位置。
/// 出库时表示货物从哪个位置取出。
///
public short EndRow { get; set; }
///
/// 目标列
///
///
/// 任务的目标位置-列坐标(货架列号)。
/// 入库时表示货物存放到哪个位置。
/// 出库时表示货物从哪个位置取出。
///
public short EndColumn { get; set; }
///
/// 目标层
///
///
/// 任务的目标位置-层坐标(货架层号)。
/// 入库时表示货物存放到哪个位置。
/// 出库时表示货物从哪个位置取出。
///
public short EndLayer { get; set; }
///
/// 作业命令
///
///
/// 控制堆垛机的动作:
/// - 1: 开始执行任务
/// - 2: 任务完成/停止
/// - 3: 消防任务开始
///
public short WorkAction { get; set; }
}
}