修复关闭软件重新打开软件 启动设备后,在安全门打开的情况下设备能正常启动

master
lhiven 1 year ago
parent d8dd84ebe4
commit 34ba789b36

@ -152,39 +152,47 @@ namespace Rs.MotionPlat.Commom
public static void Start() public static void Start()
{ {
bool run = true; //先检测门禁
if(GlobalVar.EnableVirtuleBarCode) if(IoManager.Instance.ReadIn("后安全门禁")==0)
{ {
DialogResult dr = Msg.ShowQuestion("device run use virtual bar code?"); MessageQueue.Instance.Warn("door opened,please close door!!!");
if(dr== DialogResult.Cancel)
{
run = false;
}
} }
if(run) else
{ {
Task.Run(() => { bool run = true;
if (MachineManage.Instance.MachineStatus == EMachineStatus.Homed || MachineManage.Instance.MachineStatus == EMachineStatus.Stop) if (GlobalVar.EnableVirtuleBarCode)
{
DialogResult dr = Msg.ShowQuestion("device run use virtual barcode?");
if (dr == DialogResult.Cancel)
{ {
MachineManage.Instance.SetLocalMachineStatus(EMachineStatus.Working); run = false;
On("启动灯"); }
Off("停止灯"); }
LightManger.Instance.SetStatus(ELightStatus.Green); if (run)
if (!WorkEnvironment.Instance.IsRunning()) {
{ Task.Run(() => {
WorkEnvironment.Instance.Ready(); if (MachineManage.Instance.MachineStatus == EMachineStatus.Homed || MachineManage.Instance.MachineStatus == EMachineStatus.Stop)
}
WorkEnvironment.Instance.EnvReadyOkEvent.WaitOne();
DischargeFlow.Instance.Start();
TurnoverFlow.Instance.Start();
MachineManage.Instance.SetCenterMachineStatus(ERunStatus.Started);
//if (DischargeFlow.Instance.GetCurStep() == "等待任务" && TurnoverFlow.Instance.GetStep() == "等待任务")
if (MachineManage.Instance.GetLoadUnloadStatus() != ERunState.Busying)
{ {
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); MachineManage.Instance.SetLocalMachineStatus(EMachineStatus.Working);
On("启动灯");
Off("停止灯");
LightManger.Instance.SetStatus(ELightStatus.Green);
if (!WorkEnvironment.Instance.IsRunning())
{
WorkEnvironment.Instance.Ready();
}
WorkEnvironment.Instance.EnvReadyOkEvent.WaitOne();
DischargeFlow.Instance.Start();
TurnoverFlow.Instance.Start();
MachineManage.Instance.SetCenterMachineStatus(ERunStatus.Started);
//if (DischargeFlow.Instance.GetCurStep() == "等待任务" && TurnoverFlow.Instance.GetStep() == "等待任务")
if (MachineManage.Instance.GetLoadUnloadStatus() != ERunState.Busying)
{
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
}
} }
} });
}); }
} }
} }

Loading…
Cancel
Save