修改TrayRobot和WaferRobot状态名称,使其更简短。
修改AutoTransfer中如果Buffer中有两个以上ProcessCount为0的Tray时,第一个Tray进入Load后,无法进行后续动作的问题。
This commit is contained in:
parent
205591db51
commit
98cab1dd78
|
@ -192,7 +192,7 @@
|
|||
<Style x:Key="TextBox_Top" TargetType="{x:Type TextBox}">
|
||||
<Setter Property="SnapsToDevicePixels" Value="True" />
|
||||
<Setter Property="FontFamily" Value="Arial" />
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
<Setter Property="FontSize" Value="11" />
|
||||
<Setter Property="Margin" Value="0,2,2,2" />
|
||||
<Setter Property="BorderThickness" Value="0,1,1,1" />
|
||||
<Setter Property="Background" Value="{DynamicResource TextBox_Top_BG}" />
|
||||
|
@ -201,6 +201,7 @@
|
|||
<Setter Property="Border.CornerRadius" Value="0,6,6,0" />
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="VerticalAlignment" Value="Stretch" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
||||
<Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst" />
|
||||
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
|
||||
|
|
|
@ -24,9 +24,9 @@ namespace Mainframe.EFEMs
|
|||
Error,
|
||||
|
||||
RobotHoming,
|
||||
TrayRobotPick,
|
||||
TrayRobotPlace,
|
||||
TrayRobotMap,
|
||||
Picking,
|
||||
Placing,
|
||||
Mapping,
|
||||
}
|
||||
|
||||
public enum MSG
|
||||
|
@ -171,18 +171,18 @@ namespace Mainframe.EFEMs
|
|||
Transition(STATE.RobotHoming, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.RobotHoming, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
|
||||
Transition(STATE.Idle, MSG.TrayRobotMap, FsmStartTrayRobotMap, STATE.TrayRobotMap);
|
||||
Transition(STATE.TrayRobotMap, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.TrayRobotMap, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
Transition(STATE.Idle, MSG.TrayRobotMap, FsmStartTrayRobotMap, STATE.Mapping);
|
||||
Transition(STATE.Mapping, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.Mapping, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
|
||||
|
||||
Transition(STATE.Idle, MSG.TrayRobotPick, FsmStartTrayRobotPick, STATE.TrayRobotPick);
|
||||
Transition(STATE.TrayRobotPick, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.TrayRobotPick, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
Transition(STATE.Idle, MSG.TrayRobotPick, FsmStartTrayRobotPick, STATE.Picking);
|
||||
Transition(STATE.Picking, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.Picking, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
|
||||
Transition(STATE.Idle, MSG.TrayRobotPlace, FsmStartTrayRobotPlace, STATE.TrayRobotPlace);
|
||||
Transition(STATE.TrayRobotPlace, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.TrayRobotPlace, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
Transition(STATE.Idle, MSG.TrayRobotPlace, FsmStartTrayRobotPlace, STATE.Placing);
|
||||
Transition(STATE.Placing, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.Placing, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -22,9 +22,9 @@ namespace Mainframe.EFEMs
|
|||
Homing,
|
||||
Error,
|
||||
|
||||
WaferRobotPick,
|
||||
WaferRobotPlace,
|
||||
WaferRobotMap,
|
||||
Picking,
|
||||
Placing,
|
||||
Mapping,
|
||||
RobotHoming,
|
||||
}
|
||||
|
||||
|
@ -164,17 +164,17 @@ namespace Mainframe.EFEMs
|
|||
Transition(STATE.Idle, MSG.SetOffline, FsmStartSetOffline, STATE.Idle);
|
||||
|
||||
|
||||
Transition(STATE.Idle, MSG.WaferRobotMap, FsmStartWaferRobotMap, STATE.WaferRobotMap);
|
||||
Transition(STATE.WaferRobotMap, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.WaferRobotMap, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
Transition(STATE.Idle, MSG.WaferRobotMap, FsmStartWaferRobotMap, STATE.Mapping);
|
||||
Transition(STATE.Mapping, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.Mapping, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
|
||||
Transition(STATE.Idle, MSG.WaferRobotPick, FsmStartWaferRobotPick, STATE.WaferRobotPick);
|
||||
Transition(STATE.WaferRobotPick, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.WaferRobotPick, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
Transition(STATE.Idle, MSG.WaferRobotPick, FsmStartWaferRobotPick, STATE.Picking);
|
||||
Transition(STATE.Picking, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.Picking, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
|
||||
Transition(STATE.Idle, MSG.WaferRobotPlace, FsmStartWaferRobotPlace, STATE.WaferRobotPlace);
|
||||
Transition(STATE.WaferRobotPlace, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.WaferRobotPlace, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
Transition(STATE.Idle, MSG.WaferRobotPlace, FsmStartWaferRobotPlace, STATE.Placing);
|
||||
Transition(STATE.Placing, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
Transition(STATE.Placing, MSG.Abort, FsmAbortTask, STATE.Idle);
|
||||
|
||||
Transition(STATE.Idle, MSG.RobotHome, FsmStartRobotHome, STATE.RobotHoming);
|
||||
Transition(STATE.RobotHoming, FSM_MSG.TIMER, FsmMonitorTask, STATE.Idle);
|
||||
|
|
|
@ -1697,6 +1697,11 @@ namespace SicRT.Modules
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if (_load.HasTrayAndExceedProcessCount(0))
|
||||
{
|
||||
if (!_load.IsReadyForPick(ModuleName.TrayRobot, 0) && !_unload.IsInPumping)
|
||||
_load.PrepareTransfer(ModuleName.TrayRobot, EnumTransferType.Pick, 0);
|
||||
}
|
||||
else if ((_tmRobot.NoWafer(0) && _tmRobot.HasTrayAndExceedProcessCount(0))
|
||||
|| (_buffer.NoWafer(0) && _buffer.HasTrayAndExceedProcessCount(0))
|
||||
|| (_buffer.NoWafer(1) && _buffer.HasTrayAndExceedProcessCount(1))
|
||||
|
|
Loading…
Reference in New Issue