using System; using WCS.Core; using WCS.Entity; using WCS.Entity.Protocol; using WCS.Service.Handlers; namespace WCS.Service.Works.SRM { [WorkTitle(typeof(SRMHandler), "堆垛机")] internal class SRMWork : DeviceWork> { protected override void Do(Device obj) { if (obj.Data.VoucherNo_2 != obj.Data2.VoucherNo_2) throw new Exception("凭证号不一致"); if (obj.Data2.TaskFinishiID_1 != 0 || obj.Data2.TaskFinishiID_2 != 0) { obj.Data.OK_ACK_1 = 1; obj.Data.OK_ACK_2 = 1; obj.Data.TaskID_1 = 123456; obj.Data.RowPos1_1 = 3; obj.Data.TravelPos1_1 = 9; obj.Data.LiftPos1_1 = 1; obj.Data.ForkStartPos1_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.RowPos2_1 = 3; obj.Data.TravelPos2_1 = 1; obj.Data.LiftPos2_1 = 1; obj.Data.ForkDestPos2_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.TaskType_1 = WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务; obj.Data.TaskSum_2 = 1; var b = true; if (b) { obj.Data.TaskID_2 = 123456; obj.Data.RowPos1_2 = 3; obj.Data.Travelpos1_2 = 10; obj.Data.Liftpos1_2 = 1; obj.Data.ForkStartPos1_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.RowPos2_2 = 3; obj.Data.Travelpos2_2 = 2; obj.Data.Liftpos2_2 = 1; obj.Data.ForkStartPos2_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.TaskType_2 = WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务; } obj.Data.VoucherNo_2++; return; } if (obj.Data2.SrmRunStatus != WCS.Entity.Protocol.SRM.SRMFRunStatus.空闲) throw new Exception("任务执行中"); obj.Data.TaskID_1 = 123456; obj.Data.RowPos1_1 = 3; obj.Data.TravelPos1_1 = 1; obj.Data.LiftPos1_1 = 1; obj.Data.ForkStartPos1_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.RowPos2_1 = 3; obj.Data.TravelPos2_1 = 9; obj.Data.LiftPos2_1 = 1; obj.Data.ForkDestPos2_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.TaskType_1 = WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务; obj.Data.TaskSum_2 = 1; var a = true; if (a) { obj.Data.TaskID_2 = 123456; obj.Data.RowPos1_2 = 3; obj.Data.Travelpos1_2 = 2; obj.Data.Liftpos1_2 = 1; obj.Data.ForkStartPos1_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.RowPos2_2 = 3; obj.Data.Travelpos2_2 = 10; obj.Data.Liftpos2_2 = 1; obj.Data.ForkStartPos2_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1; obj.Data.TaskType_2= WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务; } obj.Data.VoucherNo_2++; } protected override bool SelectDevice(WCS_DEVICE dev) { return dev.CODE.Contains("SRM"); } } }