123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Aitex.Core.Common;
- using Aitex.Core.RT.Device;
- using Aitex.Sorter.Common;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.Common.Schedulers;
- using MECF.Framework.Common.SubstrateTrackings;
- using MECF.Framework.RT.EquipmentLibrary.LogicUnits;
- using System;
- using FurnaceRT.Equipments.Systems;
- namespace FurnaceRT.Equipments.CarrierRobots
- {
- public abstract class CarrierRobotModuleBase : ModuleFsmDevice, ITransferTarget, IModuleDevice
- {
- public CarrierRobotModuleBase()
- {
- }
- public override bool Initialize()
- {
- return base.Initialize();
- }
- //IModuleDevice
- public abstract bool IsReady { get; }
- public abstract bool IsError { get; }
- public abstract bool IsInit { get; }
- public abstract bool Home(out string reason);
- //Job Task
- public abstract void NoteJobStart();
- public abstract void NoteJobComplete();
- //Transfer
- public abstract bool PrepareTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract bool TransferHandoff(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract bool PostTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract bool CheckReadyForTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract void NoteTransferStart(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
- public abstract void NoteTransferStop(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
- public abstract bool CheckReadyForMap(ModuleName robot, Hand blade, out string reason);
- 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 Load(ModuleName target, Hand blade, int targetSlot, ModuleName destinationStocker,
- CarrierType carrierType, string reservedCarrierId, out string reason);
- public abstract bool Unload(ModuleName target, Hand blade, int targetSlot, out string reason);
- }
- }
|