| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | 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;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 Init()        {            return new handler<RbInitHandler>(_device, ref _tokener);        }        public IHandler Home()        {            return new handler<RbHomeHandler>(_device, ref _tokener);        }        public IHandler Event()        {            return new handler<RbEventHandler>(_device, ref _tokener,  true);        }        public IHandler Grip(Hand hand)        {            return new handler<RbGripHandler>(_device, ref _tokener, hand, true);        }        public IHandler Release(Hand hand)        {            return new handler<RbGripHandler>(_device, ref _tokener, hand, false);        }        public IHandler QueryState()        {            return new handler<RBQueryStateHandler>(_device, ref _tokener);        }        public IHandler QueryPosition()        {                      return new handler<RBQueryPositionHandler>(_device, ref _tokener);        }        public IHandler Clear()        {                      return new handler<RbClearErrorHandler>(_device, ref _tokener);        }        public IHandler Stop(bool isEmergency)        {            return new handler<RbStopHandler>(_device, ref _tokener, isEmergency);        }        public IHandler Resume()        {            return new handler<RbResumeHandler>(_device, ref _tokener);        }        public IHandler SetSpeed(int speed)        {            return new handler<RbSetSpeedHandler>(_device, ref _tokener, speed);        }        public IHandler Goto(ModuleName chamber, int slot, Motion next, Hand hand, int x, int y, int z)        {            return new handler<GotoHandler>(_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<PickHandler>(_device, ref _tokener, chamber, slot, hand);        }        public IHandler PickExtend(ModuleName chamber, int slot, Hand hand)        {            return new handler<PickExtendHandler>(_device, ref _tokener, chamber, slot, hand);        }        public IHandler PickRetract(ModuleName chamber, int slot, Hand hand)        {            return new handler<PickRetractHandler>(_device, ref _tokener, chamber, slot, hand);        }        public IHandler Place(ModuleName chamber, int slot, Hand hand)        {            return new handler<PlaceHandler>(_device, ref _tokener, chamber, slot, hand);        }        public IHandler PlaceExtend(ModuleName chamber, int slot, Hand hand)        {            return new handler<PlaceExtendHandler>(_device, ref _tokener, chamber, slot, hand);        }        public IHandler PlaceRetract(ModuleName chamber, int slot, Hand hand)        {            return new handler<PlaceRetractHandler>(_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<ExchangeHandler>(_device, ref _tokener, chamber, slot, hand);                       }       public IHandler WaferMapping(ModuleName chamber)       {            return new handler<RBWaferMappingHandler>(_device, ref _tokener, chamber);        }        public IHandler QueryWaferMap(ModuleName chamber)        {            return new handler<RBQueryWaferMapHandler>(_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<PickHandlerEx>(_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<PlaceHandlerEx>(_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(); //?        }     }}
 |