|
|
@ -2,8 +2,10 @@
|
|
|
|
using Rs.Framework;
|
|
|
|
using Rs.Framework;
|
|
|
|
using Rs.Motion;
|
|
|
|
using Rs.Motion;
|
|
|
|
using Rs.MotionPlat.Commom;
|
|
|
|
using Rs.MotionPlat.Commom;
|
|
|
|
|
|
|
|
using Rs.MotionPlat.Entitys;
|
|
|
|
using System;
|
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
using System.Text;
|
|
|
|
using System.Threading;
|
|
|
|
using System.Threading;
|
|
|
@ -16,7 +18,8 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
StartHome,
|
|
|
|
StartHome,
|
|
|
|
WaitHomed,
|
|
|
|
WaitHomed,
|
|
|
|
GoStartPos,
|
|
|
|
GoStartPos,
|
|
|
|
WaitArrivedStartPos
|
|
|
|
WaitArrivedStartPos,
|
|
|
|
|
|
|
|
HomeWarning
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public class ZRHomeFlow
|
|
|
|
public class ZRHomeFlow
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -34,6 +37,7 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private EZRHomeFlowStep step = EZRHomeFlowStep.StartHome;
|
|
|
|
private EZRHomeFlowStep step = EZRHomeFlowStep.StartHome;
|
|
|
|
bool finished = false;
|
|
|
|
bool finished = false;
|
|
|
|
|
|
|
|
Stopwatch stopwatch = new Stopwatch();
|
|
|
|
|
|
|
|
|
|
|
|
public void GoHome(int homeIndex)
|
|
|
|
public void GoHome(int homeIndex)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -45,6 +49,7 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case EZRHomeFlowStep.StartHome:
|
|
|
|
case EZRHomeFlowStep.StartHome:
|
|
|
|
//获取Z轴
|
|
|
|
//获取Z轴
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert($"{GetClassName()} NozzleZ{homeIndex},NozzleR{homeIndex} start home");
|
|
|
|
AxisControl.GetAxis($"NozzleZ{homeIndex}").Home();
|
|
|
|
AxisControl.GetAxis($"NozzleZ{homeIndex}").Home();
|
|
|
|
AxisControl.GetAxis($"NozzleR{homeIndex}").Home();
|
|
|
|
AxisControl.GetAxis($"NozzleR{homeIndex}").Home();
|
|
|
|
//AxisControl.NozzleZ1.Home();
|
|
|
|
//AxisControl.NozzleZ1.Home();
|
|
|
@ -65,6 +70,7 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
//AxisControl.NozzleR7.Home();
|
|
|
|
//AxisControl.NozzleR7.Home();
|
|
|
|
//AxisControl.NozzleR8.Home();
|
|
|
|
//AxisControl.NozzleR8.Home();
|
|
|
|
step = EZRHomeFlowStep.WaitHomed;
|
|
|
|
step = EZRHomeFlowStep.WaitHomed;
|
|
|
|
|
|
|
|
stopwatch.Restart();
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case EZRHomeFlowStep.WaitHomed:
|
|
|
|
case EZRHomeFlowStep.WaitHomed:
|
|
|
@ -84,10 +90,18 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
// && AxisControl.NozzleR6.HomeStatus == EHomeStatus.Finished
|
|
|
|
// && AxisControl.NozzleR6.HomeStatus == EHomeStatus.Finished
|
|
|
|
// && AxisControl.NozzleR7.HomeStatus == EHomeStatus.Finished
|
|
|
|
// && AxisControl.NozzleR7.HomeStatus == EHomeStatus.Finished
|
|
|
|
// && AxisControl.NozzleR8.HomeStatus == EHomeStatus.Finished)
|
|
|
|
// && AxisControl.NozzleR8.HomeStatus == EHomeStatus.Finished)
|
|
|
|
if (AxisControl.GetAxis($"NozzleZ{homeIndex}").HomeStatus == EHomeStatus.Finished
|
|
|
|
if(stopwatch.ElapsedMilliseconds<1000*60*3)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (AxisControl.GetAxis($"NozzleZ{homeIndex}").HomeStatus == EHomeStatus.Finished
|
|
|
|
&& AxisControl.GetAxis($"NozzleR{homeIndex}").HomeStatus == EHomeStatus.Finished)
|
|
|
|
&& AxisControl.GetAxis($"NozzleR{homeIndex}").HomeStatus == EHomeStatus.Finished)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert($"{GetClassName()} NozzleZ{homeIndex},NozzleR{homeIndex} homed finished");
|
|
|
|
|
|
|
|
step = EZRHomeFlowStep.GoStartPos;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
step = EZRHomeFlowStep.GoStartPos;
|
|
|
|
step = EZRHomeFlowStep.HomeWarning;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case EZRHomeFlowStep.GoStartPos:
|
|
|
|
case EZRHomeFlowStep.GoStartPos:
|
|
|
@ -98,6 +112,7 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
//}
|
|
|
|
//}
|
|
|
|
double targetPos = SysConfigParam.GetValue<Double>($"NozzleR{homeIndex}StartPos");
|
|
|
|
double targetPos = SysConfigParam.GetValue<Double>($"NozzleR{homeIndex}StartPos");
|
|
|
|
AxisControl.GetAxis($"NozzleR{homeIndex}").MovePos(targetPos, GlobalVar.WholeSpeed);
|
|
|
|
AxisControl.GetAxis($"NozzleR{homeIndex}").MovePos(targetPos, GlobalVar.WholeSpeed);
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert($"{GetClassName()} NozzleR{homeIndex} go to pos:{targetPos}");
|
|
|
|
step = EZRHomeFlowStep.WaitArrivedStartPos;
|
|
|
|
step = EZRHomeFlowStep.WaitArrivedStartPos;
|
|
|
|
Thread.Sleep(100);
|
|
|
|
Thread.Sleep(100);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -112,12 +127,33 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
// && Ops.IsStop("NozzleR8"))
|
|
|
|
// && Ops.IsStop("NozzleR8"))
|
|
|
|
if (Ops.IsStop($"NozzleR{homeIndex}"))
|
|
|
|
if (Ops.IsStop($"NozzleR{homeIndex}"))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
string axisname = $"NozzleR{homeIndex}";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert($"{GetClassName()} NozzleR{homeIndex} arrived pos:{Ops.GetCurPosition(axisname)}");
|
|
|
|
finished = true;
|
|
|
|
finished = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case EZRHomeFlowStep.HomeWarning:
|
|
|
|
|
|
|
|
stopwatch.Stop();
|
|
|
|
|
|
|
|
if (AxisControl.GetAxis($"NozzleZ{homeIndex}").HomeStatus != EHomeStatus.Finished)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
AlarmEntity alarm = AlarmCollection.Get(AlarmConstID.轴回原失败).Transform($"NozzleZ{homeIndex}");
|
|
|
|
|
|
|
|
AlarmMessageBox.ShowDialog(alarm, SchedulingMessageBox.ETipButton.Retry, null, true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (AxisControl.GetAxis($"NozzleR{homeIndex}").HomeStatus != EHomeStatus.Finished)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
AlarmEntity alarm = AlarmCollection.Get(AlarmConstID.轴回原失败).Transform($"NozzleR{homeIndex}");
|
|
|
|
|
|
|
|
AlarmMessageBox.ShowDialog(alarm, SchedulingMessageBox.ETipButton.Retry, null, true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
step = EZRHomeFlowStep.StartHome;
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Thread.Sleep(10);
|
|
|
|
Thread.Sleep(10);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private string GetClassName()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return $"{nameof(ZRHomeFlow)}-";
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|