Mag7RobotConvertor.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Aitex.Sorter.Common;
  6. using MECF.Framework.Common.Equipment;
  7. namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robot.MAG7
  8. {
  9. public class ProtocolTag
  10. {
  11. public const string tag_end = "\r";
  12. public const string cmd_token = " ";
  13. public const string resp_tag_error = "_ERR";
  14. public const string resp_tag_excute = "_RDY";
  15. public const string resp_tag_event = "_EVENT";
  16. public const string resp_evt_error = "100";
  17. }
  18. public interface IMag7RobotConverter
  19. {
  20. string MapModuleSlot(ModuleName chamber, int slot);
  21. string MapModule(ModuleName chamber);
  22. string hand2string(Hand hand);
  23. }
  24. public class DefaultMag7RobotConverter : IMag7RobotConverter
  25. {
  26. public string MapModuleSlot(ModuleName chamber, int slot)
  27. {
  28. string st = "";
  29. switch (chamber)
  30. {
  31. case ModuleName.LL1:
  32. case ModuleName.LLA:
  33. st = "2 SLOT 1";
  34. break;
  35. case ModuleName.LL2:
  36. case ModuleName.LLB:
  37. st = "1 SLOT 1";
  38. break;
  39. case ModuleName.LL1IN:
  40. st = "2 SLOT 1";
  41. break;
  42. case ModuleName.LL1OUT:
  43. st = "2 SLOT 1";
  44. break;
  45. case ModuleName.LL2IN:
  46. st = "1 SLOT 1";
  47. break;
  48. case ModuleName.LL2OUT:
  49. st = "1 SLOT 1";
  50. break;
  51. case ModuleName.PM1:
  52. case ModuleName.PMA:
  53. st = slot == 0 ? "3 SLOT 1" : "3 SLOT 2";
  54. break;
  55. case ModuleName.PM2:
  56. case ModuleName.PMB:
  57. st = "4 SLOT 1";
  58. break;
  59. case ModuleName.PM3:
  60. case ModuleName.PMC:
  61. st = "5 SLOT 1";
  62. break;
  63. case ModuleName.PM4:
  64. case ModuleName.PMD:
  65. st = "6 SLOT 1";
  66. break;
  67. case ModuleName.PM5:
  68. st = "7 SLOT 1";
  69. break;
  70. case ModuleName.PM6:
  71. st = "8 SLOT 1";
  72. break;
  73. case ModuleName.VCEA:
  74. st = "2 SLOT 1";
  75. break;
  76. case ModuleName.VCEB:
  77. st = "1 SLOT 1";
  78. break;
  79. }
  80. return st;
  81. }
  82. public string MapModule(ModuleName chamber)
  83. {
  84. string st = "";
  85. switch (chamber)
  86. {
  87. case ModuleName.LL1:
  88. case ModuleName.LLA:
  89. st = "2";
  90. break;
  91. case ModuleName.LL2:
  92. case ModuleName.LLB:
  93. st = "1";
  94. break;
  95. case ModuleName.LL1IN:
  96. st = "2";
  97. break;
  98. case ModuleName.LL1OUT:
  99. st = "2";
  100. break;
  101. case ModuleName.LL2IN:
  102. st = "1";
  103. break;
  104. case ModuleName.LL2OUT:
  105. st = "1";
  106. break;
  107. case ModuleName.PM1:
  108. case ModuleName.PMA:
  109. st = "3";
  110. break;
  111. case ModuleName.PM2:
  112. case ModuleName.PMB:
  113. st = "4";
  114. break;
  115. case ModuleName.PM3:
  116. case ModuleName.PMC:
  117. st = "5";
  118. break;
  119. case ModuleName.PM4:
  120. case ModuleName.PMD:
  121. st = "6";
  122. break;
  123. case ModuleName.PM5:
  124. st = "7";
  125. break;
  126. case ModuleName.PM6:
  127. st = "8";
  128. break;
  129. case ModuleName.VCEA:
  130. st = "2";
  131. break;
  132. case ModuleName.VCEB:
  133. st = "1";
  134. break;
  135. }
  136. return st;
  137. }
  138. public string hand2string(Hand hand)
  139. {
  140. string st = "";
  141. switch (hand)
  142. {
  143. case Hand.Blade1:
  144. st = "A";
  145. break;
  146. case Hand.Blade2:
  147. st = "B";
  148. break;
  149. case Hand.Both:
  150. st = "AB";
  151. break;
  152. }
  153. return st;
  154. }
  155. }
  156. public class Mag7RobotConvertor
  157. {
  158. private static IMag7RobotConverter _converter = new DefaultMag7RobotConverter();
  159. public static IMag7RobotConverter Converter
  160. {
  161. get { return _converter; }
  162. set { _converter = value; }
  163. }
  164. public static string MapModuleSlot(ModuleName chamber, int slot)
  165. {
  166. return Converter.MapModuleSlot(chamber, slot);
  167. }
  168. public static string MapModule(ModuleName chamber)
  169. {
  170. return Converter.MapModule(chamber);
  171. }
  172. public static string hand2string(Hand hand)
  173. {
  174. return Converter.hand2string(hand);
  175. }
  176. }
  177. }