| | |
| | | _logger = logger; |
| | | |
| | | // 加载配置文件 |
| | | _config = LoadConfig(); |
| | | //_config = LoadConfig(); |
| | | |
| | | // 初始化任务选择器 |
| | | _taskSelector = new StackerCraneTaskSelector(taskService, routerService, httpClientHelper, _logger); |
| | | |
| | | // 初始化命令构建器 |
| | | _commandBuilder = new StackerCraneCommandBuilder(taskService, routerService, _config, _logger); |
| | | _commandBuilder = new StackerCraneCommandBuilder(taskService, routerService, _logger); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | // ========== 检查堆垛机任务完成状态 ========== |
| | | commonStackerCrane.CheckStackerCraneTaskCompleted(); |
| | | //_logger.LogDebug("Execute:检查任务完成状态,设备: {DeviceCode}", _deviceCode); |
| | | //QuartzLogger.Debug($"检查任务完成状态,设备: {_deviceCode}", _deviceCode); |
| | | |
| | | // ========== 检查是否可以发送新任务 ========== |
| | | //if (!commonStackerCrane.IsCanSendTask(commonStackerCrane.Communicator, commonStackerCrane.DeviceProDTOs, commonStackerCrane.DeviceProtocolDetailDTOs)) |
| | | if (commonStackerCrane.StackerCraneStatusValue != StackerCraneStatus.Normal /*&& commonStackerCrane.StackerCraneAutoStatusValue != StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneWorkStatusValue != StackerCraneWorkStatus.Standby*/) |
| | | if (commonStackerCrane.StackerCraneStatusValue != StackerCraneStatus.Normal ) |
| | | { |
| | | // 堆垛机不可用(如正在执行上一任务),直接返回 |
| | | //_logger.LogDebug("Execute:堆垛机不可用,设备: {DeviceCode}", _deviceCode); |
| | | //QuartzLogger.Debug($"堆垛机不可用,设备: {_deviceCode}", _deviceCode); |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | |
| | | if (task == null) |
| | | { |
| | | // 没有可用任务 |
| | | //_logger.LogDebug("Execute:没有可用任务,设备: {DeviceCode}", _deviceCode); |
| | | //QuartzLogger.Debug($"没有可用任务,设备: {_deviceCode}", _deviceCode); |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | //_logger.LogInformation("Execute:选择任务,设备: {DeviceCode},任务号: {TaskNum}", _deviceCode, task.TaskNum); |
| | | //QuartzLogger.Info($"选择任务,任务号: {task.TaskNum}", _deviceCode); |
| | | |
| | | // ========== 构建命令 ========== |
| | | // 命令构建下沉到专用构建器 |
| | |
| | | bool sendFlag = SendStackerCraneCommand(commonStackerCrane, stackerCraneTaskCommand); |
| | | if (sendFlag) |
| | | { |
| | | Task.Delay(1000).Wait(); |
| | | Thread.Sleep(1000); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.WorkAction, (short)StackerCraneWorkActionEnum.StartTask); |
| | | // 发送成功,更新状态 |
| | | commonStackerCrane.LastTaskType = task.TaskType; |