Commit 4e013e46 张东亮

重启充电任务是-1问题

1 个父辈 d5d29041
......@@ -151,13 +151,18 @@ namespace AGV_UI
{
if (!IsHandleCreated)
return;
object[] objs = Manager.SetAGVState(curState);
this.Invoke(new Action(() =>
try
{
lblAGVState.Text = objs[0] as string;
lblAGVState.Image = objs[1] as Image;
object[] objs = Manager.SetAGVState(curState);
this.Invoke(new Action(() =>
{
lblAGVState.Text = objs[0] as string;
lblAGVState.Image = objs[1] as Image;
}
));
}
));
catch { }
}
}
......
......@@ -62,7 +62,6 @@ namespace DeviceLibrary.manager
iOInfo.IOID = item.InnerText;
agv_Info.IOStatus.Add(iOInfo);
}
agv_Info.StartTimer();
agv_Infos.Add(agv_Info);
}
xmlReader.Close();
......
......@@ -157,7 +157,7 @@ namespace DeviceLibrary
try
{
AgvInfo agv = AGVManager.agvInfo[i];
//if (!agv.IsCon) continue; //AGV网络连接
if (!agv.IsCon) continue; //AGV网络连接
if (!AGVManager.agvInfo[i].Auto) continue; //AGV是否可用
if (AGVManager.agvInfo[i].StateID.Equals(eAGVState.Error))
{
......
......@@ -363,8 +363,11 @@ namespace DeviceLibrary
{
if (!MiR_API.Get_MissionByDescrp(this))
{
LogUtil.info($"{Name}:Task=-1处理,Fleet无任务,重发任务:{TaskRunState.Task.Name}");
CurJob.ResendTask(this);
if(AgvTaskManager.IsExistTask(TaskRunState.Task.Name, this))
{
LogUtil.info($"{Name}:Task=-1处理,Fleet无任务,重发任务:{TaskRunState.Task.Name},{TaskRunState.Task.Guid}");
CurJob?.ResendTask(this);
}
}
else
{
......
......@@ -464,10 +464,10 @@ namespace DeviceLibrary
}
}
protected void AllocateTask(AgvInfo agv, ChargePile chargePile)
protected bool AllocateTask(AgvInfo agv, ChargePile chargePile)
{
Task = new AgvTask() { AliceName = chargePile.AliceName, Name = chargePile.Name, Guid = chargePile.Guid };
AgvTaskManager.AssignMission(agv, chargePile, Task);
return AgvTaskManager.AssignMission(agv, chargePile, Task);
}
protected void ToStandby(AgvInfo agv)
{
......
......@@ -105,6 +105,7 @@ namespace DeviceLibrary
{
if (!sysClients.Contains(item.Client))
sysClients.Add(item.Client);
item.StartTimer();
}
}
/// <summary>
......
......@@ -86,6 +86,13 @@ namespace DeviceLibrary
LogUtil.error($"{agv.Name}任务名{name}不存在,请检查配置文件!");
return new AgvTask();
}
public static bool IsExistTask(string name,AgvInfo agv)
{
AgvTask task = AgvTasks.Find(s => s.Name.Equals(name) && agv.FleetIP.Equals(s.TypeId));
if (task != null)
return true;
return false;
}
public static AgvTask GetTaskByAliceName(string aliceName)
{
AgvTask mission = AgvTasks.Find(s => s.AliceName.Equals(aliceName));
......@@ -135,7 +142,7 @@ namespace DeviceLibrary
if (!agv.IsCon)
{
agv.TaskRunState.ResetInfo();
if (agv.TaskRunState.CheckTaskExist(task))
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 离线,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
......@@ -171,7 +178,7 @@ namespace DeviceLibrary
agv.StateKanban.SetCurTask(agv.TaskRunState.ToTaskShowInfo());
if (!rtn)
{
if (agv.TaskRunState.CheckTaskExist(task))
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 发送失败,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
......@@ -192,7 +199,7 @@ namespace DeviceLibrary
if (!agv.IsCon)
{
agv.TaskRunState.ResetInfo();
if (agv.TaskRunState.CheckTaskExist(task))
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 离线,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
......@@ -228,7 +235,7 @@ namespace DeviceLibrary
agv.StateKanban.SetCurTask(agv.TaskRunState.ToTaskShowInfo());
if (!rtn)
{
if (agv.TaskRunState.CheckTaskExist(task))
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 发送失败,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!