|
|
|
@ -116,14 +116,15 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
private void Client_DataRecived(System.Net.Sockets.Socket socket, byte[] data)
|
|
|
|
|
{
|
|
|
|
|
string msg = Encoding.UTF8.GetString(data);
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
foreach (string json in Scheduling.GetJsons(msg))
|
|
|
|
|
{
|
|
|
|
|
Scheduling schedule = JsonConvert.DeserializeObject<Scheduling>(json);
|
|
|
|
|
EInstruction eInstructioneInstruction = schedule.Instruction;
|
|
|
|
|
if(eInstructioneInstruction!= EInstruction.InquireStatus)
|
|
|
|
|
if (eInstructioneInstruction != EInstruction.InquireStatus)
|
|
|
|
|
{
|
|
|
|
|
LogHelper.Debug(" >>> " +json);
|
|
|
|
|
LogHelper.Debug(" >>> " + json);
|
|
|
|
|
}
|
|
|
|
|
switch (eInstructioneInstruction)
|
|
|
|
|
{
|
|
|
|
@ -135,7 +136,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
Ops.Stop();
|
|
|
|
|
break;
|
|
|
|
|
case EInstruction.TestFinished:
|
|
|
|
|
MessageQueue.Instance.Insert("测试完成:"+JsonConvert.SerializeObject(schedule, new StringEnumConverter()));
|
|
|
|
|
MessageQueue.Instance.Insert("测试完成:" + JsonConvert.SerializeObject(schedule, new StringEnumConverter()));
|
|
|
|
|
ReportToTestCenter(schedule);
|
|
|
|
|
MachineManage.Instance.TestStatus = ETestStatus.Finished;
|
|
|
|
|
break;
|
|
|
|
@ -246,12 +247,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
case EInstruction.SetAlarms:
|
|
|
|
|
break;
|
|
|
|
|
case EInstruction.CancelAlarms:
|
|
|
|
|
SchedulingAlarms alarms= JsonConvert.DeserializeObject<SchedulingAlarms>(msg);
|
|
|
|
|
if(alarms!=null&&alarms.Alarms!=null&&alarms.Alarms.Count>0)
|
|
|
|
|
SchedulingAlarms alarms = JsonConvert.DeserializeObject<SchedulingAlarms>(msg);
|
|
|
|
|
if (alarms != null && alarms.Alarms != null && alarms.Alarms.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
foreach (AlarmItem alarm in alarms.Alarms)
|
|
|
|
|
{
|
|
|
|
|
if(!alarmInfos.ContainsKey(alarm.NO))
|
|
|
|
|
if (!alarmInfos.ContainsKey(alarm.NO))
|
|
|
|
|
{
|
|
|
|
|
alarmInfos.Add(alarm.NO, alarm);
|
|
|
|
|
}
|
|
|
|
@ -267,8 +268,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogHelper.Debug("receivedata:" + msg);
|
|
|
|
|
LogHelper.Debug("接收数据异常:"+ex.Message);
|
|
|
|
|
}
|
|
|
|
|
//string msg=Encoding.UTF8.GetString(data);
|
|
|
|
|
//LogHelper.TestCenterLog("接收:"+msg);
|
|
|
|
|
//ReciveTaskEvent?.Invoke(msg);
|
|
|
|
@ -297,6 +302,13 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
SiloRearrange info = JsonConvert.DeserializeObject<SiloRearrange>(json);
|
|
|
|
|
ReportToTestCenter(info);
|
|
|
|
|
Thread.Sleep(200);
|
|
|
|
|
|
|
|
|
|
//TurnoverInfos tis = new TurnoverInfos();
|
|
|
|
|
//tis.GroupID = 0;
|
|
|
|
|
//tis.Instruction = EInstruction.RearrangeResult;
|
|
|
|
|
//ReportToTestCenter(tis);
|
|
|
|
|
//MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
|
|
|
|
|
//return;
|
|
|
|
|
if (info.SiloType == SchedulingSiloBase.ESiloType.Multifunction)
|
|
|
|
|
{
|
|
|
|
|
TraySlot ts = GlobalTray.MultiTray.GetSlot(Controls.ESlotStatus.NotHave);
|
|
|
|
@ -310,15 +322,18 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Multifunction,TurnoverType.Multifunction, GlobalTray.MultiTray, ts, 1);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Multifunction, TurnoverType.Multifunction, GlobalTray.MultiTray, ts, 1);
|
|
|
|
|
RearrangeTask.AddRanage(rearrangeList);
|
|
|
|
|
RearrangeFlow.Instance.Rearrange();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (info.SiloType == SchedulingSiloBase.ESiloType.Passed)
|
|
|
|
|
{
|
|
|
|
|
TraySlot ts = GlobalTray.OkTary.GetSlot(Controls.ESlotStatus.NotHave);
|
|
|
|
|
if (ts==null || ts.Column==0)//无需重排
|
|
|
|
|
if (ts == null || ts.Column == 0)//无需重排
|
|
|
|
|
{
|
|
|
|
|
TurnoverInfos tis = new TurnoverInfos();
|
|
|
|
|
tis.GroupID = 0;
|
|
|
|
@ -328,9 +343,13 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Passed,TurnoverType.Passed, GlobalTray.OkTary, ts, 1);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Passed, TurnoverType.Passed, GlobalTray.OkTary, ts, 1);
|
|
|
|
|
RearrangeTask.AddRanage(rearrangeList);
|
|
|
|
|
|
|
|
|
|
RearrangeFlow.Instance.Rearrange();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (info.SiloType == SchedulingSiloBase.ESiloType.Failed)
|
|
|
|
@ -346,9 +365,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Failed,TurnoverType.Failed, GlobalTray.NgTray,ts, 1);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Failed, TurnoverType.Failed, GlobalTray.NgTray, ts, 1);
|
|
|
|
|
RearrangeTask.AddRanage(rearrangeList);
|
|
|
|
|
RearrangeFlow.Instance.Rearrange();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|