wanshenmean
2026-03-26 8e42d0c1b7ae36cff2e7c69999117911a4b6f300
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs
@@ -1,83 +1,108 @@
#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 命名空间:WIDESEAWCS_Tasks.StackerCraneJob
 * 创建者:胡童庆
 * 创建时间:2024/8/2 16:13:36
 * 版本:V1.0.0
 * 描述:
 *
 * ----------------------------------------------------------------
 * 修改人:
 * 修改时间:
 * 版本:V1.0.1
 * 修改说明:
 *
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.DeviceBase;
namespace WIDESEAWCS_Tasks.StackerCraneJob
{
    /// <summary>
    /// 堆垛机任务命令数据类
    /// </summary>
    /// <remarks>
    /// 继承自 DeviceCommand,用于与堆垛机进行 PLC 通信。
    /// 包含任务号、作业类型、起止行列层坐标等字段。
    /// 标准命令格式,用于大多数巷道的堆垛机。
    /// </remarks>
    public class StackerCraneTaskCommand : DeviceCommand
    {
        #region <Public Menber>
        /// <summary>
        /// 作业命令
        /// </summary>
        /// <remarks>
        /// 控制堆垛机的动作:
        /// - 1: 开始执行任务
        /// - 2: 任务完成/停止
        /// </remarks>
        public short WorkAction { get; set; }
        /// <summary>
        /// 任务号
        /// </summary>
        /// <remarks>
        /// WCS 分配的任务唯一标识号。
        /// </remarks>
        public int TaskNum { get; set; }
        /// <summary>
        /// 作业类型
        /// </summary>
        /// <remarks>
        /// 标识任务的类型。
        /// </remarks>
        public short WorkType { get; set; }
        /// <summary>
        /// 无效字段
        /// 无效字段(保留字段)
        /// </summary>
        /// <remarks>
        /// 历史遗留字段,目前不再使用。
        /// </remarks>
        [DataLength(6)]
        public string FieldName { get; set; } = "";
        /// <summary>
        /// 起始行
        /// </summary>
        /// <remarks>
        /// 任务的起始位置-行坐标(货架行号)。
        /// 入库时表示货物来自哪个位置。
        /// </remarks>
        public short StartRow { get; set; }
        /// <summary>
        /// 起始列
        /// </summary>
        /// <remarks>
        /// 任务的起始位置-列坐标(货架列号)。
        /// 入库时表示货物来自哪个位置。
        /// </remarks>
        public short StartColumn { get; set; }
        /// <summary>
        /// 起始层
        /// </summary>
        /// <remarks>
        /// 任务的起始位置-层坐标(货架层号)。
        /// 入库时表示货物来自哪个位置。
        /// </remarks>
        public short StartLayer { get; set; }
        /// <summary>
        /// 目标行
        /// </summary>
        /// <remarks>
        /// 任务的目标位置-行坐标(货架行号)。
        /// 入库时表示货物存放到哪个位置。
        /// 出库时表示货物从哪个位置取出。
        /// </remarks>
        public short EndRow { get; set; }
        /// <summary>
        /// 目标列
        /// </summary>
        /// <remarks>
        /// 任务的目标位置-列坐标(货架列号)。
        /// 入库时表示货物存放到哪个位置。
        /// 出库时表示货物从哪个位置取出。
        /// </remarks>
        public short EndColumn { get; set; }
        /// <summary>
        /// 目标层
        /// </summary>
        /// <remarks>
        /// 任务的目标位置-层坐标(货架层号)。
        /// 入库时表示货物存放到哪个位置。
        /// 出库时表示货物从哪个位置取出。
        /// </remarks>
        public short EndLayer { get; set; }
        #endregion <Public Menber>
    }
}