Commit 04c6d1f4 张东亮

料架缓存问题优化

1 个父辈 1a6e71f0
...@@ -197,6 +197,20 @@ namespace DeviceLibrary ...@@ -197,6 +197,20 @@ namespace DeviceLibrary
try try
{ {
AgvInfo agv = AGVManager.agvInfo[i]; AgvInfo agv = AGVManager.agvInfo[i];
//if (agv.CurJob == null)
//{
// Job job = GetJob(agv);
// if (job != null)
// {
// agv.CurJob = job;
// }
//}
//else
//{
// agv.CurJob = agv.CurJob.Execute(agv);
//}
if (!agv.IsCon) continue; //AGV网络连接 if (!agv.IsCon) continue; //AGV网络连接
if (!AGVManager.agvInfo[i].Auto) continue; //AGV是否可用 if (!AGVManager.agvInfo[i].Auto) continue; //AGV是否可用
if (AGVManager.agvInfo[i].StateID.Equals(eAGVState.Error)) if (AGVManager.agvInfo[i].StateID.Equals(eAGVState.Error))
......
...@@ -582,7 +582,7 @@ namespace DeviceLibrary ...@@ -582,7 +582,7 @@ namespace DeviceLibrary
if (agv.TaskRunState.CheckTaskFinished(agv.Name)) if (agv.TaskRunState.CheckTaskFinished(agv.Name))
{ {
//设置任务状态为料架换缓存 //设置任务状态为料架换缓存
MissionManager.SetMissionState(JobParam.GetMissionInfo().missionId, service.model.MissionState.料架缓存, out string msg); MissionManager.SetMissionState(JobParam.GetMissionInfo().missionId, service.model.MissionState.料架缓存_返回, out string msg);
ResetMissionOccupiedAgv(JobParam.GetMissionInfo()); ResetMissionOccupiedAgv(JobParam.GetMissionInfo());
//执行取空成品任务 //执行取空成品任务
Node src = manager.NodeManager.GetNode(SettingString.LIFT_D2, NodeType.Lift); Node src = manager.NodeManager.GetNode(SettingString.LIFT_D2, NodeType.Lift);
......
...@@ -18,8 +18,8 @@ namespace DeviceLibrary.bean.jobType ...@@ -18,8 +18,8 @@ namespace DeviceLibrary.bean.jobType
{ {
public override Job GetNewJob(AgvInfo agv) public override Job GetNewJob(AgvInfo agv)
{ {
if (!agv.IsIdle()) //if (!agv.IsIdle())
return null; // return null;
if (LiftContext.CheckHasEmptyFinished(agv, SettingString.LIFT_D2, out LiftStatus liftStatus)) if (LiftContext.CheckHasEmptyFinished(agv, SettingString.LIFT_D2, out LiftStatus liftStatus))
return null; return null;
service.model.MissionInfo missionInfo = manager.MissionManager.BuffToLiftMission(agv); service.model.MissionInfo missionInfo = manager.MissionManager.BuffToLiftMission(agv);
...@@ -39,11 +39,7 @@ namespace DeviceLibrary.bean.jobType ...@@ -39,11 +39,7 @@ namespace DeviceLibrary.bean.jobType
Common.LogUtil.error($"无法生成任务,电梯不存在:{missionInfo.liftName}"); Common.LogUtil.error($"无法生成任务,电梯不存在:{missionInfo.liftName}");
return null; return null;
} }
//if (TargetIsOccupied(agv, missionInfo.liftName)) if (missionInfo.state.Equals(MissionState.料架缓存))
//{
// return null;
//}
if (missionInfo.state.Equals(MissionState.前往电梯))
{ {
JobParam jobParam = new JobParam(src, dest, null, missionInfo); JobParam jobParam = new JobParam(src, dest, null, missionInfo);
MissionManager.SetMissionOccupied(missionInfo, agv); MissionManager.SetMissionOccupied(missionInfo, agv);
...@@ -58,7 +54,7 @@ namespace DeviceLibrary.bean.jobType ...@@ -58,7 +54,7 @@ namespace DeviceLibrary.bean.jobType
else else
return new LineToLiftJob(jobParam); return new LineToLiftJob(jobParam);
} }
else if (missionInfo.state.Equals(MissionState.返回电梯)) else if (missionInfo.state.Equals(MissionState.料架缓存_返回))
{ {
JobParam jobParam = new JobParam(dest, src, null, missionInfo); JobParam jobParam = new JobParam(dest, src, null, missionInfo);
MissionManager.SetMissionOccupied(missionInfo, agv); MissionManager.SetMissionOccupied(missionInfo, agv);
......
...@@ -279,7 +279,7 @@ namespace DeviceLibrary.manager ...@@ -279,7 +279,7 @@ namespace DeviceLibrary.manager
var missions = GetMissionInfos().Where(w => w.state != MissionState.中止 var missions = GetMissionInfos().Where(w => w.state != MissionState.中止
&& w.state != MissionState.取消 && w.state != MissionState.完成).ToList(); && w.state != MissionState.取消 && w.state != MissionState.完成).ToList();
missionInfo = missions.Find(s => (s.state.Equals(MissionState.料架缓存) && missionInfo = missions.Find(s => ((s.state.Equals(MissionState.料架缓存) || s.state.Equals(MissionState.料架缓存_返回)) &&
agv.Scope.Tasks.Contains(s.projectType.ToString()) agv.Scope.Tasks.Contains(s.projectType.ToString())
)); ));
if (missionInfo != null && AgvCanGetMission(missionInfo)) if (missionInfo != null && AgvCanGetMission(missionInfo))
......
...@@ -223,7 +223,8 @@ namespace DeviceLibrary.service.model ...@@ -223,7 +223,8 @@ namespace DeviceLibrary.service.model
/// </summary> /// </summary>
完成, 完成,
等待成品回收, 等待成品回收,
料架缓存 料架缓存,
料架缓存_返回
} }
/// <summary> /// <summary>
/// 项目类型 /// 项目类型
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!