|
|
@ -26,7 +26,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
等待到取料盘上方,
|
|
|
|
等待到取料盘上方,
|
|
|
|
等待料盘准备就绪,
|
|
|
|
等待料盘准备就绪,
|
|
|
|
等待运动到取料位下方,
|
|
|
|
等待运动到取料位下方,
|
|
|
|
等待夹磁气缸松开,
|
|
|
|
//等待夹磁气缸松开,
|
|
|
|
取料盘完成抬起,
|
|
|
|
取料盘完成抬起,
|
|
|
|
等待取料盘完成抬起,
|
|
|
|
等待取料盘完成抬起,
|
|
|
|
料盘是否抓起检测,
|
|
|
|
料盘是否抓起检测,
|
|
|
@ -171,6 +171,10 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETakeTrayFlowStep.等待到取料盘上方:
|
|
|
|
case ETakeTrayFlowStep.等待到取料盘上方:
|
|
|
|
if (Ops.IsStop("TakeTrayX") || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop("TakeTrayX") || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if(fromTray== ETrayType.Empty)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
StockManager.CloseTray(fromStockIndex);
|
|
|
|
|
|
|
|
}
|
|
|
|
AxisPosPrint.PrintTakeTrayXCurrentPos($"已运动到料仓{m_fromTray}取料盘位上方", GetClassName());
|
|
|
|
AxisPosPrint.PrintTakeTrayXCurrentPos($"已运动到料仓{m_fromTray}取料盘位上方", GetClassName());
|
|
|
|
step = ETakeTrayFlowStep.等待料盘准备就绪;
|
|
|
|
step = ETakeTrayFlowStep.等待料盘准备就绪;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -199,9 +203,10 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
//打开真空
|
|
|
|
//打开真空
|
|
|
|
TakeTrayModule.VacOperation(EIoOperate.Open,GetClassName());
|
|
|
|
TakeTrayModule.VacOperation(EIoOperate.Open,GetClassName());
|
|
|
|
//松开夹爪
|
|
|
|
//松开夹爪
|
|
|
|
StockModule.ClampTrayCylinder(EIoOperate.Open, fromStockIndex,GetClassName());
|
|
|
|
//StockModule.ClampTrayCylinder(EIoOperate.Open, fromStockIndex,GetClassName());
|
|
|
|
|
|
|
|
StockManager.OpenTray(fromStockIndex);
|
|
|
|
stopwatch.Restart();
|
|
|
|
stopwatch.Restart();
|
|
|
|
step = ETakeTrayFlowStep.等待夹磁气缸松开;
|
|
|
|
step = ETakeTrayFlowStep.取料盘完成抬起;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (stopwatch.ElapsedMilliseconds > 5000)
|
|
|
|
else if (stopwatch.ElapsedMilliseconds > 5000)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -219,26 +224,26 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETakeTrayFlowStep.等待夹磁气缸松开:
|
|
|
|
//case ETakeTrayFlowStep.等待夹磁气缸松开:
|
|
|
|
if(Ops.IsOn($"料仓夹磁气缸{fromStockIndex}原位"))
|
|
|
|
// if(Ops.IsOn($"料仓夹磁气缸{fromStockIndex}原位"))
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
step = ETakeTrayFlowStep.取料盘完成抬起;
|
|
|
|
// step = ETakeTrayFlowStep.取料盘完成抬起;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
else if(stopwatch.ElapsedMilliseconds>5000)
|
|
|
|
// else if(stopwatch.ElapsedMilliseconds>5000)
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
alarmEntity = AlarmCollection.Get($"料仓{fromStockIndex}夹磁气缸原位异常");
|
|
|
|
// alarmEntity = AlarmCollection.Get($"料仓{fromStockIndex}夹磁气缸原位异常");
|
|
|
|
if (alarmEntity != null)
|
|
|
|
// if (alarmEntity != null)
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry);
|
|
|
|
// Msgbox.ShowDialog(alarmEntity, EButtonType.Retry);
|
|
|
|
step = ETakeTrayFlowStep.等待夹磁气缸松开;
|
|
|
|
// step = ETakeTrayFlowStep.等待夹磁气缸松开;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
else
|
|
|
|
// else
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
Msg.ShowError($"料仓{fromStockIndex}夹磁气缸原位异常");
|
|
|
|
// Msg.ShowError($"料仓{fromStockIndex}夹磁气缸原位异常");
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
stopwatch.Restart();
|
|
|
|
// stopwatch.Restart();
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
break;
|
|
|
|
// break;
|
|
|
|
case ETakeTrayFlowStep.取料盘完成抬起:
|
|
|
|
case ETakeTrayFlowStep.取料盘完成抬起:
|
|
|
|
TakeTrayModule.CylinderGoUp(GetClassName());
|
|
|
|
TakeTrayModule.CylinderGoUp(GetClassName());
|
|
|
|
stopwatch.Restart();
|
|
|
|
stopwatch.Restart();
|
|
|
@ -525,6 +530,11 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
logInfo = GetClassName() + $"放料盘完成";
|
|
|
|
logInfo = GetClassName() + $"放料盘完成";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
step = ETakeTrayFlowStep.到待机位;
|
|
|
|
step = ETakeTrayFlowStep.到待机位;
|
|
|
|
|
|
|
|
if(toTray== ETrayType.Empty)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
StockManager.CloseTray(toStockIndex);
|
|
|
|
|
|
|
|
StockManager.OpenTray(toStockIndex);
|
|
|
|
|
|
|
|
}
|
|
|
|
//if (mLoadUnloadType == ELoadUnloadType.Load)
|
|
|
|
//if (mLoadUnloadType == ELoadUnloadType.Load)
|
|
|
|
//{
|
|
|
|
//{
|
|
|
|
// StockManager.Instance.Load(m_toTray, EStockTrayLoadMode.AfterTakeTray);
|
|
|
|
// StockManager.Instance.Load(m_toTray, EStockTrayLoadMode.AfterTakeTray);
|
|
|
|