Commit 4e013e46 张东亮

重启充电任务是-1问题

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