Utils.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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. using Aitex.Core.RT.SCCore;
  8. namespace Aitex.Sorter.RT.Device.Robot.NX100
  9. {
  10. public class RobotConvertor
  11. {
  12. public static string chamber2staion(ModuleName chamber)
  13. {
  14. string st = "";
  15. switch (chamber)
  16. {
  17. case ModuleName.LP1:
  18. st = "C1";
  19. break;
  20. case ModuleName.LP2:
  21. st = "C2";
  22. break;
  23. case ModuleName.LP3:
  24. st = "C3";
  25. break;
  26. case ModuleName.LP4:
  27. st = "C4";
  28. break;
  29. case ModuleName.LP5:
  30. st = "C5";
  31. break;
  32. case ModuleName.LP6:
  33. st = "C6";
  34. break;
  35. case ModuleName.LP7:
  36. st = "C7";
  37. break;
  38. case ModuleName.LP8:
  39. st = "C8";
  40. break;
  41. case ModuleName.LP9:
  42. st = "C9";
  43. break;
  44. case ModuleName.LP10:
  45. st = "CA";
  46. break;
  47. case ModuleName.Aligner:
  48. st = "P1";
  49. break;
  50. case ModuleName.Buffer:
  51. st = "C5";
  52. break;
  53. case ModuleName.LL1:
  54. case ModuleName.LLA:
  55. case ModuleName.TurnOverStation:
  56. st = "S1";
  57. break;
  58. case ModuleName.LL2:
  59. case ModuleName.LLB:
  60. st = "S2";
  61. break;
  62. case ModuleName.LL3:
  63. case ModuleName.LLC:
  64. st = "S3";
  65. break;
  66. case ModuleName.LL4:
  67. case ModuleName.LLD:
  68. st = "S4";
  69. break;
  70. }
  71. return st;
  72. }
  73. public static string chamberSlot2Slot(ModuleName chamber, int slot)
  74. {
  75. string sslot = "";
  76. switch (chamber)
  77. {
  78. case ModuleName.LP1:
  79. case ModuleName.LP2:
  80. case ModuleName.LP3:
  81. case ModuleName.LP4:
  82. case ModuleName.LP5:
  83. case ModuleName.LP6:
  84. case ModuleName.LP7:
  85. case ModuleName.LP8:
  86. case ModuleName.LP9:
  87. case ModuleName.LP10:
  88. case ModuleName.Buffer:
  89. sslot = string.Format("{0:D2}", slot + 1);
  90. break;
  91. case ModuleName.Aligner:
  92. case ModuleName.Robot:
  93. case ModuleName.LL1:
  94. case ModuleName.LL2:
  95. case ModuleName.LL3:
  96. case ModuleName.LL4:
  97. case ModuleName.LLA:
  98. case ModuleName.LLB:
  99. case ModuleName.LLC:
  100. case ModuleName.LLD:
  101. case ModuleName.TurnOverStation:
  102. sslot = "00";
  103. break;
  104. }
  105. return sslot;
  106. }
  107. public static string hand2string(Hand hand)
  108. {
  109. string st = "";
  110. if (SC.ContainsItem("Robot.BladeUpDownReverse") && SC.GetValue<bool>("Robot.BladeUpDownReverse"))
  111. {
  112. switch (hand)
  113. {
  114. case Hand.Blade1:
  115. st = "A"; //单手臂 下
  116. break;
  117. case Hand.Blade2:
  118. st = "B"; //4手臂 上
  119. break;
  120. case Hand.Both:
  121. st = "W";
  122. break;
  123. }
  124. }
  125. else
  126. {
  127. switch (hand)
  128. {
  129. case Hand.Blade1:
  130. st = "B"; //单手臂 下
  131. break;
  132. case Hand.Blade2:
  133. st = "A"; //4手臂 上
  134. break;
  135. case Hand.Both:
  136. st = "W";
  137. break;
  138. }
  139. }
  140. return st;
  141. }
  142. public static string NextMotion2String(Motion motion,Hand hand)
  143. {
  144. string st = "";
  145. switch (motion)
  146. {
  147. case Motion.Pick:
  148. st = string.Format("G{0}", hand2string(hand));
  149. break;
  150. case Motion.Place:
  151. st = string.Format("P{0}", hand2string(hand));
  152. break;
  153. case Motion.Exchange:
  154. st = string.Format("E{0}", hand2string(hand));
  155. break;
  156. default:
  157. st = "AL";
  158. break;
  159. }
  160. return st;
  161. }
  162. public static string Offset2String(int offset)
  163. {
  164. string st = "";
  165. if (offset >= 0)
  166. {
  167. st = string.Format("{0:D5}", offset);
  168. }
  169. else
  170. {
  171. st = string.Format("{0:D4}", offset);
  172. }
  173. return st;
  174. }
  175. }
  176. }