From 8c0e2ca5bc6153ba0bd894523b8f6047941edab2 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期六, 11 十月 2025 16:21:47 +0800 Subject: [PATCH] 优化任务查询与信号处理逻辑,添加二进制文件在多个文件中优化任务查询与信号处理逻辑: - `TaskService.cs`:`QueryExecutingConveyorLineTask` 方法新增托盘码校验。 - `CommonConveyorLine_BZJob.cs`:新增信号读取与在途数据处理逻辑。 - `CommonConveyorLine_CWJob.cs`:新增站点查询与信号处理逻辑。 - `CommonConveyorLine_GWJob.cs` 和 `CommonConveyorLine_NewCWJob.cs`: - 删除冗余注释代码。 - 增加站点查询与信号处理逻辑。 - 添加多个二进制文件:`CodeChunks.db`、`SemanticSymbols.db` 等。 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs | 59 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 36 insertions(+), 23 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs index ecb95db..782dac9 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs @@ -116,20 +116,11 @@ #endregion 绔欏彴鏂瑰紡 #region 璺敱鏂瑰紡 - List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode); - DateTime dateTime = DateTime.Now; - Console.WriteLine($"寰幆寮�濮嬫椂闂磠dateTime}"); + foreach (string childDeviceCode in childDeviceCodes) { - //Thread.Sleep(1000); - //if (childCodeList.Contains(childDeviceCode)) - //{ - // Console.WriteLine($"褰撳墠{childDeviceCode}鎵ц涓紝宸茶烦杩�"); - // continue; - //} - //childCodeList.Add(childDeviceCode); - //Console.WriteLine(childDeviceCode); + ConveyorLineTaskCommand_After command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(childDeviceCode); if (command == null) continue; @@ -164,7 +155,6 @@ } } - //childCodeList.Remove(childDeviceCode); #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇 @@ -187,20 +177,16 @@ #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇 } - DateTime ENDdateTime = DateTime.Now; - Console.WriteLine($"寰幆缁撴潫鏃堕棿{ENDdateTime}"); #endregion 璺敱鏂瑰紡 } } catch (Exception ex) { - Console.Out.WriteLine(nameof(CommonConveyorLine_CWJob) + ":" + DateTime.Now + ":" + ex.ToString()); + Console.Out.WriteLine(nameof(CommonConveyorLine_CWJob) + ":" + DateTime.Now + ":" + ex.ToString(),ex.StackTrace); } finally { - //WriteDebug("CommonConveyorLineJob", "test"); - //Console.Out.WriteLine(DateTime.Now); } return Task.CompletedTask; } @@ -460,12 +446,25 @@ } } - //conveyorLine.SendCommand(taskCommand, childDeviceCode); bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); if (sendFlag) { conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); content = _taskService.UpdateTaskStatusToNext(task); + } + var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationArea == "Call" && x.stationType == 12); + CommonConveyorLine_BZ? commonConveyorBZ=Storage.Devices.FirstOrDefault(x=>x.DeviceCode==station.stationPLC) as CommonConveyorLine_BZ; + if (commonConveyorBZ != null) + { + ConveyorLineTaskCommand_After readSignal = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(station.stationLocation); + if (readSignal.Reserved5 == 1) + { + var tasks = _taskRepository.QueryData(x => x.TargetAddress == childDeviceCode); + if (tasks.Count == 0) + { + commonConveyorBZ.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), station.stationLocation); + } + } } } else @@ -497,8 +496,6 @@ } } - //conveyorLine.SendCommand(taskCommand, childDeviceCode); - bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); if (sendFlag) { @@ -506,6 +503,20 @@ taskNext.ExceptionMessage = log; content = _taskService.UpdateTaskStatusToNext(taskNext); + } + var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationArea == "Call" && x.stationType == 12); + CommonConveyorLine_BZ? commonConveyorBZ = Storage.Devices.FirstOrDefault(x => x.DeviceCode == station.stationPLC) as CommonConveyorLine_BZ; + if (commonConveyorBZ != null) + { + ConveyorLineTaskCommand_After readSignal = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(station.stationLocation); + if (readSignal.Reserved5 == 1) + { + var tasks = _taskRepository.QueryData(x => x.TargetAddress == childDeviceCode); + if (tasks.Count == 0) + { + commonConveyorBZ.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), station.stationLocation); + } + } } } } @@ -556,12 +567,14 @@ } var wmsIpAddress = wmsBase + requestTrayOutTask; - //var device = _deviceInfoRepository.QueryData(x => x.DeviceStatus == "1" && x.DeviceRemark == platform.Id.ToString()); - //var deviceCode = device.Select(x => x.DeviceCode).ToList(); + List<string> strings = platform.Location.Split(',').ToList(); + WriteInfo("璋冨害鎵ц鏃堕棿璁板綍", "銆愯皟鍙朩MS鍑哄簱鎺ュ彛寮�濮嬫椂闂达細銆�" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")); + var result = await HttpHelper.PostAsync(wmsIpAddress, new { Position = childDeviceCode, Tag = (int)taskType, AreaCdoe = platform.Stacker, AreaCdoes = strings, platform.ProductionLine }.Serialize()); - //var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString()); + + WriteInfo("璋冨害鎵ц鏃堕棿璁板綍", "銆愯皟鍙朩MS鍑哄簱鎺ュ彛缁撴潫鏃堕棿锛氥��" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")); WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result); -- Gitblit v1.9.3