|
@@ -171,15 +171,15 @@ namespace WCS.Service.Works.RGV
|
|
|
|
|
|
if (rgvDevice.RGVList.Count != 6)//有小车进入维修站时启用该逻辑,避免在正常使用时影响效率
|
|
|
{
|
|
|
- var station11 = rgvDevice.LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组)).Where(v => v.RGVGetTaskedDevice().Any())
|
|
|
- .Where(v => v.CurrentRGV() == null).MinBy(rgvDevice.Distance);
|
|
|
-
|
|
|
- //该站台到当前小车的范围中没有车
|
|
|
- if (rgvDevice.RGVList.Any(v => station11!.Position <= v.Position && rgvDevice.Position > v.Position))
|
|
|
- {
|
|
|
- rgvDevice.Move(station11);
|
|
|
- return;
|
|
|
- }
|
|
|
+ //var station11 = rgvDevice.LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组)).Where(v => v.RGVGetTaskedDevice().Any())
|
|
|
+ // .Where(v => v.CurrentRGV() == null).MinBy(rgvDevice.Distance);
|
|
|
+
|
|
|
+ ////该站台到当前小车的范围中没有车
|
|
|
+ //if (rgvDevice.RGVList.Any(v => station11!.Position <= v.Position && rgvDevice.Position > v.Position))
|
|
|
+ //{
|
|
|
+ // rgvDevice.Move(station11);
|
|
|
+ // return;
|
|
|
+ //}
|
|
|
}
|
|
|
else if (pickStation.Entity.CODE == "G9")
|
|
|
{
|
|
@@ -203,7 +203,7 @@ namespace WCS.Service.Works.RGV
|
|
|
{
|
|
|
case "G2":
|
|
|
{
|
|
|
- if (rgvDevice.RGVList.Count == 6) break;
|
|
|
+ if (rgvDevice.RGVList.Count != 6) break;
|
|
|
//此站台因需要进行排队,因此是否需要赶车取决于是否拦住了两个小车的任务
|
|
|
var afterRgv1 = afterRgv.After();
|
|
|
//如果是空闲或者没有拦住他,就不执行赶车
|
|
@@ -212,6 +212,7 @@ namespace WCS.Service.Works.RGV
|
|
|
}
|
|
|
case "G3":
|
|
|
{
|
|
|
+ if (rgvDevice.RGVList.Count != 6) break;
|
|
|
//为了减少空跑,需要被阻拦的小车后面的小车任务类型为移动并且位置值要大于618500小于被阻拦小车的位置值
|
|
|
var afterRgv1 = afterRgv.After();
|
|
|
if (afterRgv1.Data2.WorkMode == RGVMode.自动 && afterRgv.Data2.TaskType_1 != RGVTaskType.移动 && !(afterRgv1.Position < afterRgv.Position && afterRgv1.Position > 618500)) return;
|
|
@@ -396,4 +397,4 @@ namespace WCS.Service.Works.RGV
|
|
|
return dev.Is(DF.BOPPRGV);
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|