From 9ae0890dd74771ba9edd44d4830e0de37f8d9938 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 26 九月 2025 16:55:03 +0800
Subject: [PATCH] MES接口优化,老厂排程优化等
---
项目代码/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs | 238 +++++++++++++++++++++++++++++++++++------------------------
1 files changed, 141 insertions(+), 97 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
index 0628b3d..8073876 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
@@ -20,6 +20,7 @@
using WIDESEAWCS_Tasks;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using WIDESEAWCS_Tasks.DBNames;
+using WIDESEAWCS_Tasks.StackPlateJob;
using static Dm.net.buffer.ByteArrayBuffer;
namespace WIDESEAWCS_Server.Controllers
@@ -54,10 +55,6 @@
AgvResponse agvResponse = new AgvResponse();
try
{
- if (secureApplyModel.ReceiveTaskID=="100")
- {
- return agvResponse.OK("鎴愬姛", "0");
- }
var task = _taskRepository.QueryFirst(x => secureApplyModel.ReceiveTaskID.ObjToInt() == x.TaskNum);
if (task == null) throw new Exception("鏈壘鍒颁换鍔�");
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
@@ -329,60 +326,76 @@
{
return content.Error($"鏈壘鍒板搴旇澶�");
}
+ if (device.DeviceCode.Contains("Plate"))
+ {
+ CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
+ StackPlateTaskCommandCommand command = commonConveyorLine.ReadCustomer<StackPlateTaskCommandCommand>(device.DeviceCode);
- OtherDevice otherDevice = (OtherDevice)device;
+ if (command != null && command.State == 2 && command.InteractiveSignal == 1)
+ {
+ return content.OK("鍏佽鏀炬枡");
+ }
+ else
+ {
+ return content.Error("绂佹鏀炬枡");
+ }
+ }
+ else
+ {
- if (device.DeviceCode.Contains("CP"))//鎴愬搧杈撻�佺嚎
- {
- short Command = otherDevice.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode);
- if (Command == 3)
+ OtherDevice otherDevice = (OtherDevice)device;
+
+ if (device.DeviceCode.Contains("CP"))//鎴愬搧杈撻�佺嚎
{
- content.OK("鍏佽鏀炬枡");
+ short Command = otherDevice.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode);
+ if (Command == 3)
+ {
+ content.OK("鍏佽鏀炬枡");
+ }
+ else
+ {
+ return content.Error("绂佹鏀炬枡");
+ }
}
- else
+ else if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
{
- return content.Error("绂佹鏀炬枡");
+ bool RequestPut = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_RequestPut, stationManger.StationDeviceCode);
+ if (!RequestPut)
+ {
+ otherDevice.SetValue(CoveryorDB.C_InTaskNum, taskNum, stationManger.StationDeviceCode);
+ otherDevice.SetValue(CoveryorDB.C_RequestPut, true, stationManger.StationDeviceCode);
+ Thread.Sleep(1000);
+ }
+ bool AllowFinish = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_AllowFinish, stationManger.StationDeviceCode);
+ if (AllowFinish)
+ {
+ content.OK("鍏佽鏀炬枡");
+ }
+ else
+ {
+ return content.Error("绂佹鏀炬枡");
+ }
+ }
+ else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
+ {
+ bool RequestPut = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_RequestPut, stationManger.StationDeviceCode);
+ if (!RequestPut)
+ {
+ otherDevice.SetValue(RetractDB.Ret_TargetAddress, Convert.ToInt16(stationManger.StationCode), stationManger.StationDeviceCode);
+ otherDevice.SetValue(RetractDB.Ret_RequestPut, true, stationManger.StationDeviceCode);
+ Thread.Sleep(1000);
+ }
+ bool AllowFinish = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_AllowFinish, stationManger.StationDeviceCode);
+ if (AllowFinish)
+ {
+ content.OK("鍏佽鏀炬枡");
+ }
+ else
+ {
+ return content.Error("绂佹鏀炬枡");
+ }
}
}
- else if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
- {
- bool RequestPut = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_RequestPut, stationManger.StationDeviceCode);
- if (!RequestPut)
- {
- otherDevice.SetValue(CoveryorDB.C_InTaskNum, taskNum, stationManger.StationDeviceCode);
- otherDevice.SetValue(CoveryorDB.C_RequestPut, true, stationManger.StationDeviceCode);
- Thread.Sleep(1000);
- }
- bool AllowFinish = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_AllowFinish, stationManger.StationDeviceCode);
- if (AllowFinish)
- {
- content.OK("鍏佽鏀炬枡");
- }
- else
- {
- return content.Error("绂佹鏀炬枡");
- }
- }
- else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
- {
- bool RequestPut = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_RequestPut, stationManger.StationDeviceCode);
- if (!RequestPut)
- {
- otherDevice.SetValue(RetractDB.Ret_TargetAddress, Convert.ToInt16(stationManger.StationCode), stationManger.StationDeviceCode);
- otherDevice.SetValue(RetractDB.Ret_RequestPut, true, stationManger.StationDeviceCode);
- Thread.Sleep(1000);
- }
- bool AllowFinish = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_AllowFinish, stationManger.StationDeviceCode);
- if (AllowFinish)
- {
- content.OK("鍏佽鏀炬枡");
- }
- else
- {
- return content.Error("绂佹鏀炬枡");
- }
- }
-
return content;
}
catch (Exception ex)
@@ -412,15 +425,23 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�");
}
-
- OtherDevice otherDevice = (OtherDevice)device;
- if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
+ if (device.DeviceCode.Contains("Plate"))
{
- otherDevice.SetValue(CoveryorDB.C_PutFinish, true, stationManger.StationDeviceCode);
+ CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
+ commonConveyorLine.SetValue(StackPlateDBName.WriteInteractiveSignal, Convert.ToInt16(1), device.DeviceCode);
+ return WebResponseContent.Instance.OK();
}
- else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
+ else
{
- otherDevice.SetValue(RetractDB.Ret_PutFinish, true, stationManger.StationDeviceCode);
+ OtherDevice otherDevice = (OtherDevice)device;
+ if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
+ {
+ otherDevice.SetValue(CoveryorDB.C_PutFinish, true, stationManger.StationDeviceCode);
+ }
+ else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
+ {
+ otherDevice.SetValue(RetractDB.Ret_PutFinish, true, stationManger.StationDeviceCode);
+ }
}
return WebResponseContent.Instance.OK();
}
@@ -452,46 +473,61 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶噞stationManger.StationDeviceCode}");
}
-
- OtherDevice otherDevice = (OtherDevice)device;
-
- if (otherDevice.DeviceCode.Contains("CP"))//鎴愬搧杈撻�佺嚎
+ if (device.DeviceCode.Contains("Plate"))
{
- short Command = otherDevice.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode);
- if (Command == 2)
+ CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
+ StackPlateTaskCommandCommand command = commonConveyorLine.ReadCustomer<StackPlateTaskCommandCommand>(device.DeviceCode);
+
+ if (command != null&&command.State == 2 && command.InteractiveSignal == 2)
{
- content.OK("鍏佽鍙栨枡");
+ return content.OK("鍏佽鍙栨枡");
}
else
{
return content.Error("绂佹鍙栨枡");
}
}
- else if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
+ else
{
- bool AllowTake = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_AllowTake, stationManger.StationDeviceCode);
- if (AllowTake)
- {
- content.OK("鍏佽鍙栨枡");
- }
- else
- {
- return content.Error("绂佹鍙栨枡");
- }
- }
- else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
- {
- bool AllowTake = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_AllowTake, stationManger.StationDeviceCode);
- if (AllowTake)
- {
- content.OK("鍏佽鍙栨枡");
- }
- else
- {
- return content.Error("绂佹鍙栨枡");
- }
- }
+ OtherDevice otherDevice = (OtherDevice)device;
+ if (otherDevice.DeviceCode.Contains("CP"))//鎴愬搧杈撻�佺嚎
+ {
+ short Command = otherDevice.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode);
+ if (Command == 2)
+ {
+ content.OK("鍏佽鍙栨枡");
+ }
+ else
+ {
+ return content.Error("绂佹鍙栨枡");
+ }
+ }
+ else if (device.DeviceCode.Contains("Coveryor"))//鎺ラ┏鍙�
+ {
+ bool AllowTake = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_AllowTake, stationManger.StationDeviceCode);
+ if (AllowTake)
+ {
+ content.OK("鍏佽鍙栨枡");
+ }
+ else
+ {
+ return content.Error("绂佹鍙栨枡");
+ }
+ }
+ else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
+ {
+ bool AllowTake = otherDevice.GetValue<RetractDB, bool>(RetractDB.Ret_AllowTake, stationManger.StationDeviceCode);
+ if (AllowTake)
+ {
+ content.OK("鍏佽鍙栨枡");
+ }
+ else
+ {
+ return content.Error("绂佹鍙栨枡");
+ }
+ }
+ }
return content;
}
catch (Exception ex)
@@ -521,19 +557,27 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�");
}
-
- OtherDevice otherDevice = (OtherDevice)device;
- if (device.DeviceCode.Contains("CP"))
+ if (device.DeviceCode.Contains("Plate"))
{
- otherDevice.SetValue(W_ConveyorLineCPDB.W_Command, 2, stationManger.StationCode);
+ CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
+ commonConveyorLine.SetValue(StackPlateDBName.WriteInteractiveSignal, Convert.ToInt16(2), device.DeviceCode);
+ return WebResponseContent.Instance.OK();
}
- else if (device.DeviceCode.Contains("Coveryor"))
+ else
{
- otherDevice.SetValue(CoveryorDB.C_TakeFinish, true, stationManger.StationDeviceCode);
- }
- else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
- {
- otherDevice.SetValue(RetractDB.Ret_TakeFinish, true, stationManger.StationDeviceCode);
+ OtherDevice otherDevice = (OtherDevice)device;
+ if (device.DeviceCode.Contains("CP"))
+ {
+ otherDevice.SetValue(W_ConveyorLineCPDB.W_Command, 2, stationManger.StationCode);
+ }
+ else if (device.DeviceCode.Contains("Coveryor"))
+ {
+ otherDevice.SetValue(CoveryorDB.C_TakeFinish, true, stationManger.StationDeviceCode);
+ }
+ else if (device.DeviceCode.Contains("Retract"))//浼哥缉璐у弶
+ {
+ otherDevice.SetValue(RetractDB.Ret_TakeFinish, true, stationManger.StationDeviceCode);
+ }
}
return WebResponseContent.Instance.OK();
--
Gitblit v1.9.3