diff --git a/Rs.DeweyTester/Flow/NormalFlow/Stock3Flow.cs b/Rs.DeweyTester/Flow/NormalFlow/Stock3Flow.cs index 48ce4a8..fb8e210 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/Stock3Flow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/Stock3Flow.cs @@ -84,6 +84,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow if (HasTray()) { HoldTray(); + LooseTray(); Status = EStockStatus.Ready; MessageQueue.Instance.Insert("ready"); return; diff --git a/Rs.DeweyTester/Flow/NormalFlow/StockFlowBase.cs b/Rs.DeweyTester/Flow/NormalFlow/StockFlowBase.cs index 58bc325..2f23643 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/StockFlowBase.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/StockFlowBase.cs @@ -98,7 +98,8 @@ namespace Rs.MotionPlat.Flow.NormalFlow switch (outStockStep) { case EOutStockFlowStep.松开定位销: - StockModule.ClampTrayCylinder(EIoOperate.Open, StockIndex,GetClassName()); + //StockModule.ClampTrayCylinder(EIoOperate.Open, StockIndex,GetClassName()); + StockManager.OpenTray(StockIndex); stopwatch.Restart(); outStockStep = EOutStockFlowStep.等待松开定位销完成; break; @@ -198,7 +199,8 @@ namespace Rs.MotionPlat.Flow.NormalFlow switch (inStockStep) { case EInStockFlowStep.松开定位销: - StockModule.ClampTrayCylinder(EIoOperate.Open, StockIndex, GetClassName()); + //StockModule.ClampTrayCylinder(EIoOperate.Open, StockIndex, GetClassName()); + StockManager.OpenTray(StockIndex); stopwatch.Restart(); inStockStep = EInStockFlowStep.等待松开定位销完成; break; diff --git a/Rs.DeweyTester/Flow/NormalFlow/TakeTrayFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/TakeTrayFlow.cs index 87288f4..af12d2c 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/TakeTrayFlow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/TakeTrayFlow.cs @@ -26,7 +26,7 @@ namespace Rs.MotionPlat.Flow 等待到取料盘上方, 等待料盘准备就绪, 等待运动到取料位下方, - 等待夹磁气缸松开, + //等待夹磁气缸松开, 取料盘完成抬起, 等待取料盘完成抬起, 料盘是否抓起检测, @@ -171,6 +171,10 @@ namespace Rs.MotionPlat.Flow case ETakeTrayFlowStep.等待到取料盘上方: if (Ops.IsStop("TakeTrayX") || GlobalVar.VirtualAxis) { + if(fromTray== ETrayType.Empty) + { + StockManager.CloseTray(fromStockIndex); + } AxisPosPrint.PrintTakeTrayXCurrentPos($"已运动到料仓{m_fromTray}取料盘位上方", GetClassName()); step = ETakeTrayFlowStep.等待料盘准备就绪; } @@ -199,9 +203,10 @@ namespace Rs.MotionPlat.Flow //打开真空 TakeTrayModule.VacOperation(EIoOperate.Open,GetClassName()); //松开夹爪 - StockModule.ClampTrayCylinder(EIoOperate.Open, fromStockIndex,GetClassName()); + //StockModule.ClampTrayCylinder(EIoOperate.Open, fromStockIndex,GetClassName()); + StockManager.OpenTray(fromStockIndex); stopwatch.Restart(); - step = ETakeTrayFlowStep.等待夹磁气缸松开; + step = ETakeTrayFlowStep.取料盘完成抬起; } else if (stopwatch.ElapsedMilliseconds > 5000) { @@ -219,26 +224,26 @@ namespace Rs.MotionPlat.Flow } break; - case ETakeTrayFlowStep.等待夹磁气缸松开: - if(Ops.IsOn($"料仓夹磁气缸{fromStockIndex}原位")) - { - step = ETakeTrayFlowStep.取料盘完成抬起; - } - else if(stopwatch.ElapsedMilliseconds>5000) - { - alarmEntity = AlarmCollection.Get($"料仓{fromStockIndex}夹磁气缸原位异常"); - if (alarmEntity != null) - { - Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); - step = ETakeTrayFlowStep.等待夹磁气缸松开; - } - else - { - Msg.ShowError($"料仓{fromStockIndex}夹磁气缸原位异常"); - } - stopwatch.Restart(); - } - break; + //case ETakeTrayFlowStep.等待夹磁气缸松开: + // if(Ops.IsOn($"料仓夹磁气缸{fromStockIndex}原位")) + // { + // step = ETakeTrayFlowStep.取料盘完成抬起; + // } + // else if(stopwatch.ElapsedMilliseconds>5000) + // { + // alarmEntity = AlarmCollection.Get($"料仓{fromStockIndex}夹磁气缸原位异常"); + // if (alarmEntity != null) + // { + // Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); + // step = ETakeTrayFlowStep.等待夹磁气缸松开; + // } + // else + // { + // Msg.ShowError($"料仓{fromStockIndex}夹磁气缸原位异常"); + // } + // stopwatch.Restart(); + // } + // break; case ETakeTrayFlowStep.取料盘完成抬起: TakeTrayModule.CylinderGoUp(GetClassName()); stopwatch.Restart(); @@ -525,6 +530,11 @@ namespace Rs.MotionPlat.Flow logInfo = GetClassName() + $"放料盘完成"; MessageQueue.Instance.Insert(logInfo); step = ETakeTrayFlowStep.到待机位; + if(toTray== ETrayType.Empty) + { + StockManager.CloseTray(toStockIndex); + StockManager.OpenTray(toStockIndex); + } //if (mLoadUnloadType == ELoadUnloadType.Load) //{ // StockManager.Instance.Load(m_toTray, EStockTrayLoadMode.AfterTakeTray);