Commit 98db4f3b 张东亮

待机点获取过枫林们任务不过门以及台车项目调用正确任务

1 个父辈 5fad85aa
......@@ -234,11 +234,18 @@ namespace DeviceLibrary
public void PutLiftShelfOn(AgvInfo agv, string nodeName)
{
if (JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车归还) ||
JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车领用))
if ((JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车归还) ||
JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车领用))&&
(!JobParam.GetMissionInfo().needBack))
{
AllocateTask(agv, $"{SettingString.PutShelfOn}_{nodeName}{SettingString._Big}");
}
else if((JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车归还) ||
JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车领用)) &&
(JobParam.GetMissionInfo().needBack))
{
AllocateTask(agv, $"{SettingString.PutShelfOn}_{nodeName}");
}
else if (JobParam.GetMissionInfo().projectType.Equals(ProjectType.半成品入库与领用)
&& !JobParam.GetMissionInfo().needBack)
{
......@@ -274,11 +281,16 @@ namespace DeviceLibrary
{
AllocateTask(agv, $"{SettingString.PutShelfOn}_{nodeName}");
}
else if (missionInfo.projectType.Equals(ProjectType.空台车归还) ||
missionInfo.projectType.Equals(ProjectType.空台车领用))
else if ((missionInfo.projectType.Equals(ProjectType.空台车归还) ||
missionInfo.projectType.Equals(ProjectType.空台车领用)) && !missionInfo.needBack)
{
AllocateTask(agv, $"{SettingString.PutShelfOn}_{nodeName}{SettingString._Big}");
}
else if ((missionInfo.projectType.Equals(ProjectType.空台车归还) ||
missionInfo.projectType.Equals(ProjectType.空台车领用))&& (missionInfo.needBack))
{
AllocateTask(agv, $"{SettingString.PutShelfOn}_{nodeName}");
}
else if (missionInfo.projectType.Equals(ProjectType.半成品入库与领用)
&& !missionInfo.needBack)
{
......@@ -348,8 +360,8 @@ namespace DeviceLibrary
/// <param name="agv"></param>
public void PutShelfOn(AgvInfo agv)
{
if (JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车归还) ||
JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车领用))
if ((JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车归还) ||
JobParam.GetMissionInfo().projectType.Equals(ProjectType.空台车领用)) &&(!JobParam.GetMissionInfo().needBack) )
{
AllocateTask(agv, $"{SettingString.PutShelfOn}{SettingString._Big}");
}
......@@ -386,8 +398,8 @@ namespace DeviceLibrary
{
if (missionInfo != null)
{
if (missionInfo.projectType.Equals(ProjectType.空台车归还) ||
missionInfo.projectType.Equals(ProjectType.空台车领用))
if ((missionInfo.projectType.Equals(ProjectType.空台车归还) ||
missionInfo.projectType.Equals(ProjectType.空台车领用))&&(!missionInfo.needBack))
{
AllocateTask(agv, $"{SettingString.PutShelfOn}{SettingString._Big}");
}
......@@ -524,10 +536,9 @@ namespace DeviceLibrary
if (JobParam.GetMissionInfo() != null)
{
MissionInfo missionInfo = JobParam.GetMissionInfo();
service.model.ProjectType type = JobParam.GetMissionInfo().projectType;
if (type.Equals(service.model.ProjectType.空台车领用) ||
type.Equals(service.model.ProjectType.空台车归还) ||
(!missionInfo.needBack))
//service.model.ProjectType type = JobParam.GetMissionInfo().projectType;
if ((!missionInfo.needBack))//(type.Equals(service.model.ProjectType.空台车领用) && !missionInfo.needBack) ||
//(type.Equals(service.model.ProjectType.空台车归还) && !missionInfo.needBack) ||
{
return false;
}
......
......@@ -11,6 +11,7 @@ using static DeviceLibrary.Node;
using System.Runtime.CompilerServices;
using static System.Net.Mime.MediaTypeNames;
using System.Runtime.ConstrainedExecution;
using log4net.Util;
namespace DeviceLibrary.manager
{
......@@ -208,7 +209,7 @@ namespace DeviceLibrary.manager
static void InitLinesInAirShower()
{
//添加3D的
linesInAirShower.Add("3D", new List<string>() { "S1Tail" });
linesInAirShower.Add("3D", new List<string>() { "S3Tail" });
//添加4C的
linesInAirShower.Add("4C", new List<string>() { "C14Tail", "C15Tail" });
}
......@@ -223,46 +224,77 @@ namespace DeviceLibrary.manager
isIn = true;
isAirDoor = false;
if (agv.Scope.Workshop.Equals("1F")) return false;
return false;
//return false;
try
{
if (cur == null) cur = agv.Place;
if (next == null) next = agv.Place;
if (!cur.Workshop.Equals(next.Workshop))
{
if (cur.Equals("4D") && next.Workshop.Equals("4C"))
{
return true;
}
else if (cur.Workshop.Equals("4C") && next.Workshop.Equals("4D"))
{
isIn = false;
return true;
}
}
else//在相同车间
//if (!cur.Workshop.Equals(next.Workshop))
//{
// if (cur.Equals("4D") && next.Workshop.Equals("4C"))
// {
// return true;
// }
// else if (cur.Workshop.Equals("4C") && next.Workshop.Equals("4D"))
// {
// isIn = false;
// return true;
// }
//}
//else//在相同车间
{
if (linesInAirShower.ContainsKey(cur.Workshop))//当前点在风淋门内
if(cur.Type.Equals(NodeType.Lift) || cur.Type.Equals(NodeType.Standby) || cur.Type.Equals(NodeType.AutoCharge))
{
if (linesInAirShower.ContainsKey(next.Workshop))//目标点在风淋门内
if(linesInAirShower.ContainsKey(next.Workshop)&& linesInAirShower[next.Workshop].Contains(next.Name))
{
return false;
//电梯到风淋门内
isAirDoor = true;
isIn = true;
return true;
}
else//目标点在风淋门外
}
else if(next.Type.Equals(NodeType.Lift) || next.Type.Equals(NodeType.Standby) || next.Type.Equals(NodeType.AutoCharge))
{
if (linesInAirShower.ContainsKey(cur.Workshop) && linesInAirShower[cur.Workshop].Contains(cur.Name))
{
//风淋门内到电梯
isAirDoor = true;
isIn = false;
return true;
}
}
else//当前点在风淋门外
else if(cur.Type.Equals(NodeType.Node) && next.Type.Equals(NodeType.Node))
{
if (linesInAirShower.ContainsKey(next.Workshop))//目标点在风淋门内
if (linesInAirShower.ContainsKey(cur.Workshop) && linesInAirShower.ContainsKey(next.Workshop))
{
isAirDoor = true;
return true;
if (linesInAirShower[cur.Workshop].Contains(cur.Name))//当前点在风淋门内
{
if (linesInAirShower[next.Workshop].Contains(next.Name))//目标点在风淋门内
{
return false;
}
else//目标点在风淋门外
{
isAirDoor = true;
isIn = false;
return true;
}
}
else//当前点在风淋门外
{
if (linesInAirShower[next.Workshop].Contains(next.Name))//目标点在风淋门内
{
isAirDoor = true;
return true;
}
else//目标点在风淋门外
{
return false;
}
}
}
else//目标点在风淋门外
else
{
return false;
}
......@@ -298,7 +330,7 @@ namespace DeviceLibrary.manager
}
catch (Exception ex)
{
LogUtil.error("NeedCrossDoor", ex);
LogUtil.error("NeedCrossTwoDoor", ex);
}
return false;
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!