Commit 3b6ce2fb 张东亮

C1点位占用问题

1 个父辈 a06d56c5
......@@ -75,17 +75,6 @@
<conversionPattern value="%m%n"/>
</layout>
</appender>
<appender name="MissionManager" type="log4net.Appender.RollingFileAppender">
<file value="logs/MissionManager/MissionManager.log"/>
<param name="Encoding" value="UTF-8"/>
<appendToFile value="true"/>
<param name="MaxSizeRollBackups" value="30" />
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%m%n"/>
</layout>
</appender>
<appender name="TcpKPIO" type="log4net.Appender.RollingFileAppender">
<file value="logs/TcpKPIO/TcpKPIO.log"/>
<param name="Encoding" value="UTF-8"/>
......@@ -97,10 +86,6 @@
<conversionPattern value="%m%n"/>
</layout>
</appender>
<logger name="MissionManager">
<level value="info"/>
<appender-ref ref="MissionManager"/>
</logger>
<logger name="MiR_API">
<level value="info"/>
<appender-ref ref="MiR_API"/>
......
using Common;
using DeviceLibrary.bean.job;
using DeviceLibrary.lift;
using DeviceLibrary.manager;
namespace DeviceLibrary.bean.jobType
......@@ -34,6 +35,8 @@ namespace DeviceLibrary.bean.jobType
Node dest = manager.NodeManager.GetNode(SettingString.LIFT_D2, NodeType.Lift);
JobParam jobParam = new JobParam(src, dest, null, missionInfo);
MissionManager.SetMissionOccupied(missionInfo, agv);
//设置电梯占用
LiftContext.SetLiftOccupiedAgv(SettingString.LIFT_C1, agv.IP);
return new F1LiftC1ToLiftD2Job(jobParam);
}
}
......
......@@ -19,7 +19,7 @@ namespace DeviceLibrary.manager
public static event MissionChangedEventHandler MissionChangedEvent;
static Service web = new Service();
public static Result AUOResult = new Result() { code = -1 };
public static log4net.ILog Log = log4net.LogManager.GetLogger("MissionManager");
public static log4net.ILog Log = LogUtil.LOGGER;
/// <summary>
/// AUO是否在使用电梯D2
/// </summary>
......@@ -207,6 +207,39 @@ namespace DeviceLibrary.manager
Log.Error($"任务已添加,无法新建任务:{JsonHelper.SerializeObject(mission)}");
return false;
}
public static bool AddSteelMission(MissionInfo mission)
{
var find = GetMissionInfos().Find(w => w.missionId.Substring(0,3).Equals(mission.missionId.Substring(0, 3)));
if (find == null)
{
Log.Info($"新建任务:{JsonHelper.SerializeObject(mission)}");
GetMissionInfos().Add(mission);
using (AGVDataContext ctx = new AGVDataContext())
{
foreach (var item in GetMissionInfos())
{
var missionTmp = ctx.MissionInfos.Where(s => s.missionId.Equals(item.missionId)).FirstOrDefault();
if (missionTmp != null)
{
missionTmp.SetState(item.state);
missionTmp.liftName = item.liftName;
missionTmp.occupiedAgv = item.occupiedAgv;
}
else
{
ctx.MissionInfos.Add(item);
}
}
ctx.SaveChanges();
InitMission();
}
MissionChangedEvent?.Invoke();
return true;
}
Log.Error($"任务已添加,无法新建任务:{JsonHelper.SerializeObject(mission)}");
return false;
}
/// <summary>
/// 获取钢网入库取料架任务,以准备执行 SteelLineToLiftJobType
/// </summary>
......
......@@ -208,13 +208,29 @@ namespace DeviceLibrary
public StealResult Storage(string Place)
{
StealResult stealResult = new StealResult();
if(!DataBufferManager.SteelAgvInStorage)
stealResult.Msg = $"OK,3D";
//Place:3D_Enter:3D的⼩车⼊库
if (Place.Equals("3D_Enter"))//立库出库,呼叫AGV
{
MissionInfo missionInfo = new MissionInfo()
{
state = MissionState.创建,
missionId = $"P150" + DateTime.Now.ToString("yyyyMMddhhmmss"),
sourcePoint = "3dwash",
destinationPoint = "storage",
needBack = true
};
bool rtn = MissionManager.AddSteelMission(missionInfo);
if (!rtn)
Log.Error($"已呼叫钢网出库,忽略");
return stealResult;
}
if (!DataBufferManager.SteelAgvInStorage)
{
stealResult.Msg = $"NG,3D";
Log.Info($"收到立库调用Storage接口:【Place={Place}】【{JsonHelper.SerializeObject(stealResult)}】");
return stealResult;
}
stealResult.Msg = $"OK,3D";
//DI_On/DI_Off 信号亮DI_On,没信号DI_Off
if (Place.Equals("DI_Off"))
{
......@@ -224,11 +240,6 @@ namespace DeviceLibrary
{
manager.DataBufferManager.DockingOk = true;
}
//Place:3D_Enter:3D的⼩车⼊库
else if (Place.Equals("3D_Enter"))
{
}
//Leave 出料架,小车可以接料架离开
else if (Place.Equals("Leave"))
{
......@@ -236,7 +247,7 @@ namespace DeviceLibrary
}
else if (Place.Equals("Detach"))//Detach 脱离架子
{
if(!manager.DataBufferManager.DetachShelf)
if (!manager.DataBufferManager.DetachShelf)
{
stealResult.Msg = $"NG,3D";
}
......@@ -259,7 +270,7 @@ namespace DeviceLibrary
}
else
{
if("storage".Equals(From.ToLower()))
if ("storage".Equals(From.ToLower()))
{
//MissionInfo missionInfo = new MissionInfo();
//missionInfo.state = MissionState.创建;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!