Commit 94444c72 张东亮

大料架只放到左侧下层

1 个父辈 b8cdb476
......@@ -53,7 +53,7 @@ namespace AGVControl
MissionSys.AssignMission(Agv, SettingString.Init);
}
//AGVManager.Standby.DelOccupyInfo(Agv);
LogUtil.info($"{Agv.Name} 切换为手动模式");
}
else
{
......@@ -77,6 +77,7 @@ namespace AGVControl
Agv.Resend();
}
LogUtil.info($"{Agv.Name} 切换为自动模式");
}
Agv.IsUse = chkBxAuto.Checked;
}));
......
......@@ -22,7 +22,7 @@ namespace DeviceLibrary
//不为空,且与上一个消息不一样才打印
if (!value.Equals(msg))
{
//LogUtil.info(value);
LogUtil.info(value);
}
}
msg = value;
......
......@@ -38,7 +38,7 @@ namespace DeviceLibrary
/// </summary>
public override string RunInfo
{
get { return string.Format("回收空料架[RFID={0}][{1}]:{2}",RFID, CurTaskID, runInfo); }
get { return string.Format("回收空料架[RFID={0}][{1}]:{2}", RFID, CurTaskID, runInfo); }
}
......@@ -53,6 +53,7 @@ namespace DeviceLibrary
string msg = string.Format("{0} 回收空料架[RFID={1}]: ", agv.Name, RFID);
//bool rtn = false;
StartJobTime = curJobStep.startTime;
agv.RFID = RFID;
int nodeIdx = AGVManager.FindNode(EmptyShelfPlace);
if (curJobStep.IsStep(TAKE_EMPTY_STEP.NONE))
{
......@@ -63,7 +64,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorAirOut);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else if (!AGVManager.CheckIsInAirDoor(agvPlae) && AGVManager.CheckIsInAirDoor(EmptyShelfPlace))//4C风淋门外->风淋门内
{
......@@ -76,7 +77,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
AGVManager.MoveToRoomCStandy(agv);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else
{
......@@ -85,7 +86,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorAirIn);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
}
else if ((agvPlae.StartsWith(SettingString.RoomD_Name_Prefix) || agvPlae.StartsWith(SettingString.DoubleLine_Name_Prefix) || agvPlae.Equals(SettingString.Standby) ||
......@@ -97,7 +98,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorDToC);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
}
else//起始与目的地在风淋门同一侧
......@@ -111,7 +112,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorAirOut);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else
{
......@@ -132,7 +133,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
AGVManager.MoveToRoomCStandy(agv);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else
{
......@@ -149,7 +150,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorCToD);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else if ((agvPlae.StartsWith(SettingString.RoomD_Name_Prefix) || agvPlae.StartsWith(SettingString.DoubleLine_Name_Prefix) || agvPlae.Equals(SettingString.Standby) ||
agvPlae.Equals(SettingString.AutoCharge))
......@@ -160,7 +161,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorDToC);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else//4D->4D
......@@ -190,7 +191,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
AGVManager.MoveToRoomCStandy(agv);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else
{
......@@ -207,7 +208,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorCToD);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
//都在风淋门内,到达风淋门外
else
......@@ -217,7 +218,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
AGVManager.MoveToRoomCStandy(agv);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
}
}
......@@ -246,7 +247,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
AGVManager.MoveToRoomCStandy(agv);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else
{
......@@ -257,7 +258,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, SettingString.DoorAirIn);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else
{
......@@ -308,7 +309,7 @@ namespace DeviceLibrary
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
MissionSys.AssignMission(agv, EmptyShelfPlace);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
else
{
......@@ -356,7 +357,6 @@ namespace DeviceLibrary
return this;
}
ClientNode node = AGVManager.nodeInfo[nodeIdx];
agv.RFID = node.RFID;
AGVManager.server.ReadyLeave(EmptyShelfPlace);
}
......@@ -372,7 +372,6 @@ namespace DeviceLibrary
return this;
}
ClientNode node = AGVManager.nodeInfo[nodeIdx];
agv.RFID = node.RFID;
if (node.StateEquals(eNodeStatus.MayLeave))
{
agv.HasError = false;
......@@ -385,7 +384,7 @@ namespace DeviceLibrary
curJobStep.Msg = msg;
//agv.RFID = node.RFID;
MissionSys.AssignMission(agv, SettingString.Enter);
UpdateJobTaskInfo(agv);
UpdateJobTaskInfo(agv);
}
}
......@@ -410,14 +409,11 @@ namespace DeviceLibrary
runInfo = "空料架在[" + EmptyShelfPlace + "]进入小车完成" + "[RFID=" + RFID + "]";
msg += string.Format("[{0}] {1}", curJobStep.CurStep(), runInfo);
curJobStep.Msg = msg;
//4DfeederOut默认大料架
// if (agv.Place.Equals(SettingString.RoomDFeederOut))
// return new EmptyShelfBackJob(EmptyShelfPlace, eShelfType.BigShelf);
RecordRunLog(agv, curJobStep.CurStep(), runInfo, agv.Place);
if (agv.RFID.StartsWith("D"))
if (RFID.StartsWith("D"))
return new EmptyShelfBackJob(EmptyShelfPlace, eShelfType.SmallShelf);
else if (agv.RFID.StartsWith("C"))
else if (RFID.StartsWith("C"))
{
return new EmptyShelfBackJob(EmptyShelfPlace, eShelfType.BigShelf);
}
......
......@@ -238,9 +238,9 @@ namespace DeviceLibrary
&& (s.StateEquals(eNodeStatus.NeedD) || s.StateEquals(eNodeStatus.NeedEnter)) && s.IsUse);
if (tarIdx > -1)
{
tarIdx = agvInfo.FindIndex(s => !s.IP.Equals(agv.IP) && s.CurJob != null && s.CurJob is EmptyShelfBackJob
&& ((((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace) != null) && ((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace.Equals(SettingString.A5));
if (tarIdx == -1)
//tarIdx = agvInfo.FindIndex(s => !s.IP.Equals(agv.IP) && s.CurJob != null && s.CurJob is EmptyShelfBackJob
//&& ((((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace) != null) && ((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace.Equals(SettingString.A5));
//if (tarIdx == -1)
{
nodeName = SettingString.A5;
log.Debug(string.Format("{0} {1}需要小料架", agv.Name, SettingString.A5));
......@@ -270,9 +270,9 @@ namespace DeviceLibrary
&& (s.StateEquals(eNodeStatus.NeedC) || s.StateEquals(eNodeStatus.NeedEnter)) && s.IsUse);
if (tarIdx > -1)
{
tarIdx = agvInfo.FindIndex(s => !s.IP.Equals(agv.IP) && s.CurJob != null && s.CurJob is EmptyShelfBackJob
&& ((((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace) != null) && ((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace.Equals(SettingString.A5));
if (tarIdx == -1)
//tarIdx = agvInfo.FindIndex(s => !s.IP.Equals(agv.IP) && s.CurJob != null && s.CurJob is EmptyShelfBackJob
// && ((((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace) != null) && ((EmptyShelfBackJob)s.CurJob).EmptyShelfTargetPlace.Equals(SettingString.A5));
//if (tarIdx == -1)
{
nodeName = SettingString.A5;
log.Debug(string.Format("{0} {1}需要大料架", agv.Name, SettingString.A5));
......@@ -551,18 +551,18 @@ namespace DeviceLibrary
if (idx > -1)
{
nodeName = nodeInfo[idx].Name;
log.Debug(agv.Name + " 双层线右侧需要料架,准备去4C-" + nodeName);
log.Debug(agv.Name + " 双层线左侧需要大料架,准备去4C-" + nodeName);
return true;
}
}
//4D车间备料区寻找
if (!SettingString.RoomC_AGV_IPs.Contains(agv.IP))
{
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.RoomDFeederOut) && !s.RFID.StartsWith("C") && s.IsUse);
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.RoomDFeederOut) && s.RFID.StartsWith("C") && s.IsUse);
if (idx > -1)
{
nodeName = nodeInfo[idx].Name;
log.Debug(agv.Name + " 双层线右侧需要料架,准备去4D-" + nodeName);
log.Info(agv.Name + " 双层线左侧需要大料架,准备去4D-" + nodeName);
return true;
}
......@@ -590,11 +590,11 @@ namespace DeviceLibrary
//4D车间备料区寻找
if (!SettingString.RoomC_AGV_IPs.Contains(agv.IP))
{
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.RoomDFeederOut) && !s.RFID.StartsWith("0") && s.IsUse);
idx = nodeInfo.FindIndex(s => s.EmptyShelfCnt > 0 && s.Name.Equals(SettingString.RoomDFeederOut) && s.RFID.StartsWith("D") && s.IsUse);
if (idx > -1)
{
nodeName = nodeInfo[idx].Name;
log.Debug(agv.Name + " 双层线右侧需要料架,准备去4D-" + nodeName);
log.Info(agv.Name + " 双层线右侧需要料架,准备去4D-" + nodeName);
return true;
}
......@@ -866,6 +866,7 @@ namespace DeviceLibrary
/// AGV编号
/// </summary>
public string AGVNum { get; set; } = "";
public string DeviceName { get; set; } = "";
/// <summary>
/// 任务名称
/// </summary>
......@@ -942,6 +943,7 @@ namespace DeviceLibrary
agvname = value.PadLeft(4, '0');
}
}
public string DeviceName { get; set; } = "";
private string agvname = "";
/// <summary>
/// 开始时间
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!