代码管理/WCS/WIDESEAWCS_Client/src/api/http.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Client/src/assets/imgs/wcs_x.png | 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Client/src/views/Index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Client/src/views/Login.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/DoubleStackerCraneJob.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Client/src/api/http.js
@@ -12,7 +12,7 @@ let loadingInstance; let loadingStatus = false; if (process.env.NODE_ENV == 'development') { axios.defaults.baseURL = 'http://10.0.250.15:9291/'; axios.defaults.baseURL = 'http://127.0.0.1:9291/'; } else if (process.env.NODE_ENV == 'debug') { axios.defaults.baseURL = 'http://10.0.250.15:9291/'; ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Client/src/assets/imgs/wcs_x.png
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Client/src/views/Index.vue
@@ -120,7 +120,7 @@ import VolMenu from "@/components/basic/VolElementMenu.vue"; import Message from "./index/Message.vue"; import MessageConfig from "./index/MessageConfig.js"; var imgUrl = require("@/assets/imgs/wms_x.png"); var imgUrl = require("@/assets/imgs/wcs_x.png"); var $this; var $interval; var $indexDate; ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Client/src/views/Login.vue
@@ -1,6 +1,6 @@ <template> <div class="login-container"> <div class="project-name">WIDESEA_WMS</div> <div class="project-name">WCS</div> <div class="login-form"> <div class="form-user" @keypress="loginPress"> <div class="login-text"> ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -66,7 +66,7 @@ /// </summary> /// <param name="key"></param> /// <returns></returns> [Route("CancelTask")] [HttpPost,Route("CancelTask")] public WebResponseContent CancelTask(int taskNum) { return Service.CancelTask(taskNum); @@ -78,7 +78,7 @@ /// </summary> /// <param name="taskNum"></param> /// <returns></returns> [HttpPost, HttpGet, Route("ForceCompleteTask")] [HttpPost, Route("ForceCompleteTask")] public WebResponseContent ForceCompleteTask (int taskNum) { return Service.ForceCompleteTask(taskNum); ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -8,7 +8,9 @@ using System.Linq; using System.Reflection.Metadata; using System.Text; using System.Threading; using System.Threading.Tasks; using WIDESEAWCS_Common.LocationEnum; using WIDESEAWCS_Common.ServiceLog; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Communicator; @@ -51,18 +53,19 @@ public Task Execute(IJobExecutionContext context) { WriteDebug("大å åæºè¿è¡æ¥å¿", "å¼å§æ¶é´" + DateTime.Now); WriteDebug("大å åæºè¿è¡æ¥å¿", $"大å åæºä»»å¡æ§è¡ä¸..."); //CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); CommonStackerCrane commonStackerCrane = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "SC01") as CommonStackerCrane; //WriteDebug("大å åæºè¿è¡æ¥å¿", "å¼å§æ¶é´" + DateTime.Now); Console.WriteLine("å½åçº¿ç¨æ°"+ThreadPool.ThreadCount); //CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); CommonStackerCrane commonStackerCrane = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "SC01") as CommonStackerCrane; try { if (commonStackerCrane != null) { if (!commonStackerCrane.IsEventSubscribed) { commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//订é ä»»å¡å®æäºä»¶ } WriteDebug("大å åæºè¿è¡æ¥å¿", $"大å åæºä»»å¡æ§è¡ä¸..."); //if (!commonStackerCrane.IsEventSubscribed) //{ // commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//订é ä»»å¡å®æäºä»¶ //} if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal) { @@ -73,6 +76,7 @@ Dt_Task? task = GetTask(commonStackerCrane); if (task != null) { WriteDebug("大å åæºè¿è¡æ¥å¿", $"大å åæºä»»å¡å·{task.TaskNum}"); StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); if (stackerCraneTaskCommand != null) @@ -95,8 +99,12 @@ //空车åºåºå½ä»¤åéæååï¼åä¼ status=1ï¼ if (task.TaskType == (int)TaskOutboundTypeEnum.OutPick) { Dt_LocationInfo srcLocation = _locationInfoRepository.QueryFirst(x => x.LocationCode == task.SourceAddress); srcLocation.LocationStatus = (int)LocationStatusEnum.Free; _locationInfoRepository.UpdateData(srcLocation); MESSendCMD sendcmd = new MESSendCMD { cmd = 201, task_id = task.TaskNum, status = 1 }; MESResponse res = ApiInvoke.SendTaskCMD(sendcmd); WriteDebug(nameof(CommonStackerCraneJob), $"å åæºåä¼ Status:1,ç¨äºçæåºåºä»»å¡,ä»»å¡å·{task.TaskNum}"); } } else @@ -109,6 +117,10 @@ } } } else { WriteDebug(nameof(DoubleStackerCraneJob), "æªæ¥è¯¢å°å½åå¯ä»¥æ§è¡ä¸æä»»å¡ç大å åæºï¼"); } } catch (Exception ex) { @@ -116,14 +128,37 @@ } //æ¥è¯¢æåæº/ç»ç«æºä¿¡å· //Task.Run(delegate //{ try { if (commonStackerCrane != null) { //读å大å åæºä»»å¡å·åä»»å¡å®æç¡®è®¤ç¶æï¼å 为å°è£ çäºä»¶ç»å¸¸ä¸è§¦åï¼æä»¥å ä¸ªç´æ¥è¯»çé»è¾ï¼ä»¥å åºç°å åæºä¸ç´æ¥å¤äºçå¾ wcsç¡®è®¤ï¼ byte IsOver = commonStackerCrane.Communicator.Read<byte>("DB106.22"); int tasknum = commonStackerCrane.Communicator.Read<int>("DB106.18"); //WriteDebug(nameof(CommonStackerCraneJob), $"读å大å åæºSC01ä»»å¡å®æä¿¡å·å¼:{IsOver} ä»»å¡å·ï¼{tasknum}"); if (IsOver == 6) { if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) { _taskService.StackCraneTaskCompleted(tasknum); Console.Out.WriteLine("TaskCompleted" + tasknum); bool issuccess = commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); if (issuccess) { WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºSC01ä»»å¡å·åå ¥ä»»å¡å®æç¡®è®¤å¼5æå{tasknum}"); } else { WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºSC01ä»»å¡å·åå ¥ä»»å¡å®æç¡®è®¤å¼5失败{tasknum}"); } } } //æåæºäº¤äº Dt_Task? task1001 = _taskService.QueryStackerCraneTaskByAGVRequest("SC01"); if (task1001 != null) { @@ -293,13 +328,15 @@ } } } catch (Exception ex) { WriteError(nameof(CommonStackerCraneJob), "æ¥è¯¢æåå ¥PLCç¶æå¤±è´¥ï¼", ex); } WriteDebug("大å åæºè¿è¡æ¥å¿", "ç»ææ¶é´" + DateTime.Now); // WriteDebug("大å åæºè¿è¡æ¥å¿", "ç»ææ¶é´" + DateTime.Now); //}); return Task.CompletedTask; } @@ -318,7 +355,11 @@ { Console.Out.WriteLine("TaskCompleted" + e.TaskNum); _taskService.StackCraneTaskCompleted(e.TaskNum); commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); bool issuccess=commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); if (issuccess) { WriteDebug(nameof(CommonStackerCraneJob), $"ä»»å¡å·åå ¥ä»»å¡å®æç¡®è®¤å¼5æå{e.TaskNum}"); } } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/DoubleStackerCraneJob.cs
@@ -52,10 +52,9 @@ public Task Execute(IJobExecutionContext context) { WriteDebug("å°å åæºè¿è¡æ¥å¿", "å¼å§æ¶é´" + DateTime.Now); //WriteDebug("å°å åæºè¿è¡æ¥å¿", "å¼å§æ¶é´" + DateTime.Now); CommonStackerCrane? stackerCraneOne = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "SC02") as CommonStackerCrane; CommonStackerCrane? stackerCraneTwo = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "SC03") as CommonStackerCrane; WriteDebug(nameof(DoubleStackerCraneJob), $"å°å åæºä»»å¡æ§è¡ä¸..."); try { @@ -63,11 +62,11 @@ Dt_Task? task = GetTask(); if (task != null) { WriteDebug("å°å åæºè¿è¡æ¥å¿", $"å°å åæºä»»å¡å·{task.TaskNum}"); { CommonStackerCrane? StackerCrane = GetStrackerCrane(task, stackerCraneOne, stackerCraneTwo); if (StackerCrane != null) { WriteDebug("å°å åæºè¿è¡æ¥å¿", $"å°å åæºä»»å¡å·{task.TaskNum}"); StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); if (stackerCraneTaskCommand != null) { @@ -96,55 +95,74 @@ } catch (Exception ex) { WriteError(nameof(CommonStackerCraneJob), "å°å åæºæ§è¡ä»»å¡å¼å¸¸ï¼", ex); WriteError(nameof(DoubleStackerCraneJob), "å°å åæºæ§è¡ä»»å¡å¼å¸¸ï¼", ex); } //读åå åæºä»»å¡å·åä»»å¡å®æç¡®è®¤ç¶æ //Task.Run(delegate //{ try try { if (stackerCraneOne != null)//SC02 { if (stackerCraneOne != null) { byte IsFinish = stackerCraneOne.Communicator.Read<byte>("DB106.22"); int tasknum = stackerCraneOne.Communicator.Read<int>("DB106.18"); if (IsFinish == 6) { if (stackerCraneOne.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) { //ææ¶ å å5:å®æç¡®è®¤ ä¿¡å· _taskService.StackCraneTaskCompleted(tasknum); stackerCraneOne.SetValue(StackerCraneDBName.WorkType, 5); } } } if (stackerCraneTwo != null) byte IsOver = stackerCraneOne.Communicator.Read<byte>("DB106.22"); int tasknum = stackerCraneOne.Communicator.Read<int>("DB106.18"); // WriteDebug(nameof(DoubleStackerCraneJob), $"读åå°å åæºSC02ä»»å¡å®æä¿¡å·å¼:{IsOver}ä»»å¡å·ï¼{tasknum}"); if (IsOver == 6) { //读åå åæºä»»å¡å·åä»»å¡å®æç¡®è®¤ç¶æ byte IsFinish = stackerCraneTwo.Communicator.Read<byte>("DB106.22"); int tasknum = stackerCraneTwo.Communicator.Read<int>("DB106.18"); if (IsFinish == 6) if (stackerCraneOne.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) { if (stackerCraneTwo.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) _taskService.StackCraneTaskCompleted(tasknum); Console.Out.WriteLine("TaskCompleted" + tasknum); bool issuccess = stackerCraneOne.SetValue(StackerCraneDBName.WorkType, 5); if (issuccess) { _taskService.StackCraneTaskCompleted(tasknum); stackerCraneTwo.SetValue(StackerCraneDBName.WorkType, 5); WriteDebug(nameof(DoubleStackerCraneJob), $"å°å åæºSC02ä»»å¡å·åå ¥ä»»å¡å®æç¡®è®¤å¼5æå{tasknum}"); } else { WriteDebug(nameof(DoubleStackerCraneJob), $"å°å åæºSC02ä»»å¡å·åå ¥ä»»å¡å®æç¡®è®¤å¼5失败{tasknum}"); } } } } if (stackerCraneTwo != null)//SC03 { //读åå åæºä»»å¡å·åä»»å¡å®æç¡®è®¤ç¶æ byte IsOver = stackerCraneTwo.Communicator.Read<byte>("DB106.22"); int tasknum = stackerCraneTwo.Communicator.Read<int>("DB106.18"); // WriteDebug(nameof(DoubleStackerCraneJob), $"读åå°å åæºSC03ä»»å¡å®æä¿¡å·å¼:{IsOver}ä»»å¡å·ï¼{tasknum}"); if (IsOver == 6) { if (stackerCraneTwo.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) { _taskService.StackCraneTaskCompleted(tasknum); Console.Out.WriteLine("TaskCompleted" + tasknum); bool issuccess = stackerCraneTwo.SetValue(StackerCraneDBName.WorkType, 5); if (issuccess) { WriteDebug(nameof(DoubleStackerCraneJob), $"å°å åæºSC03ä»»å¡å·åå ¥ä»»å¡å®æç¡®è®¤å¼5æå{tasknum}"); } else { WriteDebug(nameof(DoubleStackerCraneJob), $"å°å åæºSC03ä»»å¡å·åå ¥ä»»å¡å®æç¡®è®¤å¼5失败{tasknum}"); } } } } catch (Exception ex) { WriteError(nameof(DoubleStackerCraneJob), "æ¥è¯¢æåå ¥PLCç¶æå¤±è´¥ï¼", ex); } } catch (Exception ex) { WriteError(nameof(DoubleStackerCraneJob), "æ¥è¯¢æåå ¥PLCç¶æå¤±è´¥ï¼", ex); } //}); WriteDebug("å°å åæºè¿è¡æ¥å¿", "ç»ææ¶é´" + DateTime.Now); //WriteDebug("å°å åæºè¿è¡æ¥å¿", "ç»ææ¶é´" + DateTime.Now); return Task.CompletedTask; }