Commit b5fe394f 张东亮

1

1 个父辈 6df6eeae
......@@ -78,6 +78,7 @@ namespace AGVControl
catch { }
}));
}
DateTime manualTime = DateTime.Now;
private void chkBxAuto_CheckedChanged(object sender, EventArgs e)
{
if (!isIni) return;
......@@ -128,11 +129,15 @@ namespace AGVControl
{
LogUtil.error($"切换到手动异常", ex);
}
manualTime = DateTime.Now;
//添加Init任务
AgvTaskManager.AssignMission(Agv, $"{SettingString.Init}");
}
else if ((DateTime.Now - manualTime).TotalSeconds < 5)
{
chkBxAuto.Checked=false;
}
else
{
if (Agv.IsExistShelf && Agv.CurJob == null)
......
......@@ -95,6 +95,7 @@
<Compile Include="bean\jobType\LineToLineJobType.cs" />
<Compile Include="bean\jobType\RecoveryJobType.cs" />
<Compile Include="bean\jobType\LineOneToManyJobType.cs" />
<Compile Include="bean\jobType\ToLiftGetShelfJobType.cs" />
<Compile Include="bean\job\ChargeJob.cs" />
<Compile Include="bean\job\F1LiftC1ToLiftD2Job.cs" />
<Compile Include="bean\job\F1LiftD2ToLiftC1Job.cs" />
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DeviceLibrary.bean.jobType
{
/// <summary>
/// 目标车间小车执行接料架任务
/// </summary>
internal class ToLiftGetShelfJobType:JobType
{
public override Job GetNewJob(AgvInfo agv)
{
return null;
}
bool OtherAgvEexcuteTheJob(string liftname)
{
return false;
}
}
}
......@@ -213,6 +213,16 @@ namespace DeviceLibrary
agv.CurJob = recoveryJobType.GetNewJob(agv);
if (agv.CurJob != null && (agv.CurJob is StandyJob || agv.CurJob is ChargeJob))
{
try
{
agv.Auto = false;
agv.CurJob = null;
agv.Place = new Node();
agv?.TaskRunState?.ResetInfo();
agv.JobContext = new DeviceLibrary.bean.agv.JobContext();
}
finally { }
continue;
}
LogUtil.info($"读取并使用{agv.Name}上下文信息:{JsonHelper.SerializeObject(info)}");
......
......@@ -86,7 +86,7 @@ namespace DeviceLibrary
LogUtil.error($"{agv.Name}任务名{name}不存在,请检查配置文件!");
return new AgvTask();
}
public static bool IsExistTask(string name,AgvInfo agv)
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)
......@@ -127,10 +127,10 @@ namespace DeviceLibrary
if (node != null)
break;
}
}
}
}
if (task != null&& !string.IsNullOrEmpty(task.Guid))
if (task != null && !string.IsNullOrEmpty(task.Guid))
{
agv.TaskRunState.Task = task;
if (node != null)
......@@ -144,8 +144,12 @@ namespace DeviceLibrary
agv.TaskRunState.ResetInfo();
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 离线,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
if(agv.Auto)
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 离线,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
}
}
return false;
}
......@@ -169,7 +173,7 @@ namespace DeviceLibrary
if (rtn)
{
LogUtil.info(string.Format("{0} Add Mission[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
}
else
{
LogUtil.info(string.Format("{0} AddMission[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
......@@ -180,8 +184,12 @@ namespace DeviceLibrary
{
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 发送失败,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
if(agv.Auto)
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 发送失败,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
}
}
}
}
......@@ -201,8 +209,12 @@ namespace DeviceLibrary
agv.TaskRunState.ResetInfo();
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 离线,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
if(agv.Auto)
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 离线,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
}
}
return false;
}
......@@ -237,8 +249,12 @@ namespace DeviceLibrary
{
if (!agv.TaskRunState.CheckTaskExist(task))
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 发送失败,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
if (agv.Auto)
{
agv.TaskRunState.EnWaitTaskQueue(task);
LogUtil.info(string.Format("{0} 发送失败,[{1}]加入任务等待队列 ", agv.Name, task.AliceName));
}
}
}
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!