You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
4.1 KiB
C#
152 lines
4.1 KiB
C#
using Rs.AutoDischarge.V3.Flow;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Rs.MotionPlat.Flow.Space
|
|
{
|
|
enum SpaceTestStep
|
|
{
|
|
load,
|
|
waitLoad,
|
|
unload,
|
|
waitUnload
|
|
}
|
|
internal class SpaceTest:BaseFlow
|
|
{
|
|
bool bSingleTest = false;
|
|
SpaceTestStep step= SpaceTestStep.load;
|
|
TrayTest stock1 = new TrayTest(1);
|
|
TrayTest stock2 = new TrayTest(2);
|
|
TrayTest stock3 = new TrayTest(3);
|
|
|
|
|
|
TrayTest stock4 = new TrayTest(4);
|
|
TrayTest stock5 = new TrayTest(5);
|
|
TrayTest stock6 = new TrayTest(6);
|
|
|
|
private static SpaceTest instance;
|
|
|
|
public static SpaceTest Instance
|
|
{
|
|
get
|
|
{
|
|
if (instance == null)
|
|
instance = new SpaceTest();
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
|
|
public override void Start()
|
|
{
|
|
base.Start();
|
|
if(bSingleTest)
|
|
{
|
|
stock3.Start();
|
|
}
|
|
else
|
|
{
|
|
stock1.Start();
|
|
stock2.Start();
|
|
stock3.Start();
|
|
|
|
stock4.Start();
|
|
stock5.Start();
|
|
stock6.Start();
|
|
}
|
|
|
|
}
|
|
|
|
public override void Run()
|
|
{
|
|
switch (step)
|
|
{
|
|
case SpaceTestStep.load:
|
|
if(bSingleTest)
|
|
{
|
|
stock3.Load(true);
|
|
}
|
|
else
|
|
{
|
|
stock1.Load(true);
|
|
stock2.Load(true);
|
|
stock3.Load(true);
|
|
stock4.Load(true);
|
|
stock5.Load(true);
|
|
stock6.Load(true);
|
|
}
|
|
|
|
step = SpaceTestStep.waitLoad;
|
|
break;
|
|
case SpaceTestStep.waitLoad:
|
|
if(bSingleTest)
|
|
{
|
|
if (stock3.Finished())
|
|
{
|
|
step = SpaceTestStep.unload;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (stock1.Finished()&& stock3.Finished() && stock2.Finished() && stock4.Finished() && stock5.Finished() && stock6.Finished())
|
|
{
|
|
step = SpaceTestStep.unload;
|
|
}
|
|
}
|
|
|
|
break;
|
|
case SpaceTestStep.unload:
|
|
|
|
if (bSingleTest)
|
|
{
|
|
stock3.Unload();
|
|
}
|
|
else
|
|
{
|
|
stock1.Unload();
|
|
stock2.Unload();
|
|
stock3.Unload();
|
|
stock4.Unload();
|
|
stock5.Unload();
|
|
stock6.Unload();
|
|
}
|
|
|
|
step = SpaceTestStep.waitUnload;
|
|
break;
|
|
case SpaceTestStep.waitUnload:
|
|
|
|
if (bSingleTest)
|
|
{
|
|
if (stock3.Finished())
|
|
{
|
|
step = SpaceTestStep.load;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (stock1.Finished() && stock3.Finished() && stock2.Finished() && stock4.Finished() && stock5.Finished() && stock6.Finished())
|
|
{
|
|
step = SpaceTestStep.load;
|
|
}
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
public override void Stop()
|
|
{
|
|
base.Stop();
|
|
stock1.Stop();
|
|
stock3.Stop();
|
|
stock2.Stop();
|
|
stock4.Stop();
|
|
stock5.Stop();
|
|
stock6.Stop();
|
|
}
|
|
}
|
|
}
|