增加料盘到位超时机制

master
lhiven 2 years ago
parent 71acf9f98b
commit f7cdd1d6b3

@ -4,6 +4,7 @@ using Rs.Motion;
using Rs.Motion.Base; using Rs.Motion.Base;
using Rs.MotionPlat.Commom; using Rs.MotionPlat.Commom;
using Rs.MotionPlat.Flow; using Rs.MotionPlat.Flow;
using System.Diagnostics;
using System.Threading; using System.Threading;
namespace Rs.AutoDischarge.V3.Flow namespace Rs.AutoDischarge.V3.Flow
@ -97,6 +98,8 @@ namespace Rs.AutoDischarge.V3.Flow
bool bStop= false; bool bStop= false;
IAxis StockFlow = null; IAxis StockFlow = null;
IAxis StockZ=null; IAxis StockZ=null;
Stopwatch timer = new Stopwatch();
string loginfo = "";
public override void Run() public override void Run()
{ {
@ -262,48 +265,61 @@ namespace Rs.AutoDischarge.V3.Flow
case ETrayTestStep.: case ETrayTestStep.:
StockFlow.MoveOffset(-1* SysConfigParam.GetValue<double>("LowSpeedDistance"), 3); StockFlow.MoveOffset(-1* SysConfigParam.GetValue<double>("LowSpeedDistance"), 3);
Step = ETrayTestStep.; Step = ETrayTestStep.;
timer.Restart();
break; break;
case ETrayTestStep.: case ETrayTestStep.:
if (IoManager.Instance.ReadIn($"{stockNo}号料仓料盘到位光电检测") == 1) if(timer.ElapsedMilliseconds<=1000*30)
{ {
switch (stockNo) if (IoManager.Instance.ReadIn($"{stockNo}号料仓料盘到位光电检测") == 1)
{ {
case 1: switch (stockNo)
GlobalTray.Empty1Tray.ResetTray(); {
GlobalTray.Empty1Tray.Clear(); case 1:
break; GlobalTray.Empty1Tray.ResetTray();
case 2: GlobalTray.Empty1Tray.Clear();
GlobalTray.InputTray.ResetTray(); break;
GlobalTray.InputTray.Fill(); case 2:
break; GlobalTray.InputTray.ResetTray();
case 3: GlobalTray.InputTray.Fill();
GlobalTray.OkTary.ResetTray(); break;
GlobalTray.OkTary.Clear(); case 3:
break; GlobalTray.OkTary.ResetTray();
case 4: GlobalTray.OkTary.Clear();
GlobalTray.NgTray.ResetTray(); break;
GlobalTray.NgTray.Clear(); case 4:
break; GlobalTray.NgTray.ResetTray();
case 5: GlobalTray.NgTray.Clear();
GlobalTray.MultiTray.ResetTray(); break;
GlobalTray.MultiTray.Clear(); case 5:
break; GlobalTray.MultiTray.ResetTray();
case 6: GlobalTray.MultiTray.Clear();
GlobalTray.Empty2Tray.ResetTray(); break;
GlobalTray.Empty2Tray.Clear(); case 6:
break; GlobalTray.Empty2Tray.ResetTray();
default: GlobalTray.Empty2Tray.Clear();
break; break;
default:
break;
}
Thread.Sleep(500);
StockFlow.Stop();
Thread.Sleep(200);
IoManager.Instance.WriteOut($"{stockNo}号料仓斜推气缸", 1);
Thread.Sleep(200);
finished = true;
Status = ETrayStatus.Loaded;
Step = ETrayTestStep.;
Thread.Sleep(200);
} }
Thread.Sleep(500); }
StockFlow.Stop(); else
Thread.Sleep(200); {
IoManager.Instance.WriteOut($"{stockNo}号料仓斜推气缸", 1); timer.Stop();
Thread.Sleep(200); loginfo = $"料仓{stockNo}上料未到位,请手动处理后,点击确定";
finished = true; MessageQueue.Instance.Warn(loginfo);
Status = ETrayStatus.Loaded; LogHelper.Debug(loginfo);
Step = ETrayTestStep.; Msg.ShowError(loginfo);
Thread.Sleep(200); timer.Restart();
} }
break; break;
} }

Loading…
Cancel
Save