Commit 35a0bc87 张东亮

增加invalid状态控制

1 个父辈 17bd5b24
......@@ -30,6 +30,7 @@ namespace AGVControl
public const string Wait = "Wait";
public const string Done = "Done";
public const string Aborted = "Aborted";
public const string Invalid = "Invalid";
public const string AutoCharge = "AutoCharge";
public const string Executing = "Executing";
......@@ -582,7 +583,7 @@ namespace AGVControl
if (loc.StartsWith(SettingString.C4_Name_Prefix) && SettingString.C4_AGV_IPs.Contains(agv.IP))
{
nodeName = loc;
//Common.LogInfo("双层线正在出的工单目标产线有空料架,优先处4C-" + loc);
Common.log.Debug("双层线正在出的工单目标产线有空料架,优先处4C-" + loc);
return true;
}
else if (loc.StartsWith(SettingString.D4_Name_Prefix) && !SettingString.C4_AGV_IPs.Contains(agv.IP))
......@@ -606,6 +607,9 @@ namespace AGVControl
//4C车间寻找
if (SettingString.C4_AGV_IPs.Contains(agv.IP))
{
List<Agv_Info> agvs = Common.agvInfo.FindAll(s => SettingString.C4_AGV_IPs.Contains(s.IP) && (s.CurJob is EmptyShelfBackJob || s.CurJob is GoEmptyShelfLineJob));
if (agvs != null && agvs.Count > 1)
return false;
string nearNodeName = CalculateNearNode(agv, SettingString.C4_Name_Prefix);
if (nearNodeName.Equals(""))
{
......@@ -619,6 +623,9 @@ namespace AGVControl
//4D车间寻找
if (!SettingString.C4_AGV_IPs.Contains(agv.IP))
{
List<Agv_Info> agvs = Common.agvInfo.FindAll(s => !SettingString.C4_AGV_IPs.Contains(s.IP) && (s.CurJob is EmptyShelfBackJob || s.CurJob is GoEmptyShelfLineJob));
if (agvs != null && agvs.Count > 1)
return false;
string nearNodeName = CalculateNearNode(agv, SettingString.D4_Name_Prefix);
if (nearNodeName.Equals(""))
{
......
......@@ -52,7 +52,7 @@ namespace AGVControl
bool rtn = false;
if (!CurTaskID.Equals(-1) && Common.mir.Get_Task_State(CurTaskID, out string stateStr))
{
if (stateStr.Equals(SettingString.Aborted))
if (stateStr.Equals(SettingString.Aborted) || stateStr.Equals(SettingString.Invalid))
{
rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission[CurTaskName]);
if (rtn)
......
......@@ -56,9 +56,8 @@ namespace AGVControl
CurTaskState = Common.GetTakJobState(CurTaskID);
if (EmptyAGVBackStep.IsStep(EMPTY_AGV_BACK_STEP.NONE))
{
if (Common.FindEmptyShelfNode(agv, out string nodeName, true))
{
{
int i = Common.agvInfo.FindIndex(s => s.CurJob is GoEmptyShelfLineJob && ((GoEmptyShelfLineJob)s.CurJob).EmptyShelfPlace.Equals(nodeName));
if (i == -1)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!