Commit 9d3930d7 张东亮

1

1 个父辈 9691621b
......@@ -180,7 +180,7 @@ namespace Common
}
catch (Exception e)
{
LogUtil.error($"POST ERROR:【{url}】【{paramData}】", e);
LogUtil.debug($"POST ERROR:【{url}】【{paramData}】");
}
return result;
}
......@@ -194,7 +194,7 @@ namespace Common
try
{
LogUtil.debug("HTTP GET FROM: " + url);
var wc = new WebClient { Encoding = encoding };
var wc = new WebClient { Encoding = encoding};
var readStream = wc.OpenRead(url);
using (var sr = new StreamReader(readStream, encoding))
{
......@@ -205,7 +205,7 @@ namespace Common
}
catch (Exception e)
{
LogUtil.error("HTTP GET ERROR:[" +url+ "]"+e.Message);
LogUtil.error("HTTP GET ERROR:[" +url+ "]",e);
}
return "";
}
......
......@@ -5,6 +5,8 @@ using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
using System.Windows.Forms;
using System.Xml.Linq;
using Common;
using DeviceLibrary.manager;
using log4net.Util;
......@@ -171,6 +173,19 @@ namespace DeviceLibrary
//{
// continue;
//}
//if (!agv.TaskRunState.IsAllocatingTask && agv.Auto && agv.CurJob != null && agv.TaskRunState.TaskID.Equals(-1)
// && agv.TaskRunState.Task != null && !string.IsNullOrEmpty(agv.TaskRunState.Task.Guid))
//{
// if (!MiR_API.Get_MissionByDescrp(agv))
// {
// LogUtil.info($"{agv.Name}:Task=-1处理,Fleet无任务,重发任务:{agv.TaskRunState.Task.Name}");
// agv.CurJob.ResendTask(agv);
// }
// else
// {
// LogUtil.info($"{agv.Name}:Task=-1处理,Fleet有任务,自动赋值FleetTaskID={agv.TaskRunState.TaskID}");
// }
//}
if (agv.TaskRunState.DeWaitTaskQueue(out AgvTask task))
{
if (agv.CurJob != null)
......
......@@ -475,7 +475,7 @@ namespace DeviceLibrary
{
MiR_API.Del_Mission(agv);
}
LogUtil.info(string.Format("{0} DelMission[{1}]OK", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} Del Pre Mission OK", agv.Name));
}
/// <summary>
......
......@@ -61,12 +61,12 @@ namespace DeviceLibrary
return !TaskID.Equals(-1) && !TaskState.Equals(SettingString.Wait);
}
string preTaskState = "";
public bool CheckTaskFinished(string name = "")
public bool CheckTaskFinished(AgvInfo agv)
{
if (!TaskState.Equals(preTaskState))
{
preTaskState = new string(TaskState.ToArray());
LogUtil.info($"{Task?.Name ?? ""},{TaskID},{TaskState}");
LogUtil.info($"Mission State {agv.Name} {Task?.Name ?? ""},{TaskID},{TaskState}");
}
if (TaskState.Equals(SettingString.Done))
......
......@@ -354,12 +354,17 @@ namespace DeviceLibrary
{
SetKanban();
if (!Control.CheckOnline(this)) return;
if (!TaskRunState.IsAllocatingTask && Auto && CurJob != null && TaskRunState.TaskID.Equals(-1))
//获取AGV状态
MiR_API.Get_State(this, out eAGVState stateID, out string stateText, out int battery, out string mission_text, out AgvInfo.MirPosition position, out List<Mir_Error> errors);
Thread.Sleep(50);
SetState(stateID, battery, mission_text, position, errors);
if (!TaskRunState.IsAllocatingTask && Auto && CurJob != null && TaskRunState.TaskID.Equals(-1)
&& TaskRunState.Task != null && !string.IsNullOrEmpty(TaskRunState.Task.Guid))
{
if (!MiR_API.Get_MissionByDescrp(this))
{
CurJob.ResendTask(this);
LogUtil.info($"{Name}:Task=-1处理,Fleet无任务,重发任务:{TaskRunState.Task.Name}");
CurJob.ResendTask(this);
}
else
{
......@@ -373,10 +378,6 @@ namespace DeviceLibrary
Thread.Sleep(50);
MiR_API.Get_IO_Status(this);
}
//获取AGV状态
MiR_API.Get_State(this, out eAGVState stateID, out string stateText, out int battery, out string mission_text, out AgvInfo.MirPosition position, out List<Mir_Error> errors);
Thread.Sleep(50);
SetState(stateID, battery, mission_text, position, errors);
}
catch (Exception ex)
......
......@@ -46,7 +46,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.CrossDoor_01_ToCurDoor))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.CrossDoor_02_OpenCurDoor);
runInfo = $"到达{JobParam.CrossDoor.CurNode.AliceName}侧门前,开门";
......@@ -56,7 +56,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.CrossDoor_02_OpenCurDoor))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.CrossDoor_03_Enter);
runInfo = $"从{JobParam.CrossDoor.CurNode.AliceName}侧进门";
......@@ -66,7 +66,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.CrossDoor_03_Enter))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.CrossDoor_04_CloseCurDoor);
runInfo = $"关闭{JobParam.CrossDoor.CurNode.AliceName}侧的门";
......@@ -76,7 +76,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.CrossDoor_04_CloseCurDoor))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.CrossDoor_05_OpenAntherDoor);
runInfo = $"打开{JobParam.CrossDoor.NextNode.AliceName}侧门";
......@@ -86,7 +86,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.CrossDoor_05_OpenAntherDoor))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.CrossDoor_06_LeaveDoor);
runInfo = $"离开门,进入{JobParam.CrossDoor.NextNode.AliceName}侧";
......@@ -96,7 +96,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.CrossDoor_06_LeaveDoor))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.CrossDoor_07_CloseAntherDoor);
runInfo = $"关闭{JobParam.CrossDoor.NextNode.AliceName}侧门";
......@@ -106,7 +106,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.CrossDoor_07_CloseAntherDoor))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.CrossDoor_08_Finish);
runInfo = $"到达{JobParam.CrossDoor.NextNode.AliceName}的车间";
......
......@@ -161,7 +161,7 @@ namespace DeviceLibrary
/// <returns></returns>
protected bool AGVTaskIsFinished(AgvInfo agv)
{
return agv.TaskRunState.CheckTaskFinished(agv.Name);
return agv.TaskRunState.CheckTaskFinished(agv);
}
/// <summary>
/// 卸下料架
......
......@@ -69,7 +69,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_01_ToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_02_WaitLiftDoorOpen);
//上报运输状态
......@@ -96,7 +96,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_03_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_04_PutShelfOn);
runInfo = $"到达{JobParam.SrcNode.AliceName}取料点,准备拾取料车";
......@@ -106,7 +106,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_04_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_05_LeaveLift);
//上报运输状态
......@@ -121,7 +121,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_05_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_06_CloseLiftDoor);
//关门
......@@ -182,7 +182,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_07_ToLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//确认按钮生效
JobParam.CurTargetNode.ExtendEquip.AllowConfirm();
......@@ -326,7 +326,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_11_BackToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
if (TargetIsOccupied(agv, JobParam.SrcNode.Name))
{
......@@ -443,7 +443,7 @@ namespace DeviceLibrary
#region 电梯内无料车
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_14_01_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_14_02_TakeShelfOffAtLift);
runInfo = $"到达{JobParam.SrcNode.AliceName}放料点,准备卸下料车";
......@@ -453,7 +453,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_14_02_TakeShelfOffAtLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_14_03_LeaveLift);
runInfo = $"在{JobParam.SrcNode.AliceName}卸下料车完成,准备离开";
......@@ -471,7 +471,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_14_03_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_14_04_CloseLiftDoor);
bool rtn = lift.LiftContext.AGVLeave(JobParam.SrcNode.Name, agv);
......@@ -500,7 +500,7 @@ namespace DeviceLibrary
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_16_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
runInfo = $"在{JobParam.CurTargetNode.AliceName}卸下料车完成";
JobRunStep.Msg = runInfo;
......@@ -569,7 +569,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_23_ToShelfPlace))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LiftToLine_24_TakeShelfOff);
runInfo = $"到达料架缓存点,准备卸下料车";
......@@ -579,7 +579,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.SD_LiftToLine_24_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//设置任务状态为料架换缓存
MissionManager.SetMissionState(JobParam.GetMissionInfo().missionId, service.model.MissionState.料架缓存_返回, out string msg);
......
......@@ -32,7 +32,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_Line_OneToMany_01_ToPickUpPosition))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_Line_OneToMany_02_PutShelfOn);
//任务状态变更
......@@ -49,7 +49,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_Line_OneToMany_02_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_Line_OneToMany_03_ToLine);
//上报运输状态
......@@ -65,7 +65,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_Line_OneToMany_03_ToLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//确认按钮生效
JobParam.CurTargetNode.ExtendEquip.AllowConfirm();
......@@ -122,7 +122,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_Line_OneToMany_06_CheckNextLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
if (JobParam.TargetNodes != null && JobParam.TargetNodes.Count > 0)
{
......@@ -162,7 +162,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_Line_OneToMany_07_BackToPickUpPosition))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_Line_OnToMany_08_TakeShelfOff);
//上报运输状态
......@@ -176,7 +176,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_Line_OnToMany_08_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.END);
if (JobParam.GetMissionInfo() != null && JobParam.GetMissionInfo().needBack)
......
......@@ -63,7 +63,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_01_ToLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_02_PutShelfOn);
//任务状态变更
......@@ -80,7 +80,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_02_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//上报状态
manager.UploadManager.UploadTransportStatus(new service.model.TransportStatus(agv.CurJob.JobParam.GetMissionInfo().missionId,
......@@ -143,7 +143,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_03_ToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_04_CheckLiftStatus);
//上报状态
......@@ -235,7 +235,7 @@ namespace DeviceLibrary
#region 电梯内有空成品料车
else if (JobRunStep.IsStep(RunStep.LineToLift_05_13_ToShelfPlace))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_05_14_TakeShelfOff);
runInfo = $"到达料架缓存点,准备卸下料车";
......@@ -245,7 +245,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_05_14_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//设置任务状态为料架换缓存
MissionManager.SetMissionState(JobParam.GetMissionInfo().missionId, service.model.MissionState.料架缓存, out string msg);
......@@ -274,7 +274,7 @@ namespace DeviceLibrary
#region 电梯内无料车
else if (JobRunStep.IsStep(RunStep.LineToLift_06_01_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_06_02_TakeShelfOffAtLift);
runInfo = $"到达{JobParam.CurTargetNode.AliceName}放料点,准备卸下料车";
......@@ -284,7 +284,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_06_02_TakeShelfOffAtLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//清除任务占用
ResetMissionOccupiedAgv(JobParam.GetMissionInfo());
......@@ -302,7 +302,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_06_03_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.END);
bool rtn = false;
......
......@@ -32,7 +32,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_LineToLine_01_ToPickUpPosition))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LineToLine_02_PutShelfOn);
//任务状态变更
......@@ -50,7 +50,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_LineToLine_02_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LineToLine_03_ToLine);
//上报位置
......@@ -67,7 +67,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_LineToLine_03_ToLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
if(NeedConfirm())
{
......@@ -97,7 +97,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_LineToLine_04_PlaySound))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
if (OpManager.WaitConfirm.Line(JobParam.CurTargetNode))
{
......@@ -117,7 +117,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_LineToLine_04_WaitConfirm))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
manager.UploadManager.UploadTransportStatus(new service.model.TransportStatus(agv.CurJob.JobParam.GetMissionInfo().missionId,
service.model.TransportStatus.TypeStr.status, agv.Name, agv.Place.Name, service.model.TransportStatus.ModeStr.agvButton,
......@@ -149,7 +149,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_LineToLine_05_BackToSrcLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.SD_LineToLine_06_TakeShelfOff);
//上报运输状态
......@@ -163,7 +163,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.SD_LineToLine_06_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.END);
if (JobParam.GetMissionInfo() != null && JobParam.GetMissionInfo().needBack)
......
......@@ -65,7 +65,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.ShelfBack_LiftToStore_01_ToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.ShelfBack_LiftToStore_02_01_WaitLiftDoorOpen);
//上报状态
......@@ -91,7 +91,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.ShelfBack_LiftToStore_02_02_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.ShelfBack_LiftToStore_03_PutShelfOn);
runInfo = $"到达{JobParam.SrcNode.AliceName}取料点,开始取料车";
......@@ -102,7 +102,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.ShelfBack_LiftToStore_03_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.ShelfBack_LiftToStore_04_LeaveLift);
//上报状态
......@@ -117,7 +117,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.ShelfBack_LiftToStore_04_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.ShelfBack_LiftToStore_05_CloseLiftDoor);
//关门
......@@ -157,7 +157,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.ShelfBack_LiftToStore_06_ToStore))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.ShelfBack_LiftToStore_07_TakeShelfOff);
//上报状态
......@@ -171,7 +171,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.ShelfBack_LiftToStore_07_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
runInfo = $"在{JobParam.CurTargetNode.AliceName}卸下料车完成";
//任务状态变更
......
......@@ -45,7 +45,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.STANDBY_WAIT_REACH_STANDBY))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.END);
// runInfo = "到达待机位";
......
......@@ -40,7 +40,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_01_ToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_02_WaitLiftDoorOpen);
//上报运输状态
......@@ -67,7 +67,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_03_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_04_PutShelfOn);
runInfo = $"到达{JobParam.SrcNode.AliceName}取料点,准备拾取料车";
......@@ -77,7 +77,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_04_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_05_LeaveLift);
//上报运输状态
......@@ -92,7 +92,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_05_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_06_CloseLiftDoor);
//关门
......@@ -127,7 +127,7 @@ namespace DeviceLibrary.bean.job
#region 钢网出库
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_07_ToLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//确认按钮生效
JobParam.CurTargetNode.ExtendEquip.AllowConfirm();
......@@ -202,7 +202,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_11_ToShelfPlace))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_12_TakeShelfOff);
runInfo = $"到达{JobParam.SteelShelfNode.AliceName},准备卸车";
......@@ -216,7 +216,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_12_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.END);
runInfo = $"在{JobParam.CurTargetNode.AliceName}卸下料车完成";
......
......@@ -42,7 +42,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_01_ToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_02_WaitLiftDoorOpen);
//上报运输状态
......@@ -69,7 +69,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_03_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_04_PutShelfOn);
runInfo = $"到达{JobParam.SrcNode.AliceName}取料点,准备拾取料车";
......@@ -80,7 +80,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_04_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_05_LeaveLift);
//上报运输状态
......@@ -95,7 +95,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_05_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_06_CloseLiftDoor);
//关门
......@@ -121,7 +121,7 @@ namespace DeviceLibrary.bean.job
#region 未使用
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_07_ToLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//确认按钮生效
JobParam.CurTargetNode.ExtendEquip.AllowConfirm();
......@@ -196,7 +196,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_11_ToShelfPlace))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_12_TakeShelfOff);
runInfo = $"到达{JobParam.SteelShelfNode.AliceName},准备卸车";
......@@ -210,7 +210,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_12_TakeShelfOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.END);
runInfo = $"在{JobParam.CurTargetNode.AliceName}卸下料车完成";
......@@ -229,7 +229,7 @@ namespace DeviceLibrary.bean.job
#region 钢网入库
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_13_ToLiku))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_14_Dock);
runInfo = $"到达{JobParam.CurTargetNode.AliceName}的放料点";//,开始停靠
......@@ -239,7 +239,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_14_Dock))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_15_CheckState);
runInfo = "等待立库停靠完成信号";
......@@ -258,7 +258,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_16_TakeOff))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
manager.DataBufferManager.DetachShelf = true;
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_17_WaitShelfLeave);
......@@ -285,7 +285,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_18_PutOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_19_BackToLift);
MissionManager.ChangeSteelSrcNodes(JobParam.GetMissionInfo().missionId, "storage");
......@@ -319,7 +319,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_19_BackToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_20_Request);
......@@ -408,7 +408,7 @@ namespace DeviceLibrary.bean.job
#region 电梯内无料车
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_24_01_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_24_02_TakeShelfOffAtLift);
runInfo = $"到达{JobParam.SrcNode.AliceName}放料点,准备卸下料车";
......@@ -418,7 +418,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_24_02_TakeShelfOffAtLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_24_03_LeaveLift);
runInfo = $"在{JobParam.SrcNode.AliceName}卸下料车完成,准备离开";
......@@ -435,7 +435,7 @@ namespace DeviceLibrary.bean.job
}
else if (JobRunStep.IsStep(RunStep.Steel_LiftToLine_24_03_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.Steel_LiftToLine_24_04_CloseLiftDoor);
bool rtn = lift.LiftContext.AGVLeave(JobParam.SrcNode.Name, agv);
......
......@@ -44,7 +44,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_01_ToLine))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_02_PutShelfOn);
//任务状态变更
......@@ -61,7 +61,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_02_PutShelfOn))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
//if(JobParam.GetMissionInfo().projectType.Equals(ProjectType.钢网入库))
//{
......@@ -84,7 +84,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_ToSteelSrc))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_PlaySound);
//确认按钮生效
......@@ -153,7 +153,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_03_ToLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_04_CheckLiftStatus);
//上报状态
......@@ -221,7 +221,7 @@ namespace DeviceLibrary
#region 电梯内无料车
else if (JobRunStep.IsStep(RunStep.LineToLift_06_01_EnterLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_06_02_TakeShelfOffAtLift);
runInfo = $"到达{JobParam.CurTargetNode.AliceName}放料点,准备卸下料车";
......@@ -231,7 +231,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_06_02_TakeShelfOffAtLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.LineToLift_06_03_LeaveLift);
//上报状态
......@@ -253,7 +253,7 @@ namespace DeviceLibrary
}
else if (JobRunStep.IsStep(RunStep.LineToLift_06_03_LeaveLift))
{
if (agv.TaskRunState.CheckTaskFinished(agv.Name))
if (agv.TaskRunState.CheckTaskFinished(agv))
{
JobRunStep.ToNextStep(RunStep.END);
bool rtn = false;
......
using Common;
using DeviceLibrary.bean.job;
using DeviceLibrary.lift;
using DeviceLibrary.manager;
namespace DeviceLibrary.bean.jobType
......@@ -29,6 +30,8 @@ namespace DeviceLibrary.bean.jobType
Node src = manager.NodeManager.GetNode(SettingString.LIFT_D2, NodeType.Lift);
Node dest = manager.NodeManager.GetNode(SettingString.LIFT_C1, NodeType.Lift);
JobParam jobParam = new JobParam(src, dest, null, missionInfo);
//设置电梯占用
LiftContext.SetLiftNodeOccupied(agv, liftname);
MissionManager.SetMissionOccupied(missionInfo, agv);
return new F1LiftD2ToLiftC1Job(jobParam);
}
......
......@@ -123,7 +123,7 @@ namespace DeviceLibrary
}
}
if (task != null)
if (task != null&& !string.IsNullOrEmpty(task.Guid))
{
agv.TaskRunState.Task = task;
if (node != null)
......@@ -148,11 +148,11 @@ namespace DeviceLibrary
MiR_API.State_Ready(agv);
if (rtn)
{
LogUtil.info(string.Format("{0} Add_Mission_Fleet[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} Add Mission Fleet[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
else
{
LogUtil.info(string.Format("{0} Add_Mission_Fleet[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} Add Mission Fleet[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
}
else
......@@ -161,11 +161,11 @@ namespace DeviceLibrary
MiR_API.State_Ready(agv);
if (rtn)
{
LogUtil.info(string.Format("{0} Add_Mission[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
LogUtil.info(string.Format("{0} Add Mission[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
else
{
LogUtil.info(string.Format("{0} Add_Mission[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} AddMission[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
}
agv.StateKanban.SetCurTask(agv.TaskRunState.ToTaskShowInfo());
......@@ -205,11 +205,11 @@ namespace DeviceLibrary
MiR_API.State_Ready(agv);
if (rtn)
{
LogUtil.info(string.Format("{0} Add_Mission_Fleet[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} Add Mission Fleet[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
else
{
LogUtil.info(string.Format("{0} Add_Mission_Fleet[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} Add Mission Fleet[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
}
else
......@@ -218,11 +218,11 @@ namespace DeviceLibrary
MiR_API.State_Ready(agv);
if (rtn)
{
LogUtil.info(string.Format("{0} Add_Mission[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} Add Mission[{1}]Success", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
else
{
LogUtil.info(string.Format("{0} Add_Mission[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
LogUtil.info(string.Format("{0} Add Mission[{1}]Fail", agv.Name, agv.TaskRunState.ToTaskInfo()));
}
}
agv.StateKanban.SetCurTask(agv.TaskRunState.ToTaskShowInfo());
......
......@@ -2,6 +2,8 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using static DeviceLibrary.HttpManager;
namespace DeviceLibrary
......@@ -481,21 +483,27 @@ namespace DeviceLibrary
try
{
//string resultStr = HttpHelper.Post(agvreporttask, txt);
Dictionary<string, string> param = new Dictionary<string, string>();
param.Add("info", txt);
string addr = GetItsAddr("/UpdateAGVtranstask", param);
string resultStr = HttpHelper.Get(addr);
itsData data = JsonHelper.DeserializeJsonToObject<itsData>(resultStr);
//fbackkinfo":"no agvinfo","fbacktime":"20215306105317"}
if (data == null)
{
log.Error($"AGV反馈任务执行信息 fail:[{txt}][{resultStr}]");
}
else
Task.Factory.StartNew(() =>
{
log.Info($"AGV反馈任务执行信息 info:[{txt}][{resultStr}]");
Dictionary<string, string> param = new Dictionary<string, string>();
param.Add("info", txt);
string addr = GetItsAddr("/UpdateAGVtranstask", param);
while (true)
{
string resultStr = HttpHelper.Get(addr);
itsData data = JsonHelper.DeserializeJsonToObject<itsData>(resultStr);
//fbackkinfo":"no agvinfo","fbacktime":"20215306105317"}
if (data != null)
{
log.Info($"AGV反馈任务执行信息 info:[{txt}][{resultStr}]");
break;
}
Thread.Sleep(1000);
}
});
}
}
catch (Exception e)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!