Administrator
6 天以前 2624ebffaa8b8abf1432fe011d08704f840e0bcf
Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -41,7 +41,7 @@
                    AGV(mod);                                       // AGV调度
                    break;
                case PLCTypeEnum.ShuttleCar: //穿梭车
                    //if (mod.PlcIdIP == "10.26.254.28")
                    //if (mod.PlcIdIP == "10.26.254.28")
                    //{
                    //    break;
                    //}
@@ -209,7 +209,8 @@
                                HubUtil.PublicTaskMonitor(taskMonitor.Adapt<WcsTaskMonitorOutput>());
                            }
                            //获取路径2的任务 下发
                            carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First();
                            //carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First();
                            carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.CarTaskNo > valueTaskStr && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First();
                            //总任务下没有其他未执行小车的任务 变更总任务信息
                            if (carTaskNext == null && modFinshTask != null && modFinshTask.Status != TaskStatusEnum.Complete)
                            {
@@ -543,18 +544,23 @@
                    var modPosTaskStatus2 = modDevice.listStation.FirstOrDefault(s => s.Text == "任务状态");
                    var (resultTaskStatus2, valueTaskStatus2) = plcConn.GetDBValue(modPosTaskStatus.PosType, modPosTaskStatus.PlcPos);
                    if (resultCar.IsSucceed && valueCar == 1 && resultTaskStatus2.IsSucceed && (valueTaskStatus2 == 0 || valueTaskStatus2 == 1))
                    if (resultCar.IsSucceed && valueCar == 1 &&  resultTaskStatus2.IsSucceed && (valueTaskStatus2 == 0 || valueTaskStatus2 == 1))
                    {
                        //先复位
                        var modRest = modDevice.listStation.FirstOrDefault(s => s.Text == "复位");
                        plcConn.SetDBValue(modRest.PosType, modRest.PlcPos, "1");
                        var carnew = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == modTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status == TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First();
                        if (carnew == null)
                        {
                            //先复位
                            var modRest = modDevice.listStation.FirstOrDefault(s => s.Text == "复位");
                            plcConn.SetDBValue(modRest.PosType, modRest.PlcPos, "1");
                        }
                    }
                    else
                    {
                        return;
                    }
                        List<Result> listResult = new List<Result>();
                    List<Result> listResult = new List<Result>();
                    //获取小车任务号
                    var carTaskNo = FourWayCarUtil.GetTaskNo();