package com.mes.ygsl; import java.math.BigDecimal; import java.math.RoundingMode; public class YgslParam { public static String getMid(String msg){ if(msg.length() < 20){ return ""; } return msg.substring(4,8); } public static String getReplyMid(String msg){ try{ return msg.substring(20,24); }catch (Exception e){ return ""; } } public static String getErrCode(String msg){ try{ return msg.substring(24,26); }catch (Exception e){ return ""; } } // 扭矩控制器名称 public static String getTorqueControllerName(String msg){ try{ return msg.substring(32,57); }catch (Exception e){ return ""; } } // 拧紧状态 0=tightening NOK, 1=tightening OK public static String getTighteningStatus(String msg){ try{ return msg.substring(107,108); }catch (Exception e){ return ""; } } // 扭矩状态 0=Low, 1=OK, 2=High public static String getTorqueStatus(String msg){ try{ return msg.substring(110,111); }catch (Exception e){ return ""; } } // 角度状态 0=Low, 1=OK, 2=High public static String getAngleStatus(String msg){ try{ return msg.substring(113,114); }catch (Exception e){ return ""; } } // 扭矩最小限制 需要除100 public static String getTorqueMinLimit(String msg){ try{ int val = Integer.valueOf(msg.substring(116,122)); // 假设这是你要处理的整数 BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); return String.valueOf(divisor); }catch (Exception e){ return ""; } } // 扭矩最大限制 需要除100 public static String getTorqueMaxLimit(String msg){ try{ int val = Integer.valueOf(msg.substring(124,130)); // 假设这是你要处理的整数 BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); return String.valueOf(divisor); }catch (Exception e){ return ""; } } // 扭矩最终目标 需要除100 public static String getTorqueFinalTarget(String msg){ try{ int val = Integer.valueOf(msg.substring(132,138)); // 假设这是你要处理的整数 BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); return String.valueOf(divisor); }catch (Exception e){ return ""; } } // 扭矩值 需要除100 public static String getTorque(String msg){ try{ int val = Integer.valueOf(msg.substring(140,146)); // 假设这是你要处理的整数 BigDecimal divisor = BigDecimal.valueOf(val).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); return String.valueOf(divisor); }catch (Exception e){ return null; } } // 角度最小值 public static String getAngleMin(String msg){ try{ return Integer.valueOf(msg.substring(148,153))+""; }catch (Exception e){ return ""; } } // 角度最大值 public static String getAngleMax(String msg){ try{ return Integer.valueOf(msg.substring(155,160))+""; }catch (Exception e){ return ""; } } // 角度最终目标 public static String getFinalAngleTarget(String msg){ try{ return Integer.valueOf(msg.substring(162,167))+""; }catch (Exception e){ return ""; } } // 角度值 public static String getAngle(String msg){ try{ return Integer.valueOf(msg.substring(169,174))+""; }catch (Exception e){ return ""; } } // 拧紧时间 public static String getTimeStamp(String msg){ try{ return msg.substring(176,195); }catch (Exception e){ return ""; } } // 拧紧ID public static String getTighteningID(String msg){ try{ return Long.valueOf(msg.substring(221,231))+""; }catch (Exception e){ return ""; } } // 批次状态 public static String getBatchStatus(String msg){ try{ return msg.substring(218,219); }catch (Exception e){ return ""; } } // 批次拧紧总次数 public static String getBatchSize(String msg){ try{ return msg.substring(95,99); }catch (Exception e){ return ""; } } // 批次计数 public static String getBatchCounter(String msg){ try{ return msg.substring(101,105); }catch (Exception e){ return ""; } } public static String getJobID(String msg){ try{ return Integer.valueOf(msg.substring(86,88))+""; }catch (Exception e){ return ""; } } }