@ -140,7 +140,7 @@ namespace Rs.MotionPlat.Flow
//List<int> slots = new List<int>();
List < int > ngList = new List < int > ( ) ;
ETurnoverFlowStep Step = ETurnoverFlowStep . 等 待 任 务 ;
double targetPos = 0.0 ;
//double targetPos = 0.0 ;
Motion . ErrorCode errCode = Motion . ErrorCode . Ok ;
List < TransitNozzle > hasProductNozzles = new List < TransitNozzle > ( ) ;
/// <summary>
@ -159,6 +159,10 @@ namespace Rs.MotionPlat.Flow
bool bTakeFlag = false ;
bool hasUnloadFlag = false ;
int turnoverTrayToTestTrayNum = 1 ;
double targetTurnoverX = 0.0 ;
double targetTurnoverY = 0.0 ;
double targetTurnoverZ = 0.0 ;
double targetPressZ = 0.0 ;
/// <summary>
/// 可以下料到周转盘
/// </summary>
@ -211,12 +215,12 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 到 周 转 盘 取 料 位 上 方 :
if ( CanGoTurnoverTrayPos ( ) )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverX = SysConfigParam . GetValue < double > ( "TurnoverTakeX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target TurnoverX , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverY = SysConfigParam . GetValue < double > ( "TurnoverTakeY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target TurnoverY , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -245,7 +249,8 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 运 动 到 周 转 盘 取 料 位 上 方 :
if ( Ops . IsStop ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到周转盘取料位上方" ;
MessageQueue . Instance . Insert ( logInfo ) ;
@ -261,6 +266,10 @@ namespace Rs.MotionPlat.Flow
Step = ETurnoverFlowStep . 取 料 异 常 报 警 ;
}
}
else
{
Step = ETurnoverFlowStep . 到 周 转 盘 取 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 取 料 异 常 报 警 :
@ -337,13 +346,13 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 到 周 转 盘 下 方 取 料 位 1 :
if ( GlobalVar . EnableTwoSpeed )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
}
else
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
}
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
undealTasks = LoadAndUnloadTask . Instance . GetTurnoverToTestTasks ( ETaskDealStatus . Undeal ) ;
@ -366,14 +375,21 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 运 动 到 周 转 盘 下 方 取 料 位 1 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
logInfo = GetClassName ( ) + $"已运动到周转盘下方取料位1 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 周 转 盘 下 方 取 料 位 2 ;
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到周转盘下方取料位1 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 周 转 盘 下 方 取 料 位 2 ;
}
else
{
Step = ETurnoverFlowStep . 到 周 转 盘 取 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 周 转 盘 下 方 取 料 位 2 :
targetPos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( targetPos , GlobalVar . PressLowSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . PressLowSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -392,7 +408,8 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 运 动 到 周 转 盘 下 方 取 料 位 2 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到周转盘下方取料位2 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
@ -403,18 +420,22 @@ namespace Rs.MotionPlat.Flow
VacManager . TurnoverTrayVacBreak ( EVacOperator . Open , true , undealTasks . Select ( t = > t . FromIndex + 1 ) . ToArray ( ) ) ;
Step = ETurnoverFlowStep . 到 周 转 盘 取 料 破 真 空 位 ;
}
else
{
Step = ETurnoverFlowStep . 到 周 转 盘 取 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 周 转 盘 取 料 破 真 空 位 :
if ( GlobalVar . EnableTwoSpeed )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . CloseVacOffsetHeight ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . PressLowSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . CloseVacOffsetHeight ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . PressLowSpeed ) ;
}
else
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
}
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
@ -444,8 +465,8 @@ namespace Rs.MotionPlat.Flow
}
break ;
case ETurnoverFlowStep . 周 转 盘 取 料 完 成 抬 起 :
target Pos = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -511,12 +532,12 @@ namespace Rs.MotionPlat.Flow
}
break ;
case ETurnoverFlowStep . 到 测 试 放 料 位 上 方 :
target Pos = SysConfigParam . GetValue < double > ( "PressDumpX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverX = SysConfigParam . GetValue < double > ( "PressDumpX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target TurnoverX , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
target Pos = SysConfigParam . GetValue < double > ( "PressDumpY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverY = SysConfigParam . GetValue < double > ( "PressDumpY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target TurnoverY , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -545,8 +566,10 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 运 动 到 测 试 放 料 位 上 方 :
if ( Ops . IsStop ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
LogHelper . Debug ( GetClassName ( ) + $"turnoverxy in target curx={Ops.GetCurPosition(AxisControl.TurnoverX)}, x={targetTurnoverX},cury={Ops.GetCurPosition(AxisControl.TurnoverY)},y={targetTurnoverY}" ) ;
if ( turnoverTrayToTestTrayNum = = 1 )
{
testTrayHasProductCheckEvent . WaitOne ( ) ;
@ -613,6 +636,10 @@ namespace Rs.MotionPlat.Flow
}
Step = ETurnoverFlowStep . 测 试 位 上 料 丢 料 检 测 ;
}
else
{
Step = ETurnoverFlowStep . 到 测 试 放 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 测 试 位 上 料 丢 料 检 测 :
@ -701,45 +728,59 @@ namespace Rs.MotionPlat.Flow
break ;
case ETurnoverFlowStep . 到 测 试 放 料 位 下 方 1 :
if ( GlobalVar. EnableTwoSpeed )
if ( TurnoverXYIsInTargetPos( targetTurnoverX , targetTurnoverY ) )
{
targetPos = SysConfigParam . GetValue < double > ( "PressDumpZ" ) + GlobalVar . PressLowSpeedOffset ;
}
else
{
targetPos = SysConfigParam . GetValue < double > ( "PressDumpZ" ) ;
}
errCode = AxisControl . TurnoverZ . MovePos ( targetPos , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
//获取需要放料的吸嘴
hasProductNozzles = TransitNozzleManager . Instance . GetHasProductNozzles ( ) ;
/*打开测试穴位真空吸*/
VacManager . TestTrayVacSuction ( EVacOperator . Open , false , hasProductNozzles . Select ( n = > n . NozzleIndex ) . ToArray ( ) ) ;
if ( GlobalVar . VirtualAxis )
if ( GlobalVar . EnableTwoSpeed )
{
Thread . Sleep ( GlobalVar . VirtualAxisMoveTime ) ;
targetTurnoverZ = SysConfigParam . GetValue < double > ( "PressDumpZ" ) + GlobalVar . PressLowSpeedOffset ;
}
else
{
targetTurnoverZ = SysConfigParam . GetValue < double > ( "PressDumpZ" ) ;
}
errCode = AxisControl . TurnoverZ . MovePos ( targetTurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
//获取需要放料的吸嘴
hasProductNozzles = TransitNozzleManager . Instance . GetHasProductNozzles ( ) ;
/*打开测试穴位真空吸*/
VacManager . TestTrayVacSuction ( EVacOperator . Open , false , hasProductNozzles . Select ( n = > n . NozzleIndex ) . ToArray ( ) ) ;
if ( GlobalVar . VirtualAxis )
{
Thread . Sleep ( GlobalVar . VirtualAxisMoveTime ) ;
}
logInfo = GetClassName ( ) + $"到测试放料位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 等 待 运 动 到 到 测 试 放 料 位 下 方 1 ;
}
else
{
MsgBox . ShowAxisAlarmDialog ( AxisControl . TurnoverZ , errCode ) ;
}
logInfo = GetClassName ( ) + $"到测试放料位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 等 待 运 动 到 到 测 试 放 料 位 下 方 1 ;
}
else
{
MsgBox . ShowAxisAlarmDialog ( AxisControl . TurnoverZ , errCode ) ;
Step = ETurnoverFlowStep . 到 测 试 放 料 位 上 方 ;
}
break ;
case ETurnoverFlowStep . 等 待 运 动 到 到 测 试 放 料 位 下 方 1 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
logInfo = GetClassName ( ) + $"已运动到到测试放料位下方1 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 测 试 放 料 位 下 方 2 ;
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到到测试放料位下方1 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 测 试 放 料 位 下 方 2 ;
}
else
{
Step = ETurnoverFlowStep . 到 测 试 放 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 测 试 放 料 位 下 方 2 :
targetPos = SysConfigParam . GetValue < double > ( "PressDumpZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( targetPos , GlobalVar . PressLowSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressDumpZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . PressLowSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -758,7 +799,8 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 运 动 到 到 测 试 放 料 位 下 方 2 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
//获取需要放料的吸嘴
hasProductNozzles = TransitNozzleManager . Instance . GetHasProductNozzles ( ) ;
@ -777,18 +819,22 @@ namespace Rs.MotionPlat.Flow
//TransitNozzleManager.Instance.Transi
Step = ETurnoverFlowStep . 测 试 位 放 料 完 成 抬 起 1 ;
}
else
{
Step = ETurnoverFlowStep . 到 测 试 放 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 测 试 位 放 料 完 成 抬 起 1 :
if ( GlobalVar . EnableTwoSpeed )
{
target Pos = SysConfigParam . GetValue < double > ( "PressDumpZ" ) + GlobalVar . PressLowSpeedOffset ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressDumpZ" ) + GlobalVar . PressLowSpeedOffset ;
}
else
{
target Pos = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
}
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -821,8 +867,8 @@ namespace Rs.MotionPlat.Flow
}
break ;
case ETurnoverFlowStep . 测 试 位 放 料 完 成 抬 起 2 :
target Pos = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -1037,12 +1083,12 @@ namespace Rs.MotionPlat.Flow
break ;
case ETurnoverFlowStep . 到 测 试 保 压 位 上 方 :
target Pos = SysConfigParam . GetValue < double > ( "PressDumpX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverX = SysConfigParam . GetValue < double > ( "PressDumpX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target TurnoverX , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
target Pos = SysConfigParam . GetValue < double > ( "PressY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverY = SysConfigParam . GetValue < double > ( "PressY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target TurnoverY , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
turnoverTrayToTestTrayNum = 1 ;
@ -1067,7 +1113,8 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 到 测 试 保 压 位 上 方 :
if ( Ops . IsStop ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
if ( TestTrayManager . Instance . GetSlots ( ETestTraySlotStatus . Have ) . Count > 0 )
{
@ -1082,55 +1129,80 @@ namespace Rs.MotionPlat.Flow
Step = ETurnoverFlowStep . 通 知 中 控 开 始 测 试 ;
}
}
else
{
Step = ETurnoverFlowStep . 到 测 试 保 压 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 测 试 保 压 位 下 方 1 :
targetPos = SysConfigParam . GetValue < double > ( "PressZ" ) ;
if ( GlobalVar . EnableTwoSpeed )
{
targetPos = targetPos + SysConfigParam . GetValue < double > ( "PressLowSpeedOffset" ) ;
}
errCode = AxisControl . PressZ . MovePos ( targetPos , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
if ( GlobalVar . VirtualAxis )
targetPressZ = SysConfigParam . GetValue < double > ( "PressZ" ) ;
if ( GlobalVar . EnableTwoSpeed )
{
Thread . Sleep ( GlobalVar . VirtualAxisMoveTime ) ;
targetPressZ = targetPressZ + SysConfigParam . GetValue < double > ( "PressLowSpeedOffset" ) ;
}
errCode = AxisControl . PressZ . MovePos ( targetPressZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
{
Thread . Sleep ( GlobalVar . VirtualAxisMoveTime ) ;
}
logInfo = GetClassName ( ) + $"到测试保压位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 等 待 到 测 试 保 压 位 下 方 1 ;
}
else
{
MsgBox . ShowAxisAlarmDialog ( AxisControl . PressZ , errCode ) ;
}
logInfo = GetClassName ( ) + $"到测试保压位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 等 待 到 测 试 保 压 位 下 方 1 ;
}
else
{
MsgBox . ShowAxisAlarmDialog ( AxisControl . PressZ , errCode ) ;
Step = ETurnoverFlowStep . 到 测 试 保 压 位 上 方 ;
}
break ;
case ETurnoverFlowStep . 等 待 到 测 试 保 压 位 下 方 1 :
if ( Ops . IsStop ( AxisControl . PressZ ) | | GlobalVar . VirtualAxis )
{
logInfo = GetClassName ( ) + $"已到测试保压位下方1 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 测 试 保 压 位 下 方 2 ;
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已到测试保压位下方1 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 测 试 保 压 位 下 方 2 ;
}
else
{
Step = ETurnoverFlowStep . 到 测 试 保 压 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 测 试 保 压 位 下 方 2 :
targetPos = SysConfigParam . GetValue < double > ( "PressZ" ) ;
errCode = AxisControl . PressZ . MovePos ( targetPos , GlobalVar . PressLowSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
if ( GlobalVar . VirtualAxis )
targetPressZ = SysConfigParam . GetValue < double > ( "PressZ" ) ;
errCode = AxisControl . PressZ . MovePos ( targetPressZ , GlobalVar . PressLowSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
Thread . Sleep ( GlobalVar . VirtualAxisMoveTime ) ;
if ( GlobalVar . VirtualAxis )
{
Thread . Sleep ( GlobalVar . VirtualAxisMoveTime ) ;
}
logInfo = GetClassName ( ) + $"到测试保压位下方2" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 等 待 到 测 试 保 压 位 下 方 2 ;
}
else
{
MsgBox . ShowAxisAlarmDialog ( AxisControl . PressZ , errCode ) ;
}
logInfo = GetClassName ( ) + $"到测试保压位下方2" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 等 待 到 测 试 保 压 位 下 方 2 ;
}
else
{
MsgBox . ShowAxisAlarmDialog ( AxisControl . PressZ , errCode ) ;
Step = ETurnoverFlowStep . 到 测 试 保 压 位 上 方 ;
}
break ;
case ETurnoverFlowStep . 等 待 到 测 试 保 压 位 下 方 2 :
@ -1138,6 +1210,7 @@ namespace Rs.MotionPlat.Flow
{
Thread . Sleep ( 100 ) ;
//if(Ops.IsArrived(AxisControl.PressZ) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已到测试保压位下方2 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
@ -1146,6 +1219,10 @@ namespace Rs.MotionPlat.Flow
VacManager . TestTrayVacSuction ( EVacOperator . Close , false , willTestSlot . Select ( s = > s . Index ) . ToArray ( ) ) ;
Step = ETurnoverFlowStep . 通 知 中 控 开 始 测 试 ;
}
else
{
Step = ETurnoverFlowStep . 到 测 试 保 压 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 通 知 中 控 开 始 测 试 :
@ -1179,7 +1256,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 测 试 完 成 抬 起 到 高 速 位 :
double curPos = Ops . GetCurPosition ( AxisAlias . PressZ ) ;
if ( Math . Abs ( curPos - targetPos ) < 0. 1)
if ( Math . Abs ( curPos - SysConfigParam . GetValue < double > ( "PressSafeZ" ) ) < 1)
{
Step = ETurnoverFlowStep . 测 试 完 成 抬 起 安 全 位 ;
}
@ -1187,13 +1264,13 @@ namespace Rs.MotionPlat.Flow
{
if ( GlobalVar . EnableTwoSpeed )
{
targetP os = SysConfigParam . GetValue < double > ( "PressZ" ) + GlobalVar . PressLowSpeedOffset ;
errCode = AxisControl . PressZ . MovePos ( targetP os , GlobalVar . PressLowSpeed ) ;
targetP ressZ = SysConfigParam . GetValue < double > ( "PressZ" ) + GlobalVar . PressLowSpeedOffset ;
errCode = AxisControl . PressZ . MovePos ( targetP ressZ , GlobalVar . PressLowSpeed ) ;
}
else
{
targetP os = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . PressZ . MovePos ( targetP os , GlobalVar . WholeSpeed ) ;
targetP ressZ = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . PressZ . MovePos ( targetP ressZ , GlobalVar . WholeSpeed ) ;
}
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
@ -1220,8 +1297,8 @@ namespace Rs.MotionPlat.Flow
}
break ;
case ETurnoverFlowStep . 测 试 完 成 抬 起 安 全 位 :
targetP os = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . PressZ . MovePos ( targetP os , GlobalVar . WholeSpeed ) ;
targetP ressZ = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . PressZ . MovePos ( targetP ressZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -1294,12 +1371,12 @@ namespace Rs.MotionPlat.Flow
//-----------------------------------------------测试位下料---------------------------------------------------------------------------------------------------------
case ETurnoverFlowStep . 到 测 试 取 料 位 上 方 :
target Pos = SysConfigParam . GetValue < double > ( "PressTakeX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverX = SysConfigParam . GetValue < double > ( "PressTakeX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target TurnoverX , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
target Pos = SysConfigParam . GetValue < double > ( "PressTakeY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverY = SysConfigParam . GetValue < double > ( "PressTakeY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target TurnoverY , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -1323,7 +1400,8 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 到 测 试 取 料 位 上 方 :
if ( Ops . IsStop ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到测试取料位上方 TurnoverY at:{Ops.GetCurPosition(AxisAlias.TurnoverY)}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
@ -1340,6 +1418,10 @@ namespace Rs.MotionPlat.Flow
Step = ETurnoverFlowStep . 测 试 治 具 取 料 失 败 报 警 ;
}
}
else
{
Step = ETurnoverFlowStep . 到 测 试 取 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 测 试 治 具 取 料 失 败 报 警 :
@ -1418,12 +1500,12 @@ namespace Rs.MotionPlat.Flow
}
break ;
case ETurnoverFlowStep . 到 测 试 取 料 位 下 方 1 :
target Pos = SysConfigParam . GetValue < double > ( "PressTakeZ" ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressTakeZ" ) ;
if ( GlobalVar . EnableTwoSpeed )
{
target Pos = targetPos + GlobalVar . PressLowSpeedOffset ;
target TurnoverZ = targetTurnoverZ + GlobalVar . PressLowSpeedOffset ;
}
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
undealTasks = LoadAndUnloadTask . Instance . GetTestToTurnoverTasks ( ETaskDealStatus . Undeal ) ;
@ -1445,14 +1527,21 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 到 测 试 取 料 位 下 方 1 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
logInfo = GetClassName ( ) + $"已运动到到测试取料位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 测 试 取 料 位 下 方 2 ;
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到到测试取料位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 测 试 取 料 位 下 方 2 ;
}
else
{
Step = ETurnoverFlowStep . 到 测 试 取 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 测 试 取 料 位 下 方 2 :
targetPos = SysConfigParam . GetValue < double > ( "PressTakeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( targetPos , GlobalVar . PressLowSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressTakeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . PressLowSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -1472,7 +1561,8 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 到 测 试 取 料 位 下 方 2 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到测试取料位下方2 TurnoverZ at:{Ops.GetCurPosition(" TurnoverZ ")}" ;
MessageQueue . Instance . Insert ( logInfo ) ;
@ -1486,18 +1576,22 @@ namespace Rs.MotionPlat.Flow
VacManager . TestTrayVacBreak ( EVacOperator . Open , true , undealTasks . Select ( t = > t . FromIndex + 1 ) . ToArray ( ) ) ;
Step = ETurnoverFlowStep . 到 测 试 破 关 真 空 位 ;
}
else
{
Step = ETurnoverFlowStep . 到 测 试 取 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 测 试 破 关 真 空 位 :
if ( GlobalVar . EnableTwoSpeed )
{
target Pos = SysConfigParam . GetValue < double > ( "PressTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . PressLowSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . PressLowSpeed ) ;
}
else
{
target Pos = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
}
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
@ -1527,8 +1621,8 @@ namespace Rs.MotionPlat.Flow
}
break ;
case ETurnoverFlowStep . 测 试 位 取 料 完 成 抬 起 :
target Pos = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "PressSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -1626,12 +1720,12 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 到 周 转 盘 放 料 位 上 方 :
if ( CanGoTurnoverTrayPos ( ) )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverDumpX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverX = SysConfigParam . GetValue < double > ( "TurnoverDumpX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target TurnoverX , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverDumpY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverY = SysConfigParam . GetValue < double > ( "TurnoverDumpY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target TurnoverY , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -1661,12 +1755,17 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 到 周 转 盘 放 料 位 上 方 :
if ( Ops . IsStop ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverX , AxisControl . TurnoverY ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到周转盘放料位上方" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 周 转 盘 放 料 前 丢 料 检 测 ;
}
else
{
Step = ETurnoverFlowStep . 到 周 转 盘 放 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 周 转 盘 放 料 前 丢 料 检 测 :
@ -1749,13 +1848,13 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 到 周 转 盘 放 料 位 下 方 1 :
if ( GlobalVar . EnableTwoSpeed )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
}
else
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
}
errCode = AxisControl . TurnoverZ . MovePos ( target Pos+ 1 , GlobalVar . WholeSpeed ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ + 1 , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
hasProductNozzles = TransitNozzleManager . Instance . GetHasProductNozzles ( ) ;
@ -1777,15 +1876,22 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 到 周 转 盘 放 料 位 下 方 1 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
logInfo = GetClassName ( ) + $"已运动到周转盘放料位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 周 转 盘 放 料 位 下 方 2 ;
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
logInfo = GetClassName ( ) + $"已运动到周转盘放料位下方1" ;
MessageQueue . Instance . Insert ( logInfo ) ;
Step = ETurnoverFlowStep . 到 周 转 盘 放 料 位 下 方 2 ;
}
else
{
Step = ETurnoverFlowStep . 到 周 转 盘 放 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 到 周 转 盘 放 料 位 下 方 2 :
targetPos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( targetPos , GlobalVar . PressLowSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . PressLowSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -1804,7 +1910,8 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep . 等 待 到 周 转 盘 放 料 位 下 方 2 :
if ( Ops . IsStop ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
{
if ( Ops . IsArrived ( AxisControl . TurnoverZ ) | | GlobalVar . VirtualAxis )
//if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
if ( TurnoverXYIsInTargetPos ( targetTurnoverX , targetTurnoverY ) )
{
foreach ( TransitNozzle nozzle in hasProductNozzles )
{
@ -1822,20 +1929,23 @@ namespace Rs.MotionPlat.Flow
VacManager . TransitNozzleVacBreak ( EVacOperator . Close , true , hasProductNozzles . Select ( n = > n . FromIndex + 1 ) . ToArray ( ) ) ;
Step = ETurnoverFlowStep . 周 转 盘 放 料 完 成 抬 起 1 ;
}
else
{
Step = ETurnoverFlowStep . 到 周 转 盘 放 料 位 上 方 ;
}
}
break ;
case ETurnoverFlowStep . 周 转 盘 放 料 完 成 抬 起 1 :
if ( GlobalVar . EnableTwoSpeed )
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . PressLowSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverTakeZ" ) + GlobalVar . PressLowSpeedOffset ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . PressLowSpeed ) ;
}
else
{
target Pos = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
}
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
@ -1865,8 +1975,8 @@ namespace Rs.MotionPlat.Flow
}
break ;
case ETurnoverFlowStep . 周 转 盘 放 料 完 成 抬 起 2 :
target Pos = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverZ = SysConfigParam . GetValue < double > ( "TurnoverSafeZ" ) ;
errCode = AxisControl . TurnoverZ . MovePos ( target TurnoverZ , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -2124,12 +2234,12 @@ namespace Rs.MotionPlat.Flow
}
else
{
target Pos = SysConfigParam . GetValue < double > ( "PressTakeX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverX = SysConfigParam . GetValue < double > ( "PressTakeX" ) ;
errCode = AxisControl . TurnoverX . MovePos ( target TurnoverX , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
target Pos = SysConfigParam . GetValue < double > ( "PressTakeY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target Pos , GlobalVar . WholeSpeed ) ;
target TurnoverY = SysConfigParam . GetValue < double > ( "PressTakeY" ) ;
errCode = AxisControl . TurnoverY . MovePos ( target TurnoverY , GlobalVar . WholeSpeed ) ;
if ( errCode = = Motion . ErrorCode . Ok | | GlobalVar . VirtualAxis )
{
if ( GlobalVar . VirtualAxis )
@ -2241,5 +2351,22 @@ namespace Rs.MotionPlat.Flow
testTrayHasProductCheckEvent . Set ( ) ;
} ) ;
}
/// <summary>
/// 检测XY是否在目标位置上
/// </summary>
/// <param name="xTargetPos"></param>
/// <param name="yTargetPos"></param>
/// <returns></returns>
private bool TurnoverXYIsInTargetPos ( double xTargetPos , double yTargetPos )
{
double xCurPos = Ops . GetCurPosition ( AxisControl . TurnoverX ) ;
double yCurPos = Ops . GetCurPosition ( AxisControl . TurnoverY ) ;
if ( Math . Abs ( xTargetPos - xCurPos ) < 1 & & Math . Abs ( yTargetPos - yCurPos ) < 1 )
{
return true ;
}
return false ;
}
}
}