|
|
|
|
@ -34,7 +34,7 @@ public class ModbusUtils {
|
|
|
|
|
|
|
|
|
|
public static String createControlCode(String mtCode, Integer type, String registerAddr, String param) { |
|
|
|
|
String orderStr; |
|
|
|
|
mtCode = ExchangeStringUtil.addZeroForNum(mtCode, 2); |
|
|
|
|
mtCode = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(mtCode), 2); |
|
|
|
|
registerAddr = ExchangeStringUtil.addZeroForNum(registerAddr, 4); |
|
|
|
|
param = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(param), 4); |
|
|
|
|
orderStr = mtCode + "06" + registerAddr + param; |
|
|
|
|
@ -78,7 +78,7 @@ public class ModbusUtils {
|
|
|
|
|
// 00 03:小数位数 digits
|
|
|
|
|
// 7A 22:校验码
|
|
|
|
|
String orderStr; |
|
|
|
|
mtCode = ExchangeStringUtil.addZeroForNum(mtCode, 2); |
|
|
|
|
mtCode = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(mtCode), 2); |
|
|
|
|
registerAddr = ExchangeStringUtil.addZeroForNum(registerAddr, 4); |
|
|
|
|
param = String.valueOf(new BigDecimal(param).multiply(BigDecimal.valueOf(Math.pow(10, digits))).intValue()); |
|
|
|
|
param = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(param), 4); |
|
|
|
|
@ -92,4 +92,8 @@ public class ModbusUtils {
|
|
|
|
|
return orderStr+checkWord; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void main(String[] args) { |
|
|
|
|
System.out.println(createTenControlCode("20", 1, "0108", 3, "2.1")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|