From 9f225bb1f1e26d25c1652d3e1ec2a8f239f69615 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 18 三月 2025 10:41:29 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs | 68 ++++++++++++++++++++++++++++++++- 1 files changed, 65 insertions(+), 3 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" index 505baac..4cb0717 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing AutoMapper; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,12 +7,73 @@ using WIDESEAWCS_Communicator; using WIDESEAWCS_Core; using WIDESEAWCS_DTO.AGVInfo; +using WIDESEAWCS_DTO.TaskInfo; +using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.Service; +using WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineExtend; -namespace WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineExtend +namespace WIDESEAWCS_Tasks { - public class AGVsignal + public partial class AGVsignal { + /// <summary> + /// AGV涓庤緭閫佺嚎浜や簰 + /// </summary> + /// <param name="conveyor"></param> + /// <returns></returns> + public static WebResponseContent AGVRequestin(ConveyorLineDTO conveyor) + { + WebResponseContent content = new WebResponseContent(); + try + { + if (conveyor == null) throw new Exception("璇锋眰鏁版嵁涓虹┖"); + if (string.IsNullOrEmpty(conveyor.Station)) throw new Exception("绔欑偣缂栧彿涓虹┖"); + CommonConveyorLine conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceName == "杈撻�佺嚎") as CommonConveyorLine; + if (!conveyorLine.IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�"); + switch (conveyor.Type) + { + case 1: + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestPut, true, conveyor.Station); + if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitPut, conveyor.Station); + break; + case 2: + { + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, true, conveyor.Station); + if (content.Status) + { + Thread.Sleep(1000); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestPut, false, conveyor.Station); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, false, conveyor.Station); + } + } + break; + case 3: + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, true, conveyor.Station); + if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitTake, conveyor.Station); + break; + case 4: + { + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, true, conveyor.Station); + if (content.Status) + { + Thread.Sleep(1000); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, false, conveyor.Station); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, false, conveyor.Station); + } + } + break; + default: throw new Exception($"绫诲瀷鏈夎[Type锛歿conveyor.Type}]"); + } + content = content.Status ? content.OK() : content.Error(); + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } + public static WebResponseContent AGVRequestin<T>(T conveyor) where T : ConveyorLineDTO, new() { WebResponseContent content = new WebResponseContent(); -- Gitblit v1.9.3