using System;
using WCS.Entity.Protocol.RGV;
namespace WCS.Entity.Protocol
{
///
/// RGV 读取协议 后缀 _1=1工位 _2=2工位 无=共用
///
public interface IRGV521 : IProtocol
{
#region 一工位
///
/// 任务号
///
int TaskID_1 { get; set; }
///
/// 任务类型
///
RGVTaskType TaskType_1 { get; set; }
///
/// 起始站台
///
short StartPosition_1 { get; set; }
///
/// 目标站台
///
short DestPosition_1 { get; set; }
///
/// 优先级
///
short PRIORITY_1 { get; set; }
///
/// 备用
///
short RES1_1 { get; set; }
///
/// 备用
///
short RES2_1 { get; set; }
///
/// 一工位状态
///
RGVStatus Status_1 { get; set; }
///
/// 触发信号 在通讯协议中为VoucherNo_1
///
int Trigger_1 { get; set; }
#endregion 一工位
#region 二工位
///
/// 任务号
///
int TaskID_2 { get; set; }
///
/// 任务类型
///
RGVTaskType TaskType_2 { get; set; }
///
/// 起始站台
///
short StartPosition_2 { get; set; }
///
/// 目标站台
///
short DestPosition_2 { get; set; }
///
/// 优先级
///
short PRIORITY_2 { get; set; }
///
/// 备用
///
short RES1_2 { get; set; }
///
/// 备用
///
short RES2_2 { get; set; }
///
/// 一工位状态
///
RGVStatus Status_2 { get; set; }
///
/// 触发信号 在通讯协议中为VoucherNo_1
///
int Trigger_2 { get; set; }
#endregion 二工位
#region 共用
///
/// RGV运行状态
///
RGVRunStatus SystemStatus { get; set; }
///
/// RGV运行模式
///
RGVMode WorkMode { get; set; }
///
/// 备用6
///
short RES6 { get; set; }
///
/// 位置
///
float Position { get; set; }
///
/// 里程
///
[IgnoreChanging]
float Mileage { get; set; }
///
/// 运行时长 (单位:小时,带小数)
///
[IgnoreChanging]
float Runtime { get; set; }
#endregion 共用
}
[Flags]
public enum RGVStatus : ushort
{
光电 = 1 << 0,
RGV到站 = 1 << 1,
任务完成 = 1 << 2,
备用 = 1 << 3,
备用9 = 1 << 4,
备用10 = 1 << 5,
备用11 = 1 << 6,
备用12 = 1 << 7,
备用1 = 1 << 8,
备用2 = 1 << 9,
备用3 = 1 << 10,
备用4 = 1 << 11,
备用5 = 1 << 12,
载货 = 1 << 13,
RGV输送线反转 = 1 << 14,
RGV输送线正转 = 1 << 15,
}
}