e08b5acf44a49d5d6cecf27d0856539eb9bceba3..d738f3701dbcbd7e29c1d200a74d446b435e296f
2025-09-06 Administrator
修改问题
d738f3 对比 | 目录
2025-09-06 wxw
修改问题
c94155 对比 | 目录
2025-09-06 wxw
修改问题
087b95 对比 | 目录
2025-09-06 Administrator
修改问题
ff013e 对比 | 目录
2个文件已修改
25 ■■■■ 已修改文件
Admin.NET/WCS.Application/PLC/PLCService.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -41,10 +41,10 @@
                    AGV(mod);                                       // AGV调度
                    break;
                case PLCTypeEnum.ShuttleCar: //穿梭车
                    //if (mod.PlcIdIP == "10.26.254.28")
                    //{
                    //    break;
                    //}
                    if (mod.PlcIdIP == "10.26.254.25")
                    {
                        break;
                    }
                    ShuttleCar(mod);
                    break;
                case PLCTypeEnum.RobotPalletizer:
@@ -210,7 +210,19 @@
                            }
                            //获取路径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.CarTaskNo > valueTaskStr && 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 && m.CarTaskNo != valueTaskStr).OrderBy(m => m.CreateTime).First();
                            if (carTaskNext != null)
                            {
                                if (carTaskNext.CarTaskNo < valueTaskStr)
                                {
                                    carTaskNext.Status = TaskStatusEnum.Complete;
                                    carTaskNext.UpdateTime = DateTime.Now;
                                    _db.Updateable(carTaskNext).ExecuteCommand();
                                    carTaskNext = null;
                                    Log.Error($"四向车第一条子任务没自动完成:{carTaskNext.TaskNo}");
                                }
                            }
                            //总任务下没有其他未执行小车的任务 变更总任务信息
                            if (carTaskNext == null && modFinshTask != null && modFinshTask.Status != TaskStatusEnum.Complete)
                            {
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -461,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>();