using Aitex.Core.RT.SCCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Aitex.Sorter.Common; using MECF.Framework.Common.Equipment; using Aitex.Core.RT.Device; using Aitex.Core.Common; namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robot.NX100 { public class NX100RobotHandlerFactory : IRobotHandlerFactory { private TokenGenerator _tokener; private IDevice _device = null; public NX100RobotHandlerFactory(IDevice device) { _device = device; if (SC.ContainsItem($"{device.Name}.RobotCommunicationToken")) _tokener = new TokenGenerator($"{device.Name}.RobotCommunicationToken"); else { _tokener = new TokenGenerator($"Robot.RobotCommunicationToken"); } } public IHandler SetCommunication() { throw new NotImplementedException(); } public IHandler SetLoad(Hand hand) { throw new NotImplementedException(); } public IHandler CheckLoad(ModuleName chamber, int slot) { throw new NotImplementedException(); } public IHandler RequestWaferPresent() { throw new NotImplementedException(); } public IHandler RequestAWCData() { throw new NotImplementedException(); } public IHandler Init() { return new handler(_device, ref _tokener); } public IHandler Home() { return new handler(_device, ref _tokener); } public IHandler ArmHome() { return new handler(_device, ref _tokener); } public IHandler Event() { return new handler(_device, ref _tokener, true); } public IHandler Grip(Hand hand) { return new handler(_device, ref _tokener, hand, true); } public IHandler Release(Hand hand) { return new handler(_device, ref _tokener, hand, false); } public IHandler QueryState() { return new handler(_device, ref _tokener); } public IHandler QueryPosition() { return new handler(_device, ref _tokener); } public IHandler Clear() { return new handler(_device, ref _tokener); } public IHandler Stop(bool isEmergency) { return new handler(_device, ref _tokener, isEmergency); } public IHandler Resume() { return new handler(_device, ref _tokener); } public IHandler SetSpeed(int speed) { return new handler(_device, ref _tokener, speed); } public IHandler Goto(ModuleName chamber, int slot, Motion next, Hand hand, int x, int y, int z) { return new handler(_device, ref _tokener, chamber, slot, next, hand, x, y, z); } public IHandler MoveTo(ModuleName chamber, int slot, Hand hand, bool isPick, int x, int y, int z) { throw new NotImplementedException(); //SR100新加入了此指令, NX100未修改. } public IHandler Pick(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler PickExtend(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler PickRetract(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler PickReadyPosition(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler Place(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler PlaceExtend(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler PlaceRetract(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler PlaceReadyPosition(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler Extend(ModuleName chamber, int slot, Hand hand) { throw new NotImplementedException(); } public IHandler Retract(ModuleName chamber, int slot, Hand hand) { throw new NotImplementedException(); } public IHandler Exchange(ModuleName chamber, int slot, Hand hand) { return new handler(_device, ref _tokener, chamber, slot, hand); } public IHandler WaferMapping(ModuleName chamber) { return new handler(_device, ref _tokener, chamber); } public IHandler QueryWaferMap(ModuleName chamber) { return new handler(_device, ref _tokener, chamber); } public string GetError(int error) { return "UNDEFINITION"; } public IHandler PickEx(ModuleName chamber, int slot, Hand hand, int x, int y, int z) { return new handler(_device, ref _tokener, chamber, slot, hand, x, y, z); } public IHandler PlaceEx(ModuleName chamber, int slot, Hand hand, int x, int y, int z) { return new handler(_device, ref _tokener, chamber, slot, hand, x, y, z); } public IHandler ExchangeEx(ModuleName chamber, int slot, Hand hand, int x, int y, int z) { throw new NotImplementedException(); //? } public IHandler ExchangeReadyPosition(ModuleName chamber, int slot, Hand pickHand, Hand placeHand) { return new handler(_device, ref _tokener, chamber, slot, pickHand, placeHand); } public IHandler ExchangePickExtend(ModuleName chamber, int slot, Hand pickHand, Hand placeHand) { return new handler(_device, ref _tokener, chamber, slot, pickHand, placeHand); } public IHandler ExchangePlaceExtend(ModuleName chamber, int slot, Hand pickHand, Hand placeHand) { return new handler(_device, ref _tokener, chamber, slot, pickHand, placeHand); } public IHandler ExchangePlaceRetract(ModuleName chamber, int slot, Hand pickHand, Hand placeHand) { return new handler(_device, ref _tokener, chamber, slot, pickHand, placeHand); } public IHandler ExchangeReadyExtend(ModuleName chamber, int slot, Hand pickHand, Hand placeHand) { return new handler(_device, ref _tokener, chamber, slot, pickHand, placeHand); } public IHandler ExchangeAfterReadyExtend(ModuleName chamber, int slot, Hand pickHand, Hand placeHand) { return new handler(_device, ref _tokener, chamber, slot, pickHand, placeHand); } public IHandler SetWaferSize(int cmd, WaferSize size) { throw new NotImplementedException(); } public IHandler QueryParameter(int parameter, string parameterType) { throw new NotImplementedException(); } public IHandler SetServoOnOff(bool trueForOnFalseForOff) { throw new NotImplementedException(); } public IHandler SetWaferSize(int size) { throw new NotImplementedException(); } public IHandler QueryWaferSize() { throw new NotImplementedException(); } public IHandler PositionAdjustment(Axis axis, Hand hand, int value) { throw new NotImplementedException(); } } }