From 6cc35000a6e138cfad96e7b02f8aeddcdb4ba6bf Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期二, 24 六月 2025 09:57:25 +0800 Subject: [PATCH] 代码提交 --- 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs | 90 +++++++++++++++++++++++++-------------------- 1 files changed, 50 insertions(+), 40 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs" index b657268..2091ed8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs" @@ -14,41 +14,51 @@ public Task Execute(IJobExecutionContext context) { - // 浠庝笂涓嬫枃涓幏鍙� JobParams 骞惰浆鎹负 Roast 绫诲瀷 - CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams"); - // 鍒濆鍖� AGV 鍙橀噺 - AGV agv = null; - - if (elevator == null) + try { - throw new Exception("鏈壘鍒版彁鍗囨満璁惧鍙傛暟銆�"); + // 浠庝笂涓嬫枃涓幏鍙� JobParams 骞惰浆鎹负 Roast 绫诲瀷 + //CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams"); + CommonRoast elevator = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams"); + // 鍒濆鍖� AGV 鍙橀噺 + AGV agv = null; + + if (elevator == null) + { + throw new Exception("鏈壘鍒版彁鍗囨満璁惧鍙傛暟銆�"); + } + + // 杩炴帴 AGV + // 鏍规嵁璁惧鍚嶇О鍐冲畾鏄鏋佽繕鏄礋鏋� AGV + List<string> agvNames = new List<string>() { "姝f瀬AGV", "璐熸瀬AGV" }; //"姝f瀬AGV", + foreach (var agvName in agvNames) + { + // 浠庡瓨鍌ㄤ腑鏌ユ壘鎸囧畾鍚嶇О鐨勮澶� + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName); + if (device != null) + { + agv = (AGV)device; + } + else + { + ConsoleHelper.WriteErrorLine($"鏈壘鍒皗agvName}璁惧鍙傛暟銆�"); + continue; + } + var elevatorNamesValues = GetDBElevatorNamesValues(agvName); + var agvNamesValues = GetDBAGVNamesValues(agvName); + DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues); + } + } + catch (Exception ex) + { + + throw; } - // 杩炴帴 AGV - // 鏍规嵁璁惧鍚嶇О鍐冲畾鏄鏋佽繕鏄礋鏋� AGV - List<string> agvNames = new List<string>() { "姝f瀬AGV", "璐熸瀬AGV" }; - foreach (var agvName in agvNames) - { - // 浠庡瓨鍌ㄤ腑鏌ユ壘鎸囧畾鍚嶇О鐨勮澶� - IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName); - if (device != null) - { - agv = (AGV)device; - } - else - { - ConsoleHelper.WriteErrorLine($"鏈壘鍒皗agvName}璁惧鍙傛暟銆�"); - continue; - } - var elevatorNamesValues = GetDBElevatorNamesValues(agvName); - var agvNamesValues = GetDBAGVNamesValues(agvName); - DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues); - } return Task.CompletedTask; } - public static void DeviceInteraction(CommonElevator elevator, AGV agv, List<string> elevatorNames, List<string> agvNames) + public static void DeviceInteraction(CommonRoast elevator, AGV agv, List<string> elevatorNames, List<string> agvNames) { if (agv.DeviceName == "姝f瀬AGV") { @@ -60,20 +70,20 @@ } } - private static void HandlePositiveAGV(CommonElevator elevator, AGV agv, List<string> elevatorNames, List<string> agvNames) + private static void HandlePositiveAGV(CommonRoast elevator, AGV agv, List<string> elevatorNames, List<string> agvNames) { // 姝f瀬AGV鍙渶瑕佸鐞嗗墠涓や釜淇″彿 - var elevatorSignal = elevator.Communicator.Read<byte>(elevatorNames[0], 100); - var agvSignal = agv.Communicator.Read<byte>(agvNames[1], 100); + var elevatorSignal = elevator.Communicator.Read(elevatorNames[0], 100); + var agvSignal = agv.Communicator.Read(agvNames[1], 100); agv.Communicator.Write(agvNames[0], elevatorSignal); - elevator.Communicator.Write(agvNames[1], agvSignal); + elevator.Communicator.Write(elevatorNames[1], agvSignal); ConsoleHelper.WriteInfoLine($"姝f瀬AGV浜や簰: 鍐欏叆鐢垫淇″彿[{elevatorSignal}]鍒皗agvNames[0]}锛�" + $"鍐欏叆AGV淇″彿[{agvSignal}]鍒皗agvNames[1]}"); } - private static void HandleNegativeAGV(CommonElevator elevator, AGV agv, List<string> elevatorNames, List<string> agvNames) + private static void HandleNegativeAGV(CommonRoast elevator, AGV agv, List<string> elevatorNames, List<string> agvNames) { // 瀹氫箟淇″彿缁勫鐞嗭紙璧峰绱㈠紩锛屾搷浣滅被鍨嬶紝鏃ュ織鎻忚堪锛� var operations = new List<(int startIdx, string type, string desc)> @@ -104,7 +114,7 @@ } } - private static void ProcessSignalGroup(CommonElevator elevator, AGV agv, List<string> elevatorNames, List<string> agvNames, int startIdx, string operationType, string description) + private static void ProcessSignalGroup(CommonRoast elevator, AGV agv, List<string> elevatorNames, List<string> agvNames, int startIdx, string operationType, string description) { const int GROUP_SIZE = 2; // 姣忕粍澶勭悊2涓俊鍙� @@ -126,7 +136,7 @@ int idx = startIdx + i; if (idx >= elevatorNames.Count) break; - var value = elevator.Communicator.Read<byte>(elevatorNames[idx], 100); + var value = elevator.Communicator.Read(elevatorNames[idx], 100); agv.Communicator.Write(agvNames[idx], value); values.Add(value); targets.Add(agvNames[idx]); @@ -140,7 +150,7 @@ int idx = startIdx + i; if (idx >= agvNames.Count) break; - var value = agv.Communicator.Read<byte>(agvNames[idx], 100); + var value = agv.Communicator.Read(agvNames[idx], 100); elevator.Communicator.Write(elevatorNames[idx], value); values.Add(value); targets.Add(elevatorNames[idx]); @@ -154,13 +164,13 @@ ConsoleHelper.WriteInfoLine($"璐熸瀬AGV浜や簰({description}): 浼犺緭淇″彿缁刐{logValues}]鍒扮洰鏍囧湴鍧�[{logTargets}]"); } - private static void HandleSpecialSignals(CommonElevator elevator, AGV agv, + private static void HandleSpecialSignals(CommonRoast elevator, AGV agv, List<string> elevatorNames, List<string> agvNames, int startIdx) { // 澶勭悊18-21鍙风數姊俊鍙凤紙4涓俊鍙凤級 var elevatorSignals = Enumerable.Range(18, 4) - .Select(i => elevator.Communicator.Read<byte>(elevatorNames[i], 100)) + .Select(i => elevator.Communicator.Read(elevatorNames[i], 100)) .ToList(); for (int i = 0; i < 4; i++) @@ -170,7 +180,7 @@ // 澶勭悊22-23鍙稟GV淇″彿 var agvSignals = Enumerable.Range(22, 2) - .Select(i => agv.Communicator.Read<byte>(agvNames[i], 100)) + .Select(i => agv.Communicator.Read(agvNames[i], 100)) .ToList(); for (int i = 0; i < 2; i++) @@ -260,10 +270,10 @@ "DB1002.18600", "DB1002.18500", "DB1002.18700", + "DB1002.18000", "DB1002.18800", "DB1002.19000", "DB1002.18200", - "DB1002.18000", "DB1002.18900", "DB1002.19100" }; -- Gitblit v1.9.3