|
|
@ -16,7 +16,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
{
|
|
|
|
{
|
|
|
|
public class TestCenter
|
|
|
|
public class TestCenter
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TcpClientHelper client = new TcpClientHelper("127.0.0.1",2048);
|
|
|
|
TcpClientHelper client = new TcpClientHelper("10.86.15.67",2048);
|
|
|
|
SchedulingResult schedulResult = new SchedulingResult();
|
|
|
|
SchedulingResult schedulResult = new SchedulingResult();
|
|
|
|
SchedulingMaterial sm;
|
|
|
|
SchedulingMaterial sm;
|
|
|
|
public event Action<string> ReciveTaskEvent;
|
|
|
|
public event Action<string> ReciveTaskEvent;
|
|
|
@ -80,25 +80,16 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
switch (eInstructioneInstruction)
|
|
|
|
switch (eInstructioneInstruction)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case EInstruction.InquireSiloStatus:
|
|
|
|
case EInstruction.InquireSiloStatus:
|
|
|
|
|
|
|
|
InquireSiloStatus(json);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case EInstruction.RequestSwitchTray:
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case EInstruction.InquireConnectionInfo:
|
|
|
|
case EInstruction.InquireConnectionInfo:
|
|
|
|
SchedulingConnectionInfo info = JsonConvert.DeserializeObject<SchedulingConnectionInfo>(json);
|
|
|
|
InquireConnectionInfo(json);
|
|
|
|
info.Type = SchedulingConnectionInfo.EType.Scheduling;
|
|
|
|
|
|
|
|
client.Send(info.ToString());
|
|
|
|
|
|
|
|
//LogHelper.Debug(info.ToString());
|
|
|
|
|
|
|
|
ReplayTaskEvent?.Invoke(info.ToString());
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case EInstruction.LoadAndUnload:
|
|
|
|
case EInstruction.LoadAndUnload:
|
|
|
|
LogHelper.Debug("recive:" + json);
|
|
|
|
LoadAndUnload(json);
|
|
|
|
MachineManage.Instance.RunState = ERunState.Busying;
|
|
|
|
|
|
|
|
sm = JsonConvert.DeserializeObject<SchedulingMaterial>(json);
|
|
|
|
|
|
|
|
schedulResult = new SchedulingResult() { Instruction = sm.Instruction, State = ERunState.Busying, GroupID = sm.GroupID, TurnoverID = sm.TurnoverID };
|
|
|
|
|
|
|
|
string buffer = schedulResult.ToString();
|
|
|
|
|
|
|
|
client.Send(buffer);
|
|
|
|
|
|
|
|
LogHelper.TestCenterLog(buffer);
|
|
|
|
|
|
|
|
LoadAndUnloadTask.Instance.Add(sm);
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(sm.Instruction.ToString());
|
|
|
|
|
|
|
|
ReplayTaskEvent?.Invoke(schedulResult.ToString());
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case EInstruction.CancelLoadAndUnload:
|
|
|
|
case EInstruction.CancelLoadAndUnload:
|
|
|
|
//schedulResult = new SchedulingResult() { Instruction = EInstruction.CancelLoadAndUnload, State = ERunState.Busying, GroupID = sm.GroupID, TurnoverID = sm.TurnoverID };
|
|
|
|
//schedulResult = new SchedulingResult() { Instruction = EInstruction.CancelLoadAndUnload, State = ERunState.Busying, GroupID = sm.GroupID, TurnoverID = sm.TurnoverID };
|
|
|
@ -184,8 +175,6 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
client.Send(schedulResult.ToString());
|
|
|
|
client.Send(schedulResult.ToString());
|
|
|
|
ReplayTaskEvent?.Invoke(schedulResult.ToString());
|
|
|
|
ReplayTaskEvent?.Invoke(schedulResult.ToString());
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case EInstruction.RequestSwitchTray:
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case EInstruction.BeginSwitchTray:
|
|
|
|
case EInstruction.BeginSwitchTray:
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case EInstruction.MoveScanner:
|
|
|
|
case EInstruction.MoveScanner:
|
|
|
@ -221,6 +210,68 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void LoadAndUnload(string json)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
LogHelper.Debug("recive:" + json);
|
|
|
|
|
|
|
|
MachineManage.Instance.RunState = ERunState.Busying;
|
|
|
|
|
|
|
|
sm = JsonConvert.DeserializeObject<SchedulingMaterial>(json);
|
|
|
|
|
|
|
|
schedulResult = new SchedulingResult() { Instruction = sm.Instruction, State = ERunState.Busying, GroupID = sm.GroupID, TurnoverID = sm.TurnoverID };
|
|
|
|
|
|
|
|
string buffer = schedulResult.ToString();
|
|
|
|
|
|
|
|
client.Send(buffer);
|
|
|
|
|
|
|
|
LoadAndUnloadTask.Instance.Add(sm);
|
|
|
|
|
|
|
|
//MessageQueue.Instance.Insert(sm.Instruction.ToString());
|
|
|
|
|
|
|
|
//ReplayTaskEvent?.Invoke(schedulResult.ToString());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 查询 状态
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
/// <param name="json"></param>
|
|
|
|
|
|
|
|
private void InquireConnectionInfo(string json)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
SchedulingConnectionInfo info = JsonConvert.DeserializeObject<SchedulingConnectionInfo>(json);
|
|
|
|
|
|
|
|
info.Type = SchedulingConnectionInfo.EType.Scheduling;
|
|
|
|
|
|
|
|
TestCenter.instance.Send(info);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 查询料仓状态
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
/// <param name="json"></param>
|
|
|
|
|
|
|
|
private void InquireSiloStatus(string json)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
SchedulingSilo inquireSilo = JsonConvert.DeserializeObject<SchedulingSilo>(json);
|
|
|
|
|
|
|
|
switch (inquireSilo.SiloType)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
case SchedulingSiloBase.ESiloType.ToBeTested:
|
|
|
|
|
|
|
|
inquireSilo.SiloStatus = SchedulingSilo.ESiloStatus.Standby;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SchedulingSiloBase.ESiloType.Passed:
|
|
|
|
|
|
|
|
inquireSilo.SiloStatus = SchedulingSilo.ESiloStatus.Standby;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SchedulingSiloBase.ESiloType.Failed:
|
|
|
|
|
|
|
|
inquireSilo.SiloStatus = SchedulingSilo.ESiloStatus.Standby;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SchedulingSiloBase.ESiloType.Multifunction:
|
|
|
|
|
|
|
|
inquireSilo.SiloStatus = SchedulingSilo.ESiloStatus.Standby;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SchedulingSiloBase.ESiloType.EmptyInput:
|
|
|
|
|
|
|
|
inquireSilo.SiloStatus = SchedulingSilo.ESiloStatus.Standby;// StockManager.Instance.GetStockStatus(EStockType.Empty1);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SchedulingSiloBase.ESiloType.EmptyOutput:
|
|
|
|
|
|
|
|
inquireSilo.SiloStatus = SchedulingSilo.ESiloStatus.Standby;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
TestCenter.instance.Send(inquireSilo);
|
|
|
|
|
|
|
|
//查询料仓状态
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 请求切盘
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
private void RequestSwitchTray(string json)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|
/// 断开连接
|
|
|
|
/// 断开连接
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
@ -282,6 +333,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
return client.Send(content);
|
|
|
|
return client.Send(content);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int Send(Scheduling scheduing)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
string content = JsonConvert.SerializeObject(scheduing, new StringEnumConverter());
|
|
|
|
|
|
|
|
return Send(content);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void EndInput()
|
|
|
|
public void EndInput()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Scheduling s = new Scheduling();
|
|
|
|
Scheduling s = new Scheduling();
|
|
|
|