2022-07-26 09:41:07 +08:00
|
|
|
|
using Aitex.Core.RT.Device;
|
|
|
|
|
using MECF.Framework.Common.SubstrateTrackings;
|
2023-02-07 16:22:29 +08:00
|
|
|
|
using MECF.Framework.RT.Core;
|
2022-07-26 09:41:07 +08:00
|
|
|
|
|
|
|
|
|
namespace Mainframe.EFEMs
|
|
|
|
|
{
|
2023-02-07 16:22:29 +08:00
|
|
|
|
public abstract class EFEMModuleBase : OfflineTimeoutNotifiableModuleBase, IModuleDevice
|
2022-07-26 09:41:07 +08:00
|
|
|
|
{
|
|
|
|
|
private int _slot = 1;
|
|
|
|
|
|
|
|
|
|
public EFEMModuleBase(int slot)
|
|
|
|
|
{
|
|
|
|
|
_slot = slot;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override bool Initialize()
|
|
|
|
|
{
|
|
|
|
|
WaferManager.Instance.SubscribeLocation(Module, _slot);
|
|
|
|
|
|
|
|
|
|
return base.Initialize();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract bool IsIdle { get; }
|
|
|
|
|
|
|
|
|
|
//IModuleDevice
|
|
|
|
|
public abstract bool IsReady { get; }
|
2023-02-07 16:22:29 +08:00
|
|
|
|
|
2022-07-26 09:41:07 +08:00
|
|
|
|
public abstract bool IsError { get; }
|
2023-02-07 16:22:29 +08:00
|
|
|
|
|
2022-07-26 09:41:07 +08:00
|
|
|
|
public abstract bool IsInit { get; }
|
2023-02-07 16:22:29 +08:00
|
|
|
|
|
2022-07-26 09:41:07 +08:00
|
|
|
|
public abstract bool Home(out string reason);
|
|
|
|
|
|
|
|
|
|
}
|
2023-02-07 16:22:29 +08:00
|
|
|
|
}
|