using IWareCommon.Enum.Common; using IWareCommon.Enum.Srm; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace IWareCC.SRM.Entity { [DataContract] public class SrmInfoEntity { /// /// 堆垛机名称 /// [DataMember] public string StackerName { get; private set; } /// /// 1Srm编号 /// [DataMember] public string SrmNo { get; private set; } /// /// 2运行模式 /// [DataMember] public string Mode { get; private set; } /// /// 3告警信号 /// [DataMember] public bool Alarm { get; private set; } /// /// 4载货工位是否有货 /// [DataMember] public string LiftFull { get; private set; } /// /// 5当前列 /// [DataMember] public string PosX { get; private set; } /// /// 6当前层 /// [DataMember] public string PosY { get; private set; } /// /// 7货叉位置 /// [DataMember] public string PosZ { get; private set; } /// /// 8当前列坐标 /// [DataMember] public string PosXmm { get; private set; } /// /// 9当前层坐标 /// [DataMember] public string PosYmm { get; private set; } /// /// 10当前货叉坐标 /// [DataMember] public string PosZmm { get; private set; } /// /// 11完成取货信号 /// [DataMember] public string PickFinish { get; private set; } /// /// 12完成放货信号 /// [DataMember] public string DeliveryFinish { get; private set; } /// /// 13任务完成 /// [DataMember] public string TaskFinish { get; private set; } /// /// 14任务号 /// [DataMember] public string TaskNo { get; private set; } /// /// 15运行状态 /// [DataMember] public string State { get; private set; } /// /// 16当前巷道号 /// [DataMember] public string ActualLane { get; private set; } /// /// 17告警代码 /// [DataMember] public string AlarmNumber { get; private set; } /// /// 18心跳 /// [DataMember] public string HandShake { get; private set; } /// /// 1Srm编号 /// [DataMember] public string WSrmNo { get; private set; } /// /// 2任务号 /// [DataMember] public string WTaskNo { get; private set; } /// /// 3源列 /// [DataMember] public string WSourcePosX { get; private set; } /// /// 4源层 /// [DataMember] public string WSourcePosY { get; private set; } /// /// 5源排 /// [DataMember] public string WSourcePosZ { get; private set; } /// /// 6宿列 /// [DataMember] public string WDestinationPosX { get; private set; } /// /// 7宿层 /// [DataMember] public string WDestinationPosY { get; private set; } /// /// 8宿排 /// [DataMember] public string WDestinationPosZ { get; private set; } /// /// 9发送命令 /// [DataMember] public string WCommand { get; private set; } /// /// 10紧急停止 /// [DataMember] public string WEmergencyStop { get; private set; } /// /// 11解除告警 /// [DataMember] public string WAlarmAck { get; private set; } /// /// 12WCS通讯位 /// [DataMember] public string WStb { get; private set; } /// ///13SRM 应答位 /// [DataMember] public string WAck { get; private set; } /// /// 14心跳 /// [DataMember] public string WHandShake { get; private set; } /// /// 是否在线 /// [DataMember] public bool IsOnline { get; private set; } public SrmInfoEntity() { } public SrmInfoEntity(SrmEntity stacker) { this.StackerName = stacker.SrmName; this.SrmNo = stacker.RSrmNo.ToString(); this.Mode = ((ESrmMode)stacker.RMode).ToString(); this.Alarm = stacker.RAlarm; this.LiftFull = stacker.RLiftFull ? "有货" : "无货"; this.PosX = stacker.RPosX.ToString(); this.PosY = stacker.RPosY.ToString(); this.PosZ = stacker.RPosZ.ToString(); this.PosXmm = stacker.RPosXmm.ToString(); this.PosYmm = stacker.RPosYmm.ToString(); this.PosZmm = stacker.RPosZmm.ToString(); this.PickFinish = stacker.RPickFinish ? "抓取完成" : "抓取未完成"; this.DeliveryFinish = stacker.RDeliveryFinish ? "放货完成" : "放货未完成"; this.TaskFinish = stacker.RTaskFinish ? "完成" : "未完成"; this.TaskNo = stacker.RTaskNo.ToString(); this.State = ((ESrmState)stacker.RState).ToString(); this.ActualLane = stacker.RActualLane.ToString(); this.AlarmNumber = ((ESrmAlarm)stacker.RAlarmCode).ToString(); this.HandShake = stacker.RHandShake.ToString(); this.WAck = stacker.RAck ? "收到" : "置位"; this.WSrmNo = stacker.WSrmNo.ToString(); this.WTaskNo = stacker.WTaskNo.ToString(); this.WSourcePosX = stacker.WSourcePosX .ToString(); this.WSourcePosY = stacker.WSourcePosY.ToString(); this.WSourcePosZ = stacker.WSourcePosZ.ToString(); this.WDestinationPosX = stacker.WDestinationPosX.ToString(); this.WDestinationPosY = stacker.WDestinationPosY.ToString(); this.WDestinationPosZ = stacker.WDestinationPosZ.ToString(); this.WCommand = ((ESrmCmd)stacker.WCommand).ToString(); this.WEmergencyStop = stacker.WEmergencyStop.ToString(); this.WAlarmAck = stacker.WCancleAlarm ? "消警" : "不消警"; this.WHandShake = stacker.WHandShake.ToString(); this.IsOnline = stacker.IsOnline; } } }