Mag7RobotHandlerFactory.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. using Aitex.Core.RT.SCCore;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Aitex.Sorter.Common;
  8. using MECF.Framework.Common.Equipment;
  9. using Aitex.Core.RT.Device;
  10. namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robot.MAG7
  11. {
  12. public class Mag7RobotHandlerFactory : IRobotHandlerFactory
  13. {
  14. private TokenGenerator _tokener;
  15. private IDevice _device = null;
  16. public Mag7RobotHandlerFactory(IDevice device)
  17. {
  18. _device = device;
  19. if (SC.ContainsItem($"{device.Name}.RobotCommunicationToken"))
  20. _tokener = new TokenGenerator($"{device.Name}.RobotCommunicationToken");
  21. else
  22. {
  23. _tokener = new TokenGenerator($"Robot.RobotCommunicationToken");
  24. }
  25. }
  26. public IHandler Init()
  27. {
  28. throw new NotImplementedException();
  29. }
  30. public IHandler Home()
  31. {
  32. return new Mag7RobotHandlerBase<RbHomeHandler>(_device, ref _tokener);
  33. }
  34. public IHandler Event()
  35. {
  36. return new Mag7RobotHandlerBase<RbEventHandler>(_device, ref _tokener, true);
  37. }
  38. public IHandler QueryState()
  39. {
  40. return new Mag7RobotHandlerBase<RBQueryStateHandler>(_device, ref _tokener);
  41. }
  42. public IHandler QueryPosition()
  43. {
  44. return new Mag7RobotHandlerBase<RBQueryPositionHandler>(_device, ref _tokener);
  45. }
  46. public IHandler Stop()
  47. {
  48. return new Mag7RobotHandlerBase<RbStopHandler>(_device, ref _tokener);
  49. }
  50. public IHandler SetSpeed(int speed)
  51. {
  52. return new Mag7RobotHandlerBase<RbSetSpeedHandler>(_device, ref _tokener, speed);
  53. }
  54. public IHandler Goto(ModuleName chamber, int slot, Motion next, Hand hand, int x, int y, int z)
  55. {
  56. return new Mag7RobotHandlerBase<GotoHandler>(_device, ref _tokener, chamber, slot, next, hand, x, y , z);
  57. }
  58. public IHandler Pick(ModuleName chamber, int slot, Hand hand)
  59. {
  60. return new Mag7RobotHandlerBase<PickHandler>(_device, ref _tokener, chamber, slot, hand);
  61. }
  62. public IHandler PickExtend(ModuleName chamber, int slot, Hand hand)
  63. {
  64. return new Mag7RobotHandlerBase<PickExtendHandler>(_device, ref _tokener, chamber, slot, hand);
  65. }
  66. public IHandler PickRetract(ModuleName chamber, int slot, Hand hand)
  67. {
  68. return new Mag7RobotHandlerBase<PickRetractHandler>(_device, ref _tokener, chamber, slot, hand);
  69. }
  70. public IHandler Place(ModuleName chamber, int slot, Hand hand)
  71. {
  72. return new Mag7RobotHandlerBase<PlaceHandler>(_device, ref _tokener, chamber, slot, hand);
  73. }
  74. public IHandler PlaceExtend(ModuleName chamber, int slot, Hand hand)
  75. {
  76. return new Mag7RobotHandlerBase<PlaceExtendHandler>(_device, ref _tokener, chamber, slot, hand);
  77. }
  78. public IHandler PlaceRetract(ModuleName chamber, int slot, Hand hand)
  79. {
  80. return new Mag7RobotHandlerBase<PlaceRetractHandler>(_device, ref _tokener, chamber, slot, hand);
  81. }
  82. public IHandler Exchange(ModuleName chamber, int slot, Hand hand)
  83. {
  84. return new Mag7RobotHandlerBase<ExchangHandler>(_device, ref _tokener, chamber, slot, hand);
  85. }
  86. public IHandler PickEx(ModuleName chamber, int slot, Hand hand, int x, int y, int z)
  87. {
  88. return new Mag7RobotHandlerBase<PickHandler>(_device, ref _tokener, chamber, slot, hand, x, y, z);
  89. }
  90. public IHandler PlaceEx(ModuleName chamber, int slot, Hand hand, int x, int y, int z)
  91. {
  92. return new Mag7RobotHandlerBase<PlaceHandler>(_device, ref _tokener, chamber, slot, hand, x, y, z);
  93. }
  94. public IHandler Grip(Hand hand)
  95. {
  96. throw new NotImplementedException();
  97. }
  98. public IHandler Release(Hand hand)
  99. {
  100. throw new NotImplementedException();
  101. }
  102. public IHandler Clear()
  103. {
  104. throw new NotImplementedException();
  105. }
  106. public IHandler WaferMapping(ModuleName loadport)
  107. {
  108. throw new NotImplementedException();
  109. }
  110. public IHandler QueryWaferMap(ModuleName loadport)
  111. {
  112. throw new NotImplementedException();
  113. }
  114. public IHandler SetCommunication( )
  115. {
  116. return new Mag7RobotHandlerBase<RbSetCommunicationHandler>(_device, ref _tokener);
  117. }
  118. public IHandler SetLoad(Hand hand)
  119. {
  120. return new Mag7RobotHandlerBase<RbSetLoadHandler>(_device, ref _tokener, hand);
  121. }
  122. public IHandler CheckLoad(ModuleName chamber, int slot)
  123. {
  124. return new Mag7RobotHandlerBase<RbCheckLoadHandler>(_device, ref _tokener, chamber, slot);
  125. }
  126. public IHandler RequestWaferPresent( )
  127. {
  128. return new Mag7RobotHandlerBase<RbRequestWaferPresentHandler>(_device, ref _tokener);
  129. }
  130. public IHandler Extend(ModuleName chamber, int slot, Hand hand)
  131. {
  132. return new Mag7RobotHandlerBase<ExtendHandler>(_device, ref _tokener, chamber, slot, hand);
  133. }
  134. public IHandler Retract(ModuleName chamber, int slot, Hand hand)
  135. {
  136. return new Mag7RobotHandlerBase<RetractHandler>(_device, ref _tokener, chamber, slot, hand);
  137. }
  138. }
  139. }