|
|
@@ -342,7 +342,8 @@ namespace WCS.Service.Works.RGV
|
|
|
}
|
|
|
}
|
|
|
// 筛选出有任务号和起始及目标地址的设备
|
|
|
- var devs = pickStation.RGVGetTaskedDevice();
|
|
|
+ var devs = pickStation.Items.Where(v => v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Tasknum > 10000).ToList();
|
|
|
+
|
|
|
//是否需要取货
|
|
|
if (devs != null && devs.Count() > 0)
|
|
|
{
|
|
|
@@ -373,11 +374,18 @@ namespace WCS.Service.Works.RGV
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
- int needToMove = obj.RGVList.Count(v => v.Data2.TaskType_1 == RGVTaskType.放货 && v.Position > StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G19").Location && v.Position < StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G23").Location);
|
|
|
- if (pickStation.Entity.CODE == "G23" && needToMove >= 2)
|
|
|
+ bool needToMove = obj.RGVList.Any(v => v.Data2.TaskType_1 == RGVTaskType.移动
|
|
|
+ && (v.Data2.Status_1.HasFlag(WCS.Entity.Protocol.RGVStatus.光电) || v.Data2.Status_2.HasFlag(WCS.Entity.Protocol.RGVStatus.光电))
|
|
|
+ && v.Position > StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G19").Location
|
|
|
+ && v.Position < StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G23").Location);
|
|
|
+ if (pickStation.Entity.CODE == "G23" && needToMove)
|
|
|
{
|
|
|
- obj.Move(Device.Find("G19").Create<StationDeviceGroup>());
|
|
|
- return;
|
|
|
+ var devList = Device.Find("1155", "1154", "1163", "1162", "1152", "1153", "1157", "1158").Select(v => v.Create<StationDevice>());
|
|
|
+ if (devList.Any(v => v.Data2.Status.HasFlag(IstationStatus.光电状态) || v.Data2.Tasknum > 10000))
|
|
|
+ {
|
|
|
+ obj.Move(Device.Find("G19").Create<StationDeviceGroup>());
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
//计算当前RGV拦住小车的数量
|
|
|
var max = obj.RGVList.Count(v => v.Data2.WorkMode == RGVMode.自动 && v.Data2.SystemStatus != RGVRunStatus.空闲 && obj.StopedByMe(v));
|