Commit 233510f1 张东亮

1

1 个父辈 9a35a1c9
......@@ -4,6 +4,6 @@
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<appSettings>
<add key="ProName" value="AGVDispatch-待机点不显示" />
<add key="ProName" value="AGVDispatch-添加上报日志打印" />
</appSettings>
</configuration>
\ No newline at end of file
......@@ -8,7 +8,7 @@ namespace DeviceLib.BLL
public class Context
{
static Thread threadRobotCall;
static int interval = 300;
static int interval = 1000;
static bool isLoad = false;
static bool loop = false;
......
......@@ -62,7 +62,7 @@ namespace DeviceLib.BLL
/// <returns></returns>
public static bool RobotIsInNode(string nodename)
{
return robots.Find(s=>s?.mission_state?.node_name.Equals(nodename) ??false)!=null;
return robots.Find(s => s?.mission_state?.node_name.Equals(nodename) ?? false) != null;
}
/// <summary>
/// 获取可执行任务的机器人
......@@ -129,31 +129,32 @@ namespace DeviceLib.BLL
}
}
static Dictionary<string, string> uploadStr = new Dictionary<string, string>();
public static void UploadState(Robot robot)
{
try
{
AgvStatus agv= new AgvStatus()
AgvStatus agv = new AgvStatus()
{
name = robot.name,
elec = robot?.status?.battery_percentage.ToString("f2"),
type= robot.id
type = robot.id
};
if(robot.job!=null)
if (robot.job != null)
{
if(robot.job is StandbyJob)
if (robot.job is StandbyJob)
{
agv.loc = "STANDBY";
}
else if(robot.job is ChargeJob)
else if (robot.job is ChargeJob)
{
agv.loc = "CHARGE";
}
else if(robot.job is CommLineJob || robot.job is ToStoreJob)
else if (robot.job is CommLineJob || robot.job is ToStoreJob)
{
agv.loc = "TAKE";
}
else if(robot.job.JobParam.LineNode!=null)
else if (robot.job.JobParam.LineNode != null)
{
agv.loc = robot.job.JobParam.LineNode.name;
}
......@@ -170,21 +171,38 @@ namespace DeviceLib.BLL
{
if (!string.IsNullOrEmpty(robot.mission_state.node_name))
{
if(Setting_Str.standby.Equals(robot.mission_state.node_name))
if (Setting_Str.standby.Equals(robot.mission_state.node_name))
{
agv.loc = "STANDBY";
}
else if(Setting_Str.Charge.Equals(robot.mission_state.node_name))
else if (Setting_Str.Charge.Equals(robot.mission_state.node_name))
{
agv.loc = "CHARGE";
}
}
}
HttpManager.UpdateAgvStatus(new List<AgvStatus> {agv });
HttpManager.UpdateAgvStatus(new List<AgvStatus> { agv });
string json = JsonHelper.SerializeObject(agv);
if (!uploadStr.ContainsKey(agv.name))
{
uploadStr.Add(agv.name, json);
LogUtil.Info($"Upload AGV State:{json}");
}
else
{
if (!string.IsNullOrEmpty(json))
{
if (!json.Equals(uploadStr[agv.name]))
{
uploadStr[agv.name] = json;
LogUtil.Info($"Upload AGV State:{json}");
}
}
}
}
catch(Exception ex)
catch (Exception ex)
{
LogUtil.Error($"{robot.name} 上报状态失败",ex);
LogUtil.Error($"{robot.name} 上报状态失败", ex);
}
}
static MissionState getMissionState(int id)
......@@ -205,9 +223,9 @@ namespace DeviceLib.BLL
}
return null;
}
public static void ClearBoxBind(Robot robot,string rfid)
public static void ClearBoxBind(Robot robot, string rfid)
{
HttpManager.ClearBoxBind(rfid,robot.name);
HttpManager.ClearBoxBind(rfid, robot.name);
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!