YgslParam.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package com.mes.ygsl;
  2. import java.math.BigDecimal;
  3. import java.math.RoundingMode;
  4. public class YgslParam {
  5. public static String getMid(String msg){
  6. if(msg.length() < 20){
  7. return "";
  8. }
  9. return msg.substring(4,8);
  10. }
  11. public static String getReplyMid(String msg){
  12. try{
  13. return msg.substring(20,24);
  14. }catch (Exception e){
  15. return "";
  16. }
  17. }
  18. public static String getErrCode(String msg){
  19. try{
  20. return msg.substring(24,26);
  21. }catch (Exception e){
  22. return "";
  23. }
  24. }
  25. // 扭矩控制器名称
  26. public static String getTorqueControllerName(String msg){
  27. try{
  28. return msg.substring(32,57);
  29. }catch (Exception e){
  30. return "";
  31. }
  32. }
  33. // 拧紧状态 0=tightening NOK, 1=tightening OK
  34. public static String getTighteningStatus(String msg){
  35. try{
  36. return msg.substring(107,108);
  37. }catch (Exception e){
  38. return "";
  39. }
  40. }
  41. // 扭矩状态 0=Low, 1=OK, 2=High
  42. public static String getTorqueStatus(String msg){
  43. try{
  44. return msg.substring(110,111);
  45. }catch (Exception e){
  46. return "";
  47. }
  48. }
  49. // 角度状态 0=Low, 1=OK, 2=High
  50. public static String getAngleStatus(String msg){
  51. try{
  52. return msg.substring(113,114);
  53. }catch (Exception e){
  54. return "";
  55. }
  56. }
  57. // 扭矩最小限制 需要除100
  58. public static String getTorqueMinLimit(String msg){
  59. try{
  60. int val = Integer.valueOf(msg.substring(116,122)); // 假设这是你要处理的整数
  61. BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
  62. return String.valueOf(divisor);
  63. }catch (Exception e){
  64. return "";
  65. }
  66. }
  67. // 扭矩最大限制 需要除100
  68. public static String getTorqueMaxLimit(String msg){
  69. try{
  70. int val = Integer.valueOf(msg.substring(124,130)); // 假设这是你要处理的整数
  71. BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
  72. return String.valueOf(divisor);
  73. }catch (Exception e){
  74. return "";
  75. }
  76. }
  77. // 扭矩最终目标 需要除100
  78. public static String getTorqueFinalTarget(String msg){
  79. try{
  80. int val = Integer.valueOf(msg.substring(132,138)); // 假设这是你要处理的整数
  81. BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
  82. return String.valueOf(divisor);
  83. }catch (Exception e){
  84. return "";
  85. }
  86. }
  87. // 扭矩值 需要除100
  88. public static String getTorque(String msg){
  89. try{
  90. int val = Integer.valueOf(msg.substring(140,146)); // 假设这是你要处理的整数
  91. BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
  92. return String.valueOf(divisor);
  93. }catch (Exception e){
  94. return null;
  95. }
  96. }
  97. // 角度最小值
  98. public static String getAngleMin(String msg){
  99. try{
  100. return Integer.valueOf(msg.substring(148,153))+"";
  101. }catch (Exception e){
  102. return "";
  103. }
  104. }
  105. // 角度最大值
  106. public static String getAngleMax(String msg){
  107. try{
  108. return Integer.valueOf(msg.substring(155,160))+"";
  109. }catch (Exception e){
  110. return "";
  111. }
  112. }
  113. // 角度最终目标
  114. public static String getFinalAngleTarget(String msg){
  115. try{
  116. return Integer.valueOf(msg.substring(162,167))+"";
  117. }catch (Exception e){
  118. return "";
  119. }
  120. }
  121. // 角度值
  122. public static String getAngle(String msg){
  123. try{
  124. return Integer.valueOf(msg.substring(169,174))+"";
  125. }catch (Exception e){
  126. return "";
  127. }
  128. }
  129. // 拧紧时间
  130. public static String getTimeStamp(String msg){
  131. try{
  132. return msg.substring(176,195);
  133. }catch (Exception e){
  134. return "";
  135. }
  136. }
  137. // 拧紧ID
  138. public static String getTighteningID(String msg){
  139. try{
  140. return Long.valueOf(msg.substring(221,231))+"";
  141. }catch (Exception e){
  142. return "";
  143. }
  144. }
  145. // 批次状态
  146. public static String getBatchStatus(String msg){
  147. try{
  148. return msg.substring(218,219);
  149. }catch (Exception e){
  150. return "";
  151. }
  152. }
  153. // 批次拧紧总次数
  154. public static String getBatchSize(String msg){
  155. try{
  156. return msg.substring(95,99);
  157. }catch (Exception e){
  158. return "";
  159. }
  160. }
  161. // 批次计数
  162. public static String getBatchCounter(String msg){
  163. try{
  164. return msg.substring(101,105);
  165. }catch (Exception e){
  166. return "";
  167. }
  168. }
  169. public static String getJobID(String msg){
  170. try{
  171. return Integer.valueOf(msg.substring(86,88))+"";
  172. }catch (Exception e){
  173. return "";
  174. }
  175. }
  176. }