| | |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | //WriteDebug("大å åæºè¿è¡æ¥å¿", "å¼å§æ¶é´" + DateTime.Now); |
| | | Console.WriteLine("å½åçº¿ç¨æ°"+ThreadPool.ThreadCount); |
| | | |
| | | WriteDebug("线ç¨ç»è®¡æ¥å¿", "çº¿ç¨æ°" + 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) |
| | | { |
| | | WriteDebug("大å åæºè¿è¡æ¥å¿", $"大å åæºä»»å¡æ§è¡ä¸..."); |
| | | //WriteDebug("大å åæºè¿è¡æ¥å¿", $"大å åæºä»»å¡æ§è¡ä¸..."); |
| | | //if (!commonStackerCrane.IsEventSubscribed) |
| | | //{ |
| | | // commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//订é
ä»»å¡å®æäºä»¶ |
| | |
| | | |
| | | if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal) |
| | | { |
| | | commonStackerCrane.CheckStackerCraneTaskCompleted();//鲿¢ä»»å¡å®æäºä»¶çæµè¶
æ¶ï¼åæå¨è§¦å䏿¬¡ |
| | | // commonStackerCrane.CheckStackerCraneTaskCompleted();//鲿¢ä»»å¡å®æäºä»¶çæµè¶
æ¶ï¼åæå¨è§¦å䏿¬¡ |
| | | |
| | | if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) |
| | | { |
| | |
| | | if (task != null) |
| | | { |
| | | |
| | | WriteDebug("大å åæºè¿è¡æ¥å¿", $"大å åæºä»»å¡å·{task.TaskNum}"); |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºä»»å¡å·{task.TaskNum}"); |
| | | StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); |
| | | if (stackerCraneTaskCommand != null) |
| | | { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | //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}"); |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºSC01ä»»å¡å·å åæºä»»å¡å·ï¼{tasknum}ç¶æï¼{IsOver}"); |
| | | 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) |
| | | if(issuccess) |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºSC01ä»»å¡å·åå
¥ä»»å¡å®æç¡®è®¤å¼5æå{tasknum}"); |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºSC01ä»»å¡å·å åæºä»»å¡å·ï¼{tasknum},åå5æå"); |
| | | //æ¥è¯¢å½åä»»å¡å·ï¼æ¯ä¸æ¯åºåºï¼æ£å¸¸åºä½-->æåä½ï¼ |
| | | Dt_Task tasktemp = _taskService.QueryStackerCraneTaskByRelotion(tasknum); |
| | | if (tasktemp != null&&!string.IsNullOrEmpty(tasktemp.Remark.Trim())) |
| | | { |
| | | //æ ¹æ®ä»»å¡ç®æ å°åç¡®å®åå
¥PLCä½ç½® Depth |
| | | Dt_LocationInfo location = _locationInfoRepository.QueryFirst(x => x.LocationCode == tasktemp.TargetAddress); |
| | | if (commonStackerCrane != null && location != null) |
| | | { |
| | | bool issuccess2 = commonStackerCrane.Communicator.Write<short>("DB28." + location.Depth + ".0", 9); |
| | | if (issuccess2) |
| | | { |
| | | ServiceLogger.WriteDebug("TaskService", $"åæåºåºååå
¥æ è¯æåï¼"); |
| | | } |
| | | else |
| | | { |
| | | ServiceLogger.WriteDebug("TaskService", $"åæåºåºååå
¥æ è¯å¤±è´¥ï¼"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºSC01ä»»å¡å·åå
¥ä»»å¡å®æç¡®è®¤å¼5失败{tasknum}"); |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"大å åæºSC01ä»»å¡å·å åæºä»»å¡å·ï¼{tasknum},åå5失败"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //æåæºäº¤äº |
| | | Dt_Task? task1001 = _taskService.QueryStackerCraneTaskByAGVRequest("SC01"); |
| | |
| | | { |
| | | MESSendCMD sendcmd = new MESSendCMD { cmd = 2001, task_id = task1001.TaskNum, status = 6 }; |
| | | MESResponse res = ApiInvoke.SendTaskCMD(sendcmd); |
| | | if (res != null && res.code != 0) |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"å
计AGVè¿å
¥æåæºï¼åä¼ WMS失败ï¼ä»»å¡å·{task1001.TaskNum}"); |
| | | } |
| | | else |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"å
计AGVè¿å
¥æåæºï¼åä¼ WMSæåï¼ä»»å¡å·{task1001.TaskNum}"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"æªè¯»åå°æåæºå
计è¿å
¥ä¿¡å·ï¼æä¸å
计AGVè¿å
¥æåæºï¼ä»»å¡å·{task1001.TaskNum}"); |
| | | } |
| | | } |
| | | Dt_Task? task3001 = _taskService.QueryStackerCraneTaskByAGVPutFinish("SC01"); |
| | |
| | | { |
| | | commonStackerCrane.Communicator.Write<short>("DB1.0.0", 1); |
| | | } |
| | | else |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"æªåå
¥æåä¿¡å·ï¼å¯è½æ¯å·²åå
¥æè
æåæºæªå¤çå°±ç»ªç¶æ,ä»»å¡å·ï¼{task3001.TaskNum}"); |
| | | } |
| | | |
| | | //读åæåæºä¿¡å·ï¼ç¡®å®æ¯å¦æå宿 |
| | | |
| | | IsFinish = commonStackerCrane.Communicator.Read<short>("DB2.2.0"); |
| | |
| | | { |
| | | commonStackerCrane.Communicator.Write<short>("DB1.6.0", 1); |
| | | } |
| | | else |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"æªåå
¥æåä¿¡å·ï¼å¯è½æ¯ä¿¡å·å·²åå
¥æè
æåæºæªå¤çå°±ç»ªç¶æï¼ä»»å¡å·ï¼{task3001.TaskNum}"); |
| | | } |
| | | |
| | | //读åæåæºä¿¡å·ï¼ç¡®å®æ¯å¦æå宿 |
| | | IsFinish = commonStackerCrane.Communicator.Read<short>("DB2.10.0"); |
| | | } |
| | |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"æåæºæå宿ï¼åä¼ WMS失败ï¼ä»»å¡å·{task3001.TaskNum}"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WriteDebug(nameof(CommonStackerCraneJob), $"æåæºæåä¸...ï¼ä»»å¡å·ï¼{task3001.TaskNum}"); |
| | | } |
| | | |
| | | } |
| | | |
| | | //å°å åæºåºåºå®æä»»å¡ |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteError(nameof(CommonStackerCraneJob), "æ¥è¯¢æåå
¥PLCç¶æå¤±è´¥ï¼", ex); |
| | | WriteError(nameof(CommonStackerCraneJob), "æ§è¡å¼å¸¸ï¼", ex); |
| | | } |
| | | // WriteDebug("大å åæºè¿è¡æ¥å¿", "ç»ææ¶é´" + DateTime.Now); |
| | | //}); |
| | | return Task.CompletedTask; |
| | | } |
| | | |