Commit e7b17b35 张东亮

自动模式切换逻辑更改

1 个父辈 4b7b6377
......@@ -37,31 +37,41 @@ namespace AGVControl
if (!isInit) return;
this.Invoke(new Action(() =>
{
btnReSendTask.Enabled = chkBxAuto.Checked;
btnAssignTask.Enabled = !chkBxAuto.Checked;
if (!chkBxAuto.Checked)
if (!chkBxAuto.Checked)//自动-》手动
{
Agv.CurJob = null;
MiR_API.Del_Mission(Agv);
CommonVar.Standby.DelOccupyInfo(Agv.Name);
CommonVar.Charge.DelOccupyInfo(Agv.Name);
//添加Init任务
MiR_API.Add_Mission_Fleet(Agv, CommonVar.agvMission[SettingString.Init]);
MiR_API.State_Ready(Agv);
if (Agv.Place.Equals(SettingString.Standby) || Agv.Place.Equals(SettingString.AutoCharge))
Agv.Place = "";
}
else
{
if (!Agv.IsCon)
return;
if (Agv.IsExistShelf)
{
LogUtil.error(string.Format("{0} 车上有负载,无法开启自动模式,请先清空小车负载!", Agv.Name));
return;
}
Agv.CurJob = null;
MiR_API.Del_Mission_Fleet(Agv, Agv.CurTaskID.ToString());
MiR_API.Del_Mission(Agv);
Agv.RFID = "";
if (MessageBox.Show("是否继续上一次的任务?\r\n" + Agv.Msg, "提示", MessageBoxButtons.YesNo).Equals(DialogResult.No))
{
Agv.CurJob = null;
if (Agv.Place.Equals(SettingString.Standby) || Agv.Place.Equals(SettingString.AutoCharge))
Agv.Place = "";
MiR_API.Del_Mission(Agv);
Agv.RFID = "";
}
else
{
Agv.Resend();
}
}
Agv.IsUse = chkBxAuto.Checked;
......
......@@ -83,7 +83,7 @@ namespace DeviceLibrary
{
try
{
CheckOnline(i);
if (!CheckOnline(i)) continue;
bool change = false;
MiR_API.Get_Task_State(CommonVar.agvInfo[i].CurTaskID, out string stateStr);
Thread.Sleep(50);
......
......@@ -311,18 +311,18 @@ namespace DeviceLibrary
if (offlineTimeOut)
{
isAlarm = true;
displayBoard.Add(Name, "Agv." + Name + ".OfflineTimeOut", "在" + PlaceAliceName + "离线" + (DateTime.Now - offlineStartTime).TotalSeconds.ToString("f2") + "秒");
displayBoard.Add(Name, "Agv." + Name + ".Msg", "在" + PlaceAliceName + "离线" + (DateTime.Now - offlineStartTime).TotalSeconds.ToString("f2") + "秒");
}
if (standTimeOut)
{
isAlarm = true;
displayBoard.Add(Name, "Agv." + Name + ".StandTimeOut", "在" + PlaceAliceName + "停留超时" + (DateTime.Now - standStartTime).TotalMinutes.ToString("f2") + "分钟");
displayBoard.Add(Name, "Agv." + Name + ".Msg", "在" + PlaceAliceName + "停留超时" + (DateTime.Now - standStartTime).TotalMinutes.ToString("f2") + "分钟");
}
if (StateID.Equals(eAGVState.Error) || StateID.Equals(eAGVState.EmergencyStop) || StateID.Equals(eAGVState.Pause))
{
isAlarm = true;
displayBoard.Add(Name, "Agv." + Name + ".Error.EmergencyStop", "agv状态:" + StateID.ToString());
displayBoard.Add(Name, "Agv." + Name + ".Msg", "agv状态:" + StateID.ToString());
}
if (!isAlarm)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!