2022-09-19 09:16:33 +08:00
|
|
|
|
using Aitex.Core.RT.Device;
|
|
|
|
|
using Aitex.Sorter.Common;
|
|
|
|
|
using MECF.Framework.Common.Equipment;
|
|
|
|
|
using MECF.Framework.Common.Fsm;
|
|
|
|
|
using MECF.Framework.Common.SubstrateTrackings;
|
2022-12-07 21:15:05 +08:00
|
|
|
|
using MECF.Framework.RT.Core;
|
2022-09-19 09:16:33 +08:00
|
|
|
|
using MECF.Framework.RT.EquipmentLibrary.LogicUnits;
|
|
|
|
|
|
|
|
|
|
namespace Mainframe.TMs
|
|
|
|
|
{
|
2022-12-07 21:15:05 +08:00
|
|
|
|
public abstract class TMModuleBase : OfflineTimeoutNotifiableModuleBase, ITransferRobot, IModuleDevice
|
2022-09-19 09:16:33 +08:00
|
|
|
|
{
|
|
|
|
|
private int _slot = 1;
|
|
|
|
|
|
|
|
|
|
public TMModuleBase(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; }
|
|
|
|
|
public abstract bool IsError { get; }
|
|
|
|
|
public abstract bool IsInit { get; }
|
|
|
|
|
public abstract bool Home(out string reason);
|
|
|
|
|
|
|
|
|
|
//ITransferRobot
|
2022-11-23 13:27:23 +08:00
|
|
|
|
public abstract int Purge(int loopCount, int pumpDelay);
|
|
|
|
|
|
2022-09-19 09:16:33 +08:00
|
|
|
|
public abstract bool Pick(ModuleName target, Hand blade, int targetSlot, out string reason);
|
|
|
|
|
public abstract bool Place(ModuleName target, Hand blade, int targetSlot, out string reason);
|
|
|
|
|
public abstract bool PickAndPlace(ModuleName pickTarget, Hand pickHand, int pickSlot, ModuleName placeTarget, Hand placeHand, int placeSlot, out string reason);
|
|
|
|
|
public abstract bool Goto(ModuleName target, Hand blade, int targetSlot, out string reason);
|
2022-11-23 13:27:23 +08:00
|
|
|
|
|
|
|
|
|
public abstract bool CheckAcked(int entityTaskToken);
|
2022-09-19 09:16:33 +08:00
|
|
|
|
}
|
|
|
|
|
}
|