Commit aeef65a1 张东亮

右侧满,左侧没满。小车不回收料架

1 个父辈 694694fe
......@@ -350,39 +350,6 @@ namespace AGVControl
return true;
}
//tarIdx = Common.nodeInfo.FindIndex(s => s.Name == SettingString.A6 &&
//(s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.IsUse);
//if (tarIdx == -1)
//{
// Common.LogInfo(string.Format("{0} {1}不需要小料架", agv.Name, SettingString.A6));
// //rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission[SettingString.MoveStandby]);
// //if (rtn)
// //{
// // agv.NextPlace = "";
// // agv.TaskSend = rtn ? SettingString.MoveStandby : "";
// // agv.Msg = string.Format("{0} 在{1}已装载小料架,送往{2}", agv.Name, place, SettingString.MoveStandby);
// // Common.LogInfo(string.Format("{0} 在{1}已装载小料架,送往{2}", agv.Name, place, SettingString.MoveStandby));
// //}
//}
//else
//{
// nodeName = SettingString.A6;
// Common.LogInfo(string.Format("{0} {1}需要小料架", agv.Name, SettingString.A6));
// return true;
// //rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission[SettingString.Move + SettingString.A6]);
// //if (rtn)
// //{
// // agv.NextPlace = "";
// // tarNodeName = SettingString.A6;
// // Common.nodeInfo[tarIdx].AgvName = agv.Name;
// // agv.TaskSend = rtn ? SettingString.Move + SettingString.A6 : "";
// // agv.Msg = string.Format("{0} 在{1}已装载小料架,送往{2}", agv.Name, place, SettingString.A6);
// // Common.LogInfo(string.Format("{0} 在{1}已装载小料架,送往{2}", agv.Name, place, SettingString.A6));
// // return true;
// //}
//}
}
else if (shelfType.Equals(eShelfType.BigShelf))
{
......@@ -398,40 +365,6 @@ namespace AGVControl
Common.log.Debug(string.Format("{0} {1}需要大料架", agv.Name, SettingString.A5));
return true;
}
//tarIdx = Common.nodeInfo.FindIndex(s => s.Name == SettingString.A6 &&
//(s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.IsUse);
//if (tarIdx == -1)
//{
// Common.LogInfo(string.Format("{0} {1}不需要大料架", agv.Name, SettingString.A6));
// //rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission[SettingString.MoveStandby]);
// //if (rtn)
// //{
// // agv.NextPlace = "";
// // agv.TaskSend = rtn ? SettingString.MoveStandby : "";
// // agv.Msg = string.Format("{0} 在{1}已装载大料架,送往{2}", agv.Name, place, SettingString.MoveStandby);
// // Common.LogInfo(string.Format("{0} 在{1}已装载大料架,送往{2}", agv.Name, place, SettingString.MoveStandby));
// //}
//}
//else
//{
// nodeName = SettingString.A6;
// Common.LogInfo(string.Format("{0} {1}需要大料架", agv.Name, SettingString.A6));
// return true;
// //rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission[SettingString.Move + SettingString.A6]);
// //if (rtn)
// //{
// // agv.NextPlace = "";
// // tarNodeName = SettingString.A6;
// // Common.nodeInfo[tarIdx].AgvName = agv.Name;
// // agv.TaskSend = rtn ? SettingString.Move + SettingString.A6 : "";
// // agv.Msg = string.Format("{0} 在{1}已装载大料架,送往{2}", agv.Name, place, SettingString.A6);
// // Common.LogInfo(string.Format("{0} 在{1}已装载大料架,送往{2}", agv.Name, place, SettingString.A6));
// // return true;
// //}
//}
}
return false;
......@@ -704,8 +637,6 @@ namespace AGVControl
//双层线是否需要小料架
if (CheckA5State(agv, eShelfType.SmallShelf, out string lineNodeName2))
{
//if (curPlace.Equals(""))//待机位
// {
//4C车间寻找
if (SettingString.C4_AGV_IPs.Contains(agv.IP))
{
......@@ -716,7 +647,18 @@ namespace AGVControl
Common.log.Debug(agv.Name + " 双层线需要小料架,准备去4C-" + nearNodeName);
return true;
}
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.C4FeederOut) && s.RFID.StartsWith("D") && s.IsUse);
if (idx > -1)
{
int idx1 = agvInfo.FindIndex(s => s.CurJob is EnterLeaveShelfJob && ((EnterLeaveShelfJob)s.CurJob).LineName.Equals(SettingString.C4FeederOut));
if (idx1 == -1)
{
nodeName = nodeInfo[idx].Name;
Common.log.Debug(agv.Name + " 双层线左侧需要小料架,准备去4C-" + nodeName);
return true;
}
}
}
//4D车间寻找
......@@ -729,7 +671,44 @@ namespace AGVControl
Common.log.Debug(agv.Name + " 双层线需要小料架,准备去4D-" + nearNodeName);
return true;
}
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.D4FeederOut) && s.RFID.StartsWith("D") && s.IsUse);
if (idx > -1)
{
nodeName = nodeInfo[idx].Name;
Common.log.Debug(agv.Name + " 双层线左侧需要小料架,准备去4D-" + nodeName);
return true;
}
}
}
else if (CheckA5State(agv, eShelfType.BigShelf, out string lineNodeName3))
{
//4C车间寻找
if (SettingString.C4_AGV_IPs.Contains(agv.IP))
{
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.C4FeederOut) && s.RFID.StartsWith("C") && s.IsUse);
if (idx > -1)
{
int idx1 = agvInfo.FindIndex(s => s.CurJob is EnterLeaveShelfJob && ((EnterLeaveShelfJob)s.CurJob).LineName.Equals(SettingString.C4FeederOut));
if (idx1 == -1)
{
nodeName = nodeInfo[idx].Name;
Common.log.Debug(agv.Name + " 双层线左侧需要小料架,准备去4C-" + nodeName);
return true;
}
}
}
//4D车间寻找
if (!SettingString.C4_AGV_IPs.Contains(agv.IP))
{
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.D4FeederOut) && s.RFID.StartsWith("C") && s.IsUse);
if (idx > -1)
{
nodeName = nodeInfo[idx].Name;
Common.log.Debug(agv.Name + " 双层线左侧需要小料架,准备去4D-" + nodeName);
return true;
}
}
}
else if (CheckA6State(agv, eShelfType.BigShelf, out string lineNodeName1))
......@@ -932,7 +911,7 @@ namespace AGVControl
{
double dis = Math.Sqrt(Math.Pow((agv.Position.x - item.position.X), 2) + Math.Pow((agv.Position.y - item.position.Y), 2));
Common.log.Debug(string.Format("{0} 距离{1}={2}", agv.Name, item.Name, dis.ToString("f2")));
if (dis < minDis)
if (dis < minDis && CheckStationState(item, out string rfid))
{
minDis = dis;
nodeName = item.Name;
......
......@@ -51,7 +51,7 @@ namespace AGVControl
Common.control = new BLL.Control();
//获取节点位置
Common.GetNodesPosition();
//Common.GetNodesPosition();
Common.control.Start();
Common.server = new AgvServer();
Common.server.Start();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!