From 291f66df5621f0644ce9d15548eb6590045691f0 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 14 四月 2025 09:26:43 +0800
Subject: [PATCH] 添加PDA下发输送线回流任务
---
代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs | 82 ++++++++++++++++++++++------------------
1 files changed, 45 insertions(+), 37 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 fcb9e57..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,37 +14,46 @@
public Task Execute(IJobExecutionContext context)
{
- // 浠庝笂涓嬫枃涓幏鍙� 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)
+ 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>() { "璐熸瀬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);
- }
return Task.CompletedTask;
}
@@ -64,12 +73,11 @@
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)[0];
- var agvSignal = agv.Communicator.Read<byte[]>(agvNames[1], 100)[0];
+ 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]}");
@@ -128,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]);
@@ -142,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]);
@@ -162,7 +170,7 @@
{
// 澶勭悊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++)
@@ -172,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++)
@@ -262,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