|
@@ -70,8 +70,12 @@ namespace WCS.Service.Works.Station
|
|
|
agvtask.Status = AGVTaskStatus.执行;
|
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
|
}
|
|
|
+ //agv到达指定位置给确认后分配站台
|
|
|
else if (agvtask.Status == AGVTaskStatus.执行 && agvtask.AGVStatus== AGVTaskStatus.确认 && string.IsNullOrEmpty(agvtask.Station))
|
|
|
{
|
|
|
+ //判断提升机是否被禁用
|
|
|
+ obj.BcrStationIsForbid();
|
|
|
+
|
|
|
if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.自动)))
|
|
|
{
|
|
|
InfoLog.INFO_INFO($"{station}手动状态");
|
|
@@ -135,14 +139,36 @@ namespace WCS.Service.Works.Station
|
|
|
InfoLog.INFO_WarnDb("上一个允许放货的AGV任务未完成", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
- var judge = Device.Find("1435").Device<IStation521>();
|
|
|
- if (judge.Data.Status.HasFlag(IstationStatus.光电状态)&& obj.Entity.CODE=="G1394")
|
|
|
+ //判断1435扫码位置条件
|
|
|
+ var judge = Device.Find("1435").Device<IStation520,IStation521,IStation523>();
|
|
|
+ if (obj.Entity.CODE == "G1394")
|
|
|
{
|
|
|
- InfoLog.INFO_WarnDb("前方有光电,不可放货", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
|
|
|
- continue;
|
|
|
- }
|
|
|
+ if (judge.Data3.Status.HasFlag(StationStatus.自动))
|
|
|
+ {
|
|
|
+ InfoLog.INFO_INFO("不在自动状态1435");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (judge.Data3.Status.HasFlag(StationStatus.运行状态位))
|
|
|
+ {
|
|
|
+ InfoLog.INFO_INFO("设备运行中1435");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
+ //判断是否有货
|
|
|
+ if (judge.Data2.Status.HasFlag(IstationStatus.光电状态))
|
|
|
+ {
|
|
|
+ InfoLog.INFO_WarnDb("前方有光电,不可放货", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (judge.Data2.Tasknum > 0)
|
|
|
+ {
|
|
|
+ InfoLog.INFO_WarnDb("已 有WCS任务号", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
agvtask.Status = agvtask.AGVStatus;
|
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
@@ -220,7 +246,11 @@ namespace WCS.Service.Works.Station
|
|
|
//设备组无论单卷还是双卷都必须满足的条件
|
|
|
if (obj.Items.Any(v => v.Data.VoucherNo != v.Data2.VoucherNo)) throw new WarnException($"等待任务执行--凭证号不一致");
|
|
|
if (obj.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.运行状态位))) throw new WarnException($"设备运行中");
|
|
|
- //if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.低位))) throw new DoException("不在低位");
|
|
|
+
|
|
|
+ if (obj.Entity.CODE == "G1386")
|
|
|
+ {
|
|
|
+ if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.低位))) throw new DoException("不在低位");
|
|
|
+ }
|
|
|
|
|
|
//成功创建的任务
|
|
|
var finishTaskList = new List<FinishTaskList<int>>();
|