Sic04/FrameworkLocal/RTEquipmentLibrary/LogicUnits/ITransferTarget.cs

30 lines
1.4 KiB
C#
Raw Normal View History

2022-09-19 09:16:33 +08:00
using Aitex.Sorter.Common;
using MECF.Framework.Common.Equipment;
using MECF.Framework.Common.Schedulers;
namespace MECF.Framework.RT.EquipmentLibrary.LogicUnits
{
public interface ITransferTarget
{
bool PrepareTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
bool TransferHandoff(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
bool PostTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
bool CheckReadyForTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
void NoteTransferStart(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
void NoteTransferStop(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
}
public interface ITransferRobot
{
bool Pick(ModuleName target, Hand blade, int targetSlot, out string reason);
bool Place(ModuleName target, Hand blade, int targetSlot, out string reason);
bool PickAndPlace(ModuleName pickTarget, Hand pickHand, int pickSlot, ModuleName placeTarget, Hand placeHand, int placeSlot, out string reason);
bool Goto(ModuleName target, Hand blade, int targetSlot, out string reason);
}
}