From 6bdb8552eb5f279856d783c267adc0565cb4de2a Mon Sep 17 00:00:00 2001
From: lhiven <2366881222@qq.com>
Date: Sun, 3 Dec 2023 13:05:21 +0800
Subject: [PATCH] =?UTF-8?q?fromindex=20and=20toindex=E5=92=8C=E4=B8=AD?=
=?UTF-8?q?=E6=8E=A7=E4=BF=9D=E6=8C=81=E4=B8=80=E8=87=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Rs.SkyLine/Commom/NozzleCollection.cs | 4 +-
Rs.SkyLine/Commom/Ops.cs | 6 +-
Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs | 196 +++++++++++---------
3 files changed, 117 insertions(+), 89 deletions(-)
diff --git a/Rs.SkyLine/Commom/NozzleCollection.cs b/Rs.SkyLine/Commom/NozzleCollection.cs
index 1224702..0b7a7c1 100644
--- a/Rs.SkyLine/Commom/NozzleCollection.cs
+++ b/Rs.SkyLine/Commom/NozzleCollection.cs
@@ -44,14 +44,14 @@ namespace Rs.MotionPlat.Commom
public int FromFloor { get; set; }
///
- /// 周转信息
+ /// 周转信息(和中控保持一致)
///
public int FromIndex { get; set; }
public TurnoverType ToType { get; set; }
public int ToFloor { get; set; }
///
- /// 周转信息
+ /// 周转信息(和中控保持一致)
///
public int ToIndex { get; set; }
diff --git a/Rs.SkyLine/Commom/Ops.cs b/Rs.SkyLine/Commom/Ops.cs
index 8ebc49f..0da5752 100644
--- a/Rs.SkyLine/Commom/Ops.cs
+++ b/Rs.SkyLine/Commom/Ops.cs
@@ -149,7 +149,11 @@ namespace Rs.MotionPlat.Commom
DischargeFlow.Instance.Start();
TurnoverFlow.Instance.Start();
MachineManage.Instance.SetCenterMachineStatus(ERunStatus.Started);
- MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
+ var status = MachineManage.Instance.GetLoadUnloadStatus();
+ if(status!= ERunState.Busying && status!= ERunState.Unloading)
+ {
+ MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
+ }
MachineManage.Instance.SetLocalMachineStatus(EMachineStatus.Working);
}
});
diff --git a/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs b/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs
index d3e4bac..4b5558e 100644
--- a/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs
+++ b/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs
@@ -59,18 +59,18 @@ namespace Rs.MotionPlat.Flow
放料任务完成,
任务结束到安全位,
等待任务结束到安全位,
- 测试工位上料,
- 等待测试工位上料完成,
- 测试工位下料,
- 等待测试工位下料完成,
- 等待Input料盘搬运完成,
- 等待Input料仓上料完成,
- 等待Ok料仓收料完成,
- 等待Ok料盘搬运完成,
- 等待Ng料仓收料完成,
- 等待Ng料盘搬运完成,
- 等待Multi料仓收料完成,
- 等待Multi料盘搬运完成,
+ //测试工位上料,
+ //等待测试工位上料完成,
+ //测试工位下料,
+ //等待测试工位下料完成,
+ //等待Input料盘搬运完成,
+ //等待Input料仓上料完成,
+ //等待Ok料仓收料完成,
+ //等待Ok料盘搬运完成,
+ //等待Ng料仓收料完成,
+ //等待Ng料盘搬运完成,
+ //等待Multi料仓收料完成,
+ //等待Multi料盘搬运完成,
IDLE
}
@@ -190,11 +190,12 @@ namespace Rs.MotionPlat.Flow
if (XYCanMove() || GlobalVar.VirtualAxis)
{
curSlotPoint = null;
+ curNozzle.FromType=curTask.FromType;
if (curTask.FromType == TurnoverType.Turnover)
{
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Turnover, curTask.FromIndex + 1);
- curNozzle.FromIndex = curTask.FromIndex + 1;
- logInfo = GetClassName()+ $"{curNozzle.NozzleIndex}号排料吸嘴到周转盘{curTask.FromIndex + 1}号穴位取料";
+ curNozzle.FromIndex = curTask.FromIndex;
+ logInfo = GetClassName()+ $"排料吸嘴{curNozzle.NozzleIndex}号到周转盘{curNozzle.FromIndex + 1}号穴位取料";
MessageQueue.Instance.Insert(logInfo);
}
else if (curTask.FromType == TurnoverType.ToBeTested)
@@ -203,13 +204,13 @@ namespace Rs.MotionPlat.Flow
if (slot != null)
{
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Input, slot.Index);
- curNozzle.FromIndex= slot.Index;
- logInfo =GetClassName()+ $"{curNozzle.NozzleIndex}号吸排料嘴去Input盘{slot.Index}号穴位取料";
+ curNozzle.FromIndex= slot.Index-1;
+ logInfo =GetClassName()+ $"排料吸嘴{curNozzle.NozzleIndex}号到Input盘{curNozzle.FromIndex+1}号穴位取料";
MessageQueue.Instance.Insert(logInfo);
}
else
{
- logInfo = GetClassName()+ $"检测到Input料盘无料,准备切盘";
+ logInfo = GetClassName()+ $"检测到Input料盘无料,准备切换料盘";
MessageQueue.Instance.Insert(logInfo);
TakeTrayFlow.Instance.Take(ETrayType.Input, ETrayType.Empty1,
() =>
@@ -286,7 +287,7 @@ namespace Rs.MotionPlat.Flow
case EDischargeFlowStep.等待到取料位上方:
if (Ops.IsStop("LoadX", "LoadY", $"NozzleR{curNozzle.NozzleIndex}") || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName()+$"已运动到取料位上方";
+ logInfo = GetClassName()+$"已运动到{WitchTrayWitchSlot(curNozzle.FromType,curNozzle.FromIndex)}取料位上方";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.到取料位下方;
}
@@ -306,7 +307,7 @@ namespace Rs.MotionPlat.Flow
errCode = AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").MovePos(targetPos, GlobalVar.WholeSpeed);
if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName() + $"到取料位下方";
+ logInfo = GetClassName() + $"到{WitchTrayWitchSlot(curNozzle.FromType, curNozzle.FromIndex)}号穴位取料位下方";
MessageQueue.Instance.Insert(logInfo);
if (GlobalVar.VirtualAxis)
{
@@ -331,7 +332,7 @@ namespace Rs.MotionPlat.Flow
case EDischargeFlowStep.等待到取料位下方:
if (Ops.IsStop($"NozzleZ{curNozzle.NozzleIndex}") || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName()+ $"已运动到取料位下方";
+ logInfo = GetClassName()+ $"已运动到{WitchTrayWitchSlot(curNozzle.FromType, curNozzle.FromIndex)}号穴位取料位下方";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.开真空;
}
@@ -376,7 +377,7 @@ namespace Rs.MotionPlat.Flow
{
Thread.Sleep(GlobalVar.VirtualAxisMoveTime);
}
- logInfo = GetClassName()+ $"取料完成准备抬起";
+ logInfo = GetClassName()+ $"取{WitchTrayWitchSlot(curNozzle.FromType, curNozzle.FromIndex)}号穴位产品完成准备抬起";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.等待取料完成抬起;
}
@@ -388,7 +389,7 @@ namespace Rs.MotionPlat.Flow
case EDischargeFlowStep.等待取料完成抬起:
if (Ops.IsStop($"NozzleZ{curNozzle.NozzleIndex}") || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName()+$"取料完成已抬起";
+ logInfo = GetClassName()+$"取{WitchTrayWitchSlot(curNozzle.FromType, curNozzle.FromIndex)}号穴位产品完成已抬起";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.取料完成后真空检测;
}
@@ -397,7 +398,7 @@ namespace Rs.MotionPlat.Flow
if (Ops.IsOn($"{curNozzle.NozzleIndex}号吸嘴真空吸检测") || GlobalVar.RunSpace || GlobalVar.VirtualAxis)
{
reFetchNum = 0;
- logInfo = GetClassName()+$"{curNozzle.NozzleIndex}号排料吸嘴真空检测OK";
+ logInfo = GetClassName()+$"排料吸嘴{curNozzle.NozzleIndex}号真空检测OK";
MessageQueue.Instance.Insert(logInfo);
UpdateNozzleStatus(curNozzle, curTask);
undoTaskNum = LoadAndUnloadTask.Instance.GetTaskNum(curTask.taskMode);
@@ -789,7 +790,7 @@ namespace Rs.MotionPlat.Flow
{
if (curNozzle.ToType == TurnoverType.Turnover)
{
- logInfo = GetClassName() + $"号排料吸嘴到周转盘{curNozzle.ToIndex + 1}号穴位上方";
+ logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号到{curNozzle.ToType}盘{curNozzle.ToIndex + 1}号穴位上方";
MessageQueue.Instance.Insert(logInfo);
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Turnover, curNozzle.ToIndex + 1);
turnoverOffsetPoint = TurnoverSlotOffset.GetOffsetPoint(curNozzle.ToIndex + 1);
@@ -811,10 +812,12 @@ namespace Rs.MotionPlat.Flow
else if (curNozzle.ToType == TurnoverType.Passed)
{
downSlot = GlobalTray.OkTary.GetSlot(ESlotStatus.NotHave);
+
if (downSlot != null)
{
+ curNozzle.ToIndex = downSlot.Index - 1;
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Ok, downSlot.Index);
- logInfo = $"{nameof(DischargeFlow)}-{curNozzle.NozzleIndex}号排料吸嘴到OK盘{downSlot.Index}号穴位上方";
+ logInfo = GetClassName()+$"排料吸嘴{curNozzle.NozzleIndex}号到{curNozzle.ToType}盘{curNozzle.ToIndex+1}号穴位上方";
MessageQueue.Instance.Insert(logInfo);
}
else
@@ -824,8 +827,8 @@ namespace Rs.MotionPlat.Flow
() => { StockManager.Instance.GetStock(ETrayType.Empty2).Load(EStockTrayLoadMode.Whole, null); },
null,
() => { StockManager.Instance.GetStock(ETrayType.Ok).Load(EStockTrayLoadMode.AfterTakeTray, null);});
- restoreFlowStep = EDischargeFlowStep.到放料位上方;
- flowStep = EDischargeFlowStep.等待Ok料盘搬运完成;
+ //restoreFlowStep = EDischargeFlowStep.到放料位上方;
+ //flowStep = EDischargeFlowStep.等待Ok料盘搬运完成;
}
}
else if (curNozzle.ToType == TurnoverType.Failed)
@@ -833,8 +836,9 @@ namespace Rs.MotionPlat.Flow
downSlot = GlobalTray.NgTray.GetSlot(ESlotStatus.NotHave);
if (downSlot != null)
{
+ curNozzle.ToIndex = downSlot.Index - 1;
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Ng, downSlot.Index);
- logInfo = $"{nameof(DischargeFlow)}-{curNozzle.NozzleIndex}号排料吸嘴到NG盘{downSlot.Index}号穴位上方";
+ logInfo = GetClassName()+$"排料吸嘴{curNozzle.NozzleIndex}号到{curNozzle.ToType}盘{curNozzle.ToIndex+1}号穴位上方";
MessageQueue.Instance.Insert(logInfo);
}
else
@@ -844,8 +848,8 @@ namespace Rs.MotionPlat.Flow
() => { StockManager.Instance.GetStock(ETrayType.Empty2).Load(EStockTrayLoadMode.Whole, null); },
null,
() => { StockManager.Instance.GetStock(ETrayType.Ng).Load(EStockTrayLoadMode.AfterTakeTray, null); });
- restoreFlowStep = EDischargeFlowStep.到放料位上方;
- flowStep = EDischargeFlowStep.等待Ng料盘搬运完成;
+ //restoreFlowStep = EDischargeFlowStep.到放料位上方;
+ //flowStep = EDischargeFlowStep.等待Ng料盘搬运完成;
}
}
else if (curNozzle.ToType == TurnoverType.Multifunction)
@@ -853,8 +857,9 @@ namespace Rs.MotionPlat.Flow
downSlot = GlobalTray.MultiTray.GetSlot(ESlotStatus.NotHave);
if (downSlot != null)
{
+ curNozzle.ToIndex = downSlot.Index - 1;
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Multi, downSlot.Index);
- logInfo = $"{nameof(DischargeFlow)}-{curNozzle.NozzleIndex}号排料吸嘴到Multi盘{downSlot.Index}号穴位上方";
+ logInfo =GetClassName()+ $"排料吸嘴{curNozzle.NozzleIndex}号到{curNozzle.ToType}盘{curNozzle.ToIndex+1}号穴位上方";
MessageQueue.Instance.Insert(logInfo);
}
else
@@ -864,8 +869,8 @@ namespace Rs.MotionPlat.Flow
() => { StockManager.Instance.GetStock(ETrayType.Empty2).Load(EStockTrayLoadMode.Whole, null); },
null,
() => { StockManager.Instance.GetStock(ETrayType.Multi).Load(EStockTrayLoadMode.AfterTakeTray, null); });
- restoreFlowStep = EDischargeFlowStep.到放料位上方;
- flowStep = EDischargeFlowStep.等待Multi料盘搬运完成;
+ //restoreFlowStep = EDischargeFlowStep.到放料位上方;
+ //flowStep = EDischargeFlowStep.等待Multi料盘搬运完成;
}
}
}
@@ -924,7 +929,7 @@ namespace Rs.MotionPlat.Flow
case EDischargeFlowStep.等待到放料位上方:
if (Ops.IsStop("LoadX", "LoadY",$"NozzleR{curNozzle.NozzleIndex}") || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName()+$"{curNozzle.NozzleIndex}号排料吸嘴已运动到放料位上方";
+ logInfo = GetClassName()+$"排料吸嘴{curNozzle.NozzleIndex}号已运动到{WitchTrayWitchSlot(curNozzle.ToType,curNozzle.ToIndex)}放料位上方";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.丢料检测;
}
@@ -974,7 +979,14 @@ namespace Rs.MotionPlat.Flow
}
else
{
- flowStep = EDischargeFlowStep.到放料位下方;
+ if (curNozzle.Status == ENozzleStatus.ToUnload)
+ {
+ flowStep = EDischargeFlowStep.到放料位下方;
+ }
+ else
+ {
+ flowStep = EDischargeFlowStep.放料任务完成;
+ }
}
}
else
@@ -1002,7 +1014,7 @@ namespace Rs.MotionPlat.Flow
errCode = AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").MovePos(targetPos, GlobalVar.WholeSpeed);
if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName() + $"{curNozzle.NozzleIndex}号排料吸嘴到放料位下方";
+ logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号到{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}放料位下方";
MessageQueue.Instance.Insert(logInfo);
VirtualAxisSleep();
flowStep = EDischargeFlowStep.等待到放料位下方;
@@ -1015,7 +1027,7 @@ namespace Rs.MotionPlat.Flow
case EDischargeFlowStep.等待到放料位下方:
if (Ops.IsStop($"NozzleZ{curNozzle.NozzleIndex}") || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName()+ $"{curNozzle.NozzleIndex}号排料吸嘴已运动到放料位下方";
+ logInfo = GetClassName()+ $"排料吸嘴{curNozzle.NozzleIndex}号已运动到{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}放料位下方";
MessageQueue.Instance.Insert(logInfo);
if (curNozzle.ToType == TurnoverType.Turnover)
{
@@ -1062,7 +1074,7 @@ namespace Rs.MotionPlat.Flow
errCode = AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").MovePos(targetPos, GlobalVar.WholeSpeed);
if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName() + $"{curNozzle.NozzleIndex}号排料吸嘴周转盘放料完成,准备抬起{GlobalVar.DischargeNozzleDumpTurnoverTrayOffset}mm后关闭破真空";
+ logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号周转盘放料完成,准备抬起{GlobalVar.DischargeNozzleDumpTurnoverTrayOffset}mm后关闭破真空";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.等待到放料关破真空位;
}
@@ -1077,7 +1089,7 @@ namespace Rs.MotionPlat.Flow
/*关闭排料吸嘴真空破*/
Ops.Off($"{curNozzle.NozzleIndex}号吸嘴真空破电磁阀");
Thread.Sleep(GlobalVar.LoadNozzleCloseVacBreakDelaytime);
- logInfo = GetClassName() + $"{curNozzle.NozzleIndex}号排料吸嘴抬起{GlobalVar.DischargeNozzleDumpTurnoverTrayOffset}mm后关闭破真空";
+ logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号抬起{GlobalVar.DischargeNozzleDumpTurnoverTrayOffset}mm后关闭破真空";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.放料完成抬起;
}
@@ -1086,7 +1098,7 @@ namespace Rs.MotionPlat.Flow
errCode = AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").MovePos(0, GlobalVar.WholeSpeed);
if (errCode == ErrorCode.Ok || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName() + $"{curNozzle.NozzleIndex}号排料吸嘴放料完成抬起";
+ logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}放料完成抬起";
MessageQueue.Instance.Insert(logInfo);
if (GlobalVar.VirtualAxis)
{
@@ -1102,7 +1114,7 @@ namespace Rs.MotionPlat.Flow
case EDischargeFlowStep.等待放料完成抬起:
if (Ops.IsStop($"NozzleZ{curNozzle.NozzleIndex}") || GlobalVar.VirtualAxis)
{
- logInfo = GetClassName()+$"{curNozzle.NozzleIndex}号排料吸嘴放料完成已起位,准备真空检测";
+ logInfo = GetClassName()+$"排料吸嘴{curNozzle.NozzleIndex}号{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}放料完成已起位,准备真空检测";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.粘料检测;
}
@@ -1116,7 +1128,7 @@ namespace Rs.MotionPlat.Flow
while(!skip)
{
//粘料报警,提示用户粘料,移动到安全位,或者点击跳过
- alarmInfo = $"{curNozzle.NozzleIndex}号吸嘴可能粘料,请查看吸嘴状态后处理";
+ alarmInfo = $"排料吸嘴{curNozzle.NozzleIndex}号可能粘料,请查看吸嘴状态后处理";
TestCenterMessageBox.Show(AlarmConstID.NozzleTackinessAlarm, alarmInfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText());
msgBox = TestCenterMessageBox.WaitResult(AlarmConstID.NozzleTackinessAlarm);
switch (msgBox.Button)
@@ -1224,13 +1236,14 @@ namespace Rs.MotionPlat.Flow
// break;
#endregion
case EDischargeFlowStep.放料任务完成:
- logInfo = GetClassName()+ $"{curNozzle.ToType}盘放料任务完成";
- MessageQueue.Instance.Insert(logInfo);
+
//AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").Home();
//MessageQueue.Instance.Insert($"{curNozzle.NozzleIndex}号排料吸嘴回原");
//Ops.HomeAndGoStartPos($"NozzleR{NozzleIndex}");
if (curNozzle.Status == ENozzleStatus.ToUnload)
{
+ logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}放料任务完成";
+ MessageQueue.Instance.Insert(logInfo);
if (curNozzle.ToType == TurnoverType.Turnover)
{
GlobalTray.TurnoverTray.ChangeStatus(curNozzle.ToIndex + 1, ESlotStatus.Have);
@@ -1239,27 +1252,27 @@ namespace Rs.MotionPlat.Flow
}
else if (curNozzle.ToType == TurnoverType.ToBeTested)
{
- curNozzle.ToIndex = downSlot.Index - 1;
+ //curNozzle.ToIndex = downSlot.Index - 1;
curNozzle.ToFloor = StockManager.Instance.GetStock(ETrayType.Input).GetFloor();
- GlobalTray.InputTray.ChangeStatus(downSlot.Index, ESlotStatus.Have);
+ GlobalTray.InputTray.ChangeStatus(curNozzle.ToIndex+1, ESlotStatus.Have);
}
else if (curNozzle.ToType == TurnoverType.Passed)
{
- curNozzle.ToIndex = downSlot.Index - 1;
+ //curNozzle.ToIndex = downSlot.Index - 1;
curNozzle.ToFloor = StockManager.Instance.GetStock(ETrayType.Ok).GetFloor();
- GlobalTray.OkTary.ChangeStatus(downSlot.Index, ESlotStatus.Ok);
+ GlobalTray.OkTary.ChangeStatus(curNozzle.ToIndex + 1, ESlotStatus.Ok);
}
else if (curNozzle.ToType == TurnoverType.Failed)
{
- curNozzle.ToIndex = downSlot.Index - 1;
+ //curNozzle.ToIndex = downSlot.Index - 1;
curNozzle.ToFloor = StockManager.Instance.GetStock(ETrayType.Ng).GetFloor();
- GlobalTray.NgTray.ChangeStatus(downSlot.Index, ESlotStatus.Ng);
+ GlobalTray.NgTray.ChangeStatus(curNozzle.ToIndex + 1, ESlotStatus.Ng);
}
else if (curNozzle.ToType == TurnoverType.Multifunction)
{
- curNozzle.ToIndex = downSlot.Index - 1;
+ //curNozzle.ToIndex = downSlot.Index - 1;
curNozzle.ToFloor = StockManager.Instance.GetStock(ETrayType.Multi).GetFloor();
- GlobalTray.MultiTray.ChangeStatus(downSlot.Index, ESlotStatus.Have);
+ GlobalTray.MultiTray.ChangeStatus(curNozzle.ToIndex + 1, ESlotStatus.Have);
}
LoadAndUnloadTask.Instance.AddTurnoverResult(curNozzle);
}
@@ -1355,36 +1368,36 @@ namespace Rs.MotionPlat.Flow
flowStep = EDischargeFlowStep.等待任务;
}
break;
- case EDischargeFlowStep.测试工位上料:
- testLoadList = LoadAndUnloadTask.Instance.GetTurnoverToTestTasks();
- TurnoverFlow.Instance.PressLoad(testLoadList);
- flowStep = EDischargeFlowStep.等待测试工位上料完成;
- break;
- case EDischargeFlowStep.等待测试工位上料完成:
- if (TurnoverFlow.Instance.LoadFinished())
- {
- TestCenter.Instance.LoadTestLoadResult();
- //切换穴位状态
- foreach (TurnoverInfo turnoverInfo in testLoadList)
- {
- GlobalTray.TurnoverTray.ChangeStatus(turnoverInfo.FromIndex+1, ESlotStatus.NotHave);
- }
- LoadAndUnloadTask.Instance.Clear();
- MachineManage.Instance.SetTesterState(ETesterState.Ready);
- MessageQueue.Instance.Insert("通知中控测试位就绪,可以开始测试");
- //MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
+ //case EDischargeFlowStep.测试工位上料:
+ // testLoadList = LoadAndUnloadTask.Instance.GetTurnoverToTestTasks();
+ // TurnoverFlow.Instance.PressLoad(testLoadList);
+ // flowStep = EDischargeFlowStep.等待测试工位上料完成;
+ // break;
+ //case EDischargeFlowStep.等待测试工位上料完成:
+ // if (TurnoverFlow.Instance.LoadFinished())
+ // {
+ // TestCenter.Instance.LoadTestLoadResult();
+ // //切换穴位状态
+ // foreach (TurnoverInfo turnoverInfo in testLoadList)
+ // {
+ // GlobalTray.TurnoverTray.ChangeStatus(turnoverInfo.FromIndex+1, ESlotStatus.NotHave);
+ // }
+ // LoadAndUnloadTask.Instance.Clear();
+ // MachineManage.Instance.SetTesterState(ETesterState.Ready);
+ // MessageQueue.Instance.Insert("通知中控测试位就绪,可以开始测试");
+ // //MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
- //for (int i = 1; i < 9; i++)
- //{
- // GlobalTray.TurnoverTray.ChangeStatus(i, ESlotStatus.NotHave);
- //}
- //for (int i = 17; i < 25; i++)
- //{
- // GlobalTray.TurnoverTray.ChangeStatus(i, ESlotStatus.NotHave);
- //}
- flowStep = EDischargeFlowStep.等待任务;
- }
- break;
+ // //for (int i = 1; i < 9; i++)
+ // //{
+ // // GlobalTray.TurnoverTray.ChangeStatus(i, ESlotStatus.NotHave);
+ // //}
+ // //for (int i = 17; i < 25; i++)
+ // //{
+ // // GlobalTray.TurnoverTray.ChangeStatus(i, ESlotStatus.NotHave);
+ // //}
+ // flowStep = EDischargeFlowStep.等待任务;
+ // }
+ // break;
//case EDischargeFlowStep.等待Input料盘搬运完成:
// if(TakeTrayFlow.Instance.TakeStatus== ETakeStatus.TakeOK)
// {
@@ -1453,7 +1466,7 @@ namespace Rs.MotionPlat.Flow
private void UpdateNozzleStatus(Nozzle nozzle,TurnoverInfo turnoverInfo)
{
nozzle.Status = ENozzleStatus.ToUnload;
- nozzle.FromType = turnoverInfo.FromType;
+ //nozzle.FromType = turnoverInfo.FromType;
nozzle.ToType = turnoverInfo.ToType;
nozzle.ToIndex = turnoverInfo.ToIndex;
turnoverInfo.SuckerNo = nozzle.NozzleIndex;
@@ -1462,15 +1475,15 @@ namespace Rs.MotionPlat.Flow
{
nozzle.FromFloor = turnoverInfo.FromFloor;
nozzle.SN = turnoverInfo.SN;
- nozzle.FromIndex = turnoverInfo.FromIndex;
- GlobalTray.TurnoverTray.ChangeStatus(turnoverInfo.FromIndex + 1, ESlotStatus.NotHave);
+ //nozzle.FromIndex = turnoverInfo.FromIndex;
+ GlobalTray.TurnoverTray.ChangeStatus(nozzle.FromIndex + 1, ESlotStatus.NotHave);
}
else if (turnoverInfo.FromType == TurnoverType.ToBeTested)
{
nozzle.FromFloor = StockManager.Instance.GetStock(ETrayType.Input).GetFloor();
nozzle.SN = "";
- nozzle.FromIndex = GlobalTray.InputTray.GetSlot(ESlotStatus.Have).Index - 1;
- GlobalTray.InputTray.ChangeStatus(GlobalTray.InputTray.GetSlot(ESlotStatus.Have).Index, ESlotStatus.NotHave);
+ //nozzle.FromIndex = GlobalTray.InputTray.GetSlot(ESlotStatus.Have).Index - 1;
+ GlobalTray.InputTray.ChangeStatus(nozzle.FromIndex+1, ESlotStatus.NotHave);
}
nozzle.Update();
turnoverInfo.Dealed = true;
@@ -1543,5 +1556,16 @@ namespace Rs.MotionPlat.Flow
return flowStep.ToString();
}
+ ///
+ /// 到哪个盘哪个穴位
+ ///
+ ///
+ ///
+ ///
+ public string WitchTrayWitchSlot(TurnoverType trayType,int slotIndex)
+ {
+ return $"{trayType}盘{slotIndex}穴位";
+ }
+
}
}