| | |
| | | #region << 版 本 注 释 >> |
| | | /*---------------------------------------------------------------- |
| | | * 命名空间:WIDESEAWCS_Tasks.ConveyorLineJob |
| | | * 创建者:胡童庆 |
| | | * 创建时间:2024/8/2 16:13:36 |
| | | * 版本:V1.0.0 |
| | | * 描述: |
| | | * |
| | | * ---------------------------------------------------------------- |
| | | * 修改人: |
| | | * 修改时间: |
| | | * 版本:V1.0.1 |
| | | * 修改说明: |
| | | * |
| | | *----------------------------------------------------------------*/ |
| | | #endregion << 版 本 注 释 >> |
| | | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.InteropServices; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | | /// <summary> |
| | | /// 输送线 PLC 通信命令数据类(新版) |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 继承自 DeviceCommand,用于与输送线 PLC 进行通信。 |
| | | /// 包含任务号、源/目标地址、托盘条码、WCS/PLC 应答标志等字段。 |
| | | /// WCS 通过这些字段与 PLC 交互,实现任务的下发、状态同步和完成确认。 |
| | | /// </remarks> |
| | | public class ConveyorLineTaskCommandNew : DeviceCommand |
| | | { |
| | | /// <summary> |
| | | /// 任务号 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// WCS 分配的任务唯一标识号。 |
| | | /// 用于在 WCS 和 PLC 之间建立任务对应的关联。 |
| | | /// </remarks> |
| | | public short TaskNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 源位置 开始地址 |
| | | /// 源位置/起始地址 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 任务的起始位置地址编码。 |
| | | /// 入库任务时表示货物来自哪个站台,出库任务时表示货物当前所在位置。 |
| | | /// </remarks> |
| | | public short Source { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 目标位置 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 任务的目标位置地址编码。 |
| | | /// 入库任务时表示货物存入哪个库位,出库任务时表示货物送达哪个站台。 |
| | | /// </remarks> |
| | | public short Target { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 箱型 |
| | | /// 箱型/托盘类型 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 标识托盘的规格类型,用于区分不同的货物载体。 |
| | | /// </remarks> |
| | | public byte BoxType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 输送线状态 设备空闲状态 |
| | | /// 输送线状态 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 输送线的空闲/占用状态。 |
| | | /// 用于判断输送线是否可以接受新任务。 |
| | | /// </remarks> |
| | | public byte CV_State { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 输送线错误代码 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// PLC 报告的设备故障代码。 |
| | | /// 0 表示正常运行,非零值表示具体的故障类型。 |
| | | /// </remarks> |
| | | public byte CV_ERRCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// WCS就绪标志 WCS下发完成时,触发为1 |
| | | /// WCS 下发完成标志 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// WCS 下发任务时置 1,通知 PLC 开始执行任务。 |
| | | /// PLC 读取后应立即清除此标志。 |
| | | /// </remarks> |
| | | public byte WCS_STB { get; set; } |
| | | |
| | | /// <summary> |
| | | /// WCS应答标志 WCS收到完成时,触发为1 |
| | | /// WCS 应答标志 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// WCS 收到 PLC 请求后的回复标志。 |
| | | /// 当值为 1 时表示 WCS 已收到请求并处理。 |
| | | /// </remarks> |
| | | public byte WCS_ACK { get; set; } |
| | | |
| | | /// <summary> |
| | | /// PLC就绪标志 完成任务时,触发为1 |
| | | /// PLC 任务完成标志 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// PLC 完成任务时置 1,通知 WCS 任务已完成。 |
| | | /// WCS 读取后应清除此标志。 |
| | | /// </remarks> |
| | | public byte PLC_STB { get; set; } |
| | | |
| | | /// <summary> |
| | | /// PLC应答标志 收到任务时,触发为1 |
| | | /// PLC 应答标志 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// PLC 收到 WCS 命令后的回复标志。 |
| | | /// 当值为 1 时表示 PLC 已收到命令。 |
| | | /// </remarks> |
| | | public byte PLC_ACK { get; set; } |
| | | |
| | | /// <summary> |
| | | /// PLC请求标志 入库站台,到位写1 |
| | | /// PLC 请求标志 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// PLC 主动请求服务时置 1。 |
| | | /// 通常用于入库站台,表示货物已到位可以开始处理。 |
| | | /// </remarks> |
| | | public byte PLC_REQ { get; set; } |
| | | |
| | | /// <summary> |
| | | /// WCS错误代码 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// WCS 报告的业务错误代码。 |
| | | /// 用于标识任务执行过程中的业务逻辑错误。 |
| | | /// </remarks> |
| | | public byte WCS_ERRCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// WCS特殊标志 (旋转标识、强制放行、循环、特殊申请、是否叠盘、是否堵塞) |
| | | /// WCS 特殊标志 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 用于标识特殊处理需求,包含多个位标志: |
| | | /// - 位0: 旋转标识 - 是否需要旋转托盘 |
| | | /// - 位1: 强制放行 - 忽略常规检查直接放行 |
| | | /// - 位2: 循环 - 是否循环执行 |
| | | /// - 位3: 特殊申请 - 是否有特殊请求需要处理 |
| | | /// - 位4: 是否叠盘 - 是否需要叠盘处理 |
| | | /// - 位5: 是否堵塞 - 是否处于堵塞状态 |
| | | /// </remarks> |
| | | public byte WCS_Special { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 设备自动模式 手动1,自动2 |
| | | /// 设备自动模式 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 标识设备的运行模式: |
| | | /// - 1: 手动模式 |
| | | /// - 2: 自动模式 |
| | | /// </remarks> |
| | | public byte Equ_Auto { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 尾板标志 |
| | | /// 尾板/尾盘标志 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 标识当前托盘是否为最后一个(尾盘)。 |
| | | /// 用于电池生产线的最后一道工序,标记整批任务的结束。 |
| | | /// </remarks> |
| | | public byte Last_pallet { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 条码(22个字符) |
| | | /// 托盘条码(22个字符) |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 存储托盘的条码信息,用于货物追踪和库位管理。 |
| | | /// </remarks> |
| | | [DataLength(22)] |
| | | public string Barcode { get; set; } |
| | | } |