From 6acfe6b52441943b1ceb8468a2235326dad880fe Mon Sep 17 00:00:00 2001 From: qinchulong <qinchulong@hnkhzn.com> Date: 星期二, 04 三月 2025 16:48:55 +0800 Subject: [PATCH] 20250304测试完成后提交 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs | 87 ++++++++++++++++++------------------------- 1 files changed, 36 insertions(+), 51 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" index 54bd025..07f4c0a 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" @@ -33,6 +33,7 @@ public class OHTJob : JobBase, IJob { public static string InorOut = "In"; + public static OHTReadData oHTReadData = new OHTReadData(); private readonly ITaskService _taskService; private readonly Idt_ErrormsginfoService _ErrormsginfoService; WebSocketServer _webSocketServer; @@ -44,57 +45,21 @@ } public Task Execute(IJobExecutionContext context) { - bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); if (flag && value != null) { + //澶╄溅PLC瀵硅薄 OtherDevice device = (OtherDevice)value; + //鏁村舰鏈篜LC瀵硅薄 + var ZXJdevice = Storage.Devices.Find(v => v.DeviceName == "闃虫瀬鏁村舰鏈�"); + //瑙勬暣鏈篜LC瀵硅薄 + var GZJevice = Storage.Devices.Find(v => v.DeviceName == "闃虫瀬瑙勬暣鏈�"); + //if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected) + //{ + // return Task.CompletedTask; + //} try { - //Example - //device.GetValue 璇诲彇 - //device.SetValue 鍐欏叆 - //_taskService.Repository; //浠撳偍灞傦紝杩涜鏁版嵁搴撹闂� - OHTReadData oHTReadData = new OHTReadData(); - - #region 璇诲彇澶╄溅璁惧鏁版嵁 - oHTReadData.R_HeartBeat = device.GetValue<DeviceDBName, bool>(DeviceDBName.R_HeartBeat); - oHTReadData.R_RunMode = device.GetValue<DeviceDBName, short>(DeviceDBName.R_RunMode); - oHTReadData.R_RunState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_RunState); - oHTReadData.R_AlarmCode = device.GetValue<DeviceDBName, short>(DeviceDBName.R_AlarmCode); - oHTReadData.R_TaskState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_TaskState); - oHTReadData.R_CurrentLine = device.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentLine); - oHTReadData.R_CurrentColumn = device.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentColumn); - oHTReadData.R_RiseUp_Position = device.GetValue<DeviceDBName, int>(DeviceDBName.R_RiseUp_Position); - oHTReadData.R_TaskNumber = device.GetValue<DeviceDBName, int>(DeviceDBName.R_TaskNumber); - oHTReadData.R_Loaded_1 = device.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_1); - oHTReadData.R_Loaded_2 = device.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_2); - oHTReadData.weight = device.GetValue<DeviceDBName, float>(DeviceDBName.weight); - - #region 娴嬭瘯鐢� - //oHTReadData.R_HeartBeat = 1; - //oHTReadData.R_RunMode = 2; - //oHTReadData.R_RunState = 3; - //oHTReadData.R_AlarmCode = 4; - //oHTReadData.R_TaskState = 5; - //oHTReadData.R_CurrentLine = 6; - //oHTReadData.R_CurrentColumn = 7; - //oHTReadData.R_RiseUp_Position = 8; - //oHTReadData.R_TaskNumber = 9; - //oHTReadData.R_Loaded_1 =10; - //oHTReadData.R_Loaded_2 = 11; - //oHTReadData.R_Code_1 = "12"; - //oHTReadData.R_Code_2 = "13"; - //oHTReadData.R_Load_Requst_1 =true; - //oHTReadData.R_Load_Requst_2 = false; - #endregion - - #endregion - - //鐘舵�佹暟鎹彂閫佺粰鍓嶇 - string ohtData = JsonConvert.SerializeObject(oHTReadData); - _webSocketServer.PublishAllClientPayload(ohtData); - #region 澶╄溅瀹屾垚浠诲姟閫昏緫 //鍥犱负澶╃殑浠诲姟闇�瑕佸垎娈靛彂閫侊紝鎵�浠ュ彇璐у畬鎴愪笌鏀捐揣瀹屾垚闇�瑕佸崟鐙仛閫昏緫鎺у埗 //鍒ゆ柇澶╄溅褰撳墠鏈夋病鏈夊彇璐у畬鎴愪换鍔′俊鍙� @@ -130,6 +95,14 @@ } } } + else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory) + { + WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask); + if (result.Status) + { + device.SetValue(DeviceDBName.W_ConfirmSignal, 3); + } + } return Task.CompletedTask; } else if (oHTReadData.R_RunState == (int)RunStateEnum.PutCompleted && oHTReadData.R_TaskState == (int)TaskStateEnum.TaskComplete) @@ -145,7 +118,7 @@ #endregion #region 澶╄溅鍙戦�佷换鍔¢�昏緫 - if (oHTReadData.R_RunMode == (int)RunModeEnum.Automatic && oHTReadData.R_AlarmCode == (int)AlarmCodeEnum.Normal) + if (oHTReadData.R_RunMode == (int)RunModeEnum.Automatic ) { if (oHTReadData.R_RunState == (int)RunStateEnum.Standby) { @@ -155,6 +128,8 @@ OHTTaskCommand? oHTTaskCommand = ConvertToOHTTaskCommand(task); if (oHTTaskCommand != null) { + //缁欏ぉ杞︿笅鍙戜换鍔′箣鍓嶅皢姝ゅ�煎啓0 + device.SetValue(DeviceDBName.W_ConfirmSignal, 0); //todo锛氬啓鍏ヤ换鍔″懡浠� device.SetValue(DeviceDBName.W_Task_Type, oHTTaskCommand.W_Task_Type); device.SetValue(DeviceDBName.W_Pick_Line, oHTTaskCommand.W_Pick_Line); @@ -185,7 +160,6 @@ catch (Exception ex) { _ErrormsginfoService.UpdateErrorMsg(ex.Message,1); - //WriteError(device.DeviceName, "閿欒", ex); } } return Task.CompletedTask; @@ -219,7 +193,7 @@ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"浠诲姟婧愬湴鍧�閰嶇疆閿欒锛�"); return null; } - oHtTaskCommand.W_CheckValue = task.TaskType + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); + oHtTaskCommand.W_CheckValue = 2 + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); } else if (task.TaskState == (int)TaskInStatusEnum.Line_Ingrab || task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting) { @@ -238,7 +212,7 @@ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"浠诲姟婧愬湴鍧�閰嶇疆閿欒锛�"); return null; } - oHtTaskCommand.W_CheckValue = task.TaskType + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); + oHtTaskCommand.W_CheckValue = 3 + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); } if (task.WMSId==1) @@ -259,8 +233,8 @@ oHtTaskCommand.W_Catch_2 = 1; oHtTaskCommand.W_CheckValue += 2; } - oHtTaskCommand.W_TaskNumber = task.TaskNum; - oHtTaskCommand.W_CheckValue += task.TaskNum; + oHtTaskCommand.W_TaskNumber = task.TaskId; + oHtTaskCommand.W_CheckValue += task.TaskId; return oHtTaskCommand; } @@ -284,6 +258,17 @@ InorOut = "In"; } } + else + { + if (workType.Equals("In")) + { + InorOut = "Out"; + } + else + { + InorOut = "In"; + } + } return task; } } -- Gitblit v1.9.3