| | |
| | | { |
| | | try |
| | | { |
| | | |
| | | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (commonStackerCrane != null) |
| | | { |
| | |
| | | var isWorkType = commonStackerCrane.Communicator.WriteNoRead("DB100.18.0", Convert.ToInt16(1)); |
| | | commonStackerCrane.LastTaskType = task.TaskType; |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | Thread.Sleep(1000); |
| | | Thread.Sleep(2000); |
| | | } |
| | | } |
| | | } |
| | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.FinishConfirm, 1); |
| | | return; |
| | | } |
| | | string WorkStatus = $"ã{commonStackerCrane.StackerCraneWorkStatusValue}ã"; |
| | | bool IsWrite = false; |
| | | var content = _taskService.StackCraneTaskCompleted(e.TaskNum); |
| | | |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1001") as CommonConveyorLine; |
| | | if (conveyorLine != null) |
| | | { |
| | | short InteractiveSignal = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, "LK001"); |
| | | var structs = BitConverter.GetBytes(InteractiveSignal).Reverse().ToArray().ToBoolArray(); |
| | | if (structs[0]) |
| | | { |
| | | //IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(0)); |
| | | //Thread.Sleep(1000); |
| | | IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9999)); |
| | | conveyorLine.Communicator.WriteNoRead("DB100.4", Convert.ToInt16(task.TaskNum)); |
| | | if (!IsWrite) |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | #region |
| | | //if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | //{ |
| | | // CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1001") as CommonConveyorLine; |
| | | // if (conveyorLine != null) |
| | | // { |
| | | // short InteractiveSignal = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, "LK001"); |
| | | // var structs = BitConverter.GetBytes(InteractiveSignal).Reverse().ToArray().ToBoolArray(); |
| | | // if (structs[0]) |
| | | // { |
| | | // IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9999)); |
| | | // conveyorLine.Communicator.WriteNoRead("DB100.4", Convert.ToInt16(task.TaskNum)); |
| | | // if (!IsWrite) |
| | | // { |
| | | // return; |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | } |
| | | // _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | //} |
| | | #endregion |
| | | |
| | | //var isWorkType = commonStackerCrane.SetValue(StackerCraneDBName.FinishConfirm, 1); |
| | | var isWorkType = commonStackerCrane.Communicator.WriteNoRead("DB100.0", Convert.ToInt16(1)); |
| | | |
| | | |
| | | str = $"{commonStackerCrane.DeviceName}ãWMS|WCSä»»å¡å®æï¼ã{content.Status}{content.Message}ã,å åæºå®æä¿¡å·åå
¥ï¼ã{isWorkType}ã,ä»»å¡å·ï¼ã{e.TaskNum}ãæ¶é´ã{DateTime.Now}ãè¾é线åå
¥{IsWrite}"; |
| | | WriteInfo(commonStackerCrane.DeviceName, str + WorkStatus); |
| | | str = $"{commonStackerCrane.DeviceName}ãWMS|WCSä»»å¡å®æï¼ã{content.Status}{content.Message}ã,å åæºå®æä¿¡å·åå
¥ï¼ã{isWorkType}ã,ä»»å¡å·ï¼ã{e.TaskNum}ãæ¶é´ã{DateTime.Now}ã"; |
| | | WriteInfo(commonStackerCrane.DeviceName, str); |
| | | ConsoleHelper.WriteColorLine(str, ConsoleColor.Blue); |
| | | } |
| | | } |
| | |
| | | private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane) |
| | | { |
| | | Dt_Task task; |
| | | if (_taskService.QueryExecutingTask(commonStackerCrane.DeviceCode) != null) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | task = _taskService.QueryRelocationTask(commonStackerCrane.DeviceCode); |
| | | if (task != null) |
| | | { |
| | |
| | | |
| | | if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | var InTask = _taskRepository.QueryFirst(x => x.TaskState > (int)TaskInStatusEnum.InNew && x.TaskState< (int)TaskInStatusEnum.SC_InExecuting); |
| | | var InTask = _taskRepository.QueryFirst(x => x.TaskState > (int)TaskInStatusEnum.InNew && x.TaskState < (int)TaskInStatusEnum.SC_InExecuting); |
| | | var OutTask = _taskRepository.QueryFirst(x => x.TaskState > (int)TaskOutStatusEnum.OutNew && x.TaskState < (int)TaskOutStatusEnum.AGV_OutExecuting); |
| | | if (InTask != null) |
| | | { |
| | | return null; |
| | | task= _taskRepository.QueryFirst(x => x.TaskState == (int)TaskInStatusEnum.Line_InFinish && x.Roadway == commonStackerCrane.DeviceCode); |
| | | return task; |
| | | } |
| | | else if (OutTask != null) |
| | | { |
| | |
| | | |
| | | if (taskDTO.TaskNum != task.TaskNum) |
| | | { |
| | | _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); |
| | | return _taskRepository.QueryFirst(x => x.TaskNum == taskDTO.TaskNum); |
| | | var taskNew=_taskRepository.QueryFirst(x=>x.PalletCode==taskDTO.PalletCode); |
| | | if (taskNew != null) |
| | | { |
| | | task = taskNew; |
| | | } |
| | | else |
| | | { |
| | | _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); |
| | | task = _taskRepository.QueryFirst(x => x.TaskNum == taskDTO.TaskNum); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | short InteractiveSignal = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, "LK001"); |
| | | var structs = BitConverter.GetBytes(InteractiveSignal).Reverse().ToArray().ToBoolArray(); |
| | | if (structs[1]) |
| | | { |
| | | task.ExceptionMessage = "è¾é线æè´§æä¸ä¸ååºåºä»»å¡"; |
| | | _taskRepository.UpdateData(task); |
| | | return null; |
| | | } |
| | | if (structs[0] && !structs[2] && !structs[1]) |
| | | { |
| | | conveyorLine.Communicator.WriteNoRead("DB100.0", 9990); |
| | | conveyorLine.Communicator.Write("DB100.0", 9990); |
| | | } |
| | | if (structs[0] && structs[2]) |
| | | { |
| | | conveyorLine.Communicator.WriteNoRead("DB100.0", 9990); |
| | | conveyorLine.Communicator.Write("DB100.0", 9990); |
| | | return task; |
| | | } |
| | | else |
| | |
| | | _taskRepository.UpdateData(task); |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |