| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- using System.ComponentModel;
- using WCS.Core;
- using WCS.WorkEngineering.Extensions;
- using WCS.WorkEngineering.Protocol.SRM;
- using WCS.WorkEngineering.Protocol.Station;
- using WCS.WorkEngineering.Worlds;
- namespace WCS.WorkEngineering.Systems
- {
- /// <summary>
- /// 堆垛机系统
- /// </summary>
- [BelongTo(typeof(MainWorld))]
- [Description("堆垛机系统")]
- public class SrmSystems : DeviceSystem<Device<ISRM520, ISRM521>>
- {
- /// <summary>
- /// 取货点设备集合
- /// </summary>
- private Dictionary<string, List<Station>> PickUpDevices = new();
- /// <summary>
- /// 放货设备
- /// </summary>
- private Dictionary<string, List<Station>> PutDevices = new();
- public SrmSystems()
- {
- }
- protected override bool ParallelDo => true;
- protected override bool SaveLogsToFile => true;
- public override void Do(Device<ISRM520, ISRM521> 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;
- return;
- }
- if (obj.Data2.SrmRunStatus != WCS.Entity.Protocol.SRM.SRMFRunStatus.空闲) throw new Exception("任务执行中");
- //obj.Data.TaskID_1 = 123456;
- //obj.Data.RowPos1_1 = 0;
- //obj.Data.TravelPos1_1 = 3745;
- //obj.Data.LiftPos1_1 = 0;
- //obj.Data.ForkStartPos1_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
- //obj.Data.RowPos2_1 = 31;
- //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 a = false;
- //if (a)
- //{
- // obj.Data.TaskID_2 = 123457;
- // obj.Data.RowPos1_2 = 0;
- // obj.Data.Travelpos1_2 = 3746;
- // obj.Data.Liftpos1_2 = 0;
- // obj.Data.ForkStartPos1_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
- // obj.Data.RowPos2_2 = 31;
- // 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.TaskSum_2 = 2;
- //}
- obj.Data.TaskID_1 = 123456;
- obj.Data.RowPos1_1 = 31;
- obj.Data.TravelPos1_1 = 1;
- obj.Data.LiftPos1_1 = 1;
- obj.Data.ForkStartPos1_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
- obj.Data.RowPos2_1 = 0;
- obj.Data.TravelPos2_1 = 3736;
- obj.Data.LiftPos2_1 = 0;
- obj.Data.RES_1_2 = 3745;
- 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 = 31;
- obj.Data.Travelpos1_2 = 2;
- obj.Data.Liftpos1_2 = 1;
- obj.Data.ForkStartPos1_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
- obj.Data.RowPos2_2 = 0;
- obj.Data.Travelpos2_2 = 3737;
- obj.Data.Liftpos2_2 = 0;
- obj.Data.ForkStartPos2_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
- obj.Data.TaskType_2 = WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务;
- obj.Data.RES_2_1 = 3746;
- obj.Data.TaskSum_2 = 2;
- }
- obj.Data.VoucherNo_2++;
- }
- public override bool Select(Device dev)
- {
- return dev.Code != "1";
- }
- }
- /// <summary>
- /// 堆垛机系统1
- /// </summary>
- [BelongTo(typeof(MainWorld))]
- [Description("堆垛机系统1")]
- public class SrmSystems1 : DeviceSystem<Device<IStation520>>
- {
- /// <summary>
- /// 取货点设备集合
- /// </summary>
- private Dictionary<string, List<Station>> PickUpDevices = new();
- /// <summary>
- /// 放货设备
- /// </summary>
- private Dictionary<string, List<Station>> PutDevices = new();
- public SrmSystems1()
- {
- }
- protected override bool ParallelDo => true;
- protected override bool SaveLogsToFile => true;
- public override void Do(Device<IStation520> obj)
- {
- Console.WriteLine($"{obj.Data.TaskNumber}+{obj.Data.GoodsEnd}+{obj.Data.GoodsStart}");
- obj.Data.TaskNumber = 2;
- obj.Data.GoodsEnd = 2;
- obj.Data.GoodsStart = 2;
- }
- public override bool Select(Device dev)
- {
- return dev.Code == "1";
- }
- }
- }
|