Administrator
4 天以前 ff013e610eaa5a7db93fdb3cbf19bc6da305de5a
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -385,7 +385,7 @@
                    
                    if (waitTask.TaskType == TaskTypeEnum.In )
                    {
                        //入库任务起始巷道就是起始工位
                        //入库任务起始巷道就是四向车取货工位
                        if (string.IsNullOrWhiteSpace(waitTask.StartRoadway) || string.IsNullOrWhiteSpace(waitTask.EndLocate))
                        {
                            continue;
@@ -397,6 +397,7 @@
                    }
                    else if (waitTask.TaskType == TaskTypeEnum.Out)
                    {
                        //出库任务目标巷道就是四向车放货工位
                        taskceng = int.Parse(waitTask.StartLocate.Substring(4, 2));
                        starLocate = waitTask.StartLocate;
                        endLocate = waitTask.EndRoadway;
@@ -431,7 +432,7 @@
                            if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) != 720)
                            {
                                continue;//放货工位没有读取成功或不是空闲
                            }
                            }
                            var gongwei = carcon.conveyorRuKu[endLocate];
                            //判断任务
@@ -460,7 +461,8 @@
                    #region 获取当前任务所在层所有空闲小车
                    // 获取有任务的小车编号
                    var taskCarList = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.Status == TaskStatusEnum.Wait).Select(m => m.CarNo).Distinct().ToList();
                    //var taskCarList = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.Status == TaskStatusEnum.Wait).Select(m => m.CarNo).Distinct().ToList();
                    var taskCarList = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && (m.Status == TaskStatusEnum.Wait || m.Status == TaskStatusEnum.Doing)).Select(m => m.CarNo).Distinct().ToList();
                    // 获取当前任务所在层所有空闲小车(根据小车任务表是否有任务和小车状态共同判断小车是否空闲)
                    var kXCarList = new List<CarInfo>();
@@ -497,7 +499,13 @@
                                }
                                var modCarPall = plcPosition.FirstOrDefault(s => s.Text == "托盘检测");
                                var (resultPall, valuePall) = modbusUtil.GetDBValue(modCarPall.PosType, modCarPall.PlcPos);
                                if (resultPall.IsSucceed && valuePall  == 1)  //1有托盘 2无托盘
                                //var modCarju = plcPosition.FirstOrDefault(s => s.Text == "举升位置");
                                //var (resultju, valueju) = modbusUtil.GetDBValue(modCarju.PosType, modCarju.PlcPos);
                                //if (resultPall.IsSucceed && valuePall == 1  && resultPall.IsSucceed && valuePall != 1)  //1顶货 2子通道  3主通道
                                //{
                                //    break; //暂缓分配
                                //}
                                if (resultPall.IsSucceed && valuePall == 1)  //1有托盘 2无托盘
                                {
                                    break; //暂缓分配 
                                }