1.完善SunwayRobot Pick
This commit is contained in:
parent
a758bb4479
commit
454827a3db
|
@ -1224,6 +1224,10 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.RobotBase
|
|||
Transition(RobotStateEnum.ReadingData, RobotMsg.ReadDataComplete, null, RobotStateEnum.Idle);
|
||||
Transition(RobotStateEnum.ReadingData, FSM_MSG.TIMER, fMonitorReadData, RobotStateEnum.Idle);
|
||||
|
||||
Transition(RobotStateEnum.Idle, RobotMsg.ExtendForPick, fStartExtendForPick, RobotStateEnum.ExtendingForPick);
|
||||
Transition(RobotStateEnum.ExtendingForPick, RobotMsg.ExtendComplete, fExtendForPickComplete, RobotStateEnum.Idle);
|
||||
Transition(RobotStateEnum.ExtendingForPick, RobotMsg.ActionDone, fExtendForPickComplete, RobotStateEnum.Idle);
|
||||
|
||||
Transition(RobotStateEnum.Idle, RobotMsg.PickWafer, fStartPickWafer, RobotStateEnum.Picking);
|
||||
Transition(RobotStateEnum.Picking, RobotMsg.PickComplete, fPickComplete, RobotStateEnum.Idle);
|
||||
Transition(RobotStateEnum.Picking, RobotMsg.ActionDone, fPickComplete, RobotStateEnum.Idle);
|
||||
|
@ -1275,9 +1279,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.RobotBase
|
|||
Transition(RobotStateEnum.UnGripping, FSM_MSG.TIMER, fMonitorUnGrip, RobotStateEnum.Idle);
|
||||
|
||||
|
||||
Transition(RobotStateEnum.Idle, RobotMsg.ExtendForPick, fStartExtendForPick, RobotStateEnum.ExtendingForPick);
|
||||
Transition(RobotStateEnum.ExtendingForPick, RobotMsg.ExtendComplete, fExtendForPickComplete, RobotStateEnum.Idle);
|
||||
Transition(RobotStateEnum.ExtendingForPick, RobotMsg.ActionDone, fExtendForPickComplete, RobotStateEnum.Idle);
|
||||
|
||||
|
||||
|
||||
Transition(RobotStateEnum.Idle, RobotMsg.ExtendForPlace, fStartExtendForPlace, RobotStateEnum.ExtendingForPlace);
|
||||
|
|
|
@ -1118,9 +1118,19 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.Sunway
|
|||
return false;
|
||||
}
|
||||
|
||||
if (WaferManager.Instance.CheckHasWafer(sourceModule, sourceSlot))
|
||||
if (RobotModuleName == ModuleName.WaferRobot)
|
||||
{
|
||||
WaferManager.Instance.WaferMoved(sourceModule, sourceSlot, RobotModuleName, 0);
|
||||
if (WaferManager.Instance.CheckHasWafer(sourceModule, sourceSlot))
|
||||
{
|
||||
WaferManager.Instance.WaferMoved(sourceModule, sourceSlot, RobotModuleName, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (WaferManager.Instance.CheckHasTray(sourceModule, sourceSlot))
|
||||
{
|
||||
WaferManager.Instance.TrayMoved(sourceModule, sourceSlot, RobotModuleName, 0);
|
||||
}
|
||||
}
|
||||
|
||||
//lock (_locker)
|
||||
|
|
|
@ -397,6 +397,9 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.Sunway
|
|||
{
|
||||
if (!isRetract)
|
||||
{
|
||||
//将Robot的状态从ExtendingForPick转到Idle
|
||||
Device.NoteActionCompleted();
|
||||
|
||||
//伸出
|
||||
Device.MoveInfo = new RobotMoveInfo()
|
||||
{
|
||||
|
@ -404,13 +407,13 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.Sunway
|
|||
ArmTarget = _blade == RobotArmEnum.Blade1 ? RobotArm.ArmA : RobotArm.ArmB,
|
||||
BladeTarget = cModule,
|
||||
};
|
||||
|
||||
Device.NoteActionCompleted();
|
||||
}
|
||||
else
|
||||
{
|
||||
//缩回
|
||||
//将Robot的状态从Picking转到Idle
|
||||
Device.NoteActionCompleted();
|
||||
|
||||
//缩回
|
||||
Device.MoveInfo = new RobotMoveInfo()
|
||||
{
|
||||
Action = RobotAction.Moving,
|
||||
|
|
Loading…
Reference in New Issue